您的位置:控制工程论坛网论坛 » 现场总线 » HART通用命令一览

xianchang

xianchang   |   当前状态:离线

总积分:70  2024年可用积分:0

注册时间: 2008-12-03

最后登录时间: 2008-12-03

空间 发短消息加为好友

HART通用命令一览

xianchang  发表于 2008/12/3 15:11:41      1320 查看 0 回复  [上一主题]  [下一主题]

手机阅读

HART通用命令一览

HART命令0:读标识码
返回扩展的设备类型代码,版本和设备标识码。
请求:无
响应:
      字节0:        254
字节1:        制造商ID
字节2:        制造商设备类型
字节3:        请求的前导符数
字节4:        通用命令文档版本号
字节5:        变送器规范版本号
字节6:        设备软件版本号
字节7:        设备硬件版本号
字节8:        设备标志
字节9-11:  设备ID号
HART命令1:读主变量(PV)
以浮点类型返回主变量的值。
请求:无
响应:
      字节0:        主变量单位代码
字节1-4:    主变量
HART命令2:读主变量电流值和百分比
读主变量电流和百分比,主变量电流总是匹配设备的AO输出电流。百分比没有限制在0-100%之间,如果超过了主变量的范围,会跟踪到传感器的上下限。
请求:无
响应:
      字节0-3:    主变量电流,单位毫安
字节4-7:    主变量量程百分比
HART命令3:读动态变量和主变量电流
读主变量电流和4个(最多)预先定义的动态变量,主变量电流总是匹配设备的AO输出电流。每种设备类型都定义的第二、第三和第四变量,如第二变量是传感器温度等。
请求:无
响应:
      字节0-3:    主变量电流,单位毫安
字节4:        主变量单位代码
字节5-8:    主变量
字节9:        第二变量单位代码
字节10-13:第二变量
字节14:      第三变量单位代码
字节15-18:第三变量
字节19:      第四变量单位代码
字节20-23:第四变量
HART命令4:保留
HART命令5:保留
HART命令6:写POLLING地址
这是数据链路层管理命令。这个命令写Polling地址到设备,该地址用于控制主变量AO输出和提供设备标识。
只有当设备的Polling地址被设成0时,设备的主变量AO才能输出,如果地址是1~15则AO处于不活动状态也不响应应用过程,此时AO被设成最小;并设置传输状态第三位——主变量模拟输出固定;上限/下限报警无效。如果Polling地址被改回0,则主变量AO重新处于活动状态,也能够响应应用过程。
请求:
      字节0:        设备的Polling地址
响应:
      字节0:        设备的Polling地址
HART命令7:
HART命令8:
HART命令9:
HART命令10:
HART命令11:用设备的Tag读设备的标识
这是一个数据链路层管理命令。这个命令返回符合该Tag的设备的扩展类型代码、版本和设备标识码。当收到设备的扩展地址或广播地址时执行该命令。响应消息中的扩展地址和请求的相同。
请求:
      字节0-5:    设备的Tag,ASCII码
响应:
      字节0:        254
      字节1:        制造商ID代码
      字节2:        制造商设备类型代码
      字节3:        请求的前导符数
      字节4:        通用命令文档版本号
      字节5:        变送器版本号
      字节6:        本设备的软件版本号
      字节7:        本设备的硬件版本号
      字节8:        设备的Flags
      字节9-11:  设备的标识号
HART命令12:读消息(Message)
读设备含有的消息。
请求:无
响应:
      字节0-23:  设备消息,ASCII
HART命名13:读标签Tag,描述符Description和日期Date
读设备的Tag,Description and Date。
请求:无
响应:
      字节0-5:    标签Tag,ASCII
字节6-17:  描述符,ASCII
字节18-20:日期,分别是日、月、年-1900
HART命令14:读主变量传感器信息
读主变量传感器序列号、传感器极限/最小精度(Span)单位代码、主变量传感器上限、主变量传感器下限和传感器最小精度。传感器极限/最小精度(Span)单位和主变量的单位相同。
请求:无
响应:
      字节0-2:    主变量传感器序列号
字节3:        主变量传感器上下限和最小精度单位代码
字节4-7:    主变量传感器上限
字节8-11:  主变量传感器下限
字节12-15:主变量最小精度
HART命令15:读主变量输出信息
读主变量报警选择代码、主变量传递(Transfer)功能代码、主变量量程单位代码、主变量上限值、主变量下限值、主变量阻尼值、写保护代码和主发行商代码。
请求:无
响应:
      字节0:        主变量报警选择代码
字节1:        主变量传递Transfer功能代码
字节2:        主变量上下量程值单位代码
字节3-6:    主变量上限值
字节7-10:  主变量下限值
字节11-14:主变量阻尼值,单位秒
字节15:      写保护代码
字节16:      商标发行商代码Private Label Distributor Code
HART命令16:读最终装配号
读设备的最终装配号。
请求:无
响应:
      字节0-2:    最终装配号
HART命令17:写消息
写消息到设备。
请求:
      字节0-23:  设备消息,ASCII
响应:
      字节0-23:  设备消息,ASCII
HART命令18:写标签、描述符和日期
写标签、描述符和日期到设备。
请求:
      字节0-5:    标签Tag,ASCII
      字节6-17:  描述符Descriptor,ASCII
      字节18-20:日期
响应:
      字节0-5:    标签Tag,ASCII
      字节6-17:  描述符Descriptor,ASCII
      字节18-20:日期
HART命令19:写最后装配号
写最后装配号到设备。
请求:
      字节0-2:    最终装配号
响应:
      字节0-2:    最终装配号
命令33:读变送器变量
读选择的变送器变量。这个命令有Burst模式操作的能力,与命令107一起组态写Burst模式变送器变量。
请求:
      字节0:        分配到Slot0的变送器变量代码
      字节1:        分配到Slot1的变送器变量代码
      字节2:        分配到Slot2的变送器变量代码
      字节3:        分配到Slot3的变送器变量代码
响应:
      字节0:        分配到Slot0的变送器变量代码
      字节1:        Slot0单位代码
      字节2-5:    Slot0所选变送器变量数据
      字节6:        分配到Slot1的变送器变量代码
      字节7:        Slot1单位代码
      字节8-11:  Slot1所选变送器变量数据
      字节12:      分配到Slot2的变送器变量代码
      字节13:      Slot2单位代码
      字节14-17: Slot2所选变送器变量数据
      字节18:      分配到Slot3的变送器变量代码
      字节19:      Slot3单位代码
      字节20-23: Slot3所选变送器变量数据
命令34:写主变量阻尼值
主变量阻尼值表示一个时间常数(该时间到时,对阶跃响应的输出应该是稳态值的63%)。主变量的模拟和数字输出都使用这个变量。
请求:
      字节0-3:    主变量阻尼值,单位秒
响应:
      字节0-3:    实际主变量阻尼值,单位秒
命令35:写主变量量程值
主变量量程上限和下陷是独立的。该命令收到的主变量量程单位不影响该设备的主变量单位。主变量量程值按照接收单位返回。
多数设备允许设备的量程上限比下限低,以使设备工作在反向输出。
请求:
      字节0:        主变量量程单位代码
      字节1-4:    主变量量程上限
      字节5-8:    主变量量程下限
响应:
      字节0:        主变量量程单位代码
      字节1-4:    主变量量程上限
      字节5-8:    主变量量程下限
命令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-----未定义
响应:
      字节0:        EEPROM控制代码,0---烧写,1---恢复,2-249-----未定义
命令40:进入/退出固定主变量电流模式
设备被配制成固定主变量电流模式
请求:
      字节0-3:    固定主变量电流值,单位毫安
响应:
      字节0-3:    实际固定主变量电流值,单位毫安
命令41:执行变送器自检
启动设备自检功能。设备立即响应这个命令,然后执行自检。
这个命令的执行或许会花相对较长时间。如果设备自检期间不能执行命令,设备也不给出响应;如果设备自检期间能够执行命令,命令48能够决定什么时候完成(???)。
请求:无
响应:无
命令42:执行设备复位
设备立即响应,然后CPU复位。
这个命令的执行需要花相对较长时间,在命令完成前,设备不能响应任何其他命令。
请求:无
响应:无
命令43:设置主变量零点
将设备的当前主变量值设置成零点,该值必须被设置再在设备定义的上下限内。
请求:无
响应:无
命令44:写主变量单位
选择一个主变量单位,主变量值和量程都以该单位返回。主变量传感器上下限和主变量最小精度Span也有用该值作为单位。
请求:
      字节0:        主变量单位代码
响应:
      字节0:        主变量单位代码
命令45:调整主变量电流DAC零点
调整主变量AO的零点,因此当前的电流值被准确地设置在他的最小值。
使用这个命令前,用命令40---进入/退出固定主变量电流模式去设置电流到主变量AO的准确地最小值。如果设备没有进入固定主变量电流模式或电流没有被设置成准确地最小值,需返回响应代码9---不在正确的电流模式。
请求:
      字节0-3:    外部测量电流值,单位毫安
响应:
      字节0-3:    实际测量主变量电流值,单位毫安
命令46:调整主变量电流DAC增益
调整主变量AO增益,因此当前的电流值被准确的设置成它的最大值。
使用这个命令前,用命令40---进入/退出固定主变量电流模式去设置电流到主变量AO的准确地最大值。如果设备没有进入固定主变量电流模式或电流没有被设置成准确地最大值,需返回响应代码9---不在正确的电流模式。
请求:
      字节0-3:    外部测量主变量电流值,单位毫安
响应:
      字节0-3:    实际测量主变量电流值
命令47:写主变量传递功能
为设备的主变量AO选择传输功能。
请求:
      字节0:主变量传输Transfer功能代码
响应:
      字节0:主变量传输Transfer功能代码
命令48:读附加的变送器状态
返回不包含在响应代码中的状态信息,这个命令也返回变送器自检结果(命令41)。
响应代码8,警告:当一个需要相对长时间完成的命令执行时,状态信息正在等待这个命令完成,此时返回警告Update in Progress。
请求:无
响应:
      字节0:        变送器状态
      字节6:        操作模式1
      字节7:        操作模式2
      字节8-10:  模拟输出饱和
      字节11-13:模拟输出固定
      字节14-24:变送器状态
命令49:写主变量传感器序列号
写和主变量相连的传感器序列号。
请求:
      字节0-2:    主变量传感器序列号
响应:
      字节0-2:    主变量传感器序列号
命令50:读动态变量配置
返回分配到主变量、第二变量、第三变量和第四变量的变送器变量号。
请求:无
响应:
      字节0:        分配到主变量的变送器变量代码
      字节1:        分配到第二变量的变送器变量代码
      字节2:        分配到第三变量的变送器变量代码
      字节3:        分配到第四变量的变送器变量代码
命令51:写动态变量配置
分配变送器变量到主变量、第二变量、第三变量和第四变量。每个动态变量可以接受任何设备定义的变送器变量代码。
请求:
      字节0:        分配到主变量的变送器变量代码
      字节1:        分配到第二变量的变送器变量代码
      字节2:        分配到第三变量的变送器变量代码
      字节3:        分配到第四变量的变送器变量代码
响应:
      字节0:        分配到主变量的变送器变量代码
      字节1:        分配到第二变量的变送器变量代码
      字节2:        分配到第三变量的变送器变量代码
      字节3:        分配到第四变量的变送器变量代码
命令52:设置变送器变量零点
将设备的当前值设置成所选变送器变量的零点。结果必须在分配到每个变量的范围内。
请求:
      字节0:        将要被设置零点的变送器变量代码
响应:
      字节0:        要被设置零点的变送器变量代码
命令53:写变送器变量单位
选择单位,所选变送器变量将以该单位被返回。
请求:
      字节0:        将要被设置零点的变送器变量代码
      字节1:        将要被设置零点的变送器变量单位
响应:
      字节0:        被设置零点的变送器变量代码
      字节1:        被设置零点的变送器变量单位
命令54:读变送器变量信息
响应信息为传感器序列号、传感器上下限单位、传感器上下限、阻尼值和所选变送器变量的最小精度。
变送器变量上下限单位和变送器变量单位相同。
请求:
      字节0:        被设置零点的变送器变量代码
响应:
      字节0:        被设置零点的变送器变量代码
      字节1-3:    变送器变量传感器序列号
      字节4:        变送器变量上下限/最小精度单位代码
      字节5-8:    变送器变量上限
      字节9-12:  变送器变量下限
      字节13-16:变送器变量阻尼值
      字节17-20:变送器最小精度
命令55:写变送器变量阻尼值
写阻尼值,阻尼值表示一个时间常数(该时间到时,输出为阶跃输入稳态值的63%)。
有些设备只能应用离散阻尼值。该命令收到的阻尼值可以被四舍五入或截取。响应消息将返回设备使用的实际值。当该值被四舍五入或截取时,要返回警告。
请求:
      字节0:        变送器变量代码
      字节1-4:    变送器变量的阻尼值
响应:
      字节0:        变送器变量代码
      字节1-4:    变送器变量的阻尼值
命令56:写变送器变量传感器序列号
写和一个特定变送器变量相连的传感器序列号。
请求:
      字节0:        变送器变量代码
      字节1-4:    变送器变量的传感器序列号
响应:
      字节0:        变送器变量代码
      字节1-4:    变送器变量的传感器序列号
命令57:读UNIT设备标签、描述、日期
该命令读UNIT设备的标签、描述和日期,而不是传感器的。UNIT设备是支持多传感器的典型通用硬件。
请求:无
响应:
      字节0-5:            UNIT标签,ASCII
      字节6-11:          UNIT描述符,ASCII
      字节18-20:        UNIT日期
命令58:写UNIT设备标签、描述、日期
该命令写UNIT设备的标签、描述和日期,而不是传感器的。UNIT设备是支持多传感器的典型通用硬件。
请求:
      字节0-5:            UNIT标签,ASCII
      字节6-11:          UNIT描述符,ASCII
      字节18-20:        UNIT日期
响应:
      字节0-5:            UNIT标签,ASCII
      字节6-11:          UNIT描述符,ASCII
      字节18-20:        UNIT日期
命令59:写响应前导符的个数
这是一个数据链路层管理命令。
这个命令在响应包开始前,选择要发送的前导符的最小个数。这个数字包括包含在消息头中的两个前导符。
请求:
      字节0:        响应信息中要发送的前导符数
响应:
      字节0:        响应信息中要发送的前导符数
命令60:读模拟输出AO和量程的百分比
读模拟输出值和所选模拟输出的量程百分比。这个模拟输出总是匹配设备相关的物理模拟输出,包括报警条件和设置值。量程的百分比没有限制在0-100%之间,但是不能超过传感器的高低限。
请求:
      字节0:        模拟输出号代码
响应:
      字节0:        模拟输出号代码
      字节1:        模拟输出单位代码
      字节2-5:    模拟输出值
      字节6-9:    模拟输出量程百分比      发送短消息

 

命令61:读动态变量和PV模拟输出
读主变量模拟输出值和最多四个预先定义的动态变量。主变量模拟输出值总是匹配设备的物理主变量模拟输出,包括报警条件和设置值。每种设备类型定义了第二、第三和第四变量。(如第二变量被定义成传感器温度)
请求:无
响应:
      字节0:        主变量模拟输出单位代码
      字节1-4:    主变量模拟输出值
      字节5:        主变量单位代码
      字节6-9:    主变量
      字节10:      第二变量单位代码
      字节11-14:第二变量
      字节15:      第三变量单位代码
      字节16-19:第三变量
      字节20:      第四变量单位代码
      字节21-24:第四变量
命令62:读多个模拟输出
读所选的模拟输出值。每个SLOT可以匹配设备定义的任一模拟输出通道代码。
请求:
      字节0:        分配到Slot0的模拟输出号代码
      字节1:        分配到Slot1的模拟输出号代码
      字节2:        分配到Slot2的模拟输出号代码
      字节3:        分配到Slot3的模拟输出号代码
响应:
      字节0:        分配到Slot0的模拟输出号代码
      字节1:        Slot0单位代码
      字节2-5:    Slot0,所选模拟输出值
      字节6:        分配到Slot1的模拟输出号代码
      字节7:        Slot1单位代码
      字节8-11:  Slot1,所选模拟输出值
      字节12:      分配到Slot2的模拟输出号代码
      字节13:      Slot2单位代码
      字节14-17: Slot2,所选模拟输出值
      字节18:      分配到Slot3的模拟输出号代码
      字节19:      Slot3单位代码
      字节20-23: Slot3,所选模拟输出值
命令63:读模拟输出信息
读和所选模拟输出相关的报警选择代码、传递功能代码、主变量/量程单位代码、上限值、下限值和阻尼值。
阻尼值可以应用到模拟输出和数字输出。
请求:
      字节0:        模拟输出号代码
响应:
      字节0:        模拟输出号代码
      字节1:        模拟输出报警选择代码
      字节2:        模拟输出Transfer功能代码
      字节3:        模拟输出上下限量程值单位代码
      字节4-7:    模拟输出量程上限
      字节8-11:  模拟输出量程下限
      字节12-15:模拟输出阻尼值,单位秒
命令64:写模拟输出附加阻尼值
为所选模拟输出写附加阻尼值。附加的阻尼值表示一个时间常数。
请求:
      字节0:        模拟输出号代码
      字节1-4:    模拟输出附加阻尼值,单位秒
响应:
      字节0:        模拟输出号代码
      字节1-4:    模拟输出附加阻尼值,单位秒
命令65:写模拟输出量程值
谢所选模拟输出的量程值。量程值上限和下限独立。
该命令接收的量程单位不影响动态变量和变送器变量单位。量程值以接收到的单位返回。
多数设备允许量程上限低于量程下限,以使设备反向输出。
请求:
      字节0:        模拟输出号代码
      字节1:        模拟输出量程值单位代码
      字节2-5:    模拟输出量程上限
      字节6-9:    模拟输出量程下限
响应:
      字节0:        模拟输出号代码
      字节1:        模拟输出量程值单位代码
      字节2-5:    模拟输出量程上限
      字节6-9:    模拟输出量程下限
命令66:进入/退出固定模拟输出模式
命令67:修正模拟输出零点
修正所选模拟输出的零点,因此相连的仪表需要读模拟输出下限值。该命令发送的值可以被四舍五入或取整。
在使用这个命令前,使用命令66——进入/退出固定模拟输出模式去准确的设置模拟输出到下限值。如果没有进入固定模拟输出模式或模拟输出没有准确的设置到下限值,响应代码9——不是在正确的模拟输出模式将被返回。
当设备的Polling地址不是0,即工作在多点模式下,如果收到这个命令,则响应代码11——在多点模式将被返回。
请求:
      字节0:        模拟输出号代码
      字节1:        模拟输出单位代码
      字节2-5:    外部测量模拟输出值
响应:
      字节0:        模拟输出号代码
      字节1:        模拟输出单位代码
      字节2-5:    外部测量模拟输出值
命令68:修正模拟输出增益
修正所选模拟输出的增益,因此相连仪表需要读模拟输出的上限值。该命令发送的值可以被四舍五入或取整。
在使用这个命令前,使用命令66——进入/退出固定模拟输出模式去准确的设置模拟输出到上限值。如果没有进入固定模拟输出模式或模拟输出没有准确的设置到上限值,响应代码9——不是在正确的模拟输出模式将被返回。
当设备的Polling地址不是0,即工作在多点模式下,如果收到这个命令,则响应代码11——在多点模式将被返回。
请求:
      字节0:        模拟输出号代码
      字节1:        模拟输出单位代码
      字节2-5:    外部测量模拟输出值
响应:
      字节0:        模拟输出号代码
      字节1:        模拟输出单位代码
      字节2-5:    外部测量模拟输出值
命令69:写模拟输出Transfer功能
命令70:读模拟输出端点值
命令107:写Burst变送器变量
这是一个数据连路层管理命令。
选择变送器变量,命令33在Burst模式使用该变量。
请求:
      字节0:        分配到Slot0的变送器变量代码
      字节1:        分配到Slot1的变送器变量代码
      字节2:        分配到Slot2的变送器变量代码
      字节3:        分配到Slot3的变送器变量代码
响应:
      字节0:        分配到Slot0的变送器变量代码
      字节1:        分配到Slot1的变送器变量代码
      字节2:        分配到Slot2的变送器变量代码
      字节3:        分配到Slot3的变送器变量代码
命令108:写Burst模式命令号
这是一个数据连路层管理命令。
该命令选择设备在Burst模式传递的响应消息。
所有执行Burst模式的设备支持命令1,2和3。
请求:
      字节0:        响应消息的命令号
响应:
      字节0:        响应消息的命令号
命令109:Burst模式控制
该命令用于进入/退出Burst模式。命令1或命令108(写Burst的命令号)选择的命令号的响应数据类型将被传输。
请求:
      字节0:        Burst模式控制代码
响应:
      字节0:        Burst模式控制代码
命令110:读所有动态变量
读4个预先定义的动态变量。
请求:无
响应:
      字节0:        主变量单位代码
      字节1-4:    主变量
      字节5:        第二变量单位代码
      字节6-9:    第二变量
      字节10:      第三变量单位代码
      字节11-14:第三变量
      字节15:      第四变量单位代码
      字节16-19:第四变量
命令111:Transfer服务控制

1楼 0 0 回复