添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
105
MX-PD-盘古 - new/PanGu.DieBonderApp/.github/instructions/workflow.instructions.md
vendored
Normal file
105
MX-PD-盘古 - new/PanGu.DieBonderApp/.github/instructions/workflow.instructions.md
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
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
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Workflow <20>ܹ<EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD>ʱӦ<CAB1><D3A6><EFBFBD>ȸ<EFBFBD><C8B8><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>ơ<EFBFBD>
|
||||
|
||||
## 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
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- Activity <20><>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Service<63><65>д WorkflowContext<78><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD>
|
||||
- `PrepareExecute` <20><> `AfterExecute` ֻ<><D6BB>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Service <20><>
|
||||
- <20><>Ҫ<EFBFBD><D2AA> Activity <20><>д<EFBFBD>䷽<EFBFBD><E4B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE>㷨<EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
## 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
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><>Ҫ<EFBFBD><D2AA> Activity <20><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תͳһ<CDB3><D2BB> WorkflowStep <20><><EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> `Route / SetRoute`
|
||||
- `Failure` ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ͨѶʧ<D1B6>ܡ<EFBFBD><DCA1>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>ȱʧ<C8B1><CAA7><EFBFBD><EFBFBD><EFBFBD>ɻָ<C9BB><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
## JumpConditions Rules
|
||||
- JumpConditions are matched in add order
|
||||
- More specific branches must be placed first
|
||||
- Default flow must be placed last
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
`JumpConditions` ƥ<><C6A5>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>ִ<EFBFBD>У<EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>
|
||||
- Ĭ<>Ϸ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
## 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
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
Service <20><>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD>
|
||||
- <20><>ȡ `WorkflowContext`
|
||||
- <20><>ȡ `RecipeManager` <20>͵<EFBFBD>ǰ<EFBFBD>䷽
|
||||
- <20><>ȡʾ<C8A1><CABE><EFBFBD><EFBFBD><EFBFBD>ݺ<DDBA><CDB9>ղ<EFBFBD><D5B2><EFBFBD>
|
||||
- ͨ<><CDA8> `HardwareManager` <20><>ȡӲ<C8A1><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- У<><D0A3><EFBFBD><EFBFBD><EFBFBD>롢Ӳ<EBA1A2><D3B2>״̬<D7B4>Ͱ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
|
||||
- ִ<>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̲<EFBFBD><CCB2><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B2B9B3><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD> `Route`
|
||||
- <20><><EFBFBD>ؽṹ<D8BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
## Output Preference
|
||||
When implementing workflow code, prefer:
|
||||
1. Activity skeleton
|
||||
2. Service skeleton
|
||||
3. result object design
|
||||
4. WorkflowContext write-back fields
|
||||
5. WorkflowStep routing suggestion
|
||||
6. JumpConditions ordering suggestion
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
1. Activity <20>Ǽ<EFBFBD>
|
||||
2. Service <20>Ǽ<EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
4. WorkflowContext <20><>д<EFBFBD>ֶ<EFBFBD>
|
||||
5. WorkflowStep ·<>ɽ<EFBFBD><C9BD><EFBFBD>
|
||||
6. JumpConditions ˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Reference in New Issue
Block a user