2.9 KiB
2.9 KiB
applyTo
| applyTo |
|---|
| MainShell/Process/**/*.cs,**/*Activity.cs,**/*Workflow*.cs,**/*ProcessService.cs,**/*MotionService.cs |
Workflow Instructions
Workflow Architecture
This repository uses:
- WorkflowRunner
- AutoProductionWorkflowBuilder
- ActivityAbstractBase
- CompositeActivity
- WorkflowStepIds
- WorkflowStepIdResolver
中文说明
流程系统基于现有 Workflow 架构实现,生成代码时应优先复用这些对象和机制。
Layering Rules
- Activity layer only:
- calls Service / MotionService / ProcessService
- writes WorkflowContext
- returns execution result
- PrepareExecute and AfterExecute only handle pre/post processing
- Core workflow logic must be implemented in Service layer
- Do not place recipe parsing, compensation logic, vision logic, or hardware orchestration in Activity
中文说明
分层规则:
- Activity 层只负责调用 Service、写 WorkflowContext、返回执行结果
PrepareExecute和AfterExecute只做前后处理- 核心流程逻辑必须放在 Service 层
- 不要在 Activity 中写配方解析、视觉算法、补偿逻辑、硬件调度
Routing Rules
- Do not place workflow jump logic in Activity
- Actual workflow transitions must be configured by WorkflowStep
- Normal business branches should use Route / SetRoute
- Failure should only be used for real failures:
- hardware error
- timeout
- communication failure
- invalid required input
- unrecoverable process error
中文说明
跳转规则:
- 不要在 Activity 中写流程跳转逻辑
- 流程跳转统一由 WorkflowStep 配置
- 正常业务分支优先使用
Route / SetRoute Failure只用于真正异常,例如硬件错误、超时、通讯失败、关键输入缺失、不可恢复错误
JumpConditions Rules
- JumpConditions are matched in add order
- More specific branches must be placed first
- Default flow must be placed last
中文说明
JumpConditions 匹配顺序按添加顺序执行:
- 更具体的条件放前面
- 默认分支放最后
Service Responsibilities
Service layer should be responsible for:
- reading WorkflowContext
- reading RecipeManager and current recipe
- reading teach data and process parameters
- acquiring hardware via HardwareManager
- validating inputs
- validating hardware state
- validating safety conditions
- executing workflow core steps
- computing business result or compensation result
- determining Route
- returning structured process result
中文说明
Service 层职责:
- 读取
WorkflowContext - 读取
RecipeManager和当前配方 - 读取示教数据和工艺参数
- 通过
HardwareManager获取硬件对象 - 校验输入、硬件状态和安全条件
- 执行核心流程步骤
- 计算业务结果或补偿结果
- 决定
Route - 返回结构化结果对象
Output Preference
When implementing workflow code, prefer:
- Activity skeleton
- Service skeleton
- result object design
- WorkflowContext write-back fields
- WorkflowStep routing suggestion
- JumpConditions ordering suggestion
中文说明
实现流程代码时,优先输出:
- Activity 骨架
- Service 骨架
- 结果对象设计
- WorkflowContext 回写字段
- WorkflowStep 路由建议
- JumpConditions 顺序建议