【技术】详细解析Modbus协议
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种,本文恩智测控将为您详细解析Modbus协议。
Modbus通信协议简介
Modbus协议,首先从字面理解它包括Mod和Bus两部分,首先它是一种bus,即总线协议,和I2C、SPI类似,总线就意味着有主机,有从机,这些设备在同一条总线上。
Modbus支持单主机,多个从机,最多支持247个从机设备。关于Mod,因为这种协议最早被用在PLC控制器中,准确的说是Modicon公司的PLC控制器,这也是Mod-Bus名称的由来。
后来Modicon被施耐德(Schneider)收购,Modbus协议广泛应用在工业控制器、HMI和传感器上,逐渐被其他厂商所接受,成为了一种主流的通讯协议,用于和外围设备进行通讯。
Modbus在7层OSI参考模型中属于第七层应用层,数据链路层有两种:基于标准串口协议和TCP协议,物理层可使用3线232、2线485、4线422,或光纤、网线、无线等多种传输介质。
Modbus协议是一种请求/应答方式的交互过程,主机主动发起通讯请求,从机响应主机的请求,从机在没有收到主机的请求时,不会主动发送数据,从机之间不会进行通讯。
Modbus 通信协议特点
(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。
(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
Modbus4种数据类型
Modbus协议规定,进行读写操作的数据类型,按照读写属性和类型可分为以下4种:
1. 离散量输入(Discretes Input ):1位,只读
2. 线圈(Coils):1位,读写
3. 输入寄存器(Input Registers ):16位,只读
4. 保持寄存器(Holding Registers):16位,读写
Modbus协议版本
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus有一个扩展版本ModbusPlus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。所以当提及Modbus协议时,要确定是哪种模式,不同的模式之间区别还是很大的。
Modbus数据帧格式
首先要知道一帧正常的MODBUS数据帧包含的内容有:地址域 + 功能码 + 数据 + 差错校验,再者无论是上述哪种协议版本,Modbus帧格式都是一样的:
主要包括:
1. 地址域:即主站要访问的从站地址,其范围0~247
2. 功能码:即主站想要对从站进行何种操作。
3. 数据:如果主站的请求是读数据,那么该“数据”要包含的信息有:从哪里开始读数据 + 读多少数据。如果主站的请求是向从站写数据,那么该“数据”要包含的信息有:从哪里开始写数据 + 写多少个字节数据 + 要写的具体数据。
4. 差错校验:为了保证数据传输的正确性,Modbus协议会在数据帧最后面加上两个字节的差错校验。
Modbus功能码
Modbus功能码,是写在主机请求数据帧中的,决定主机进行读还是写操作,是读线圈、离散量还是寄存器,是写单个寄存器还是多个寄存器等等,决定主机请求什么类型的数据。
主要包括3类功能码:公共功能码、用户定义功能码和保留功能码
1. 公共功能码
是较好地被定义的功能码
保证是唯一的
MODBUS组织可改变的
公开证明的
具有可用的一致性测试
MB IETF RFC中证明的
包含已被定义的公共指配功能码和未来使用的未指配保留供功能码
2. 用户定义功能码
有两个用户定义功能码的定义范围, 即65至72和十进制100至110
用户没有 MODBUS 组织的任何批准就可以选择和实现一个功能码
不能保证被选功能码的使用是唯一的
如果用户要重新设置功能作为一个公共功能码,那么用户必须启动 RFC,以便将改变引入公共分类中,并且指配一个新的公共功能码。
3. 保留功能码
·一些公司对传统产品通常使用并且对公共使用是无效的功能码。
实际最常用的是公共功能码中的4个功能码:03/04/06/10
0x03:读多个保持寄存器
0x04:读输入寄存器
0x06:写单个保持寄存器
0x10:写多个保持寄存器
因为PLC主要控制的是继电器触点,所以在PLC上还会经常对线圈(Coils)进行读写。这里需要特别注意的一点是:写保持寄存器,需要区分0x06写单个寄存器和0x10写多个寄存器,而读保持寄存器不区分读单个和读多个,当需要读单个保持寄存器时,也是使用0x03指令,指定读取数量为1。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由犀牛先生转载自恩智测控,原文标题为:小智科普丨一文详解Modbus协议,赶紧点赞收藏,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
小智科普丨如何看懂Modbus数据帧?
介绍Modbus RTU数据帧的组成,常用功能码数据帧格式和数据传输模式。
【技术】恩智测控解析恒流电源和恒压电源的区别
LED驱动电源分恒流电源和恒压电源2大类,就是说在选购驱动电源时无论调光与否,都有恒流和恒压之分,要根据灯的参数选购电源,灯里面的使用的是串并电路的就要选择恒流电源,灯里面使用的是串联电路就选择恒压电源。下面恩智测控将解析恒流电源和恒压电源的区别。
【技术】恩智测控探讨晶体管的结构
晶体管泛指一切以半导体材料为基础的单一元件,包括各种半导体材料制成的二极管(二端子)、三极管、场效应管、晶闸管(后三者均为三端子)等。本文恩智测控将为大家介绍晶体管的结构。
客户案例 | NGI高精度模拟量I/O卡助力头部PLC控制器模拟量高效测试
根据客户端的模块测试要求,NGI恩智测控模块化仪器平台自主研发与生产的模拟量输出卡配合高速数据采集卡可以实现客户端的研发测试要求。NGI全系列数据采集板卡是一种将低压模拟信号(通常为60V以下)转换为数字信号、以便计算机进行进一步处理和分析的模块化仪器,广泛应用于高校科研、汽车电子、工业自动化、航空航天和国防等行业。
N2600 系列高精密数字源表(SMU)
N2600系列高精密数字源表(SMU)是NGI自主研发的一款国产高精度数字源表,集电压源、电流源、IVR测量等功能于一体,测量范围广,精度高,适用于通信、半导体、计算机、汽车和医疗等行业的产品特性分析和生产测试。
恩智测控 - 高精密数字源表(SMU),国产高精度数字源表,N2600,N2610-100-03,N2600-020-01,N2600 系列,N2600-1000-01,N2600-200-01,生产测试场景,汽车,齐纳二极管,电池,电阻器,热敏电阻,照明,激光二极管,氮化镓,光电传感器,双极结型晶体管,BJT,纳米材料,GAN,医疗行业,通信,纳米器件,DC-DC转换器,太阳电池,IC芯片,AMOLED公司,原文如此,印刷电子技术,AMOLED,半导体,碳纳米管,变阻器,LED,SIC,光伏,电子墨水,发光二极管,纳米线,石墨烯,开关,无源元器件,传感器,二极管,计算机
恩智测控N67000直流电子负载,单机拉载速度高达60A/μs,具有超低拉载电压和全参数三量程
恩智(NGI)推出直流电子负载N67000,单机拉载速度高达60A/μs、多机并联斜率超100A/μs,具有超低拉载电压和全参数三量程,完美适配传感器、AI芯片、高速开关电源等超高速动态测试场景。
NXI-5100系列高密度可编程电阻卡
NXI-5100系列高密度可编程电阻卡是一款适用于智能制造领域的电子解决方案。该产品支持LAN总线控制,具有多种通道选择和精确的电阻编程能力,适用于模拟阻性传感器和系统测试仿真。
恩智测控 - 高密度多通道可编程电阻卡,高密度可编程电阻卡,NXI-5100-1.1K/24,NXI-5100-111K/16,NXI-5100-110/24,NXI-5100-11M/24,NXI-5100-1.11M/16,NXI-5100-1.11M/12,NXI-5100-1.11M/8,NXI-5100,NXI-5100-11.1M/16,NXI-5100-11.11M/12,NXI-5100-1.1M/24,NXI-5100-11K/24,NXI-5100-1.11K/16,NXI-5100-110K/24,NXI-5100-111.1K/12,NXI-5100系列,NXI-5100-11.11K/12,NXI-5100-11.11M/8,NXI-5100-11.1K/16,模拟阻性传感器
恩智测控高性能低压大电流N36200系列电源震撼来袭!超小体积且支持多台并机至8.8kA
恩智测控NGI新推出高性能低压大电流N36200系列电源。具有超小体积、超低纹波、高速稳定、功能接口丰富等特点。产品2U全宽20V/1100A/10kW,有效节省测试空间,支持多台并机至8.8kA;匹配半导体、传感器等高要求场景测试。
NXI-6100-32/12 高速数据采集卡
NXI-6100-32/12是一款高速数据采集卡,具备32通道模拟量输入和2通道模拟量输出功能,适用于多领域电压信号采集与数据处理。该卡支持1.25Msps输入总采样率和1Msps输出采样率,适用于工业控制、电子控制器测试等场景。
恩智测控 - 高速数据采集卡,12位32通道模拟量输入、2通道模拟量输出的高速数据采集卡,NXI-6100-32/12,集成测试系统,电子控制器测试,工业控制,电信号采集,电压信号采集,电子产品检测,实验教研
【IC】NGI全系列模拟量输出卡,单张实现四通道,为各类传感器信号模拟提供一站式解决方案
恩智测控NGI全系列模拟量输出卡模拟电压输出:0~10V、-10V-+10V、±5V、±200mV,模拟电流输出:±200mA、0~20mA、4~20mA;单张输出卡实现四通道,为各类传感器信号的模拟提供一站式解决方案;既可在NXI模块化仪器测控机箱中使用,也可单独供电使用,广泛适用于汽车电子、新能源储能、各种采集测量系统的校准、测试等测试场景。
NGI提供电阻型输出的仿真类卡,单卡最高可实现24通道电阻仿真,支持LAN/CAN通信控制
仿真类卡通过特定的技术手段,能够模拟真实设备或系统的某些功能或行为。这种模拟可以用于测试、验证、培训或特定应用场景下的替代。恩智测控NGI提供电阻型输出的传感器仿真、绝缘电阻仿真等仿真类卡,可广泛应用于模拟NTC/PTC电阻、阻性传感器、高压回路中绝缘电阻等仿真测试场景。
【应用】电压输出可达±10kV的高压可编程直流电源,可用于静电传感器校准测试
NGI N3200系列高压可编程直流电源具备高电压、高精度、可编程的功能特点,能高效满足静电传感器在各行业领域中的校准测试需求。
NGI 直流电源在电流传感器测试中的应用
电流传感器作为一种检测装置,广泛应用于多种领域,如混合动力电动汽车、电动车等。据预测,到2026年,市场规模将超过35亿美元。NGI直流电源在电流传感器测试中发挥重要作用,其N3600、N3200和N3410系列电源提供宽范围电流输出、高电压输出和三通道输出等功能,支持电流测量精度、线性度、过载能力和绝缘测试等。
恩智测控 - 直流电源,宽范围可编程直流电源,三通道可编程直流电源,电压可编程直流电源,高压可编程直流电源,N3600,N3600 系列,N3410 系列,N3200 系列,N3410,N3200,霍尔电流传感器,电阻分流器,穿孔式电流传感器,光纤电流传感器,磁通门传感器,电流传感器,钳形电流传感器,分流器,传感器,检测装置
NXI-4101-32 高速数字I/O卡
NXI-4101-32是一款32通道可编程高速数字I/O卡,支持CMOS电平,3.3V/5V电平可选。具有PWM输出、脉冲测量、计数器/定时器等功能,适用于工业控制、智能制造等场景中的高速数字信号检测、测量和传输控制。
恩智测控 - 32通道可编程高速数字IO卡,高速数字I/O卡,NXI-4101-32,集成测试系统,电子设备控制器,工业控制,智能制造,电子产品产线测试,汽车ECU测试,高速数字信号检测,测量控制,传输控制
N8064A可编程电阻卡 硬件手册
本手册详细介绍了N8064A可编程电阻卡的功能、硬件接口、技术指标和使用方法。N8064A支持多种分辨率和通道数量,适用于模拟阻性传感器和系统测试仿真。手册中包含了安全须知、硬件接口图、技术指标表和使用说明,旨在帮助用户安全、正确地使用该产品。
恩智测控 - 可编程电阻卡,可编程多通道电阻卡,N8064A
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
布莫让支持超微型单级/多级、微型单级/多级、超微型 TEC 封装产品定制,最小晶粒高度:0.3 mm; 最小横截面:0.2 mm; 最小节距:0.15 mm;能做到最小尺寸 1mm*1mm, 最高级数可达到 7 级。
提交需求>
登录 | 立即注册
提交评论