0

我现在正在研究和开发一个带有 python 堆栈的 CANopen 客户端,我正在努力找出如何通过网关与从属 Modbus 通信。

由于网关地址是CANopen的对象字典中存在的地址,并且网关有modbus Slaves I/O的地址,如何指定modbus输入的地址?

正如我所看到的,CANopen 使用节点 ID 来选择服务器和地址来选择要读/写的属性,但在这种情况下,我需要走得更远并指向一个输入。

只是要清楚我处于“学习”阶段,我没有想到 CANopen/Modbus 网关。

问候。

4

1 回答 1

0

这将是网关需要解决的问题。没有一般的答案,也没有关于此类网关如何工作的标准。网关有某种软件,允许您在两条现场总线之间映射数据。在这种情况下,我想它可能是特定的 CANopen PDO 或映射到 Modbus 地址的特定 CAN id。

如果您只是在编写 CANopen 客户端,您或固件都不需要担心 Modbus。只需制作一个符合标准的 CANopen 节点,让网关处理实际的协议转换。

但是,您可能必须进行 PDO 映射,以便让您的客户端和网关知道如何相互通信,但这最好是成品的用户级配置,而不是一些硬编码的映射。

于 2016-12-08T15:20:20.033 回答