更新时间:2024-06-13 GMT+08:00
分享

点位计算

业务流程

点位计算业务流程如图1 流程图所示,先进行点位缩放得到真实值,再用真实值进行点位清洗得到上报值。

图1 流程图

点位缩放

对数采数据做规整,减少应用对数据处理和适配的工作量,如从PLC采集上来的原始数据,需要经过计算后才能表达真实含义。具体操作步骤请参见点位缩放

概述

点位缩放,提供通过线性表达式将采集值转换为真实值的功能。支持公式Y = ratio * X + base,使用线性表达式,通过配置ratio、base、accuracy来对采集值进行处理。

公式:

Y=ratio×X+base

  • ratio: 缩放的倍率,浮点型,取值范围[-10000,+10000],最大支持小数点后7位
  • base: 基准值,浮点型,取值范围[-10000,+10000],最大支持小数点后7位
  • accuracy: 缩放后结果的精度,精确到小数点后几位,直接截取,不四舍五入。整数类型,取值范围[-1, 8]。-1或界面不输入,表示不对小数位进行处理

场景示例

  • 场景1:

机器的基准温度是100℃,但采集器上报的值只为1、2、3、4、5,即可以使用表达式进行计算,得到需要的值。

设ratio = 1, base = 100, Y = X + 100

表1 温度转换表

X

Y

1

101

2

102

3

103

  • 场景2:精度截断场景

设ratio = 0.11, base = 100, accuracy = 2

表2

X

Y

精度处理后

10

101.1

101.1

100

111

111

100.11

111.0121

111.01

  • 场景3:

驱动采集点位值的单位为W(瓦),平台接收属性的单位为KW(千瓦),可以使用点位缩放进行单位换算,公式为:Y=0.001X

设ratio = 0.001, base = 0

表3 功率换算表

X(W)

Y(KW)

100

0.1

1000

1

20000

20

点位清洗

点位清洗,在边侧提供对设备上报的点位进行数据去重、数据波动抑制的功能,适用于降低冗余数据、上云带宽的OT数采场景。

点位清洗规则是针对模块的每个点位,为可选项,使用前需要配置“静默时间窗”和“偏差”这两个参数。具体操作步骤请参见点位清洗

概述

数据上报:当满足上报条件,数据才会上报。

上报条件有两种:

  • 条件1:当前上报值与前一次上报值的差值超过偏差的区间
  • 条件2:当前上报与上一次上报的时间差,超过静默时间窗

偏差(Deviation): 震荡的偏差区间值,在该区间的值将视作正常的波动,数据将不进行上报,取值范围[0~100],类型浮点型。如偏差值为10时,表示在±10%([-10%, +10%])的区间内值将视为正常的波动。

静默窗口(SilentWin): 静默时间窗口,在静默时间窗口内没有触发上报条件的数据,将不会上报。取值范围(0,86400],单位秒,当值为0时,表示时间窗口无穷大。

示例说明1(超出偏差范围):

在第0s,值A上报,开启点位清洗规则。在静默时间窗(SilentWin)内,上报的值为A、B、C、D、E。其中值B、C、D到达时都未满足上报条件,不进行上报。值E到达, |DataF – DataA| > Deviation,触发上报条件1,值E将进行上报。

示例说明2(超出静默时间窗):

在第0s,值A上报,开启点位清洗规则。在静默时间窗(SilentWin)内,上报的值为A、B、C、D、E。其中值B、C、D到达时都未满足上报条件,不进行上报。值E到达,TimeE - TimeA > SilentWin,触发上报条件2,值E将进行上报。

样例数据示例:

SilentWin = 0(无穷大),Deviation = 1% (所有数据都未清洗掉,都上报)

时间

值(温度)

上报数据

0s

100℃

100℃

10s

200℃

200℃

20s

300℃

300℃

30s

400℃

400℃

SilentWin = 25s,Deviation = 0% (超过时区范围,将当前值上报)

时间

值(温度)

上报数据

0s

100℃

100℃

10s

100℃

-

20s

100℃

-

30s

100℃

100℃(30s)

场景示例

场景1变更检测

SilentWin = 35s,Deviation = 0%

在35秒的时间窗口内,相同的值将不进行上报。在值有变化之后,将会上报当前值。示例如下:

  • 0秒上报值36℃,30s达成条件1,将37℃进行上报。重置时间窗口、上报条件。
  • 70秒的值为37℃,达成条件2:70 – 30 = 40s > 35s,将37℃(70s)上报,重置时间窗口、上报条件。

时间

值(温度)

上报数据

达成条件

0s

36℃

36℃

-

10s

36℃

-

-

20s

36℃

-

-

30s

37℃

37℃

条件1

40s

37℃

-

-

50s

37℃

-

-

60s

37℃

-

-

70s

37℃

37℃(70s)

条件2

场景2:波动抑制

SilentWin = 60s,Deviation = 10%

时间

值(温度)

上报数据

0s

100℃

100℃

10s

96℃

-

20s

95℃

-

25s

110℃

-

30s

120℃

120℃

40s

116℃

-

50s

117℃

-

60s

121℃

-

100s

130℃

130℃

点位阈值

该功能开启后需要配置点位上报数据的最大值、最小值,端侧发生设备数据上报时,超出最大值和最小值范围的异常值会被忽略,不进行上报。具体操作步骤,请参考点位阈值

应用场景

  • 该功能应用于设备上报数据存在过大过小的不稳定异常值需要忽略时的场景。
  • 该功能针对数据源下的每个点位设置,仅支持整型和浮点型的数据类型的点位配置。

场景示例

创建点位时,设置点位阈值的最小值为0,最大值为10。

表4 上报结果举例

设备上报值

是否上报

描述

0

点位阈值端点值放通。

10

点位阈值端点值放通。

5

点位阈值范围内放通。

15

不在点位阈值范围内,作为异常值过滤。

相关文档