附加到相位 (PATT)
该指令适用于 Compact GuardLogix 5370、Compact GuardLogix 5380、CompactLogix 5370、CompactLogix 5380、GuardLogix 5570、GuardLogix 5580、ControlLogix 5570、ControlLogix 5580 和 ControlLogix 5590 控制器。
小贴士:
将该指令与 ControlLogix 冗余系统配合使用时,在冗余切换期间,如果未在最高优先级任务中规划指令和相位程序,此指令控制的输出可能无法实现无扰动切换。
- 防止其他程序或FactoryTalk Batch软件控制设备相位。
- 确保其他程序或FactoryTalk Batch软件尚未拥有设备相位的所有权。
PATT 指令可使程序获取某个设备相位的所有权。
- 所有权是可选择的。只要设备相位没有确定所有者,任何定序程序(控制器中的程序,FactoryTalk Batch软件)都可以对设备相位进行控制。
- FactoryTalk Batch软件始终拥有设备相位的所有权。
- 一旦定序程序拥有某设备相位的所有权,则其他任何定序程序均不能对该设备相位进行控制。
此为转换指令。使用时,请遵循以下步长:
- 在梯形逻辑中,插入一个指令,以便在每次执行该指令时,梯级输入条件均会由 false 转换为 true。
- 在结构化文本例程中,插入指令的条件以便仅在转换时执行。
梯形图

功能块
此指令不可用于功能块中。
结构化文本
PATT(Phase_Name,Result);
操作数
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Phase Name | PHASE | 设备相位的名称 | 要拥有的设备相位。 |
Result | DINT | 立即数 标签 | 为使指令返回指示其执行成功或失败的代码,需输入用于存储结果代码的 DINT 标签。否则,需输入 0。 |
结构化文本
操作数与梯形图 PATT 指令的操作数相同。
使用 PATT 指令的指导原则
指导原则 | 详细信息 | |
|---|---|---|
如果有多个定序程序使用同一个设备相位,则需考虑所有权问题。 | 所有权可以确保程序对所需的所有设备相位进行控制,并且会排除任何其他定序程序。 | |
如果使用: | 则: | |
FactoryTalk Batch 软件同时在此控制器内运行序列 | 在执行序列(过程)之前,需获取序列使用的所有设备相位的所有权。 | |
多个程序对同一设备相位进行控制 | ||
其他情况 | 无需获取设备相位的所有权。 | |
请记住, Logix Designer 优先对控制器进行控制。 | 无论是程序还是 FactoryTalk Batch 软件拥有设备相位的所有权,始终可使用 Logix Designer 优先获取所有权并控制设备相位,使其转换为其他状态。 | |
以下各项: | 优先于以下各项: | |
Logix Designer | 控制器(内部定序程序), FactoryTalk Batch 软件(外部定序程序) | |
控制器(内部定序程序) | 无 | |
FactoryTalk Batch 软件(外部定序程序) | 无 | |
使用 Result 操作数来验证所有权。 | 使用 Result 操作数获取显示 PATT 指令执行成功或失败的代码。要解读结果代码,请参见下文的 PATT 结果代码 部分。 | |
避免或规划结果代码 = 24582。 | 每次执行时,PATT 指令都会尝试获得设备相位的所有权。一旦程序拥有设备相位的所有权,再次执行 PATT 指令将生成结果代码 24582。当使用 PATT 指令时,请采取以下任一措施:
| |
序列完成后,会放弃所有权。 | 要放弃所有权,可使用“与设备相位拆离”(Detach from Equipment Phase, PDET) 指令。 | |
PATT 结果代码
如果分配标签来存储 PATT 指令的结果,则该指令在执行时会返回以下代码之一:
代码(十进制) | 说明 |
|---|---|
0 | 命令成功执行。 |
24579 | Logix Designer 或 HMI 已获取设备相位的所有权。调用程序已连接到设备相位,但未获取当前控制的所有权令。
|
24582 | 程序已获取设备相位的所有权。 |
24593 | 以下任一项已取得设备相位的所有权:
|
24594 | 设备相位未规划、已被禁止或处于已被禁止的任务中。 |
影响数学状态标志
否
严重/轻微故障
无。请参见“数组索引编制”,了解与操作数相关的故障。
执行
在结构化文本中,EnableIn 在普通扫描期间始终为真。因此,如果指令处于由逻辑激活的控制路径中,指令将会执行。粗实线下方的所有状况仅能在普通扫描模式期间出现。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不执行任何操作。 |
后扫描 | 不执行任何操作。 |
EnableIn 为假 | 不执行任何操作。 |
EnableIn 为真 | 该指令按上述方式执行。 |
示例
梯形图
如果
Step.1
= 1(序列的第一步),则:每条 PATT 指令都尝试获取设备相位的所有权。
如果 PATT 指令的结果代码为 0 或 24582(程序拥有设备相位的所有权),则:
Ownership
标签的相应位 = 1。(在 Ownership
标签中,为每个设备相位都分配了一个位。)如果
Ownership
= 3(程序拥有设备相位的所有权,由位 0 和位 1 指示),则Done
= 1。(这表示序列进入下一步。)
结构化文本

编号 | 说明 |
|---|---|
![]() | 在该序列中的第一步,Take_Ownership 动作尝试取得该序列所用两个设备相位的所有权。 |
![]() | Action_009 检查程序是否拥有设备相位的所有权。如果每条 PATT 指令的结果代码为 0 或 24282(程序拥有设备相位的所有权),则 Ownership 标签中的位 = 1。(在 Ownership 标签中,为每个设备相位都分配了一个位。) |
![]() | 如果 Ownership = 3(程序拥有设备相位的所有权,由位 0 和位 1 指示),则 SFC 进入下一步。 |
提供反馈


