Modbus通讯协议书范本.doc

上传人:夺命阿水 文档编号:13699 上传时间:2022-06-28 格式:DOC 页数:9 大小:152.50KB
返回 下载 相关 举报
Modbus通讯协议书范本.doc_第1页
第1页 / 共9页
Modbus通讯协议书范本.doc_第2页
第2页 / 共9页
Modbus通讯协议书范本.doc_第3页
第3页 / 共9页
Modbus通讯协议书范本.doc_第4页
第4页 / 共9页
Modbus通讯协议书范本.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Modbus通讯协议书范本.doc》由会员分享,可在线阅读,更多相关《Modbus通讯协议书范本.doc(9页珍藏版)》请在课桌文档上搜索。

1、 Modbus通讯协议简化1 Modbus协议概述 Modbus协议是主从站通讯协议,用异步串行口完成通讯,物理层采用RS485或RS232。传输速率可以达到115kbps,理论上可接寻址一台主站和至多247台从站。受线路和设备的限制,最多可接一台主站和32台从站。Modbus协议的某些特性是固定的,如帧格式、帧顺序、通讯错误和异常情况的处理,以与所执行的功能等,都不能随便改动。其他特性属于用户可选的,如传输介质、波特率、字符奇偶校验、停止位的个数等等,传输模式为RTU。用户所选择的参数对于各个站必须一致,在系统运行时不能改变。1.1 Modbus协议传输模式 Modbus的传输模式:RTU方

2、式。 表1-1 RTU传输模式的特性特性RTU编码系统十六进制每个字符的位数起始位1位数据位8位奇偶校验位0或1位停止位1或2位校验和CRC循环冗余校验1.2 帧Modbus协议的帧报文格式:RTU帧。下表是RTU传输模式的一般格式命令帧。从站地址功能码数据校验和8位8位N*8位16位2 Modbus协议2.1 通讯方式Modbus有两种通讯方式:应答方式和广播方式。应答方式是主站向某个从站地址1247发出命令,然后等待从站的应答;从站接到主站命令后,执行命令,并将执行结果返回给主站作为应答,然后等待下一个命令。广播方式是主站向所有从站发送命令从站地址为0,不需要等待从站应答;从站接到广播命令

3、后,执行命令,也不向主站应答。除了会送诊断校验外,只有05、06、15、16这四项功能见2.3对广播方式有效。2.2 Modbus帧Modbus的帧按应答方式分为命令帧询问帧和应答帧。命令帧为一般格式命令帧,应答帧有显长度帧和隐长度帧之分,图2-1、2-3、2-4给出了典型的帧格式。从站地址功能码数据校验和数据起始存放器高位数据起始存放器地位数据存放器高位数据存放器地位图2-1 一般格式命令帧从站地址功能码数据长度数据校验和图2-3 显长度应答帧从站地址功能码数据校验和图2-4 隐长度应答帧2.2.1 从站地址字段帧中的从站地址字段表示接收主站报文的从站地址。当从站地址字段为0时,表示所有从站

4、,此时的报文是广播报文。用户必须设定每台从站的专用地址。只有被编址的设备才能对主机的命令询问做出应答。从站发送应答报文时,报文中地址的作用是向主站报告正在通讯的是哪台从站。2.2.2 功能码字段 功能码字段同志从站应执行何种功能。表2-1列出了功能码的意义和作用。2.3节给出了各个功能码对应报文的详细格式和功能。 表2-1 Modbus功能码功能码名称作用对主站而言01读取开出状态取得一组开关量输出的当前状态02读取开入状态取得一组开关量输入的当前状态03读取模出状态取得一组模拟量输出的当前状态04读取模入状态取得一组模拟量输入的当前状态05强制单路开出强制设定某个开关量输出的值06强制单路模

5、出强制设定某个模拟量输出的值07读取异常状态取得从站的一些状态8位08回送诊断校验把诊断校验报文送从站,以对通讯处理进展评鉴09编程主机模拟编程器的作用,修改从站逻辑10探询定期探询从站是否已完成某长程序任务11读取事件计数取得通讯状态和通讯事件的次数12读取通讯事件记录取得通讯状态、事件次数、报文数量和至多64个事件13编程主机模拟编程器的作用,修改从站逻辑14探询定期探询从站是否已完成某长程序任务15强制多路开出强制设定从站几个开关量输出的值16强制多路模出强制设定从站几个模拟量输出的值17报告从站标识取得从站类型和运行指示灯的状态18编程主机模拟编程器的作用,修改从站逻辑19重置通讯链路

6、使从站复位于状态20-72保存留作扩展功能备用73-119非法功能120-127保存留作部使用128-255保存用作异常应答2.2.2 数据长度字段数据长度字段记录的是随后的数据字段的长度,单位为字符字节。数据字段的长度总是被规定为RTU模式下数据字符的总数,数据字符的数量总是按RTU模式下的数据字符计算。2.2.4 数据字段数据字段含有从站执行某项具体功能的信息,或者含有从站应答询问的信息。这些信息可以是数值、地址参数或围,例如,从哪路开关量或存放器开始,处理几个开关位或存放器、开关量或存放器的值等等。2.2.5 校验和字段校验和字段用于检查通讯报文在通讯线路中是否出错。RTU模式传送时,用

7、CRC-16,参见附录A。2.3功能码2.3.1读取开出状态功能码01本功能可使主站获得被编址从站的开关量输出的通断状态。起始地址是指从哪一路开关量开始编号从0开始,数据线圈数是指读取几路。应答帧中的数据是按上述要求读取的开关量数据每路一位,每8位组成一个字节,最后一个字节的不足局部补0。本功能不支持广播方式。以下例子是读取17号从站开关量输出020-056的状态,读出的37位组成5个字节,最后一个字节的高三位补0。询问RTU帧:从站地址功能码起始地址高位起始地址低位数据线圈数高位数据线圈数低位校验和CRC11H01H00H13H00H25H0EH 84H应答RTU帧:从站地址功能码字节计数数

8、据校验和CRC11H01H05HCDH 6BH B2H 0EH 1BH45H E6H2.2.3 读取开入状态功能码02本功能可使主站获得被编址从站的开关量输入的通断状态。起始地址是指从哪一路开关量开始编号从0开始,数据线圈数是指读取几路。应答帧中的数据是按上述要求读取的开关量数据每路一位,每8位组成一个字节,最后一个字节的不足局部补0。本功能不支持广播方式。以下例子是读取17号从站开关量输入0197-0218的状态,读出的22位组成3个字节,最后一个字节的高2位补0。询问RTU帧:从站地址功能码起始地址高位起始地址低位数据线圈数高位数据线圈数低位校验和CRC11H02H00HC4H00H16H

9、BAH A9H应答RTU帧:从站地址功能码字节计数数据校验和CRC11H02H03HACH DBH 35H20H 18H2.2.4 读取模出状态功能码03本功能可使主站获得被编址从站的模拟量输出的通断状态。起始地址是指从哪一路模拟量开始编号从0开始,存放器数是指读取几路模拟量每路模拟量2个字节,高位在前,低位在后。应答帧中的数据是按上述要求读取的模拟量数据。本功能不支持广播方式。以下例子是读取17号从站模出点0108-0110的状态。应答数据高字节在前。108是555,109是0,110是100。询问RTU帧:从站地址功能码起始地址高位起始地址低位存放器数高位存放器数低位校验和CRC11H03

10、H00H6BH00H03H76H 87H应答RTU帧:从站地址功能码字节计数数据校验和CRC11H03H06H02H 2BH 00H 00H 00H 64HCBH BAH2.2.5 读取模入状态功能码04本功能可使主站获得被编址从站的模拟量输入值。起始地址是指从哪一路模拟量开始编号从0开始,存放器数是指读取几路模拟量每路模拟量2个字节,高位在前,低位在后。应答帧中的数据是按上述要求读取的模拟量数据。本功能不支持广播方式。以下例子是读取17号节点的模入点0108-0110的状态。应答数据高字节在前。108是555,109是0,110是100。询问RTU帧:从站地址功能码起始地址高位起始地址低位存

11、放器数高位存放器数低位校验和CRC11H04H00H6BH00H03HC3H 47H应答RTU帧:从站地址功能码字节计数数据校验和CRC11H04H06H02H 2BH 00H 00H 00H 64H5C 89H2.2.6 强制单路开出功能码05本功能可使主站强行设定被编址从站某路开关量输出的通断状态。从站部的任何一路开关量均能被强制。起始地址是指设定开关量的哪一路编号从0开始,数据用于设定开或关:FF为开,0为关,其他值为非法值。正常应答是将报文原文发回。从站地址为0时,为广播方式。以下例子是强制17号从站开出点173为ON。询问RTU帧:从站地址功能码起始地址高位起始地址低位数据开关原状态

12、校验和CRC11H05H00HACHFFH00H4EH 8BH应答RTU帧:从站地址功能码起始地址高位起始地址低位数据开关原状态校验和CRC11H05H00HACHFFH00H4EH 8BH2.2.7 强制单路模出功能码06本功能可使主站强行设定被编址从站某路模拟量输出的值。从站部的任何一路模拟量均能被强制。起始地址是指设定哪一路模拟量编号从0开始,数据用于设定该模拟量的值高位在前,低位在后。正常应答是将报文原文发回。从站地址为0时,为广播方式。以下例子是强制17号从站模出点136为039EH。询问RTU帧:从站地址功能码起始地址高位起始地址低位数据高位数据低位校验和CRC11H06H00H8

13、7H03H9EHBAH 2BH应答RTU帧:从站地址功能码起始地址高位起始地址低位数据高位数据低位校验和CRC11H06H00H87H03H9EHBAH 2BH2.2.8 强制多路开出功能码15本功能可使主站强行设定被编址从站一组连续开关量输出的通断状态。从站部的任何开出量均能被强制。起始地址是从哪一路开关量开始编号从0开始,存放器数是指设定几路。字节计数是指随后的线圈状态开关量设定值的字节数。线圈状态是设定的开出值,每一路开出占用一位1为开,0为关,每八位组成一个字节,最后一个字节的不足局部补0。正常应答容是回送从站地址、功能码、起始地址和强置的开关量数。从站地址为0时,为广播模式。以下例子

14、是强置17号从站开关量输出0020-0029的状态,设定值CD11001101和0000000000表示开关量输出的第27、26、23、22和20将被强置为开状态。询问RTU帧:从站地址功能码起始地址高位起始地址低位存放器数高位存放器数低位字节计数数据校验和CRC11H0FH00H13H00H 0AH 02H CDH 00H7EH CBH应答RTU帧:从站地址功能码起始地址高位起始地址低位存放器数高位存放器数低位校验和CRC11H0FH 00H13H00H0AH26H 99H2.2.9 强制多路模出功能码16本功能可使主站强行设定被编址从站一组连续模拟量输出的值。从站部的任何模出量均能被强制。

15、起始地址是从哪一路模拟量开始编号从0开始,存放器数是指设定几路。字节计数是指随后的数据模拟量设定值的字节数。数据是设定的模出值,每一路模出两个字节高位在前,低位在后。正常应答容是回送从站地址、功能码、起始地址和强置的模拟量数。从站地址为0时,为广播模式。以下例子是强置17号从站模拟量输出0136-0137的状态,设定值0136为000A,设定0137为0102。询问RTU帧:从站地址功能码起始地址高位起始地址低位存放器数高位存放器数低位字节计数数据校验和CRC11H10H00H87H00H 02H04H 00H 0AH 01H 02H4EH BAH应答RTU帧:从站地址功能码起始地址高位起始地

16、址低位存放器数高位存放器数低位校验和CRC11H10H 00H87H00H02HF3H 71H附录A 循环冗余校验 CRC码算法生成CRC-16校验字节的步骤如下:1 装入一个16位存放器,所有数位均为1。2 装16位存放器的低位字节与开始8位字节进展“异或运算。运算结果放入这个16位存放器。3 把这个16位存放器向右移1位。4 假设向右标记位移出的数位是1,那么生成多项式00001和这个存放器进展异或运算。假设向右移出的数位是0,那么返回3。5 重复3和4,直到移出8位。6 另外8位与该16位存放器进展“异或运算。7 重复3-6,直至该报文所有字节均与16位存放器进展“异或运算,并移位8次。

17、8 这个16位存放器的容即是2字节CRC校验值。附录B数据通道表不同的数据通道表应由数据传送方提供,表格式如下表数据名称、数据地址、取值围应根据实际而定序号数据名称数据类型功能码数据地址传输方向缩放倍数取值围1模拟量116位二进制,有符号整数0x0340001主站 子站12000-21002模拟量20x0340002主站 子站0.51-1003模拟量30x0340003主站 子站0.50-504模拟量40x0340004主站 子站10-235模拟量50x0340005主站 子站0.010-99996模拟量60x0340006主站 子站0.010-9997模拟量70x0340007主站 子站0.

18、1200-2108模拟量80x0340008主站 子站11-12序号数据名称功能码数据地址传输方向取值围1开关量10X0210001主站 子站0/12开关量20X0210002主站 子站0/13开关量30X0210003主站 子站0/14开关量40X0210004主站 子站0/15开关量50X0210005主站 子站0/16开关量10x0210001主站 子站12000-21002模拟量20x1040102主站 子站0.51-1003模拟量30x1040103主站 子站0.50-504模拟量40x1040104主站 子站10-235模拟量50x1040105主站 子站0.010-99996模拟量60x1040106 主站 子站0.010-9997模拟量70x1040107主站 子站0.1200-2108模拟量80x1040108主站 子站11-12序号数据名称功能码数据地址传输方向取值围1开关量10X0A00001主站 子站0/12开关量20X0A00002主站 子站0/13开关量30X0A00003主站 子站0/14开关量40X0A00004主站 子站0/15开关量50X0A00005主站 子站0/16开关量10x0210001主站 子站0/1.9 / 9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号