
西门子200 SMART与高压仪表通讯的实用程序,直接可用或供参考
直接上干货!聊聊去年在厂里用西门子200smart PLC对接高压仪表的实战经验。这个方案已经在产
线稳定运行半年多,程序是经过现场验证的,兄弟们可以直接复制拿去用。(文末附完整程序截图)
**硬件配置清单:**
- S7-200 SMART ST30
- 某品牌高压数显表(支持Modbus RTU)
- RS485转接头(重点!一定要接120Ω终端电阻)
当时现场用DB9接头手搓通讯线时踩过坑,这里给个万用接线图:
```python
PLC 3+(T+) ---- 仪表的A+
PLC 8-(T-) ---- 仪表的B-
```
记得拿万用表量通断!遇到过接头虚接导致通讯时好时坏的玄学问题。
**核心程序解析:**
初始化Modbus主站:
```cpp
LD SM0.1
MOVB 9, SMB30 // 波特率9600,无校验
MOVB 1, MBUS_CTRL // 启用主站模式
```
重点是这个轮询结构:
```cpp
LDN T37
TON T37, 100 // 200ms间隔
LD T37
= L60.0 // 触发读取指令
LD L60.0
CALL MBUS_MSG:L60, 1, 4, &VB100, 5, 0