type Call [<JsonConstructor>] internal (devicesAlias: string, apiName: string, parentId: Guid) =
inherit DsChild("", parentId)
member val Properties = ResizeArray<CallSubmodelProperty>()
member val Status4 : Status4 = Ready
member val Position : Xywh option = None
member val ApiCalls = ResizeArray<ApiCall>() // 런타임 바인딩
member val CallConditions = ResizeArray<CallCondition>()
member val ReferenceOf : Guid option = None
member val DevicesAlias = devicesAlias // Name 의 앞부분
member val ApiName = apiName // Name 의 뒷부분
// Name = "{DevicesAlias}.{ApiName}" 자동 합성
let moveCall = Call("Robot1", "MOVE_TO_A", pickup.Id)
// Name = "Robot1.MOVE_TO_A" 자동 생성
// CallCondition 추가 (AutoAux 자동 보조)
let cond = CallCondition()
cond.Type <- Some CallConditionType.AutoAux
moveCall.CallConditions.Add(cond)
AAS 매핑 / AAS Mapping
Call 은 Work SMC 하위 Calls SML 안 SMC. ApiCalls 컬렉션은 [<AasxField(Skip)>] 로 별도 ApiCalls SML 컨테이너에 분리 저장됨.