Подтвердить что ты не робот

Java и CANopen

Фон

Мне нужно создать Java-программу на ноутбуке для приема/отправки сообщений CANopen.

RJ45 выбирается как физическая среда сети. Я новичок в программировании коммуникаций CANopen и Java.

Простите меня, если я буду непосвященным. По правде говоря, я много читал, но я до сих пор не знаю, как начать.

Вопросы

  • Помимо подключения ПК к сети CANbus, что еще делает адаптер CAN-PC?
  • Возможно ли подключить ноутбук к сети CANbus без адаптера CAN-PC?
  • Если требуется адаптер CAN-PC, какой адаптер следует использовать? PCMCIA, параллельный, последовательный, USB и т.д.
  • Как мне начать писать java-программу для прослушивания/записи сообщений CANopen?
  • Какие библиотеки я должен использовать?
  • Нужно ли создавать собственные драйверы?
  • Должна ли моя программа обрабатывать мониторинг сердечного ритма, обнаружение ошибок и т.д.? Или они позаботились об адаптере CAN-PC?
  • Как получить определенную информацию с CANbus node?
  • Как создается файл EDS и словарь объектов? Требуется ли для них каждый node?
    1. Как смоделировать сеть CAN для тестирования моей программы Java без покупки аппаратного обеспечения CAN?
4b9b3361

Ответ 1

Это много вопросов. Я никогда не делал никаких связанных с CAN программирования на Java, но давайте посмотрим, какие вопросы я могу ответить в любом случае:

1) Помимо подключения ПК к Сети CANbus, что еще CAN-PC адаптер?

В основном это зависит от того, какой контроллер CAN встроен в ваш адаптер. Но в основном он просто обрабатывает низкоуровневые вещи, такие как bus-арбитраж, обработка ошибок, повторные передачи и буферизация сообщений.

2) Можно ли подключить ноутбук для сети CANbus без адаптер CAN-PC?

Нет.

3) Если требуется адаптер CAN-PC, какой адаптер я должен использовать? PCMCIA, параллельный, последовательный, USB и т.д.

На ноутбуке? Я бы выбрал USB-интерфейс. У меня хороший опыт работы с интерфейсами Kvaser.

4) Как мне начать писать java-программа для прослушивания/записи CANopen сообщения?

Зависит от API для вашего адаптера. API, скорее всего, будет основан на C, поэтому я, по крайней мере, начну с некоторых простых программ тестирования C. Поставщик CAN-интерфейса, вероятно, имеет несколько хороших примеров.

5) Какие библиотеки я должен использовать?

Вероятно, тот, который поставляется с вашим CAN-интерфейсом, по крайней мере для базовой части CAN. Для части CANopen доступны некоторые коммерческие стеки CANopen и, возможно, даже некоторые бесплатные. Я сомневаюсь, что на Java написано. Вы также можете сами реализовать необходимые части стека CANopen, если только выполняете простое общение.

6) Нужно ли создавать собственные драйверы?

Как правило, нет. Зависит от вашей операционной системы и модели CAN-интерфейса. Выберите CAN-интерфейс с драйверами для вашей операционной системы.

7) Если моя программа обрабатывает сердцебиение мониторинг/обнаружение ошибок /etc? Или это заботятся о CAN-PC адаптер?

Стек CANopen должен обрабатывать это на уровне CANopen. Управление ошибкой шины CAN на низком уровне выполняется по вашему интерфейсу.

8) Как получить определенные информация из CANbus node?

Я не знаю, что вы имеете в виду здесь. PDO или SDO в зависимости от того, какую информацию вы хотите.

9) Как файл и объект EDS словарь создан? Каждый nodeтребовать их?

Вам не требуется создание файла EDS, но может быть полезно для целей документации. Объектно-словарь реализован в программном обеспечении. Некоторые части OD являются обязательными, если они соответствуют стандартам.

10) Как смоделировать сеть CAN для проверить мою программу Java без покупки CAN-оборудование?

Я бы не стал... Значительный симулятор шины, вероятно, будет более дорогим для разработки, чем просто адаптер CAN. Обратите внимание, что многие CAN-адаптеры содержат два интерфейса, поэтому вы можете выполнять тесты связи на реальной CAN-шине с меньшим количеством аппаратного обеспечения, чем только адаптер и пару резисторов терминации.