1. Dashbos脚本说明

1.1. Dashbos简介

Dashbos是一个Websocket服务,支持Mixiot不同的数据推送给Dashbosh显示板。

1.2. 脚本格式

[元素ID,变量名,数据源,对象标识,参数标识,字段列表,输出格式]

1.2.1. 元素ID

元素ID是自定义标识(比如crd_0),DD设计显示板的组件时定义(即显示板组件的元素ID与Dashbos脚本的元素ID相同)

DD设计显示板元素示意图
Image - DD设计显示板元素示意图

1.2.2. 变量名

变量名是自定义标识(比如X),设计显示板的元素时定义、与元素ID对应。

1.2.3. 数据源

数据源是支持的数据类型(比如Mosaic),Block Dashbos提供支持列表。

数据源支持列表如下:

数据源 描述
Mosaic 对象马赛克
Statos 统计计算结果
Event 事件记录
Retainer 提炼数据
IndassMap 映像图分析结果
IndassIndex 指数分析结果
IndassStability 稳定性分析结果
IndassTendency 趋势分析结果
IndassRisk 风险分析结果
IndassCorrelation 相关性分析结果
IndassDeviation 偏态分析结果
IndassIncrement 增量分析结果
IndassBalance 平衡分析结果
IndassCompose 组织分析结果

1.2.4. 对象标识

对象标识是对象筛选条件(比如1001),支持对象编号(1001)和宏变量($Object)两种方式。特别地,如果数据源没有对象标识字段,则对象标识为空。

1.2.5. 参数标识

参数标识是主键筛选条件(比如项目编号ProjectID),参数标识与数据源对应、不同数据源的参数标识不同。比如Retainer是Code,Statos是ProjectID。

1.2.6. 字段列表

字段列表是数据获取返回的字段,可以指定一个或者多个;字段列表与数据源对应、不同数据源字段不同。

数据源 参数标识 字段列表 备注
Mosaic - ${FV} 指定一个或多个FV变量
Statos StatisticsID value
Event Code value
Retainer Code retained,elapsed
IndassMap ProjectID 详见Indass支持字段
IndassIndex ProjectID 详见Indass支持字段
IndassStability ProjectID 详见Indass支持字段
IndassTendency ProjectID 详见Indass支持字段
IndassRisk ProjectID 详见Indass支持字段
IndassCorrelation ProjectID 详见Indass支持字段
IndassDeviation ProjectID 详见Indass支持字段
IndassIncrement ProjectID 详见Indass支持字段
IndassBalance ProjectID 详见Indass支持字段
IndassMatch ProjectID 详见Indass支持字段
IndassCompose ProjectID 详见Indass支持字段

1.2.7. 输出格式

输出格式是结果输出格式,该字段是一个复合字段。如下:

[ 输出类型, 输出数据数量, 输出时间格式, 开始时间,结束时间]

  1. 输出类型,是Dashbos约定的类型,分为以下几种:
输出类型 描述 格式
A 无时间,值
B 带时间,值 [值,时间]
C 无时间,值列表 [值,值,....,值]
D 带时间,值列表 [ [值,时间], [值,时间], ..., [值,时间] ]
E 时间,无值 时间
F 时间列表,无值 [时间, 时间, ...., 时间]
T(暂不支持) 表格(视图) 数据表必须是 MySQL表名
  1. 输出数据数量,即输出数据个数(n)。输出数据数量与输出类型相关:输出类型是列表时,数据数量才有意义,否则默认为1。

  2. 输出时间格式,即时间字段格式;输出时间格式与输出类型相关:输出类型带时间时,输出时间格式才有意义,否则该字段留空。

时间格式 示例
YYYY-MM-DD 2020-11-25
YYYY-MM-DD hh:mm:ss 2020-11-25 18:34:25
  1. 开始时间,数据筛选开始时间;

  2. 结束时间,数据筛选结束时间。

  3. 时间函数:开始时间和结束时间除了直接写时间,也支持时间函数宏变量

基本函数:

@DateTime( YYYY, MM, DD, hh, mm, ss)

构造函数:

@Now( ),@Year( ),@Month( ),@Day( ),@Hour( ),@Minute( ),@Second( )

配置示例(2020-10-01 17:12:00):

@DataTime(@Year(), @Month()-1, 01, @Hour( )-1, 12, 00)

当输出类型为ABE时,输出结果是单值,此时输出数据量、开始时间、结束时间不生效,可以留空;此时返回最新一条数据的值;

当输出类型为CDF时,输出结果是列表,此时实际数据查询方式与各字段的关系如下:

输出数据数量 开始时间 结束时间 数据查询方式 实际数量
不处理,结果为空 -
结束时间 返回 结束时间 前的第一条数据(倒序) 1
开始时间 返回 开始时间 后的第一条数据(顺序) 1
开始时间 结束时间 返回开始时间到结束时间的所有数据(考虑效率问题,如最大限制500) n
n 返回最新的n条数据 n
n 结束时间 返回 结束时间 前的 n条数据(倒序) n
n 开始时间 空 返回 开始时间 后的 n条数据(顺序) n
n 开始时间 结束时间 返回开始时间到结束时间的n条数据(以等距(近似等距)的方式获取) n

备注:

多条记录时数据返回都按时间先后顺序返回,即查询是倒序查询的情形,结果返回时数据要进行倒序处理。

1.3. 脚本示例

[
["crd_0","v1","Mosaic","object_id","","v1",["A","1","YYYY-MM-DD hh:mm:ss","","2020-11-25 19:00:00"]],
["vlu_2","v2","Mosaic","object_id""","v2",["B","1","YYYY-MM-DD hh:mm:ss","","@DataTime(@Year(),@Month(),@Day(),@Hour(),@Minute(),@Second()"]]
]

1.4. 接口请求

接口地址:

ws://$host:$port/dashbos/api/v1/subscribe/

接口参数:

["SUBSCRIBE","/channel/$ProjectID/object_id=$ObjectID"]

输出示例:

{
    "crd_0": {
        "v1": [
            50
        ]
    },
    "vlu_2": {
        "v2": [
            20,
            "2020-12-15"
        ]
    }
}
© Mixlinker all right reserved,powered by Gitbook文件修订时间: 2021-03-05 16:09:24

results matching ""

    No results matching ""