




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录第1章 概述11.1 Modbus概述11.2 传输模式11.2.1 代码域11.2.2 数据域2第2章 Modbus串行32.1 概述32.2 帧格式32.2.1 从站地址32.2.2 错误检测域3第3章 Modbus TCP43.1 概述43.2 帧格式4第4章 宽屏无纸记录仪的Modbus协议54.1 支持的功能码54.2 数据类型54.3 Modbus变量地址列表5第5章 仪表的Modbus变量75.1 宽屏无纸记录仪支持列表7第6章 命令实例及解释86.1 功能码01(0x01):读取一组开关量86.2 功能码03(0x03):读一个或多个寄存器86.3 功能码05(0x05):写一个开关量96.4 功能码06(0x06):写一个寄存器96.5 功能码15(0x0F):写多个开关量96.6 功能码16(0x10):写多个寄存器10附录1 异常代码11附录2 CRC检测12附录2.1 CRC 校验12附录2.2 函数实现12附录3 通讯格式14附录4 实时变量地址分布明细15附录4.1 AI工程量15附录4.2 AI报警状态15附录4.3 DI输入状态19附录4.4 FI工程量19附录4.5 FI报警状态19附录4.6 AO工程量20附录4.7 DO输出状态20附录4.8 PWM输出状态21附录4.9 VA工程量21附录4.10 VA报警状态21附录4.11 VD运算状态23附录4.12 AC工程量24附录4.13 FLOW工程量25附录4.14 FLOW报警状态(目前还不支持该类型)25附录4.15 TIM运算状态26附录4.16 PID回路SV27附录4.17 PID回路MV27附录4.18 PID回路偏差报警27附录4.19 PID回路状态27附录4.20 PID回路手自动28附录4.21 PID回路内外给定28附录4.22 PID整定28附录4.23 PID回路参数28附录4.24 保留29附录4.25 ONOFF回路状态29附录4.26 ONOFF手自动29附录4.27 ONOFF内外给定29附录4.28 ONOFF偏差报警29附录4.29 ONOFF SV30附录4.30 ONOFF MV30附录4.31 PROG 回路状态30附录4.32 PROG 工艺序号30附录4.33 PROG 保持/运行30附录4.34 PROG 复位30附录4.35 PROG 快进31附录4.36 PROG 事件输出31附录4.37 PROG 段号31附录4.38 PROG 段总时间31附录4.39 PROG 段运行时间31附录4.40 PROG PV32附录4.41 PROG MV32附录4.42 CONB32附录4.43 CONI33附录4.44 CONF34I第1章 概述1.1 Modbus概述Modbus协议是全球工业领域最流行的协议。它广泛应用于智能设备间建立基于主从方式的通讯连接。Modbus协议只定义了通讯消息的消息结构,与物理层无关,因此不管是传统的RS-232、RS-422、RS-485总线,还是以太网网络,均可支持Modbus协议。当然,为了能在特定的网络上传输Modbus消息,必须将Modbus消息嵌入到此网络上使用的帧或包结构中,这样便可解决在相应网络上的地址、路由路径及错误检测等问题。当在Modbus网络上通信时,Modbus协议规定每个设备必须要知道它们的设备地址,并识别按地址发来的消息(只接收广播地址消息和本机地址消息),然后根据消息内容执行相应的操作。如果需要回应,则设备须根据Modbus协议生成反馈信息并发送到网络。1.2 传输模式Modbus标准网络有两种传输模式:ASCII 和RTU。本公司使用RTU模式,不支持ASCII模式,以下讨论均基于RTU模式。Modbus帧结构如下表所示:附加地址域代码域数据域数据校验域PDU:Protocol Data Unit,协议数据单元。ADU:Application Data Unit,应用数据单元。其中,PDU部分是必须的,ADU和PDU的差异部分根据传输网络的不同而差异,本章节只讨论PDU部分。1.2.1 代码域代码域包含了8Bits(RTU)。可能的代码范围是0x010xFF,其中0x800xFF的码值保留作为异常回应的功能码。当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为,从设备根据功能码的指示执行相应的操作。当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异常回应)。对正常回应,功能域保持原请求的功能代码。对异常回应,功能域的值为原请求的功能代码和0x80相或的值。例如:对于功能码为0x03的请求,正常回应的功能码也为0x03,而异常回应的功能码为0x03和0x80相或的值即0x83。异常回应的数据域将包含一异常码(见附录1 异常代码)以指示从设备发生的错误类型。主设备应用程序得到异常回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。下表是Modbus支持的功能码:功能码名称作用01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02读取输入状态取得一组开关输入的当前状态(ON/OFF)03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05强置单线圈强置一个逻辑线圈的通断状态06预置单寄存器把具体二进值装入一个保持寄存器07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10探询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误13编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑14探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期探询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送15强置多线圈强置一串连续逻辑线圈的通断16预置多寄存器把具体的二进制值装入一串连续的保持寄存器17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态18(884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20读取通用参数(584L)显示扩展存储器文件中的数据信息21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之2264保留作扩展功能备用6572保留以备用户功能所用留作用户功能的扩展编码73119非法功能120127保留留作内部作用1.2.2 数据域数据域是由两个十六进制数集合构成的,范围0x000xFF,除非特别指明,凡是大于1个字节的数据,均为高字节在前,低字节在后。35第2章 Modbus串行2.1 概述基于串口的Modbus,可以运行在RS-232、RS-422或RS-485总线上,串口Modbus的字符格式如下:l 1个起始位l 8个数据位,先发送最低位l 1个奇偶校验位,无校验则无l 1个停止位详细的字符格式如下所示:有校验起始位12345678校验位停止位无校验起始位12345678停止位停止位注:以上是标准建议的方式,实际R系列仪表按无校验通讯时采用的是1位停止位的方式,如下所示。起始位12345678停止位2.2 帧格式对于基于串口的Modbus,附加地址域采用1字节的从站地址,数据校验域采用2字节的CRC校验,故串口Modbus的ADU帧格式如下:从站地址(1字节)功能代码(1字节)命令数据(0252字节)CRC校验(2字节)2.2.1 从站地址消息帧的地址域包含8Bits。可能的从设备地址是0247(十进制)。单个设备的地址范围是1247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应消息的地址域中,以便主设备知道是哪一个设备作出回应。地址0是用作广播地址,以使所有的从设备都能认识。当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。R系列仪表从站地址可以设置范围6254,但建议使用6247范围内的地址设置,R系列仪表不支持广播地址。2.2.2 错误检测域当选用RTU 模式作字符帧,错误检测域包含16Bits值(用两个8 位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC 的高位字节是发送消息的最后一个字节。CRC的实现方法见附录2 CRC检测。第3章 Modbus TCP3.1 概述Modbus TCP运行在TCP/IP网络。本节主要阐述通过Modbus/TCP网络携带的 Modbus 帧的格式及各个部分组成和意义。所有的Modbus TCP帧都是通过TCP寄存器端口502发出。3.2 帧格式对于基于TCP/IP的Modbus,附加地址域采用7字节的MBAP头,Modbus帧本身没有数据校验域,传输数据的准确性用TCP/IP 和链路层(以太网)校验的机制来校验。故Modbus TCP的ADU帧格式如下。MBAP前缀(7字节)功能代码(1字节)命令数据(0252字节)MBAP前缀:MODBUS Application Protocol header。MBAP前缀的格式如下:单元长度(字节)说明事务处理标识符2由客户端初始化,服务器复制之。通常为0协议标识符20标识Modbus协议。由客户端初始化,服务器复制之后续数据的长度2对于Modbus,高字节总是0单元标识符1一般串行方式的从站地址例如:请求:00 00 00 00 00 06 09 03 00 04 00 01MBAP前缀功能域数据域00 0000 0000 06090300 04 00 01响应:00 00 00 00 00 05 09 03 02 00 05MBAP前缀功能域数据域00 0000 0000 05090302 00 05第4章 宽屏无纸记录仪的Modbus协议4.1 支持的功能码RX系列仪表支持的Modbus功能码:功能码功能01读一个或一组布尔量的状态03读一个或一组寄存器的值05写一个布尔量的状态06写一个寄存器的值15写一个或一组布尔量的状态16写一个或一组寄存器的值4.2 数据类型RX系列仪表涉及3种类型的变量,如下表所示:类型说明Boolean(开关量)1 Bit BooleanInteger(寄存器)16 Bits IntegerFloating32 Bits IEEE Floating Point浮点数的字节顺序不遵循高字节在前的规定,而是按仪表【浮点格式】项的设置排列,格式和数据排列关系如下(以48.81667为例,其16进制值为0x42434445):浮点格式字节排列01230x45,0x44,0x43,0x4210320x44,0x45,0x42,0x4323010x43,0x42,0x45,0x4432100x42,0x43,0x44,0x454.3 Modbus变量地址列表变量的Modbus的地址用两个字节表示,地址编码从1开始,编码0保留。RX系列记录仪共涉及以下43种变量,相应的起始地址、读写属性、数据类型、功能代码等如下表所示。序号变量起始地址读写属性数据类型功能代码1AI工程量0x0001只读浮点数0x032AI报警状态0x0100只读开关量0x013DI输入状态0x0300只读开关量0x014FI工程量0x0400只读浮点数0x035FI报警状态0x0500只读开关量0x016AO工程量0x0600只读浮点数0x037DO输出状态0x0700只读开关量0x018PWM输出状态0x0800只读开关量0x019VA工程量0x0900只读浮点数0x0310VA报警状态0x0a00只读开关量0x0111VD运算状态0x0b00只读开关量0x0112ACC工程量0x0c00只读浮点数0x0313FLOW工程量0x0d00只读浮点数0x0314FLOW报警状态0x0e00只读开关量0x0115TIM运算状态0x0F00只读开关量0x0116PID回路SV的工程量0x1000读写浮点数0x03,0x1017PID回路MV的工程量0x1100读写浮点数0x03,0x1018PID回路DH的状态0x1200只读开关量0x0119PID回路的状态0x1300只读寄存器0x0320PID回路的AM0x1320只写开关量0x05,0x0F21PID回路的LR0x1340只写开关量0x05,0x0F22PID回路的Tune0x1360只写开关量0x0523PID回路的PID参数0x1400读写寄存器0x03,0x06,0x1024ONOFF回路的状态0x1600只读寄存器0x0325ONOFF回路的AM0x1620只写开关量0x05,0x0F26ONOFF回路的LR0x1640只写开关量0x05,0x0F27ONOFF回路DH的状态0x1660只读开关量0x0128ONOFF回路SV的工程量0x1700读写浮点数0x03,0x1029ONOFF回路MV的工程量0x1720读写开关量0x01,0x05,0x0F30PROG回路的状态0x3200只读寄存器0x0331PROG回路的工艺号0x3220读写寄存器0x03,0x06,0x1032PROG回路的Run/Hold0x3300只写开关量0x05,0x0F33PROG回路的Reset0x3320只写开关量0x05,0x0F34PROG回路的FastRun0x3340只写开关量0x05,0x0F35PROG回路的DO0x3400只读开关量0x0136PROG回路的Seg0x3500读写寄存器0x03,0x06,0x1037PROG回路的段总时间0x3520只读寄存器0x0338PROG回路已运行时间0x3540只读寄存器0x0339PROG回路的PV工程量0x3600只读浮点数0x0340PROG回路的OUT工程量0x3620只读浮点数0x0341CONB0x3700读写开关量0x01,0x05,0x0F42CONI0x3800读写寄存器0x03,0x06,0x1043CONF0x3900读写浮点数0x03,0x10注:“FLOW报警状态”暂不支持。第5章 仪表的Modbus变量5.1 宽屏无纸记录仪支持列表功能通道范围功能通道范围AI工程量112PID回路SV工程量04AI报警状态112(注1)PID回路MV工程量04FI工程量02PID回路DH状态04FI报警状态02(注1)PID回路的状态04AO工程量04PID回路的AM04DO输出状态06PID回路的LR04PWM输出状态06PID回路的Tune04ACC工程量014PID回路的PID参数04(注2)FLOW工程量014注1:是指通道数量,每个通道有6种报警,占用6个地址,只有前4种报警有效。注2:是指通道数量,每组PID有3个参数,占用3个地址。第6章 命令实例及解释以下实例均基于串口模式,设备地址默认为地址6。6.1 功能码01(0x01):读取一组开关量问询帧:名称设备地址功能码(0x01)起始地址数据数量CRC长度(字节)11222应答帧(正常应答):名称设备地址功能码(0x01)返回字节数N返回数据CRC长度(字节)111N12特别说明:问询帧:数据数量表示从起始地址开始读多少个开关量,数据范围1200。应答帧:每一个字节表示8个开关量的值,每一位表示对应开关量的状态。如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。范例:l 读取AI01的报警状态(参见AI报警状态)。问询:06 01 01 00 00 06 BC 43应答:06 01 01 03 10 FD表示成功读取AI01的6个报警状态,其中上上限报警、上限报警处于激活状态。6.2 功能码03(0x03):读一个或多个寄存器问询帧:名称设备地址功能码(0x03)起始地址数据数量CRC长度(字节)11222应答帧(正常应答):名称设备地址功能码(0x03)返回字节数N返回数据CRC长度(字节)111N12特别说明:问询帧:数据数量表示读取寄存器的个数,数据范围(150)。应答帧:每一个寄存器的高字节在前,低字节在后。(浮点数数据按浮点格式排列)范例:l 读取AI01的工程量(参见AI工程量)。询问:06 03 00 01 00 02 94 7C应答:06 03 04 42 48 00 00 18 9D表示成功读取AI01的工程量,当前值为50(3210模式)。6.3 功能码05(0x05):写一个开关量问询帧:名称设备地址功能码(0x05)起始地址数据值CRC长度(字节)11222应答帧(正常应答):名称设备地址功能码(0x05)起始地址数据值CRC长度(字节)11222特别说明:问询帧:此命令只能下置一个开关量的状态。数据值须为【0xFF00】或【0x0000】,【0xFF00】表示闭合,【0x0000】表示断开,其它数值非法。应答帧:如果成功把计算机发送的命令原样返回,否则异常应答。范例:l 将PID01置成手动状态(参见PID回路手自动)。问询:06 05 13 20 FF 00 88 C3应答:06 05 13 20 FF 00 88 C3 表示成功将PID01置成手动状态。6.4 功能码06(0x06):写一个寄存器问询帧:名称设备地址功能码(0x06)起始地址数据值CRC长度(字节)11222应答帧(正常应答):名称设备地址功能码(0x06)起始地址数据值CRC长度(字节)11222由于浮点型数据必须要4个字节,故浮点型数据不支持该命令。特别说明:问询帧:此命令只能下置一个寄存器的值。每一个寄存器的高字节在前,低字节在后。应答帧:如果成功把计算机发送的命令原样返回,否则异常应答。范例:l 将CONI01的值改为258(参见CONI)。问询:06 06 38 00 01 02 05 4C应答:06 06 38 00 01 02 05 4C表示成功将CONI01的值改为258。6.5 功能码15(0x0F):写多个开关量问询帧:名称设备地址功能码(0x0F)起始地址数据数量N字节数数据值CRC长度(字节)11221(N+7)/82应答帧(正常应答):名称设备地址功能码(0x0F)起始地址数据数量NCRC长度(字节)11222特别说明:问询帧:此命令可写多个开关量的状态。数据数量的范围(1200)。下置的数据每一个字节表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。如果下置的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。应答帧:如果成功把计算机发送的命令除字节数和数据值外原样返回,否则异常应答。范例:l 将PID01PID04的手自动状态分别改为自动、手动、自动、手动(参见PID回路手自动)。问询:06 0F 13 20 00 04 01 0A 7C 13应答:06 0F 13 20 00 04 50 F1表示成功切换4个PID回路的手自动状态。6.6 功能码16(0x10):写多个寄存器问询帧:名称设备地址功能码(0x10)起始地址数据数量N字节数数据值CRC长度(字节)11221N22由于浮点型数据必须要4个字节,故写浮点型数据时,必须保证数据数量为偶数。应答帧(正常应答):名称设备地址功能码(0x10)起始地址数据数量NCRC长度(字节)11222特别说明:问询帧:数据数量表示写入寄存器的个数,数据范围(1100)。每一个寄存器用2个字节表示。高字节在前,低字节在后。当写入数据表示浮点数时,由两个寄存器共同表示一个浮点数,该4字节数据的字节顺序遵循浮点格式的设定。应答帧:如果成功把计算机发送的命令除字节数和数据值外原样返回,否则异常应答。范例:l 将PROG01,PROG02的工艺分别换为工艺2、工艺5(异步模式)(参见PROG工艺序号)。问询:06 10 32 20 00 02 04 00 02 00 05 C7 61应答:06 10 35 00 00 02 4F B3表示成功切换两个程序所使用的工艺。l 将CONF01的值改为50(3210模式)(参见CONF)。问询:06 10 39 00 00 02 04 42 48 00 00 43 E4应答:06 10 39 00 00 02 4C E3表示成功将CONF01的值改为50。附录1 异常代码异常代码名称解 释01H功能代码非法从机接收的是一个不能执行功能代码。02H数据地址非法1 数据的地址从机无法识别2 数据地址和数据数量合成的地址无效03H数据数值非法1 数据数量超出范围2 数据长度错误3 数据数值非法04H从机设备故障从机执行主机请求时出现不可恢复的错误。05H确认从机已接收请求处理数据,但需要较长的处理时间,为避免主机出现超时错误而发送该确认响应。主机以此再发送一个“查询程序完成”未决定从机是否已完成处理。06H从机设备忙从机正忙于处理一个长时程序命令,请求主机在从机空闲时发送信息。07H否定从机不能执行查询要求的程序功能时,该代码使用十进制13或14代码,向主机返回一个“不成功的编程请求”信息。主机应请求诊断从机的错误信息。08H内存奇偶校验错误从机读扩展内存中的数据时,发现有奇偶校验错误,主机按从机的要求重新发送数据请求。 附录2 CRC检测附录2.1 CRC 校验使用RTU模式,消息包括了一基于CRC方法的错误检测域。CRC域检测了整个消息的内容。CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同则有误。CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节和当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。附录2.2 函数实现CRC简单函数如下:unsigned short CRC16(unsigned char *puchMsg, unsigned short usDataLen)unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化 */unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化 */unsigned uIndex ; /* CRC循环中的索引 */while (usDataLen-) /* 传输消息缓冲区 */uIndex = uchCRCHi *puchMsgg+ ; /* 计算CRC */uchCRCHi = uchCRCLo auchCRCHiuIndex ;uchCRCLo = auchCRCLouIndex ;return (uchCRCHi 8 | uchCRCLo) ;/* CRC 高位字节值表 */static unsigned char auchCRCHi = 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 ;/* CRC低位字节值表*/static char auchCRCLo = 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06,0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD,0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A,0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4,0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED,0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68,0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E,0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B,0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,0x43, 0x83, 0x41, 0x81, 0x80, 0x40 ;附录3 通讯格式01H读一组开关量设备地址0x01起始地址数据数量CRC1122201H应答帧设备地址0x01返回字节数N返回数据CRC111N1203H读一个或多个寄存器设备地址0x03起始地址数据数量CRC1122203H应答帧设备地址0x03返回字节数N返回数据CRC111N1205H写一个开关量设备地址0x05起始地址数据值CRC1122205H应答帧设备地址0x05起始地址数据值CRC1122206H写一个寄存器设备地址0x06起始地址数据值CRC1122206H应答帧设备地址0x06起始地址数据值CRC112220FH写多个开关量设备地址0x0F起始地址数据数量N字节数数据值CRC11221(N+7)/820FH应答帧设备地址0x0F起始地址数据数量NCRC1122210H写多个寄存器设备地址0x10起始地址数据数量N字节数数据值CRC11221N2210H应答帧设备地址0x10起始地址数据数量NCRC11222异常应答设备地址功能代码异常代码CRC1112附录4 实时变量地址分布明细附录4.1 AI工程量地址数据类型功能代码变量说明访问权限0x0001Floating03AI01模拟量输入只读0x0003Floating03AI02模拟量输入只读0x0005Floating03AI03模拟量输入只读0x0007Floating03AI04模拟量输入只读0x0009Floating03AI05模拟量输入只读0x000BFloating03AI06模拟量输入只读0x000DFloating03AI07模拟量输入只读0x000FFloating03AI08模拟量输入只读0x0011Floating03AI09模拟量输入只读0x0013Floating03AI10模拟量输入只读0x0015Floating03AI11模拟量输入只读0x0017Floating03AI12模拟量输入只读0x0019Floating03AI13模拟量输入只读0x001BFloating03AI14模拟量输入只读0x001DFloating03AI15模拟量输入只读0x001FFloating03AI16模拟量输入只读0x0021Floating03AI17模拟量输入只读0x0023Floating03AI18模拟量输入只读0x0025Floating03AI19模拟量输入只读0x0027Floating03AI20模拟量输入只读0x0029Floating03AI21模拟量输入只读0x002BFloating03AI22模拟量输入只读0x002DFloating03AI23模拟量输入只读0x002FFloating03AI24模拟量输入只读0x0031Floating03AI25模拟量输入只读0x0033Floating03AI26模拟量输入只读0x0035Floating03AI27模拟量输入只读0x0037Floating03AI28模拟量输入只读0x0039Floating03AI29模拟量输入只读0x003BFloating03AI30模拟量输入只读0x003DFloating03AI31模拟量输入只读0x003FFloating03AI32模拟量输入只读附录4.2 AI报警状态地址数据类型功能代码变量说明访问权限通道0x0100Boolean01AI01.HH上上限报警只读AI010x0101Boolean01AI01.Hi上限报警只读0x0102Boolean01AI01.Lo下限报警只读0x0103Boolean01AI01.LL下下限报警只读0x0104Boolean01AI01.RH上升速率报警只读0x0105Boolean01AI01.RL下降速率报警只读0x0106Boolean01AI02.HH上上限报警只读AI020x0107Boolean01AI02.Hi上限报警只读0x0108B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东运管所郁南县亮丽路灯管理有限公司招聘员工1名模拟试卷有完整答案详解
- 油菜籽油烹饪课程创新创业项目商业计划书
- 景区安全培训讲话课件
- 2025贵州省水利投资(集团)有限责任公司招聘84人模拟试卷有答案详解
- 技术经纪人考试考点归纳总结
- 烟花爆竹安全生产知识测试试题集
- 2025金华市天禾实业有限公司招聘2人模拟试卷完整答案详解
- 2025年甘肃省兰州新区市政投资管理集团有限公司急需紧缺技术岗位人员招聘32人模拟试卷及答案详解(历年真题)
- 2025河南中医药大学招聘辅导员、行政岗等13名考前自测高频考点模拟试题附答案详解(典型题)
- 2025年三明市供电服务有限公司招聘61人模拟试卷附答案详解(突破训练)
- 产品报价基础知识培训课件
- 水资源基础调查项目方案 投标文件(技术方案)
- 女性围绝经期营养管理中国专家共识(2025版)
- 2025驾驶员安全教育培训
- GB/T 16545-2025金属和合金的腐蚀腐蚀试样上腐蚀产物的清除
- 无人机公司飞手管理制度
- 房地产抵押贷款合同电子版预览
- 电池(组)装配工职业技能鉴定经典试题含答案
- 公路机电安全培训课件
- DB42-T 2389-2025 陶粒沥青混凝土路面施工技术规程
- 质量策划与质量控制培训
评论
0/150
提交评论