分享

S7

 huasum 2022-04-15

硬件: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参数也发生相应的变化

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多