跳到主要内容
版本:Next

SOPControlActivity - SOP 控制

概述

属性
节点名称SOP控制
节点描述SOP控制步骤
节点类型业务节点
命名空间CMS.Plugin.MesSuite.Activitys
程序集CMS.Plugin.MesSuite.Activitys
分类工序步骤
排序9
发布
基类ProcessBusinessActivity

功能说明

SOPControlActivity 是 SOP 控制节点,用于控制标准作业程序(SOP)的执行流程。该节点支持多种控制类型,包括合格判断和事件发布等功能。

配置属性

属性名显示名称类型必填默认值说明
ControlType控制类型SopControlType-SOP 控制类型
EventSynchronous事件同步boolfalse是否同步发布事件

控制类型

类型说明
QualifiedJudgment合格判断 - 根据配置的判断类型进行质量判定
其他类型发布 SOP 控制事件

业务逻辑

执行流程

开始


判断控制类型

├─► QualifiedJudgment(合格判断)
│ │
│ ├─► 获取 PLC 合格结果
│ ├─► 获取本机合格结果
│ │
│ └─► 根据判断类型计算最终结果
│ │
│ ├─► PLC 类型 → 使用 PLC 结果
│ ├─► Local 类型 → 使用本机结果
│ └─► Composite 类型 → 两者都合格才合格

└─► 其他类型

└─► 发布 SOP 控制事件

├─► 同步模式 → 等待事件处理完成

└─► 异步模式 → 立即返回


结束

合格判断类型

判断类型说明
PLC使用 PLC 返回的合格信号
Local使用本机计算的合格结果
Composite综合判断,PLC 和本机都合格才合格

流程数据项

输入数据项

数据项类型说明
ApplicationDataProcessModel工艺模型(包含 QualifiedJudgmentType)
OutboundQualityValueobjectPLC 合格结果
OutboundResultValueobject本机合格结果

输出数据项

数据项类型说明
QualityResultValueint最终质量结果(1=合格,2=不合格)

依赖服务

服务接口说明
ILocalEventBus本地事件总线

使用示例

合格判断配置

<SopControlActivity Name="SOP合格判断">
<ControlType>QualifiedJudgment</ControlType>
</SopControlActivity>

事件发布配置(同步)

<SopControlActivity Name="SOP控制">
<ControlType>Start</ControlType>
<EventSynchronous>true</EventSynchronous>
</SopControlActivity>

事件发布配置(异步)

<SopControlActivity Name="SOP控制">
<ControlType>Complete</ControlType>
<EventSynchronous>false</EventSynchronous>
</SopControlActivity>

典型流程配置

合格判断流程

<ParameterCollectActivity Name="参数采集" />

<LocalQualificationJudgmentActivity Name="本机合格判断" />

<SopControlActivity Name="SOP合格判断">
<ControlType>QualifiedJudgment</ControlType>
</SopControlActivity>

<ConditionActivity Name="质量判断">
<Condition>Flow.DataItems["QualityResultValue"] == 1</Condition>
<TrueBranch>合格处理</TrueBranch>
<FalseBranch>不合格处理</FalseBranch>
</ConditionActivity>

SOP 事件控制流程

<SopControlActivity Name="SOP开始">
<ControlType>Start</ControlType>
<EventSynchronous>true</EventSynchronous>
</SopControlActivity>

<!-- 生产加工过程 -->

<SopControlActivity Name="SOP完成">
<ControlType>Complete</ControlType>
<EventSynchronous>false</EventSynchronous>
</SopControlActivity>

事件处理

SOP 控制事件通过 ILocalEventBus 发布,事件数据包含:

字段类型说明
ControlTypeSopControlType控制类型
Namestring节点名称
FlowItemsFlowItemCollection流程数据项集合

订阅事件示例:

public class SopControlEventHandler : ILocalEventHandler<SopControlEto>
{
public Task HandleEventAsync(SopControlEto eventData)
{
// 处理 SOP 控制事件
var controlType = eventData.ControlType;
var flowItems = eventData.FlowItems;
// ...
return Task.CompletedTask;
}
}

相关节点

注意事项

  1. 合格判断类型在工艺模型的 QualifiedJudgmentType 中配置
  2. 同步事件会等待所有事件处理器执行完成
  3. 异步事件会立即返回,不等待处理完成
  4. 事件发布会包含当前流程的所有数据项