现场已经具有大量状态信息。

MES 有任务和工单。

WCS 有调度、路径和资源状态。

PLC 有设备状态和 Interlock。

机器人有 Ready、模式和动作状态。

视觉系统有识别结果、位置和置信度。

安全系统有许可状态。

下游设备也有自己的 Ready、Waiting 和接收状态。

数据并不少。

但现场仍然需要回答:

当前系统为什么还不能进入下一状态?

实际排查中,工程师往往仍需要重新查看程序、画面和日志,并与不同系统负责人确认状态关系。

问题在于:

这些状态虽然分别存在,却还没有围绕同一个目标状态入口形成一次明确的状态迁移判断。


1. 各个系统分别维护状态,本身没有问题

不同系统按照各自职责维护状态,是复杂自动化和制造系统的正常结构。

MES 关注任务、工单和生产过程。

WCS 关注调度、路径、资源和执行状态。

PLC 关注设备、动作和顺序控制。

机器人控制器关注模式、轨迹和动作状态。

视觉系统关注识别结果、位置和置信度。

安全系统关注安全许可和危险动作限制。

这些系统首先需要完成各自的功能。

因此,同一个现场可能同时存在:

MES Task = Released
WCS Task = Pending
Robot = Ready
Station = Available
Area Permission = False

这些状态可以同时是真实的。

但它们并不会自动说明:

为什么本次状态迁移还没有成立。


2. 状态值与状态迁移关系不是同一件事

状态记录主要回答:

某个对象当前处于什么状态。

状态迁移判断还需要进一步回答:

这些状态对于当前准备进入的目标状态意味着什么。

例如:

Robot Ready = TRUE

只能说明机器人当前处于某种可运行状态。

它不能单独说明:

  • 当前系统准备执行什么;
  • 这个 Ready 是否与本次状态迁移直接相关;
  • 是否仍有其他必要条件未成立;
  • 当前动作是否已经获得许可;
  • 动作开始以后,后续执行链是否能够继续接续。

因此:

状态存在是对象事实,状态之间形成怎样的判断关系则是另一个工程问题。


3. 共同判断首先需要明确目标状态

如果不知道系统准备进入什么状态,就很难判断哪些状态真正与本次迁移有关。

例如:

当前状态:等待抓取
目标状态:进入抓取阶段

和:

当前状态:异常处理完成
目标状态:重新投入自动运行

这两个目标状态入口所需要的条件、许可和执行链接续关系并不相同。

因此,在现有系统中继续增加状态字段,并不一定能够使判断更加明确。

更基础的问题是:

这些状态正在共同判断哪一次状态迁移。

只有当前状态和目标状态明确以后,才能进一步判断:

  • 哪些状态与本次进入直接相关;
  • 哪些状态只是背景信息;
  • 哪些状态缺失会阻止进入;
  • 哪些状态虽然存在,但当前已经不能作为有效判定依据。

因此,“状态很多”和“判断明确”并不是同一件事。


4. 多系统协同会进一步放大这一问题

在单台设备内部,许多状态关系可以直接写入顺序程序和 Interlock。

但随着系统规模扩大,一次状态迁移可能同时依赖:

MES
WCS
PLC
机器人
视觉系统
安全系统
下游设备

这时,每个系统只能观察和处理整体状态迁移中的一部分信息。

例如:

  • MES 认为任务已经可以执行;
  • WCS 仍在等待资源;
  • PLC 认为本机准备完成;
  • 机器人显示 Ready;
  • 安全系统尚未给出区域许可。

这些状态本身并不矛盾。

需要进一步判断的是:

这些状态是否已经围绕同一个目标状态入口形成共同的工程关系。

如果没有,现场仍然需要工程师跨系统重新建立这些状态之间的关联。


5. 状态正确,也可能不能支持当前迁移

还有一类更隐蔽的问题:

某个状态值本身没有错误,但它已经不能作为当前状态迁移的有效依据。

例如:

  • 检测结果已经过期;
  • Ready 长时间没有刷新;
  • 上下游状态更新时间不同;
  • 某项许可已经撤销;
  • 对象已经变化,但旧状态仍然保留;
  • 系统仍处于状态切换过程中。

因此,状态迁移设计不仅需要知道:

状态是什么。

还需要判断:

这个状态与当前目标状态入口是什么关系,以及当前是否仍然有效。

这也是单纯增加状态监视和日志字段难以完全解决的问题。


6. 关键不在增加状态,而在明确判断对象

如果现场排查仍然需要:

查 MES
→ 查 WCS
→ 查 PLC
→ 查机器人
→ 查安全系统
→ 对照时间
→ 人工还原

说明不同系统中的状态虽然已经被记录,但一次完整的状态迁移关系仍然需要人工重建。

因此,更关键的问题不是:

还可以再记录哪些状态?

而是:

系统当前准备进入什么目标状态,以及哪些状态共同决定这次进入是否成立?

TPCA / PCN 关注的正是这一层问题:

将原本分散在不同系统中的状态,围绕一个明确的目标状态入口重新建立工程关系。

至于这些状态如何进一步形成结构化判定、控制和履历,可参见:


工程结论

系统拥有大量状态,并不代表已经形成明确的状态迁移判断。

状态记录主要回答:

各个对象当前处于什么状态?

状态迁移设计还需要回答:

系统当前准备进入什么目标状态,这些状态与本次进入有什么关系,以及为什么这一次能够进入或不能进入?

因此,需要组织的并不是更多孤立状态,而是:

围绕明确目标状态入口建立起来的状态关系。

TPCA / PCN 关注的,就是将这类原本分散的状态迁移判断转化为明确的工程设计对象。


进一步阅读


文档信息

题目:“为什么状态都有了,系统仍没有形成明确的状态迁移判断?”
文档类型:工程问题
问题类型:状态迁移设计问题
版本:Public Question Version 1.2
首次发布日期:2026-07-04
最后更新:2026-08-20
作者:全野南政 / Nansei Zenno
当前 URL:https://zennns.com/zh/questions/why-status-records-cannot-form-coordination-judgment/