Modbus协议和点表.doc

上传人:灯火****19 文档编号:136881287 上传时间:2020-07-03 格式:DOC 页数:90 大小:2.94MB
返回 下载 相关 举报
Modbus协议和点表.doc_第1页
第1页 / 共90页
Modbus协议和点表.doc_第2页
第2页 / 共90页
Modbus协议和点表.doc_第3页
第3页 / 共90页
Modbus协议和点表.doc_第4页
第4页 / 共90页
Modbus协议和点表.doc_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《Modbus协议和点表.doc》由会员分享,可在线阅读,更多相关《Modbus协议和点表.doc(90页珍藏版)》请在金锄头文库上搜索。

1、公司Modbus通讯协议部分功能码描述:本通讯协议描述了公司GZDW直流屏监控系统在Modbus RTU通讯模式下的信息传输,输入输出命令格式和数据地址的定义,以方便第三方使用和开发,保证信息和数据在上位监控计算机和公司直流屏系统之间有效的传输。1.物理接口:1.1 串行通讯口采用RS485方式。1.2 信息传输方式采用半双工异步方式,起始位1位,数据位8位,无校验,停止位1位。1.3 数据传输速率为9600bps(默认), 存在选项.1.4 在现场总线设备中,GZDW直流屏通讯口作从站.2.本通讯转换器支持的MODBUS RTU通讯帧结构解释:符合标准Modbus RTU通讯协议格式 每个M

2、odbus通讯帧由以下几个部分组成:1) 地址域2) 功能域3) 数据域4) 校验域数据发送顺序:地址域(1 Byte)功能域(1 Byte)数据域(N Byte)校验域(2 Byte)2.1地址域Modbus RTU从站地址域为一个字节,公司直流屏系统地址固定为0x03 ,其响应网络数据帧中地址域数据与自身地址相等的数据信息命令。2.2 功能码域Modbus RTU通讯协议中功能码域包括一个字节,有关本公司直流系统功能码参见下表:功能码含义功能描述0x01读取开关量输出读取公司直流系统内一个或多个继电器(实际输出)0x02读取开关量输入读取公司直流系统内一个或多个开关输入状态0x03读取寄存

3、器读取公司直流系统内一个或多个寄存器值0x04读取输入寄存器读取公司直流系统内一个或多个变量0x05写单个线圈设定公司直流系统内单个实际输出0x10设置寄存器设置公司直流系统内一个或多个寄存器值2.3 数据域 Modbus RTU通讯协议数据域长度不定,视具体情况而定.数据域中数据采用高字节在前,低字节在后的传输顺序,例如: 一个16位寄存器包含数据为0x12BC,该寄存器数据发送顺序为: 高位字节:0x12 低位字节:0xBC2.4 校验域 公司直流系统Modbus RTU通讯协议采用16位CRC校验,传输时低字节在前,高字节在后2.5功能域中01命令示例: 01功能码可由上位机发送请求本通

4、讯转换器中的一个或多个线圈(实际输出)状态,返回实际输出点接通/断开状态。01H读线圈状态数据帧格式(主机-从机)从站地址1 字节功能码01H1 字节位数据请求开始地址2 字节位请求个数2 字节CRC校验码2 字节应答01H数据帧(从机-主机)从站地址1 字节功能码01H1 字节字节数(字节记数器)1 字节位数据n 字节CRC校验码2 字节具体实例:1 查询查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16个线圈的寻址地址分为0-15。例:请求从机设备17读20-56线圈。 SlaveAddress 11Function 01StartingAddressHi 00Starti

5、ngAddressLo 13No.ofPointsHi 00No.ofRointsLo 25ErrorCheck(LRCorCRC) -2 响应 响应信息中的各线圈的状态与数据区的每一位的值相对应,1=ON;0=OFF。第一个数据字节的LSB为查询中的寻址地址,其他的线圈按顺序在该字节中由低位向高位排列,直至8个为止,下一个字节也是从低位向高位排例。若返回的线圈数不是8的倍数,则在最后的数据字节中的剩余位至字节的最高位全部填零,字节数区说明全部数据的字节数SlaveAddress 11Function 01ByteCount 05Data(Coils27-20) CDData(Coils35-

6、28) 6B Data(Coils43-36) B2Data(Coils51-44) 0EData(Coils56-52) 1BErrorCheck(LRCorCRC) - 注释: 线圈27-20的状态用CDH表示,二进制值为11001101,该字节的MCB为线圈27,LSB为20。线圈从左(27)向右(20)状态分别为ON-ON-OFF-OFF-ON-ON-OFF-ON,因此第一个字节中的线圈从左到右应是27-20。下一个字节的线圈应为35至28。位数据串行转输从低位到高位,即20.27,28.35。最后一个数据字节中,56-52线圈的状态为1BH(或二进制00011011),线圈56是左数

7、第4位,线圈52是该字节的最低位,所线圈56至52的状态分别为ON-ON-OFF-ON-ON注意3个剩余位(至最高位的数)全部填0。2.6功能域中02命令示例02功能码可由上位机发送请求本通讯转换器中的一个或多个接点(实际输入)状态,返回实际输入点接通/断开状态。应答02H数据帧(从机-主机)从站地址1 字节功能码02H1 字节字节数(字节记数器)1 字节位数据n 字节CRC校验码2 字节02H读接点状态数据帧格式(主机-从机)从站地址1 字节功能码02H1 字节位数据请求开始地址2 字节位请求个数2 字节CRC校验码2 字节具体实例1查询 查询信息规定了要读的输入起始地址,以及输入信号的数量

8、。输入起始地址为0,1-16个输入口的地址分别为0-15。 例:请求读从机设备17的10197-10218的输入位状态。 SlaveAddress 11Function 02 StartingAddressHi 00StartingAddressLo C4No.ofPointsHi 00No.ofRointsLo 16ErrorCheck(LRCorCRC) -2响应 响应信息中的各输入口的状态,分别对应于数据区中的每一位值,1=ON;0=OFF,第一个数据字节的LSB为查询中的寻址地址,其他输入口按顺序在该字节中由低位向高位排列,直至8个位为止。下一个字节中的8个输入位也是从低位到高位排列。

9、若返回的输入位数不是8的倍数,则在最后的数据字节中的剩余位直至字节的最高位全部填零。字节的最高位,字节数区。说明了全部数据的字节数。 SlaveAddress 11Function 02 ByteCount 03Data(Inputs10204-10197) ACData(Inputs10212-10205) DBData(Inputs10218-10213) 35ErrorCheck(LRCorCRC) - 注释: 输入位10204-10197的状态用35H(或二进制00110101)表示。输入位10218为左数第3位,10213输入位为LSB,输入位10218-10213的状态分别为ON-

10、ON-OFF-ON-OFF-ON,注意最位还有2个剩余位需填零。2.7功能域中03命令示例:03功能码可由上位机发送请求本通讯转换器中的有效寄存器 , 数据发送顺序示例:03H读寄存器数据帧格式(主机-从机)从站地址1 字节功能码03H1 字节数据请求开始地址2 字节寄存器请求个数2 字节CRC校验码2 字节应答03H数据帧(从机-主机)从站地址1 字节功能码03H1 字节字节数(2*应答寄存器数)1 字节第一个寄存器数据2 字节第一个寄存器数据2 字节 CRC校验码2 字节具体实例1查询 查询信息规定了要读的寄存器起始地址及寄存器的数量,寄存器寻址起始地址为0000,寄存器1-16所对应的地

11、址分别为0-15 例:请求读从机设备17的108,109,110三个地址的变量值。 SlaveAddress 11Function 03 StartingAddressHi 00StartingAddressLo 6BNo.ofPointsHi 00No.ofRointsLo 03ErrorCheck(LRCorCRC) -2响应 响应信息中的寄存器数据为二进制数据,每个寄存器分别对应2个字节,第一个字节为高位值数据,第二个字节为低位数据。例按查询要求返回响应。 SlaveAddress 11Function 03ByteCount 06DataHi(Register40108) 02DataLo(Register40108) 2BDataHi(Register4010

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号