Niagara 使用 Hierarchical HierarchyService 创建设备实体对象数据模型
启动 Niagara 服务,打开项目站,进入 Hierarchy Service 基本操作部分。我这里就不详细说了。如果不明白的话可以看我上期分享的内容。要查看的层次结构文章。
此外,还可以通过Niagara的帮助查看层级上的说明。
![]()
描述和使用层次结构的方法有很多种。
读长篇英文文章可能会很累,但是不用担心,你不需要读得很详细,你只需要看看设置要点的步骤即可。
Niagara 网络每个驱动下的控制器设备的分层数据标签的创建,在上一篇文章中有介绍。您可以按照示例完成其他设备的层次结构。
![]()
还要检查站下的层次结构,以确保映射已成功应用。
![]()
展开看看是否还有对应的设备点映射。
![]()
- 为所有设备点创建层次结构。
将调色板搜索框Hierarchy拖至Hierarchy Service中,命名为AllBuildings(名称可根据项目实际需要确定)。
![]()
双击所有建筑物,进入查看管理界面。
![]()
按照上一篇文章中的步骤操作,并在范围中选择 Niagara 网络。
![]()
- 在 Hierarchy 组件中,选择 QueryLevelDef 并将其拖动到 AllBuildings 下,并将其命名为 Buildings。
![]()
双击建筑物进入视图编辑页面。
![]()
填写查询短语 n:device
![]()
在查询执行单元格中,单击保存并退出到 AllBuildings 层次结构。
- 在 Hierarchy 组件中,选择 ListLevelDef 并将其拖动到 AllBuildings 下,并将其命名为 EquipType。
![]()
双击EquipType进入视图编辑页面。
在 Hierarchy 组件中,选择 NameGroupDef 并将其拖动到 EquipType 下,并将其命名为 AHU。
![]()
展开AHU,执行hs:ahu
![]()
查询查询规则说明:Hierarchy使用预设的标签库,通过指定的查询语句直接快速查询指定的对象。
现在我明白为什么我们需要创建标签字典了。
按照同样的步骤创建相应的查询对象,如灯光、仪表等。
![]()
大家可以尝试自己搭建,这里不再赘述。
- 在 Hierarchy 组件中,选择 QueryLevelDef 并将其拖动到 AllBuildings 下,并将其命名为 Equipment。
双击设备定义规则,进入编辑查看界面。
![]()
在请求完成字段中输入请求完成:n:parent->n:parent->hs:id={deviceId}
填写完成后,点击保存并退出。
- 在 Hierarchy 组件中,选择 RelationLevelDef 并将其拖动到 AllBuildings 下并将其命名为 Points。
双击点按钮,进入编辑界面。在出站 RelationLevel Ids 列中,输入规则 n:child
![]()
,完成后,单击保存。
退出并进入AllBuildings AX属性页的管理屏幕。
![]()
右键单击AllBuildings,选择Actions下的Create Cache,即可完成缓存要素的创建。
![]()
执行完成后,你会看到缓存状态显示缓存状态和创建时间,证明执行成功。
![]()
现在,回到左侧导航栏,查看站下的层级目录。
右键单击“层次结构”并选择“查看前刷新树节点”。
![]()
填充完成后展开层次结构。
![]()
可以看到所有新创建的设备点信息已经通过Hierarchy数据字典建模成功映射到所有建筑物上。
您可以按照与 AllBuildings 相同的方式创建 AllAHU、AllLights、AllMeters 等。
大家可以自己尝试一下,这里就不多说了。
最后,我们将解释如何在Query查询字段中输入NEQL语句。
通过NEQL语句可以简单、简洁地查询物理设备点对应的数据值。
使用基于“标签”和“关系”的简单语法搜索项目。
通过既定的标签规则可以查看Neql语句。
![]()
可以看到,在间接标签中,对应的标签关系是标准化的。通过编写相应的neql语句,可以轻松查询相应的物理设备数据。
例如,通过定义新实现的 AllBuildings QueryLevelDef 设备语句规则。
![]()
有关编写 Neql 语句的更多信息,请参阅 Niagara 帮助,在搜索框中输入 queryLevelDef,然后单击搜索。
案例文档中写Neql语句的案例很多。
![]()
点击帮助下的目标指南,进入帮助文档。
![]()
通过这两篇文章的分享,相信认真学习的同学会对标签词汇和层次数据建模有深入的了解。将其应用到实际项目中是非常有用的。使用数据模型,可以构建算法分析来实现设备监控并提供节能策略。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网