Страница 1 из 1

Реализация протокола CanOpen

Добавлено: 14 мар 2019, 15:12
Din
Добрый день!
Скажите, пожалуйста, поддерживает ли модуль С-серии 9862 протокол CanOpen?
Необходимо реализовать обмен данными через протокол CanOpen. Есть модуль С-серии 9862, есть устройство Usb Can. Оба ли этих устройства поддерживают СаnOpen?
С чего начать? Классический Can протокол реализуется через create session во вкладке measurement i/o -> ni xnet, соответственно, используется драйвер ni xnet, нужен ли этот драйвер для реализации CanOpen?
Как реализовать данный протокол? Знаю,есть специальная библиотека...

Re: Реализация протокола CanOpen

Добавлено: 17 мар 2019, 15:21
dadreamer
Din писал(а):Скажите, пожалуйста, поддерживает ли модуль С-серии 9862 протокол CanOpen?
Есть вот такая статья - What CANopen Hardware and Software Products Does National Instruments Offer? Согласно ей NI поддерживает устройства NI-9881, PXI-8531, NI-9853, PXI-8461 и USB-8473 (как в аппаратном, так и в софтовом плане). Касательно остальных устройств, включая NI-9862, сказано следующее:
Since CANopen is built on the CAN physical layer, it is technically possible to use a CAN module such as the NI-9862 for CANopen communication. However, since NI-XNET hardware is not compatible with the NI-Industrial Communications for CANopen driver, you would need to build the application layer from scratch on top of the XNET driver. This would require extensive knowledge of the CANopen protocol and is not something that National Instruments would be able to support. Therefore, it is highly recommended to purchase a dedicated CANopen module to implement this protocol.
То есть, если вы приобретаете NI-9862, то придётся писать с нуля обёртки для работы с протоколом. Так что лучше сразу взять поддерживающееся железо.
Din писал(а):есть устройство Usb Can
Вот это имеется в виду или что-то иное?
Din писал(а):Оба ли этих устройства поддерживают СаnOpen?
В общем случае нужно смотреть спецификации и руководства на приборы. Если в доках явно указано, значит поддерживается. Если нет, то может работать (но с допиливаниями), а может и не заработать вовсе.
Din писал(а):используется драйвер ni xnet, нужен ли этот драйвер для реализации CanOpen?
Если железо от NI используется, то определённо нужен драйвер NI: для новой библиотеки NI-XNET, для старой NI-CAN. Если железо сторонней фирмы, то часто предоставляется API собственной разработки (драйвер, библиотеки и обёртки), о чём также явно пишется в описании на прибор.
Как реализовать данный протокол? Знаю,есть специальная библиотека...
Есть старая библиотека, официально поддерживающая :labview: до 2010-й версии - NI CANopen LabVIEW Library. В настоящее время не рекомендуется к использованию, хотя с небольшими танцами можно её заставить работать - How Can I Add CANopen LabVIEW Library Support for a New Version of LabVIEW?
В настоящее время используется NI-Industrial Communications for CANopen. См. также таблицу совместимости с :labview: - NI-Industrial Communications for CANopen and LabVIEW Compatibility. Начните с установки связи с приборами и отправки базовых команд. Но я далее не советчик по этому протоколу, т.к. практически не доводилось с ним работать.