1、Modbus RTU从站地址域为一个字节,公司直流屏系统地址固定为 0x03,其响应网络数据帧中地址域数据与自身地址相等的数据信息命令。2.2功能码域Modbus RTU通讯协议中功能码域包括一个字节,有关本公司直流系统功能码参见下表功能码含义功能描述0x01读取开关量输出读取公司直流系统内一个或多个继电器 (实际输出)0x02读取开关量输入读取公司直流系统内一个或多个开关输入状态0x03读取寄存器读取公司直流系统内一个或多个寄存器值0x04读取输入寄存器读取公司直流系统内一个或多个变量0x05写单个线圈设定公司直流系统内单个实际输出0x10设置寄存器设置公司直流系统内一个或多个寄存器值2.3
2、数据域Modbus RTU通讯协议数据域长度不定,视具体情况而定 .数据域中数据采用高字节在前,低字节在后的传输顺序,例如:一个16位寄存器包含数据为 0x12BC,该寄存器数据发送顺序为:高位字节:0x12 低位字节:0xBC2.4校验域公司直流系统 Modbus RTU通讯协议采用16位CRC校验,传输时低字节在前,高字节在后01H读线圈状态数据帧格式(主机-从机)从站地址1字节功能码01H位数据请求开始地址2字节位请求个数CRC校验码应答01H数据帧(从机-主机)字节数(字节记数器)位数据n字节01功能码可由上位机发送请求本通讯转换器中的一个或多个线圈(实际输出)状态,返回实际输出 点接
3、通/断开状态。具体实例:1查询查询信息规定了要读的起始线圈和线圈量, 线圈的起始地址为零,1-16个线圈的寻址地址分为 0-15。例:请求从机设备17读20-56线圈。Slave Address 11Function 01Starting Address Hi 00Starting Address Lo 13No. of Points Hi 00No. of Roints Lo 25Error Check (LRC or CRC) 2响应响应信息中的各线圈的状态与数据区的每一位的值相对应, 仁ON; 0=OFF。第一个数据字节的LSB为查询中的寻址地址, 其他的线圈按顺序在该字节中由低位向高位
4、排列,直至 8个为止,下一个字节也是从低位向高位排例。 若返回的线圈数不是 8的倍数,则在最后的数据字节中的剩余位至字节的最高位全部填零,字节数区说明全部数据的字节数Byte Count 05Data (Coils 27-20) CDData (Coils 35-28) 6BData (Coils 43-36) B2Data (Coils 51-44) 0EData (Coils 56-52) 1B注释:线圈27-20的状态用CDH表示,二进制值为11001101,该字节的MCB为线圈27, LSB为 20。线圈从左(27)向右(20)状态分别为ON-ON-OFF-OFF-ON-ON-OFF-
5、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。02H读接点状态数据帧格式(主机-从机)功能码02H应答02H数据帧(从机02功能码可由上位机发送请求本通讯转换器中的一个或多个接点(实际输入)状态,返回实际输入 点接通/断开状态。具体实例0,1-16个输入口查询信息规定了
6、要读的输入起始地址,以及输入信号的数量。输入起始地址为 的地址分别为0-15。请求读从机设备 17的10197-10218的输入位状态。Function 02Starting Address Lo C4No. of Roints Lo 16响应信息中的各输入口的状态,分别对应于数据区中的每一位值, 1 = ON; 0 = OFF,第一个数据字节的LSB为查询中的寻址地址, 其他输入口按顺序在该字节中由低位向高位排列, 直至8个位为止。下一个字节中的 8个输入位也是从低位到高位排列。 若返回的输入位数不是 8的倍数,则在最后的数据字节中的剩余位直至字节的最高位全部填零。 字节的最高位,字节数区。
7、说明了全部数据的字节数。Byte Count 03Data (Inputs 10204-10197) ACData (Inputs 10212-10205) DBData (Inputs 10218-10213) 35Error Check (LRC or CRC) -输入位10204-10197的状态用 35H (或二进制00110101)表示。输入位 10218为左数第 3位, 10213输入位为LSB,输入位10218-10213的状态分别为 ON-ON-OFF-ON-OFF-ON,注意最位还有 2个 剩余位需填零。请求读从机设备 17的108,109,110三个地址的变量值。03H读寄
8、存器数据帧格式(主机 -从机)1字节功能码03H数据请求开始地址2寄存器请求个数查询信息规定了要读的寄存器起始地址及寄存器的数量, 对应的地址分别为 0-15应答03H数据帧(从机字节数(2*应答寄存器数)第一个寄存器数据寄存器寻址起始地址为 0000,寄存器1-16所03功能码可由上位机发送请求本通讯转换器中的有效寄存器 ,数据发送顺序示例:响应信息中的寄存器数据为二进制数据, 每个寄存器分别对应 2个字节,第一个字节为高位值数据,第二个字节为低位数据。 例按查询要求返回响应。寄存器40108的数据用022BH 2个字节(或用十进制555)表示,寄存器40109-40110中的数 据为000
9、0和0064H,(十进制时为0和100)响应信息中的模拟量数据为二进制数据, 每个模拟量分别对应 2个字节,第一个字节为高位值数据,模拟量30108的数据用022BH 2个字节(或用十进制555)表示,模拟量30109-30110中的数 据为0000和0064H,(十进制时为0和100)2.7功能域中04命令示例:Slave Address11FunctionByte CountData Hi (Register 40108)Data Lo(Register 40108)Data Hi(Register 40109)Data Lo(Register 40109)Data Hi(Register
10、 40110)Data Lo(Register 40110)0406022B0064Error Check (LRC or CRC),数据发送顺序示例:04功能码可由上位机发送请求本通讯转换器中的有效模拟量值/断05功能码可由上位机发送设置本通讯转换器中的一个线圈(实际输出)状态,返回实际输出点接通 开状态。线圈为强制状态后即返回正常响应Coil Address HiCoil Address LoForce Data HiForce Data Lo按查询要求返回响应05ACFF把数据按顺序预置到各 (4X类型)寄存器中,信息中规定了要预置的寄存器类型,寄存器寻址的起始地址为0,寄存器1寻址地址为0。查询数据区中指定了寄存器的预置值, M84和484型控制器使用10位二进制数据,2个字节,剩余的高 6位置0。而其他类型的控制器使用一个 16位二进制数据, 每个寄存器2个字节。请求在从机设备17中的2个寄存器中放入预置值,起始寄存器为40002,预置值 为 00 0AH 和 01 02H。Function 10Starting Address HiStarting Address LoNo. of Registers Hi01No. of Registers LoData HiData Lo0A正常响应返回从机地址,功能代码和起始地址和预置寄存器数。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1