[西门子] 西门子S7-200 SMART通过Modbus RTU 实现RS-485轮询仪表

[复制链接]
查看276 | 回复0 | 2024-5-13 10:36:23 | 显示全部楼层 |阅读模式
概述
PLC做Modbus RTU(RS-485)主站,实现PLC对2个仪表内数据的轮询读取。
1 配置
1.1硬件要求
CPU ST30 (6ES7288-1ST30-0AA1)
信号板SB CM01 (RS485/RS232,6ES7 288-5CM01-0AA0)
PC 操作电脑
1.2软件要求
STEP 7-MicroWIN SMART V2.6
1.3配置接线
仪表A:TXD 接信号板485B
仪表B:RXD 接信号板485A



2 编程
2.1 调用MBUS_CTRL
Mode(模式):1 (将 CPU 端口分配给 Modbus 协议并启用该协议)
Baud(波特率):9600
Parity(奇偶校验):0(无奇偶校验)
Port(端口):1 (选 CM01 信号板上的 RS-485)
Timeout(超时):1000



2.2 调用MBUS_MSG
Modbus 从站设备的地址分别设为1和2,故调用两次。
2.2.1 第一次调用
EN 输入和 First 输入同时接通
Slave(从站):1 (Modbus 从站设备的地址)
RW (读写):0 (0读取,1写入)
Addr(地址):40002 (起始 Modbus 地址)
Count(计数):2 (用于分配要在该请求中读取或写入的数据元素数)
DataPtr (间接地址指针):&VB1700
说明:将仪表的40002-40003中数据读取到PLC的VW1700-VW1702。



2.2.2 第二次调用
EN 输入和 First 输入同时接通
Slave(从站):2 (Modbus 从站设备的地址)
RW (读写):0 (0读取,1写入)
Addr(地址):40043 (起始 Modbus 地址)
Count(计数):2 (用于分配要在该请求中读取或写入的数据元素数)
DataPtr (间接地址指针):&VB1800
说明:将仪表的40043-40044中数据读取到PLC的VW1800-VW1802。



3 调试
3.1 下载程序
库存储器分配,编译,下载。



3.2 监控
监控结果,读取成功,实时变化,测试OK。

至此,测试过程全部结束。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则