Java и CANopen

Глядя на код SAP в GitHub в InputBase.js, новое значение уже записывается в свойство при запуске события, к которому вы присоединяетесь. Моим предложением было бы сохранить выбранное значение в переменной класса внутри вашего контроллера и вернуться к этому значению, как только пользователь отменит его для достижения вашей цели.

12
задан Peter Mortensen 26 February 2012 в 01:40
поделиться

1 ответ

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

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

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

2) Действительно ли возможно подключить ноутбук к сети CANbus без адаптера CAN-ПК?

Нет.

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

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

4) Как я начинаю в письменной форме программа Java для слушания/писания сообщений CANopen?

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

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

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

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

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

7) Моя программа должна обработать контроль heartbeat / обнаружение ошибок / и т.д.? Или они заботятся об адаптером CAN-ПК?

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

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

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

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

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

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

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

12
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: