【技术】详细解析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协议,赶紧点赞收藏,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
【技术】恩智测控探讨晶体管的结构
晶体管泛指一切以半导体材料为基础的单一元件,包括各种半导体材料制成的二极管(二端子)、三极管、场效应管、晶闸管(后三者均为三端子)等。本文恩智测控将为大家介绍晶体管的结构。
技术探讨 发布时间 : 2022-11-08
【技术】恩智测控解析何为半导体
恩智测控将详细讲解何为半导体,所谓半导体是指常温下导电性能介于导体与绝缘体之间的材料。物质存在的形式多种多样固体、液体、气体、等离子体等等。通常把导电性差的材料如煤、人工晶体、琥珀、陶瓷等称为绝缘体。介于导体和绝缘体之间的材料称为半导体。
技术探讨 发布时间 : 2022-08-04
【技术】恩智测控分享恒流电源的定义及用处
大多数人对于恒流电源的具体概念是比较陌生的,毕竟很少接触到,也不知道是什么物品。但是在我们的生活中这种电范围还是很广泛,为了更好的使用电源,多了解一些基本知识对我们的生活还是很有帮助的,那恒流电源是代表什么意思的一个问题,本文恩智测控就来进行解惑吧!
技术探讨 发布时间 : 2022-07-12
【IC】NGI全系列模拟量输出卡,单张实现四通道,为各类传感器信号模拟提供一站式解决方案
恩智测控NGI全系列模拟量输出卡模拟电压输出:0~10V、-10V-+10V、±5V、±200mV,模拟电流输出:±200mA、0~20mA、4~20mA;单张输出卡实现四通道,为各类传感器信号的模拟提供一站式解决方案;既可在NXI模块化仪器测控机箱中使用,也可单独供电使用,广泛适用于汽车电子、新能源储能、各种采集测量系统的校准、测试等测试场景。
产品 发布时间 : 2024-09-26
【应用】电压输出可达±10kV的高压可编程直流电源,可用于静电传感器校准测试
NGI N3200系列高压可编程直流电源具备高电压、高精度、可编程的功能特点,能高效满足静电传感器在各行业领域中的校准测试需求。
应用方案 发布时间 : 2021-09-07
NGI提供电阻型输出的仿真类卡,单卡最高可实现24通道电阻仿真,支持LAN/CAN通信控制
仿真类卡通过特定的技术手段,能够模拟真实设备或系统的某些功能或行为。这种模拟可以用于测试、验证、培训或特定应用场景下的替代。恩智测控NGI提供电阻型输出的传感器仿真、绝缘电阻仿真等仿真类卡,可广泛应用于模拟NTC/PTC电阻、阻性传感器、高压回路中绝缘电阻等仿真测试场景。
产品 发布时间 : 2024-11-01
恩智测控高性能低压大电流N36200系列电源震撼来袭!超小体积且支持多台并机至8.8kA
恩智测控NGI新推出高性能低压大电流N36200系列电源。具有超小体积、超低纹波、高速稳定、功能接口丰富等特点。产品2U全宽20V/1100A/10kW,有效节省测试空间,支持多台并机至8.8kA;匹配半导体、传感器等高要求场景测试。
产品 发布时间 : 2024-06-19
【应用】恩智测控提供直流电源解决方案用于电流传感器测试,支持电源供电、电流测量精度等五项功能检测
恩智测控提供宽范围可编程直流电源N3600、高电压可编程直流电源N3200、三通道可编程直流电源N3410组成的解决方案应用于电流传感器测试中,支持电源供电、电流测量精度测试、线性度测试、过载能力测试、绝缘测试共五项测试。
应用方案 发布时间 : 2022-10-21
【产品】电压0-32V、电流0-5A的三通道可编程直流电源,可完美满足零磁通式霍尔电流传感器辅助电源要求
NGI推出的N3412是一款高性能、高可靠性的三通道可编程直流电源,其电压范围为0-32V,电流范围为0-5A,分辨率可达0.1mV/0.1mA ,完全满足零磁通式霍尔电流传感器辅助电源±12Vd.c、±15Vd.c、±24Vd.c、12Vd.c、24Vd.c等不同规格要求。
新产品 发布时间 : 2021-08-28
哪一款产品非常适合模拟阻性传感器和系统测试仿真?
N8064 系列可编程电阻卡。
技术问答 发布时间 : 2024-05-28
恩智测控(NGI)测试仪器(电池模拟器/电子负载/直流电源)选型指南
目录- 电池模拟器/电子负载/直流电源
型号- N83624-15-01,N6180L,N68108-150-270,N68108-1000-90,N68096-600-240,N68024-150-200,N6140DP,N6927-1200-270,N8331CP,N6180C,N6180A,N6180B,N6180H,N6180E,N8358-05-05,N68084-1000-210,N83624-06-05,N6140DE,N68096-1000-80,N83624-06-03,N83624-06-01,N68024-600-020,N6112-500-5,N68024-1000-060,N68144-150-1200,N68096-1000-240,N68036-600-090,N68108-1000-270,N68132-1000-110,N6112-120-20,N68084-150-700,N68096-600-80,N6904-120-160,N6218-150-90,N68072-150-180,N6948-1200-480,N6112-60-20,N68036-150-300,N68036-1000-030,N6915-1200-450,T62401,N6142BP,N68048-1000-120,N68072-150-600,N68060-150-150,N62406-40-1200,N68120-150-300,N62401-40-200,N6945-1200-450,N68132-150-1100,N8330E,N8330D,N8330C,N68120-1000-100,N8330B,N8330A,N6142BE,N62402-40-400,N6908-120-320,N6212-60-100,N6142CP,N68048-150-400,N68084-150-210,N68120-600-300,N68036-150-90,N68120-150-1000,N68048-150-120,N6906-1200-180,N68048-600-120,N6903-120-120,N8331C,N8331B,N8331A,N6218-60-150,N6142CE,N6141BP,N6142DP,N68024-150-60,N68072-1000-180,N68072-1000-060,N68060-600-150,N68132-600-330,N6942-1200-420,N6206-600-10,N62405-40-1000,N68024-600-060,N68024-1000-020,N8352E,N8358-15-01,N68108-600-90,N8352D,N8352C,N6218-600-30,N8352B,N8352A,N8358-15-05,N6142DE,N68084-600-70,N6141BE,N6912-1200-360,N6140AP,N8358-06-01,N6141CP,N8352F,N68132-150-330,N8358-06-02,N8358-06-03,N68144-1000-360,NW6900,N68108-150-900,N6212-600-20,N68144-1000-120,N68084-600-210,N6206-60-50,N68060-1000-150,N6141CE,N6140AE,N6212-150-100,N6141DP,N68048-1000-040,N68132-600-110,N6930-1000-900,N68108-600-270,N68060-600-050,N6141DE,N68096-150-240,N68060-150-500,N6924-1200-720,N68120-1000-300,N68144-600-360,N62403-40-600,N62404-40-800,N68144-600-120,N68072-600-060,N68036-600-030,N68072-600-180,N68120-600-100,N68084-1000-70,N6140CP,N8331BP,N68096-150-800,N68132-1000-330,N6951-1200-510,N6140CE,N68048-600-040,N68036-1000-090,N6206-150-50,N6936-1200-1080,N68144-150-360,N68060-1000-050,N6921-1200-630
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可加工PCB层数:1-30层;板材类型:FR4板/铝基板/铜基板/刚扰结合板/FPC板/高精密板/Rogers高频板;成品尺寸:5*5mm~53*84cm;板厚:0.1~5.0mm。
最小起订量: 1 提交需求>
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
登录 | 立即注册
提交评论