Device Entity
Device · 디바이스 · Gerät
IRI (semanticId)
https://dualsoftdev.github.io/aas-semantics/entity/Device/1/0
설명 / Description / Beschreibung
한국어
능동 시스템에서 호출되는 패시브 디바이스 / 액추에이터 / 센서.
English
Passive device / actuator / sensor invoked by an active system.
Deutsch
Passives Gerät / Aktor / Sensor, das von einem aktiven System aufgerufen wird.
다이어그램 / 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
★ Device (Passive ×2)
엔티티 상세 / Entity Detail — 내부 구조 · 동작
🔧 Device (Passive DsSystem) — API 계약 + I/O Tag 매핑
Active 가 호출하는 시스템 — ApiDefs 노출 + IOTags 로 PLC 주소 바인딩
Device "Cylinder1" (passive)
SystemType="Cylinder_2" · IRI="https://factory.example.com/devices/cyl-1" · Make: Festo
노출 APIs (apiDefs[*]) — 외부 시스템이 호출 가능한 메서드
ADV
Advance / 전진
action: Pulse
timeout: 2000ms
RET
Retract / 후진
action: Pulse
timeout: 2000ms
DETECT
Sense object / 감지
action: Normal
→ BOOL result
HOME
Reset to home / 원점
action: Time(3000)
3s 후 자동 완료
I/O Tags — Semantic ⊕ PhysicalBinding (Duality Case 7)
SEMANTIC NAME
DIRECTION
PLC ADDRESS
DATA TYPE
USED BY API
ROLE
LS_Adv1
Input ▶
%IX0.0
BOOL
ADV
limit switch (전진완)
LS_Ret1
Input ▶
%IX0.1
BOOL
RET
limit switch (후진완)
SOL_Adv
Output ◀
%QX0.0
BOOL
ADV
solenoid trigger
SOL_Ret
Output ◀
%QX0.1
BOOL
RET
solenoid trigger
★ ApiDefActionType: Normal · Push · Pulse · Time(ms) — 디바이스 동작 타입에 따라 Tx/Rx 시그널 패턴 결정
F# 타입 정의 / Type Definition
// Device 는 별도 타입이 아닌 DsSystem (passive 역할).
// Project.PassiveSystemIds 에 등록된 DsSystem 인스턴스.
type DsSystem [<JsonConstructor>] internal (name) =
inherit DsEntity(name)
member val IRI : string option = None // 디바이스 식별 IRI
member val SystemType : string option = None // 카탈로그 타입 (Cylinder_2 등)
필드 / Fields
Field Type Default AAS field Description Id Guid Guid.NewGuid() Guid전역 고유 식별자 (자동 생성) Name string (생성자 인자) Name엔티티 이름 IRI string option None IRI디바이스 IRI — 외부 카탈로그 / OPC UA 서버 매핑 SystemType string option None SystemType카탈로그 타입 키 — 시뮬/제어 코드젠의 분기 판단용
관계 / Relationships
예제 (F#) / Example
let cylinder1 = DsSystem("Cylinder1")
cylinder1.SystemType <- Some "Cylinder_2"
cylinder1.IRI <- Some "https://factory.example.com/devices/cyl-1"
project.PassiveSystemIds.Add(cylinder1.Id)
AAS 매핑 / AAS Mapping
Passive 디바이스는 SequenceModel/Project/DeviceReferences SML 또는 분리 저장 모드에서 별도 AASX 파일로 export.
원본 코드 / Source files
AAS ConceptDescription 메타
idShort: Device
dataType: STRING