公司Modbus通讯协议部分功能码描述:
本通讯协议描述了公司GZDW直流屏监控系统在Modbus RTU通讯模式下的信息传输,输入输出命令格式和数据地址的定义,以方便第三方使用和开发,保证信息和数据在上位监控计算机和公司直流屏系统之间有效的传输。
1.物理接口:
1.1 串行通讯口采用RS485方式。
1.2 信息传输方式采用半双工异步方式,起始位1位,数据位8位,无校验,停止位1位。
1.3 数据传输速率为9600bps(默认), 存在选项.
1.4 在现场总线设备中,GZDW直流屏通讯口作从站.
2.本通讯转换器支持的MODBUS RTU通讯帧结构解释:符合标准Modbus RTU通讯协议格式
每个Modbus通讯帧由以下几个部分组成:
1)地址域
2)功能域
3)数据域
4)校验域
数据发送顺序:
地址域(1 Byte)功能域(1 Byte)数据域(N Byte)校验域(2 Byte)
2.1地址域
Modbus RTU从站地址域为一个字节,公司直流屏系统地址固定为0x03 ,其响应网络数据帧中地址域数据与自身地址相等的数据信息命令。
2.2 功能码域
功能码含义功能描述
0x01 读取开关量输出读取公司直流系统内一个或多个继电器(实际输出) 0x02 读取开关量输入读取公司直流系统内一个或多个开关输入状态0x03 读取寄存器读取公司直流系统内一个或多个寄存器值
0x04 读取输入寄存器读取公司直流系统内一个或多个变量
0x05 写单个线圈设定公司直流系统内单个实际输出
0x10 设置寄存器设置公司直流系统内一个或多个寄存器值
2.3 数据域
Modbus RTU通讯协议数据域长度不定,视具体情况而定.数据域中数据采用高字节在前,低字节在后的传输顺序,例如:
一个16位寄存器包含数据为0x12BC,该寄存器数据发送顺序为:
高位字节:0x12
低位字节:0xBC
2.4 校验域
公司直流系统Modbus RTU通讯协议采用16位CRC校验,传输时低字节在前,高字节在后
2.5功能域中01命令示例:
01功能码可由上位机发送请求本通讯转换器中的一个或多个线圈(实际输出)状态,返回实际输出点接通/断开状态。
具体实例: 1> 查询
查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16 个线圈的寻址地址分为0-15。例:请求从机设备17 读20-56 线圈。
Slave Address 11 Function 01 Starting Address Hi 00 Starting Address Lo
13 No. of Points Hi 00 No. of Roints Lo 25 Error Check (LRC or CRC) ----
2> 响应
响应信息中的各线圈的状态与数据区的每一位的值相对应, 1=ON; 0=OFF 。第一个数据字节的LSB 为查询中的寻址地址, 其他的线圈按顺序在该字节中由低位向高位排列,直至8 个为止, 下一个字节也是从低位向高位排例。 若返回的线圈数不是8 的倍数,则在最后的数据字节中的剩余位至字节的最高位全部填零,字节数区说明全部数据的字节数
Slave Address 11 Function 01 Byte Count 05 Data (Coils 27-20) CD Data (Coils 35-28) 6B Data (Coils 43-36) B2 Data (Coils 51-44) 0E Data (Coils 56-52) 1B Error Check (LRC or CRC) -----
注释: 线圈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 是左数第4 位,线圈52 是该字节的最低位, 所线圈56 至52 的状态分别为ON-ON-OFF-ON-ON 注意3 个剩余位(至最高位的数)全部填0。
2.6功能域中02命令示例
02功能码可由上位机发送请求本通讯转换器中的一个或多个接点(实际输入)状态,返回实际输入
点接通/断开状态。
具体实例
1>查询
查询信息规定了要读的输入起始地址,以及输入信号的数量。输入起始地址为0,1-16 个输入口的地址分别为0-15。
例:请求读从机设备17 的10197-10218 的输入位状态。
Slave Address 11
Function 02
Starting Address Hi 00
Starting Address Lo C4
No. of Points Hi 00
No. of Roints Lo 16
Error Check (LRC or CRC) ----
2>响应
响应信息中的各输入口的状态,分别对应于数据区中的每一位值,1 = ON; 0 = OFF,第一个数据字节的LSB 为查询中的寻址地址,其他输入口按顺序在该字节中由低位向高位排列,直至8 个位为止。下一个字节中的8 个输入位也是从低位到高位排列。若返回的输入位数不是8 的倍数,则在最后的数据字节中的剩余位直至字节的最高位全部填零。字节的最高位,字节数区。说明了全部数据的字节数。
Slave Address 11
Function 02
Byte Count 03
Data (Inputs 10204-10197) AC
Data (Inputs 10212-10205) DB
Data (Inputs 10218-10213) 35
Error Check (LRC or CRC)----
注释: 输入位10204-10197 的状态用35H (或二进制00110101) 表示。输入位10218 为左数第3 位,10213 输入位为LSB,输入位10218-10213 的状态分别为ON-ON-OFF-ON-OFF-ON,注意最位还有2 个剩余位需填零。
2.7功能域中03命令示例:
03功能码可由上位机发送请求本通讯转换器中的有效寄存器, 数据发送顺序示例: