Глядя на код SAP в GitHub в InputBase.js
, новое значение уже записывается в свойство при запуске события, к которому вы присоединяетесь. Моим предложением было бы сохранить выбранное значение в переменной класса внутри вашего контроллера и вернуться к этому значению, как только пользователь отменит его для достижения вашей цели.
Это - много вопросов. Я никогда не делал никакого связанного с 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 с немного большим количеством аппаратных средств, чем просто адаптер и несколькими нагрузочными резисторами.