过程罐容积表 (PTST)

此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程罐容积表 (Process Tank Strapping Table, PTST) 指令根据产品液面和罐校准表,计算立式柱状罐中的产品量。该指令可对下列值进行补偿:
  • 罐底的自由水(在给定产品/水的液面高度情形下)。
  • 罐外壳的热膨胀(在给定外壳材料线性膨胀系数以及产品和环境温度的情况下)。
  • 罐浮顶(在给定产品密度的情况下)。
过程罐容积表 (Process Tank Strapping Table, PTST) 指令是在功能块之间执行的计算函数。
可用语言
梯形图
PTST_avail_LD
功能块图
PTST_avail_FBD
结构化文本
PTST(PTST_tag, Cfg_CalTbl);
操作数
重要提示: 以下情况下会导致运行出现意外:
  • 输出标签操作数被覆盖。
  • 结构操作数的成员被覆盖。
  • 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换
配置操作数
操作数
类型
格式
说明
PlantPAx Control
P_TANK_STRAPPING_TABLE
标签
指令正确运行所需的数据结构。
Cfg_CalTbl
P_STRAPPING_TABLE_ROW
标签
罐校准表,液面到体积。
P_TANK_STRAPPING_TABLE 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员
数据类型
说明
EnableIn
BOOL
启用输入。梯形图:对应于梯级输入条件。
默认值为真。
Inp_InitializeReq
BOOL
1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。
默认值为真。
Inp_Level
REAL
罐内液面高度,单位为英尺或米。有效值 = 任意浮点数。
默认值为 0.0。
Inp_FreeWaterLevel
REAL
罐底自由水界面液位,以主要液位单位(英尺或米)表示。有效值 = 任意浮点数。
默认值为 0.0。
Inp_ObsAPI
REAL
在产品温度下观察到的密度或 API 度。这用于浮顶补偿,以根据浮顶重量计算液位变化。有效值 = 任意浮点数。
默认值为 30.5。
Inp_AvgProdTemp
REAL
产品的平均温度输入(华氏或摄氏度)。有效值 = 任意浮点数。
默认值为 60.0。
Inp_AmbTemp
REAL
以华氏或摄氏度为单位的环境温度输入。有效值 = 任意浮点数。
默认值为 60.0。
Cfg_MinorPerMajor
REAL
表格每个主要单位(单位为英尺或米)的次要单位(单位为英寸、厘米、毫米)。如果未使用次要单位,则键入 0.0。有效值 = 任意浮点数。
默认值为 12.0。
Cfg_HasCorrTempShell
BOOL
0 = 不修正罐外壳温度。1 = 包括对罐外壳温度的修正。
默认值为假。
Cfg_HasFloatRoofAdj
BOOL
0 = 不使用浮顶调整。1 = 包括浮顶调整,以考虑液位变化。
默认值为假。
Cfg_HasMoreObj
BOOL
1 = 通知 HMI 有包含较多信息的对象可用。
默认值为假。
Cfg_CalTemp
REAL
罐的校准温度(通常为 60 °F 或 15 °C)。有效值 = 任意浮点数。
默认值为 60.0。
Cfg_ShellCoefOfExp
REAL
罐外壳热膨胀线性系数(1/华氏度或 1/摄氏度)。有效值 = 任意浮点数。
默认值为 0.0000062。
Cfg_K
REAL
温度加权(对于绝缘罐,输入 0.0 )。请参阅 API MPMS 2.2A 附录 D。有效值 = 任意浮点数。
默认值为 7.0。
Cfg_FloatRoofLevel
REAL
以此为基础加减浮顶补偿的最低液面(英尺)。有效值 = 任意浮点数。
默认值为 0.0。
Cfg_FloatRoofCalAPI
REAL
表中包含其浮顶数据的度 API。有效值 = 任意浮点数。
默认值为 30.5。
Cfg_FloatRoofVolPerAPI
REAL
产品密度不等于校准密度的表值调整(以每 API 度数的体积单位表示,通常为负数)。有效值 = 任意浮点数。
默认值为 -2.5。
公共输出成员
数据类型
说明
EnableOut
BOOL
启用输出。此输出状态始终反映 EnableIn 输入状态。
Val_TotObsVol
REAL
校准表中的原始总观察量(桶、加仑、升)。
Val_FreeWater
REAL
自由水量(桶、加仑、升)。
Val_TempShell
REAL
计算出的罐外壳温度,单位为华氏或摄氏度。
Val_CorrTempShell
REAL
罐外壳温度修正(乘数)。
Val_FloatRoofAdj
REAL
浮顶调整量(桶、加仑、升)。
Val_GrossObsVol
REAL
主值:观察总量(请参阅 API MPMS 12.1.1)。
Sts_Initialized
BOOL
1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。
Sts_UnderMin
BOOL
Inp_Level 低于容积表中的最低液面。
Sts_OverMax
BOOL
Inp_Level 高于容积表中的最高液面。
公共 InOut 成员
数据类型
说明
Cfg_CalTbl
P_STRAPPING_TABLE_ROW[2]
罐校准表(液面到体积)。
P_STRAPPING_TABLE_ROW 结构
成员
数据类型
说明
主要
REAL
主要单位的数量(英尺、米)。有效值 = 0.0 到最大正浮点数。
次要
REAL
次要单位的数量(英寸、厘米或毫米)。有效值 = 0.0 到最大正浮点数。
容积
REAL
给定液面(英尺、英寸)时罐的容积(油桶、加仑、升)。有效值 = 0.0 到最大正浮点数。
操作
HMI 字符串配置
配置 HMI 面板(FT 视图)和 Logix Designer 配置对话框的字符串。字符串将设置为标签项的扩展属性。仅配置 Logix Designer 中的字符串。
  • 说明
  • 图形符号的标签
  • 用于 HMI 面板调用的显示库
  • 指令名称
  • 区域名称
  • URL 链接
  • 更多信息
  • 总量单位
  • 自由水量单位
  • 原始量单位
  • 计算得到的罐温度单位
  • 罐修正温度单位
  • 浮顶调整量单位
  • 修正校准温度单位
  • API 温度单位
  • 液面单位
  • 容积单位
  • 罐外壳线性温度系数单位
监控 PTST 指令
从 Logix Designer 内进行监控。PTST 没有关联的操作员面板。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态
执行的操作
预扫描
梯级输出条件设置为假。
指令首次运行
将重置所有内部状态和计算。
指令正常执行。
梯级输入条件为假
梯级输出条件设置为假。
不会更新计算值(保留最后的值)。
梯级输入条件为真
将梯级输出条件设置为梯级输入条件。
指令执行。
后扫描
梯级输出条件设置为假。
功能块图
条件/状态
执行的操作
预扫描
EnableOut 设置为假。
指令首次运行
将重置所有内部状态和计算。
指令正常执行。
指令首次扫描
请参阅“功能块图”表中的“指令首次运行”行。
EnableIn 为假
EnableOut 设置为假。
不会更新计算值(保留最后的值)。
EnableIn 为真
EnableOut 设置为真。
指令执行。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态
执行的操作
预扫描
请参阅“功能块图”表中的“预扫描”行。
指令首次运行
请参阅“功能块图”表中的“指令首次运行”行。
EnableIn 为真
请参阅“功能块图”表中的“EnableIn 为真”行。
后扫描
请参阅“功能块图”表中的“后扫描”行。
示例
在本例中,PTST 指令基于测得的存储罐液位和存储罐容积表信息计算存储罐中的产品量。没有浮顶,也没有液位偏差补偿。不会根据温度进行调整,考虑罐的热膨胀。
梯形图
PTST_example_LD
功能块图
PTST_example_FBD
测得的存储罐液位通过使用输入 Inp_Level 连接到 PTST 指令。液位以英尺为单位。存储罐高 4 英尺。在此示例中,数据以 6 英寸为增量。存储管容积表包含九行:
液位(英尺-英寸)
容积(桶)
0-00
3.1
0-06
136.6
1-00
264.2
1-06
402.7
2-00
541.4
2-06
692.7
3-00
844.1
3-06
990.8
4-00
1137.5
要将容积表信息存入控制器,标签 MyP_StrapTbl_CalTable 应创建成类型 P_STRAPPING_TABLE_ROW [9],即包含九个元素的数组。
.Major
.Minor
.Volume
MyP_StrapTbl_CalTable[0]
0
0
3.1
MyP_StrapTbl_CalTable[1]
0
6
136.6
MyP_StrapTbl_CalTable[2]
1
0
264.2
MyP_StrapTbl_CalTable[3]
1
6
402.7
MyP_StrapTbl_CalTable[4]
2
0
541.4
MyP_StrapTbl_CalTable[5]
2
6
692.7
MyP_StrapTbl_CalTable[6]
3
0
844.1
MyP_StrapTbl_CalTable[7]
3
6
990.8
MyP_StrapTbl_CalTable[8]
4
0
1137.5
修改 PTST 指令的 InOut 标签 Cfg_CalTbl,指向新数组 MyP_StrapTbl_CalTable,向指令提供容积表信息。随后,PTST 的输出将连接到另一个 PAI 指令。输出结果是计算得到的存储罐容积。
结构化文本
MyPTST.Inp_Level := MyLevel.Val;
MyVolume.Inp_PVUncertain := MyLevel.Sts_PVUncertain;
MyVolume.Inp_PVData := MyPTST.Val_TotObsVol;
PAI(MyLevel);
PTST(MyPTST,MyP_StrapTbl_CalTable);
PAI(MyVolume);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal