CANopen和Modbus的EDS

5
我正在开发的设备需要支持CANopen和Modbus(RTU和TCP)通信。是否有电子数据表格式(例如EDS或XDD),可以用来定义两者?
我尝试使用一些工具(如Vector CANeds和ODVA EZ-EDS)生成与两者兼容的简单EDS文件,甚至手动编辑文本编辑器中的文件,但是每个输出看起来相似,但基本上不兼容另一个。
理想情况下,我希望使用CiA XDD格式,因为这将相对容易从我的桌面主控应用程序“反序列化”。然而,这似乎完全是CANopen导向的。
如果有任何信息,提示,技巧或指针可以提供,将不胜感激。
1个回答

6

到目前为止,我想到的最好的解决方案是:

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

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接