本节详细介绍控制器状态。
|
意外的设备操作 |
o在命令更改状态、配置控制器选项、上传程序或修改控制器及其所连接设备的物理配置之前,切勿假设控制器处于某一特定的控制器状态。 o在执行这些操作前,考虑对所有连接的设备的影响。 o在对某个控制器进行操作之前,请始终通过确认是否存在输出强制并通过 SoMachine 查看控制器状态信息 (1),来明确确认控制器状态。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
(1) 注: 可以在 PLCSystem 库的 PLC_R.i_wStatus 系统变量中读取控制器状态。
下表描述了控制器状态:
控制器状态 |
描述 |
---|---|
正在启动 |
控制器可执行引导固件及其自身的内部自检。随后它将检查固件和应用程序的校验和。它不执行应用程序,也不进行通讯。 |
INVALID_OS |
闪存中不存在有效固件文件。控制器不执行应用程序。通讯只能通过 USB 主机端口进行,因而只能用于上载有效的操作系统。 |
空 |
存储器中无应用程序或应用程序无效。 |
正在运行 |
控制器正在执行有效应用程序。 |
断点运行 |
此状态与“正在运行”状态相同,只不过存在以下例外情况: o程序的任务处理部分在清除断点之前不会恢复。 有关详细信息,请参阅断点管理。 |
“正在运行”但检测到外部错误 |
此状态与正常的“正在运行”状态相同。 |
已停止 |
控制器中的一个有效应用程序停止。有关此状态下输出和现场总线的行为的说明,请参见“已停止”状态的详细信息。 |
“已停止”但检测到外部错误 |
此状态与正常的“已停止”状态相同。 |
暂停 |
控制器停止执行应用程序,因为它检测到应用程序或系统错误。 此状态与“已停止”状态相同,只不过存在以下例外情况: o负责应用程序错误的任务的行为方式始终与未选择处于“停止”状态时更新 I/O 选项时的情况类似。所有其他任务均遵循实际设置。 |
以下说明始终适用于“已停止”状态:
o配置为运行/停止输入的输入保持正常运行。
o以太网、串行(Modbus、ASCII 等)和 USB 通讯服务保持正常运行,由这些服务写入的命令可以继续影响应用程序、控制器状态和存储器变量。
o所有输出最初采用其配置的状态(保持当前值或将所有输出设置为缺省值)或输出强制(如果使用)指示的状态。输出的后续状态取决于处于“停止”状态时更新 I/O 设置的值,并取决于从远程设备收到的命令。
选择“处于‘停止’状态时更新 I/O”时的任务和 I/O 行为
选择处于“停止”状态时更新 I/O 设置时:
o读取输入操作继续正常执行。读取物理输入,然后将其写入 %I 输入存储器变量。
o不执行任务处理操作。
o写入输出操作继续执行。%Q 输出存储器变量将进行更新(以反映保持当前值配置或设置所有输出为默认值配置),针对任何输出强制进行调整,然后写入到物理输出。
注意: 专用功能继续运行。例如,计数器将继续计数。但是,这些专用功能不影响输出的状态。专用 I/O 的输出符合此处所述行为。
注意: 通过以太网、串行、USB 和 CAN 通讯收到的命令可以继续写入到存储器变量。对 %Q 输出存储器变量进行的修改会写入到物理输出。
选择“处于‘停止’状态时更新 I/O”时的 CAN 行为
以下情况适用于选择“处于‘停止’状态时更新 I/O”设置时的 CAN 总线:
oCAN 总线保持全面正常运行。CAN 总线上的设备继续监视是否存在可用的 CAN 主站。
o可选的 SDO(如果已配置)继续进行交换。
o心跳和节点防护功能(如果已配置)继续运行。
o如果处于“停止”状态的输出的行为字段设置为保持当前值,则 TPDO 采用上一个实际值继续发出。
o如果处于“停止”状态的输出的行为字段为将所有输出设置为缺省值,则上一个实际值会更新为缺省值,后续 TPDO 会采用这些缺省值发出。
未选择“处于‘停止’状态时更新 I/O”时的任务和 I/O 行为
如果未选择处于“停止”状态时更新 I/O 设置,则控制器会将 I/O 设置为保持当前值或将所有输出设置为缺省值条件(根据是否使用输出强制而调整)。在此之后,会出现以下情况:
o读取输入操作停止。%I 输入存储器变量冻结为其上一个值。
o不执行任务处理操作。
o写入输出操作停止。%Q 输出存储器变量可以通过以太网、串行和 USB 连接进行更新。然而,物理输出不受影响,保持配置选项指定的状态。
注意: 专用功能停止运行。例如,计数器将停止。
未选择“处于‘停止’状态时更新 I/O”时的 CAN 行为
以下情况适用于未选择处于“停止”状态时更新 I/O 设置时的 CAN 总线:
oCAN 主站停止通讯。CAN 总线上的设备采用其配置的故障预置状态。
oTPDO 和 RPDO 交换停止。
o可选的 SDO(如果已配置)交换停止。
o心跳和节点防护功能(如果已配置)停止。
o在停止 CAN 主站之前,根据情况将当前或默认值写入 TPDO 并发送一次。