Java и CANopen - PullRequest
       66

Java и CANopen

12 голосов
/ 08 января 2009

Фон

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

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

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

Вопросы

  1. Помимо подключения ПК к сети CANbus, что еще делает адаптер CAN-PC?
  2. Можно ли подключить ноутбук к сети CANbus без адаптера CAN-PC?
  3. Если требуется адаптер CAN-PC, какой тип адаптера следует использовать? PCMCIA, параллельный, последовательный, USB и т. Д .?
  4. Как начать писать java-программу для прослушивания / записи сообщений CANopen?
  5. Какие библиотеки мне следует использовать?
  6. Нужно ли создавать собственные драйверы?
  7. Должна ли моя программа обрабатывать мониторинг сердечных сокращений, обнаружение ошибок и т. Д.? Или об этом заботится адаптер CAN-PC?
  8. Как получить конкретную информацию с узла CANbus?
  9. Как создается файл EDS и словарь объектов? Каждый узел требует их?
    1. Как мне симулировать сеть CAN для тестирования моей программы на Java без покупки оборудования CAN?

1 Ответ

11 голосов
/ 09 января 2009

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

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

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

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) Должна ли моя программа справляться с биением сердца? мониторинг / обнаружение ошибок / и т.д.? Или же об этом заботится CAN-PC? адаптер

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

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

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

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

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

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

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

...