返回主站|会员中心|保存桌面

西门子PLC服务商    

PLC、变频器、电机,触摸屏,低压

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
  • 暂无分类
首页 > 新闻中心 > S7-200与台达温控表通讯不上!
新闻中心
S7-200与台达温控表通讯不上!
发布时间:2026-04-05        浏览次数:1        返回列表

S7-200 与台达温控表(如 DTA/DTB/DTC/DTK 系列)通讯不上,90% 是接线、通讯参数、Modbus 协议格式、程序或地址问题。按以下步骤逐项排查,基本都能解决。

一、先确认硬件接线

S7-200 本体 Port0/Port1 为 RS485 接口:

  • PLC 端口:3 脚 = A(+) / RS485+;8 脚 = B(-) / RS485-

  • 台达温控表:通常标注 S+ / DATA+S- / DATA-

  • 正确接法

    • PLC 3 ↔ 温控 S+

    • PLC 8 ↔ 温控 S-

  • 常见错误

    • A/B 接反(直接不通)

    • 用普通线而非 屏蔽双绞线

    • 总线两端未加 120Ω 终端电阻(长距离 / 干扰大时必加)

    • 多台设备时地址重复

二、通讯参数必须完全一致(一字不差)

台达温控表与 S7-200 Modbus RTU 要求:

  • 协议Modbus RTU(不是 ASCII)

  • 波特率:9600 / 19200 / 38400(常用 9600)

  • 数据位8 位

  • 停止位1 位

  • 校验位无校验 / 偶校验 / 奇校验(两边必须一样)

  • 从站地址:1~247(不能重复、不能 0)

台达温控表设置(面板)进入参数组:Comm / Communication

  • Addr:站号(如 1)

  • Baud:9600

  • Len:8

  • Stop:1

  • Parity:None / Even / Odd

  • ProtocolRTU(关键!很多默认是 ASCII)

  • Write En:ON(允许写)

三、S7-200 程序与库设置(必须用 Modbus 主站库)

  1. 加载库

    • Micro/WIN 中:指令库 → Modbus Master(v1.2 以上)

    • 必须 分配库内存区(Library Memory)

  2. 初始化 MBUS_CTRL(SM0.0 一直调用)

    • Mode:1(启用)

    • Baud:9600

    • Parity:0=None / 1 = 奇 / 2 = 偶(和温控一致)

    • Port:0(Port0)/ 1(Port1)

    • Done:M0.0

    • Error:VB100(看错误码)

  3. 读写 MBUS_MSG(轮询结构,不能同时多条)

    • 当前温度 PV:40003(或 418177)

    • 设定值 SV:40001

    • 注意:S7-200 库直接填 4xxxx 号(不用减 1)

    • En:上升沿触发

    • Slave:温控地址(如 1)

    • RW:0 = 读 / 1 = 写

    • Addr:Modbus 地址(重点)

    • Count:寄存器个数

    • DataPtr:&VB100(数据区)

    • Done:M0.1

    • Error:VB101

    • 台达常用地址

四、常见错误代码与原因

  • Error=1:校验 / 波特率 / 格式不匹配

  • Error=2:从站无响应(接线 / 地址 / 协议错)

  • Error=3:CRC 错误(接线干扰 / 接反)

  • Error=5:从站返回异常码(地址 / 功能码错)

  • Error=6/8:库内存未分配 / 同时多条 MSG

  • Error=10:参数非法

五、快速排查步骤(建议顺序)

  1. 断电 → 互换 A/B 线 → 上电重试(最有效)

  2. 两边都设:9600,8,N,1,RTU,地址 1

  3. 程序只保留 1 条 MBUS_MSG(读 PV),简化测试

  4. 监控 MBUS_MSG.Error

    • 一直 = 2 → 接线 / 地址 / 协议

    • 偶发 = 3 → 干扰 / 终端电阻

    • 出现 = 5 → 寄存器地址错

  5. 用串口调试助手(如 Modbus Poll)直接读温控表:

    • 能读到 → PLC 程序 / 库问题

    • 读不到 → 温控设置 / 接线问题

六、典型坑点

  • 台达默认 ASCII:一定要改成 RTU

  • 校验不匹配:台达常默认偶校验,S7-200 常默认无校验

  • 地址写法:台达手册 4700H = 40281(16 进制转 10 进制 + 40001)

  • 多站轮询:必须用 完成位 Done 触发下一条,不能并行

  • 干扰:通讯线远离动力线,屏蔽层单端接地

七、最简测试程序

plaintext

// Network1 初始化
LD     SM0.1
MOVB   1, SMB30     // Port0: 9600,8,N,1
CALL   MBUS_CTRL
       1,          // Mode
       9600,       // Baud
       0,          // Parity=0无/1奇/2偶
       0,          // Port0
       M0.0,       // Done
       VB100       // Error

// Network2 读当前温度 PV
LD     M0.0
EU
CALL   MBUS_MSG
       1,          // Enable
       1,          // Slave地址
       0,          // 读
       40003,      // PV地址
       1,          // 1字
       &VB100,     // 读到VW100
       M0.1,
       VB101

按上面步骤逐项核对,基本都能恢复通讯。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服