S71200ModbusRTU三个不
Modbus通信一直比较常见,正好手上做了一个与三个不同设备之间进行通信的案例,用的是S7-PLC进行通信的,这里其他的配置不写出来了,主要的写下1、PLC的通信小板CB(RS)2、智能流量计KTP3、OHG-G四路液晶智能温控器4、PH智能电极,这里三个设备的通信波特率、奇偶校验、停止位必须一致,否则就需要再额外添加一个通信模块CM(RS/)做两个Modbus通信了,我们这里选择的三个设备刚好是可以设置的,就怕遇见那种被做进去,固定了的参数,别的不提了,直入主题吧。
建立背景数据块先建一个背景数据块(命名MB),用于定义通信过程中需要的参数,而图上用红线框住的参数分别是流量计需要读一个瞬时流量PH测量值四个通道的温度值C就当时一个流量计的总数值,后来没有用到,我就暂时用C代替了,这里就不贴出各个设备的说明书了,我前面写过一个心得,叫做Modbus-RTU注意事项中也有点内容讲这块的。
创建一个FB之后,在FB的局部变量里定义好这些你后面编写程序所需要的变量。
定义好这些变量,就在FB里添加Modbus通信的指令了。
这里在测试的时候,会发现第2个和第3个设备通信时不时会出现点错误,就添加了这个延迟,有的项目就不一定需要这个了。
因为设备的数据类型不同,所以就进行了转换,我在有一篇Modbus_RTU注意事项中有写,可以去看下,然后下面正常情况下啊,就是读取设备的通信地址数据存储到指定地址就好了,图片上的红字都有介绍。
下面这个图就是轮询的关键之一了。
最下面这个图贴的就是你三个设备轮询的首地址和数据采集的长度,需要你自己的设备,自己找下。
最下面这个图贴的就是你三个设备轮询的首地址和数据采集的长度,需要你自己的设备,自己找下。
转载请注明:http://www.abuoumao.com/hykz/4429.html