16
仅适用于 S7-300/400
在 S7‑300/400 CPU 中调用不存在的块时,CPU 通常会切换至 S** 模式。诊断缓冲区会指示哪个 FB、FC 或 DB 丢失。然后您可以重新加载丢失块并重新启动 CPU。
但是,如果当存在丢失块时您不想要 CPU 切换至 S** 模式,或仅当某些块类型或块编号丢失时切换至 S** 模式,您可以在 OB121 中*您想要的反应。
当块丢失时,即使您在 CPU 上加载了作为空块的 OB121,这也足够使 CPU 继续运行。如果当 CPU 继续运行或切换至 S** 模式时,您想要更多选择,请将 OB121 包含在用户程序中。
结合 SINAUT ST7,当 CPU 从另一个未知(或尚未知道)的 CPU 接收数据时,CPU 可能会切换至 S** 模式。例如,当您将数据点典型值添加至站,并提供完整的目标地址(目标用户编号及目标对象编号)时,就会出现这种情况。*的目标对象编号在以下情况下可能导致目标用户停止:
一旦在站中安装了新数据点典型值,数据就会传送到目标。
如果目标 CPU 没有安装相应的接收典型值,则目标对象编号(= 接收的典型值背景数据块)不存在。
将导致在接收到数据后立即切换至 S** 模式。
为避免这种情况,建议在 OB121 中调用 FC ST7ObjectTest。
列表: 在编程错误 OB 中调用 FC ST7ObjectTest
OB121 | |
|---|---|
ST7ObjectTest | 如果 CPU 接收到具有未知目标对象编号的数据,在 OB121 中调用 FC ST7ObjectTest,可阻止 CPU S**。 无论 FC ST7ObjectTest 调用如何,可在 OB121 中任一点包含其他调用。 FC ST7ObjectTest 具有参数“StopInOtherCases”。如果由于另一数据块或 FB 或 FC 丢失而调用 OB121 时,您可以在此*在其他情况中(S** 或继续运行)发生的事件。 |