小弟第一次自学485通讯,200smart按照教程写了主站RTU通信,然后串口助手也收到报文了,然后串口助手发同样的报文给仪表,仪表回复当前测量值,但是PLC这边接收报文程序是怎么写的,或者说是怎么配置参数的
图片说明:
最佳答案
从第二张图中可以看到 01 03 10 01 00 01 D1 0A 主站请求帧
MBUS_MSG 指令的各主要管脚:
Slave:1,就是上面的第1个字节 01,从站地址
RW: 0,因为第2个字节是 03 功能码,读保持寄存器,则读写请求:0 = 读, 1 = 写
Addr:44098,上面第3、4字节 1001 转换成十进制 4097,加上1,为4098,再在最前面加上保持寄存器标识4,则为 44098;
Count:1,数据个数,上面第5、6字节是 0001,转换成十进制是 1,所以这里填1
DataPtr:&VB200,则 VW200就是从仪表中读来的温度数据。转换成实数,再除以 10.0,就是温度值。
主程序结构请严格按下面链接中最下面的实例写。尤其是前面4个网络的顺序不要动。MBUS_MSG 指令你可以凑两个。
https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/communication/serial_port/modbus/Master/Master.htm
提问者对于答案的评价:
其实没啥问题,接上仪表就能通讯了,我以为要写一个接收命令
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345989.html