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 시그널 패턴 결정
상속 체인 / Inheritance: DsEntity

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

FieldTypeDefaultAAS fieldDescription
IdGuidGuid.NewGuid()Guid전역 고유 식별자 (자동 생성)
Namestring(생성자 인자)Name엔티티 이름
IRIstring optionNoneIRI디바이스 IRI — 외부 카탈로그 / OPC UA 서버 매핑
SystemTypestring optionNoneSystemType카탈로그 타입 키 — 시뮬/제어 코드젠의 분기 판단용

관계 / 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