DTDL - 如何在 Azure 数字孪生模型中对电梯间及其在楼层之间的移动进行建模?
Posted
技术标签:
【中文标题】DTDL - 如何在 Azure 数字孪生模型中对电梯间及其在楼层之间的移动进行建模?【英文标题】:DTDL - How to model an elevator room and its movement between levels in Azure Digital Twins? 【发布时间】:2021-04-19 07:54:24 【问题描述】:我正在使用根据RealEstateCore ontology 定义的 DTDL 模型。我希望能够添加描述ElevatorRoom
双胞胎位于建筑物中哪一层的数据。当前模型不包含该信息,Room
和 Space
模型也不包含该信息,而从 ElevatorRoom
扩展而来的模型。
我的问题是定义关卡信息的最佳方式是什么?当电梯在楼层之间移动时,这些数据通常会频繁更新。我可以看到至少两个我正在考虑的替代方案:
-
当前
ElevatorRoom
已扩展,新的 levelId 属性已添加到扩展模型中。 levelId 可以是关卡编号或对应于特定关卡孪生 ID。
使用 RelationShip 定义ElevatorRoom
的位置。例如,ElevatorRoom
具有 isPartOf
和 isLocationOf
关系,可用于将其链接到与电梯当前所在楼层对应的某个 Level
孪生对象。
那么你推荐使用哪一个,或者有比选项 1 和 2 更好的方法?
【问题讨论】:
【参考方案1】:我认为您误解了本体 - ElevatorRoom
肯定不会移动。
据我了解,Elevator
正在移动到ElevatorShaft
,而作为asset
,它已经有了locatedIn
- 与空格的关系,例如Level
。 ElevatorRoom
应该是电梯的维修间。
您可以对其建模,使电梯有两个locatedIn
-Relations,一个与楼层有关,一个与电梯井道有关。或者,还有一个serves
-Relation,您可以像这样使用Elevator -serves-> ElevatorShaft
和Elevator -locatedIn->Level
【讨论】:
感谢您的回答!您对ElevatorRoom
的看法是正确的。这是我的误解,Elevator
确实是正确的模型。主要问题仍然是开放的,即使用哪个选项来定位:新属性或关系。你的回答很好,我希望其他人能证实这一点。尤其是那些在真实环境中实际使用过的人。以上是关于DTDL - 如何在 Azure 数字孪生模型中对电梯间及其在楼层之间的移动进行建模?的主要内容,如果未能解决你的问题,请参考以下文章
Azure IOT PnP 数字孪生 API/SDK 用于检索设备/孪生的属性、命令和遥测定义