原计划在“制造业数字原生的OT数仓建设”一文完成后,把关于如何开展设备连接的工作快速整理出来,因为各种原因没有沉下心来准备和完成,这里仅把之前列的大纲补充说明,供参考。
设备联网工作人们经常谈到接口对接的复杂性、行业特性等,不同行业差别很大,看到同事培训时说“工业数据采集没有标准”深以为然。
虽然联网工作没有标准,但还是有套路,可以按一定的方法来推进,实现项目的可控交付。
从IT角度来说,是希望所有的设备数据都能联网采集和存储,但这涉及到一个投入产出比和建设周期、项目预算等各方面因素的综合评估。
流程制造行业设备的自动化程度高,一般建设有SCADA系统,设备数据在产线购置时就已经实现了联网。这种情况下的数据采集工作较为简单,从SCADA系统的OPC接口采集数据即可。
离散制造行业生产设备厂家极其多样化,自动化水平参差不齐,对接时需要特别注意。
在项目开始前,需要对现场设备先从设备资产角度进行盘点,从工厂、车间、产线、工序、设备名称、规格型号、制造厂商、投产时间、是否需要采集数据等多维度进行梳理,对设备的总量和需要采集的设备数据进行清理。 有了这些原始的盘点数据,对整个设备联网的工作量和成本能有一个初步评估。
对于需要采集的设备,需要进一步确定物理层对接方式,这时需要对类设备进行细化。
没有自动化系统的设备:可以通过安装采集模块的形式采集电流、产量等数据,采集模块根据预算和对可靠性要求,选用简单的采集盒子、亚当模块或PLC等。
有自动化系统的设备,需要确定设备支持的物理层接口,比如以太网、4G/5G、Wifi、RS485、RS232、CAN、Profibus-DP等。目前市场上有很多种不同形式的网关,RS485、RS232、CAN、Profibus-DP等非以太网接口,可以考虑转为以太网形式。这样做有几点好处:一是抗干扰能力大大加强,二是布线的灵活性提高,还可以组网和路由,三是避免修改总线地址带来的风险。
软件的接口协议与物理层没有必然联系,软件接口协议主要解决两个问题:采用什么样的数据规程通信、数据项如何解析。
软件接口首先推荐使用OPC UA,作为工业界事实上的标准,工业组态软件和PLC等设备都广泛支持。设备端为服务端,配置好IP、端口、安全验证方式后就可访问,数据项能通过OPC UA协议自动发现。
其次推荐使用Restful API形式的接口,内容采用JSON格式、UTF8编码。Restful接口实现方式简单,.NET和Java都很容易实现。Json格式简单明了可以直接识别,调试简单。
纯文本数据,也可以在TCP基础上,使用ASCII编码方式,STX开始、ETX结束。
如果采用其他格式,需要注意对中文的编码方式。
需要特别注意的是,有些设备的数据联网需要购买授权才能访问,在设备购置时最好一起选购。没有购买授权的需要考虑设备授权的费用。
在前面几步工作基础上,可以做整个联网工作的成本预算了。主要是根据预算情况调整采集的设备数量、采集需要的网关设备和网络设备品牌和型号等。不同方案之间成本相差很大,可以参考同类企业做推荐方案。
工控设备的采购周期一般较长,通常需要签合同付款后4~8周,紧俏商品需要的时间更长,在做项目预算时需要考虑内部采购流程时间和供应商的供货时间。
硬件施工分为三类,一是网络的施工,二是网关和转换器的施工、还有就是设备的修改(比如IP地址调整、协议设置配置等)。这几类施工可以并行进行。
选用合适的开发工具,依照接口协议开发。
部分设备接口驱动依赖于Windows平台,可以考虑采用.NET开发,其次是JAVA。
现场设备很多时候是一直生产,调试时间有限,可以考虑找些仿真器先模拟调试。开发过程需要对往返多做记录,方便分析,节省调试时间。
目前时序数据库很多,考虑满足对采集数据的全量高频次存储。这方面可以参考前面的博文。制造业数字原生的OT数仓建设https://mp.csdn.net/mp_blog/creation/editor/120459049
使用涛思时序库在数据库建模方面,也可以考虑建立多数据类型的统一模型,即vint int,vfloat float,vbool bool,vstring string和tag vtype。每个数据的类型是固定的,用vtype可以区分那个数据项有效。这个模式下存储数据会比之前的分类型存储都5~20%的存储,完全可以接受。新版本允许数据值为NULL,更加节省存储。
存储验证参考博文:TDengine不同数据模型下的存储对比验证_PascalMing的博客-CSDN博客