《数字传感器通信自由协议.doc》由会员分享,可在线阅读,更多相关《数字传感器通信自由协议.doc(44页珍藏版)》请在金锄头文库上搜索。
1、 第四章 指令设置 4.1 指令格式 指令系统包括指令助记符,参数和终止符。如表 4-1 所示 表 4-1 指令格式表 指令助记符 参数 终止符 设置参数 ABC X,Y, LF 或; 读取参数 ABC? LF 或; 读取测量值 ABC? X LF 或; (1) 指令助记符不区分大小写。例如:ADR01; adr01;和 adR01;功能相同。 (2) 每条指令需要一个终止符作为输入的结束语,可以是换一次行(LF)或一个分号(;)。 (3) 数字输入指令中,输入十进制数时前面的零可省略也可以不写(S.指令除外)。例如: ASF06;与 ASF6;的数字输入结果相同。 (4) 指令助记符与参数之
2、间,参数与参数之间,参数与终止符之间可以加多个空格。例如: ADR20 ;与 ADR 20;都可以被仪表接收。 4.2 对指令的应答 (1) 对设置参数指令的应答见表 4-2。 表 4-2 设置参数指令的应答 返回 设置成功 0 CRLF 设置失败 ? CRLF 例如:输入指令 FMD0; 返回 0CRLF 输入指令 FMD11; 返回 ?CRLF (2) 对读取参数指令的应答见表 4-3。 表 4-3 读取参数指令的应答 返回 读取成功 参数值 CRLF 读取失败 ? CRLF 例如:输入指令 ADR?; 返回 10CRLF 输入指令 ABR?; 返回 ?CRLF (3) 对读取测量值指令的
3、应答,不同的仪表有不同的格式,具体见指令详细说明。 4.3 口令保护 模块的口令保护功能涉及衡器特性及其标识的重要设置值。只有输入口令后才能激活带口 令保护的指令。若通过 SPW 指令输入的口令不正确,则上述带口令保护的指令会以“?”作应答。 - 7 - 4.4 指令一览表 指令 PW TDD1 功能 ADI 防抖动强度 ADR 模块地址 ASF 数字滤波强度 BDR 通讯波特率和校验位 COC 收敛常数 COF 测量值的输出格式 CSM 测量值状态的检验和 DPW 定义新口令 ENU 测量值单位 ESR 读取错误状态 FMD 滤波器方式 ICR 测量值输出速率 IDN 传感器标号 LDW 用
4、户零点标定 LWT 用户加载标定 MSV 输出最新测量值 MVR 输出测量值寄存器 NOV 用户标定砝码值 RAT 制造标定砝码值 RES 复位 RLC 线性修正参数 RLE 线性修正使能 RLN 线性修正数目 S. 选择模块 SFA 制造加载标定 SPW 输入口令 STR1 总线终端电阻器接通/断开 1 STP 停止测量值输出 SZA 制造零点标定 TAR 去皮 TAS 毛重/净重切换 TAV 输出皮重值 TCM1 温度补偿模式 1 TCN1 温度补偿数目 1 TDD1 存储受口令保护的设置值 TDD2 读取受口令保护的设置值 TDD0 恢复制造设置值 TEC1 温度补偿系数 1 TEM1
5、温度补偿加载值 1 TEP1 输出温度值 1 TET1 温度补偿温度值 1 TEZ1 温度补偿零点值 1 TEX 定义测量值输出的数据分割符 TLR1 温度补偿加载额定值 1 TZR1 温度补偿零点额定值 1 ZCL 手动清零 ZSE “开机自动置零”范围 ZTR 零点自动跟踪范围 ZTS 零点自动跟踪速率 注:受口令(PW)保护,用指令 TDD1 存储; 第五章 指令描述 模块的信号处理与指令设置密切相关,模块的每一条指令的修改都对数据信号的处理产生影响。 模块的信号处理和指令流程图如图 5-1 所示。 图 5-1 系统信号处理和指令流程图 下面将详细介绍各指令的格式和功能。 被测信号 硬件
6、信号处理 A/D 滤波 FMD,ASF,ADI,COC 制造定标 SZA, SFA, RAT 测温系统 TCN、TCM、TEP 用户定标 LDW, LWT, NOV 线性修正 RLE, RLN, RLC 去皮系统 TAV, TAS, TAR 开机置零 ZSE 零点跟踪 ZTR,ZTS 数据格式 COF 校验和 CSM 数据分隔符 TEX 选择 Sxx 地址 ADR 比较 串口通信 BDR 计算机或仪表 错误信息 ESR 串行线 数据输出 MSV,MVR,a0 3b,c0 3b 工程单位 ENU 型号及序号 IDN 测量 ICR 清零 ZCL - 9 - 5.1 接口指令 传感器 模块的接口是一
7、个异步串行接口,数据传输速率与接收速率必须一致,也就是主机波特率 和从机波特率必须保持一致。本模块采用的串行数据格式为: 起始位:1 位 字 长:8 位 奇偶位:无校验位/偶校验 停止位:1 位 波特率:1200、2400、4800、9600、19200、38400 bmp/s 见图 5-2 所示。 图 5-2 字符的组成 因为数据是一个接一个地传输的,所以传输速率必须与接收速率一致。每秒传输的二进制数位 叫做波特率。每个测量值的字符数取决于选择的输出格式(COF 指令),可以为 2 到 22 个字符(详见 指令 COF)。 建立 与微机之间的通信,必须先配置接口。 提供以下接口指令:ADR,
8、BDR,COF, CSM,TEX,Sxx。 ADR (Address)模块地址 输入指令 输出参数指令 指令格式 ADR (Pn);或 ADR (Pn), ; ADR?; 参数范围 Pn:0031; Ps:制造序号最多 15 个字符 - 反应时间 15ms 15ms 口令保护 无 无 参数保护 TDD1 - 返回值 0CRLCF 输出模块的地址 举例 ADR03;、ADR12,“01234” - 用十进制数 00.31 输入 传感器 模块的地址。序号可自动识别为第 2 个参数,然后新地址被 确认为该序号下的 传感器 模块的地址。这样,在总线初始化模式下,若几台模块的地址相同 时,就可改变设备地
9、址 。在 IDN 指令中序号必须包含在“”内。 BDR (Baud Rate)波特率和校验位 输入指令 输出参数指令 指令格式 BDR ,; BDR?; 参数范围 Pn1 为波特率 1200、2400、4800、9600、9200、38400; Pn2 为校验位 0 或 1 - 反应时间 15ms 15ms 口令保护 无 无 参数保护 TDD1 - 0 D0 D1 D2 D3 D4 D5 D6 D7 P 1 起始位 8 位数据 奇偶校验位 停止位 返回值 0CRLCF 输出新设置的波特率及奇偶位的标 识 举例 BDR19200,1;、 BDR,0; - 将要求的波特率作为十进制数输入。波特率可
10、为:1200、2400、4800、9600、19200、38400。 输入需要的奇偶位: 0-没有奇偶位;1-奇偶位为偶校验。 传感器 执行该指令后,用新设置值回答。改变波特率后再也不能按原参数值通信。计算机也必须 改变为新选择的波特率值。若需永久改变波特率,必须用指令 TDDI 把新参数存储。此步骤也是一 种安全措施,即上位机不支持的 传感器 就不能重新设置其波特率。如果未存储新输入的波特率,复 位或重新供电后 传感器 会报告以前的波特率有效。 COF (Configurate Output Format)测量值的输出格式 输入指令 输出参数指令 指令格式 COF (Pn); COF?; 参
11、数范围 0255 - 反应时间 15ms 15ms 口令保护 无 无 参数保护 TDD1 - 返回值 0CRLCF 从 0.255 的三位数 举例 COF37;、COF8; - (1) COF0 到 COF12 标准格式: 在二进制输出中,字节顺序可选择 MSBLSB 或 LSBMSB。在 ASCII 输出中,除了测量值外, 还可输出 传感器 的二进制地址和或测量值状态信息。 测量值的二进制输出格式见表 5-1。 表 5-1 测量值的二进制输出格式表 参数 长度 测量值输出顺序 终止符 COF0 测量值 4 字节 数据高位在前,低位在后。第 4 个字节无意义。例如:数据输 出 0x00 0x1
12、2 0x02 0x00 前 3 个字节代表数据为 4610, 最后一个字节无意义。 crlf COF2 测量值 2 字节 数据高位在前,低位在后。例如:数据输出 0x12 0x02 代表 数据为 4610。 crlf COF4 测量值 4 字节 数据低位在前,高位在后。第 4 个字节无意义。 crlf COF6 测量值 2 字节 数据低位在前,高位在后。 crlf COF8 测量值 4 字节 数据高位在前,低位在后。第 4 个字节为:状态标示或校验和。 crlf COF12 测量值 4 字节 数据低位在前,高位在后。第 4 个字节为:状态标示或校验和。 crlf 注:MSB=最大有效位;LSB
13、=最小有效位 在 ASCII 输出中,可在各参数之间自由选择数据分隔符(见指令 TEX)。 测量值的 ASCII 输出格式见表 5-2。 表 5-2 测量值的 ASCII 输出格式表 第一个参数 T 第二个参数 T 第三个参数 终止符 COF1 测量值(8) T(1) 地址(2) - crlf 或 T COF3 测量值(8) - - crlf 或 T COF5 测量值(8) T(1) 地址(2) T(1) 温度值(8) crlf 或 T COF7 测量值(8) T(1) 温度值(8) crlf 或 T COF9 测量值(8) T(1) 地址(2) T(1) 状态 (3) crlf 或 T CO
14、F11 测量值(8) T(1) - - 状态 (3) crlf 或 T 注:(1) T=数据分割符;()=字符数 (2)在总线方式中,输出格式不能设置为 COF9;(3) 传感器 模块无 温度补偿系统,当输出数据格式有温度值时,该温度值固定为“ 000.000”。 (2) COF16 到 COF28 总线方式: 如果数字 16 加到上述输出格式 COF0.COF12 中,传感器 就切换为总线输出方式,然后输出 一个测量值。传感器 再切换到部分激活方式(每个新测量值存储到输出缓冲器中,但不输出),用选 择指令 Sxx;可将测量值在总线中输出。 (3)COF32 到 COF44 没有 CRLF 的测量值二进制输出方式: 如果数字 32 加到上述二进制输出格式 COF0.COF12 中,传感器 就切换为没有 CRLF 的测量 值二进制输出方式。在测量值二进制输出中,终止符 CRLF 省略,因此每一测量值只输出 2 或 4 个 字节。这种测量提高了测量值的输出速率。见表 5-3 所示。 表 5-3 没有 CRLF 的测量