压力/温度补偿流 (PPTC)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
压力/温度补偿流 (Pressure/Temperature Compensated Flow, PPTC) 指令用于计算标准温度和压力下的流量,在给定体积流速率或压差测量值的情况下,该流量大约是质量流速。该指令要求对流动气体的实际温度和压力进行测量。
可用语言
梯形图

功能块图

结构化文本
PPTC(PPTC_01);
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx Control | P_PRESS_TEMP_COMPENSATED | 标签 | 指令正确运行所需的数据结构。 |
P_PRESS_TEMP_COMPENSATED 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 启用输入。梯形图:对应于梯级输入条件。 默认值为真。 |
Inp_InitializeReq | BOOL | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。 默认值为真。 |
Inp_TAct | REAL | 实际(测量)温度,可采用绝对或常用单位。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PAct | REAL | 实际(测量)压力,可采用绝对或常用单位。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_DPAct | REAL | 实际(测量)压差。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_FAct | REAL | 实际(测量)未补偿流,采用体积单位。有效值 = 任意浮点数。 默认值为 0.0。 |
Cfg_LoFlowCutoff | REAL | 如果 Out_Flow 小于此截止值,则会显示为 0.0。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
Cfg_TStd | REAL | 标准温度,采用 Inp_TAct 单位。有效值 = 任意浮点数。 默认值为 0.0。 |
Cfg_PStd | REAL | 标准压力,采用 Inp_PAct 单位。有效值 = 任意浮点数。 默认值为 0.0。 |
Cfg_TOffset | REAL | “零”输入单位温度,采用绝对单位。通常为 273.15 开尔文或 459.67 兰氏度。有效值 = 0.0 到最大正浮点数。 默认值为 273.15。 |
Cfg_POffset | REAL | “零”输入单位压力,采用绝对单位。通常为 14.696 PSIA。有效值 = 0.0 到最大正浮点数。 默认值为 14.696。 |
Cfg_DPRef | REAL | 参考(满量程)压差。常用值为 100.0 英寸水柱。有效值 = 0.0 到最大正浮点数。 默认值为 100.0。 |
Cfg_FRef | REAL | 参考 dp 处的参考流量,采用体积单位。有效值 = 0.0 到最大正浮点数。 默认值为 1.0。 |
Cfg_UseDP | BOOL | 1 = 使用 Inp_DPAct(平方根曲线)计算流量。0 = 使用 Inp_FAct(线性)。 默认值为假。 |
公共输出成员 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 启用输出。此输出状态始终反映 EnableIn 输入状态。 |
Out_Flow | REAL | 补偿流(在标准温度和压力下:质量流量)。 |
Sts_Initialized | BOOL | 1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。 |
Sts_Err | BOOL | 1 = 配置出错:请参阅明细位 (Sts_Errxxx) 以查找原因。 |
Sts_ErrTStd | BOOL | 1 = 标准温度无效(Cfg_TStd + Cfg_TOffset 必须 > 0.0)。 |
Sts_ErrPStd | BOOL | 1 = 标准压力无效(Cfg_PStd + Cfg_PStd 必须 > 0.0)。 |
Sts_ErrDPRef | BOOL | 1 = 参考压差无效(如果使用 DP,则必须 > 0.0)。 |
Sts_ErrFRef | BOOL | 1 = 参考 DP 处的参考流量无效(必须 > 0.0)。 |
操作
在其他功能块之间,PPTC 指令仅用作计算函数。如果需要面板或报警,可将该指令计算所得的输出发送至 PAI(模拟输入)指令进行报警和显示。
PPTC 指令:
- 将体积流速率或流元素(如孔板或皮托管)的压差作为其主要输入。使用压差时,PPTC 指令允许配置给定压差的体积流速率。
- 接受温度,单位为常用单位(华氏或摄氏度)或绝对单位(兰氏度或开尔文)。
- 接受压力,单位为常用单位(PSIG、kPa 计量单位或 MPa 计量单位)或绝对单位(PSIA、kPa 绝对值、MPa 绝对值)。
- 具有用户可配置的标准条件,例如 14.696 PSIA 和 60 °F,或 101.325 kPa 和 0 °C。
- 通过使用理想气体定律(PV = nRT)来确定指定标准条件下的流量,以从给定温度和压力调整到标准温度和压力。
虚拟化
虚拟化不适用于 PPTC 指令。
初始化
指令通常在首次运行时进行初始化。可随时通过设置 Inp_InitializeReq = 1 来请求重新初始化。为了进行正确的初始化,如果在执行代码的联机编辑时添加指令,请确保默认值 Inp_InitializeReq = 1。
HMI 字符串配置
配置 HMI 面板(FT 视图)和 Logix Designer 配置对话框的字符串。
- 说明 - PPTC 标签的说明
- 图形符号标签 - PPTC 标签的标签元数据
- HMI 面板调用的显示库 - PPTC 标签的库元数据
- 指令名称 - PPTC 标签的指令元数据
- 区域名称 - PPTC 标签的区域元数据
- URL 链接 - PPTC 标签的 URL 元数据
- 实际压差单位 - .Inp_DPAct 的工程单位元数据
- 实际的未补偿流量(采用体积单位)- .Inp_FAct 的工程单位元数据
- 实际压力(可采用绝对或常用单位)- .Inp_PAct 的工程单位元数据
- 实际温度(可采用绝对或常用单位)- .Inp_TAct 的工程单位元数据
- 补偿流(在标准温度和压力下:质量流量)单位 - .Out_Flow 的工程单位元数据
监控 PPTC 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 梯级输出条件设置为假。 |
指令首次运行 | 指令正常执行。 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableOut 设置为假。 |
指令首次运行 | 请参阅“梯形图”表中的“指令首次运行”行。 |
指令首次扫描 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为假 | EnableOut 设置为假。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
在本示例中,PPTC 指令用于确定标准压力和流量下压缩氮气的流速率。在环境条件存在差异且流发送器无法执行补偿的情况下,它可以为监管传输或控制计算提供更准确的测量。
在这种情况下,PPTC 指令会测量来自 dp 发送器的流量。发送器为控制器提供了一个值,该值已缩放为体积流量,但不对环境温度和压力进行补偿。此外,还提供了用于测量流量的温度和压力测量值。在本例中,所需的标准压力和温度为 0 psig 和 15 °C。
梯形图



功能块图

结构化文本
TI101.Inp_PVData:=I_TE101;
TI101.Inp_PVUncertain:=I_TE101_Flt;
PAI(TI101);
PI101.Inp_PVData:=I_PE101;
PI101.Inp_PVUncertain:=I_PE101_Flt;
PAI(PI101);
FI101.Inp_PVData:=I_FE101;
FI101.Inp_PVUncertain:=I_FE101_Flt;
PAI(FI101);
FY101A.Inp_Tact:=TI101.Val;
FY101A.Inp_Pact:=PI101.Val;
FY101A.Inp_Fact:=FI101.Val;
PPTC(FY101A);
FI101.Inp_PVData:=FY101A.Out_Flow;
FI101.Inp_PVUncertain:=FY101A.Sts_Err;
PAI(FI101);
提供反馈