当前位置:   article > 正文

S7-1200PLC 与温控仪表Modbus RTU通信_1200 modbus master

1200 modbus master

硬件:cpu 1214C
目的:通过Modbus RTU协议,实现对温控仪表参数的读写
软件:Portal V14SP1

温控仪表参数地址

根据以下地址,我们来编写一个程序,通过Modbus功能对实际测量温度进行读取操作,对AL-1参数进行读取和写入操作。
实际测量温度的地址1001H为16进制,转换成十进制后为4097
AL-1的地址0001H为16进制,转换成十进制后为1

硬件组态

1.插入cpu 1214C,添加CM1241 RS422/RS485模块,并更改组态参数

2.记录下RS485模块的硬件标识符

软件编程

1.PLC_1作为Modbus主站,在OB1中插入Modbus_Comm_Load 指令和Modbus_Master 指令
调用指令后系统会自动生成背景数据块Modbus_Comm_Load_DB与Modbus_Master_DB

Modbus_Comm_Load指令参数:
PORT:填入之前我们记录的PLC_1的通信模块硬件标识符
BAUD:波特率,组态的时候已经将其设置为9600,需要把温控仪表中的波特率也调整为9600
MB_DB:连接到Modbus_Master_DB的MB_DB

Modbus_Master指令参数
MB_ADDR:填入从站的地址,温控仪表中设置的地址为1
DATA_PTR:数据读取或者数据写入的地址

*MODE与DATA_ADDR参数的组合可以用来选择各种Modbus功能代码,具体组合查询手册可得

2.将Modbus_Comm_Load指令的背景数据块Modbus_Comm_Load_DB中的静态变量“MODE”修改为4
该变量MODE默认值为0,需要根据实际组态情况修改成相应的数值
0 = 全双工 (RS232)
1 = 全双工 (RS422) 四线制模式(点对点)
2 = 全全双工 (RS 422) 四线制模式(多点主站,CM PtP (ET 200SP))
3 = 全全双工 (RS 422) 四线制模式(多点从站,CM PtP (ET 200SP))
4 = 半双工 (RS485) 二线制模式

3.因为RS485属于半双工通信,如果我们需要对Modbus从站进行多个读或写操作,那我们需要采用轮询的方式来实现这个功能,程序如下

监控测试

1.进入监控界面,调用一遍Modbus_Comm_Load指令,然后开始轮询
2.监控DB3.DBW0,DB3.DBW4,DB3.DBW20这三个变量值
 DB3.DBW4可以实时显示温控仪表的当前温度值
 DB3.DBW0可以实时显示温控仪表AL-1的设定值
 修改DB3.DBW20的数值后,温控仪表AL-1参数也发生相应的变化

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/294035
推荐阅读
相关标签
  

闽ICP备14008679号