200 smart modbus rtu 通讯,如果之前有别的程序下载过,我再下我的编程无法进行正常通讯,需要在软件上把plc进行初始化后在下载才能正常通讯,是不是下载前有设置可以让plc初始化?图2中交换数据起始地址是vb4120,数据长度为7,那它结束地址是不是vb4126?
图片说明:
最佳答案
1、如果之前有别的程序下载过,我再下我的编程无法进行正常通讯,需要在软件上把plc进行初始化后在下载才能正常通讯,是不是下载前有设置可以让plc初始化?
答:
下载时勾选数据块。另外在你的程序中将用到的M位最好利用 SM0。1进行复位操作。以免影响正常使用。另外主站初始化不要使用临时变量。
2、第三张图中交换数据起始地址是 VB4120,数据长度为 7,那它结束地址是不是vb4133;因为这张图读的是从站保持寄存器数据,每个保持寄存器都是 16 位的,即 2 个字节。所以 7 个是 14 个字节。参考链接中保持寄存器部分。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Slave/Slave.htm
3、程序是用定时器来轮循的,这个结构不好,希望采用链接中的程序结构。
Modbus RTU 主站 (最下面有MODBUS RTU 轮循实例)
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Master/Master.htm
提问者对于答案的评价:
谢谢各位解答!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc362421.html