工业大数据日渐成为工业发展最宝贵的战略资源,全球工业大数据的竞争变得愈发激烈。但是工业数据采集过程中面临的痛点较多,因设备不互联、通信协议不兼容等问题,造成数据不匹配、不互认,数据孤岛现象普遍,降低了数据的使用率。这些问题需要数据转换和协调技术来解决,虹科流分析解决方案是解决这类问题的最佳工具。
虹科流分析解决方案包括以下两部分
1 数据转换
转换和协调是密切相关的,进行数据协调之前,需要针对不同的数据来源进行数据格式转换,将它们转换成一种通用的格式。下面介绍两种典型的转换。
转换可分为结构转换和内容转换两大类。
结构转换
只处理数据的格式,例如:等级结构,数组,对象,命名约定。
数据结构的转换形式取决于您的需求,可根据数据的输入/输出格式任意转换。
内容转换
改变数据的实际内容,例如:缩放值(如更改单位),改变分辨率/采样率,删除异常值和缺失值,消除噪音。
下面我们将举例说明:
我们想得到PLC中寄存器5在每一秒的值,并存储在数据库中。来自 PLC 的数据如下:
[
{“Name”: “Reg1”, “Value”: 77},
{“Name”: “Reg2”, “Value”: 935},
{“Name”: “Reg3”, “Value”: “True”},
{“Name”: “Reg4”, “Value”: 18594},
{“Name”: “Reg5”, “Value”: “Good”}
]
每个寄存器得到一个对象数组,每个对象都有相应的“Name”和“Value”属性。
数据库需要键/值映射,以便在添加新数据行时将值映射到正确的列。我们想要的输出应该是这样的:
{
“Temperature”: 25,
“RPM”: 935,
“Running”: true,
“Pressure”: 12.5,
“Quality”: “Good”
}
让我们看看我们需要做什么来得到这个输出,从我们采集的输入数据开始。
1.首先是结构转换:
· 必须将具有名称/值属性的数组更改为具有键/值对的对象
· 我们从PLC得到的名称必须替换为数据库中正确的列名
2.还需进行内容转换:
· 从PLC 得到的温度值需要进行单位转换。采集到的温度数据是以华氏度为单位,而数据库需要摄氏度
· 运行状态以字符串的形式传递,而数据库需要一个布尔值
· 压力值作为一个范围为0-65535的16位整数传递,而它实际上表示一个在0-100psi之间的模拟值,因此要进行缩放。
此示例显示了在处理机器数据时可能遇到的一些基本转换。通过使用虹科Crosser模块库的标准函数的虹科流分析系统,实现这些类型的转换很容易。上面的转换将在处理流程中完成,如下:
使用库中的其他标准模块,可以将其他转换添加到上面的流中,例如去除异常值/噪点和改变分辨率(聚合/过滤)。
2 数据协调
当我们拥有不同格式的多个数据源时,数据协调就会发挥作用,我们希望将数据组合起来,以便我们能够以独立于原始数据源的相同方式处理数据。为了协调数据,我们通常对每个数据源应用不同的转换以生成通用格式。
上面的示例还在输出之前引入了一个转换。某些情况下,需要将每个输入转换为一种优化的格式,以便进行处理,然后在输出之前再次进行转换,使数据适应接收系统的要求。每个输入的转换类型与上面描述的相同。
在统一来自多个来源的时间序列数据时,可能还有一个必须处理的额外问题: 来自不同来源的数据在不同时间到达或采样率不同。
根据处理和/或接收系统的要求,我们可能必须按照常用的时间步骤对数据进行校准。这可以通过移动数据(采样率相同的情况下) ,或者通过插值/聚合数据(采样率不同的情况下)来实现。
如果数据将与机器学习模型一起使用,这些模型期望每个新样本都包含来自模型所需要的每个源的数据。当我们在某一时间从一个源丢失数据时,要填充一个值,例如重复最后一个已知值或使用已接收到的数据插值一个值,把数据丢失的影响降到最低。这些功能可以很容易地使用 Crosser 库中的标准模块实现。
结论
虹科Crosser提供了实时的数据流分析工具,帮助您增加数据的可用性,提高不同来源的数据匹配度,通过简单操作,满足您的处理需求和分析需求,获得数据优化的洞察力。
附录
虹科Crosser数据流智能分析软件是一款能满足您所有实时需求的平台。以Crosser云为核心,完成设计和编程过程。Crosser节点配合Crosser云,作为实时引擎,按需安装在边缘。虹科数据流智能分析软件可实现靠近数据源处理数据,解决数据传输和延迟问题,并轻松构建节点网络。