1EN6000B6(LED)_MODBUS_RTU通讯协议1.概述异步串行通讯接口(RS232/485)与上位机连接,RTU模式,支持0x03,0x10功能。仪表与上位机通讯为被动方式,即仪表不会主动向上位机传送数据,必须由上位机向仪表发出读写指令,仪表才会有相应的反应。上位机RS485···EN6000BEN6000BEN6000B···EN6000BRS485通讯线上允许上连接多达255台EN6000B系列仪表,PCRS232EN6000RS232接口只允许连接单台仪表为了在一个通讯接口上连接多台仪表,需要给每台仪表编一个互不相同的地址,有效的地址为0~255,同时,上位机和仪表应设置相同的通讯速率。2.ModBus通讯协议仪表采用ModBusRTU通讯协议传输信息,每一传输字节包含11位信息:1个起始位,8个数据位,1个偶校验位,1个停止位。起始位12345678校验位停止位通讯速率:2400bps,4800bps,9600bps,19200bps纠错方式:循环冗余校验(CRC)2.1ModBusRTU信息帧格式启动地址功能数据CRC结束≥3.5字符1字节1字节N字节2字节≥3.5字符地址范围:0~255。2.2数据信息每一寄存器包含2字节数据,在通讯线路上传输时高位字节在前,低位字节在后。数据按照实际存储格式依次发送,接收端只需简单拼接即可。例1:某int型参数(1个寄存器地址),参数值:25(0x0019),仪表先发送0x00,再发送0x19。unsignedlong、long、float型数据占用2个相临寄存器地址。浮点变量数据格式使用IEEE-754标准格式,占用2个ModBus字地址存储。例2:某float数据:110.5,在内存中实际为0x42dd0000,在占用寄存器地址0x000a、0x000b:ModBus寄存器地址(Hex)数据(Hex)0x000a0x42高字节0xdd0x000b0x0020x00低字节数据发送时,依次传输(0x42,0xdd),(0x00,0x00),即数据实际存储格式。例3:某unsignedlong数据:999999123(0x3b9ac693),在占用寄存器地址0x000c、0x000d:ModBus寄存器地址(Hex)数据(Hex)0x000c0x3b高字节0x9a0x000d0xc60x93低字节数据发送时,依次传输(0x3b,0x9a),(0xc6,0x93),即数据实际存储格式。2.3信息格式2.3.1、功能码0x03—读多个寄存器参数表内任意寄存器都可以被读出。例:读1#仪表1通道量程下限(设地址为603、604)。假设此参数值为25.3:由于此参数是浮点数,占用2个寄存器地址,因此需要读出2个寄存器。上位机发送:仪表地址功能码起始寄存器地址寄存器个数CRC-16校验吗高字节低字节高字节低字节高字节低字节0x010x030x020x5b0x000x020xb40x60仪表正常响应:仪表地址功能码字节数目寄存器1数据寄存器2数据CRC-16吗高字节低字节高字节低字节高字节低字节0x010x030x080x410xca0x660x660x750xba量程下限=25.3字节数目是指有效数据的字节数,即寄存器个数2。寄存器个数范围:1-125;读无效地址寄存器返回0x0000。2.3.2、功能码0x10—写多个寄存器只有可读/写寄存器并且地址相连的参数才可以使用0x10功能码。浮点数据不可拆分,即起始寄存器地址不能由浮点数据所占第二个寄存器地址开始;结束寄存器地址不是浮点数据所占第一个寄存器地址。例:设置1#仪表1通道量程下限=1234.0,参数占用寄存器地址605,606。上位机发送:仪表地址功能码起始寄存器地址寄存器数量字节数目寄存器1数据寄存器2数据CRC-16校验吗高字节低字节高字节低字节高字节低字节高字节低字节高字节低字节0x010x100x020x5d0x000x020x040x440x9a0x400x000x2b0x75范围:1~123浮点数据1234.0仪表正常响应:仪表地址功能码起始寄存器地址寄存器个数CRC-16校验吗高字节低字节高字节低字节高字节低字节0x010x100x020x5d0x000x020xd10xa23参数名称寄存器地址数据类型读写设定范围及数据说明仪表功能0unsignedint只读601~606通道1-24实时值20~67float只读-99999.~999999.仪表报警状态7172unsignedlong按位定义:bit=1:有效状态;bit=0:无效状态bit0:第一路AL1;bit1:第一路AL2……………………bit6:第四路AL1;bit7:第四路AL2……………………bit30:第十六路AL1bit31:第十六路AL2LT通道切换时间7374float1~100秒ALRE报警记忆75unsignedint0:无1:有通道1-24实时值76~99unsignedint只读0~65535C1第一通道开关6000:通道关,1:通道开[第一通道只能为1]IN1第1通道输入选择601unsignedint0~30DP1第1通道小数点位602unsignedint0~3VL1第1通道量程下限603604float-1999~9999VH1第1通道量程上限605606floatFT1第1通道滤波时间常数607608float0~10BS1第1通道偏置609610float-1999~9999LS1第1通道小信号切除量611612float0~50%AA1第1通道第一报警类型613unsignedint0:无;1:上限报警;2:下限报警AB1第1通道第二报警类型614unsignedintSA1第1通道第一报警值615616float-1999~9999SB1第1通道第二报警值617618floatHY1第1通道报警回差619620float0~999第2通道参数630~650同“第一通道”顺序第3通道参数660~680同“第一通道”顺序第4通道参数690~710同“第一通道”顺序第5通道参数720~740同“第一通道”顺序第6通道参数750~770同“第一通道”顺序第7通道参数780~800同“第一通道”顺序第8通道参数810~830同“第一通道”顺序第9通道参数840~860同“第一通道”顺序第10通道参数870~890同“第一通道”顺序第11通道参数900~920同“第一通道”顺序第12通道参数930~950同“第一通道”顺序第13通道参数960~980同“第一通道”顺序第14通道参数990~1010同“第一通道”顺序第15通道参数1020~1040同“第一通道”顺序第16通道参数1050~1070同“第一通道”顺序