hart命令.docx
- 文档编号:8239421
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:37
- 大小:29.06KB
hart命令.docx
《hart命令.docx》由会员分享,可在线阅读,更多相关《hart命令.docx(37页珍藏版)》请在冰豆网上搜索。
hart命令
UniversalCommands通用命令
#0-ReadUniqueIdentifier读特殊标识符
#1-ReadPrimaryVariable读第一变量
#2-ReadLoopCurrentandPercentofRange读回路电流和量程百分比
#3-ReadDynamicVariablesandLoopCurrent读动态变量和回路电流
#6-WritePollingAddress写地址
#11-ReadUniqueIdentifierAssociatedwithTag读与标签有关联的殊标识符
#12-ReadMessage
#13-ReadTag,Descriptor,Date读标签、描述、日期
#14-ReadPrimaryVariableTransducerInformation读第一变量转换信息
#15-ReadDeviceInformation读设备信息
#16-ReadFinalAssemblyNumber
#17-WriteMessage
#18-WriteTag,Descriptor,Date写读标签、描述、日期
//#19-WriteFinalAssemblyNumber
CommonPracticeCommands普通命令
#33-ReadDeviceVariables读设备变量
#34-WritePrimaryVariableDampingValue读第一变量
#35-WritePrimaryVariableRangeValues读第一变量量程值
#36-SetPrimaryVariableUpperRangeValue设置读第一变量量程上限值
#37-SetPrimaryVariableLowerRangeValue设置读第一变量量程下限值
#40-Enter/ExitFixedCurrentMode进入/退出固定电流模式
#41-PerformSelfTest执行自检
#42-PerformDeviceReset执行设备重新设置
#43-SetPrimaryVariableZero设置第一变量0点
#44-WritePrimaryVariableUnits写第一变量单位
#45-TrimLoopCurrentZero
#46-TrimLoopCurrentGain
#47-WritePrimaryVariableTransferFunction写第一变量迁移功能
#48-ReadAdditionalDeviceStatus读附加设备状态参数
//#49-WritePrimaryVariableTransducerSerialNumber写第一变量转换器系列号
#50-ReadDynamicVariableAssignments
#51-WriteDynamicVariableAssignments
UniversalCommands通用命令
命令0——读特殊标识符(12字节)
返回扩展的设备类型代码,版本和设备标石码
请求:
无
响应:
Byte0:
“254”,unsignedint
Byte1:
制造商ID,unsignedint
Byte2:
制造商设备类型,unsignedint
Byte3:
请求的前导符数,unsignedint
Byte4:
通用命令文档版本,unsignedint
Byte5:
变送器规范版本号,unsignedint
Byte6:
设备软件版本号,unsignedint
Byte7:
设备硬件版本号,unsignedint
Byte8:
设备标志,unsignedint
Byte9-11:
设备ID,unsignedint
命令#1——读主变量(PV)(5字节)
以IEEE754浮点类型返回主变量的值
请求:
无
响应:
Byte0:
主变量单位代码,unsignedint
Byte1—4:
主变量,IEEE754浮点类型
命令#2——读主变量电流值和百分比(8字节)
读主变量电流值和百分比,主变量电流总是匹配设备的AO输出电流。
百分比没有限制在0-100%之间没如果超过了主变量的范围,会跟踪到传感器的上下限。
请求:
无
响应:
Byte0-3:
主变量电流,单位毫安(IEEE754浮点类型)
Byte4-7:
主变量量程百分比(IEEE754浮点类型)
命令#3——读动态变量和主变量电流(24字节)
读主变量电流和4个(最多)预先定义的动态变量,主变量电流总是匹配设备的AO输出电流。
每种设备类型都定义的第二、第三和第四变量,如第二变量是传感器温度等。
请求:
无
响应
Byte0-3:
主变量电流,单位毫安IEEE754浮点类型
Byte4:
主变量单位代码unsignedint
Byte5-8:
主变量IEEE754浮点类型
Byte9:
第二变量单位代码unsignedint
Byte10-13:
第二变量IEEE754浮点类型
Byte14:
第三变量单位代码unsignedint
Byte15-18:
第三变量IEEE754浮点类型
Byte19:
第四变量单位代码unsignedint
Byte20-23:
第四变量(IEEE754浮点类型)
命令#4——保留
命令#5——保留
命令#6——写POLLING地址(1字节)
这是数据链路层管理命令。
这个命令写Polling地址到设备,该地址用于控制主变量AO输出和提供设备标识。
只有当设备的Polling地址被设成0时,设备的主变量AO才能输出,如果地址是1~15则AO处于不活动状态也不响应应用过程,此时AO被设成最小;并设置传输状态第三位——主变量模拟输出固定;上限/下限报警无效。
如果Polling地址被改回0,则主变量AO重新处于活动状态,也能够响应应用过程。
请求:
Byte0:
设备的Polling地址
响应:
Byte0:
设备的Polling地址
命令#8:
命令#9:
命令#10:
命令#11——用设备的Tag读设备的标识(12字节)
这是一个数据链路层管理命令。
这个命令返回符合该Tag的设备的扩展类型代码、版本和设备标识码。
当收到设备的扩展地址或突发地址时执行该命令。
响应消息中的扩展地址和请求的相同。
请求:
Byte0-5:
设备的Tag,ASCII码
响应:
Byte0:
“254”
Byte1:
制造商ID
Byte2:
制造商设备类型
Byte3:
请求的前导符数
Byte4:
通用命令文档版本
Byte5:
变送器规范版本号
Byte6:
本设备软件版本号
Byte7:
本设备硬件版本号
Byte8:
设备Flags
Byte9-11:
设备的标识号
命令#12——读消息(Message)(24字节)
读设备含有的消息
请求:
无
响应:
Byte0-23:
设备消息,ASCII
命令#13——读标签Tag,描述符Description和日期Date(21字节)
请求:
无
响应:
Byte0-5:
标签Tag,ASCII
Byte6-17:
描述符,ASCII
Byte18-20:
日期,分别是日、月、年-1990;unsignedint
命令#14——读主变量传感器信息(16字节)
读主变量传感器序列号、传感器极限/最小精度(Span)单位代码、主变量传感器上限、主变量传感器下限和传感器最小精度。
传感器极限/最小精度(Span)单位和主变量的单位相同。
请求:
无
响应:
Byte0-2:
主变量传感器序列号,unsignedint
Byte3:
主变量传感器上下限和最小精度单位代码,unsignedint
byte4-7:
主变量传感器上限,IEEE754浮点类型
byte8-11:
变量传感器下线(IEEE754浮点类型)
byte12-15:
主变量最小精度(IEEE754浮点类型)
命令#15——读主变量输出信息(16字节)
读主变量报警选择代码、主变量传递(Transfer)功能代码、主变量量程单位代码、主变量上限值、主变量下限值、主变量阻尼值、写保护代码和主发行商代码。
请求:
无
响应:
Byte0:
主变量报警选择代码,unsignedint
Byte1:
主变量传递Transfer功能代码,unsignedint
Byte2:
主变量上下量程值单位代码,unsignedint
Byte3-6:
主变量上限值,IEEE754
Byte7-10:
主变量下限值,IEEE754
Byte11-14:
主变量阻尼值,单位秒,IEEE754
Byte15:
写保护代码,unsignedint
Byte16:
商标发行商代码PrivateLabelDistributorCode,unsignedint
命令#16——读最终装配号(3字节)
请求:
无
响应:
Byte0-2:
最终装配号,unsignedint
命令#17——写消息(24字节)
写消息到设备
请求:
Byte0-23:
设备消息,ASCII
响应:
Byte0-23:
设备消息,ASCII
命令#18——写标签、描述符和日期(21字节)
写标签、描述符和日期到设备。
请求:
Byte0-5:
标签Tag,ASCII
Byte6-17:
描述符Descriptor,ASCII
Byte18-20:
日期,unsignedint
响应:
Byte0-5:
标签Tag,ASCII
Byte6-17:
描述符Descriptor,ASCII
Byte18-20:
日期,unsignedint
命令#19——写最终装配号(3字节)
请求:
Byte0-2:
最终装配号,unsignedint
响应:
Byte0-2:
最终装配号,unsignedint
命令#20——读长标签(32字节)
请求:
无
响应:
Byte0-31:
长标签
命令#21——用设备的长标签读设备的标识(12字节)
请求:
Byte0-31:
长标签
响应:
Byte0:
“254”,unsignedint
Byte1:
制造商ID,unsignedint
Byte2:
制造商设备类型,unsignedint
Byte3:
请求的前导符数,unsignedint
Byte4:
通用命令文档版本,unsignedint
Byte5:
变送器规范版本号,unsignedint
Byte6:
设备软件版本号,unsignedint
Byte7:
设备硬件版本号,unsignedint
Byte8:
设备标志,unsignedint
Byte9-11:
设备ID,unsignedint
命令#22——写长标签
写32字节的长标签。
请求:
Byte0-31:
长标签
响应:
Byte0-31:
长标签
CommonPracticeCommands普通命令
命令#33——读变送器变量
读选择的变送器变量。
这个命令有Burst模式操作的能力,与命令107一起组态写Burst模式变送器变量。
请求:
字节0:
分配到Slot0的变送器变量代码
字节1:
分配到Slot1的变送器变量代码
字节2:
分配到Slot2的变送器变量代码
字节3:
分配到Slot3的变送器变量代码
响应:
字节0:
分配到Slot0的变送器变量代码unsignedint
字节1:
Slot0单位代码unsignedint
字节2-5:
Slot0所选变送器变量数据IEEE754
字节6:
分配到Slot1的变送器变量代码unsignedint
字节7:
Slot1单位代码unsignedint
字节8-11:
Slot1所选变送器变量数据IEEE754
字节12:
分配到Slot2的变送器变量代码unsignedint
字节13:
Slot2单位代码unsignedint
字节14-17:
Slot2所选变送器变量数据IEEE754
字节18:
分配到Slot3的变送器变量代码unsignedint
字节19:
Slot3单位代码unsignedint
字节20-23:
Slot3所选变送器变量数据IEEE754
命令#34——写主变量阻尼值
主变量阻尼值标识一个时间常数(该时间到,对阶跃响应的输出应该是稳态值的63%)。
主变量的模拟和数字输出都使用这个变量。
请求:
字节0-3:
主变量阻尼值,单位秒IEEE754
响应:
字节0-3:
实际变量阻尼值,单位秒IEEE754
命令#35——写主变量量程值
主变量量程上限和下限是独立的。
该命令收到的主变量量程单位不影响该设备的主变量单位。
主变量量程值按照接收单位返回。
多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。
请求:
字节0:
主变量量程单位代码unsignedint
字节1-4:
主变量量程上限IEEE754
字节5-8:
主变量量程下限IEEE754
响应:
字节0:
主变量量程单位代码unsignedint
字节1-4:
主变量量程上限IEEE754
字节5-8:
主变量量程下限IEEE754
命令#36——设置主变量量程上限
将主变量的当前值设置成主变量量程上限,量程上限的改变不影响量程下限的值。
按下设备上的“SPAN”按钮执行与该命令相同的功能。
多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。
请求:
无
响应:
无
命令#37——设置主变量量程下限
按下设备上的“ZERO”按钮执行与该命令相同的功能。
将主变量的当前值设置成主变量量程下限,量程下限的改变将成比例的改变量程上限的值,因此精度Span保持不变。
当这个改变把量程上限推到了传感器上限时,主变量量程上限饱和且响应代码为14。
警告:
主变量量程下限把量程上限推到超过传感器上限,将导致得到的精度Span要小于主变量最小精度Span,此时返回响应代码9—应用过程太高或响应代码10---应用过程太低。
多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。
请求:
无
响应:
无
命令#38——复位组态改变标志
复位组态改变响应代码,变换器字节的第6位。
地址为0的第二主设备不发布这个命令,地址为1的第一主设备也只有在组态改变响应代码被检测到时才可以发布这个命令。
请求:
无
响应:
无
命令#39——EE控制
这个命令引起把数据从RAM传输到非易失内存(这一过程被称为烧写)或者从非易失内存传输到RAM中(这一过程被称为恢复)。
如果EE校验和错被检测到,则变换器状态字节第7位---现场设备故障响应代码被设置。
此时,命令48读附加的变换器状态应该被用于获得详细的信息。
对于烧写请求,直到这个命令被返回时,烧写才可以开始。
请求:
字节0:
EEPROM控制代码,0---烧写,1---恢复,2-249-----未定义unsignedint
响应:
字节0:
EEPROM控制代码,0---烧写,1---恢复,2-249-----未定义unsignedint
命令#40——进入/退出固定主变量电流模式
设备被配制成固定主变量电流模式
请求:
字节0-3:
固定主变量电流值,单位毫安IEEE754
响应:
字节0-3:
实际固定主变量电流值,单位毫安IEEE754
命令#41——执行变送器自检
启动设备自检功能。
设备立即响应这个命令,然后执行自检。
这个命令的执行或许会花相对较长时间。
如果设备自检期间不能执行命令,设备也不给出响应;如果设备自检期间能够执行命令,命令48能够决定什么时候完成。
请求:
无
响应:
无
命令#42——执行主设备复位
设备立即响应,然后CPU复位。
这个命令的执行需要花相对较长时间,在命令完成前,设备不能响应任何其他命令。
请求:
无
响应:
无
命令#43——设置主变量零点
将设备的当前主变量值设置成零点,该值必须被设置在设备定义的上下限内。
、
请求:
无
响应:
无
命令#44——写主变量单位
选择一个主变量单位,主变量值和量程都以该单位返回。
主变量传感器上下限和主变量最小精度Span也有用该值作为单位。
请求:
字节0:
主变量单位代码unsignedint
响应:
字节0:
主变量单位代码unsignedint
命令#45——调整主变量电流DAC零点
调整主变量AO的零点,因此当前的电流值被准确地设置在它的最小值。
使用这个命令前,用命令40---进入/退出固定主变量电流模式去设置电流到主变量AO的准确地最小值。
如果设备没有进入固定主变量电流模式或电流没有被设置成准确地最小值,需返回响应代码9---不在正确的电流模式。
请求:
字节0-3:
外部测量电流值,单位毫安IEEE754
响应:
字节0-3:
实际测量主变量电流值,单位毫安IEEE754
命令#46——调整主变量电流DAC增益
调整主变量AO增益,因此当前的电流值被准确的设置成它的最大值。
使用这个命令前,用命令40---进入/退出固定主变量电流模式去设置电流到主变量AO的准确地最大值。
如果设备没有进入固定主变量电流模式或电流没有被设置成准确地最大值,需返回响应代码9---不在正确的电流模式。
请求:
字节0-3:
外部测量主变量电流值,单位毫安IEEE754
响应:
字节0-3:
实际测量主变量电流值,单位毫安IEEE754
命令#47——写主变量传递功能
为设备的主变量AO选择传输功能。
请求:
字节0:
主变量传输Transfer功能代码unsignedint
响应:
字节0:
主变量传输Transfer功能代码unsignedint
命令#48——读附加的变送器状态
返回不包含在响应代码中的状态信息,这个命令也返回变送器自检结果(命令41)。
响应代码8,警告:
当一个需要相对长时间完成的命令执行时,状态信息正在等待这个命令完成,此时返回警告Update in Progress。
请求:
无
响应:
字节0-5:
变送器状态unsignedint
字节6:
操作模式1unsignedint
字节7:
操作模式2unsignedint
字节8-10:
模拟输出饱和unsignedint
字节11-13:
模拟输出固定unsignedint
字节14-24:
变送器状态unsignedint
命令#49——写主变量传感器序列号
写和主变量相连的传感器序列号。
请求:
字节0-2:
主变量传感器序列号unsignedint
响应:
字节0-2:
主变量传感器序列号unsignedint
命令#50——读动态变量配置
返回分配到主变量、第二变量、第三变量和第四变量的变送器变量号。
请求:
无
响应:
字节0:
分配到主变量的变送器变量代码unsignedint
字节1:
分配到第二变量的变送器变量代码unsignedint
字节2:
分配到第三变量的变送器变量代码unsignedint
字节3:
分配到第四变量的变送器变量代码unsignedint
命令#51——写动态变量配置
分配变送器变量到主变量、第二变量、第三变量和第四变量。
每个动态变量可以接受任何设备定义的变送器变量代码。
请求:
字节0:
分配到主变量的变送器变量代码unsignedint
字节1:
分配到第二变量的变送器变量代码unsignedint
字节2:
分配到第三变量的变送器变量代码unsignedint
字节3:
分配到第四变量的变送器变量代码unsignedint
响应:
字节0:
分配到主变量的变送器变量代码unsignedint
字节1:
分配到第二变量的变送器变量代码unsignedint
字节2:
分配到第三变量的变送器变量代码unsignedint
字节3:
分配到第四变量的变送器变量代码unsignedint
命令#52——设置变送器变量零点
将设备的当前值设置成所选变送器变量的零点。
结果必须在分配到每个变量的范围内。
请求:
字节0:
将要被设置零点的变送器变量代码unsignedint
响应:
字节0:
要被设置零点的变送器变量代码unsignedint
命令#53——写变送器变量单位
选择单位,所选变送器变量将以该单位被返回。
请求:
字节0:
将要被设置零点的变送器变量代码unsignedint
字节1:
将要被设置零点的变送器变量单位unsignedint
响应:
字节0:
被设置零点的变送器变量代码unsignedint
字节1:
被设置零点的变送器变量单位unsignedint
命令#54——读变送器变量信息
响应信息为传感器序列号、传感器上下限单位、传感器上下限、阻尼值和所选变送器变量的最小精度。
变送器变量上下限单位和变送器变量单位相同。
请求:
字节0:
被设置零点的变送器变量代码
响应:
字节0:
被设置零点的变送器变量代码unsignedint
字节1-3:
变送器变量传感器序列号unsignedint
字节4:
变送器变量上下限/最小精度单位代码unsignedint
字节5-8:
变送器变量上限IEEE754
字节9-12:
变送器变量下限IEEE754
字节13-16:
变送器变量阻尼值IEEE754
字节17-20:
变送器最小精度IEEE754
命令#55——写变送器变量阻尼值
写阻尼值,阻尼值表示一个时间常数(该时间到时,输出为阶跃输入稳态值的63%)。
有些设备只能应用离散阻尼值。
该命令收到的阻尼值可以被四舍五入或截取。
响应消息将返回设备使用的实际值。
当该值被四舍五入或截取时,要返回警告。
请求:
字节0:
变送器变量代码unsignedint
字节1-4:
变送器变量的阻尼值
响应:
字节0:
变送器变量代码unsignedint
字节1-4:
变送器变量的阻尼值IEEE754
命令#56——写变送器变量传感器序列号
写和一个特定变送器变量相连的传感器序列号。
请求:
字节0:
变送器变量代码
字节1-4:
变送器变量的传感器序列号
响应:
字节0:
变送器变量代码unsignedint
字节1-4:
变送器变量的传感器序列号unsignedint
命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hart 命令