用于 CANopen 和 Modbus 的 EDS

Posted

技术标签:

【中文标题】用于 CANopen 和 Modbus 的 EDS【英文标题】:EDS for CANopen and Modbus 【发布时间】:2014-06-16 20:03:01 【问题描述】:

我正在开发的设备必须同时支持 CANopen 和 Modbus(RTU 和 TCP)通信。是否有任何格式的电子数据表(例如 EDS 或 XDD)可用于定义两者?

我尝试使用几个工具(Vector CANeds 和 ODVA EZ-EDS)来生成一个与两者兼容的简单 EDS 文件,甚至在文本编辑器中手动编辑文件,但每个工具的输出都会出现相似,但从根本上不兼容。

理想情况下,我想使用 CiA XDD 格式,因为这对于从我的桌面主应用程序“反序列化”来说相对简单。然而,这似乎完全是面向 CANopen 的。

任何人都可以提供的任何信息、提示、提示或指示将不胜感激。

【问题讨论】:

【参考方案1】:

目前为止我想出的最好的:

OPC Foundation 指定用于定义设备的数据属性、服务、事件等的 XML 格式(请参阅OPC Unified Architecture eBook - 映射部分 - 了解更多信息),然后可以由服务器映射以提供可以访问设备支持的远程属性和方法的客户端。但是,这不是一个直接的解决方案,因为它实际上是第三种选择,并且与 EDS 和 XDD 格式完全不兼容。

另一方面,它确实提供了我的最终客户常用的“标准”格式,我可以使用它来定义我的设备,我可以在我的桌面应用程序中轻松地序列化和反序列化,并使用它来生成“对象”我的嵌入式应用程序的字典 C 源代码。

然后我需要定义一个接口,其中包含用于序列化设备描述对象的方法,并在我的每个 Modbus 和 CANopen 程序集中提供该接口的实现。

这将需要比我最初希望的更多的工作,但这就是我得到报酬的原因。 :-)

【讨论】:

以上是关于用于 CANopen 和 Modbus 的 EDS的主要内容,如果未能解决你的问题,请参考以下文章

CANopen笔记2

台达哪一款PLC支持CANOPEN和DEVICENET通讯。

CANopen笔记4 -- CanFestival在树莓派3B+上使用

电脑可以直接连接canopen设备吗

CAN与CANOpen

CAN与CANOpen