# 数据处理与界面功能说明 ## 界面功能要求 在日志输出区域之前添加三个复选框: 1. 写入数据 → 写发送 2. 读取数据 → 读发送 3. 读取数据 → 修改数据 ### 功能说明 #### 写入数据 → 写发送 如果勾选了"写入数据→写发送",则收到写入数据消息后将数据添加至写数据编辑框并执行写发送。 #### 读取数据 → 读发送 如果勾选了"读取数据→读发送",则收到读取数据消息后将数据添加至读数据编辑框并执行读发送。 #### 读取数据 → 修改数据 → 读发送 如果勾选了"读取数据→修改数据",则收到读取数据消息后解析数据。 ## 数据解析规则 ### 数据结构 | 序号 | 命令 | 说明 | |------|-------|------| | 1 | ACK | 起始字节06H | | 2 | CMD | 命令字节 | | 3 | LB | 数据长度(包括:除了CS位外的所有数据长度) | | 4 | [DF] | 数据区 | | 5 | CS | 检验和 CS=NOT(ACK+CMD+LB+[DF])+1 | ### 特定条件下的数据解析与显示 只有在同时满足以下条件时,才会进行数据解析并显示数据表格: 1. 勾选了"读取数据→修改数据"复选框 2. ACK码为06H,CMD为A3H,LB为17H 当满足上述条件时,则按以下方式解析数据并显示数据表格: ``` 06H-A3H-17H-CO₂高位-C0,低位-C0 高位-CO 低位-HC 高位-HC低位-NO 高位-NO 低位-O2,高位O2,低位-油温高位-油温低位-转速高位-转速低位-气路压力高位-气路压力低位-过量空气系数高位-过量空气系数低位-PEF 值高位-PEF 值低位-校验码 ``` ## 数据表格要求 在日志输出区域之前添加数据表格,包含以下列: - 名称:参数名称 - 原始值:将解析的数据先把高位和低位合并转换为相应的十进制数,然后按Table3.5 数据转换关系表转换为相应的参数值。这一列用户可编辑,完成修改后,数据将重新计算校验和并添加至读数据编辑框。 - 最大值:Table3.5 数据转换关系表对应参数的最大值 检查所有数据,如果低于最小值则使用最小值,如果超过最大值则使用最大值,并重新计算校验和并将校验过的读数据添加至读数据编辑框。 ## Table3.5 数据转换关系表 | 参数 | 发送/接收数据(十进制) | 相应值 | |------|----------------------|--------| | HC | 0~9999 | 0×10⁻⁶~9999×10⁻⁶ | | CO | 0~1500 | 0.00%~15.00% | | NO | 0~5000 | 0×10⁻⁶~5000×10⁻⁶ | | CO₂ | 0~1800 | 0.00%~18.00% | | O₂ | 0~2500 | 0.00%~25.00% | | 油温 | 0~1000 | 0.0℃~100.0℃ | | 转速 | 0~9999 | 0 r/min ~ 9999 r/min | | 气路压力 | 0~1100 | 0.0 kPa~ 110.0kPa | | 过量空气系数 | 0~2000 | 0.000~2.000(超过 2.000 显示 2.000) | | PEF 值 | 470~540 | 0.470~0.540 | 其中CO₂、O₂分别为二氧化碳、氧气的化学式,10⁻⁶为10的负六次方。