modbus规约
Modbus-RTU规约详解

第一章Modbus协议□介绍Modbus协议介绍□两种串行传输模式□信息帧□错误检查方法Modbus协议介绍Modbus可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon的Modbus和Modbus+工业网络。
网络信息存取可由控制器内置的端口,网络适配器以及Modicon提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。
Modicon的各种控制器使用的公共语言被称为Modbus协议,该协议定义了控制器能识别和使用的信息结构。
当在Modbus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus协议将此信息传送出去。
在其他网络上使用时,数据包和数据帧中也包含着Modbus协议。
如,Modbus+或MAP网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。
该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。
如包含在Modbus协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus协议,写入嵌入的信息,定义应处理的动作。
图1说明了采用不同通讯技术的多层网络中设备的互连方法。
在信息交换中,嵌入到每个网络数据包中的图1:Modbus 协议应用示意图* MB+为 Modbus主处理器4个Modus设备或网络编程器 编程器(去MB+)S980(去MAP) AT/HC-984 和 HOST/MMHI AT/HC-984HOST/MMHI 984A/B 和S985Modbus 上的数据传输Modicon 控制器上的标准Modbus 端口是使用一个RS-232兼容的串行接口,定义了连接器,接线电缆,信号等级,传输波特率,和奇偶校验,控制器可直接或通过调制解调器(以后简称Modems)接入总线(网络)。
MODBUS规约说明

2字节报文的CRC-16校验码
成功的应答格式如下:
1字节从机地址
1字节功能码(01h)
1字节字节计数器
n字节数据
2字节报文CRC-16校验码
应答报文中每字节包含8个位,第一个字节的最低位对应位起始地址。
读输入状态(功能码
功能码02h的用法与上述的功能码01h相似。绝大多数主机对该功能码采用1X引用方法,1X引用为一5位数地址,即上述指定的位地址加上100001即可。
功能码是:
01h读线圈状态
02h读输入状态
03h读保持寄存器
04h读输入寄存器
05h约束单个线圈
06h设置单个线圈
10h设置多个线圈
11h报告从机ID
读线圈状态(功能码
用功能码01h来读取各种位的状态。一次最多可读取1000位。
主机的请求必须具有下列格式:
1字节从机地址
1字节功能码(01h)
2字节位起始地址
06 - BUSY,REJECTED MESSAGE由于内部数据存取冲突,对请求不能及时应答;也用于指示请求的操作内存不够。
02 - ILLEGAL DATA ADDRESS请求的寄存器中的一部分没定义或无效。对于写操作,这可能表示寄存器是只读的;对于约束单线圈操作,可能是地址不是一有效数据区的起始地址
03 - ILLEGAL DATA VALUE在约束单线圈操作时,对给定的线圈,其引用值非法。
04 - FAILURE IN ASSOCIATED DEVICE被访问的端口目前没有采集所需要的数据,这是由于设置不准确、端口休止或读空的数据区。
对大多数主机,线圈号应设置为比指定的线圈引用大1。
设置单个线圈(功能码
通过该功能码让Modbus直接写数据库寄存器。
标准MODBUS规约格式

标准MODBUS规约格式1.帧格式下发:地址域1B+功能码域1B+reg开始地址高1B+reg开始地址低1B+寄存器个数高1B+寄存器个数低1B+校验码高+校验码低上行(16位模式,一个数据用一个或两个寄存器表示均可,看规定)地址域1B+功能码域1B+字节数1B(2*寄存器个数)+第一个寄存器数据高1B +第一个寄存数据低1B +第二个寄存器数高1B +第二个寄存器数低1B+校验码高+校验码低上行(32位模式, 一个数据用一个或两个寄存器表示均可,看规定)地址域1B+功能码域1B+字节数1B(2*寄存器个数)+第一个寄存器数据高2B +第一个寄存数据低2B +第二个寄存器数高2B +第二个寄存器数低2B+校验码高+校验码低注:B为字节的意思。
地址域总为从机的地址1B。
功能码域有03h和10h两种,03h为读寄存器数据,10h为写寄存器。
校验域进行16位的CRC校验。
2.报文举例01 03 02 BC 00 38 84 44 //召唤YM设备地址功能码(YM)协议地址(700) 寄存器数量CRC校验码01 03 70 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 05 00 00 00 设备地址功能码(YM)字节数数据区00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 14//4个字节表示1个YM 高字节在前低字节在后应答YM召唤01 01 00 32 01 12 1C 58设备地址功能码(YX)协议地址YX数量CRC校验码01 01 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 设备地址功能码(YX)字节数数据区00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F9 CB//1个字节表示8个YX 应答yc召唤01 03 02 58 00 2C C4 7C //召唤YC设备地址功能码(YC)协议地址(600) YC数量CRC校验码01 03 58 0D CB 0D C6 00 00 00 00 00 00 00 00 00 00 00 设备地址功能码(YC)字节数数据区00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 6D//2个字节表示1YC 高字节在前低字节在后应答yc召唤01 0f 01 90 00 01 01 01 2B 4C //遥控令设备地址功能码起始协议地址控制的寄存器数量字节数数据区(16位表示16个遥控,双点遥控) CRC校验码01 0f 01 90 00 01 95 DA //遥控令应答01 0f 01 90 00 01 02 00 00 cd 01 //遥控复归令设备地址功能码协议地址控制数量字节数数据区CRC校验码01 0f 01 90 00 0a ce 02 //遥控令应答成功发完遥控令后,必须发遥控复归令清零。
ModbusRtu规约解析

交采表Modbus Rtu规约报文解读以贵州沙陀电站的交采表为例,以下简单介绍一下Modbus Rtu的规约以及报文的解读。
沙陀电站交采使用的是爱博精电的Acuvim300系列;采集的数据经SDX800处理送到上位机系统。
SDX800通讯管理机配置如下:上图显示当前工程的SDX800串口1和2上分别挂了两块交采表,使用的是Modbus Rtu协议。
如上图,串口1取数据总共要分6次,每块表3次。
下图是Modbus Rtu的报文格式:Send: 02 03 03 11 00 01 D4 78Recv: 02 03 02 03 E8 FC FA以第一帧为例(此红色的Send:为SDX800向交采表发送的请求):Send: 01 03 03 00 00 04 44 4D ↑↑↑↑↑↑↑↑从机地址03功能码起始地址(2字节) 请求数据长度CRC校验上面的数据的意思为:向1#交采表请求读取寄存器(03功能码),从0x300地址(对应10进制为768),读取4个数据。
相应的交采表接收后,回应的报文为:Recv: 01 03 08 00 00 00 00 00 00 00 00 95 D7↑↑↑↑………...…………..↑↑↑从机地址功能码数据长度寄存器1~4的数据CRC校验从上面的报文可以看出SDX800和1#交采表通讯了3次,分别是:1,向地址768,连续请求4个字节的数据2,向地址773,连续请求11个字节的数据3,向地址785,请求1个字节的数据正好对应表上的配置协议地址框里填的数字,要和算出来的十进制数大1。
这应该是SDX800里面规定的。
我们可以看看这几位数值(也就是对应交采表里的寄存器)保存的是什么电气量,如图:可以看出,从300寄存器开始,分别是频率、A相,B相和C相的电压;具体细节,请参看交采表的用户手册。
在配置SDX800的时候,第一件要做的事就是这一步,本文不再赘述。
上图黄色区域就是返回给SDX800的数据。
电力系统常用通信规约简介

电力系统常用通信规约简介电力系统通信规约是指为了实现电力系统中各个设备之间的信息传输而制定的一系列规则和标准。
这些规约发挥了重要的作用,使得电力系统能够进行高效、可靠的信息传输,为电力系统的运行与管理提供了有力的支持。
本文将介绍电力系统中常见的通信规约及其特点。
1. Modbus通信协议Modbus通信协议是一种常见的工业通信协议,广泛应用于电力系统中各类自动化设备之间的通信。
Modbus通信协议具有简单易用、性能稳定等特点。
它定义了数据通信规约、数据传输方式、信息检验、网络传输容错处理等内容,通过网络传输数据实现设备之间的通信。
Modbus通信协议中包括了从机地址、功能码、寄存器地址、数据类型、数据长度等要素。
其中,从机地址和功能码用于识别被访问的设备及其数据类型,寄存器地址用于定位数据存储位置,数据类型和数据长度用于确定数据格式和数据长度。
Modbus通信协议可以基于串口、以太网等多种通信介质。
2. IEC 61850通信规约IEC 61850通信规约是指基于MMS(Manufacturing Message Specification,制造业信息规范)的一种通信规约,用于电力设备之间的通信。
IEC 61850通信规约标准化、模块化、灵活性高,可以实现快速、可靠的信息传输。
IEC 61850通信规约包括了各种功能模块,如GOOSE(Generic Object Oriented Substation Event,通用面向对象的变电站事件)和SV(Sampled Value,采样值)等。
其中,GOOSE是用于信息传递所需时间非常短的应用程序序列,主要负责保护数据传输。
SV则用于传输在每个采样周期内的电压、电流值等实时数据。
IEC 61850通信规约的优点在于可以实现快速、可靠的信息传输,从而提高了电力系统的可靠性和稳定性,减少了对设备维护的需求。
3. DNP3通信规约DNP3通信规约是DesignaNet协议的简称,是一个可靠性高、安全性强的通信协议,主要用于智能配电网、远程自动化和监控等领域。
四方MODBUS_TCP规约格式

四方MODBUS/TCP规约说明
本通信规约适用于发电厂电气自动化系统的转发工作站与其他外厂家之间的通信。
本规约符合标准的modbus TCP规约。
规约说明:
转发工作站Modbus/Tcp规约通讯参数说明
DCS系统为Modbus/Tcp主站TCP客户端,转发工程师站为Mosdbus/Tcp从站TCP服务端Modbus/Tcp从站地址为默认为0x11
以下的地址范围,指的是报文中的地址
01 数字量(遥信)----采用命令码01
默认遥信起始寄存器地址:0x00 0x01,即报文中遥信地址从1开始而不是0;
04 模拟量(遥测)----采用命令码04
默认遥测起始寄存器地址:0x03 0xe9(1001---)
03 模拟量(遥脉)----采用命令码03
默认遥脉起始寄存器地址:0x13 0x89(5001---)
05 遥控量----采用命令码05
遥控起始寄存器地址:0x00 0x00(0---)
模拟量的数据格式采用IEEE STD754“短浮点数”格式
即传输4字节短浮点数,占用两个寄存器。
格式采用,LowWord HiWord
LowWord:HiByte LowByte
HiWord:HiByte LowByte
其中Modbus从站地址,遥测、遥信、遥脉地址可设
(完)。
变电所Modbus与IEC 60870-5-103通信规约

变电所Modbus与IEC 60870-5-103通信规约变电所是电力系统中的重要组成部分,它起着电能传输、分配和转换的重要作用。
为了实现变电所内部各种设备之间的信息交互和控制管理,通信协议就显得尤为关键。
本文将介绍变电所中常用的通信协议之一——Modbus和IEC 60870-5-103通信规约,以及它们在变电所中的应用。
一、Modbus通信协议Modbus是一种串行通信协议,用于实现在工业领域中的设备之间的通信。
Modbus协议包括Modbus RTU和Modbus TCP两种形式,分别适用于串行通信和以太网通信。
Modbus通信协议基于主从架构,主机向从机发送查询命令,从机进行响应。
Modbus通信协议主要包括以下几个方面的内容:1. Modbus数据模型Modbus数据模型主要包括线圈(Coil)、输入线圈(Input Coil)、保持寄存器(Holding Register)和输入寄存器(Input Register)四种数据类型。
线圈和输入线圈是用于控制和监测的开关量数据类型,保持寄存器和输入寄存器是用于控制和监测的模拟量数据类型。
2. Modbus功能码Modbus通信协议中定义了一系列功能码,用于实现不同的功能操作,如读取线圈状态、读取输入线圈状态、读取保持寄存器、读取输入寄存器等。
3. Modbus协议格式Modbus通信协议的数据帧格式分为Modbus RTU格式和Modbus TCP格式,其中Modbus RTU格式使用二进制进行数据传输,Modbus TCP格式则采用了TCP/IP协议进行数据传输。
二、IEC 60870-5-103通信规约IEC 60870-5-103通信规约是针对远动终端和主站之间的通信而制定的一种通信规约。
该通信规约主要应用于电力系统中的远动通信和监控系统中,用于实现远端设备与主站之间的数据交互和控制管理。
IEC 60870-5-103通信规约主要包括以下几个方面的内容:1. IEC 60870-5-103数据模型IEC 60870-5-103通信规约定义了一种数据模型,包括单点信息、双点信息、归一化值、标度值、步位置信息等数据类型,用于描述远端设备的状态和参数信息。
ModBus通讯规约-16k

ModBus_RTU通讯规约(本协议采用主从问答方式)ModBus通讯协议:ModBus通讯规约允许TDS系列仪表/变送器与施耐德、西门子、AB、GE等多个国际著名品牌的可编程顺序控制器(PLC)、RTU、SCADA系统、DCS或与第三方具有ModBus兼容的监控系统之间进行信息交换和数据传送。
TDS系列仪表/变送器只要简单地增加一套基于计算机(或工控机)的监控软件(如:组态王、Intouch、FIX、synall等)就可以构成一套工况监控系统。
广泛的系统集成:TDS表/变送器提供了标准的RS-485/422通讯接口及ModBus通讯协议,这个通讯协议已广泛被国内外工控行业作为系统集成的标准。
通讯数据的类型及格式:信息传输为异步方式,并以字节为单位。
在主站和从站之间传递的通讯信息是11位的字格式:(1位起始位,8位数据位,2位停止位,无奇偶校验)若特殊需要(订货时请注明要求),主站和从站之间传递的通讯信息也可采用10位的字格式:(1位起始位,8位数据位,1位停止位)●通讯数据(信息帧)格式★注:1、1个字节由8位二进制数组成(既8 bit)。
2、ModBus是Modicon公司的注册商标。
3、“从机”在本文件中既为TDS。
通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,在CRC校验无误情况下,从机地址与地址码相符的从机接收通讯命令(TDS表以本机的地址码和功能码2个字节作为同步字),并根据功能码及相关要求处理信息,执行相应的任务,然后把执行结果(数据)返送给主机。
返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。
如果CRC校验出错就不返回任何信息。
TDS表使用的MODBUS功能码(16进制)地址码:地址码是每次通讯信息帧的第一字节(8位),从01H到FFH。
每个从机都必须有唯一的地址码。
所有地址的从机都将接收由主机发送来的信息,只有符合地址码的从机才响应要求,回送信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
modbus规约
Modbus规约是一种使用在串行通信以及工业以太网网络中的通信协议,由Modicon公司于1979年提出,并于1985年开始广泛使用。
它是最广泛使用的工业控制协议,用于不同的可编程逻辑控制器和计算机之间的信息交互。
Modbus支持多种数据类型,包括单字节,双字节或双字,以及32个字节的浮点数。
Modbus协议采用了简单可靠的客户端/服务器通信框架,服务器负责处理请求和处理器的状态数据,客户端用于发送控制信息并接收状态数据。
Modbus主要有三种不同的实现:Modbus RTU,Modbus ASCII 和Modbus TCP/IP。
Modbus RTU是一种基于串行通信协议,它使用2进制字符作为数据传输格式,由Modbus介质访问控制器(MAC)来提供控制。
它使用RJ-45连接器实现全双工的物理连接,可以有效的降低电缆的复杂度,并且可以支持广泛的通信范围。
Modbus RTU使用书报文格式定义功能码,以及读/写寄存器或记录缓冲器,可以用来编程仪器或控制器,包括控制器,控制器,电表和传感器等。
Modbus ASCII是基于串行通信网络的另一种协议,它使用7位ASCII字符作为数据传输格式,并在结构上与Modbus RTU类似。
Modbus ASCII可以使用两种不同的物理连接,第一种是RS-232,它使用一根电缆,第二种是RS-485,它使用分组线,可以支持最多20个设备。
Modbus ASCII也可以使用功能码来定义,读/写寄存器或记录缓冲器,它不仅可以编程仪器或控制器,还可以实现诸如控制应用,表格插入
/提取等功能。
Modbus TCP/IP是一种基于以太网的协议,它使用8位字节报文格式进行传输,并且可以支持大量设备连接到一个以太网网络中。
Modbus TCP/IP采用定义的功能码像Modbus RTU和Modbus ASCII一样,允许客户端服务器在以太网上读取/写入寄存器或记录缓冲器,
用于仪器及控制器的编程等功能。
Modbus规约是经过长期实践检验和发展的成熟标准,它为使用
者提供了一种灵活的,可靠的通信协议,可以实现多种不同的功能和应用,包括控制器,电表,传感器等。
它采用传统的客户端/服务器
框架,实现跨越不同连接技术和应用之间的信息交换,以满足不同场景下的应用需求。
Modbus规约中的协议定义是一种可扩展的标准,它不仅可以支
持多种不同的通信技术,还能支持多种不同的格式数据类型,如单字节,双字节或双字,以及32位浮点数等。
它的灵活性和可靠性使其
成为当今工业通信技术的首选标准。
在推动工业自动化发展的过程中,Modbus规约得到了广泛的应用,为各行业提供了更多高效的服务。