首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >高速机电 | 基于Modbus的高速公路机电设备通讯协不能瞎定义

高速机电 | 基于Modbus的高速公路机电设备通讯协不能瞎定义

作者头像
高速公路那点事儿
发布2026-05-29 12:28:51
发布2026-05-29 12:28:51
460
举报

点击下方卡片,可以快速关注:

最近我们开了一个针对集水坑的水位监测设备,设备本身没什么技术含量,主要是增加公司的自研产品比例(高新企业要求),在研发人员定义通信协议的时候我发现了协议规范性问题,那下面就来谈谈这个基础知识点。

01 modbus的基础知识

modbus作为工控领域的标准通讯协议规则,是研发人员耳熟能详的,很多研发人员也开发过。

这个协议主要是针对RS485串口下多设备连接的环境定义而来,485串口接主站(例如电脑/PLC/触摸屏),所有仪表传感器全部并联485总线,靠Modbus设备地址ID区分每一台设备。

关键点是,1)Modbus设备地址ID(1~247,每个设备地址必须不一样);2)全部A接A、B接B,并联在同一条485线上,不用单独串口。

主站串口发指令去找地址1的设备读取数据,那么只有地址1设备应答,其他设备自动忽略,完全不会错乱混淆。

平时我们说的485地址,建议统一称为Modbus设备地址,以避免歧义。

这里面还有一个寄存器的地址,是区分设备里面的哪个数据(温度、电流、电压等)。

大白话举例一下,485总线看成一条走廊,Modbus设备地址就是房间门牌号,那么寄存器地址就是房间里的柜子编号。

02 工控四遥

工控四遥也就是工业标准四遥:遥测、遥信、遥控、遥调。工控四遥在全国电力、工控、自动化全都统一这么叫、这么用,所以必须理解。

遥测(YC)远程看数值的,远程测量模拟量数据,连续变化的数值,例如电压、电流、功率、温度、压力、流量、转速、水位。

遥信(YX)远程看开关状态的,远程看开关量、开关状态,只有两种状态:开/关、合/分,例如断路器分合闸、阀门开关、风机启停、设备故障报警、刀闸状态。

遥控(YK)是远程手动控制开关的,远程下发指令控制设备启停、分合开关,只做开关类操作,一次性动作。例如隧道里面的风机控制、车道指示器控制。

遥调(YT)远程调整参数大小,遥控是开关,遥调是调大小、调数值。例如隧道里面的无极调光系统,调整照度。

一般来说,遥测是读寄存器数值,遥调是读/写寄存器数值。,遥信、遥控是读/写开关线圈状态。

总结一下就是:遥测是读取连续变化数值(电压、电流、温度);遥信是读取两种状态(开关、故障信号);遥控是下发开关命令(开机、关机、合闸断电);遥调是修改参数(调速、调压、调温)。

03 线圈与寄存器

线圈(Coil)只有两种状态:0和1,代表类型有开关、启停、开合、故障有无等等,对应工控里的遥信、遥控,就是纯开关量,只有两种结果,没有中间数值。

寄存器(Register)存具体数字数值,可以是0、5、220、36.5、1000任意数,代表类型有电压、电流、温度、压力、频率、功率等等,对应工控里的遥测、遥调,一般来说是模拟量,连续变化的大小数值。

看着都是地址,本质上完全是两回事,绝对不能混用和乱用。

在PLC编程习惯中,常使用带前缀的地址来表示不同数据区:0xxxx表示线圈,3xxxx表示输入寄存器,4xxxx表示保持寄存器。但在Modbus协议报文中,实际传输的是不带前缀的原始地址(0~65535)。设计时应明确内部地址映射规则。

输入寄存器是只读测量数值,只能读、不能改。

保持寄存器是可读写设定数值。

其中寄存器是存16位整数,32位数据需拆分为两个寄存器,能存几百几千的具体数值

简单地说就是线圈常用于遥信(看开关状态)和遥控(远程开关停),寄存器常用于遥测(读温度电压)和遥调(改频率参数)。

虽然保持寄存器通常可读可写,但若用于存储遥测值(只读数据),应在协议中明确禁止写入,设备收到写请求时返回异常码。

04 功能码

地址确定好了,那么开始确定功能码,这也是有规则的,不能随意瞎定义。

遥测(YC) 是现场采集的实时测量值(如当前水位),应当是只读的,不应被远程修改。优先用功能码04读输入寄存器;若用03则必须分配只读保持寄存器。

遥调(YT) 是下发的设定值或目标参数(如水位上限),通常需要可读可写,用于调整。采用功能码03读保持寄存器,读取设定参数。采用功能码06/16写保持寄存器,修改设定参数。

遥信(YX)是远程读取开关状态,只读。 推荐使用功能码02读取离散输入。若设备没有离散输入区,可使用功能码01读线圈(但需约定禁止写入)。

遥控(YK)是远程下发开关命令。采用功能码05(单个)或15(多个)写入线圈。线圈值 0xFF00 表示“合/开/启动”,0x0000 表示“分/关/停止”。 遥控地址与遥信地址可独立分配,也可共用(写后通过遥信读取确认)。

05 总结

只看不碰是遥测遥信,动手控制是遥控遥调。

遥测看数值,遥信看状态,遥控控开关,遥调改参数。

02读遥信(或01),04读遥测,03读遥调(或只读遥测),05/15控开关,06/16改遥调。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 高速公路那点事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 modbus的基础知识
  • 02 工控四遥
  • 03 线圈与寄存器
  • 04 功能码
  • 05 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档