如题,我想用dp线实现cpu和两个不同设备的modbus通讯,两个设备的波特率是不一样的,那我建两个modbus-ctrl吗?还是说有别的不同办法,但是不能添加cm01信号板了,因为那个位置已经被占用了。
问题补充:
我想问下假如我将双方波特率搞成一致进行通讯,但是假如双方16进制数据流寄存器地址都是0000,那是不是都是在保持寄存器40001里,双方是不是会产生影响,假如我以前一次MSG的done通讯完成作为下一个MSG的触发,这样可以解决这个问题吗?或者有其他更好的解决方法?
最佳答案
用西门子dp电缆可以作为rs485通讯电缆线,这个还包含西门子dp插头,同样可以应用于modbus rtu通讯的硬件部分连接。
组态modbus rtu通讯的通讯频率必须一致,选择其中一个plc作为modbus rtu通讯的主站,创建一个modbus-ctrl初始化指令,然后调用MSG指令读、写对从站的通讯。
信号板的位置已经被占用了,那么,集成rs485口是否也被占用了。
如果是,那么,需要把控制信号板的位置腾出来,在其它的插槽上扩展原信号板的硬件,空出来的扩展信号板,用于CM01模块的安装。
补充问题回复:
不会,双方数据寄存器均是40001开始,它们通讯之间传放的数据区是你自己定义的,所以,从给主假设40001数据存放在VW100,那么,主反馈给从的数据你可以存放在VW1000呀。
正常情况下利用MSG的done位作为下一个轮询的使能位,是没有问题的。但是,当MSG出现报警时,需要结合error这个状态作为轮询往下的另一个依据,同时触发报警。
提问者对于答案的评价:
谢谢两位大神了,假如要是能选俩就好了
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc349160.html