系统的对象模型有对象模板、对象实例和功能集合,对象模型包含基础信息、属性、服务、事件和订阅的基本功能。
1、基础信息
基础信息主要是描述对象模型的名称、别名、继承的模板(功能集合不继承模板)、功能集合以及详细描述等。对象和属性的操作基于别名,对象别名是全局唯一的;在不同的命名空间(平台、APP)下,对象实例的别名可以相同。
2、对象属性
对象属性用于描述与对象实例相关的数据标签。通过对象属性可以了解对象实例当前的状态,属性可以是静态的(例如设备名称、设备编号等),也可以是动态的(例如温度值、压力值、速度值等)。每个对象属性都有名称、描述和数据类型。
对象属性中可以定义系统报警,系统警报是特殊类型的事件。系统提供报警定义触发事件的规则管理。当属性有数据更新时,系统会判断报警规则。如果报警规则适用,则系统会产生报警。
目前,平台支持的对象属性的数据类型如下表所示:
数据类型 | 描述 | 数据类型 | 描述 |
---|---|---|---|
Boolean | 布尔型 | DECIMAL | 小数数值型 |
String | 字符串型 | FILE | 文件类型 |
Integer | 整型 | DATE | 日期类型 |
Long | 长整型 | Datetime | 时间类型 |
Float | 单精度浮点型 | Object | 对象实例类型 |
Double | 双精度浮点型 | / | / |
3、对象服务
对象服务是指对象实例可执行的功能定义,每个对象实例都可以定义一个或多个服务。系统通过脚本实现用户定义服务。通过对象服务的定义,平台中的其它服务可以调用该服务。
在创建新服务时,需要先定义输入和输出参数,然后编写脚本函数。完成脚本函数编写后,可以通过单击该服务的〔调试〕按钮测试服务执行的正确性。系统提供了调试窗口,通过按要求输入参数即可进行调试。
•系统提供物模板,所有的实体对象模型均继承于它。物模板内置的服务如下:setPropertyValue:设置属性值服务setPropertyDefaultValue:设置默认值setPropertyValues:设置属性值服务getPropertyValue:获取属性值服务getPropertyVQTValue:获取属值服务,以VQT模式返回getPropertiesHistory:获取属性历史值服务getCertainHistory:根据给定时刻和处理策略获取最近一条历史值服务getPropertyValues:获取多个属性值服务getPropertyVQTValues:获取多个属性值服务executeExpression:执行脚本服务setPropertyVQTValues:设置属性值VQT服务getPropertyLastValue:获取属性最后正常的历史值服务getPropertyLastVQTValue:获取属性最后正常的历史VQT值服务
•系统提供表单模板,用于定义关系型数据的对象模型。表单模板系统内置的服务如下:AddDataTableEntry:新增一条数据AddDataTableEntries:新增多条数据GetDataTableEntries:查询数据UpdateDataTableEntry:更新数据DeleteDataTableEntries:删除数据RebuildDataTable:清空表单数据getDataTableScript:查询数据脚本getDatatableDetails:查询表结构querySQLTest:SQL测试服务querySQLExec:SQL执行服务
•系统提供映射模板,从V2.7升级上来的dataTable数据,系统会自动转化成映射模板,并支持属性的扩展。用户也可以手动创建映射模板,用于关联外部数据源,映射源关系表的表结构。映射模板系统内置的服务跟表单模板一致。
4、对象事件
对象事件是对象实例发出、供外部订阅者订阅的消息。系统事件可以触发对应订阅对象的订阅脚本逻辑。事件可以来自于数据源的值变化,也可以来自多个属性及其依赖项中的较复杂计算逻辑。建模过程中应建立监听该事件的订阅者,对象事件负责向订阅者发送触发消息。
事件需关联一个数据集合,数据集合中包含了事件触发的字段,该数据集合的字段名与该对象实例的属性别名一致。
系统内置的事件如下:
•AlertStartEvent:报警发生时触发的事件
•ValueChangeEvent:对象属性值发生变化时触发的事件
•AlertDisappearEvent:报警消失时触发的事件
•AlertAckEvent:报警确认时触发的事件
5、订阅
对象订阅是用于接收事件,并对事件进行响应的功能。对象订阅需要定义数据来源,通常为对象实例产生的事件。对象实例可订阅事件,且可以执行订阅逻辑脚本。对象订阅将自动接收由事件关联的数据集合,作为订阅脚本的输入信息,可实现自定义业务逻辑来对事件作出反应。任意数量的订阅都可以订阅相同的事件。
标签:订阅,服务,对象,模型,平台,supOS,事件,模板,属性 From: https://blog.csdn.net/bluetroncloud/article/details/139657509