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

台达专营服务商    

变频器、PLC、触摸屏、伺服驱动器

联系方式
  • 联系人:吴经理
  • 电话:18576370666
  • 邮件:18576370666@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 台达二台PLC485通讯程序!
新闻中心
台达二台PLC485通讯程序!
发布时间:2025-10-17        浏览次数:2        返回列表

台达 PLC(如 DVP 系列)通过 RS485 通讯实现两台设备的数据交互,需通过Modbus RTU 协议(台达 PLC 默认支持)配置主从机参数,并编写对应的通讯程序。以下是详细的实现步骤,以DVP-ES2 系列(主机)与 DVP-ES2 系列(从机) 为例:

一、硬件准备与接线

1. 硬件需求

  • 两台台达 PLC(如主机 DVP16ES200T,从机 DVP16ES200R);

  • RS485 通讯模块(若 PLC 无内置 485 口,需外接 DVPEN01-SL 或 DVP485-BD 模块);

  • 屏蔽双绞线(建议线径 0.5mm² 以上,长度≤1200m);

  • 终端电阻(120Ω,通讯距离>50m 时需在总线两端接入,减少信号反射)。

2. RS485 接线(半双工)

台达 PLC 的 485 接口通常标注为 “A”(正)、“B”(负),接线需交叉连接:

plaintext

[主机485接口]          [从机485接口]
A(正)  <------->  A(正)   (注意:部分设备需A-B交叉,实际以测试为准)
B(负)  <------->  B(负)
GND     <------->  GND       (屏蔽层单端接地,接GND,避免共模干扰)

提示:若通讯不稳定,可尝试将主机 A 接从机 B,主机 B 接从机 A(交叉接线)。

二、通讯参数配置(主从机必须一致)

两台 PLC 需设置相同的波特率、数据位、停止位、校验位,并分配唯一的从机地址。

1. 主机参数设置(以 DVP-ES2 为例)

  • 进入 PLC 编程软件(WPLSoft),在 “系统寄存器” 中配置:

    • 寄存器 D1120(通讯格式):设置为0x0002(含义:9600bps,8 位数据,1 位停止,无校验,RS485 模式);

    • 寄存器 D1121(主机自身地址):设置为1(主机地址,可自定义,范围 1-247);

    • 寄存器 D1124(Modbus RTU 超时时间):设置为100(单位 10ms,即 1000ms 超时,避免通讯中断误判)。

2. 从机参数设置

  • 从机需设置与主机相同的通讯格式,仅地址不同:

    • 寄存器 D1120:同主机(0x0002);

    • 寄存器 D1121:设置为2(从机地址,必须与主机不同);

    • 其他参数(超时时间)可与主机一致。

三、通讯程序编写(主机读 / 写从机数据)

台达 PLC 通过MODBUS 指令(如MODRD读数据、MODWR写数据)实现 485 通讯,主机主动发起读写,从机被动响应。

1. 主机程序(读取从机数据)

需求:主机读取从机的 D100 寄存器的值,存到主机的 D200 中。

ladde

// 触发条件:X0按下时,主机读取从机数据
LD     X0
Pulse  M0             // M0产生一个扫描周期脉冲

// MODRD指令:读取从机数据
// 格式:MODRD S1 S2 S3 D
// S1:从机地址(2);S2:从机寄存器类型及起始地址(H1000=保持寄存器D100);
// S3:读取长度(1个寄存器);D:主机存储地址(D200)
LD     M0
MODRD  K2             H1000      K1        D200

// 通讯状态判断:D1000=0表示成功,非0表示错误(错误码见附录)
LD     M0
MOV    D1000          D300       // 存储通讯结果(0=成功)

2. 主机程序(写入从机数据)

需求:主机将 D201 的值写入从机的 D101 寄存器。

ladder

// 触发条件:X1按下时,主机写入从机数据
LD     X1
Pulse  M1             // M1产生一个扫描周期脉冲

// MODWR指令:写入从机数据
// 格式:MODWR S1 S2 S3 D
// S1:从机地址(2);S2:从机寄存器类型及起始地址(H1001=保持寄存器D101);
// S3:写入长度(1个寄存器);D:主机数据源地址(D201)
LD     M1
MODWR  K2             H1001      K1        D201

// 通讯状态判断
LD     M1
MOV    D1000          D301       // 存储通讯结果(0=成功)

3. 从机程序(无需主动编程,被动响应)

从机无需编写通讯触发程序,只需确保:

  • 通讯参数与主机一致;

  • 被读写的寄存器(如 D100、D101)未被从机程序占用(避免数据冲突)。

四、关键指令说明

台达 PLC 的 Modbus RTU 通讯依赖以下核心指令:

指令功能关键参数说明
MODRD读取从机数据S2:寄存器类型代码(H1 = 输入继电器 X,H3 = 输出继电器 Y,H4 = 辅助继电器 M,H10 = 数据寄存器 D);如 H1000 表示从机 D100
MODWR写入从机数据同 MODRD,S2 格式一致(写入 D 寄存器需用 H10xxxx)
MODRDS读取字符串(ASCII)用于读取从机的字符串数据(如触摸屏文本)
MODWRS写入字符串(ASCII)用于向从机写入字符串数据

寄存器类型代码速查表:

从机元件代码(S2 高 8 位)示例(读取从机 D100)
X(输入)H1H10064(X64)
Y(输出)H3H30064(Y64)
M(辅助)H4H40100(M100)
D(数据)H10H100100(D100)

五、调试与常见问题解决

1. 通讯测试步骤

  • 用 WPLSoft 分别下载主从机程序,确保参数配置正确;

  • 按下主机 X0(读取),观察主机 D200 是否与从机 D100 一致;

  • 按下主机 X1(写入),观察从机 D101 是否与主机 D201 一致;

  • 若失败,查看主机 D1000(通讯状态码),对照错误码排查。

2. 常见错误及解决

错误码(D1000)原因分析解决方法
1从机无响应(超时)检查接线是否正确、从机是否上电、地址是否正确
2校验错误确保主从机校验位一致(如均设为无校验)
3从机不支持该功能检查 S2 参数(寄存器类型代码是否正确)
4从机地址不存在确认从机地址(S1)在 1-247 范围内
8波特率不匹配主从机 D1120 的波特率设置必须一致

六、扩展:多寄存器读写与批量操作

若需读写多个连续寄存器(如读取从机 D100-D102),只需修改MODRD/MODWR的 “长度” 参数(S3):

ladder

// 读取从机D100-D102(3个寄存器)到主机D200-D202
LD     X0
Pulse  M0
MODRD  K2             H100100    K3        D200  // K3=读取3个寄存器

总结

台达两台 PLC 的 485 通讯核心是 “主从机参数一致 + Modbus 指令调用”:通过配置相同的波特率、校验位,主机用MODRD/MODWR指令主动读写从机数据,从机被动响应。接线时注意 A/B 极性(可尝试交叉或直连),调试时通过状态码快速定位问题。此方法适用于简单的数据交互(如信号传递、参数同步),复杂场景可扩展为多机通讯(最多 32 台从机)。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服