ThingWorx 시작하기 > IoT용 프로그래밍 > 모델링: 사물 형태와 사물 템플릿의 용도
모델링: 사물 형태와 사물 템플릿의 용도
ThingWorx 모델의 객체 지향 특성으로 인해 재사용 가능한 "구성 요소"를 정의한 다음 해당 구성 요소를 사용하여 모델에서 사물을 정의할 수 있습니다. 재사용 가능한 구성 요소의 변경 사항은 해당 구성 요소가 정의한 사물에 자동으로 반영됩니다. 원리는 한 위치에서만 동작을 정의하고 상속된 모든 객체가 상위 객체의 현재 정의에 따라 동작하도록 하는 것입니다. 이렇게 하면 업데이트가 필요할 때 많은 사물에 대해 동일한 변경 사항을 적용할 필요가 없습니다.
상속 모델을 쉽게 유지 관리하기 위해 사물 형태와 사물 템플릿을 구현했습니다. 사물 형태는 기본 정의 구성 요소입니다. 사물 또는 사물 템플릿이 사물 형태의 정의를 공유할 때, 사물 또는 사물 템플릿이 사물 형태를 "구현"한다고 합니다. 일반적으로 사물 형태의 동작은 고유해야 하며, 이는 고유한 서비스 및 기능 집합을 실행한다는 의미입니다. 사물 템플릿을 통해 여러 가지 사물 형태를 구현할 수 있습니다. 사물 템플릿을 사용하여 사물을 정의하는 것이 좋습니다.
간단한 예를 살펴 보겠습니다. 사이트에 여러 가지 유형의 장비가 있습니다. 각 장비는 사이트에서 매우 다른 기능을 수행합니다. 간단히 다음 세 가지 유형의 장비가 있다고 가정해 보겠습니다.
변압기
혼합기
공조기
사이트에 5개의 변압기, 20개의 공조기 및 12개의 혼합기가 있을 수 있습니다. 이 세 가지 유형의 장비는 각각 다릅니다. 그러나 몇 가지 공통점이 있을 수도 있습니다. 각 장비가 회사 ERP 시스템에 의해 추적되어 공통 데이터(사물 속성)를 가지고 있다고 가정합니다. 또한 공조기와 변압기가 CBM(Condition Based Maintenance)에 사용되는 특정 메트릭에 대해 유지 관리 시스템을 업데이트해야 한다고 가정합니다.
이 물리적 모델을 분석하고 이를 ThingWorx 모델로 변환하는 방법을 결정할 때는 다음 세 가지 동작 그룹을 고려해야 합니다.
1. ERP 자산 동작
2. 조건 기반 유지 관리 동작
3. 장비 유형별 동작
이 예에서는 ThingWorx 모델의 작동 방식을 활용하기 위해 적어도 두 가지 사물 형태를 정의하려고 합니다. 다음과 같습니다.
1. ERP_Asset 사물 형태 - 사이트의 각 장비에 공통점이 있기 때문입니다. 그렇게 하면 ERP_Asset 사물 형태의 변경 사항이 사이트의 각 장비에 자동으로 반영됩니다.
2. CBM_Asset - 둘 이상의 자산 유형에 이 기능이 필요하므로 이를 사물 형태로 정의하고 사물을 구현하여 모든 변경 사항을 상속합니다. 혼합기의 유지 관리가 이후에 CBM 모델로 옮겨지면, 혼합기가 아래의 혼합기 사물 템플릿을 통해 이 사물 형태를 구현하게 되므로 모든 혼합기를 업데이트할 필요가 없습니다.
이제 각각의 장비 유형에 하나씩 세 가지 사물 템플릿을 생성할 수 있습니다. 사물 템플릿은 특정 정의의 사물을 쉽게 만들고 유지 관리할 수 있도록 설계되었습니다. 이 예에서 세 가지 장비 유형 사물 템플릿을 사용하면, 사물 템플릿을 사용하고 사물에 고유한 이름을 지정하여 특정 자산을 나타내는 사물을 생성할 수 있습니다.
변압기 사물 템플릿
변압기 사물 템플릿은 ERP_Asset 및 CMB_Asset 사물 형태를 구현하여 정의됩니다. 변압기의 모든 특정 속성, 서비스, 이벤트 및 구독도 변압기 사물 템플릿 내에서 정의되어야 합니다. 그런 다음 각 변압기에 대해 ThingWorx 모델에서 변압기 사물 템플릿과 고유한 이름을 사용하여 변압기를 정의합니다.
또는 변압기 사물 형태를 정의할 수도 있습니다. 이 경우 변압기 사물 템플릿은 ERP_Asset, CMB_Asset 및 변압기 세 가지 사물 형태를 구현합니다. 이 접근 방식은 정상적으로 작동하지만 다른 사물 템플릿이 변압기 사물 형태를 구현하지 않을 경우에는 필요하지 않습니다.
혼합기 사물 템플릿
혼합기 사물 템플릿은 ERP_Asset 사물 형태를 구현하여 정의됩니다. 혼합기는 CBM 유지 관리 모델을 사용하지 않으므로 관련 사물 형태가 필요하지 않습니다. 혼합기의 모든 특정 속성, 서비스, 이벤트 및 구독도 혼합기 사물 템플릿 내에서 정의되어야 합니다. 그런 다음 각 혼합기에 대해 ThingWorx 모델에서 혼합기 사물 템플릿과 고유한 이름을 사용하여 혼합기를 정의합니다.
공조기 사물 템플릿
공조기 사물 템플릿은 변압기 사물 템플릿과 유사합니다. ERP_Asset과 CMB_Asset의 사물 형태를 모두 구현해야 합니다. 공조기의 모든 특정 속성, 서비스, 이벤트 및 구독도 공조기 사물 템플릿 내에서 정의되어야 합니다. 그런 다음 각 공조기에 대해 ThingWorx 모델에서 공조기 사물 템플릿과 고유한 이름을 사용하여 공조기를 정의합니다.
이제 모든 자산이 정의되었으므로 모델의 유지 관리가 훨씬 쉬워집니다. ERP_Asset에 변경이 필요한 경우 단일 위치에서 수행하고 테스트할 수 있습니다. 배포된 후에는 사이트의 각 장비가 자동으로 새로운 기능을 상속 받습니다.