Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

2021年10月23日08:17:09 发表评论 87 views

启动Niagara service打开项目station进入到Hierarchy Service的基础操作部分这里就不在赘述了,如果有不明白的大家可以翻看上一期分享的Hierarchy文章进行查看。

另外大家也可以通过Niagara Help查看关于Hierarchy的说明。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

里面有很多方法讲述Hierarchy及如何使用它。

大段大段的英文估计大家看着也累,不过不用着急,不需要大家去详细阅读,只需要能够查看到关键点的配置步骤就可以了。

建立每个NiagaraNetwork驱动下面控制器设备的层级数据标签已经在上一篇文章中分享过了,大家可以仿照着完成其余的设备Hierarchy就可以了。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

同时检查在station下面的Hierarchy层级结构中保证已经成功实现映射。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

展开查看是否也有相应设备点位映射。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

  • 建立对所有设备点位的Hierarchy层级结构。

将palette搜索框中的Hierarchy拖入到Hierarchy Service中,并命名为AllBuildings(命名可以按照实际项目需要自己定义即可)。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

双击AllBuildings进入到视图管理界面中。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

按照上一篇文章操作的步骤在Scope Ord中选择定位到NiagaraNetwork中。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

  • 在Hierarchy组件中选择QueryLevelDef并将其拖入到AllBuildings下面并命名为Buildings。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

双击Buildings进入到视图编辑页面。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

在Query填写框中填写入查询语句n:device

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

填写完成后点击保存退出到AllBuildings Hierarchy中。

  • 在Hierarchy组件中选ListLevelDef并将其拖入到AllBuildings下面并命名为EquipType。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

双击EquipType进入到视图编辑页面。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型在Hierarchy组件中选择NameGroupDef并将其拖入到EquipType下面并命名为AHU。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

展开AHU在Query查询规则中填写入hs:ahu

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

Tips:Hierarchy通过事先建立好的Tag标签库,只需要通过定义好的查询语句就可以直接快速查询到指定对象。

这下明白为啥要建立标签字典的原因了。

按照同样的步骤可以建立对应的查询对象,比如灯光(Lights),仪表(Meters)等。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

大家可以自己尝试构建这里就不在讲述重复添加了。

  • 在Hierarchy组件中选择QueryLevelDef并将其拖入到AllBuildings下面并命名为Equipment。

双击Equipment定义规则进入到编辑视图界面。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

在Query填写框中写入查询语句:n:parent->n:parent->hs:id={deviceId}

填写完成后点击保存退出。

  • 在Hierarchy组件中选择RelationLevelDef并将其拖入到AllBuildings下面并命名为Points。

双击Points进入到编辑界面。在Outbound RelationLeveal Ids栏中输入规则n:child

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

完成后点击保存。

退出进入到AllBuildings AX property sheet管理视图中。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

右键点击AllBuildings选择Actions下面的Create Cache,以便完成执行创建Cache功能。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

执行完成后可以看到Cach Status显示cached,并显示创建时间,证明执行成功。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

此时回到左侧导航栏中查看station下面的Hierarchy目录。

在查看前先右键Hierarchy选择Refresh Tree Node 。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

待执行完成后展开Hierarchy层次结构。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

可以看到通过Hierarchy数据字典建模已将刚才建立的所有设备点位信息成功映射到了AllBuildings中。

按照创建AllBuildings的方式可以依次创建AllAHU,AllLights,AllMeters等。

大家可以自己亲自尝试操作一下,这里小编就不在赘述了。

最后讲解一下如何在Query查询框中输入NEQL语句进行查询。

通过NEQL语句可以很方便简洁的查询到实体设备点位对应的数据值。

通过基于“标签”、“关系”的简单语法找到实体。

通过建立的标签规则可以查看到neql语句。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

可以看到在Implied Tags中就有已经标准好了对应的标签关系,通过写入对应的neql语句就可以轻松查询到对应的实体设备数据。

如通过刚才实现的AllBuildings中在QueryLevelDef的equipment设备语句规则的定义。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

对于如何写neql语句到家可以大家可以查看Niagara Help里面在搜索框中输入queryLevelDef点击搜素即可。

案例文档中有很多写neql语句的案例。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

点击Help下面的Guid on Target即可进入到Help帮助文档中。

Niagara使用层级结构HierarchyService服务创建设备实体对象的数据模型

通过这两篇文章的分享相信认真学习过的同学对tag标签字典和Hierarchy数据建模已经有了很深的体会了,通过它应用到实际项目中是非常有帮助的。利用数据模型就可以构建算法分析进而实现设备监测给出节能策略。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: