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

台达风扇与散热管理综合服务商    

风扇模块|直流无刷马达|散热管理|热电制冷器|气对气热交换机|换气扇|汽车散热系统

新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 台达 PLC 的流量读取通讯梯形图中,MODRD 指令的具体用法是什么?
新闻中心
台达 PLC 的流量读取通讯梯形图中,MODRD 指令的具体用法是什么?
发布时间:2026-08-08        浏览次数:9        返回列表

DVP‑ES2 / EC2 / EH3 / EH5,COM2 (RS485) 作为 Modbus‑RTU 主站,读取从站设备(流量计、仪表)保持寄存器指令格式:MODRD  S1  S2  S3  D该指令本身不会自动发送报文,必须配合上升沿给 M1122,才发起一次读请求

引脚定义

表格

操作数含义数据类型
S1从站站号 (Slave ID)K1~K247
S2Modbus逻辑起始地址K0~K65535
S3读取寄存器数量K1~K16(一次最多读 16 个寄存器)
DPLC 内部存放数据的起始寄存器D 寄存器(D100、D200…)

⚠重要地址换算:仪表手册写 40001(保持寄存器) → S2 写 K040002 → K1;40010 → K9公式:逻辑地址 = 4xxxx地址 − 40001

功能码固定:MODRD 内部使用 03H 读保持寄存器。不能读线圈、离散输入;读线圈要用 MODR。

相关特殊继电器 / 寄存器(COM2 Modbus RTU 主站)

表格

元件功能
M1122通讯请求触发:上升沿,发送 Modbus 报文,不能一直 ON
M1123通讯完成标志,ON = 接收正常完成
M1124通讯错误标志,ON = 通讯出错
M1129通讯超时标志,从站无应答
D1129通讯错误代码,看故障原因
D1120COM2 串口参数(波特率、校验)
M1136OFF:COM2=Modbus‑RTU 主站;ON=ASCII 模式

关键点:

  1. MODRD 写在梯形图里只是配置参数,不会自动发消息;必须 PLS M1122 产生上升沿才发出读命令。

  2. 一次通讯结束(M1123 / M1124 ON)之后,才能再次触发 M1122,不能连续不停触发

最简示例:读取流量计,从站 1,从 40001 开始读 4 个寄存器

40001→S2=K0;读 4 个寄存器,数据存 D100 开始。

plaintext

LD     M0
MODRD  K1   K0   K4   D100    //配置读参数:站1,起始逻辑地址0,读4个,存D100

LD     M0
PLS    M1122                  //上升沿触发发送请求

//通讯完成或者出错,关闭M0,等待下一轮
LD     M1123
OR     M1124
RST    M0

读到结果存放:

  • D100 → 40001

  • D101 → 40002

  • D102 → 40003

  • D103 → 40004

定时轮询完整片段(500ms 读一次流量计)

plaintext

LD     M1002
MOV    H81   D1120    //COM2:9600 8‑N‑1
RST    M1136          //COM2设置Modbus‑RTU主站

LD     T0
SET    M0
TON    T0  K5         //500ms = K5(100ms时基)

LD     M0
MODRD  K1  K0  K4  D100
LD     M0
PLS    M1122

LD     M1123
OR     M1124
RST    M0

32 位浮点数处理(流量计非常常见)

流量计瞬时流量、累计流量大多是32 位浮点数,占用 2 个连续寄存器。读到 D100 (高字) D101 (低字),转 REAL 浮点数:

plaintext

LD     M1123
DFLT   D100   D200    //D101 D100组合成32位浮点数,结果放在D200、D201

如果读出数值异常,就是高低字颠倒,改为 DFLT D101 D200

常见错误与坑点

  1. M1122 直接用 OUT 一直输出 ON❌错误:M1122 不能常 ON,必须上升沿 PLS 触发,否则重复发包报错。

  2. S2 直接填 40001❌错误;S2 填逻辑地址 K0,不是 40001。

  3. S3 读取数量超过 K16MODRD 单次最多读 16 个寄存器,超过要分多次读。

  4. 多台仪表,同时执行两条 MODRD❌错误;同一时间只能执行一条 MODRD;需要做状态机轮询,读完一台再下一台。

  5. 串口参数 D1120 没设置,M1136 没有 OFF通讯直接超时 M1129。

  6. 通讯成功但数值乱码流量计是 32 位浮点数,没有做 DFLT 转换;或者高低字顺序颠倒。

错误代码查看

D1129存放错误码:

  • H0001:非法从站地址

  • H0002:非法寄存器地址

  • H0003:读取数量超限

  • H0008:通讯超时(最常见,接线、波特率、从站不对)

补充区分:

  • MODRD:读保持寄存器 (03 功能码),流量计仪表绝大多数用这个;

  • MODR:读线圈 / 输入离散;

  • MODWR:写寄存器。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服