K2专注工业数据管理和价值挖掘,但有时巧妇难为无米之炊。数据采集是工业企业数字化转型过程中的重要一环,随着数据分析的回溯,很多走在前列的工业企业仍在不断修缮数据采集工作。数据采集到底有哪些挑战和哪些常见的坑,这期我们简单聊聊。
大部分工业企业做数据采集,有两种朴素的诉求:一种是要做监控,做控制,就有相关的数据采集需求;另一种是现在新型的设备都有数据采集的功能,虽然我现在不知道怎么用,但是先采集起来,将来都是资源。数据采集是整个数据分析的基础,所以基础的工作先做。
大概7~8年前,很多传统行业还没有数据意识,讲到数据采集的重要性,企业内部会有不同的声音,买一个数据采集的装置要多少钱,数据传输和存储需要多少钱,但投资回报没法算。到了今天,数据采集已经变成了一个理所当然的事情。生产制造运行过程的各种相关数据,是企业资产的一种形式,是未来发展的一种很重要的要素。工业企业对数据采集包括整个数据价值链条的认同感越来越强。
数据采集,狭义的目的非常多,因为可以依据数据去改善的业务场景非常丰富。回归技术本质,数据采集的目的是给数据处理和数据分析提供坚实的基础。
Q2:在当前阶段,通常哪些行业和领域的企业对数据采集及相关技术诉求比较强烈?
有些行业两化基础比较好,数字化转型较早,比如先进制造业,风机、水轮机等各种先进设备,以及高端电子制造产线,对设备稳定性要求高,早期的监控诉求为如今的智能分析提供了很好的数据基础。再比如能源行业,包括电力石油等,得益于资金雄厚和对国家政策的积极响应,重视数字化转型,走得比较早。电厂电网,现在可以说是无差别在推进数据采集和资源化的能力。
现在,各行各业的新建工厂和设备改造,都要求设备具有数据采集能力。从前几年的龙头企业,到现在腰部企业都开始注重数采。有一些企业,所处行业转型相对滞后一些,在两化建设的同时,也在同步思考,要采什么样的数据,从哪些基础应用做起。哪怕现在没有大数据分析的能力,设备有数采,就有监控的能力,这已经是工业企业的一种隐性准入门槛了。工业设备产线的采购招标中,数据采集能力,甚至是某些测点的数据采集到什么样的精度和质量都有明确要求,对应相关技术评分。
企业的数据采集,也不是一蹴而就的。以能源电力为例,做数据采集已经很多年,核电可能有十年了,持续至今,业务需求在演进,过去采集的数据测点数、精度、采集的维度,也还是有需要持续完善的地方。像风电,从最早的几十个测点,到现在一些实验机组和测试机组,几千个测点也挺常见。数据采集是一个不断滚动迭代的过程。
完整性是最基础的要求。比如有的场站,可能有大几千个,甚至几十万个这种规模的采集测点,首先要能够把这些数据完整地取回来。
稳定性要求。数据是不是能很稳定地上传,并且收回来?数据采集质量如何?如果数据经常有缺失有异常,采集精度肯定会影响后续数据分析。
时效性要求。毫秒级采集的设备,尤其是希望做到实时优化控制的,对时效性的要求就比较高。比如电网,有时需要在几十毫秒内能够把相关数据分析完,同时做出控制动作的响应。采集频次上对时间的要求不是那么高的,可以隔一段时间一传,比如工程机械领域某些测点是40秒传一次,或者是几分钟传一次。传的有可能是当时那个时点的数据,也可能是前几分钟或者几十秒的数据。
非侵入式要求。很多时候,数据是从原有的一些信息化系统,或是监控、控制类的系统中取。想拿的数据越全、越完整、量越大的时候,不可避免地对原有的系统会产生一定的冲击,。为了保障生产的平稳,很多企业会要求尽可能用非侵入式的监测采集,不要动原有的系统,不要影响原有的技术框架,不要去从底层的数据库去拿。这种非侵入性或者非干扰性,在工业现场也是很现实的诉求。
安全合规要求。特别是在影响国计民生的行业,大家越发重视数据的安全性,像电力系统的数据,在电站里其实散在一区、二区、三区,取数据要符合不同的防护等级要求。
成本因素。在一些从零开始建设的新兴工厂或者需要做技改的项目中,很多企业会根据业务场景倒推,做数据分析需要什么样的数据,来决定数采怎么做。很多装备制造企业,希望先在样机上多布一些传感器,通过数据分析的方式来进行降维。不影响分析场景和业务价值实现的前提下,结合设备的物理特性和机理模型,把传感器的数量降下去,先加后减。比如从1000个降到100个,这100个有代表性的测点能表征这台设备运行的特征,那将来生产这个设备或者做大规模改造的时候,只需要去加装这100个传感器就行。从数据分析的数据诉求和加装传感器的成本控制之间找平衡。
另外,在某些现实条件下,有一些很恶劣的工作环境,传感器根本就没法安装,只能用少量的测点、少量的传感器,通过一些相关性分析,间接推导出来想要发现的趋势。在条件允许的前提下,我们还是希望能够有尽量多维度的数据。因为推导过程越长,中间的变数越多,准确度就会影响最终的诊断结果。
数据采集也是一种技术架构,但决定技术架构的并不是技术架构本身。它受制的因素有很多,有总体投入的因素、现场环境的因素、技术限制因素,例如有些点我想采但现在没能力采。采用哪些点?采什么频率?如何去管控风险?业务方推数据还是技术方拉数据更合理?从硬件到软件,从远端源头的传感器到后台的传输、应用各种问题。
在实际接入的过程当中,数据格式没有统一的标准。从数据接入角度来讲,很多厂商的数据格式都不一样,需要对每一种逐一适配。有时候需要从传感器开始去安装布置,还涉及到传感器选型安装,安装角度位置不一样都会影响采集精度。有时候是从其他系统通过一些数据接口或者通讯协议,给我们数据。但各种硬件接口都不统一,甚至一些比较陈旧的协议接口,维护人员都不知道原来是怎么做的了。软件层面,单是电力领域经常用的通讯协议就有十几种,也还好,毕竟有标准可循,虽然标准的覆盖面还不太理想。但有时候,一些厂家的装载监测系统完全是私有规约,是自定义的格式,是保密的,适配一下要收接口费。通过不同接口进来的数据还需要进一步时标对齐,方便后续分析。
我们用一些灵活配置的插件来适配各种工业协议解决了上一个难题,去读数的时候,发现PLC或是其他的一些信息化的系统,设计之初根本就没有考虑数据要外传的问题,数据量稍大一些,会影响响应效率,从而影响生产。还有现场很多设备都属于关键性的设备,不可以轻易停机,但是很多情况下的调试配置比较复杂,需要重启之后才能生效。这种技术和业务两难的操作也是非技术性的难点。
除了时序数据,数据分析有时候需要结合一些对象数据,比如说设备的维保记录,对健康度评价有很重要的辅助作用。但这一类对象数据,更是一个采集和分析的难点,很多现场记录是手写的,很难结构化采集。
第一,在工业领域做数据,哪怕做数据采集,肯定也是业务价值导向,想清楚采集的目的是什么,然后才知道采什么和怎么采。第二,考虑数据采集的非侵入性或者非干扰性,尽量不要对原有的生产系统产生太大冲击。有些企业会要求非开工时间才允许传输数据。第三,考虑成本、安全合规。
在做正式的数据采集之前,我们通常会建议企业去做一系列的准备工作,也是为了帮助企业更好地制定数据采集的原则。我们认为,数据采集不是买一些传感器,把数据从系统里取出来就完了,它一定是结合最终使用场景的一个一揽子方案。
数据采集、传输、存储是在整个数据链路上是一个比较复杂的三元组,不是一条简单的单向数据链路。
一个很典型的数据链条是,从PLC产生的数据到了现场的中控服务器,然后到区域中心,再到我分公司中心,再到集团中心。在这个过程当中,每一段都会有相应的数据处理。在我们看来,用一些机器学习、深度学习等复杂模型去做数据处理,或是把一个数据从秒级加工成分钟级,或是将原始数据切成若干的时序段,都是一种加工过程。所以数据的传输和中间的存储过程,在不同的语境下,是可以不断被拉长,且不断复制的。
过程中,要充分考虑不同的源处理,以及这段存储到下一段存储之间,语境是什么,它的上下文要求是什么,再来制定下一段的存储策略,或者是数据传输的策略,包括实时性、批处理。
我们会把它看成一个三元组,不管多复杂的数据处理,都是这个三元组构成。在工业领域相对更为复杂,要考虑到的周边要素特别多,需要把这个复杂系统拆分处理。
Q7:在非实时场景下的时序非结构化数据采集方式是什么?
一些工厂或是场站,数据没办法实时传出来,时序数据可以实时采集之后先存储在本地,再离线回传。
例如风电场的CMS、工厂里的鼓风机等大型旋转设备的一些震动数据,一般都会在现场都加装一些本地化的存储装置,因为频率太高,这些数采存储装置会把时序数据先捕获下来,之后根据数据量和需求来看,要不要做切片或是定时分割。不是所有数据都对分析有价值,或者说价值密度不一样。
例如,在风电场事件触发的数据回传,一旦出现故障预警,系统会自动将那段时间的震动数据片段,以文件的方式传回来。事件触发型还要考虑做场景覆盖、工况覆盖,经过后续的补充,逐步完善可能出现的工况类型,慢慢过渡到全自动触发。时间触发在震动的频谱分析当中也比较常见,按周期定时回传一批数据。不管是事件触发还是时间触发,都会把它存成非结构化的数据,按需或者是定期批量性、非实时性地回传。
Q8:传感器如何降低外部干扰,安装或者传感器选型有什么建议?
不仅是采集设备,只要是在现场的装置,都面临环境的干扰,例如电磁干扰、温湿度、高低压等等。降低干扰还是从硬件设计上考虑,特定工况例如电磁干扰就可以考虑做一些电磁屏蔽,从源头上去控制,或是通过电磁兼容监测来满足要求。
现在很多设备制造商也在积极考虑类似工况下的数据采集,例如西电针对他们的高压变电设备,推出了大量的传感监测手段,应对突变、浪涌等电磁干扰现象。
如果数据确实存在一定的偏差,比如同样一批传感器在不同的工况下,会出现相似的一些工况偏差,只要在正常的偏差范围内,可以通过模型软校正,让传感器传输出来的数据可以支撑分析。
越好的传感器越贵,稍微便宜一点的传感器能覆盖90%的工况,剩下10%的工况虽然没那么准,通过一些数据的手段加上一些补偿模型,做数据修复和治理之后再去建模,也是我们经常会和企业去探讨的一个话题。