1.参数列表
名称 |
属性 |
操作位置 |
存储和显示 |
备注 |
装置地址 |
R/W |
上位机软件 |
存储/液晶显示 |
1个字节,0~255 0为广播地址 |
预置测试时间 |
|
|
液晶显示 |
单位:0.01ms |
预置检定时间脉冲数 |
R/W |
上位机软件 |
存储 |
8字节符号整数,单位:1/100000秒。 |
累计测试时间 |
|
|
液晶显示 |
0.01ms |
累计时间脉冲数 |
R/W |
上位机软件 |
存储 |
8字节符号整数,单位:1/100000秒。 |
时钟频率 |
R |
上位机软件 |
|
约100kHZ(实际频率) |
累计齿数 |
R |
上位机软件 |
存储、液晶显示 |
4字节无符号整数,单位:个。 |
预置检定体积 |
R/W |
上位机软件 |
存储 |
4个字节,单位为个。 |
初始化 |
W |
上位机软件 |
液晶显示 |
(预置测试时间,预置检定时间脉冲数累计测试时间、累计时间脉冲数、预置检定体积、累计齿数)清零。 |
瞬时齿速 |
R |
上位机软件 |
液晶显示 |
|
齿轮数 |
R/W |
上位机软件/按键 |
存储、液晶显示 |
1字节无符号号整数 有效值范围为:6~20 |
补光灯状态 |
R/W |
上位机软件/按键 |
存储、液晶显示 |
1字节无符号号整数 0:关,1:开 |
识别半径 |
R/W |
上位机软件/按键 |
存储、液晶显示 |
1字节无符号号整数 0:小半径,1:大半径。 |
2.数据帧
2.1帧格式定义
帧格式如下表所示:
字段 |
长度 |
说明 |
开始标识 |
1个字节 |
0x68 |
地址域 |
1个字节 |
0~255,其中0为广播地址 |
帧类别 |
1个字节 |
0:请求帧;1:确认帧;2:否认帧 |
数据域长度 |
1个字节 |
0~255 |
功能码 |
1个字节 |
|
数据域 |
0~255个字节 |
数据域长度可变,由数据域长度决定(低字节在前高字节在后) |
校验 |
1个字节 |
开始标识字段(包含开始标识)到校验(不含)字段之前数据的累加和 |
结束标识 |
1个字节 |
0x16 |
2.2帧格式说明
2.2.1开始标识
开始标识为1个字节,该值固定为0x68。
2.2.2地址域
要访问的装置地址。
2.2.3帧类别
台体向装置请求数据时,必须为0.
装置向台体应答时,正常响应必须为1
装置向台体应答时,异常响应必须为2。异常响应包括:非广播地址的非法功能码请求或设置参数不合法。
若请求帧中地址域为广播地址,则装置不响应。
2.2.4数据域长度
数据域长度固定为1个字节,范围为0~255。
2.2.5功能码
0x00:读取装置地址
请求帧数据域为空
应答帧。数据域内容为1字节装置地址
0x01:读取预置测试时间
请求帧数据域为空
应答帧。数据域内容为8字节(低字节在前)预置测试时间。
0x02:读取累计脉冲数
请求帧数据域为空
应答帧。数据域内容为4字节(低字节在前)累计脉冲数。
0x03:读取累计测试时间
请求帧数据域为空
应答帧。数据域内容为8字节(低字节在前)累计测试时间。
0x04:读取齿轮数
请求帧数据域为空
应答帧。数据域内容为1字节齿轮数,有效值范围:6~20。
0x05:读取识别半径
请求帧数据域为空
应答帧。数据域内容为1字节。0:小半径;1:大半径。
0x06:读取补光灯状态
请求帧数据域为空
应答帧。数据域内容为1字节。0:关闭;1:开启。
0x07:读取瞬时齿速
请求帧数据域为空
应答帧。数据域内容为4字节。
0x08读取预置检定体积
请求帧数据域为空
应答帧。数据域内容为4字节。
0x09读取软件版本号
请求帧数据域为空
应答帧为不定长度的字符串,长度小于200。低字节在前
0x80:设置装置地址。
请求帧数据域内容为1字节。
无应答帧。
0x81:设置预置测试时间
请求帧数据域内容为8字节。
应答帧数据域内容为空。若请求帧中地址域为广播地址,则无应答帧。
0x84:设置齿轮数
请求帧数据域内容为1字节。(有效范围:6~20)
应答帧数据域内容为空。若请求帧中地址域为广播地址,则无应答帧。
异常帧数据域内容为空。若请求帧中地址域为广播地址,则无异常帧。
0x85:设置识别半径
请求帧数据域内容为1字节。0:小半径;1:大半径。
应答帧数据域内容为空。若请求帧中地址域为广播地址,则无应答帧。
异常帧数据域内容为空。若请求帧中地址域为广播地址,则无异常帧。
0x86:设置补光灯状态
请求帧数据域内容为1字节。0:关闭;1:开启。
应答帧数据域内容为空。若请求帧中地址域为广播地址,则无应答帧。
异常帧数据域内容为空。若请求帧中地址域为广播地址,则无异常帧。
0x87设置预置检定体积
请求帧数据域内容为4字节
应答帧。数据域内容为空
0x8a 初始化
请求帧数据域内容为空
应答帧数据域内容为空
0xcd 设置升级文件头
请求帧数据域内容为8字节:
typedef struct UpDataFileStartHeader_st
{
u32 Len; //升级文件总的长度
u32 LenBk; //升级文件总的长度备份,若是长度不相等则认为是不合理的参数
}UpDataFileStartHeader;
应答帧。数据域内容为空
0xce 传输升级文件有效数据
请求帧数据域内容,前3个字节内容为升级文件内的偏移,剩余数据为有效的数据长度。
应答帧,数据域内容为空
0xcf 传输升级文件结束标志
请求帧数据域内容为16字节:
typedef struct UpDataFileEndHeader_st
{
u32 Len; //升级文件总的长度 与开始帧中的应该相等。若是不相等,则以结束帧的为准
u32 LenBk; //升级文件总的长度备份,若是长度不相等则认为是不合理的参数
u32 CrcNum; //升级文件的CRC校验
u32 CrcNumBk;
}UpDataFileEndHeader;
应答帧数据域内容为空
0x0b 读取传感器增益
请求帧数据域为空
应答帧,数据域为1个字节 范围0~8
0x8b设置传感器增益
请求帧数据域为1个字节。取值范围0~8
应答帧为确认帧或否认帧。广播地址则无确认帧
0x0c 读取所有测试数据
请求帧数据域为空
应答帧为当前测试数据。其结构体为:
struct HD710TestDataGetType
{
public UInt64 CalTestTime; //累计测试时间
public UInt32 CalTestVol; // 累计检定体积
public UInt32 Speed; //读取瞬时齿速
public UInt32 GainIndex; // 增益索引 默认为5,取值范围0~7 值越大则增益越大
public byte RecRadius; //识别半径
public byte FlashLedOnState; //补光灯状态
public byte GearNum; //齿轮数
public byte TerAddr; //终端地址
};
2.2.6校验
校验为开始标识字段(包含开始标识)到校验(不含)字段之前数据的累加和。
2.2.7结束标识
长度为一个字节,该字段固定为0x16。