EasyView Modbus协议说明
modbus tcp协议说明
modbus tcp协议说明Modbus TCP是一种在Modbus通信协议基础上运行于TCP/IP网络的变种。
Modbus本身是一种串行通信协议,用于在工业自动化领域中传输数据。
而Modbus TCP则将Modbus协议封装在TCP/IP协议中,使其能够在以太网上进行通信。
Modbus TCP协议的工作原理是基于客户端-服务器模型。
客户端通过建立TCP连接向服务器发送请求,服务器接收请求并返回响应。
通常情况下,客户端是一个控制器或者监控设备,而服务器则是一个支持Modbus TCP协议的远程设备,比如PLC(可编程逻辑控制器)或者传感器。
Modbus TCP协议使用标准的TCP端口号502进行通信。
在通信过程中,Modbus TCP协议通过TCP连接传输Modbus帧,这些帧包含了读取数据、写入数据、设备识别等命令。
Modbus TCP协议支持多种数据类型,包括线圈(Coils)、离散输入(Discrete Inputs)、保持寄存器(Holding Registers)和输入寄存器(Input Registers)。
值得注意的是,Modbus TCP协议是一种开放的协议,因此它具有很好的兼容性和灵活性。
它可以在各种不同厂家的设备之间进行通信,这使得它成为工业自动化领域中非常流行的通信协议之一。
总的来说,Modbus TCP协议是一种基于TCP/IP网络的工业通信协议,它通过在Modbus协议上增加TCP/IP封装实现了在以太网上的数据传输。
它的特点包括客户端-服务器模型、标准的TCP端口号、支持多种数据类型和开放的兼容性。
通过使用Modbus TCP协议,工业设备可以方便地进行数据交换和控制,从而实现自动化生产和监控。
modbus协议教程
在本章主要讲述如何利用软件通过通讯口来操控该系列仪表。
本章内容的掌握需要您具有MODBUS协议的知识储备并且通读了本册其它章节所有内容,对本产品功能和应用概念有较全面了解。
本章内容包括:MODBUS协议简述,通讯应用格式详解,本机的应用细节及参量地址表。
1.1 MODBUS协议简述ACRXXXE系列仪表使用的是MODBUS-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。
MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。
首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。
MODBUS协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
1.2 查询—回应周期1.2.1 查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
例如功能代码03是要求从设备读保持寄存器并返回它们的内容。
数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
1.2.2 回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据:如寄存器值或状态。
如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
错误检测域允许主设备确认消息内容是否可用。
1.3 传输方式传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS 协议–RTU方式相兼容的传输方式。
每个字节的位:·1个起始位·8个数据位,最小的有效位先发送·无奇偶校验位·1个停止位错误检测(Error checking):CRC(循环冗余校验)1.4 协议当数据帧到达终端设备时,它通过一个简单的―端口‖进入被寻址到的设备,该设备去掉数据帧的―信封‖(数据头),读取数据,如果没有错误,就执行数据所请求的任务,然后,它将自己生成的数据加入到取得的―信封‖中,把数据帧返回给发送者。
modbus 协议详解(一)
modbus 协议详解(一)Modbus 协议详解什么是 Modbus 协议?•Modbus 协议是一种通信协议,用于在不同设备之间实现数据传输和通信。
•Modbus 协议最初由 Modicon 公司于 1979 年开发,用于在可编程逻辑控制器 (PLC) 和外部设备之间进行通信。
•Modbus 协议被广泛应用于工业自动化领域,包括监控系统、仪器仪表、传感器和执行器等设备之间的通信。
Modbus 协议的特点•简单:Modbus 协议采用了简单而有效的通信方式,易于实施和理解。
•开放:Modbus 协议是开放的标准,可以由不同厂商的设备实现和集成。
•灵活:Modbus 协议支持多种物理介质,包括串口、以太网和无线网络等。
•可靠:Modbus 协议具有重试机制和错误校验,确保数据的可靠传输。
Modbus 协议的工作原理Modbus 协议基于主从结构,在系统中通常包括一个主站和多个从站。
1.主站(Master):主站负责发起通信请求并控制从站的操作。
2.从站(Slave):从站被动地响应主站的请求,并提供所需的数据或执行相应的操作。
通信过程如下:1.主站向从站发送读取或写入请求。
2.从站接收到请求后,根据请求进行相应的数据读取或写入操作。
3.从站将读取的数据或写入的确认信息返回给主站。
4.主站接收到从站的响应后,根据需要进行后续的操作或请求。
Modbus 协议的数据格式Modbus 协议定义了数据的格式和通信规范。
帧格式Modbus 协议使用字节为单位进行传输,通常采用以下帧格式:•起始符:1 字节,表示帧的起始。
•地址:1 字节,指定主站或从站的地址。
•功能码:1 字节,指定所需的功能,如读取、写入等。
•数据:N 字节,包含读取或写入的数据。
•校验:2 字节,用于校验帧的完整性和准确性。
•结束符:1 字节,表示帧的结束。
功能码Modbus 协议定义了多个功能码,用于不同类型的操作和通信需求:•读取操作:–03H:读取保持寄存器的值。
modbus协议说明
modbus协议说明Modbus协议说明Modbus协议是一种通信协议,用于在工业自动化领域中的设备之间进行通信。
该协议最初由Modicon公司于1979年开发,现在已成为工业领域中最流行的通信协议之一。
1. Modbus协议的基本原理Modbus协议基于主从结构,其中一个设备充当主设备,而其他设备则充当从设备。
主设备可以向从设备发送命令,并接收从设备返回的响应。
这种结构使得多个设备可以同时进行通信,提高了系统的效率和可靠性。
2. Modbus协议的数据格式Modbus协议使用16位寄存器来存储数据。
每个寄存器都有一个唯一的地址,并且可以存储16位二进制数值。
数据可以以不同的方式进行传输,包括二进制、十进制和十六进制。
3. Modbus协议的功能码Modbus协议使用功能码来标识不同类型的命令和请求。
以下是几个常见的功能码:- 功能码01:读取单个线圈状态- 功能码02:读取单个离散输入状态- 功能码03:读取多个寄存器值- 功能码04:读取输入寄存器值- 功能码05:写单个线圈状态- 功能码06:写单个寄存器值- 功能码15:写多个线圈状态- 功能码16:写多个寄存器值4. Modbus协议的应用场景Modbus协议广泛应用于工业自动化领域中的各种设备之间的通信。
例如,它可以用于控制系统、传感器和执行器等设备之间的通信。
此外,Modbus协议还可以用于监控和记录数据,以及进行远程故障排除。
5. Modbus协议的优点Modbus协议具有以下几个优点:- 易于实现和使用- 可以在不同类型的设备之间进行通信- 支持多种数据格式和传输方式- 可以同时与多个设备进行通信6. Modbus协议的缺点Modbus协议也存在一些缺点:- 安全性较差,容易受到攻击- 传输速度较慢,不适合高速数据传输- 不支持大量数据的传输7. Modbus TCP/IP协议Modbus TCP/IP是一种基于TCP/IP网络的Modbus协议扩展。
MODBUS协议说明文档
MODBUS通讯协议说明1、概述Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
本文档通信协议说明详细地描述了MODBUS设备的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1通信协议的作用使信息和数据在上位机(主站)和MODBUS设备之间有效地传递,允许访问MODBUS设备的所有测量数据。
MODBUS设备可以实时采集现场各种数据值,具备一个RS485通讯口,能满足MODBUS监控系统的要求。
MODBUS设备通信协议采用MODBUS RTU协议,本协议规定了应用系统中主机与MODBUS 设备之间,在应用层的通信协议,它在应用系统中所处的位置如下图所示:本协议所处的位置从机:1.2 物理接口:连接上位机的主通信口,采用标准串行RS485通讯口,使用压接底座。
信息传输方式为异步方式,主要配置参数,一般默认:起始位1位,数据位8位,停止位1位,无校验,数据传输缺省速率为9600b/s2、MODBU通信协议详述2.1 协议基本规则以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有回路通信应遵照主/从方式。
在这种方式下,信息和数据在单个主站和从站(监控设备)之间传递。
2)主站将初始化和控制所有在通信回路上传递的信息。
3)无论如何都不能从一个从站开始通信。
4)所有环路上的通信都以“打包”方式发生。
一个包裹就是一个简单的字符串(每个字符串8位),一个包裹中最多可含255个字节。
组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位的方式传递。
串行数据流由类似于RS232C中使用的设备产生。
5)所有回路上的传送均分为两种打包方式:A) 主/从传送B) 从/主传送6)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。
MODBUS协议(功能码及报文解析)
MODBUS协议Modbus是一种串行通信协议,是 Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA )中,Modbus通常用来连接监控计算机和 remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口 EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication )方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为ASC II变种的节点通信,反之亦然。
对于通过TCP/IP (例如以太网)的连接,存在多个 Modbus/TC P变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本 Modbus Plus(Modbus+ 或者 MB+),不过此协定是 Modicon专有的,和 Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
MODBUS协议(功能码报文解析)
MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
M odbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和 Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
Modbus通信协议中文版
Modbus通信协议工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网 络协议中的一种。
一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由Modem组网。
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
MODBUS协议(功能码和报文解析)
MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
Modbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication)方式。
RTU 格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为A SCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/T CP变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本Modbus Plus(Modbus+或者MB +),不过此协定是Modicon专有的,和Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbi t/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
许继modbus协议使用说明
许继电气modbus协议软件使用说明:(本协议软件由iec101修改而来,在配置和生成的数据上可以借鉴iec101) 四遥数据与MODBUS协议软件支持的功能码对应关系*遥测为16位寄存器,遥脉为32位寄存器数据一、通讯数据(信息帧)格式数据格式:数据长度:1.1 功能码“02”:读1路或多路开关量状态输入例如:主机要读取地址为01,开关量DI1—DI4的输入状态。
从机数据寄存器的地址和数据为:主机发送的报文格式:从机响应返回的报文格式:1.2 功能码“03”:读多路寄存器输入例如:主机要读取地址为01,起始地址为0116的3个从机寄存器数据。
从机数据寄存器的地址和数据为:主机发送的报文格式:从机响应返回的报文格式:(遥测与遥脉的使用方法一样,只是寄存器位置不同而已)1.3 功能码“05”:写1路开关量输出(“遥控”)例1:开关量输出点DO1,其当前状态为“分”,主机要控制该路继电器“合”。
控制命令为:“FF00”为控制继电器“合”;“0000”为控制继电器“分”;主机发送的报文格式:从机响应返回的报文格式:与主机发送的报文格式及数据内容完全相同。
例2:开关量输出点DO2,其当前状态为“合”,主机要控制该路继电器“分”。
主机发送的报文格式:从机响应返回的报文格式:与主机发送的报文格式及数据内容完全相同。
(注意:主机下发的输出位置与从机的配置相差一位。
即主机下发1号点,对应从机配置表中的0号点)二、协议配置2.1 在ckrule.dat文件中添加modbus字段,将modbus.exe文件拷贝到/rtu/exec目录下。
2.2 在通道配置向导中选择“串口”的通道类型,然后选择modbus协议2.3 进行串口配置2.4 在规约设置的对话框中输入LinkAddress= 3这里假设从站地址是3。
2.5 确认完成。
2.6 遥测的系数在modbus协议中没有规定,通常与主站进行协商。
因此在软件中采用将现场iec104的数据直接发送的方式,没有进行变换。
最新MODBUS协议(功能码及报文解析)
MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
M odbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP 变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和 Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
Modbus详细讲述(容易看懂的)
Modbus 一个工业上常用的通讯协议、一种通讯约定。
Modbus协议包括RTU、ASCII、TCP。
其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。
虽然RTU比较简单,但是看协议资料、手册说得太专业了,起初很多内容都很难理解。
所谓的协议是什么?就是互相之间的约定嘛,如果不让别人知道那就是暗号。
现在就来定义一个新的最简单协议。
例如,协议:“A” --“LED灭”“B” --“报警”“C” --“LED亮”单片机接收到“A”控制一个LED灭,单片机接收到“B”控制报警,单片机接收到“A”控制一个LED亮。
那么当收到对应的信息就执行相应的动作,这就是协议,很简单吧。
先来简单分析一条MODBUS-RTU报文,例如:01 06 00 01 00 17 98 0401 06 00 01 00 17 98 04从机地址功能号数据地址数据CRC校验这一串数据的意思是:把数据0x0017(十进制23) 写入1号从机地址0x0001数据地址。
先弄明白下面的东西。
1、报文一个报文就是一帧数据,一个数据帧就一个报文:指的是一串完整的指令数据,就像上面的一串数据。
2、CRC校验意义:例如上面的98 04 是它前面的数据(01 06 00 01 00 17)通过一算法(见附录2,很简单的)计算出来的结果,其实就像是计算累加和那样。
(累加和:就是010*********加起来的值,然后它的算法就是加法)。
作用:在数据传输过程中可能数据会发生错误,CRC检验检测接收的数据是否正确。
比如主机发出01 06 00 01 00 17 98 04,那么从机接收到后要根据01 06 00 01 00 17 再计算CRC 校验值,从机判断自己计算出来的CRC校验是否与接收的CRC校验(98 04主机计算的)相等,如果不相等那么说明数据传输有错误这些数据不能要。
3、功能号意义:modbus 定义。
见附录1。
作用:指示具体的操作。
Modbus标准协议讲解
Modbus 解一、基本1、字word、字byte、位bit1 word =2 byte;1 byte = 8 bit.2、校校是由前面的数据通某种算法得出的,用以数据的正确性。
代作数据在向算机或其他行入,简单生入,了减少种入,家了然各种校方法,并依照些方法置了校。
常用的校有:累加和校 SUM 、字异或校 XOR 、向冗余校 LRC 、循冗余校 CRC ⋯⋯3、和接口是一种范和定,是一种通的言,定了通信双方能并使用的信息构和数据格式。
接口是一种的物理接,指的是在物理上的定,像RS422/RS232/RS485/ 以太网口等。
和接口其实不是一个看法,不能够混淆。
Modbus一般运行在RS485 物理接口上,半双工的,是一种主从。
二、 Modbus归纳Modbus协议是应用于电子控制器上的一种通用语言,实现控制器之间、控制器由网络和其他设备之间的通信,支持传统的RS232/RS422/RS485和最新发展的以太网设备。
它已经成为一种通用工业标准。
有了它,不同样样厂商生产的控制设备能够连成工业网络,进行集中控制。
此协议定义了一个控制器能认识使用的信息结构。
Modbus协议是一种央求——应答方式的协议。
三、两种传输方式1、ASCII 模式ASCII :美国标准信息交换代码特点:②信息中每个8bit 都作为两个ASCII 字符发送② 1 个初步位、 7 个数据位、 1 个奇偶校验位和 1 个停止位(也许两个停止位)③错误检测域是 LRC 检验④字符发送的时间间隔可达到 1 秒而不会产生错误2、RTU 模式RTU: 远程终端单元特点:①信息中每个8bit字节包含两个4bit的十六进制字符,因此,在波特率同样的情况下,传输效率比 ascii 传输方式大② 1 个初步位、 8 个数据位、 1 个奇偶校验位和 1 个停止位(也许两个停止位)③错误检测域是CRC 检验④信息发送最少要以 3.5 个字符时间的逗留间分开始。
MODBUS协议说明
智能三相电参数数据综合采集模块MODBUS通讯协议说明目录一、Modbus通讯规约简介二、Modbus-ASCII通讯协议说明三、Modbus-RTU通讯协议说明四、Modbus协议的功能码与所对应的数据表五、数据计算六、Modbus通讯规约介绍(一)MODBUS通讯规约简介(二)MODBUS的两种传输方式(三)Modbus消息帧(四)MODBUS通讯错误检测方法一、Modbus通讯规约简介支持的通讯规约有4种:(ASCII码)研华ADAM兼容通讯协议、十六进制LC-02协议、MODBUS-ASCII、MODBUS-RTU。
“MODBUS通讯协议说明”描述了串行口通讯的读、写命令格式及内部信息数据的定义,数据计算,以便第三方开发使用。
MODBUS通讯规约是与Modicon系统相兼容的Modbus通讯规约。
二、MODBUS-ASCII通讯协议说明1、2、MODBUS-ASCII协议中的通讯波特率:1200,2400,4800,9600,19200BPS。
3、4、MODBUS-ASCII协议格式:上位机发送::单元地址功能码起始地址读取点数LRC校验CR LF下位机响应::单元地址功能码字节数数据LRC校验CR LF命令格式:呼叫:AA FF SSSS NNNN LL <CR><LF>应答:AA FF XX HHHH..... LL<CR><LF>其中::为起始符AA 模块地址FF 功能号SSSS 起始通道NNNN 通道数XX 数据字节长度HHHH 数据字节LL 校验和<CR> 回车<LF> 换行5、功能码03:读保持寄存器,读测量数据数据起始地址:00~1E数据长度:1~0C ,超出范围无效;数据起始地址+数据长度不大于1F,超过范围命令无效。
说明:读取的是16位数据,高位在前,低位在后。
数据定义:见功能码与数据对照表1。
例1、读测量数据:命令: : 01 03 00 00 00 02 LRC <CR><LF> 17字节ADDR 功能开始地址寄存器个数 LRC校验响应: : 01 03 04 64 05 01 01 LRC <CR><LF> 19字节ADDR 功能数据字节长度 U0 I0 UBB IBB LRC校验6、功能码06:预臵单寄存器,设臵通讯地址、波特率、电压、电流变比数据起始地址: 0000或0001数据长度: 01 ,不等于01命令无效。
MODBUS协议(功能码及报文解析)
MODBUS协议Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。
事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。
M odbus比其他通信协议使用的更广泛的主要原因有:公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。
在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行[1]。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。
这两个变种都使用串行通讯(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。
被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和 Modbus不同。
它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。
智能光学界面仪(油品界面智能检测仪)485通讯协议
智能光学界面仪(油品界面智能检测仪)485通讯协议智能光学界面仪(油品界面智能检测仪)485 通讯协议1 概述本控制器支持标准的 Modbus RTU 协议。
通讯速率 9600,数据格式 8 位数据位,1 停止位,奇校验。
本控制器工作在从机模式,初始地址设置为10,十六进制表示为0X0A ,从机地址可通过触摸屏进行设置,设置范围为 1-127。
2 Modbus 功能本控制器支持的 Modbus RTU 功能如下表所示:功能码名称作用0x04 读输入寄存器在一个或多个输入寄存器中取得当前的二进制值3 读输入寄存器输入寄存器的起始地址为 1000,十六进制表示为 0x03E8。
目前设置了 7 个输入寄存器存储空间,每个寄存器占用两个字节,共 14 个字节。
寄存器地址存储内容字节说明0x03E8 2通道 A 电压按整数 signed int 类型存储,系数 0.10x03E9 通道 A 输出电流 2 按整数 signed int 类型存储,系数0.10x03EA 通道 A 输出百分比 2 按整数 signed int 类型存储,系数 0.10x03EB 通道 B 电压 2 按整数 signed int 类型存储,系数 0.1 0x03EC 通道 B 输出电流 2 按整数 signed int 类型存储,系数0.10x03ED 通道 B 输出百分比 2 按整数 signed int 类型存储,系数 0.10x03EE 内部温度 2 按整数 signed int 类型存储,系数 0.14 输入寄存器数据读取功能码 0x04 ,即输入寄存器的读取功能,可用于获取物理量输出,此处可以读取多个或一个输入寄存器。
其命令格式如下:主机命令格式: [ 设备地址] [命令号 04] [寄存器起始地址高 8 位] [低 8 位] [输入寄存器数量高 8 位] [ 低 8 位] [CRC 校验的低 8 位] [CRC 校验的高 8 位]例:[0A][04][03][E8][00][07][30][C3]意义如下:①设备地址:在一个 485 总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。