这里简单介绍下西门子plc梯形图编程实例 使用西门子200smart PLC与电流表进行 Modbus RTU通讯
关于Modbus 通讯可自行查阅资料,这里不做过多赘述,不说废话直接开始。
1.接线
下图1. S7-200 SMART CPU 集成 RS485 端口的引脚分配
连接器 |
引脚标号 |
信号 |
引脚定义 |
1 |
屏蔽 |
机壳接地 | |
2 |
24V 返回 |
逻辑公共端 | |
3 |
RS-485 信号 B |
RS-485 信号 B | |
4 |
发送请求 |
RTS (TTL) | |
5 |
5V 返回 |
逻辑公共端 | |
6 |
+ 5V |
+5 V,100 Ω 串联电阻 | |
7 |
+24V |
+24 V | |
8 |
RS-485 信号 A |
RS-485 信号 A | |
9 |
不适用 |
10 位协议选择(输入) | |
外壳 |
屏蔽 |
机壳接地 |
下图2. 青智仪表ZW1619-RS485 端口的引脚分配
**需要注意的是,西门子PLC定义的RS485-A和-B与其他厂家定义不同;
这里需要将电流表端485A-PLC的3脚(B)、电流表端485B-PLC的8脚(A),交叉相连接。
2.设置电流表通讯参数
这里用的是默认参数,Modbus 规约RTU模式 通讯
参数 |
设置值 |
波特率 |
9600 |
数据位 |
8 |
校验位 |
none |
停止位 |
1 |
从站地址 |
1 |
这里是寄存器地址
寄存器地址(十进制) |
存器地址(十六进制) |
数据名称 |
数据类型 |
4096 |
1000H |
单相电压值 |
浮点数 |
4098 |
1002H |
单相电流值 |
浮点数 |
4100 |
1004H |
单相功率值 |
浮点数 |
... |
以上参数及设置都可以从说明书中找到。
仪表说明书ZW1619,提取密码:1234 https://pan.baidu.com/s/1WGgq67TQ6sCHXjvNbsVrYw
3.编写PLC程序
PLC做主站,这里直接调用 库文件>Modbus RTU Mater下的指令:
- 初始化主站,设置波特率,COM口等相关参数,具体设置可按F1查看帮助
2.发送请求,设置从站地址为1,读寄存器,读取起始地址设为44097(40001+十进制设备地址4096),数量为4,存入PLC地址&VB100;即VD100,4个双字节:
仪表寄存器地址 |
存入寄存器地址 |
存入V区地址 |
4096 |
44097 |
VD100 |
4098 |
44099 |
VD104 |
4100 |
44101 |
VD108 |
4.调试PLC程序
写入PLC程序,打开状态图表监控
将VD40,赋值44097,V30.0、V30.1置为1 开始通讯测试
修改VD100、VD104等显示格式为:浮点数
PLC程序实例-电流表模块通讯,提取密码:1234 https://pan.baidu.com/s/1lo6FjoBgZHy2wIqd5LWNUw
这里是电流表只支持 读取电流功能,所以仅有电流值可以读取到。
运行电机,监控到VD104有数值变化,与电流表示数相近,与电流表Modbus RTU通讯成功。