相位命令 (PCMD)
该指令适用于 Compact GuardLogix 5370、Compact GuardLogix 5380、CompactLogix 5370、CompactLogix 5380、GuardLogix 5570、GuardLogix 5580、ControlLogix 5570、ControlLogix 5580 和 ControlLogix 5590 控制器。
小贴士:
将该指令与 ControlLogix 冗余系统配合使用时,在冗余切换期间,如果未在最高优先级任务中规划指令和相位程序,此指令控制的输出可能无法实现无扰动切换。
PCMD 指令用于更改设备相位的状态或子状态。
在运行状态例程中,可使用 PSC 指令将设备相位转换为完成状态。有关暂停功能的更多信息,请参见 PPD 阶段指令。
- 此为转换指令。使用时,请遵循以下步长:
- 在梯形逻辑中,插入一个指令,以便在每次执行该指令时,梯级输入条件均会由 false 转换为 true。
- 在结构化文本例程中,插入指令的条件以便仅在转换时执行。
小贴士: 要使用暂停功能,必须使用 PPD 指令。

编号 | 说明 |
|---|---|
![]() | 命令 某些状态需要通过一条命令才能跳转到下一状态。如果设备相位处于空闲状态,可通过启动命令将设备相位转换为运行状态。一旦进入运行状态,设备相位会执行其运行状态例程。 |
![]() | 其他状态将使用 阶段状态完成 (PSC) 指令进入下一状态。如果设备相位处于正在挂起状态,可使用 PSC 指令将设备相位转换为已挂起状态。一旦进入已挂起状态,设备相位需要执行重启命令才能进入重启状态。 |
![]() | 子状态 使用“自动暂停”、“暂停”和“恢复”来测试并调试状态例程。子状态需要通过 设备相位暂停 (PPD) 指令来生成逻辑程序断点。使用“自动暂停”、“暂停”和“恢复”命令来逐步经过断点。 |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
PCMD (PhaseName,Command,Result);
操作数
梯形图
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
Phase Name | PHASE | 设备相位的名称 | 要更改为其他状态的设备相位。 |
Command | command | 命令枚举值 | 要发送给设备相位用来更改其状态的命令。要了解可用命令,请参见上图。 |
Result | DINT | 立即数 标签 | 为使指令返回指示其执行成功或失败的代码,需输入用于存储结果代码的 DINT 标签。否则,需输入 0。 |
结构化文本
操作数与梯形图 PCMD 指令的操作数相同。
使用 PCMD 指令的指导原则
指导原则 | 详细信息 | |
|---|---|---|
将 PCMD 指令的执行限定于单次扫描。 | 将 PCMD 指令的执行限定于单次扫描。每条命令均适用于一种特定状态或多个状态。一旦设备相位的状态发生变化,命令将 不再 有效。若要限制执行,可使用以下方法:
| |
确定是否需要取得设备相位的所有权。 | 或者,可以由程序获取设备相位的所有权。这可以防止其他程序或 FactoryTalk Batch 软件对设备相位进行控制。 | |
如果使用: | 则: | |
FactoryTalk Batch 软件同时在此控制器内运行过程(配方) | 同时在此控制器内运行过程(配方)。在使用 PCMD 指令前,使用连接到设备相位 (PATT) 指令获取设备相位的所有权。 | |
多个程序对同一设备相位进行控制 | 使用连接到设备相位 (PATT) 指令获取设备相位的所有权。 | |
其他情况 | 无需获取设备相位的所有权。 | |
使用 POVR 指令,而非 PCMD 指令。 |
例如,假设设备检查物料是否堵塞。如果发生堵塞,设备应中止运行。在这种情况下,使用 POVR 指令。这样,即使通过 Logix Designer 进行手动控制,设备也会中止。 | |
确定是否需要返回代码。 | 使用 Result 操作数获取表示 PCMD 指令成功或失败的代码。 | |
若: | 则在 Result 操作数中输入以下内容: | |
预计会出现所有权冲突或其他可能的错误 | DINT 标签,用于存储指令执行结果的代码。 | |
预计 不会 出现所有权冲突或其他可能的错误 | 0 | |
要解读结果代码,请参见下文的 结果代码 表。 | ||
PCMD 结果代码
如果分配标签来存储 PCMD 指令的结果,则该指令在执行时会返回以下代码之一:
代码(十进制) | 说明 |
|---|---|
0 | 成功命令。 |
24577 | 有效命令。 |
24578 | 对于设备相位当前状态无效的命令。例如,如果设备相位处于运行状态,则启动命令无效。 |
24579 | 无法控制设备相位。以下任一项已取得设备相位的所有权。
|
24594 | 计划外或禁用设备相位,或者处于禁用任务中。 |
小贴士:
高优先级 HMI 所有权仅用于
CompactLogix
5370 和 ControlLogix
5570 控制器。影响数学状态标志
否
严重/轻微故障
无。请参见“数组索引编制”,了解与操作数相关的故障。
执行
在结构化文本中,EnableIn 在普通扫描期间始终为真。因此,如果指令处于由逻辑激活的控制路径中,指令将会执行。粗实线下方的所有条件仅能在普通扫描模式期间出现。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 不执行任何操作。 |
后扫描 | 不执行任何操作。 |
EnableIn 为假 | 不执行任何操作。 |
EnableIn 为真 | 该指令按上述方式执行。 |
示例 1
梯形图

编号 | 说明 |
|---|---|
![]() | 如果 ProcedureB_Stepindex = 20(例程处于步 20) 并且这是跳转到步 20(ONS 指令指示 EQU 指令由假跳变为真。) 则 通过启动命令将 Add_Water 设备相位的状态更改为正在运行。 |
![]() | 如果 ProcedureB_Stepindex = 20(例程处于步 20) 并且 Add_Water 设备相位已完成 (Add_Water.Complete = 1) 则 通过复位命令将 Add_Water 设备相位的状态更改为正在复位。转至步 30。 |
结构化文本

编号 | 说明 |
|---|---|
![]() | 当 SFC 进入 Add_Water_Step 时,通过启动命令将 ADD_Water 设备相位切换为正在运行,P1 限定符将此命令的执行限定于该步的首次扫描。 |
![]() | 在 SFC 离开 Add_Water_Step 前 (Add_Water_Complete = 1),通过复位命令将 Add_Water 设备相位切换为正在复位状态。P0 限定符将此命令的执行限定于该步的末次扫描。 |
示例 2
梯形图

小贴士:
如果 ProcedureB_Stepindex = 30(例程处于步 30)
并且这是跳转到步 30(ONS 指令指示 EQU 指令由假转换为真。)
则
通过启动命令将 Add_Water 设备相位的状态更改为正在运行。
确认该命令执行成功,并将结果代码存入 PCMD_Result[1] [DINT 标签]。
结构化文本

小贴士:
当 SFC 进入
Add_Ingredient_Step
时,- 通过启动命令将Add_Ingredient设备相位切换为正在运行状态。
- 确认该命令执行成功,并将结果代码存入PCDM_Result[2](DINT 标签)。
P1 限定符将此命令的执行限定于该步的首次扫描。
提供反馈


