过程模拟 HART (PAH)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程模拟 HART (PAH) 指令用于为智能模拟设备提供 HART 数字数据,并提供该设备的模拟输入 (PAI) 或模拟输出 (PAO) 指令。它提供:
- 以工程单位表示的 HART 动态变量(PV、SV、TV 和 QV)值和变量状态,以及设备模拟回路电流的数字值(以毫安 DC 为单位)。
- 模拟范围(最小值,4 mA;最大值,20 mA)。
- 模拟计量单位。
- 设备信息,如标签和说明文本。
- 附加设备状态(HART“命令 48 附加状态”位数组)。
- 根据设置的命令 48 位查找诊断消息和严重性(适用于数组中找到的前三个诊断消息)。
- 通过 HART 从设备接收的附加状态信息,例如现场设备状态位。
可用语言
梯形图

功能块图

结构化文本
PAH(PAH_tag, Ref_HARTData, Ref_DiagTable, Ref_UnitsTable)
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx ControlPlantPAx Control | P_ANALOG_HART | 标签 | 指令正确运行所需的数据结构。 |
Ref_HARTData | PAX_HART_DEVICE:I:0 | 标签 | PlantPAx 的 HART 设备数据。 |
Ref_DiagTable | P_HART_CODE_DESC_STATUS[2] | 标签 | 诊断位数查找表(到消息和状态)。 |
Ref_UnitsTable | RAC_CODE_DESCRIPTION[2] | 标签 | 测量单位代码查找表(到单位文本)。 |
PAX_HART_DEVICE:I:0 data type 与高度集成的 HART 模块(如 5094-IF8IH)的 Add-On 配置文件相关联。
P_ANALOG_HART 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableIn | BOOL | 不可见 | 不需要 | 输入 | 启用输入。梯形图:对应于梯级条件。 默认值为真。 |
Inp_InitializeReq | BOOL | 不可见 | 不需要 | 输入 | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。使用此请求重新初始化。该指令自动清除该操作数。 默认值为真。 |
Cfg_HasHARTPV | BOOL | 不可见 | 不需要 | 输入 | 1 = 具有 HART 数字 PV,显示在面板上;0 = 未使用 HART 数字 PV。 默认值为假。 |
Cfg_HasHARTSV | BOOL | 不可见 | 不需要 | 输入 | 1 = 具有 HART 数字 SV,显示在面板上;0 = 未使用 HART 数字 SV。 默认值为假。 |
Cfg_HasHARTTV | BOOL | 不可见 | 不需要 | 输入 | 1 = 具有 HART 数字 TV,显示在面板上;0 = 未使用 HART 数字 TV。 默认值为假。 |
Cfg_HasHARTQV | BOOL | 不可见 | 不需要 | 输入 | 1 = 具有 HART 数字 QV,显示在面板上;0 = 未使用 HART 数字 QV。 默认值为假。 |
Cfg_UseHARTVarSts | BOOL | 不可见 | 不需要 | 输入 | 1 = 使用 HART 通信状态生成 SrcQ,0 = 假定良好。 默认值为真。 |
Cfg_UseHARTText | BOOL | 不可见 | 不需要 | 输入 | 1 = 使用从 HART 设备接收的文本,0 = 使用文本的扩展属性。 默认值为假。 |
Cfg_HARTPVDecPlcs | SINT | 不可见 | 不需要 | 输入 | HART PV 显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_HARTSVDecPlcs | SINT | 不可见 | 不需要 | 输入 | HART SV 显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_HARTTVDecPlcs | SINT | 不可见 | 不需要 | 输入 | HART TV 显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_HARTQVDecPlcs | SINT | 不可见 | 不需要 | 输入 | HART QV 显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_HasMoreObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 一个具有更多信息的对象可用于导航。 默认值为假。 |
Cfg_HasNav | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 相关的模拟输入或输出对象可用于导航。 默认值为假。 |
Set_VirtualHARTPV | REAL | 不可见 | 不需要 | 输入 | 虚拟中使用的 HART PV(Sts_Virtual = 1 时)(PV 工程单位)。 默认值为 0.0。 |
Set_VirtualHARTSV | REAL | 不可见 | 不需要 | 输入 | 虚拟中使用的 HART SV(Sts_Virtual = 1 时)(SV 工程单位)。 默认值为 0.0。 |
Set_VirtualHARTTV | REAL | 不可见 | 不需要 | 输入 | 虚拟中使用的 HART TV(Sts_Virtual = 1 时)(TV 工程单位)。 默认值为 0.0。 |
Set_VirtualHARTQV | REAL | 不可见 | 不需要 | 输入 | 虚拟中使用的 HART QV(Sts_Virtual = 1 时)(QV 工程单位)。 默认值为 0.0。 |
PCmd_Virtual | BOOL | 不可见 | 不需要 | 输入 | 用于选择虚拟(仿真)设备操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Physical | BOOL | 不可见 | 不需要 | 输入 | 用于选择物理(非仿真)设备操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
公共输出成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableOut | BOOL | 不可见 | 不需要 | 输出 | 此输出状态始终反映 EnableIn 输入状态。 |
Val_HARTPV | REAL | 可见 | 不需要 | 输出 | 数字 HART PV 值,以 PV 工程单位表示(如已使用,则为替代后)。 |
Val_HARTSV | REAL | 可见 | 不需要 | 输出 | 数字 HART SV 值,以 SV 工程单位表示(如已使用,则为替代后)。 |
Val_HARTTV | REAL | 可见 | 不需要 | 输出 | 数字 HART TV 值,以 TV 工程单位表示(如已使用,则为替代后)。 |
Val_HARTQV | REAL | 可见 | 不需要 | 输出 | 数字 HART QV 值,以 QV 工程单位表示(如已使用,则为替代后)。 |
Val_HARTLoopCurrent | REAL | 可见 | 不需要 | 输出 | 回路电流的数字 HART 值,以毫安为单位。 |
Val_InpRawMinFromHART | REAL | 不可见 | 不需要 | 输出 | HART 模块的模拟输入未标定信号最小值(以模块为单位)。 |
Val_InpRawMaxFromHART | REAL | 不可见 | 不需要 | 输出 | HART 模块的模拟输入未标定信号最大值(以模块为单位)。 |
Val_PVEUMinFromHART | REAL | 不可见 | 不需要 | 输出 | HART 设备的模拟输入标定范围最小值(以工程单位表示)。 |
Val_PVEUMaxFromHART | REAL | 不可见 | 不需要 | 输出 | HART 设备的模拟输入标定范围最大值(以工程单位表示)。 |
Sts_eHARTDiagCode1 | INT | 不可见 | 不需要 | 输出 | HART 诊断代码 #1(命令 48 中的位数,255 = 无)。 |
Sts_eHARTDiagCode2 | INT | 不可见 | 不需要 | 输出 | HART 诊断代码 #2(命令 48 中的位数,255 = 无)。 |
Sts_eHARTDiagCode3 | INT | 不可见 | 不需要 | 输出 | HART 诊断代码 #3(命令 48 中的位数,255 = 无)。 |
Sts_bHARTDiagSts | SINT | 不可见 | 不需要 | 输出 | 总体 HART 诊断状态, .0 = 信息, .1 = 需要维护, .2 = 不合格, .3 = 功能检查, .4 = 失败。 |
Sts_bHARTDiagSts1 | SINT | 不可见 | 不需要 | 输出 | HART 诊断代码 #1 的诊断状态, .0 = 信息, .1 = 需要维护, .2 = 不合格, .3 = 功能检查, .4 = 失败。 |
Sts_bHARTDiagSts2 | SINT | 不可见 | 不需要 | 输出 | HART 诊断代码 #2 的诊断状态, .0 = 信息, .1 = 需要维护, .2 = 不合格, .3 = 功能检查, .4 = 失败。 |
Sts_bHARTDiagSts3 | SINT | 不可见 | 不需要 | 输出 | HART 诊断代码 #3 的诊断状态, .0 = 信息, .1 = 需要维护, .2 = 不合格, .3 = 功能检查, .4 = 失败。 |
Sts_Initialized | BOOL | 不可见 | 不需要 | 输出 | 1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。 |
Sts_Virtual | BOOL | 不可见 | 不需要 | 输出 | 1 = 使用虚拟 PV 代替设备的输入 (Inp_PVData) 来计算输出。0 = 指令使用输入参数 Inp_PVData 计算输出。Sts_Virtual 是 Inp_Virtual 的副本。 |
Sts_ConnectionFault | BOOL | 不可见 | 不需要 | 输出 | 1 = HART 数据输入连接故障,0 = 连接正常 (OK)。 |
Sts_DvcMalfunction | BOOL | 不可见 | 不需要 | 输出 | 1 = HART 设备报告自身故障。 |
Sts_CurrentSaturated | BOOL | 不可见 | 不需要 | 输出 | 1 = HART 报告模拟电流受限。 |
Sts_CurrentFixed | BOOL | 不可见 | 不需要 | 输出 | 1 = 回路电流通过 HART 命令设置为固定值。 |
Sts_CurrentMismatch | BOOL | 不可见 | 不需要 | 输出 | 1 = 通过 HART 报告的回路电流与模拟信号不匹配。 |
Sts_DiagnosticActive | BOOL | 不可见 | 不需要 | 输出 | 1 = HART 数据输入诊断处于活动状态。 |
Val_DiagnosticSeqCount | SINT | 不可见 | 不需要 | 输出 | HART 数据输入诊断序列(诊断数据中每次更改,重叠)计数。 |
SrcQ_IO | SINT | 不可见 | 不需要 | 输出 | 主输入或输出的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ | SINT | 不可见 | 不需要 | 输出 | 主值或状态的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_HARTPV | SINT | 不可见 | 不需要 | 输出 | HART 数字 PV 的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_HARTSV | SINT | 不可见 | 不需要 | 输出 | HART 数字 SV 的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_HARTTV | SINT | 不可见 | 不需要 | 输出 | HART 数字 TV 的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_HARTQV | SINT | 不可见 | 不需要 | 输出 | HART 数字 QV 的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_HARTLoopCurrent | SINT | 不可见 | 不需要 | 输出 | HART 回路电流值的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
Sts_eSts | SINT | 不可见 | 不需要 | 输出 | 设备已确认状态: 0 = 畅通, 1 = 诊断信息, 2 = 需要维护, 3 = 不合格(不确定), 4 = 功能检查(替代), 5 = 故障, 6 = HART 通信丢失, 7 = 虚拟化。 |
Sts_eFault | INT | 不可见 | 不需要 | 输出 | 设备故障状态: 0 = 无, 1 = 动态变量不良, 2 = 设备诊断表明故障, 3 = HART 通信丢失, 4 = 模块连接故障, 5 = 设备报告故障。 |
Val_HARTRevision | SINT | 不可见 | 不需要 | 输出 | 从设备接收的 HART 规范主版本。 |
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
MCmd_Physical | BOOL | 用于选择物理(非仿真)设备操作的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Virtual | BOOL | 用于选择虚拟(仿真)设备操作的维护命令。该指令自动清除该操作数。 默认值为假。 |
专用输出成员 | 数据类型 | 说明 |
|---|---|---|
MRdy_Physical | BOOL | 1 = MCmd_Physical 就绪,启用 HMI 按钮。 |
MRdy_Virtual | BOOL | 1 = MCmd_Virtual 就绪,启用 HMI 按钮。 |
Sts_sHARTDesc | String_16 | 来自 HART 设备的说明文本。 |
Sts_sHARTDiagMsg1 | String_32 | HART 设备诊断消息 #1。 |
Sts_sHARTDiagMsg2 | String_32 | HART 设备诊断消息 #2。 |
Sts_sHARTDiagMsg3 | String_32 | HART 设备诊断消息 #3。 |
Sts_sHARTPVEU | String_16 | HART 数字 PV 工程单位的文本。 |
Sts_sHARTQVEU | String_16 | HART 数字 QV 工程单位的文本。 |
Sts_sHARTSVEU | String_16 | HART 数字 SV 工程单位的文本。 |
Sts_sHARTTag | String_32 | HART 设备的标签文本。 |
Sts_sHARTTVEU | String_16 | HART 数字 TV 工程单位的文本。 |
Sts_sPVEU | String_16 | 模拟 PV 工程单位的文本。 |
公共 InOut 成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
Ref_HARTData | PAX_HART_DEVICE:I:0 | 可见 | 必需 | InOut | 来自输入/输出 (I/O) 模块组件的 HART 数据。 |
Ref_DiagTable | P_HART_CODE_DESC_STATUS[2] | 可见 | 必需 | InOut | 诊断位数查找表(到消息和状态)。 |
Ref_UnitsTable | RAC_CODE_DESCRIPTION[2] | 可见 | 必需 | InOut | 测量单位代码查找表(到单位文本)。 |
PAX_HART_DEVICE:I:O 结构
PAX_HART_DEVICE:I:O 结构是高度集成的 HART 输入/输出 (I/O) 模块使用的输入汇编子类型,用于提供此指令所需的全部 HART 数据:
成员 | 数据类型 | 说明 |
|---|---|---|
RunMode | BOOL | 始终为 0,未被此指令使用 |
ConnectionFaulted | BOOL | 与输入/输出 (I/O) 模块的网络连接已丢失 |
DiagnosticActive | BOOL | 输入/输出 (I/O) 模块至少有一个可用诊断 |
DiagnosticSequenceCount | SINT | 每次输入/输出 (I/O) 模块的诊断信息更改时,此计数就递增。该值计数到 +127,然后环回到 -128,跳过零。 |
CurrentSaturated | BOOL | 模拟信号已达到其最小值或最大值,并不表示实际的过程变量 |
CurrentFixed | BOOL | 模拟信号已通过命令进行固定,并不表示实际的过程变量 |
MoreStatusAvailable | BOOL | 至少设置了一个命令 48(附加设备状态)位已,应显示诊断 |
CurrentMismatch | BOOL | 输入/输出 (I/O) 模块报告回路电流的数字值与实际模拟回路电流明显不一致 |
ConfigurationChanged | BOOL | 设备报告配置数据(缩放、文本、单位)已更改 |
Malfunction | BOOL | 检测到设备报告故障 |
LoopCurrent | CHANNEL_AI:I:O | 设备模拟回路电流 (mA DC) 的 HART 数字值 |
PV | CHANNEL_AI_HART:I:O | HART 动态主变量以及单位和状态 |
SV | CHANNEL_AI_HART:I:O | HART 动态次变量以及单位和状态 |
TV | CHANNEL_AI_HART:I:O | HART 动态第三变量以及单位和状态 |
QV | CHANNEL_AI_HART:I:O | HART 动态第四变量以及单位和状态 |
Static | AB_5000_HART_Static_Struct:I:O | HART“静态”数据,例如设备缩放范围、模拟信号计量单位以及用于说明和标签名称的设备文本字符串 |
ChDataAtSignal4 | REAL | 接收到 4.0 mA DC 信号时,由输入/输出 (I/O) 模块模拟通道提供的值,用于缩放相关的 PAI 或 PAO 指令 |
ChDataAtSignal20 | REAL | 接收到 20.0 mA DC 信号时,由输入/输出 (I/O) 模块模拟通道提供的值,用于缩放相关的 PAI 或 PAO 指令 |
P_HART_CODE_DESC_STATUS 结构
P_HART_CODE_DESC_STATUS 结构用于查找与特定命令 48 诊断位相关联的诊断文本和设备状态。设备提供了 200 位(25 字节)数据数组,其中每个位集表示特定的诊断条件。此类成员数组用于使指令显示给定位的文本说明和状态。
此参数将指令链接到外部标签,该外部标签包含指令运行所需的数据。外部标签必须为所显示的数据类型,也可以为 NULL。如果为 NULL,则不执行诊断位查找功能。
成员 | 数据类型 | 说明 |
|---|---|---|
Code | DINT | 诊断代码。这是 HART 命令 48(附加设备状态)返回的 200 位数组中的诊断位编号(0 到 199),如果未设置诊断位,则为 -1。 |
Desc | STRING_32 | 诊断文本。 |
bSts | SINT | 设备状态(位映射): .0 = 信息 .1 = 需要维护 .2 = 不合格 .3 = 功能检查 .4 = 失败 |
RAC_CODE_DESCRIPTION[x] 结构
RAC_CODE_DESCRIPTION[x] 结构是由工程单位代码数字和相应工程单位文本对组成的数组,用作查找表。指令会在表中搜索从设备接收到的工程单位代码,并显示变量的相应工程单位文本。此参数将指令链接到外部标签,该外部标签包含指令运行所需的数据。外部标签必须为所显示的数据类型,也可以为 NULL。如果为 NULL,则不执行单位代码查找功能。
成员 | 数据类型 | 说明 |
|---|---|---|
Code | DINT | 为其查找说明的代码。 |
Desc | STRING | 给定代码的说明。 |
操作
下图展示了 PAH 指令的功能:

虚拟化
虚拟化可用于指令测试和操作员培训。使用程序命令 PCmd_Virtual 或维护命令 MCmd_Virtual 执行命令虚拟操作。完成虚拟操作后,使用程序命令 PCmd_Physical 或维护命令 MCmd_Physical 恢复正常物理设备操作。
虚拟化处于活动状态时,使用虚拟值设置(Set_VirtualPV 等)来设置 PAH 指令的输出动态变量(PV、SV、TV、QV)值,并忽略输入/输出 (I/O) 故障。操作指令时,就像存在正在运行的 HART 过程设备一样。
初始化
指令通常在首次运行时进行初始化。通过设置 Inp_InitializeReq = 1 请求重新初始化。为了进行正确的初始化,如果在执行代码的联机编辑时添加指令,请确保默认值 Inp_InitializeReq = 1。
HMI 字符串配置
配置 HMI 面板(FT 视图)和 Logix Designer 配置对话框的字符串。字符串将设置为标签项的扩展属性。
- 说明
- 图形符号的标签
- 用于 HMI 面板调用的显示库
- 指令名称
- 区域名称
- URL 链接
- 原始模拟信号的工程单位
- 模拟信号 PV 的工程单位
- HART PV 的工程单位
- HART SV 的工程单位
- HART TV 的工程单位
- HART QV 的工程单位
- HART PV 的标签
- HART SV 的标签
监控 PAH 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 首次扫描/首次运行时标记为初始化的指令 |
指令首次运行 | 将初始化内部数据,如指针和计时器 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件。 指令执行。提供 HART 数据、单位和状态。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。提供 HART 数据、单位和状态。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 首次扫描/首次运行时标记为初始化的指令 |
指令首次运行 | 将初始化内部数据,如指针和计时器 |
指令首次扫描 | 将初始化内部数据,如指针和计时器 |
EnableIn 为假 | EnableOut 设置为假。 指令执行。提供 HART 数据、单位和状态。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。提供 HART 数据、单位和状态。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。因此,如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
在以下示例中,PAH 指令与 PAI(过程模拟输入)指令配合使用。PAI 用于处理来自 HART 模拟输入模块的模拟(4 到 20 mA DC)信号,PAH 指令用于处理从同一现场设备接收到的模拟信号覆盖的数字 HART 数据。因此,为闭环控制(未显示)提供一个模拟实时信号,为其他过程监控提供四个数字动态变量。
梯形图

功能块图

结构化文本
PAH(TI_301_Dvc, ProMag400_I:I.PAxDevice, HART_DiagTable_Flow, HART_EUTable_Generic);
TI_301.Cfg_InpRawMin:=TI_301_Dvc.Val_InpRawMinFromHART;
TI_301.Cfg_InpRawMax:=TI_301_Dvc.Val_InpRawMaxFromHART;
TI_301.Cfg_PVEUMin:=TI_301_Dvc.Val_PVEUMinFromHART;
TI_301.Cfg_PVEUMax:=TI_301_Dvc.Val_PVEUMaxFromHART;
TI_301.Inp_PVData:=TI_301_Inp_PVData;
TI_301.Inp_ModFault:=TI_301_Inp_ModFault;
TI_301.Inp_ChanFault:=TI_301_Inp_ChanFault;
TI_301.Inp_PVUncertain:=TI_301_Inp_PVUncertain;
PAI(TI_301, 0);
提供反馈