/*** * @Author: * @Date: 2023-05-06 09:32:57 * @LastEditors: xxx * @LastEditTime: 2023-05-06 09:34:41 * @Description:常用表定义 * @email: * @Copyright (c) 2023 by xxx, All Rights Reserved. */ #ifndef __HART_COMMON_TABLES_SPECIFICATION_H__ #define __HART_COMMON_TABLES_SPECIFICATION_H__ #include "lib.h" #define HART_PACKED3_LEN 3U #define HART_PACKED4_LEN 4U #define HART_PACKED6_LEN 6U #define HART_PACKED8_LEN 8U #define HART_PACKED10_LEN 10U #define HART_PACKED12_LEN 12U #define HART_PACKED16_LEN 16U #define HART_PACKED21_LEN 21U #define HART_PACKED24_LEN 24U #define HART_PACKED25_LEN 25U #define HART_PACKED26_LEN 26U #define HART_PACKED30_LEN 30U #define HART_PACKED32_LEN 32U #define HART_PACKED40_LEN 40U #define HART_PACKED128_LEN 128U #define HART_DATE_LEN 3U // hart命令码定义 /** * 命令编号分区 * 0-30,38,48 普通命令 * 31 扩展标志 * 32-121、512-767 通用命令 * 122-126 仅在现场设备建造期间供工厂使用 * 128-253 设备特定 * 127、254-511 保留 * 768-1023 无线HART * 1024-33791 设备系列 * 33,792-64383 保留 * 64,384-64511 Discrete * 64512-64765 无线设备 * 64768-65023 附加装置 * 65024-65535 保留 */ typedef enum { HART_COMMAND_0 = 0, // 读取唯一标识命令 HART_COMMAND_1 = 1, // 读取主变量 HART_COMMAND_2 = 2, // 读取回路电流和量程百分比 HART_COMMAND_3 = 3, // 读取动态变量和回路电流 HART_COMMAND_4 = 4, // 保留 HART_COMMAND_5 = 5, // 保留 HART_COMMAND_6 = 6, // 写入轮训地址 HART_COMMAND_7 = 7, // 读取循环配置 HART_COMMAND_8 = 8, // 读取动态变量分类 HART_COMMAND_9 = 9, // 读取具有状态的设备变量 HART_COMMAND_11 = 11, // 读取与标签关联的唯一标识符 HART_COMMAND_12 = 12, // 读取消息 HART_COMMAND_13 = 13, // 读取标签、描述符、日期 HART_COMMAND_14 = 14, // 读取主变量传感器信息 HART_COMMAND_15 = 15, // 读取设备信息 HART_COMMAND_16 = 16, // 读取最终汇编编号 HART_COMMAND_17 = 17, // 写入消息 HART_COMMAND_18 = 18, // 写标签、描述符、日期 HART_COMMAND_19 = 19, // 编写最终汇编号 HART_COMMAND_20 = 20, // 读取长标签 HART_COMMAND_21 = 21, // 读取与长标签关联的唯一标识符 HART_COMMAND_22 = 22, // 写长标签 HART_COMMAND_38 = 38, // 重置配置更改标志 HART_COMMAND_48 = 48, // 读取其他设备状态 // 扩展指令 HART_COMMAND_31 = 31, // 扩展标志 // 通用指令 HART_COMMAND_33 = 33, // 读取设备变量 HART_COMMAND_34 = 34, // 写入主变量阻尼值 HART_COMMAND_35 = 35, // 写入主变量范围值 HART_COMMAND_36 = 36, // 设置主变量上限值 HART_COMMAND_37 = 37, // 设置主变量下限值 HART_COMMAND_39 = 39, // EEPROM控制 HART_COMMAND_40 = 40, // 进入/退出固定电流模式 HART_COMMAND_41 = 41, // 执行自检 HART_COMMAND_42 = 42, // 执行设备重置 HART_COMMAND_43 = 43, // 设置主变量零 HART_COMMAND_44 = 44, // 编写主变量单元 HART_COMMAND_45 = 45, // 微调回路电流归零 HART_COMMAND_46 = 46, // 微调回路电流增益 HART_COMMAND_47 = 47, // 编写主变量传递函数 HART_COMMAND_49 = 49, // 写入主变量传感器序列号 HART_COMMAND_50 = 50, // 读取动态变量赋值 HART_COMMAND_51 = 51, // 编写动态变量赋值 HART_COMMAND_52 = 52, // 设置设备变量零 HART_COMMAND_53 = 53, // 写入设备变量单元 HART_COMMAND_54 = 54, // 读取设备变量信息 HART_COMMAND_55 = 55, // 写入设备可变阻尼值 HART_COMMAND_56 = 56, // 写入设备可变传感器序列号 HART_COMMAND_57 = 57, // 读取单位标签、描述符、日期 HART_COMMAND_58 = 58, // 编写单位标签、描述符、日期 HART_COMMAND_59 = 59, // 写入响应序码数 HART_COMMAND_60 = 60, // 读取模拟通道和范围百分比 HART_COMMAND_61 = 61, // 读取动态变量和主变量模拟通道 HART_COMMAND_62 = 62, // 读取模拟通道 HART_COMMAND_63 = 63, // 读取模拟通道信息 HART_COMMAND_64 = 64, // 写入模拟通道附加阻尼值 HART_COMMAND_65 = 65, // 写入模拟通道范围值 HART_COMMAND_66 = 66, // 进入/退出固定模拟通道模式 HART_COMMAND_67 = 67, // 调整模拟通道零 HART_COMMAND_68 = 68, // 微调模拟通道增益 HART_COMMAND_69 = 69, // 写入模拟通道传递函数 HART_COMMAND_70 = 70, // 读取模拟通道端点值 HART_COMMAND_71 = 71, // 锁定装置 HART_COMMAND_72 = 72, // 呼叫 HART_COMMAND_73 = 73, // 查找设备 HART_COMMAND_74 = 74, // 读取I/O系统功能 HART_COMMAND_75 = 75, // 轮询子设备 HART_COMMAND_76 = 76, // 读锁定设备状态 HART_COMMAND_77 = 77, // 向子设备发送命令 HART_COMMAND_78 = 78, // 读取聚合命令 HART_COMMAND_79 = 79, // 写入设备变量 HART_COMMAND_80 = 80, // 读取设备可变微调点 HART_COMMAND_81 = 81, // 读取设备变量调整指南 HART_COMMAND_82 = 82, // 写入设备可变微调点 HART_COMMAND_83 = 83, // 重置设备变量调整 HART_COMMAND_84 = 84, // 读取子设备标识摘要 HART_COMMAND_85 = 85, // 读取I/O通道统计信息 HART_COMMAND_86 = 86, // 读取子设备统计信息 HART_COMMAND_87 = 87, // 写入I/O系统主模式 HART_COMMAND_88 = 88, // 写入I/O系统重试计数 HART_COMMAND_89 = 89, // 设置实时时钟 HART_COMMAND_90 = 90, // 读取实时时钟 HART_COMMAND_91 = 91, // 读取趋势配置 HART_COMMAND_92 = 92, // 写入趋势配置 HART_COMMAND_93 = 93, // 读取趋势 HART_COMMAND_94 = 94, // 读取I/O系统客户端通信统计信息 HART_COMMAND_95 = 95, // 读取设备通信统计信息 HART_COMMAND_96 = 96, // 读取同步操作 HART_COMMAND_97 = 97, // 配置同步操作 HART_COMMAND_98 = 98, // 读取命令操作 HART_COMMAND_99 = 99, // 配置命令操作 HART_COMMAND_100 = 100, // 写入主变量报警码 HART_COMMAND_101 = 101, // 读取子设备到突发消息映射 HART_COMMAND_102 = 102, // 将子设备映射到突发信息 HART_COMMAND_103 = 103, // 写入突发周期 HART_COMMAND_104 = 104, // 写入突发触发器 HART_COMMAND_105 = 105, // 读取突发模式配置 HART_COMMAND_106 = 106, // 刷新延迟响应 HART_COMMAND_107 = 107, // 写入突发设备变量 HART_COMMAND_108 = 108, // 写入突发模式命令编号 HART_COMMAND_109 = 109, // 突发模式控制 HART_COMMAND_110 = 110, // 读取所有动态变量 HART_COMMAND_111 = 111, // 转移服务控制 HART_COMMAND_112 = 112, // 传输服务 HART_COMMAND_113 = 113, // 捕获设备变量 HART_COMMAND_114 = 114, // 读取捕获的设备变量 HART_COMMAND_115 = 115, // 读取事件通知摘要 HART_COMMAND_116 = 116, // 写入事件通知位掩码 HART_COMMAND_117 = 117, // 写入事件通知时序 HART_COMMAND_118 = 118, // 事件通知控制 HART_COMMAND_119 = 119, // 确认事件通知 // 128-253 设备特定 HART_COMMAND_129 = 129, // 用户自定义读取参数 HART_COMMAND_130 = 130, // 用户自定义设置参数 HART_COMMAND_131 = 131, // 写入整定参数 HART_COMMAND_132 = 132, // 读取整定参数类型 HART_COMMAND_133 = 133, // 获取打开的文件信息 HART_COMMAND_134 = 134, // 读取文件内容 HART_COMMAND_135 = 135, // 写入文件内容 HART_COMMAND_136 = 136, // 读取/解除/写入EEPROM HART_COMMAND_138 = 138, // 读取其他状态 HART_COMMAND_140 = 140, // 读取触发器定义的内容 HART_COMMAND_141 = 141, // 写保护 HART_COMMAND_142 = 142, // 自整定 HART_COMMAND_143 = 143, // 设置阀门序列号 HART_COMMAND_144 = 144, // 读取阀门序列号 HART_COMMAND_145 = 145, // 读取仪器序列号 HART_COMMAND_146 = 146, // 读取标准跨度信息 HART_COMMAND_147 = 147, // 读取设备等级 HART_COMMAND_149 = 149, // 设置仪器时间 HART_COMMAND_150 = 150, // 读取仪器时间 HART_COMMAND_151 = 151, // 读取版本信息 HART_COMMAND_153 = 153, // 读取校准记录 HART_COMMAND_154 = 154, // 设置仪器序列号 HART_COMMAND_155 = 155, // 执行诊断 HART_COMMAND_156 = 156, // 读取诊断状态 HART_COMMAND_157 = 157, // 停止诊断 HART_COMMAND_158 = 158, // 在线诊断测试 HART_COMMAND_162 = 162, // 设置气源气压/A口/B口 HART_COMMAND_164 = 164, // 读取规格表数据 HART_COMMAND_165 = 165, // 写入规格表数据 HART_COMMAND_167 = 167, // 写入操作日期和用户 HART_COMMAND_168 = 168, // 读取部分行程警报 HART_COMMAND_170 = 170, // 读取制造信息序列号 HART_COMMAND_187 = 187, // 在测试 写保护、置位更多状态、CAL036、CAL037等脚本时,需要通过发送自定义命令实现 HART_COMMAND_200 = 200, // 读取NVM非易失性存储器数据 // 大号指令,command31扩展指令 HART_COMMAND_512 = 512, // 读取国家代码 HART_COMMAND_513 = 513, // 编写国家代码 HART_COMMAND_514 = 514, // 注册事件管理器 HART_COMMAND_515 = 515, // 读取事件管理器注册状态 HART_COMMAND_516 = 516, // 读取设备位置 HART_COMMAND_517 = 517, // 写入设备位置 HART_COMMAND_518 = 518, // 读取位置说明 HART_COMMAND_519 = 519, // 写入位置说明 HART_COMMAND_520 = 520, // 读取进程单元标签 HART_COMMAND_521 = 521, // 写入进程单元标记 HART_COMMAND_522 = 522, // 写入体积流分类 HART_COMMAND_523 = 523, // 读取精简状态映射数组 HART_COMMAND_524 = 524, // 写入精简状态映射 HART_COMMAND_525 = 525, // 重置精简状态图 HART_COMMAND_526 = 526, // 写入状态模拟模式 HART_COMMAND_527 = 527, // 模拟状态位 HART_COMMAND_528 = 528, // 读取子设备分配列表信息 HART_COMMAND_529 = 529, // 读取子设备分配 HART_COMMAND_530 = 530, // 写入子设备分配 HART_COMMAND_531 = 531, // 将实时列表传输到分配列表 HART_COMMAND_532 = 532, // 读取客户端订阅摘要 HART_COMMAND_533 = 533, // 写入客户端订阅标志 HART_COMMAND_534 = 534, // 读取设备变量命令代码 HART_COMMAND_535 = 535, // 写入模拟通道端点值 HART_COMMAND_536 = 536, // 写入应用时间操作 HART_COMMAND_537 = 537, // 读取应用时间操作 HART_COMMAND_538 = 538, // 读取HART-IP服务器端口 HART_COMMAND_539 = 539, // 写入HART-IP UDP端口 HART_COMMAND_540 = 540, // 写入HART-IP TCP端口 HART_COMMAND_541 = 541, // 写入客户端PAKE密码 HART_COMMAND_542 = 542, // 写入客户端预共享密钥 HART_COMMAND_543 = 543, // 读取系统日志服务器主机名和端口 HART_COMMAND_544 = 544, // 写入系统日志端口 HART_COMMAND_545 = 545, // 写入系统日志服务器主机名 HART_COMMAND_546 = 546, // 写入系统日志服务器预共享密钥 HART_COMMAND_547 = 547, // 写入系统日志服务器PAKE密码 HART_COMMAND_MAX, } hart_command_e; // 结束:hart命令码定义 // 5.0响应代码定义 typedef enum { // No Command-Specific Errors 成功 RESPONSE_COMMUNICATION_CODE_0 = 0x00, // Undefined 目前尚未定义。该代码用于协议的早期版本,不得用于任何现场设备。 RESPONSE_COMMUNICATION_CODE_1 = 0x01, // Invalid Selection 此代码表示未执行该命令。现场设备未返回响应数据。 RESPONSE_COMMUNICATION_CODE_2 = 0x02, // Passed Parameter Too Large 传递的参数太长 RESPONSE_COMMUNICATION_CODE_3 = 0x03, // Passed Parameter Too Small 传递的参数太短 RESPONSE_COMMUNICATION_CODE_4 = 0x04, // Too Few Data Bytes Received 接收的数据长度不足 RESPONSE_COMMUNICATION_CODE_5 = 0x05, // Device-specific Command Error 设备特定命令错误,未定义的 RESPONSE_COMMUNICATION_CODE_6 = 0x06, // In Write Protect Mode 处于写保护模式 RESPONSE_COMMUNICATION_CODE_7 = 0x07, /** * 1.Update Failure 更新失败 2.Update Times Adjusted 更新时间已调整 3.Update Period Increased 更新周期已增加 4.Set to Nearest Possible Value 设置为最接近的可能值 5.All but running delayed responses flushed 所有但运行延迟响应已刷新 */ RESPONSE_COMMUNICATION_CODE_8 = 0x08, /** * 1.Lower Range Value Too High 下限值高于传感器上限或超出其他物理设备限制 2.Applied Process Too High 应用于现场设备的过程过高 3.Invalid Burst Message 字段不支持突发消息编号 4.Configuration Change Counter Mismatch 配置更改计数器值与当前设备值不匹配 5.Insufficient bandwidth 没有足够的带宽来启用指定的突发消息 6.Not In Proper Current Mode 现场设备未处于固定电流模式或电流未设置为正确值 */ RESPONSE_COMMUNICATION_CODE_9 = 0x09, /** * 1.Lower Range Value Too Low 下限值低于传感器下限或超出某些其他物理设备限制 2.Applied Process Too Low 应用于现场设备的过程过低 3.Invalid Local Panel Lock Code 本地面板密码无效 */ RESPONSE_COMMUNICATION_CODE_10 = 0x0A, /** * 1.Upper Range Value Too High 上限值高于传感器上限 2.In Multi-drop Mode 设备处于多点状态,因此无法执行命令 3.Invalid Device Variable Code 请求的命令或操作不支持此设备变量。换句话说,设备变量是有效的,但您不能将其与此命令一起使用 4.Invalid Device Variable Classification 写入命令中包含的设备变量分类代码对该设备变量无效 5.Trim Error,Excess Correction Attempted 测量值和实际值之间的差异太大,以至于现场设备无法在计算中校正该值 6.Cannot Lock Panel 现场设备处于不允许锁定本地面板的模式(例如,操作员已经在使用本地面板) */ RESPONSE_COMMUNICATION_CODE_11 = 0x0B, /** * 1.Upper Range Value Too Low 上限值低于传感器下限 2.Invalid Units Code 在该命令、设备变量或动态变量的上下文中不支持请求的单位代码 3.Invalid SOLT Number 用于捕获动态变量或设备变量的请求插槽代码对于指定的命令号无效 4.Invalid Mode Selection 请求的(例如,回路电流)模式无效 */ RESPONSE_COMMUNICATION_CODE_12 = 0x0C, /** * 1.Invalid Transfer Function Code 此模拟通道或动态变量不支持请求的传递函数 2.Upper and Lower Range Values Out Of Limits 上限和下限范围值超出传感器限制或超出了其他一些物理设备限制。 3.Computation Error 当现场设备试图在主机应用程序的命令请求中应用新值时,遇到了一个算术错误。 4.Command Number Not Supported 此现场设备不支持所请求的要捕获的命令号。 */ RESPONSE_COMMUNICATION_CODE_13 = 0x0D, /** * 1.Span Too Small 跨度,由"上范围值”和"下范围值”确定。小于最小跨度 2.Dynamic Variables Returned for Device Variables 现场设备不公开任何设备变量。在指令9中,为代码0-3返回动态变量。 3.Update Rate Uncertain 当设备未加入Wireless HART网络时,它还不知道是否有足够的容量来满足所需的通知参数。 4.New Lower Range Value Pushed Upper Range Value Over Transducer Limit 现场设备使用了要求的较低范围值,并进行了修改相应的上限值。不幸的是,上范围值已饱和,跨度未保持。 */ RESPONSE_COMMUNICATION_CODE_14 = 0x0E, // Invalid Analog Channel Code Number 该现场设备中不存在模拟通道代码编号 RESPONSE_COMMUNICATION_CODE_15 = 0x0F, // Access Restricted 设备在当前操作模式下不允许使用该命令。例如,设备被锁定(参见命令71) RESPONSE_COMMUNICATION_CODE_16 = 0x10, // Invalid Device Variable Index 请求的设备变量在此现场设备中不存在 RESPONSE_COMMUNICATION_CODE_17 = 0x11, // Invalid Units Code 请求的单位代码在此命令、设备变量或动态变量的上下文中不受支持 RESPONSE_COMMUNICATION_CODE_18 = 0x12, // Device Variable Index Not Allowed 请求的命令或操作不支持此设备变量。换句话说,设备变量是有效的但不能将它与此命令一起使用 RESPONSE_COMMUNICATION_CODE_19 = 0x13, // Invalid Extended Command Number 扩展命令编号少于512 RESPONSE_COMMUNICATION_CODE_20 = 0x14, // Invalid I/O card number I/O系统在命令的请求数据字节中指定的 (逻辑)插槽中没有I/O卡 RESPONSE_COMMUNICATION_CODE_21 = 0x15, // Invalid Channel number 无效频道号码I/O卡没有在命令的请求数据字节中指定的通道 RESPONSE_COMMUNICATION_CODE_22 = 0x16, // Sub-device Response Too Long 子设备响应太I/O系统从子设备接收到的响应包含的字节数超过了I/O系统在单个响长的 应数据包中可以转发的字节数。 RESPONSE_COMMUNICATION_CODE_23 = 0x17, // 24-27 保留供高级别委员会今后确定。这些代码不能被任何制造商使用。 // Invalid Range Units Code 无效的距离单位代码此模拟通道或动态变量的字段设备不支持命令中包含的单位代码。 RESPONSE_COMMUNICATION_CODE_28 = 0x1C, // Undefined(自定义) 此响应代码的确切含义因命令而异。有关确切含义,请参见命令规范。制造商在设备特定命令使用时,可以定义此代码的另一个含义,只要只适用于给定的命令。使用此代码表示未执行该命令。没有从现场设备返回响应数据字节。目前没有具体定义 RESPONSE_COMMUNICATION_CODE_29 = 0x1D, // Command Response Truncated 设备无法按要求重新设置为多个设备变量。这通常是由于命令缓冲区长度有限造成的。 RESPONSE_COMMUNICATION_CODE_30 = 0x1E, // Undefined(自定义) 此响应代码的确切含义因命令而异。有关实际含义,请参阅命令规范。当制造商的设备特定命令使用此代码时,只要只有一种含义适用于给定的命令,制造商就可以确定此代码的另一种含义。使用这些代码表明该命令已执行,但需要偏离主机应用程序请求才能成功完成该命令。实际使用的值在现场设备的响应数据字节定义中重新使用 RESPONSE_COMMUNICATION_CODE_31 = 0x1F, // Busy 此代码可能由以下两种情况之一引起: ()设备正于执行不能被此命令中断的功能:或2)所请求的命令需要延迟响应机制。不幸的是,所有延迟响应缓冲区都被使用了。在这两种情况下,主机应用程序都应该多次重试其请求(例如超过30次),直到现场设备可以执行命令。 RESPONSE_COMMUNICATION_CODE_32 = 0x20, // Delayed Response Initiated 无法在数据链路层指定的时间内处理该命令。启动了延迟响应。主机应用程序应该在延迟一段时间后重试完全相同的请求(例如,延迟几秒钟后)。当通过多路复用器进行通信时,这种延迟可能只有半秒 RESPONSE_COMMUNICATION_CODE_33 = 0x21, // Delayed Response Running 延迟响应的执行尚未完成。进程仍在现场设备中运行。 RESPONSE_COMMUNICATION_CODE_34 = 0x22, // Delayed Response Dead 此响应仅对智能桥接设备有效。此代码表示现场设备没有响应请求。 RESPONSE_COMMUNICATION_CODE_35 = 0x23, // Delayed Response Conflict 请求的命令将导致与现场设备中当前执行的延迟响应发生冲突。 RESPONSE_COMMUNICATION_CODE_36 = 0x24, // 37-59 保留将来定义。任何制造商都不得使用这些代码 // Tag Mismatch Error 请求中的标记与设备和传输层不匹配已设置“已确认”位 RESPONSE_COMMUNICATION_CODE_38 = 0x26, // Payload Too Long 命令有效负载不适合 Wireless HART PDU RESPONSE_COMMUNICATION_CODE_60 = 0x3C, // No Buffers Available 该设备没有可用于接受Wireless HART DLPDU 的缓冲区 RESPONSE_COMMUNICATION_CODE_61 = 0x3D, // No Alarm/Event Buffers Available 设备没有可用于接受Wireless HART DLPDU的报警/事件缓冲区 RESPONSE_COMMUNICATION_CODE_62 = 0x3E, // Priority Too Low DLPDU的优先级太低,设备无法接受Wireless HART DLPDU RESPONSE_COMMUNICATION_CODE_63 = 0x3F, // Command Not Implemented 请求的命令没有实现。此响应对通用命令无效。对于任何其他命令,该代码可能由现场设备返回,即使命令规范本身没有定义响应代码#64。 RESPONSE_COMMUNICATION_CODE_64 = 0x40, /** * 1.Declined.Operator overridden. 已拒绝。操作员已撤销。 2.Force Join Declined 强制加入已拒绝 3.Invalid Network ID 无效的网络ID 4.Invalid timer type 计时器类型无效 5.Invalid Time-to-Live 无效的生存时间 6.Invalid Join Priority 无效的加入优先级 7.Unknown Nickname 未知昵称 8.Invalid Nickname 昵称无效 9.Service Request denied 服务请求被拒绝 10.Link not found 未找到链接 11.No more entries available 没有更多可用的条目 12.Entry not found 未找到条目 13.Illegal frequency channel bits 非法频道位 14.Unknown Unique ID Key change failed 未知的唯一IDKey更改失败 15.Session with given peer device does not exist 与给定对等设备的会话不存在 16.Invalid suspend time 无效地挂起时间 */ RESPONSE_COMMUNICATION_CODE_65 = 0x41, /** * 1.Invalid number of slots 插槽数量无效 2.Session type invalid 会话类型无效 3.Invalid execution time 执行时间无效 4.Unknown Notification Flag 未知通知标志 5.Device List Conflict 设备列表冲突 6.Invalid neighbor property 邻居属性无效 7.Invalid Service Id 服务Id无效 8.Invalid Graph Id 图形Id无效 9.Invalid resume time 恢复时间无效 10.Link already exists 链接已存在 11.Invalid Reason Code 原因代码无效 12.Unknown service flag 未知服务标志 13.Invalid timer interval 计时器间隔无效 */ RESPONSE_COMMUNICATION_CODE_66 = 0x42, /** * 1.Invalid Graph Id 无效的图形Id 2.Unknown Superframe ID 未知超帧ID 3.Invalid Superframe mode 无效的超帧模式 4.Reason Code rejected,Service not deleted 原因代码被拒绝,服务未删除 5.Unknown application domain 未知的应用程序域 */ RESPONSE_COMMUNICATION_CODE_67 = 0x43, /** * 1.Unknown nickname 未知昵称 2.Invalid execution time 无效的执行时间 3.Invalid slot number 插槽编号无效 */ RESPONSE_COMMUNICATION_CODE_68 = 0x44, // Unknown link options 未知链接选项 RESPONSE_COMMUNICATION_CODE_69 = 0x45, // Invalid channel offset 无效通道偏移 RESPONSE_COMMUNICATION_CODE_70 = 0x46, // Invalid link type 无效的链接类型 RESPONSE_COMMUNICATION_CODE_71 = 0x47, // 72-95 此响应代码的确切含义因命令而异。有关实际含义,请参阅命令规范。当制造商的设备特定命令使用此代码时,制造商可以为其定义另一种含义,只要只有一种含义适用于给定的命令。使用这些代码表示该命令未执行。没有从现场设备返回响应数据字节目前没有特定的定义 // 96-111 保留将来定义。任何制造商都不得使用这些代码 // 112-127 此响应代码的确切含义因命令而异。有关实际含义,请参阅命令规范。当制造商的设备特定命令使用此代码时,只要只有一种含义适用于给定的命令,制造商就可以定义此代码的另一种含义。使用这些代码表示命令已执行,但需要偏离主机应用程序的要求才能成功完成命令。实际使用的值在现场设备中返回响应数据字节 RESPONSE_COMMUNICATION_CODE_126 = 0x7E, // 指令中的设备变量只被部分支持 RESPONSE_COMMUNICATION_CODE_127 = 0x7F, // 不回复消息,缓存上一条消息 } response_communication_code_e; // 通信正常的信息 typedef enum { RESPONSE_ERROR_COMMUNICATION_CODE_0 = BIT0, // 缓冲区溢出-消息对于设备的接收缓冲区来说太长 RESPONSE_ERROR_COMMUNICATION_CODE_1 = BIT1, // 通讯故障-与现场设备或子设备的通信不成功。设备可能已断开连接。该位应该由主数据链路和I/O系统设置,以指示与现场设备的通信失败 RESPONSE_ERROR_COMMUNICATION_CODE_2 = BIT2, // 奇偶校验误差-设备计算的奇偶校验与消息末尾的校验字节不匹配 RESPONSE_ERROR_COMMUNICATION_CODE_3 = BIT3, // 帧错误-UART没有检测到设备接收到的一个或多个字节的停止位(当应该出现停止位时,没有检测到标记或1) RESPONSE_ERROR_COMMUNICATION_CODE_4 = BIT4, // 溢出错误-UART的接收缓冲区中至少有一个字节的数据在读取之前被覆盖(从服务器处理传入字节的速度不够快) RESPONSE_ERROR_COMMUNICATION_CODE_5 = BIT5, // 垂直奇偶校验错误-设备接收到的一个或多个字节的奇偶性不是奇数。 RESPONSE_ERROR_COMMUNICATION_CODE_6 = BIT6, // 高位置一 RESPONSE_ERROR_COMMUNICATION_CODE_7 = BIT7, } response_error_communication_code_e; // 通信错误的信息 typedef enum { // 主变量超越极限PV已经超出了它的运行极限 RESPONSE_DEVICE_OPERATION_STATUS_CODE_1 = BIT0, // 非主变量超越极限-A未映射到PV的设备变量超出其操作限制 RESPONSE_DEVICE_OPERATION_STATUS_CODE_2 = BIT1, // 环路电流饱和-回路电流已达到其上(或下) 端点限制,不能再增加(或减少) RESPONSE_DEVICE_OPERATION_STATUS_CODE_3 = BIT2, // 环路电流固定1-环电流保持在一个固定的值,并没有响应进程的变化 RESPONSE_DEVICE_OPERATION_STATUS_CODE_4 = BIT3, // 更多状态可用-更多的状态信息可通过Command 48,读取额外的状态信息 RESPONSE_DEVICE_OPERATION_STATUS_CODE_5 = BIT4, // 冷启动-发生电源故障或设备重置 RESPONSE_DEVICE_OPERATION_STATUS_CODE_6 = BIT5, // 配置已更改-执行的操作更改了设备的配置 RESPONSE_DEVICE_OPERATION_STATUS_CODE_7 = BIT6, // 设备故障-设备检测到严重错误或故障,危及设备运行 RESPONSE_DEVICE_OPERATION_STATUS_CODE_8 = BIT7, } response_device_operation_status_code_e; // 设备的操作状态有关的信息 // 5.1 扩展设备类型 typedef enum { // EXTENDED_DEVICE_TYPE_GSDT = 0x1309, EXTENDED_DEVICE_TYPE_GSDT_GPS2000 = 0xE63F, // 0xE63F = 58943 EXTENDED_DEVICE_TYPE_GSDT_GPS3000 = 0xE640, // 0xE640 = 58944 } extended_device_type_e; // 5.2 单位代码 typedef enum { // 温度单位代码 UNITS_CODE_TEMPERATURE_CELSIUS = 32, // 摄氏度 UNITS_CODE_TEMPERATURE_FAHRENHEIT = 33, // 华氏度 UNITS_CODE_TEMPERATURE_RANKINE = 34, // 兰氏度 UNITS_CODE_TEMPERATURE_KELVIN = 35, // 开氏度 // 压力单位代码 UNITS_CODE_PRESSURE_INH20 = 1, // 英寸水柱 UNITS_CODE_PRESSURE_INHG = 2, // 英寸汞柱 UNITS_CODE_PRESSURE_FTH20 = 3, // 英尺水柱 UNITS_CODE_PRESSURE_MMH20 = 4, // 毫米水柱 UNITS_CODE_PRESSURE_MMHG = 5, // 毫米汞柱 UNITS_CODE_PRESSURE_PSI = 6, // 磅力/平方英寸 UNITS_CODE_PRESSURE_BAR = 7, // 巴 UNITS_CODE_PRESSURE_MBAR = 8, // 毫巴 UNITS_CODE_PRESSURE_GCM2 = 9, // 克/平方厘米 UNITS_CODE_PRESSURE_KGCM2 = 10, // 千克/平方厘米 UNITS_CODE_PRESSURE_PA = 11, // 帕斯卡 UNITS_CODE_PRESSURE_KPA = 12, // 千帕 UNITS_CODE_PRESSURE_TORR = 13, // 托 UNITS_CODE_PRESSURE_ATM = 14, // 标准大气压 UNITS_CODE_PRESSURE_INH20_60F = 145, // 英寸水柱(60°F) UNITS_CODE_PRESSURE_CMH20_4C = 170, // 厘米水柱(4°C) UNITS_CODE_PRESSURE_MH20_4C = 171, // 米水柱(4°C) UNITS_CODE_PRESSURE_CMHG = 172, // 厘米汞柱 UNITS_CODE_PRESSURE_LBFT2 = 173, // 磅/平方英尺 UNITS_CODE_PRESSURE_HPA = 174, // 百帕 UNITS_CODE_PRESSURE_PSIA = 175, // 磅力/平方英寸绝对 UNITS_CODE_PRESSURE_KGM2 = 176, // 千克/平方米 UNITS_CODE_PRESSURE_FTH20_4C = 177, // 英尺水柱(4°C) UNITS_CODE_PRESSURE_FTH20_60F = 178, // 英尺水柱(60°F) UNITS_CODE_PRESSURE_MHG = 179, // 米汞柱 UNITS_CODE_PRESSURE_MPSI = 180, // 兆磅力/平方英寸 UNITS_CODE_PRESSURE_OZIN2 = 181, // 盎司/平方英寸 UNITS_CODE_PRESSURE_MPA = 237, // 兆帕 UNITS_CODE_PRESSURE_INH20_4C = 238, // 英寸水柱(4°C) UNITS_CODE_PRESSURE_MMH20_4C = 239, // 毫米水柱(4°C) // 体积流量单位代码 UNITS_CODE_VOLUMETRIC_FLOW_RATE_FT3MIN = 15, // 英尺立方/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALMIN = 16, // 加仑/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_IMIN = 17, // 英制加仑/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALUKMIN = 18, // 英国加仑/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_M3H = 19, // 立方米/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALS = 22, // 加仑/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_MGALD = 23, // 百万加仑/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_IS = 24, // 英制加仑/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_MID = 25, // 百万英里/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_FT3S = 26, // 英尺立方/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_FT3D = 27, // 英尺立方/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_M3S = 28, // 立方米/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_M3D = 29, // 立方米/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALUKH = 30, // 英国加仑/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALUKD = 31, // 英国加仑/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NM3H = 121, // 标准立方米/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NIH = 122, // 标准升/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SCFMIN = 123, // 标准立方英尺/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_FT3H = 130, // 英尺立方/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_M3MIN = 131, // 立方米/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLS = 132, // 桶/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLMIN = 133, // 桶/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLH = 134, // 桶/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLD = 135, // 桶/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALH = 136, // 加仑/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALUKS = 137, // 英国加仑/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_IH = 138, // 英制加仑/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLBEERS = 170, // 啤酒桶/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLBEERMIN = 171, // 啤酒桶/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLBEERH = 172, // 啤酒桶/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_BBLBEERD = 173, // 啤酒桶/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NID = 174, // 标准升/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NIMIN = 175, // 标准升/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NIS = 176, // 标准升/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SID = 177, // 立方米/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SIH = 178, // 立方米/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SIMIN = 179, // 立方米/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SIS = 180, // 立方米/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NM3D = 181, // 标准立方米/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NM3MIN = 182, // 标准立方米/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_NM3S = 183, // 标准立方米/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SCFD = 184, // 标准立方英尺/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SCFH = 185, // 标准立方英尺/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SCFS = 186, // 标准立方英尺/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SM3D = 187, // 立方米/天 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SM3H = 188, // 立方米/小时 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SM3MIN = 189, // 立方米/分钟 UNITS_CODE_VOLUMETRIC_FLOW_RATE_SM3S = 190, // 立方米/秒 UNITS_CODE_VOLUMETRIC_FLOW_RATE_GALD = 235, // 加仑/天 // 速度单位代码 UNITS_CODE_SPEED_FTS = 20, // 英尺/秒 UNITS_CODE_SPEED_MS = 21, // 米/秒 UNITS_CODE_SPEED_INS = 114, // 英寸/秒 UNITS_CODE_SPEED_INMIN = 115, // 英寸/分钟 UNITS_CODE_SPEED_FTMIN = 116, // 英尺/分钟 UNITS_CODE_SPEED_MH = 120, // 米/小时 UNITS_CODE_SPEED_MMS = 170, // 毫米/秒 // 卷单位代码 UNITS_CODE_VOLUME_GAL = 40, // 加仑 UNITS_CODE_VOLUME_L = 41, // 升 UNITS_CODE_VOLUME_GALUK = 42, // 英国加仑 UNITS_CODE_VOLUME_M3 = 43, // 立方米 UNITS_CODE_VOLUME_BBL = 46, // 桶 UNITS_CODE_VOLUME_BU = 110, // 蒲式耳 UNITS_CODE_VOLUME_YD3 = 111, // 立方码 UNITS_CODE_VOLUME_FT3 = 112, // 英尺立方 UNITS_CODE_VOLUME_IN3 = 113, // 立方英寸 UNITS_CODE_VOLUME_BBLUS = 124, // 美国桶 UNITS_CODE_VOLUME_NM3 = 166, // 标准立方米 UNITS_CODE_VOLUME_NL = 167, // 标准升 UNITS_CODE_VOLUME_SCF = 168, // 标准立方英尺 UNITS_CODE_VOLUME_BBLBEER = 170, // 啤酒桶 UNITS_CODE_VOLUME_SL = 171, // 立方米/秒 UNITS_CODE_VOLUME_SM3 = 172, // 立方米 UNITS_CODE_VOLUME_MGAL = 173, // 百万加仑 UNITS_CODE_VOLUME_HL = 236, // 公石 // 长度单位代码 UNITS_CODE_LENGTH_FT = 44, // 英尺 UNITS_CODE_LENGTH_M = 45, // 米 UNITS_CODE_LENGTH_IN = 47, // 英寸 UNITS_CODE_LENGTH_CM = 48, // 厘米 UNITS_CODE_LENGTH_MM = 49, // 毫米 UNITS_CODE_LENGTH_FT16 = 151, // 英尺-16 UNITS_CODE_LENGTH_UM = 170, // 微米 UNITS_CODE_LENGTH_UIN = 171, // 微英寸 UNITS_CODE_LENGTH_NM = 172, // 纳米 // 时间单位代码 UNITS_CODE_TIME_MIN = 50, // 分钟 UNITS_CODE_TIME_S = 51, // 秒 UNITS_CODE_TIME_H = 52, // 小时 UNITS_CODE_TIME_D = 53, // 天 UNITS_CODE_TIME_MS = 170, // 毫秒 UNITS_CODE_TIME_US = 171, // 微秒 UNITS_CODE_TIME_NS = 172, // 纳秒 // 质量单位代码 UNITS_CODE_QUALITY_G = 60, // 克 UNITS_CODE_QUALITY_KG = 61, // 千克 UNITS_CODE_QUALITY_T = 62, // 吨 UNITS_CODE_QUALITY_LB = 63, // 磅 UNITS_CODE_QUALITY_TON = 64, // 短吨 UNITS_CODE_QUALITY_TONUK = 65, // 长吨 UNITS_CODE_QUALITY_OZ = 125, // 盎司 // 质量流量单位代码 UNITS_CODE_MASS_FLOW_GS = 70, // 克/秒 UNITS_CODE_MASS_FLOW_GMIN = 71, // 克/分钟 UNITS_CODE_MASS_FLOW_GH = 72, // 克/小时 UNITS_CODE_MASS_FLOW_KGS = 73, // 千克/秒 UNITS_CODE_MASS_FLOW_KGMIN = 74, // 千克/分钟 UNITS_CODE_MASS_FLOW_KGH = 75, // 千克/小时 UNITS_CODE_MASS_FLOW_KGD = 76, // 千克/天 UNITS_CODE_MASS_FLOW_TMIN = 77, // 吨/分钟 UNITS_CODE_MASS_FLOW_TH = 78, // 吨/小时 UNITS_CODE_MASS_FLOW_TD = 79, // 吨/天 UNITS_CODE_MASS_FLOW_LBS = 80, // 磅/秒 UNITS_CODE_MASS_FLOW_LBMIN = 81, // 磅/分钟 UNITS_CODE_MASS_FLOW_LBH = 82, // 磅/小时 UNITS_CODE_MASS_FLOW_LBD = 83, // 磅/天 UNITS_CODE_MASS_FLOW_TONMIN = 84, // 短吨/分钟 UNITS_CODE_MASS_FLOW_TONH = 85, // 短吨/小时 UNITS_CODE_MASS_FLOW_TOND = 86, // 短吨/天 UNITS_CODE_MASS_FLOW_TONUKH = 87, // 长吨/小时 UNITS_CODE_MASS_FLOW_TONUKD = 88, // 长吨/天 // 单位体积质量单位代码 UNITS_CODE_MASS_PER_UNIT_VOLUME_SG = 90, // 比重 UNITS_CODE_MASS_PER_UNIT_VOLUME_GM3 = 91, // 克/立方米 UNITS_CODE_MASS_PER_UNIT_VOLUME_KGM3 = 92, // 千克/立方米 UNITS_CODE_MASS_PER_UNIT_VOLUME_LBGAL = 93, // 磅/加仑 UNITS_CODE_MASS_PER_UNIT_VOLUME_LBFT3 = 94, // 磅/立方英尺 UNITS_CODE_MASS_PER_UNIT_VOLUME_GML = 95, // 克/毫升 UNITS_CODE_MASS_PER_UNIT_VOLUME_KGL = 96, // 千克/升 UNITS_CODE_MASS_PER_UNIT_VOLUME_GL = 97, // 克/升 UNITS_CODE_MASS_PER_UNIT_VOLUME_LBIN3 = 98, // 磅/立方英寸 UNITS_CODE_MASS_PER_UNIT_VOLUME_TONYD3 = 99, // 吨/立方码 UNITS_CODE_MASS_PER_UNIT_VOLUME_OTW = 100, // 盐度 UNITS_CODE_MASS_PER_UNIT_VOLUME_BO = 102, // 油比重 UNITS_CODE_MASS_PER_UNIT_VOLUME_BLIGHT = 103, // B°(轻质油) UNITS_CODE_MASS_PER_UNIT_VOLUME_DEGAPI = 104, // API度 UNITS_CODE_MASS_PER_UNIT_VOLUME_UGL = 146, // 微克/升 UNITS_CODE_MASS_PER_UNIT_VOLUME_UGM3 = 147, // 微克/立方米 UNITS_CODE_MASS_PER_UNIT_VOLUME_PERCENT = 148, // 百分比 UNITS_CODE_MASS_PER_UNIT_VOLUME_MGL = 170, // 毫克/升 UNITS_CODE_MASS_PER_UNIT_VOLUME_MGM3 = 171, // 毫克/立方米 UNITS_CODE_MASS_PER_UNIT_VOLUME_TM3 = 172, // 吨/立方米 // 粘度单位代码 UNITS_CODE_VISCOSITY_CST = 54, // 厘斯 UNITS_CODE_VISCOSITY_CP = 55, // 毫帕秒 UNITS_CODE_VISCOSITY_PAS = 170, // 帕斯卡秒 // 角速度单位代码 UNITS_CODE_ANGULAR_VELOCITY_OSPS = 117, // 角度/秒 UNITS_CODE_ANGULAR_VELOCITY_RPS = 118, // 每秒转数 UNITS_CODE_ANGULAR_VELOCITY_RPM = 119, // 每分钟转数 // 能源(功)单位代码 UNITS_CODE_ENERGY_J = 69, // 焦耳 UNITS_CODE_ENERGY_DTH = 89, // 热力单位 UNITS_CODE_ENERGY_FTLBF = 126, // 英尺-磅 UNITS_CODE_ENERGY_KWH = 128, // 千瓦时 UNITS_CODE_ENERGY_MCALTH = 162, // 兆卡(热) UNITS_CODE_ENERGY_MJ = 164, // 兆焦 UNITS_CODE_ENERGY_BTU = 165, // 英热单位 UNITS_CODE_ENERGY_KVAH = 170, // 千伏安时 UNITS_CODE_ENERGY_KVARH = 171, // 千乏时 UNITS_CODE_ENERGY_MBTU = 172, // 百万英热单位 // 力单位代码 UNITS_CODE_POWER_N = 68, // 牛 UNITS_CODE_POWER_KN = 170, // 千牛 // 动力单位代码 UNITS_CODE_DYNAMIC_KW = 127, // 千瓦 UNITS_CODE_DYNAMIC_HP = 129, // 马力 UNITS_CODE_DYNAMIC_MCALTHH = 140, // 兆卡(热)/小时 UNITS_CODE_DYNAMIC_MJH = 141, // 兆焦/小时 UNITS_CODE_DYNAMIC_BTUH = 142, // 英热单位/小时 UNITS_CODE_DYNAMIC_MJS = 170, // 兆焦/秒 UNITS_CODE_DYNAMIC_MW = 170, // 兆瓦 UNITS_CODE_DYNAMIC_MJD = 171, // 兆焦/天 UNITS_CODE_DYNAMIC_MMBTUS = 172, // 百万英热单位/秒 UNITS_CODE_DYNAMIC_MMBTUH = 173, // 百万英热单位/小时 UNITS_CODE_DYNAMIC_MMBTUD = 174, // 百万英热单位/天 UNITS_CODE_DYNAMIC_VA = 175, // 伏安 UNITS_CODE_DYNAMIC_KVA = 176, // 千伏安 UNITS_CODE_DYNAMIC_KVAR = 177, // 千乏 UNITS_CODE_DYNAMIC_BTUD = 178, // 英热单位/天 UNITS_CODE_DYNAMIC_BTUMIN = 179, // 英热单位/分钟 UNITS_CODE_DYNAMIC_MJMIN = 180, // 兆焦/分钟 UNITS_CODE_DYNAMIC_BTUS = 181, // 英热单位/秒 UNITS_CODE_DYNAMIC_MBTUS = 182, // 百万英热单位/秒 UNITS_CODE_DYNAMIC_MBTUM = 183, // 百万英热单位/分钟 UNITS_CODE_DYNAMIC_MBTUH = 184, // 百万英热单位/小时 UNITS_CODE_DYNAMIC_MBTUD = 185, // 百万英热单位/天 // 频率单位代码 UNITS_CODE_FREQUENCY_HZ = 38, // 赫兹 // 分析单位代码 UNITS_CODE_ANALYSIS_PERCENT = 57, // 百分比 UNITS_CODE_ANALYSIS_PH = 59, // 酸碱度 UNITS_CODE_ANALYSIS_STEAM_QUALITY = 150, // 蒸汽质量 UNITS_CODE_ANALYSIS_PLATO = 160, // 普拉托度 UNITS_CODE_ANALYSIS_PERCENT_LOWER_EXPLOSION_LEVEL = 161, // 下限爆炸浓度百分比 UNITS_CODE_ANALYSIS_MM_PER_YEAR = 170, // 毫米/年 UNITS_CODE_ANALYSIS_MILS_PER_YEAR = 171, // 千分英寸/年 UNITS_CODE_ANALYSIS_PPM_M = 172, // 百万分之一/米 UNITS_CODE_ANALYSIS_PERCENT_LOWER_EXPLOSION_LEVEL_M = 173, // 下限爆炸浓度百分比/米 // 电容单位代码 UNITS_CODE_CAPACITANCE_PF = 153, // 153皮法 // 电势的电磁单位 UNITS_CODE_ELECTROMOTANCE_MILLIVOLTS = 36, // 毫伏 UNITS_CODE_ELECTROMOTANCE_VOLTS = 58, // 伏 // 电流单位代码 UNITS_CODE_CURRENT_MA = 39, // 毫安 UNITS_CODE_CURRENT_NA = 170, // 纳安 UNITS_CODE_CURRENT_UA = 171, // 微安 UNITS_CODE_CURRENT_A = 172, // 安 // 电阻单位代码 UNITS_CODE_RESISTANCE_OHMS = 37, // 欧姆 UNITS_CODE_RESISTANCE_KILOOHMS = 163, // 千欧 UNITS_CODE_RESISTANCE_MEGAOHMS = 170, // 兆欧 UNITS_CODE_RESISTANCE_QCM = 171, // 欧姆厘米 UNITS_CODE_RESISTANCE_KQ_CM = 172, // 千欧厘米 UNITS_CODE_RESISTANCE_MQ_CM = 173, // 兆欧厘米 UNITS_CODE_RESISTANCE_MILLIOHMS = 174, // 毫欧 // 角度单位代码 UNITS_CODE_ANGLE_DEGREES = 143, // 度 UNITS_CODE_ANGLE_RADIANS = 144, // 弧度 // 电导单位代码 UNITS_CODE_CONDUCTION_MICROSIEMENS = 56, // 微西门子 UNITS_CODE_CONDUCTION_MILLISIEMENS_PER_CM = 66, // 毫西门子每厘米 UNITS_CODE_CONDUCTION_MICROSIEMENS_PER_CM = 67, // 微西门子每厘米 // 卷单位代码 UNITS_CODE_VOLUME_PERCENT = 149, // 体积百分比 UNITS_CODE_VOLUME_MILLILITERS_PER_LITER = 154, // 毫升每升 UNITS_CODE_VOLUME_MICROLITERS_PER_LITER = 155, // 微升每升 // 单位质量代码 UNITS_CODE_QUALITY_DEGREES_BALLING = 107, // 波林度 UNITS_CODE_QUALITY_CUBIC_FEET_PER_POUND = 152, // 立方英尺每磅 // 浓度单位代码 UNITS_CODE_CONCENTRATION_PERCENT = 57, // 百分比 UNITS_CODE_CONCENTRATION_DEGREES_BRIX = 101, // 布氏度 UNITS_CODE_CONCENTRATION_PERCENT_SOLIDS_PER_WEIGHT = 105, // 固体质量百分比 UNITS_CODE_CONCENTRATION_PERCENT_SOLIDS_PER_VOLUME = 106, // 固体体积百分比 UNITS_CODE_CONCENTRATION_PROOF_PER_VOLUME = 108, // 酒精度(体积百分比) UNITS_CODE_CONCENTRATION_PROOF_PER_MASS = 109, // 酒精度(质量百分比) UNITS_CODE_CONCENTRATION_PARTS_PER_MILLION = 139, // 百万分之一 UNITS_CODE_CONCENTRATION_PARTS_PER_BILLION = 169, // 十亿分之一 UNITS_CODE_CONCENTRATION_PARTS_PER_THOUSAND = 170, // 千分之一 // 加速度单位代码 UNITS_CODE_ACCELERATION_GRAVITATIONAL_ACCELERATION = 170, // 重力加速度 UNITS_CODE_ACCELERATION_FEET_PER_SECOND_SQUARED = 171, // 英尺每秒平方 UNITS_CODE_ACCELERATION_METER_PER_SECOND_SQUARED = 172, // 米每秒平方 // 浊度单位代码 UNITS_CODE_TURBIDITY_FORMAZIN_NEPHELOMETRIC_UNITS = 170, // 甲醛胶凝法浊度单位 UNITS_CODE_TURBIDITY_FORMAZIN_TURBIDITY_UNIT = 171, // 甲醛浊度单位 UNITS_CODE_TURBIDITY_NEPHELOMETRIC_TURBIDITY_UNIT = 172, // 比浊度单位 // 每秒体积气体流量 UNITS_CODE_STANDARD_CUBIC_FEET_PER_SECOND = 186, // 标准立方英尺每秒 UNITS_CODE_NORMAL_LITER_PER_SECOND = 176, // 标准升每秒 UNITS_CODE_STANDARD_LITER_PER_SECOND = 180, // 标准立方米每秒 UNITS_CODE_NORMAL_CUBIC_METER_PER_SECOND = 183, // 标准立方米每秒 UNITS_CODE_STANDARD_CUBIC_METER_PER_SECOND = 190, // 标准立方米每秒 // 每分钟体积气体流量 UNITS_CODE_STANDARD_CUBIC_FEET_PER_MINUTE = 123, // 标准立方英尺每分钟 UNITS_CODE_NORMAL_LITER_PER_MINUTE = 175, // 标准升每分钟 UNITS_CODE_STANDARD_LITER_PER_MINUTE = 179, // 标准立方米每分钟 UNITS_CODE_NORMAL_CUBIC_METER_PER_MINUTE = 182, // 标准立方米每分钟 UNITS_CODE_STANDARD_CUBIC_METER_PER_MINUTE = 189, // 标准立方米每分钟 // 每小时体积气体流量 UNITS_CODE_STANDARD_CUBIC_FEET_PER_HOUR = 185, // 标准立方英尺每小时 UNITS_CODE_NORMAL_LITER_PER_HOUR = 122, // 标准升每小时 UNITS_CODE_STANDARD_LITER_PER_HOUR = 178, // 标准立方米每小时 UNITS_CODE_NORMAL_CUBIC_METER_PER_HOUR = 121, // 标准立方米每小时 UNITS_CODE_STANDARD_CUBIC_METER_PER_HOUR = 188, // 标准立方米每小时 // 每天体积气体流量 UNITS_CODE_STANDARD_CUBIC_FEET_PER_DAY = 184, // 标准立方英尺每天 UNITS_CODE_NORMAL_LITER_PER_DAY = 174, // 标准升每天 UNITS_CODE_STANDARD_LITER_PER_DAY = 177, // 标准立方米每天 UNITS_CODE_NORMAL_CUBIC_METER_PER_DAY = 181, // 标准立方米每天 UNITS_CODE_STANDARD_CUBIC_METER_PER_DAY = 187, // 标准立方米每天 // 每秒体积液体流量 UNITS_CODE_IMPERIAL_FLUID_OUNCES_PER_SECOND = 174, // 英制液体盎司每秒 UNITS_CODE_US_FLUID_OUNCES_PER_SECOND = 175, // 美制液体盎司每秒 UNITS_CODE_MILLILITER_PER_SECOND = 176, // 毫升每秒 UNITS_CODE_LITERS_PER_SECOND = 24, // 升每秒 UNITS_CODE_HECTOLITER_PER_SECOND = 178, // 公石每秒 UNITS_CODE_CUBIC_METER_PER_SECOND = 28, // 立方米每秒 UNITS_CODE_MILLION_LITERS_PER_SECOND = 180, // 百万升每秒 UNITS_CODE_US_GALLONS_PER_SECOND = 22, // 美制加仑每秒 UNITS_CODE_US_KILOGALLON_PER_SECOND = 182, // 美制千加仑每秒 UNITS_CODE_US_MILLION_GALLONS_PER_SECOND = 183, // 美制百万加仑每秒 UNITS_CODE_IMPERIAL_GALLONS_PER_SECOND = 137, // 英制加仑每秒 UNITS_CODE_IMPERIAL_MILLION_GALLONS_PER_SECOND = 185, // 英制百万加仑每秒 UNITS_CODE_CUBIC_FEET_PER_SECOND = 26, // 立方英尺每秒 UNITS_CODE_ACRE_FEET_PER_SECOND = 187, // 英亩英尺每秒 UNITS_CODE_US_DRUM_PER_SECOND = 188, // 美制桶每秒 UNITS_CODE_US_LIQUID_BARREL_PER_SECOND = 189, // 美制液体桶每秒 UNITS_CODE_US_BEER_BARREL_PER_SECOND = 170, // 美制啤酒桶每秒 UNITS_CODE_OIL_BARRELS_PER_SECOND = 132, // 油桶每秒 UNITS_CODE_UK_BEER_BARREL_PER_SECOND = 192, // 英制啤酒桶每秒 // 每分钟体积液体流量 UNITS_CODE_IMPERIAL_FLUID_OUNCES_PER_MINUTE = 174, // 英制液体盎司每分钟 UNITS_CODE_US_FLUID_OUNCES_PER_MINUTE = 175, // 美制液体盎司每分钟 UNITS_CODE_MILLILITER_PER_MINUTE = 176, // 毫升每分钟 UNITS_CODE_LITERS_PER_MINUTE = 17, // 升每分钟 UNITS_CODE_HECTOLITER_PER_MINUTE = 178, // 公石每分钟 UNITS_CODE_CUBIC_METER_PER_MINUTE = 131, // 立方米每分钟 UNITS_CODE_MILLION_LITERS_PER_MINUTE = 180, // 百万升每分钟 UNITS_CODE_US_GALLONS_PER_MINUTE = 16, // 美制加仑每分钟 UNITS_CODE_US_KILOGALLON_PER_MINUTE = 182, // 美制千加仑每分钟 UNITS_CODE_US_MILLION_GALLONS_PER_MINUTE = 183, // 美制百万加仑每分钟 UNITS_CODE_IMPERIAL_GALLONS_PER_MINUTE = 18, // 英制加仑每分钟 UNITS_CODE_IMPERIAL_MILLION_GALLONS_PER_MINUTE = 185, // 英制百万加仑每分钟 UNITS_CODE_CUBIC_FEET_PER_MINUTE = 15, // 立方英尺每分钟 UNITS_CODE_ACRE_FEET_PER_MINUTE = 187, // 英亩英尺每分钟 UNITS_CODE_US_DRUM_PER_MINUTE = 188, // 美制桶每分钟 UNITS_CODE_US_LIQUID_BARREL_PER_MINUTE = 189, // 美制液体桶每分钟 UNITS_CODE_US_BEER_BARREL_PER_MINUTE = 171, // 美制啤酒桶每分钟 UNITS_CODE_OIL_BARRELS_PER_MINUTE = 133, // 油桶每分钟 UNITS_CODE_UK_BEER_BARREL_PER_MINUTE = 192, // 英制啤酒桶每分钟 // 每小时体积液体流量 UNITS_CODE_IMPERIAL_FLUID_OUNCES_PER_HOUR = 174, // 英制液体盎司每小时 UNITS_CODE_US_FLUID_OUNCES_PER_HOUR = 175, // 美制液体盎司每小时 UNITS_CODE_MILLILITER_PER_HOUR = 176, // 毫升每小时 UNITS_CODE_LITERS_PER_HOUR = 138, // 升每小时 UNITS_CODE_HECTOLITER_PER_HOUR = 178, // 公石每小时 UNITS_CODE_CUBIC_METER_PER_HOUR = 19, // 立方米每小时 UNITS_CODE_MILLION_LITERS_PER_HOUR = 180, // 百万升每小时 UNITS_CODE_US_GALLONS_PER_HOUR = 136, // 美制加仑每小时 UNITS_CODE_US_KILOGALLON_PER_HOUR = 182, // 美制千加仑每小时 UNITS_CODE_US_MILLION_GALLONS_PER_HOUR = 183, // 美制百万加仑每小时 UNITS_CODE_IMPERIAL_GALLONS_PER_HOUR = 30, // 英制加仑每小时 UNITS_CODE_IMPERIAL_MILLION_GALLONS_PER_HOUR = 185, // 英制百万加仑每小时 UNITS_CODE_CUBIC_FEET_PER_HOUR = 130, // 立方英尺每小时 UNITS_CODE_ACRE_FEET_PER_HOUR = 187, // 英亩英尺每小时 UNITS_CODE_US_DRUM_PER_HOUR = 188, // 美制桶每小时 UNITS_CODE_US_LIQUID_BARREL_PER_HOUR = 189, // 美制液体桶每小时 UNITS_CODE_US_BEER_BARREL_PER_HOUR = 172, // 美制啤酒桶每小时 UNITS_CODE_OIL_BARRELS_PER_HOUR = 134, // 油桶每小时 UNITS_CODE_UK_BEER_BARREL_PER_HOUR = 192, // 英制啤酒桶每小时 // 每天体积液体流量 UNITS_CODE_IMPERIAL_FLUID_OUNCES_PER_DAY = 174, // 英制液体盎司每天 UNITS_CODE_US_FLUID_OUNCES_PER_DAY = 175, // 美制液体盎司每天 UNITS_CODE_MILLILITER_PER_DAY = 176, // 毫升每天 UNITS_CODE_LITERS_PER_DAY = 177, // 升每天 UNITS_CODE_HECTOLITER_PER_DAY = 178, // 公石每天 UNITS_CODE_CUBIC_METER_PER_DAY = 29, // 立方米每天 UNITS_CODE_MILLION_LITERS_PER_DAY = 25, // 百万升每天 UNITS_CODE_US_GALLONS_PER_DAY = 235, // 美制加仑每天 UNITS_CODE_US_KILOGALLON_PER_DAY = 182, // 美制千加仑每天 UNITS_CODE_US_MILLION_GALLONS_PER_DAY = 23, // 美制百万加仑每天 UNITS_CODE_IMPERIAL_GALLONS_PER_DAY = 31, // 英制加仑每天 UNITS_CODE_IMPERIAL_MILLION_GALLONS_PER_DAY = 185, // 英制百万加仑每天 UNITS_CODE_CUBIC_FEET_PER_DAY = 27, // 立方英尺每天 UNITS_CODE_ACRE_FEET_PER_DAY = 187, // 英亩英尺每天 UNITS_CODE_US_DRUM_PER_DAY = 188, // 美制桶每天 UNITS_CODE_US_LIQUID_BARREL_PER_DAY = 189, // 美制液体桶每天 UNITS_CODE_US_BEER_BARREL_PER_DAY = 173, // 美制啤酒桶每天 UNITS_CODE_OIL_BARRELS_PER_DAY = 135, // 油桶每天 UNITS_CODE_UK_BEER_BARREL_PER_DAY = 192, // 英制啤酒桶每天 // 热膨胀代码 UNITS_CODE_CELSIUS = 170, // 摄氏度 UNITS_CODE_FAHRENHEIT = 171, // 华氏度 // 体积能量密度代码 UNITS_CODE_KILOJOULES_PER_LITER = 170, // 千焦每升 UNITS_CODE_BRITISH_THERMAL_UNITS_PER_CUBIC_FOOT = 171, // 英热单位每立方英尺 // 质量能量密度单位代码 UNITS_CODE_MEGAJOULES_PER_KILOGRAM = 170, // 兆焦每千克 UNITS_CODE_BRITISH_THERMAL_UNITS_PER_POUND = 171, // 英热单位每磅 // 扭矩单位代码 UNITS_CODE_NEWTON_METER = 170, // 牛·米 UNITS_CODE_KILO_NEWTON_METER = 171, // 千牛·米 UNITS_CODE_POUND_FORCE_FEET = 172, // 磅力·英尺 UNITS_CODE_POUND_FORCE_INCH = 173, // 磅力·英寸 UNITS_CODE_MILLI_NEWTON_METER = 174, // 毫牛·米 // 其他单位代码 UNITS_CODE_OTHER_PERCENT = 57, // 57% 百分比 UNITS_CODE_OTHER_DECIBEL = 156, // 156 分贝 UNITS_CODE_OTHER_GRAMS_PER_MOL = 170, // 170 克每摩尔 // 扭转刚度单位代码 UNITS_CODE_KILO_NEWTON_METER_PER_DEGREE = 170, // 170 千牛顿·米每度 UNITS_CODE_NEWTON_METER_PER_DEGREE = 171, // 171 牛顿·米每度 UNITS_CODE_POUND_FORCE_FEET_PER_DEGREE = 172, // 172 磅力·英尺每度 UNITS_CODE_POUND_FORCE_INCH_PER_DEGREE = 173, // 173 磅力·英寸每度 UNITS_CODE_KILO_NEWTON_METER_PER_RADIAN = 174, // 174 千牛顿·米每弧度 UNITS_CODE_NEWTON_METER_PER_RADIAN = 175, // 175 牛顿·米每弧度 UNITS_CODE_POUND_FORCE_FEET_PER_RADIAN = 176, // 176 磅力·英尺每弧度 UNITS_CODE_POUND_FORCE_INCH_PER_RADIAN = 177, // 177 磅力·英寸每弧度 // 线性刚度单位代码 UNITS_CODE_KILO_NEWTON_PER_METER = 170, // 170 千牛顿每米 UNITS_CODE_NEWTON_PER_METER = 171, // 171 牛顿每米 UNITS_CODE_POUND_FORCE_PER_FOOT = 172, // 172 磅力每英尺 UNITS_CODE_POUND_FORCE_PER_INCH = 173, // 173 磅力每英寸 // 未使用 UNITS_CODE_UNDEFINE = 250, // 未使用 } units_code_e; // 5.3 传输功能代码 typedef enum { TRANSMISSION_FUNCTION_CODE_LINEAR = 0, // 线性的 TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT = 1, // 平方根 TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_CUBIC = 2, // 平方根三次方 TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_FIFTH = 3, // 平方根的五次方 TRANSMISSION_FUNCTION_CODE_SPECIAL_CURVE = 4, // 特殊曲线 TRANSMISSION_FUNCTION_CODE_SQUARE = 5, // Square TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_TRUNCATED = 6, // 平方根与截断。包括基于差压的流量测量截止阀 TRANSMISSION_FUNCTION_CODE_EQUAL_PERCENT_1_25 = 10, // 相等百分比1:25 TRANSMISSION_FUNCTION_CODE_EQUAL_PERCENT_1_33 = 11, // 相等百分比1:33 TRANSMISSION_FUNCTION_CODE_EQUAL_PERCENT_1_50 = 12, // 相等百分比1:50 TRANSMISSION_FUNCTION_CODE_FAST_OPEN_1_25 = 15, // 快速打开1:25 TRANSMISSION_FUNCTION_CODE_FAST_OPEN_1_33 = 16, // 快速打开1:33 TRANSMISSION_FUNCTION_CODE_FAST_OPEN_1_50 = 17, // 快速打开1:50 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_0_10 = 30, // 双曲线:形状因子=0.10 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_0_20 = 31, // 双曲线形状因子=0.20 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_0_30 = 32, // 双曲线:形状因子=0.30 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_0_50 = 34, // 双曲线:形状因子=0.50 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_0_70 = 37, // 双曲线:形状因子=0.70 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_1_00 = 40, // 双曲线:形状因子=1.00 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_1_50 = 41, // 双曲线:形状因子=1.50 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_2_00 = 42, // 双曲线:形状因子=2.00 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_3_00 = 43, // 双曲线形状因子=3.00 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_4_00 = 44, // 双曲线:形状因子=4.00 TRANSMISSION_FUNCTION_CODE_HYPERBOLIC_SHAPE_FACTOR_5_00 = 45, // 双曲线:形状因子=5.00 TRANSMISSION_FUNCTION_CODE_FLAT_BOTTOM_TANK = 100, // 平底罐 TRANSMISSION_FUNCTION_CODE_CONICAL_OR_PYRAMIDAL_BOTTOM_TANK = 101, // 圆锥形或金字塔形底槽 TRANSMISSION_FUNCTION_CODE_PARABOLIC_BOTTOM_TANK = 102, // 抛物线底槽 TRANSMISSION_FUNCTION_CODE_SPHERICAL_BOTTOM_TANK = 103, // 球底储罐 TRANSMISSION_FUNCTION_CODE_SLOPING_BOTTOM_TANK = 104, // 倾斜底槽 TRANSMISSION_FUNCTION_CODE_FLAT_END_CYLINDRICAL_TANK = 105, // 平端圆筒油箱 TRANSMISSION_FUNCTION_CODE_PARABOLIC_END_CYLINDRICAL_TANK = 106, // 抛物线形端圆筒形储罐 TRANSMISSION_FUNCTION_CODE_SPHERICAL_TANK = 107, // 球罐 TRANSMISSION_FUNCTION_CODE_DISCRETE_SWITCH = 230, // 分立式(开关) TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_PLUS_SPECIAL_CURVE = 231, // 平方根加上特殊曲线 TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_CUBIC_PLUS_SPECIAL_CURVE = 232, // 平方根三次幂加特殊曲线 TRANSMISSION_FUNCTION_CODE_SQUARE_ROOT_FIFTH_PLUS_SPECIAL_CURVE = 233, // 平方根五次幂加特殊曲线 TRANSMISSION_FUNCTION_CODE_NOT_USED = 250, // 未使用 TRANSMISSION_FUNCTION_CODE_NONE = 251, // 无 TRANSMISSION_FUNCTION_CODE_UNKNOWN = 252, // 未知 TRANSMISSION_FUNCTION_CODE_SPECIAL = 253 // 特殊的 // 210-229 枚举可用于制造商特定定义 // 234-249 枚举可用于制造商特定定义 } transmission_function_code_e; // 5.6 报警选择代码 typedef enum { ALARM_CODE_HIGH = 0, // 高的 ALARM_CODE_LOW = 1, // 低的 // 239 保持最后输出值 ALARM_CODE_239 = 239, // 240-249 枚举可用于制造商特定定义 // 250 Not Used ALARM_CODE_NOT_USED = 250, // 251 None ALARM_CODE_NONE = 251, // 252 Unknown ALARM_CODE_UNKNOWN = 252, // 253 特殊的 ALARM_CODE_SPECIAL = 253 } alarms_code_e; // 5.7 写保护代码 typedef enum { WRITE_PROTECT_CODE_NOT_WRITE_PROTECT = 0, // 否-不写保护 WRITE_PROTECT_CODE_WRITE_PROTECT = 1, // 是-写保护 // 240-249 枚举可用于制造商特定定义 // 250 Not Used WRITE_PROTECT_CODE_NOT_USED = 250, // 251 None WRITE_PROTECT_CODE_NONE = 251, // 252 Unknown WRITE_PROTECT_CODE_UNKNOWN = 252, // 253 特殊的 WRITE_PROTECT_CODE_SPECIAL = 253 } write_protect_code_e; // 5.8 制造商识别码 typedef enum { MANUFACTURER_IDENTIFIER_GSDT = 0x6196, } manufacturer_identifier_e; // 5.9 突发模式控制码 typedef enum { BURST_MODE_CONTROL_CODE_0 = 0, // 离开 BURST_MODE_CONTROL_CODE_1 = 1, // 仅在令牌传递数据链路层上启用突发 BURST_MODE_CONTROL_CODE_2 = 2, // 仅在TDMA数据链路层启用突发 BURST_MODE_CONTROL_CODE_3 = 3, // 在TDMA和令牌传递数据链路层上启用突发 BURST_MODE_CONTROL_CODE_4 = 4, // 在HART-IP连接上启用突发 BURST_MODE_CONTROL_CODE_250 = 250, // 保留的 BURST_MODE_CONTROL_CODE_251 = 251, // 保留的 BURST_MODE_CONTROL_CODE_252 = 252, // 保留的 BURST_MODE_CONTROL_CODE_253 = 253, // 保留的 } burst_mode_control_code_e; // 5.10 物理信号 typedef enum { // Bell 202 Current PHYSICAL_SIGNALS_0 = 0x00, // Bell 202 Voltage PHYSICAL_SIGNALS_1 = 0x01, // RS-485 PHYSICAL_SIGNALS_2 = 0x02, // RS-232 PHYSICAL_SIGNALS_3 = 0x03, // Wireless PHYSICAL_SIGNALS_4 = 0x04, // Special(includes,for example, Ethernet,TCP/IP,WiFi,etc.) PHYSICAL_SIGNALS_5 = 0x05, } physical_signals_e; // 5.14 操作模式代码 typedef enum { OPERATING_MODE_CODES_0 = 0, } operating_mode_codes_e; // 5.15 模拟通道代码 typedef enum { ANALOG_CHANNEL_NUMBER_CODES_0 = 0, // Analog Channel0(PV) ANALOG_CHANNEL_NUMBER_CODES_1 = 1, // Analog Channel1(SV) ANALOG_CHANNEL_NUMBER_CODES_2 = 2, // Analog Channel2(TV) ANALOG_CHANNEL_NUMBER_CODES_3 = 3, // Analog Channel3(QV) ANALOG_CHANNEL_NUMBER_CODES_4 = 4, // Analog Channel 4 ANALOG_CHANNEL_NUMBER_CODES_MAX, } analog_channel_number_codes_e; // 5.16 回路电流模式 typedef enum { // 关闭 LOOP_CURRENT_MODE_0 = 0x00, // 使能 LOOP_CURRENT_MODE_1 = 0x01, } loop_current_mode_e; // 5.17 扩展现场设备状态 typedef enum { // 正常 EXTENDED_DEVICE_STATUS_0 = 0x00, // 需要维护。[浓缩状态]此位设置用于指示设备未发生故障时,现场设备需要维护。支持此位的设备应支持压缩状态命令(请参阅通用操作命令规范) EXTENDED_DEVICE_STATUS_1 = BIT0, // 设备变量警报,如果任何设备变量处于警报或警告状态,则设置此位。主机应使用设备变量状态指示器识别导致设置的设备变量 EXTENDED_DEVICE_STATUS_2 = BIT1, // 关键电源故障。适用于可以通过存储电源进行操作的设备。该位是在功率变得极低时设置的。例如,一个清除电源的设备失去电源就会设置这个位。设备必须能够从该位开始维持其网络连接至少15分钟。如果设备的功率水平下降得太低,则设备可能会开始正常断开与网络的连接 EXTENDED_DEVICE_STATUS_3 = BIT2, // 故障。压缩状态当设置此位时,由于现场设备或其外围设备的故障,一个或多个设备变量(例如测量或控制值)无效。支持此位的设备必须支持浓缩状态命令(请参阅通用规程命令规范) EXTENDED_DEVICE_STATUS_4 = BIT3, // 超出规格。设置时处于浓缩状态。该位表示已检测到与允许环境或工艺条件的偏差,这可能会影响测量或控制精度(即,在给定当前操作条件的情况下,设备性能可能会降低)。支持此位的设备必须支持精简状态命令(请参阅通用规程命令规范)。 EXTENDED_DEVICE_STATUS_5 = BIT4, // 功能检查。压缩状态如果一个或多个设备变量由于设备上正在进行的工作而暂时无效(例如冻结),则设置此位。支持该位的设备必须支持浓缩状态命令(见通用规程命令规范) EXTENDED_DEVICE_STATUS_6 = BIT5, } extended_device_status_e; // 5.18 锁定设备代码 typedef enum { // 解锁 LOCK_DEVICE_CODE_0 = 0x00, // 锁-临时(即设备复位或断电释放锁定)。只有锁定主机才能解锁 LOCK_DEVICE_CODE_1 = 0x01, // 锁定-永久(即设备复位或断电不影响锁定)。只有锁定主机才能解锁 LOCK_DEVICE_CODE_2 = 0x02, // 全部锁定-任何主机都不允许对设备的配置进行更改。此外,设备复位或电源丢失不影响Lock24。任何主机都可以解锁。 LOCK_DEVICE_CODE_3 = 0x03, LOCK_DEVICE_CODE_MAX, } lock_device_code_e; // 5.19 写设备变量代码 typedef enum { WRITE_DEVICE_VARIABLE_COMMAND_CODE_0 = 0x00, // 正常(设备计算的值不是模拟的) WRITE_DEVICE_VARIABLE_COMMAND_CODE_1 = 0x01, // 固定值(模拟设备计算的值) } write_device_variable_command_code_e; // 5.20 设备变量系列代码 typedef enum { // 0-3 保留的。不得使用 // 温度 DEVICE_VARIABLE_FAMILY_CODE_4 = 0x04, // 压力 DEVICE_VARIABLE_FAMILY_CODE_5 = 0x05, // 阀门/执行器 DEVICE_VARIABLE_FAMILY_CODE_6 = 0x06, // 简单PID控制 DEVICE_VARIABLE_FAMILY_CODE_7 = 0x07, // ph值 DEVICE_VARIABLE_FAMILY_CODE_8 = 0x08, // 传导性 DEVICE_VARIABLE_FAMILY_CODE_9 = 0x09, // 累加器 DEVICE_VARIABLE_FAMILY_CODE_10 = 0x0A, // 等级 DEVICE_VARIABLE_FAMILY_CODE_11 = 0x0B, // 涡流 DEVICE_VARIABLE_FAMILY_CODE_12 = 0x0C, // 马赫流量 DEVICE_VARIABLE_FAMILY_CODE_13 = 0x0D, // 科氏流 DEVICE_VARIABLE_FAMILY_CODE_14 = 0x0E, // 调制最终控制 DEVICE_VARIABLE_FAMILY_CODE_15 = 0x0F, // 132-249 保留的。不得使用 // 250 未使用 DEVICE_VARIABLE_FAMILY_CODE_250 = 0xFA, } device_variable_family_code_e; // 5.21 设备变量分类代码 typedef enum { // 设备变量未分类 DEVICE_VARIABLE_CLASSIFICATION_CODE_0 = 0x00, // 1-63 保留的 // 温度 DEVICE_VARIABLE_CLASSIFICATION_CODE_64 = 0x40, // 压力 DEVICE_VARIABLE_CLASSIFICATION_CODE_65 = 0x41, // 体积流量 DEVICE_VARIABLE_CLASSIFICATION_CODE_66 = 0x42, // 速度 DEVICE_VARIABLE_CLASSIFICATION_CODE_67 = 0x43, // 体积 DEVICE_VARIABLE_CLASSIFICATION_CODE_68 = 0x44, // 长度 DEVICE_VARIABLE_CLASSIFICATION_CODE_69 = 0x45, // 时间 DEVICE_VARIABLE_CLASSIFICATION_CODE_70 = 0x46, // 块 DEVICE_VARIABLE_CLASSIFICATION_CODE_71 = 0x47, // 质量流量 DEVICE_VARIABLE_CLASSIFICATION_CODE_72 = 0x48, // 每体积质量 DEVICE_VARIABLE_CLASSIFICATION_CODE_73 = 0x49, // 粘度 DEVICE_VARIABLE_CLASSIFICATION_CODE_74 = 0x4A, // 角速度 DEVICE_VARIABLE_CLASSIFICATION_CODE_75 = 0x4B, // 区域 DEVICE_VARIABLE_CLASSIFICATION_CODE_76 = 0x4C, // 能源(工作) DEVICE_VARIABLE_CLASSIFICATION_CODE_77 = 0x4D, // 力 DEVICE_VARIABLE_CLASSIFICATION_CODE_78 = 0x4E, // 力量 DEVICE_VARIABLE_CLASSIFICATION_CODE_79 = 0x4F, // 频率 DEVICE_VARIABLE_CLASSIFICATION_CODE_80 = 0x50, // 分析的 DEVICE_VARIABLE_CLASSIFICATION_CODE_81 = 0x51, // 电容 DEVICE_VARIABLE_CLASSIFICATION_CODE_82 = 0x52, // 电动势/电势 DEVICE_VARIABLE_CLASSIFICATION_CODE_83 = 0x53, // 电流 DEVICE_VARIABLE_CLASSIFICATION_CODE_84 = 0x54, // 抵抗 DEVICE_VARIABLE_CLASSIFICATION_CODE_85 = 0x55, // 角 DEVICE_VARIABLE_CLASSIFICATION_CODE_86 = 0x56, // 电导 DEVICE_VARIABLE_CLASSIFICATION_CODE_87 = 0x57, // 每卷 DEVICE_VARIABLE_CLASSIFICATION_CODE_88 = 0x58, // 每质量体积 DEVICE_VARIABLE_CLASSIFICATION_CODE_89 = 0x59, // 浓度 DEVICE_VARIABLE_CLASSIFICATION_CODE_90 = 0x5A, // 保留的 DEVICE_VARIABLE_CLASSIFICATION_CODE_91 = 0x5B, // 保留的 DEVICE_VARIABLE_CLASSIFICATION_CODE_92 = 0x5C, // 保留的 DEVICE_VARIABLE_CLASSIFICATION_CODE_93 = 0x5D, // 保留的 DEVICE_VARIABLE_CLASSIFICATION_CODE_94 = 0x5E, // 保留的 DEVICE_VARIABLE_CLASSIFICATION_CODE_95 = 0x5F, // 加速 DEVICE_VARIABLE_CLASSIFICATION_CODE_96 = 0x60, // 浊度 DEVICE_VARIABLE_CLASSIFICATION_CODE_97 = 0x61, // 温差 DEVICE_VARIABLE_CLASSIFICATION_CODE_98 = 0x62, // 气体体积流量(每秒) DEVICE_VARIABLE_CLASSIFICATION_CODE_99 = 0x63, // 气体体积流量(每分钟) DEVICE_VARIABLE_CLASSIFICATION_CODE_100 = 0x64, // 气体体积流量(每小时) DEVICE_VARIABLE_CLASSIFICATION_CODE_101 = 0x65, // 气体体积流量(每天) DEVICE_VARIABLE_CLASSIFICATION_CODE_102 = 0x66, // 体积液体流量(每秒) DEVICE_VARIABLE_CLASSIFICATION_CODE_103 = 0x67, // 体积液体流量(每分钟) DEVICE_VARIABLE_CLASSIFICATION_CODE_104 = 0x68, // 容积液体流量(每小时) DEVICE_VARIABLE_CLASSIFICATION_CODE_105 = 0x69, // 容积液体流量(每天) DEVICE_VARIABLE_CLASSIFICATION_CODE_106 = 0x6A, // 热胀 DEVICE_VARIABLE_CLASSIFICATION_CODE_107 = 0x6B, // 体积能量密度 DEVICE_VARIABLE_CLASSIFICATION_CODE_108 = 0x6C, // 质量能量密度 DEVICE_VARIABLE_CLASSIFICATION_CODE_109 = 0x6D, // 转矩 DEVICE_VARIABLE_CLASSIFICATION_CODE_110 = 0x6E, // 杂项 DEVICE_VARIABLE_CLASSIFICATION_CODE_111 = 0x6F, // 扭转刚度 DEVICE_VARIABLE_CLASSIFICATION_CODE_112 = 0x70, // 线性刚度 DEVICE_VARIABLE_CLASSIFICATION_CODE_113 = 0x71, } device_variable_classification_code_e; // 5.22 微调代码 typedef enum { TRIM_POINTS_0 = 0, // 不支持修剪点 TRIM_POINTS_1 = 1, // 支持下调整点 TRIM_POINTS_2 = 2, // 支撑上调整点 TRIM_POINTS_3 = 3, // 支持下和上调整点 } trim_points_e; // 5.26 模拟通道标志 typedef enum { ANALOG_CHANNEL_CODE_0 = 0, // 任何未涵盖的位都是“未定义”,必须设置为零 ANALOG_CHANNEL_CODE_1 = 1, // 设置时,此模拟通道是场设备模拟输入通道。换句话说,在设置此位时,现场设备有一个与此信道连接的ADC当重置为零时,模拟通道是模拟输出(ADC连接到通道) } analog_channel_code_e; // 5.27 模拟通道饱和 typedef enum { ANALOG_CHANNEL_SATURATED_0 = 0, ANALOG_CHANNEL_SATURATED_1 = BIT0, // 次级模拟通道饱和 ANALOG_CHANNEL_SATURATED_2 = BIT1, // 第三模拟通道饱和 ANALOG_CHANNEL_SATURATED_3 = BIT2, // 四阶模拟信道饱和 ANALOG_CHANNEL_SATURATED_4 = BIT3 // 五进制模拟通道饱和 } analog_channel_saturated_e; // 5.28 固定模拟通道 typedef enum { ANALOG_CHANNEL_FIXED_0 = 0, ANALOG_CHANNEL_FIXED_1 = BIT0, // 辅助模拟通道固定 ANALOG_CHANNEL_FIXED_2 = BIT1, // 三级模拟通道固定 ANALOG_CHANNEL_FIXED_3 = BIT2, // 四元模拟通道固定 ANALOG_CHANNEL_FIXED_4 = BIT3 // 固定五进制模拟通道 } analog_channel_fixed_e; // 5.29 标准化状态0 typedef enum { STANDARDIZED_STATUS0_0 = 0, STANDARDIZED_STATUS0_1 = BIT0, // 设备变量模拟激活。设备处于模拟模式,并且其一个或多个设备变量不能代表该过程 STANDARDIZED_STATUS0_2 = BIT1, // 非易失性存储器缺陷。非易失性内存检查无效或可能已损坏,或电池支持内存的电池有缺陷 STANDARDIZED_STATUS0_3 = BIT2, // 易失性存储器缺陷。RAM内存检查无效或可能已损坏 STANDARDIZED_STATUS0_4 = BIT3, // 看门狗复位执行。已执行看门狗复位 STANDARDIZED_STATUS0_5 = BIT4, // 电源条件超出范围。电源、电源或电压超出其允许范围 STANDARDIZED_STATUS0_6 = BIT5, // 环境条件超出范围。内部或环境条件超出可接受限度 STANDARDIZED_STATUS0_7 = BIT6, // 电子缺陷。检测到与传感器无关的硬件问题 STANDARDIZED_STATUS0_8 = BIT7 // 设备配置已锁定。设备处于写保护状态或已锁定 } standardized_status0_e; // 5.30 标准化状态1 typedef enum { STANDARDIZED_STATUS1_0 = 0, STANDARDIZED_STATUS1_1 = BIT0, // 状态模拟激活。状态模拟模式已被启用,设备状态和命令48响应中返回的状态位是固定的,可能不代表设备的当前状态 STANDARDIZED_STATUS1_2 = BIT1, // 离散变量模拟激活。设备处于模拟模式,其一个或多个离散变量不能代表过程 STANDARDIZED_STATUS1_3 = BIT2, // 事件通知溢出。当一个或多个事件规范(见通用实践命令规范中的事件通知)的事件队列溢出导致事件不能被记录时,必须设置该位。当所有挂起事件都已确认 时,此位必须重置 STANDARDIZED_STATUS1_4 = BIT3, // 电池或电源需要维护。当现场设备中的电池需要更换/充电时,必须设置此位。此位也必须被设置,如果电源需要维护 STANDARDIZED_STATUS1_5 = BIT4 // 保留的。必须设置(0) } standardized_status1_e; // 5.31 标准化状态2 typedef enum { STANDARDIZED_STATUS2_0 = 0, STANDARDIZED_STATUS2_1 = BIT0, // 子设备列表已更改。设置时,/0系统与它的一个子设备失去了通信,或者发现了一个新的子设备。发出命令74以读取“检测到的设备的数目“或发出命令84以“子设备索引”为0或1仅仅重置该位”。使用Command读取当前子设备列表 STANDARDIZED_STATUS2_2 = BIT1, // 检测到重复的主设备。Adapter发现另一个主机与它的令牌传递接口具有相同的地址 STANDARDIZED_STATUS2_3 = BIT2, // 子设备不匹配。连接到系统的一个或多个子设备与所存储的/预配置的值不匹配 STANDARDIZED_STATUS2_4 = BIT3, // 发现具有重复ID的子设备,发现连接到U/O系统的具有重复唯一ID或长标签的子设备 STANDARDIZED_STATUS2_5 = BIT4 // 陈旧数据通知。当设置任何子设备的陈旧数据报警时,设置此位 } standardized_status2_e; // 5.32 标准化状态3 typedef enum { STANDARDIZED_STATUS3_0 = 0, STANDARDIZED_STATUS3_1 = BIT0, // 拒绝容量。设备无法获取支持指定的突发消息传递所需的通信带宽。如果网络管理器减少了分配给设备的带宽,也必须设置此值。当网络中的任何设备带宽不足时,网关必须设置此位 STANDARDIZED_STATUS3_2 = BIT1, // 保留,必须设置为0 STANDARDIZED_STATUS3_3 = BIT2, // 带宽分配挂起。设备已向网络管理器请求带宽,正在等待网络管理器的响应 STANDARDIZED_STATUS3_4 = BIT3, // 块传输挂起。该设备有一个数据集(例如,波形)等待传输到主机应用程序或网关。网关应打开块传输端口并传输数据 STANDARDIZED_STATUS3_5 = BIT4 // 无线电故障,radio或radio模块发生故障,设备需要维修或更换。设备状态字节中的“设备故障”位必须在设置此位时设置。 } standardized_status3_e; // 5.33 突发消息触发代码 typedef enum { BURST_MESSAGE_TRIGGER_CODE_0 = 0, // 连续的。突发消息在(最坏情况) 最小更新周期内连续发布 BURST_MESSAGE_TRIGGER_CODE_1 = 1, // 窗口中。当源值偏离超过指定的触发值时,触发突发消息 BURST_MESSAGE_TRIGGER_CODE_2 = 2, // 正在上升。当源值高于指定的触发值时触发突发消息 BURST_MESSAGE_TRIGGER_CODE_3 = 3, // 在下降。当源值低于指定的触发值时触发突发消息 BURST_MESSAGE_TRIGGER_CODE_4 = 4, // 在改变。当消息中的任何值改变时,突发消息被触发 } burst_message_trigger_code_e; // 5.34 设备变量代码 /// /// 设备变量代码 5.34 /// typedef enum { // 0-239 枚举可用于制造商特定定义 DEV_INPUT_CURRENT = 0x00, ///< 输入电流 DEV_TEMPERATURE = 0x01, ///< 温度 DEV_PRESS = 0x02, ///< 压力 DEV_VALVE_TRAVEL = 0x03, ///< 阀门行程 DEV_PRESS_B = 0x05, ///< B路压力 DEV_SUPPLY_PRESS = 0x08, ///< 供应压力 DEV_TRAVEL_SETPT = 0x09, ///< 行程设置点 DEV_SERVO_FEEDBACK = 0x0A, ///< 伺服反馈 } device_variable_code_e; typedef enum { DIN_ANALOG_INPUT = 0, // 输入电流 DIN_INTERNAL_TEMPERATURE = 1, // 温度 DIN_PRESSURE_PORT_A = 2, // A路压力 DIN_TRAVEL = 3, // 阀门行程(实际行程) DIN_DRIVE_SIGNAL = 4, // 驱动信号 DIN_PRESSURE_PORT_B = 5, // B路压力 DIN_TRAVEL_SETPOINT = 6, // 行程设置点(可写) DIN_DIFFERENTIAL_PRESSURE = 7, // 压力A减压力B DIN_SUPPLY_PRESSURE = 8, // 供气压力 DIN_IMPLIED_VALVE_POSITION = 9, // 行程设置点(只读) DIN_PRIMARY_FEEDBACK = 10, // 伺服反馈 /************常量部分**************/ DIN_INST_MODE = 11, // 仪器模式 DIN_CONTROL_MODE = 12, // 控制模式 DIN_LEAD_LAG_OPEN = 16, // 超前滞后上限 DIN_LEAD_LAG_CLOSE = 17, // 超前滞后下限 DIN_LOOP_PST_ETT = 18, // 部分行程测试解电至跳闸 DIN_LOW_SUPPLY_ALERT_PT = 19, // 供应压力下限报警设定值 DIN_INPUT_UNIT = 20, // 电流单位 DIN_INPUT_RANGE_HI = 21, // 输入电流上限值 DIN_INPUT_RANGE_LO = 22, // 输入电流下限值 DIN_LOOP_PST_DETT = 25, // 部分行程测试充电至跳闸 DIN_INPUT_SPAN = 26, // 输入电流范围 DIN_INPUT_OFFSET = 27, // 输入电流偏移 DIN_AUX_INPUT_TYPE = 28, // 辅助输入类型 DIN_PRESS_UNIT = 36, // 压力单位 DIN_PRESS_100_PERCENT = 37, // 压力控制100位置压力值(只用于显示) DIN_PRESS_0_PERCENT = 38, // 压力控制0位置压力值(只用于显示) DIN_PRESS_A_SPAN = 39, // 压力A口跨度 DIN_PRESS_A_OFFSET = 40, // 压力A口偏移 DIN_TRAVEL_UNITS = 41, // 行程单位 DIN_TRAVEL_100_PERCENT = 42, // 行程控制100位置行程(只用于显示) DIN_TRAVEL_0_PERCENT = 43, // 行程控制0位置行程(只用于显示) DIN_FEEDBACK_CHAR = 44, // 反馈特性 DIN_POS_SPAN = 45, // 位置跨度 DIN_POS_OFFSETR = 46, // 位置偏移 DIN_MINOR_LOOP_SPAN = 50, // 小回路跨度 DIN_ACCESSORY_FLAGS = 53, // 附属标志 DIN_CROSS_UNSCALED = 54, // 磁条反馈原始值,磁条ADC采样值 DIN_SOFT_CUTOFF_RATE_OPEN_UNSCALED = 55, // 上限软切割速率 DIN_INTEGRAL_LIMIT_UNSCALED = 56, // 积分限位 DIN_AER_CONFIG = 57, // 警报记录使能 DIN_XMTR_MODE_FLAGS = 58, // XMTR模式标志 DIN_XMTR_ENABLE = 59, // XMTR使能 DIN_XMTR_INSTALLED_POSXMTRSTATE = 61, // 位置变送器状态 DIN_TVL_DEV_TRIP = 63, // 行程/压力偏差跳变点 DIN_TVL_DEV_TIME = 64, // 行程/压力偏差时间 DIN_SIS_OVERRIDE_STATUS = 65, // 仪表覆盖状态 DIN_SOFT_CUTOFF_RATE_CLOSE_UNSCALED = 66, // 下限软切割速率 DIN_TRAVEL_CHAR = 67, // 阀门特性 DIN_TRAVEL_CUTOFF_LIMIT_HI = 68, // 行程切割限位上限 DIN_TRVEL_CUTOFF_LIMIT_LO = 69, // 行程切割限位下限 DIN_CUTOFF_LIMIT_SEL = 70, // 切割限位选择 DIN_AUTOCAL_BTN = 71, // 自动校准按钮 DIN_RATE_LIMIT_OPEN = 72, // 行程/压力设定点速率上限 DIN_RATE_LIMIT_CLOSE = 73, // 行程/压力设定点速率下限 DIN_ZERO_POWER = 74, // 零功率条件 DIN_TRACEL_PRESS_SEL = 75, // 行程压力选择 DIN_INVERT_FEEDBACK = 76, // 反向反馈 DIN_RESERVE_78 = 78, // 保留位 DIN_MINOR_LOOP_NORMAL = 79, // 小回路正常值 DIN_AUTOCAL_STEP_ID = 80, // 整定步骤 DIN_RESTART_INST_MODE = 84, // 重启仪器模式 DIN_COMM_TIMEOUT = 85, // 通讯超时设置 DIN_TRAVEL_KP_GAIN = 86, // 行程比例增益 DIN_TRAVEL_KV_GAIN = 87, // 行程速度增益 DIN_TRAVEL_MLFB_GAIN = 88, // 行程控制小回路增益 DIN_PRESS_KI_GAIN = 89, // 压力积分增益 DIN_TRAVEL_KI_GAIN = 90, // 行程积分增益 DIN_COMP_MODE = 92, // 积分控制使能 DIN_ACT_STYLE = 93, // 执行机构类型 DIN_HIGH_SUPPLY_ALERT_PT = 95, // 供应压力上限报警设置值 DIN_PRESS_B_SPAN = 97, // 压力B口跨度 DIN_PRESS_B_OFFSET = 98, // 压力B口偏移 DIN_PRESS_S_SPAN = 99, // 气源压力跨度 DIN_PRESS_S_OFFSET = 100, // 气源压力偏移 DIN_PRESS_SETPOINT = 101, // 目标压力设定值 DIN_PRESS_SENSOR_ENABLE = 102, // 压力传感器使能 DIN_MSM_6X = 104, // 更多状态标志 DIN_PRESS_RNG_LO = 105, // 压力范围下限(起点压力) DIN_PRESS_RNG_HI = 106, // 压力范围上限(顶点压力) DIN_LCP_TRIP_ALERT_SEC = 107, // LCP通讯跳闸警报时间 DIN_AUTOCAL_STATUS = 108, // 上次整定结果 DIN_PRESS_KP_GAIN = 110, // 压力比例增益 DIN_PRESS_RATE = 111, // 压力速率 DIN_INTEGRAL_DB = 112, // 积分死区 DIN_LVP_FILTER_SELECTOR = 113, // 滞后时间 DIN_PRESS_MLFB_GAIN = 114, // 压力控制小回路增益 DIN_LEAD_LAG_BOOST = 116, // 超前滞后启动 DIN_SIS_OPT = 117, // 回路电流确认 DIN_TRIGGER_SENSITIVITY = 118, // 触发灵敏度 DIN_STROKE_ALERT_EN = 120, // 行程报警使能/禁止 DIN_PRESS_A_LIMIT = 121, // 压力A限制 DIN_PST_DEFERRAL_REASON = 122, // 部分行程测试延期原因 DIN_OUTPUT_PRESS_LIMIT_ENABLE = 124, // 输出压力限制使能 DIN_BREAKOUT_TIME_ALERT_PT = 127, // 启动时间报警设定值 DIN_AUTOCAL_SETTLING_TIME = 130, // 自动校准稳定时间 DIN_TRAVEL_DEV_ALERT_PT = 138, // 行程控制偏差报警设定值 DIN_TRAVEL_HI_ALERT_PT = 139, // 行程上限报警设定值 DIN_TRAVEL_LO_ALERT_PT = 140, // 行程下限报警设定值 DIN_TRAVEL_HIHI_ALERT_PT = 141, // 行程上限过高报警设定值 DIN_TRAVEL_LOLO_ALERT_PT = 142, // 行程下限过低报警设定值 DIN_TRAVEL_ALERT_DEADBAND_UNSCALED = 143, // 所有行程警报死区 DIN_TRAVEL_DEV_ALERT_TIME = 145, // 行程偏差报警时间 DIN_RST_STROKE_TIME_ALERT_PT = 146, // 复位时间报警设定值 DIN_DMD_STROKE_TIME_ALERT_PT = 147, // 行程时间报警设定值 DIN_CYCLE_COUNT_DEADBAND_UNSCALED = 149, // 周期计数累计死区(Cycle Cnt/Tv Accum Deadband (%)) DIN_CYCLE_COUNT_LIMIT = 150, // 动作次数报警设定值 DIN_CYCLE_COUNT = 151, // 动作次数 DIN_TRAVEL_ACCUM_ALERT_PT = 154, // 累计行程报警设定值 DIN_TRAVEL_ACCUM = 155, // 累计行程 DIN_PS1_TRIGGER_DB = 156, // A口压力跳变点 DIN_PS2_TRIGGER_DB = 157, // B口压力跳变点 DIN_CURRENT_TRIGGER_DB = 158, // 输入电流跳变点 DIN_MIN_PST_PRESS = 161, // 部分行程测试最小压力 DIN_MIN_PST_PRESS_TIME = 162, // 部分行程测试最小压力时间 DIN_PRESS_DEV_ALERT_PT = 163, // 压力控制偏差报警设定值 DIN_PRESS_DEV_ALERT_TIME = 164, // 压力偏差报警时间 DIN_MIN_TEMP = 170, // 温度范围下限 DIN_MAX_TEMP = 171, // 温度范围上限 DIN_RUN_TIME = 172, // 设备工作时长 DIN_POWER_UPS = 173, // 设备上电次数 DIN_XMTR_STATUS = 177, // XMTR状态 DIN_SERVO_OUTPUT_BIAS = 178, // 伺服偏差输出 DIN_MANUAL_LOADER = 182, // 手动加载 DIN_DEF_SETPT_UNSCALED = 200, // 默认设定点 DIN_RESTART_CTRL_MODE = 201, // 重新启动控制模式 DIN_SELFTEST_SHUTDOWN = 204, // 停机自检 DIN_DRIVE_RAW = 205, // 原始驱动 DIN_TEMP_UNIT = 210, // 温度单位 DIN_CROSSOVER_OUT = 212, // 变化点(与行程有关) DIN_BURST_MODE = 218, // 突发模式 DIN_POLLING_ADDR = 219, // 轮询地址 DIN_SVT_ENABLE_FLAG = 221, // SVT使能标志 DIN_SVT_ALERT_EN = 222, // SVT报警使能/禁用 DIN_SVT_TRIP_PRESS_ALERT_PT = 224, // SVT跳闸压力报警设定值 DIN_SVT_RECOVERY_PRESS_ALERT_PT = 225, // SVT恢复压力报警设定值 DIN_AUTO_TUNING_ERR_CODE = 235, // 自动整定错误代码 DIN_PART_TRAVEL_ENABLE = 236, // 部分行程使能 DIN_PART_TRAVEL_LOWER = 237, // 部分行程下限 DIN_PART_TRAVEL_UPPER = 238, // 部分行程上限 DIN_OUTPUT_SPAN = 239, // 输入电流范围(预留暂时不使用) DIN_OUTPUT_OFFSET = 240, // 输入电流偏移 DIN_DEVICE_TYPE = 241, // 设备类型 GPS2000/GPS3000 // 以下为标准设备变量 //(可选)电池电压(单位代码为“伏特”设备变量分类为“设备变量未分类”)。警告:取决于电池技术,电池电压不能提供剩余电池寿命的良好指标(即电池中剩余的电量) DIN_242 = 0xF2, // 电池寿命(浮动天数;单位代码为“天”;设备变量分类为“设备变量未分类”) DIN_243 = 0xF3, // 百分比范围(单位代码为“百分比”;设备变量分类为“设备变量未分类”) DIN_244 = 0xF4, // 回路电流(单位代码为“Miliamperes.31,设备变量分类为“设备变量未分类”) DIN_245 = 0xF5, // 主变量 DIN_246 = 0xF6, // 次要变量 DIN_247 = 0xF7, // 三级变量 DIN_248 = 0xF8, // 四级变量 DIN_249 = 0xF9, // 250 未使用(此代码必须仅在满足协议命令要求时返回。见,例如,常用命令规范) DIN_250 = 0xFA, DIN_251 = 0xFB, // 251 未使用 } device_key_e; // 5.37 趋势控制代码 typedef enum { TREND_CONTROL_CODE_0 = 0x00, // 禁用 TREND_CONTROL_CODE_1 = 0x01, // 启用单一数据点趋势分析 TREND_CONTROL_CODE_2 = 0x02, // 启用筛选趋势。使用等于趋势样本周期三分之一的时间常数对样本进行过滤 TREND_CONTROL_CODE_3 = 0x03, // 启用平均趋势(可选)。换句话说,就是将周期内所有样本之和除以样本总数所得到的值 TREND_CONTROL_CODE_MAX, } trend_control_code_e; // 5.38 时间设置代码 typedef enum { TIME_SETTING_CODE_0 = 0x00, // 离开 TIME_SETTING_CODE_1 = 0x01, // 在令牌传递数据链路层上启用事件通知 TIME_SETTING_CODE_2 = 0x02, // 在TDMA数据链路层上启用事件通知 TIME_SETTING_CODE_3 = 0x03, // 在TDMA和令牌传递数据链路层上启用事件通知 TIME_SETTING_CODE_MAX, } time_setting_code_e; // 5.41 同步操作控制代码 typedef enum { SYNCHRONIZATION_OPERATION_CONTROL_CODE_1 = BIT0, // 命令当设置指示的命令将被执行在指定的时间。当重置一个设备变量要被采样 SYNCHRONIZATION_OPERATION_CONTROL_CODE_10 = BIT4, // 一击即中。当设置同步操作将只执行一次。当重置采样将触发在指定的时间,并在那里不断重复 SYNCHRONIZATION_OPERATION_CONTROL_CODE_80 = BIT7, // 操作已启用。当设置时,操作被启用。当动作是一个“一次性”,那么使能位在动作发生后被重置 } synchronization_operation_control_code_e; // 5.42 实时时钟标志 typedef enum { REAL_TIME_CLOCK_FLAGS_1 = 1, // 非易失性时钟。当设置该设备包含一个电池支持时钟。在这种情况下,时钟不需要重置,如果有电源故障 REAL_TIME_CLOCK_FLAGS_2 = 2, // 未初始化时钟。实时时钟从未设置过日期和时间。例如,时钟是不稳定的,电源从设备中移除并恢复到设备中 } real_time_clock_flags_e; // 5.54 SI单位控制代码 typedef enum { SI_UNITS_CONTROL_CODE_0 = 0x00, // 无限制(默认) SI_UNITS_CONTROL_CODE_1 = 0x01, // 单位代码仅限于SI单位 SI_UNITS_CONTROL_CODE_MAX, } si_units_control_code_e; // 5.57 设备配置文件代码 typedef enum { // 过程自动化装置 DEVICE_CONFIGURATION_FILE_CODE_0 = 0x00, // 分立器件 DEVICE_CONFIGURATION_FILE_CODE_1 = 0x01, // 混合:过程自动化+离散 DEVICE_CONFIGURATION_FILE_CODE_3 = 0x03, // I/O系统 DEVICE_CONFIGURATION_FILE_CODE_4 = 0x04, // 分立适配器 DEVICE_CONFIGURATION_FILE_CODE_14 = 0x0E, // HART-IP过程自动化装置 DEVICE_CONFIGURATION_FILE_CODE_65 = 0x41, // HART-IP分立器件 DEVICE_CONFIGURATION_FILE_CODE_66 = 0x42, // HART-IP混合型过程自动化+离散 DEVICE_CONFIGURATION_FILE_CODE_67 = 0x43, // HART-IP输入输出系统 DEVICE_CONFIGURATION_FILE_CODE_68 = 0x44, // 无线HART过程自动化装置 DEVICE_CONFIGURATION_FILE_CODE_129 = 0x81, // Wireless HART分立器件 DEVICE_CONFIGURATION_FILE_CODE_130 = 0x82, // 无线HART混合:过程自动化+离散 DEVICE_CONFIGURATION_FILE_CODE_131 = 0x83, // Wireless HART网关 DEVICE_CONFIGURATION_FILE_CODE_132 = 0x84, // 无线HART接入点 DEVICE_CONFIGURATION_FILE_CODE_140 = 0x8C, // Wireless HART进程适配器 DEVICE_CONFIGURATION_FILE_CODE_141 = 0x8D, // Wireless HART离散适配器 DEVICE_CONFIGURATION_FILE_CODE_142 = 0x8E, // 支持无线HART的手持式/便携式维护工具 DEVICE_CONFIGURATION_FILE_CODE_144 = 0x90, } device_configuration_file_code_e; // 5.65 设备变量属性 typedef enum { DEVICE_VARIABLE_PROPERTY_FLAGS_0 = 0, // 可写入,设备变量被输入(例如,写入)到现场设备。 DEVICE_VARIABLE_PROPERTY_FLAGS_8 = BIT7, // 不可写入,正在模拟设备变量。如果没有在现场设备中计算设备变量,则不得设置此位(例如,设备变量是设定值或远程传感器值 } device_variable_property_flags_e; // 5.66 呼叫控制 typedef enum { SQUAWK_CONTROL_CODE_0 = 0, // 关闭 SQUAWK_CONTROL_CODE_1 = 1, // 打开 SQUAWK_CONTROL_CODE_2 = 2, // 呼叫一次(在应答期间,请参阅设备特定文档) } squawk_control_code_e; // 5.67 事件管理器注册控制代码 typedef enum { EVENT_MANAGER_REGISTRATION_CONTROL_CODE_0 = 0, // 注册 EVENT_MANAGER_REGISTRATION_CONTROL_CODE_1 = 1, // 取消注册。事件管理器正在取消其注册重置 EVENT_MANAGER_REGISTRATION_CONTROL_CODE_2 = 2, // 重新设置。重置事件管理器注册。不管命令请求的来源是什么,在收到请求后,都不会注册事件管理器 } event_manager_registration_control_code_e; // A-1 设备操作状态 typedef enum { // NONE DEVICE_OPERATIONAL_STATE_0 = 0, // 主变量超越极限PV已经超出了它的运行极限。 DEVICE_OPERATIONAL_STATE_1 = BIT0, // 非主变量超越极限-A未映射到PV的设备变量超出其操作限制 DEVICE_OPERATIONAL_STATE_2 = BIT1, // 回路电流饱和-回路电流已达到其上(或下) 端点限制,不能再增加(或减少) DEVICE_OPERATIONAL_STATE_3 = BIT2, // 回路电流固定1-环电流保持在一个固定的值,并没有响应进程的变化(不管) DEVICE_OPERATIONAL_STATE_4 = BIT3, // 更多状态可用-更多的状态信息可通过Command 48,读取额外的状态信息 DEVICE_OPERATIONAL_STATE_5 = BIT4, // 冷启动-发生电源故障或设备重置(第一包发送完清除状态) DEVICE_OPERATIONAL_STATE_6 = BIT5, // 配置已更改-执行的操作更改了设备的配置 DEVICE_OPERATIONAL_STATE_7 = BIT6, // 设备故障-设备检测到严重错误或故障,危及设备运行 DEVICE_OPERATIONAL_STATE_8 = BIT7, } device_operational_state_e; // 5.69 定位方法代码 typedef enum { LOCATION_METHOD_CODE_0 = 0, // 没有修复 LOCATION_METHOD_CODE_1 = 1, // GPS或标准定位服务(SPS)修复 LOCATION_METHOD_CODE_2 = 2, // 差分GPS定位 LOCATION_METHOD_CODE_3 = 3, // 精确定位服务(PPS)修复 LOCATION_METHOD_CODE_4 = 4, // 实时运动学(RTK)固定解 LOCATION_METHOD_CODE_5 = 5, // 实时动态(RTK)浮动解决方案 LOCATION_METHOD_CODE_6 = 6, // 估计航位推算 LOCATION_METHOD_CODE_7 = 7, // 手动输入模式 LOCATION_METHOD_CODE_8 = 8, // 仿真模式 } location_method_code_e; // A-3 设备变量状态 typedef union { uint8_t data; struct { uint8_t device_family_specific_status : 3, // 设备系列特定状态 more_device_variable_status_available : 1, // 更多的设备变量状态可用 limit_status : 2, // 极限状态 process_data_status : 2; // 过程数据状态 } bits; } device_variable_status_t; typedef enum { // 常数 DEVICE_VARIABLE_STATUS_CONSTANT = 3, // 高的 DEVICE_VARIABLE_STATUS_HIGHT_LIMIT = 2, // 低的 DEVICE_VARIABLE_STATUS_LOW_LIMIT = 1, // 不限 DEVICE_VARIABLE_STATUS_NO_LIMIT = 0, // 好的 DEVICE_VARIABLE_STATUS_GOOD = 3, // 手动/固定 DEVICE_VARIABLE_STATUS_MANUAL_FIXED = 2, // 准确性差 DEVICE_VARIABLE_STATUS_POOR_ACCURACY = 1, // 坏的 DEVICE_VARIABLE_STATUS_BAD = 0, } device_variable_status_e; // A-2 制造商设备特定状态文件 typedef enum { DEVICE_SPECIFIC_STATUS_0 = 0, DEVICE_SPECIFIC_STATUS_1 = 1, } device_specific_status_e; #endif //__HART_COMMON_TABLES_SPECIFICATION_H__