Code前端首页关于Code前端联系我们

Niagara 使用 Hierarchical HierarchyService 创建设备实体对象数据模型

terry 2年前 (2023-09-27) 阅读数 73 #数据结构与算法

启动 Niagara 服务,打开项目站,进入 Hierarchy Service 基本操作部分。我这里就不详细说了。如果不明白的话可以看我上期分享的内容。要查看的层次结构文章。

此外,还可以通过Niagara的帮助查看层级上的说明。

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

描述和使用层次结构的方法有很多种。

读长篇英文文章可能会很累,但是不用担心,你不需要读得很详细,你只需要看看设置要点的步骤即可。

Niagara 网络每个驱动下的控制器设备的分层数据标签的创建,在上一篇文章中有介绍。您可以按照示例完成其他设备的层次结构。

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

还要检查站下的层次结构,以确保映射已成功应用。

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

展开看看是否还有对应的设备点映射。

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

  • 为所有设备点创建层次结构。

将调色板搜索框Hierarchy拖至Hierarchy Service中,命名为AllBuildings(名称可根据项目实际需要确定)。

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

双击所有建筑物,进入查看管理界面。

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

按照上一篇文章中的步骤操作,并在范围中选择 Niagara 网络。

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

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

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

双击建筑物进入视图编辑页面。

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

填写查询短语 n:device

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

在查询执行单元格中,单击保存并退出到 AllBuildings 层次结构。

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

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

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

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

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

展开AHU,执行hs:ahu

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

查询查询规则说明:Hierarchy使用预设的标签库,通过指定的查询语句直接快速查询指定的对象。

现在我明白为什么我们需要创建标签字典了。

按照同样的步骤创建相应的查询对象,如灯光、仪表等。

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

大家可以尝试自己搭建,这里不再赘述。

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

双击设备定义规则,进入编辑查看界面。

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

在请求完成字段中输入请求完成:n:parent->n:parent->hs:id={deviceId}

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

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

双击点按钮,进入编辑界面。在出站 RelationLevel Ids 列中,输入规则 n:child

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

,完成后,单击保存。

退出并进入AllBuildings AX属性页的管理屏幕。

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

右键单击AllBuildings,选择Actions下的Create Cache,即可完成缓存要素的创建。

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

执行完成后,你会看到缓存状态显示缓存状态和创建时间,证明执行成功。

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

现在,回到左侧导航栏,查看站下的层级目录。

右键单击​​“层次结构”并选择“查看前刷新树节点”。

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

填充完成后展开层次​​结构。

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

可以看到所有新创建的设备点信息已经通过Hierarchy数据字典建模成功映射到所有建筑物上。

您可以按照与 AllBuildings 相同的方式创建 AllAHU、AllLights、AllMeters 等。

大家可以自己尝试一下,这里就不多说了。

最后,我们将解释如何在Query查询字段中输入NEQL语句。

通过NEQL语句可以简单、简洁地查询物理设备点对应的数据值。

使用基于“标签”和“关系”的简单语法搜索项目。

通过既定的标签规则可以查看Neql语句。

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

可以看到,在间接标签中,对应的标签关系是标准化的。通过编写相应的neql语句,可以轻松查询相应的物理设备数据。

例如,通过定义新实现的 AllBuildings QueryLevelDef 设备语句规则。

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

有关编写 Neql 语句的更多信息,请参阅 Niagara 帮助,在搜索框中输入 queryLevelDef,然后单击搜索。

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

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

点击帮助下的目标指南,进入帮助文档。

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

通过这两篇文章的分享,相信认真学习的同学会对标签词汇和层次数据建模有深入的了解。将其应用到实际项目中是非常有用的。使用数据模型,可以构建算法分析来实现设备监控并提供节能策略。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门