4

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

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

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

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

4

1 回答 1

5

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

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

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

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

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

于 2014-05-01T15:32:03.803 回答