大数跨境
0
0

基础对象模型的功能扩展

基础对象模型的功能扩展 汇智众享
2021-05-31
1
导读:个体进化的达成


READING
前情回顾

前情回顾:在早期的文章中也阐述过 BooleanWritable 对象模型本身是 Niagara 本着 “简约法则” 抽象得到的结果(参考:Niagara 对象模型中的明星——Point 和 Point的故事还没有结束 —— Point Extension),它提供了一些最基本的设备管理功能,上一期(细说Niagara基础对象模型 BooleanWritable)详细讲述了这些基本功能。

那么在实际应用中,对于那些具有相对“复杂”功能的设备,而这个基础模型无法完成全部功能映射的时候怎么办呢?Niagara 解决这个问题的方法就是对基础对象模型进行功能扩展

对基础对象模型进行的功能扩展,Niagara 支持两种方式

第一种,就是利用 Niagara 本身提供的功能扩展对象模型,将其组合到基础对象模型上面,从而实现对基础对象模型功能的扩展。我们可以简单地把这个叫做基础扩展。这个过程有点类似搭积木,你可以把一个纳凉亭(作为扩展)放在一座楼(基础模型)的屋顶,从而给楼本身增加了“屋顶纳凉休闲”的功能(这里的凉亭和大楼的屋顶都是Niagara系统已经提供的)



第二种,就是 Niagara 所谓的“开放性”,它允许用户通过代码开发的方式,利用对基础对象模型的“继承”,或者对已有功能扩展的“继承”,实现新的功能扩展(当然这个开发过程需要遵从 Niagara 的一些接口规范)。相对于基础扩展,我们可以把这种方式叫做自定义扩展。比如,想要建一座屋顶有网球场的大楼(也就是大楼+网球场),但如果 Niagara 本身只提供了大楼的模型而没有提供"网球场"这个“模型”或“扩展”,那么我们仍然可以通过代码开发的方式,开发出一个网球场模型(自定义功能扩展),然后将它和 Niagara 已有的大楼模型(基础模型)进行组合,就可以得到想要的结果。



其实人类自身的成长也是类似的方式:作为人本身,每个新生儿个体(基础模型)在出生的时候基础能力是差不多的,相比于其他物种,这个基础模型的能力甚至非常弱小。但人类作为蓝星主宰物种,最重要的两个能力就是学习能力和沟通组织能力。通过后天的学习和创造能力(模型的功能扩展)实现个体的发展。下期我们会进一步讲,通过有效的沟通,将众多个体组织起来分工合作,从而实现群体的发展(模型之间的关联、组态形成应用程)。

Niagara 本身针对 BooleanWritable 提供的基础扩展大致包括:
>>>>

报警类:

- BooleanChangeOfStateAlarmExt
- BooleanCommandFailureAlarmExt
>>>>

数据记录/统计类:

- BooleanInterval/BooleanCov
- DiscreteTotalizerExt

对于基础扩展和自定义扩展,通过下面的实例来说明:


在 Niagara 上实现一个定频水泵的控制,除了能够远程启停设备之外,还希望实现如下功能:

  • 记录水泵启停状态,运行/停机时间 (基础扩展)

  • 统计水泵的启停次数,以及累计运行时间 (基础扩展)

  • 水泵的延迟启动,水泵启动之前,要确保收到供水管路阀门已经打开的反馈信号,如果在启动命令发出 t 秒之后,仍然无法得到阀门已经打开的反馈信号,则发出水泵启动失败的报警。(如果在供水管路阀门没有打开的情况下开启水泵,有可能会造成管路上压力过大,从而造成管路甚至水泵的损坏)  (自定义扩展)


那么我们看如何在 Niagara 上实现:
  • 选择 BooleanWritable 作为基础对象模型对定频水泵对象进行映射
  • 在 BooleanWritable 上添加 BooleanCov,记录水泵的开关时间和状态;
  • BooleanWritable 上添加 DiscreteTotalizerExt,记录水泵的启停次数以及累计运行时间;
  • 通过开发自定义扩展 PumpExtension (继承自 BAlarmSourceExt )并添加到 BooleanWritbale 上来实现和阀门反馈信号的连锁,并在水泵启动失败之后发出报警。




Coming Next:

通过对象模型的组合实现控制逻辑


往期精彩回顾

细说Niagara基础对象模型 BooleanWritable

聊一聊 Niagara 的培训和学习

Point的故事还没有结束 —— Point Extension


微信号:汇智众享
长按二维码关注我们吧


点分享

点收藏

点点赞

点在看

【声明】内容源于网络
0
0
汇智众享
物联网平台建设、运维,物联网培训、教学
内容 70
粉丝 0
汇智众享 物联网平台建设、运维,物联网培训、教学
总阅读27
粉丝0
内容70