SMART ST30 使用本体的 9针口做MODBUS 通信驱动V90 伺服,速率38400,偶校验。然后加了一个通信板,设置速率19200 ,偶校验,给合信SM277座通信。做程序的时候发现不能存在2个 MODBUS-CTRL 指令,否则一个通信口不工作(一般本体的9针口),甚至两个口都不工作。
如果不调用其中一个MODBUS-CTRL 指令,另外一个就可以正常工作。询问过朋友,说两个通信口设置成不同的地址就可以(原来都是默认9600波特,2号口),我改了地址也不行。这怎么回事?
最佳答案
本体的串口以及通信板可以同时做为主站。
MBUS_CTRL 和 MB_CTRL2 具有相同的作用和参数。MBUS_CTRL 用于单个 Modbus RTU 主站。MB_CTRL2 用于第二个 Modbus RTU 主站。相应地,MBUS_MSG 和 MBUS_CTRL 一同用于单个 Modbus RTU 主站。MB_MSG2 和 MB_CTRL2 一同用于第二个 Modbus RTU 主站。如图。
端口号不要搞错了
Port 端口号:0 = CPU 集成的 RS 485 通讯口 ; 1 = 可选 CM 01 信号板 。
编程可参考
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
指令可参考《S7-200 SMART V2.5系统手册 》
https://support.industry.siemens.com/cs/document/109745610
如果软件库中没有这个MB_CTRL2,是不是软件版本低了。我在 V2.5 中是有两个主站指令的。
图片说明:
提问者对于答案的评价:
谢谢二位答复,已经解决了。头次使用两个MODBUS口。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360645.html