CANopen客户端如何通过CANopen/Modbus网关与Modbus从站通信?
How does CANopen client communicate with Modbus slave through CANopen/Modbus gateway ?
我现在正在研究和开发一个带有 python 堆栈的 CANopen 客户端,我正在努力寻找如何通过网关与从站 Modbus 通信。
由于网关地址是CANopen的对象字典中的地址,并且网关有modbus从站的地址I/O,如何指定modbus输入的地址?
正如我所见,CANopen 使用节点 ID select 服务器和 select 地址 属性 read/write,但在这种情况下我需要走得更远,并指出一个输入。
需要说明的是,我正处于 "studying" 阶段,我没有考虑 CANopen/Modbus 网关。
此致。
这将是网关需要解决的问题。没有通用的答案,也没有关于此类网关如何工作的标准。网关具有某种软件方式,可让您在两条现场总线之间映射数据。在这种情况下,我想它将是特定的 CANopen PDO 或映射到 Modbus 地址的特定 CAN id。
如果您只是编写 CANopen 客户端,您或固件都不需要担心 Modbus。只需制作一个符合标准的 CANopen 节点,让网关处理实际的协议转换。
然而,您可能必须进行 PDO 映射,以便让您的客户端和网关知道如何相互通信,但这最好是成品的用户级配置,而不是一些硬性的配置-编码映射。
我现在正在研究和开发一个带有 python 堆栈的 CANopen 客户端,我正在努力寻找如何通过网关与从站 Modbus 通信。
由于网关地址是CANopen的对象字典中的地址,并且网关有modbus从站的地址I/O,如何指定modbus输入的地址?
正如我所见,CANopen 使用节点 ID select 服务器和 select 地址 属性 read/write,但在这种情况下我需要走得更远,并指出一个输入。
需要说明的是,我正处于 "studying" 阶段,我没有考虑 CANopen/Modbus 网关。
此致。
这将是网关需要解决的问题。没有通用的答案,也没有关于此类网关如何工作的标准。网关具有某种软件方式,可让您在两条现场总线之间映射数据。在这种情况下,我想它将是特定的 CANopen PDO 或映射到 Modbus 地址的特定 CAN id。
如果您只是编写 CANopen 客户端,您或固件都不需要担心 Modbus。只需制作一个符合标准的 CANopen 节点,让网关处理实际的协议转换。
然而,您可能必须进行 PDO 映射,以便让您的客户端和网关知道如何相互通信,但这最好是成品的用户级配置,而不是一些硬性的配置-编码映射。