设备“不动作”。

HMI 上 PLC Ready 已经成立,主要条件也都显示 OK。机器人无报警,伺服已上电,安全回路正常。现场第一反应是程序里漏了动作指令,开始查梯形图、查步进状态、查输出点。

后来发现,问题不在 PLC Ready 这个信号本身。

PLC 内部确实判断到某些前提条件成立,但目标动作需要的执行链没真正接上。下游设备给了 ready 信号,承接完成状态没刷新。PLC 只看到“可以交接”,没确认“交接后能不能继续”。动作一旦进去,立刻卡在下一步。

类似情况在自动化现场很常见。PLC 条件看着成立,执行机构没动作;PLC Ready 成立,机器人不启动;PLC 步进走进某一步,伺服、气缸、夹爪或下游设备没按预期接续;HMI 上全是绿色,现场停着不动。

表面上看是“PLC 已经 Ready,为什么还不运行”,实际往往是状态迁移前的判定没展开。


现场现象

典型现象包括:

  • PLC Ready 成立,但执行机构没有动作。
  • PLC 条件全通,但机器人程序没有启动。
  • 步进已经进入目标步骤,但动作输出没有实际产生。
  • 输出指令已经发出,但执行机构没有反馈动作完成。
  • 伺服 Ready、气缸原点、夹爪开闭等局部信号都正常,但整体动作链无法推进。
  • 下游设备给出 Ready,但交接后立刻进入等待。
  • 安全回路正常,但区域许可、人工确认或上位许可没有成立。
  • HMI 上显示条件 OK,但实际信号已经超时、未刷新或处于切换中。
  • PLC 程序可以继续运行,但进入目标阶段后马上卡在下一步。

这些现象的共同点是:PLC 侧看到的 Ready 或 OK 只覆盖了部分条件。目标动作能不能执行,还取决于对象条件、许可状态、执行链承接和信号动态是否同时成立。


PLC Ready 通常能说明什么

PLC Ready 通常表示 PLC 程序认为当前设备或单元已经满足某些基本运行条件。自动模式成立、安全回路正常、主要报警没发生、设备在初始或待机位置、伺服已上电、气缸夹爪输送带等机构处于可动作状态、上一动作完成、目标步骤允许进入、与机器人视觉上位或下游的基础通信正常。

这些条件都很重要,没有的话 PLC 通常不该发动作指令。

但 PLC Ready 经常只是一个汇总状态。它说明 PLC 侧判断到某些前提成立,不一定说明目标物理执行阶段已经具备完整进入条件。PLC Ready 可以当进入判断的一部分,不能直接等同于“动作链已经成立”。


PLC Ready 为什么仍可能不能运行

PLC Ready 成立后仍不能运行,常见原因可以分为五类。

第一,目标对象条件没有成立。

例如,工件未到位、工件 ID 不一致、视觉结果过期、位置偏差超出允许范围、前序动作完成信号不可信、任务参数缺失。PLC Ready 可能只检查了设备状态,没有检查目标对象是否仍然有效。

第二,许可条件没有成立。

例如,安全许可正常,但区域进入许可没有成立;设备许可正常,但上位系统没有放行;本机许可成立,但对方设备没有给出接收许可;自动运行许可成立,但人工确认还没有完成。这类问题容易被误判为“PLC 已经 Ready,为什么不动作”。实际是某个关键许可没有进入动作许可链。

第三,执行链没有接续。

例如,机器人可以动作,但下游不可承接;夹爪可以闭合,但抓取后没有可用放置路径;输送线可以启动,但返回路径不可用;检测设备可以开始检测,但结果上传链路不可用。PLC Ready 可能只确认了本机状态,没有确认进入目标阶段后的后续链条。

第四,信号动态已经失效。

例如,Ready 信号未刷新,视觉结果时间戳过期,下游状态延迟,通信状态短时中断,多个设备状态切换不同步,许可在 PLC 判断后被撤销。这类问题在 HMI 上看起来仍是 OK,但实际当前状态已经不可信。

第五,当前处于控制边界。

例如,位置偏差接近补偿边界,等待时间接近上限,重试次数接近限制,动作条件部分满足但风险较高,需要低速、降级、回流或人工确认。

这类状态既不是简单 OK,也不是简单 NG。如果 PLC Ready 没有把边界状态展开,系统就容易停在模糊等待中。


PLC Ready 和动作成立之间缺了什么

PLC Ready 到实际动作之间,还缺一个“目标阶段进入前判定”。

这个判定要回答:当前准备进哪个物理执行阶段,目标阶段要什么条件,哪些信号算对象条件,哪些算安全、上位、区域或人工许可,进去后执行链能不能继续,相关信号还在不在有效时间内,当前是该等、重试、降级还是人工确认。

很多现场问题卡住,不是因为 PLC 没 Ready,也不是因为没有 interlock。Ready、interlock、handshake、alarm、step condition 分散在不同程序段、不同画面、不同设备接口里。它们能让设备运行,不一定能解释“为什么目标阶段进不去”。


用 C / A / E 重新看 PLC Ready

可以把 PLC Ready 周围的状态拆成三类。

C:Condition,条件状态。
用于判断目标动作进入前,对象条件、识别条件、任务条件、参数条件、前序状态是否成立。

例如:

  • 工件是否存在;
  • 工件位置是否合格;
  • 视觉结果是否有效;
  • 任务参数是否完整;
  • 前一阶段是否真实完成。

A:Authority,许可状态。
用于判断系统是否允许进入目标动作或目标阶段。

例如:

  • 安全门是否关闭;
  • 光栅是否未触发;
  • 急停是否复位;
  • 上位系统是否放行;
  • 区域许可是否成立;
  • 人工确认是否完成;
  • 对方设备是否允许交接。

A 类状态里,关键许可可以直接决定是否禁止进入。就算 PLC Ready、设备 Ready、机器人 Ready 都成立,关键许可没成立的话也不能进目标阶段。

E:Execution Chain,执行链状态。
用于判断进入目标阶段后,动作链是否能够接续。

例如:

  • 机器人路径是否可达;
  • 夹爪或吸附机构是否可用;
  • 下游是否可承接;
  • 返回路径是否存在;
  • 异常品是否有排出路径;
  • 检测结果是否能够上传;
  • MES / WCS / HMI 状态是否能够回写。

从这个角度看,PLC Ready 更适合作为 C / A / E 中若干输入信号的汇总,而不应直接作为目标阶段进入成立的最终判断。


还需要 S / D / B 判定

仅有 C / A / E 还不够。还需要判断这些状态属于什么性质的问题。

S:Structure,结构完整性。
需要确认信号、接口、映射关系、许可来源、执行链边界是否已经定义并接入。

例如,下游 Ready 有信号,但下游“承接完成”没有接入;视觉 OK 有信号,但时间戳没有纳入判断;异常排出路径存在,但 PLC 中没有定义其可用状态。

D:Dynamics,动态时序有效性。
需要确认信号当前是否有效、稳定、同步、未超时。

例如,Ready 信号未刷新,视觉结果过期,许可刚刚撤销,设备状态处于切换中,上位系统数据延迟。

B:Boundary,控制边界。
需要确认当前状态是否还能继续等待,还是应该重试、重识别、回流、降级、禁止进入或人工确认。

例如,识别置信度接近阈值,位置偏差接近补偿范围,等待时间接近上限,重试次数接近限制。

这样,PLC Ready 周围的模糊状态才能被进一步展开。


工程结论

PLC Ready 很重要,但不能替代目标阶段进入前的结构化判定。

复杂自动化单元里,PLC Ready 通常说明本机或局部条件已经满足。但目标动作能不能执行,还要看条件成不成立、许可成不成立、执行链接不接得上、信号动态有没有效、当前在不在控制边界、进去之后会不会马上卡住。

这些内容没被显式整理的话,现场就容易出现:PLC 条件全通机构不动,HMI 全是绿色动作不发生,设备没报警系统停在某一步,问题解决一次换个项目又重新排查。

PLC Ready 之后还需要一个面向目标物理执行阶段的前置判定节点。这个节点不只看 Ready/Not Ready,而是把目标阶段进入前的多源状态信号映射成条件、许可、执行链,再判断结构完整性、动态时序有效性、控制边界,最后输出允许进入、等待、重识别、下游协调、回流、降级、禁止进入、安全锁定或人工确认这些控制路径。

这就是 TPCA/CAE-SDB 在 PLC/HMI 和自动化执行单元里的核心应用场景。


进一步阅读


文档信息

题目: 为什么 PLC Ready 仍不能运行? 文档类型: 工程问题 问题类型: 单元与现场执行问题 版本: Public Question Version 1.0 发布日期: 2026-07-04 作者: 全野南政 / Nansei Zenno 当前 URL: https://zennns.com/zh/questions/why-plc-ready-does-not-run/