我现在正在研究和开发一个带有python堆栈的CANopen客户机,并且我很难找到如何通过网关与从Modbus通信。
由于网关地址是CANopen的对象字典中的地址,并且网关有modbus从I/O地址,那么如何指定modbus输入的地址呢?
正如我所看到的,CANopen使用节点ID来选择服务器,使用地址来选择要读/写的属性,但是在这种情况下,我需要做得更远,并指向一个输入。
显然,我正处于“学习”阶段,我没有CANopen/Modbus网关。
致以问候。
发布于 2016-12-08 15:20:20
这将是网关要解决的问题。没有一般的答案,也没有关于这些网关如何工作的标准。网关有某种软件方式,允许您在两个现场总线之间映射数据。在这种情况下,我认为它可能是特定的CANopen PDO,或者是映射到Modbus地址的特定CAN id。
如果您只是在编写CANopen客户端,您和固件都不需要担心Modbus。只需使一个标准兼容的CANopen节点,并让网关处理实际的协议转换。
然而,您可能需要进行PDO映射,以便让客户端和网关知道如何相互交谈,但最好是完成产品的用户级配置,而不是一些硬编码映射。
https://stackoverflow.com/questions/40974077
复制相似问题