西门子200smart与电流表Modbus RTU通讯
作者:互联网
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的38脚(A),交叉相连接。
2.设置电流表通讯参数
这里用的是默认参数,Modbus 规约RTU模式 通讯
参数 | 设置值 |
波特率 | 9600 |
数据位 | 8 |
校验位 | none |
停止位 | 1 |
从站地址 | 1 |
这里是寄存器地址
寄存器地址(十进制) | 存器地址(十六进制) | 数据名称 | 数据类型 |
4096 | 1000H | 单相电压值 | 浮点数 |
4098 | 1002H | 单相电流值 | 浮点数 |
4100 | 1004H | 单相功率值 | 浮点数 |
... |
以上参数及设置都可以从说明书中找到。
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等显示格式为:浮点数
这里是电流表只支持 读取电流功能,所以仅有电流值可以读取到。
运行电机,监控到VD104有数值变化,与电流表示数相近,与电流表Modbus RTU通讯成功。
标签:Modbus,引脚,浮点数,RTU,电流表,地址,PLC,寄存器,200smart 来源: https://blog.csdn.net/m0_63709077/article/details/121354980