硬件:cpu 1214C
目的:建立两台cpu之间的Modbus RTU通信
软件:Portal V14SP1
Modbus RTU是一种单主站的主从通信模式,Modbus 络上只能有一个主站存在,主站在Modbus 络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 – 247,其中0为广播地址,从站的实际地址范围为1 – 247。
本例中使用的为CM1241 RS422/485模块,将其组态为Mdbus RTU主站时,支持最多与32个Modbus RTU从站建立通信。
RS485接口的接线
西门子Modbus通信使用的是DB9针RS485串行接口
*RS422和RS485其实并没有定义接口标准,具体采用什么接口,接口中使用哪些引脚,完全取决于设备设计生产商自己的定义
CM1241 RS422/RS485模块针脚的定义如下,RS485通信模式下,我们需要用到的针脚为3 和8 针脚
硬件组态
1.插入两台cpu 1214C,为两台PLC分别添加CM1241 RS422/RS485模块
3.记录下硬件标识符
Modbus_Master指令参数
MB_ADDR:填入从站的地址,本例中定义从站的地址为2
DATA_PTR:数据读取或者数据写入的地址
*MODE与DATA_ADDR参数的组合可以用来选择各种Modbus功能代码,具体组合查询手册可得
MODE=0 DATA_ADDR=40001 LEN=1,相当于读取从站保持寄存器从地址0开始的一个字的数据
MODE=1 DATA_ADDR=40001 LEN=1,相当于往从站保持寄存器从地址0开始写入一个字的数据
3.因为RS485属于半双工通信,如果我们需要对Modbus从站进行多个读或写操作,那我们需要采用轮询的方式来实现这个功能。
Modbus_Slave指令参数:
MB_ADDR:设定该Modbus从站的地址
MB_HOLD_REG:指定Modbus从站的保持寄存器区域(本例中定义的为DB3中的前10个字)
*从站中Modbus功能代码与PLC输入输出地址的对应关系可查询手册得到,如下图
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!