Modbus协议使用常见问题分析

时间:2023-03-20作者:佚名
Modbus协议最初由Modicon公司开发出来,是针对plc设备设计的基于串行总线的主从模式的应用层总线设备协议。ModbusTCP是封装在TCP包内的Modbus协议,虽然有一些变化,但是根本上还是主从模式。
  随着嵌入式技术的发展,国内很多系统的控制和采集单元部分为公司自主研发,一般建议这些公司的串行通讯协议采用Modbus协议,很多用户在modbus协议存在着理解错误,现在分析如下:
  一、modbus的保持和输入寄存器是以word(16bit)为单位的。
  比如4****(保持寄存器/输出寄存器)和3****(输入寄存器)是以字为单位的。所以,如果读40001寄存器开始的一个16位的无符号数,那么返回2个Byte,并可以从40002开始读下一个16位的无符号数。
  但是,如果读40001寄存器开始的一个32位浮点数,那么,返回4个Byte,而且,下一个32位浮点数必须从40003开始。
  常见问题:
  1)、将40001定义为一个Byte的数据;
  2)、将40001定义为32位浮点数,40002为下一个32位浮点数。
   二、寄存器最小地址为1,而报文起始地址为0。
  在数据报文中,所有的modbus地址都是从0开始的。也就是首次出现的数据项在报文中的地址为0。比如:
  1.在控制器中,“线圈1”在Modbus报文的地址域中的地址为00 00。
  2.线圈127的十六进制报文地址为007E hex(十进制的126)
  3.保持寄存器40001的报文地址为00 00。因为报文功能码明确要操作“保持寄存器”,所以,协议就以“4XXXX”代表这个寄存器。
  4.保持寄存器40108的报文地址为006B hex (十进制107)
  总之,Modbus地址一般指4****(保持寄存器/输出寄存器)和3****(输入寄存器),这时应用层面的:
  比如设备说明书可以简要说明设备支持Modbus RTU标准协议,并详细描述其地址对应关系为:40001 -- 模拟量采集通道1,16位有符号数,.....。比如组态软件的地址设置,一般为输出寄存器,从地址1开始,连续多少个。或者指明400001:16位有符号数。但是,在数据报文层面,寄存器起始地址从0开始。
  数据报文包括:设备地址 功能码 起始地址 寄存器个数 校验位。其中,起始地址是从0开始的。
  举例说明:从设备17读40001开始的2个寄存器数据的报文
  设备地址 功能码 起始地址 寄存器个数 校验
   11 03 00 00 00 02 --
  常见问题:
  1、使用和定义40000地址;
  2、分析报文时,直接将报文起始地址当作应用层寄存器地址。
  3、Modbus的写寄存器命令的不同。
  常用Modbus寄存器有:线圈(Coil)、输入(Input)、保持寄存器(Holding Registers)和输入寄存器(Input Registers)。
  从Modbus设备角度看,输入是上位机采集Modbus设备的信息,也就是这些寄存器是只读的,所以,Modbus协议没有写输入(Input)和输入寄存器(Input Registers)的命令。
  线圈(Coil)是状态量,对应Modbus设备的开关量输出(DO),保持寄存器(Holding Registers)是模拟量,对应Modbus设备模拟量输出(AO),这些寄存器需要Modbus设备的上位机进行设置,也就是为可以写的寄存器。
  在Modicon_Modbus协议 协议中,写线圈(Coil)和保持寄存器(Holding Registers)都有两种写命令:
  1)、写单个寄存器:
  置单线圈(Force Single Coil)功能码05(0x05)
  写单个寄存器(Preset Single Holding Register)功能码06(0x06)
  2)、写多个寄存器
  写多线圈(Force Multiple Coils)功能码15(0x0F)
  写多个寄存器(Preset Multiple Registers)功能码16(0x10)

相关阅读

S7-200SMART中SD卡的几种功能

S7-200SMART中SD卡的几种功能:用于程序的传送、CPU固件的升级、恢复CPU 出场设置。 知识点:SD卡的技术是基于Multimedia Card(MMC)格式上发展而来,大小和MMC卡差不多,尺寸为32mm x 24mm x 2.1...
2023-05-11
S7-200SMART中SD卡的几种功能

开关总跳闸?3种原因+秒判方法,电工都在偷偷学!

开关跳闸别乱查!教你3步快速揪出故障 送电“砰”一声跳?十有八九是火线漏电或零火线短路 无声直接跳?多半是零线漏电在搞鬼 过会才跳还发热?线路过载 学...
2026-05-26
开关总跳闸?3种原因+秒判方法,电工都在偷偷学!

这两个鼻子谁压得好?吵的不可开交!

就在最近这段时间,小编在浏览网页时偶然看到了一篇的帖子。帖子中所描述的场景着实令人感到新奇和意外。 原来,是有一家工厂在招聘电工,有两位电工前来应聘。面试的过程中,领导...
2024-08-28
这两个鼻子谁压得好?吵的不可开交!

电源软开关技术及常见软开关拓扑结构

软开关技术实际上是利用电容与电感的谐振,使开关器件中的电流或电压按正弦或准正弦规律变化。当电流过零时,使器件关断,当电压过零时,使器件开通,实现开关的(jìn)似零损耗...
2023-08-30
电源软开关技术及常见软开关拓扑结构

零线和地线的区别 搞懂这几点就够了

在日常用电和电气施工中,很多人会把零线和地线弄混,觉得二者都是和大地相连的线,没什么区别。但实际上,这两根线的作用天差地别,零线是保障设备正常工作的“工作线”,地...
2026-04-14
零线和地线的区别 搞懂这几点就够了

热销商品

国标TRVV高柔性拖链电缆2—48芯0.3 0.5 1 1.5 2.5平方耐弯折软线

国标TRVV高柔性拖链电缆,专为满足严苛工况下的动态传输需求而设计。该电缆具有2至48芯多种配置,适用于0.3、0.5、1.5、2.5平方等多种截面积选择,灵活满足不同设备的...
¥ 1.24

定做定制各类密封条三元乙丙橡胶硅胶PVC防火阻燃EVA氯丁石墨丁晴

本公司专业定做各类定制密封条,涵盖三元乙丙橡胶(EPDM)、硅胶、PVC、EVA、氯丁橡胶、丁腈橡胶及石墨复合等多种材质,满足不同行业对密封、防水、隔音、隔热及防火阻燃...
¥ 1

直销配电箱暗插销铰链门轴CL225插销带螺丝固定铁皮柜弹簧铁铰链

CL225插销式暗铰链专为配电箱、铁皮柜等金属柜体设计,采用优质冷轧钢板经冲压成型,表面镀锌处理,防腐耐用。其内置弹簧结构,确保柜门开合顺畅、自动复位,提升使用便捷...
¥ 0.06

浇铸抛光螺纹钢扭矩扳手 镀锌双头延长杆扳手多功能工具 开口扳手

这款多功能工具集浇铸抛光螺纹钢扭矩扳手、镀锌双头延长杆扳手与开口扳手于一体,采用优质合金钢精密浇铸并经抛光处理,表面镀锌防锈,耐用性强。其双头设计适配多种规...
¥ 0.6

橡胶包边条 U型橡胶条橡胶防撞条卡槽橡胶钢板卡条玻璃嵌条密封条

橡胶包边条、U型橡胶条、橡胶防撞条、卡槽橡胶条、钢板卡条及玻璃嵌条密封条,是一类广泛应用于门窗、家具、机械设备及汽车等领域的密封与防护配件。采用优质橡胶(...
¥ 0.7

网站栏目