过程互锁 (PINTLK)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程互锁 (Process Interlock, PINTLK) 指令收集或汇总用于将正在运行或已接通的设备停止或断电的互锁条件。该指令还有助于防止设备启动或接通。始终评估互锁以将设备断电。对于必须设置为启动设备但在设备运行时被忽略的许可条件,请使用过程许可 (Process Permissive, PPERM) 指令。
PINTLK 指令提供以下功能:
- 互锁输入正常 (OK) 检查:每个输入都与其配置的正常 (OK) 状态进行比较。如果输入未处于正常 (OK) 状态,则会引发互锁条件,除非被绕过。
- 互锁条件锁定:如果将输入配置为锁定状态,则互锁条件会保持锁定直到重置,除非锁定缺陷输入为真。如果输入未配置为锁定状态,则当输入返回到正常 (OK) 状态时,互锁条件将清除。
- 互锁绕过:如果输入配置为可被绕过(Cfg_Bypassable.x = 1)、互锁被绕过(MSet_Bypass.x = 1),且下游设备指令启用了绕过(Sts_Bypass = 1),即使输入未处于其正常状态,也不会触发互锁条件。如果输入配置为不可绕过(Cfg_Bypassable.x = 0),或者互锁未被绕过(MSet_Bypass.x = 0),或者连接的设备未启用绕过(Sts_Bypass = 0),则输入将触发互锁条件。通常,工程部门会配置允许绕过的互锁。维护人员从工程部门允许绕过的互锁中选择要绕过的项。
- 先出:如果没有引发互锁条件(可以运行),则要引发的第一个互锁条件被标记为先出。如果在同一个扫描中引发多个互锁条件,则这些条件都被标记为先出。
- 锁定缺陷:锁定缺陷功能可减少启动设备所需的操作员操作数量。锁定缺陷输入是在设备未运行时设置的。当锁定缺陷输入为真时,会忽略锁定的输入配置,当它们对应的输入处于正常 (OK) 状态时,将清除所有互锁条件。此操作可使操作员无需在启动设备前进行重置。当设备启动时,锁定缺陷输入关闭。然后,如果配置为锁定的互锁条件关闭设备,则它将保持锁定状态直至重置。
- 互锁类型:有八种可配置的互锁类型。每种类型都有描述;默认情况下,描述为三个字母的缩写(供 HMI 使用),后跟冒号和完整描述。每种类型都会影响可绕过性、锁定和可用性。类型 0、2、4 和 6 会影响可用性;类型 0、1、2 和 3 强制锁定并需要复位;类型 0、1、4 和 5 强制不允许绕过。
- 输入可用字段:输入可用字段允许级联互锁存储区,并支持使用已准备运行但在序列中的某些点不可用的设备(例如,带有当前已关闭的自动截止阀的泵)。重要提示: 使用互锁存储区时,必须执行 PINTLK 指令,确保首先执行存储区 0。对存储区 0 执行该指令会先清除所有存储区的数据,然后再处理存储区 0。对其他存储区执行该指令不会清除存储区数据。PINTLK 指令可以按任意顺序执行,前提是先执行存储区 0,并且在设备指令执行之前执行所有存储区。
- 汇总状态:将其 32 个互锁输入条件汇总到两个主状态位:
- Sts_IntlkOK.指示无论绕过状态如何,所有互锁条件均已清除(无论绕过状态如何,都处于待运行状态)。
- Sts_NBIntlkOK.指示所有不可绕过的互锁条件均已清除,且所有可绕过的互锁条件均已清除或已绕过(如果互锁被绕过,即随时可运行)。
- Sts_Available。指示设备尽管当前有互锁处于激活状态,但仍可通电。重要提示: 下游设备指令用于确定是否绕过互锁。PINTLK 指令仅提供两个摘要状态位。这两个位将接线或映射至设备控制逻辑。
可用语言
梯形图

功能块图

结构化文本
PINTLK(PINTLK 标签,Ref_IntlkBankSts);
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx | P_INTERLOCK | 标签 | 指令正确运行所需的数据结构。 |
Ref_IntlkBankSts | P_INTERLOCK_BANK_STATUS | 标签 | 参考互锁存储区状态。 |
P_INTERLOCK 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 启用输入 - 系统定义的参数 默认值为真。 |
Inp_InitializeReq | BOOL | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。 默认值为真。 |
Inp_Intlk00 | BOOL | 互锁条件 00,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk01 | BOOL | 互锁条件 01,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk02 | BOOL | 互锁条件 02,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk03 | BOOL | 互锁条件 03,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk04 | BOOL | 互锁条件 04,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk05 | BOOL | 互锁条件 05,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk06 | BOOL | 互锁条件 06,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk07 | BOOL | 互锁条件 07,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk08 | BOOL | 互锁条件 08,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk09 | BOOL | 互锁条件 09,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk10 | BOOL | 互锁条件 10,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk11 | BOOL | 互锁条件 11,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk12 | BOOL | 互锁条件 12,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk13 | BOOL | 互锁条件 13,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk14 | BOOL | 互锁条件 14,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk15 | BOOL | 互锁条件 15,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk16 | BOOL | 互锁条件 16,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk17 | BOOL | 互锁条件 17,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk18 | BOOL | 互锁条件 18,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk19 | BOOL | 互锁条件 19,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk20 | BOOL | 互锁条件 20,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk21 | BOOL | 互锁条件 21,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk22 | BOOL | 互锁条件 22,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk23 | BOOL | 互锁条件 23,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk24 | BOOL | 互锁条件 24,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk25 | BOOL | 互锁条件 25,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk26 | BOOL | 互锁条件 26,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk27 | BOOL | 互锁条件 27,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk28 | BOOL | 互锁条件 28,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk29 | BOOL | 互锁条件 29,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk30 | BOOL | 互锁条件 30,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_Intlk31 | BOOL | 互锁条件 31,如果未处于配置的正常 (OK) 状态,则会断电。 默认值为假。 |
Inp_IOFault | DINT | IO 故障逻辑的输入寄存器。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Inp_Available | BOOL | 外部可用性输入。 默认值为真。 |
Inp_BypActive | BOOL | 1 = 互锁绕过当前处于活动状态。 默认值为假。 |
Inp_LatchDefeat | BOOL | 设备断电时设置。1 = 即使配置为锁定,也不要锁定输入,并且不要捕获新的先出信号。 默认值为假。 |
Inp_Reset | BOOL | 1 = 重置锁定的互锁和先出信号。 默认值为假。 |
Cfg_OKState | DINT | 相应位指示每个输入的哪个状态(0 或 1)为允许运行状态。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Cfg_Latched | DINT | 设置位指示锁定(封闭)的条件。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Cfg_StopOnly | DINT | 设置位指示哪些条件导致停止但不脱扣。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Cfg_Bypassable | DINT | 设置位指示可以绕过的条件。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Cfg_HasNav | DINT | 设置位以指示启用的导航按钮。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
Cfg_eType00 | SINT | 互锁 0 的枚举类型。 默认值为 6。 |
Cfg_eType01 | SINT | 互锁 1 的枚举类型。 默认值为 6。 |
Cfg_eType02 | SINT | 互锁 2 的枚举类型。 默认值为 6。 |
Cfg_eType03 | SINT | 互锁 3 的枚举类型。 默认值为 6。 |
Cfg_eType04 | SINT | 互锁 4 的枚举类型。 默认值为 6。 |
Cfg_eType05 | SINT | 互锁 5 的枚举类型。 默认值为 6。 |
Cfg_eType06 | SINT | 互锁 6 的枚举类型。 默认值为 6。 |
Cfg_eType07 | SINT | 互锁 7 的枚举类型。 默认值为 6。 |
Cfg_eType08 | SINT | 互锁 8 的枚举类型。 默认值为 6。 |
Cfg_eType09 | SINT | 互锁 9 的枚举类型。 默认值为 6。 |
Cfg_eType10 | SINT | 互锁 10 的枚举类型。 默认值为 6。 |
Cfg_eType11 | SINT | 互锁 11 的枚举类型。 默认值为 6。 |
Cfg_eType12 | SINT | 互锁 12 的枚举类型。 默认值为 6。 |
Cfg_eType13 | SINT | 互锁 13 的枚举类型。 默认值为 6。 |
Cfg_eType14 | SINT | 互锁 14 的枚举类型。 默认值为 6。 |
Cfg_eType15 | SINT | 互锁 15 的枚举类型。 默认值为 6。 |
Cfg_eType16 | SINT | 互锁 16 的枚举类型。 默认值为 6。 |
Cfg_eType17 | SINT | 互锁 17 的枚举类型。 默认值为 6。 |
Cfg_eType18 | SINT | 互锁 18 的枚举类型。 默认值为 6。 |
Cfg_eType19 | SINT | 互锁 19 的枚举类型。 默认值为 6。 |
Cfg_eType20 | SINT | 互锁 20 的枚举类型。 默认值为 6。 |
Cfg_eType21 | SINT | 互锁 21 的枚举类型。 默认值为 6。 |
Cfg_eType22 | SINT | 互锁 22 的枚举类型。 默认值为 6。 |
Cfg_eType23 | SINT | 互锁 23 的枚举类型。 默认值为 6。 |
Cfg_eType24 | SINT | 互锁 24 的枚举类型。 默认值为 6。 |
Cfg_eType25 | SINT | 互锁 25 的枚举类型。 默认值为 6。 |
Cfg_eType26 | SINT | 互锁 26 的枚举类型。 默认值为 6。 |
Cfg_eType27 | SINT | 互锁 27 的枚举类型。 默认值为 6。 |
Cfg_eType28 | SINT | 互锁 28 的枚举类型。 默认值为 6。 |
Cfg_eType29 | SINT | 互锁 29 的枚举类型。 默认值为 6。 |
Cfg_eType30 | SINT | 互锁 30 的枚举类型。 默认值为 6。 |
Cfg_eType31 | SINT | 互锁 31 的枚举类型。 默认值为 6。 |
Cfg_HasType | SINT | 从 HMI 中启用类型选择。 默认值为 2#1111_1111。 |
Cfg_TypeDesc00 | BOOL | 互锁类型 00 描述。 默认值为假。 |
Cfg_TypeDesc01 | BOOL | 互锁类型 01 描述。 默认值为假。 |
Cfg_TypeDesc02 | BOOL | 互锁类型 02 描述。 默认值为假。 |
Cfg_TypeDesc03 | BOOL | 互锁类型 03 描述。 默认值为假。 |
Cfg_TypeDesc04 | BOOL | 互锁类型 04 描述。 默认值为假。 |
Cfg_TypeDesc05 | BOOL | 互锁类型 05 描述。 默认值为假。 |
Cfg_TypeDesc06 | BOOL | 互锁类型 06 描述。 默认值为假。 |
Cfg_TypeDesc07 | BOOL | 互锁类型 07 描述。 默认值为假。 |
Cfg_BankID | INT | 用于多个存储区的存储区 ID(0 到 7)。 默认值为 0。 |
Cfg_HasMoreObj | BOOL | 1 = 通知 HMI 可使用包含更多信息的对象。 默认值为假。 |
Cfg_CnfrmReqd | SINT | 需要操作员确认命令。表示需要命令确认的类型。0 = 无,1 = 需要命令确认,2 = 需要执行者电子签名,3 = 需要执行者和审批者电子签名。 默认值为 0。 |
PCmd_Reset | BOOL | 用于重置锁定互锁的程序命令。 默认值为假。 |
公共输出成员 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 启用输出 - 系统定义的参数 |
Out_Reset | BOOL | 1 = 重置外部设备。 |
Val_FirstUpBankID | INT | 首次互锁的存储区 ID 编号。 |
Val_FirstUpIndex | INT | 首次互锁的索引编号。 |
Sts_Initialized | BOOL | 1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。 |
Sts_IntlkOK | BOOL | 1 = 运行正常 (OK),0 = 停止。 |
Sts_NBIntlkOK | BOOL | 1 = 所有不可绕过的互锁均可正常 (OK) 运行。 |
Sts_Available | BOOL | 1 = 可用。 |
Sts_IntlkTripInh | BOOL | 1 = 互锁脱扣禁止 - 停止设备但不脱扣。 |
Sts_BypActive | BOOL | 1 = 互锁绕过处于活动状态(忽略可绕过互锁)。 |
Sts_FirstUpDetect | BOOL | 1 = 检测到首次互锁。 |
Sts_BankIDError | BOOL | 1 = 存储区 ID 出错,每个存储区 ID 都必须唯一。 |
Sts_LatchDefeat | BOOL | 1 = 即使配置为锁定,也不要锁定输入。 |
Sts_RdyReset | BOOL | 1 = 锁定的互锁(返回为“正常 (OK)”)待重置。 |
Sts_LatchMask | DINT | 锁定掩码 - 始终基于类型锁定。 |
Sts_BypassMask | DINT | 绕过掩码 - 基于类型绕过。 |
Sts_Intlk | DINT | 单独的互锁状态(1 = 停止,0 = 正常 (OK))。 |
Sts_FirstOut | DINT | 互锁先出状态(首个非正常 (OK) 条件的位 1)。 |
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
HMI_Tab | SINT | 要显示的选项卡 (FTView ME)。 默认值为 0。 |
MSet_Bypass | DINT | 单个条件维护绕过切换。 默认值为 2#0000_0000_0000_0000_0000_0000_0000_0000。 |
OCmd_Reset | BOOL | 用于重置锁定互锁的操作员命令。 默认值为假。 |
专用输出成员 | 数据类型 | 说明 |
|---|---|---|
ORdy_Reset | BOOL | 1 = OCmd_Reset 就绪(启用 HMI 按钮)。 |
Val_BankMap | DINT | 检测到互锁存储区映射。 |
Val_BankSts | DINT | 互锁存储区状态映射。 |
P_INTERLOCK_BANK_STATUS 结构
成员 | 数据类型 | 说明 |
|---|---|---|
Val_FirstUpIndex | INT | 首次互锁的索引编号。 |
Val_FirstUpBankID | INT | 首次互锁的存储区 ID 编号。 |
Val_BankMap | DINT | 检测到互锁存储区映射。 |
Val_BankSts | DINT | 互锁存储区状态映射。 |
Inp_Reset | BOOL | 1 = 重置脱扣和首次互锁。 |
Inp_BypActive | BOOL | 1 = 互锁绕过当前处于活动状态。 |
Inp_LatchDefeat | BOOL | 1 = 不锁定。 |
Inp_Available | BOOL | 1 = 可从之前的设备获取。 |
Sts_BankIDError | BOOL | 1 = 重复或无效的存储区 ID。 |
Sts_IntlkOK | BOOL | 互锁可绕过互锁状态(1 = 所有互锁正常 (OK) 接通)。 |
Sts_NBIntlkOK | BOOL | 互锁不可绕过互锁状态(1 = 所有不可绕过的互锁正常 (OK) 接通)。 |
Sts_IntlkTripInh | BOOL | 1 = 互锁脱扣禁止 - 停止设备但不脱扣。 |
Sts_Available | BOOL | 可用性状态。(1 = 可用)。 |
Sts_FirstUpDetect | BOOL | 1 = 检测到首次互锁。 |
Sts_RdyReset | BOOL | 1 = 锁定的互锁(返回为“正常 (OK)”)待重置。 |
Sts_PrevIntlkOK | BOOL | 之前的互锁可绕过互锁状态(1 = 所有互锁正常 (OK)接通)。 |
Sts_PrevNBIntlkOK | BOOL | 之前的互锁不可绕过互锁状态(1 = 所有不可绕过的互锁正常 (OK) 接通)。 |
操作
下图展示了 PINTLK 指令的功能:

HMI 字符串配置
配置 HMI 面板(FT 视图)和 Logix Designer 配置对话框的字符串。字符串将设置为标签项的扩展属性。仅配置 Logix Designer 中的字符串。
- 说明
- 图形符号的标签
- 用于 HMI 面板调用的显示库
- 指令名称
- 区域名称
- URL 链接
- 输入条件文本
- 导航路径
- 互锁类型
- 更多信息
监控 PINTLK 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 梯级输出条件设置为假。 |
指令首次运行 | 指令正常执行。 |
梯级输入条件为假 | 梯级输出条件设置为假。 如果该指令处于脱机扫描状态,则将摘要互锁正常 (OK) 状态位设置为假。 仅为配置为绕过的条件设置单独的互锁绕过。将清除不可绕过的输入的所有 MSet。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableOut 设置为假。 |
指令首次运行 | 指令正常执行。 |
指令首次扫描 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为假 | EnableOut 设置为假。 如果该指令处于脱机扫描状态,则将摘要互锁正常 (OK) 状态位设置为假。 仅为配置为绕过的条件设置单独的互锁绕过。将清除不可绕过的输入的所有 MSet。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
互锁组
使用互锁存储区时,必须执行 PINTLK 指令,确保首先执行存储区 0。对存储区 0 执行该指令会先清除所有存储区的数据,然后再处理存储区 0。对其他存储区执行该指令不会清除存储区数据。PINTLK 指令可以按任意顺序执行,前提是先执行存储区 0,并且在设备指令执行之前执行所有存储区。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
该示例使用 PINTLK 指令集中处理互锁条件,这些互锁条件允许运行纸浆制造过程中用于研磨木材的研磨板。
梯形图

功能块图

结构化文本
P182_Motor_INTLK.Inp_BypActive := P182_Motor.Sts_BypActive;
P182_Motor_INTLK.Inp_Intlk00 := Zone_1_Light_Curtain;
P182_Motor_INTLK.Inp_Intlk01 := Coolant_Pressure_OK;
PINTLK(P182_Motor_INTLK, 0);
P182_Motor.Inp_IntlkOK := P182_Motor_INTLK.Sts_IntlkOK;
P182_Motor.Inp_NBIntlkOK := P182_Motor_INTLK.Sts_NBIntlkOK;
PMTR(P182_Motor,P182_CtrlSet,P182_CtrlCmd,P182_CtrlSts, 0, 0);
提供反馈