Work Entity
Work step · 작업 단계 · Arbeitsschritt
IRI (semanticId)
https://dualsoftdev.github.io/aas-semantics/entity/Work/1/0
설명 / Description / Beschreibung
한국어
단일 작업 단계 — R/G/F/H 상태머신을 가진 시퀀스 실행 단위.
English
Individual work step — a unit of sequence execution with R/G/F/H state machine.
Deutsch
Einzelner Arbeitsschritt — eine Einheit der Sequenzausführung mit R/G/F/H Zustandsmaschine.
다이어그램 / Diagram
전체 구조 / Overview — 이 엔티티가 DS 안에서 위치
Project
TokenSpec
Recipe · #1
DsSystem
ApiDef
ApiDef
TAG
Flow
Work ★
Call
ApiCall
Call₂
Work₂
Write
Read
Write
Read
DsSystem
Work
Call
ApiCall
ApiDef
→ DsSystem
DsSystem
Work
Call
ApiCall
ApiDef
→ DsSystem
ArrowWork
ArrowCall
Tag-Pair Bus
★ Work
엔티티 상세 / Entity Detail — 내부 구조 · 동작
⚡ Work — Status4 R/G/F/H 상태머신
UML state diagram · 외부 신호(Start↑/Reset) ⊕ 내부 완료 조건으로 전이
[init]
R
Ready · 0
Ready
실행 준비 / 대기
토큰 도착 대기
do: nothing
G
Going · 1
Going
실행 중 / 진행
do: Calls 직렬 실행
duration 카운트
F
Finish · 2
Finish
완료 / 다음으로
do: 토큰 → next Work
Reset 신호 대기
H
Homing · 3
Homing
초기화 / 복귀
do: 디바이스 원점
완료 시 R 으로
Start ↑
Calls 완료
Reset
Homing 완료 (cyclic)
Status4 enum (Enum.fs):
Ready = 0
Going = 1
Finish = 2
Homing = 3
★ tokenRole=Source 는 즉시 R→G; Sink 는 F 후 토큰 소멸
F# 타입 정의 / Type Definition
type Work [<JsonConstructor>] internal (flowPrefix: string, localName: string, parentId: Guid) =
inherit DsChild("", parentId)
member val Properties = ResizeArray<WorkSubmodelProperty>()
member val FlowPrefix : string = flowPrefix
member val LocalName : string = localName
member val ReferenceOf : Guid option = None // 다른 Work 참조 (ref 노드)
member val Status4 : Status4 = Ready // 런타임 상태 (R/G/F/H)
member val Position : Xywh option = None // 캔버스 좌표
member val TokenRole : TokenRole = None // None / Source / Ignore / Sink
member val Duration : TimeSpan option = None // 시뮬 사이클 타임
// Name = "{FlowPrefix}.{LocalName}" 자동 합성
필드 / Fields
Field Type Default AAS field Description Id Guid Guid.NewGuid() Guid전역 고유 식별자 (자동 생성) Name string (생성자 인자) Name엔티티 이름 ParentId Guid (생성자 인자) ParentId부모 엔티티 Id 참조 FlowPrefix string (인자) FlowPrefix (Skip)Flow 접두어 — Name 의 앞부분 LocalName string (인자) LocalName (Skip)Work 로컬명 — Name 의 뒷부분 ReferenceOf Guid option None ReferenceOf원본 Work Id (참조 노드일 때) Status4 Status4 enum Ready Status런타임 상태: Ready=0 · Going=1 · Finish=2 · Homing=3 Position Xywh option None Position캔버스 좌표 (X,Y,W,H) TokenRole TokenRole flags None TokenRole토큰 역할: None / Source(시드) / Ignore / Sink Duration TimeSpan option None Duration설계 사이클 타임 (시뮬용)
상태 / 의미 / States & Semantics
State / Type Meaning Ready (R) 초기/대기 — 토큰 도착하면 Going 으로 전이 Going (G) 진행 중 — Calls 실행 중. 완료 시 Finish 로 전이 Finish (F) 완료 — 토큰 다음 Work 로 이동, 다음 사이클 위해 Homing 으로 전이 Homing (H) 복귀 중 — 리셋 조건 충족 시 Ready 로 복귀
현실 시나리오 / Real-world Scenarios
실제 도메인(자동차·반도체·제철·제약·물류 등)에서 이 CD 가 등장하는 예시.
차체 프레스 라인의 6-Work 시퀀스 중 W2 1차프레스 Work. Going(G) 단계에서 Drawing 동작 (1.5s) 을 수행하고, Finish(F) 시 W3 2차프레스로 토큰 전이.
슬라이드하강 (Slide Down)· 1.0s
드로잉 (Drawing)· 1.5s
슬라이드상승 (Slide Up)· 1.0s
웨이퍼 박막증착 6-Work 라인의 W4 플라즈마생성 Work. RF 파워 1500W 인가 → 플라즈마 안정화까지 1.5s 소요. Duration 필드로 시뮬용 사이클타임 박제.
플라즈마발생 (Plasma Ignition)· 1.5s
RF파워조절 (RF Power Control)· 1.2s
플라즈마안정화 (Plasma Stabilization)· 1.1s
정제 제조 6-Work 중 W3 타정 . Punch 정렬 → 압축력 제어 → 배출 직렬 진행.
펀치정렬 (Punch Alignment)· 0.6s
압축력제어 (Compression)· 0.7s
배출 (Ejection)· 0.5s
ds2.json 스니펫 / Sample JSON
동일 시나리오의 ds2.json 표현 Work 는 GUID 키 딕셔너리 항목. parentId 는 Flow.id, status4=0(Ready), duration 은 시뮬용 사이클타임.
{
"works": {
"88888888-8888-8888-8888-888888888888": {
"id": "88888888-8888-8888-8888-888888888888",
"parentId": "44444444-4444-4444-4444-444444444444",
"name": "PressLine.W2_1차프레스",
"flowPrefix": "PressLine",
"localName": "W2_1차프레스",
"status4": 0,
"tokenRole": 0,
"duration": "00:00:03.5000000",
"position": { "x": 240, "y": 200, "w": 120, "h": 40 },
"properties": []
}
}
}
관계 / Relationships
예제 (F#) / Example
let pickup = Work("MainFlow", "Pickup", mainFlow.Id)
pickup.Duration <- Some (TimeSpan.FromSeconds 12.5)
pickup.TokenRole <- TokenRole.Source // 토큰 시드 지점
// Name = "MainFlow.Pickup" 자동 생성
AAS 매핑 / AAS Mapping
Work 는 SequenceModel/.../Flows/<flow>/Works SML 안 SMC. Status4 는 시뮬/모니터링 시 런타임 상태.
산업 표준 / Industry Standards
관련 CD / Related ConceptDescriptions
학습 가이드 / Appendix Pages
원본 코드 / Source files
AAS ConceptDescription 메타
idShort: Work
dataType: STRING