电子秤提供ModBus协议如何操作 采用ASCII码模式,以字符的方式发送数据,校验方式采用LRC校验。 LRC校验码运算:报头(:)不参与运算,LRC在数据之后,在\CR\LF之前。参加运算的是报头之后,LRC之前的所有数据。 每字节(BYTE)为8位(BIT),无奇偶校验,1位停止位。即:8n1。 数据格式: 说明 | 报头 | 站号 | 功能码 | 址 | 数据量 | 数据 | 校验码 | 报尾 | 指令 | : | xx | xx | xxxx | xxxx | xxxx | LRC | \CR\ LF | 回传 | : | xx | xx | | xx | xxxx | LRC | \CR\ LF |
报头、报尾:所有指令均以冒号(:)开始,以回车符、换行符结束。 站号:2个ASCII码。范围:01-90 (16制:0x01-0x)。 功能码:2个ASCII码 04:读称量状态(显示值、皮重等) 05:置操作 06:皮重操作 07:通信测试 址:4个ASCII码。读写数据的位置。 数据量:4个ASCII码。读写数据的数量。 数据:读写的数据 校验码:2个ASCII码。采用LRC校验。 举例说明:站号---78 (0x4E) 例1:读取重量数据 | 报头 | 站号 | 功能码 | 址 | 数据量 | 数据 | 校验码 | 报尾 | 指令 | : | 4E | 04 | 0000 | 0007 | | A7 | \CR\ LF | 回传 | : | 4E | 04 | | 07 | 120003E70000CA | E1 | \CR\ LF | 说明 | 数据共7字节,其中12--状态、0003E7--显示值、0000CA--皮重值。 状态:0001 0010 四位从到低分别为(0/1):正/负、非/、稳定/动态、毛重/净重; 低四位中,位恒为0。低三位表示小数点位置,数据范围:000-011,000--无小数、001--1位小数、010--2位小数、011--3位小数。 例中数据表示:当前重量为正、称量稳定,显示为净重,净重=9.99,皮重=2.02 |
例2:置操作 | 报头 | 站号 | 功能码 | 址 | 数据量 | 数据 | 校验码 | 报尾 | 指令 | : | 4E | 05 | | | | AD | \CR\ LF | 回传 | : | 4E | 05 | | | | AD | \CR\ LF | 说明 | 置成功 | 回传 | : | 4E | 85 | | | 07 | 26 | \CR\ LF | 说明 | 置失败,重量>2%FS。错误码说明见后 |
例3:去皮操作 | 报头 | 站号 | 功能码 | 址 | 数据量 | 数据 | 校验码 | 报尾 | 指令 | : | 4E | 06 | 0004 | 0003 | 000064 | 41 | \CR\ LF | 回传 | : | 4E | 06 | | 03 | 000064 | 45 | \CR\ LF | 说明 | 设置皮重=100,显示净重 | 指令 | : | 4E | 06 | 0004 | 0000 | | A8 | \CR\ LF | 回传 | : | 4E | 06 | | 03 | 0000C9 | E0 | \CR\ LF | 说明 | 操作前为毛重状态,操作后,把毛量作为皮重,皮重=201,显示净重为0 | 指令 | : | 4E | 06 | 0004 | 0000 | | A8 | \CR\ LF | 回传 | : | 4E | 06 | | 03 | 000000 | A9 | \CR\ LF | 说明 | 操作前为净重状态,操作后,恢复毛量显示,皮重=0 |
例4:通信测试 | 报头 | 站号 | 功能码 | 址 | 数据量 | 数据 | 校验码 | 报尾 | 指令 | : | 4E | 07 | | | | AB | \CR\ LF | 回传 | : | 4E | | | | | B2 | \CR\ LF | 说明 | 通信正常,返回站号 |
 |