油库多源设备数据采集和处理系统设计研究

2024-03-14 09:08徐敬波田永强赵振学韩玉琴
自动化仪表 2024年1期
关键词:功能块工控油库

徐敬波,田永强,赵振学,韩玉琴

(中国石油西北销售公司,甘肃 兰州 730070)

0 引言

成品油库是保障区域成品油供应链平稳顺畅的重要节点,也是区域危化品安全生产监管的重要单位。运用先进的多源实时数据采集和处理技术建设实时、高效的油库安全生产监控系统,是降低安全生产风险、提升生产效率和效益的必然举措[1-2]。

近年来,在信息技术快速发展的背景下,随着成品油库的自动化、信息化,安全、环保、安防等设备数量急剧增加。由于油库数量多、分布区域广、建成年代早、管理主体差异大,各油库及各种设备采用的工业通信协议种类繁多,数据交互模式缺乏统一的标准。油库系统可靠性要求高的实际情况,给集中数据采集和处理带来较大困难。

国内外对于工业多源数据采集开展了大量研究和应用。在国外,开放平台通信(open platform communications,OPC)基金会推出了开放平台通信统一架构(open platform communications unified architecture,OPC UA),规范了工业设备的统一数据交互模式。西门子、ABB等公司已推出了支持OPC UA规范的设备通信产品,但这些产品在适配性、成本、云-边结合等方面存在较大限制。在国内的智能制造领域,多源数据采集和处理技术也有较多应用[3-5]。该技术实现了可编程逻辑控制器(programmable logic controller,PLC)、工业机器人、嵌入式传感器、智能机床等多源异构设施的数据采集和处理。但该技术大多以原型系统功能测试为主,大规模实际应用的案例尚不充足。

针对大规模油库多源设备数据采集和处理的实际要求,本文提出了1种具备大规模实时数据采集能力和高可用性、支持多种协议、云-边结合的通用工业数据采集和实时处理系统。该系统利用边缘端OPC UA与消息队列遥测传输(message queuing telemetry transport,MQTT)协议的融合,实现多源现场设备与平台端之间大规模实时数据采集、传输、交互、实时分析和预警,为实现大规模油库安全生产的全面感知、互联互通、数据分析和故障预警提供技术支撑和保障。

1 油库工控系统和设备基本情况

成品油库是收发和储存汽油、柴油和乙醇等轻质油品的仓库或设施,按生产类型分为储罐区、装卸区、辅助作业区、行政管理区、其他区域等功能区,主要负责公路、管道、铁路、水路的收付油、罐区存储、油品计量、油气回收等业务。油库生产系统主要由储运、消防、安防、环保四大类工控系统以及其他辅助传感、监控、执行等设备组成,包含大量的阀、泵、流量计、液位仪、安全仪表等关键设备。各系统、设备之间业务有所关联。目前,大部分油库装卸、计量、工艺设备由单一数据采集与监视控制(supervisory control and data acquisition,SCADA)系统集中管控。其他功能系统、设备大多由独立SCADA或简单上位机进行管理,相互间未实现集成和通信。油库工控系统和设备如图1所示。

图1 油库工控系统和设备示意图

2 油库多源数据采集和处理的架构设计

基于OPC UA协议在工业协议转换、平台独立、可伸缩性、数据可靠性、用户认证等方面的优势和在自动化设备、工业控制、智能工厂领域的长期继承性等优势,以及MQTT协议在物联网领域适合云-边通信、低带宽、低硬件资源的通信优势,本文构建了融合OPC UA和MQTT协议的物联网多源数据采集模块。该模块能够有效解决油库异构设备多、工业协议多、数据采集量差异大的采集数据标准化问题。MQTT协议便于系统接入各种类型云平台或物联网平台软件,以实现云边融合。

油库多源数据采集和处理架构主要由数据采集、数据解析、服务构建、数据传输这4个功能块组成。

①数据采集功能块。数据采集功能块与现场Modbus、Ethernet IP、RS-485、可寻址远程传感器高速通道(highway addressable remote transducer,HART)、开放平台通信数据访问(open platform communication data access,OPC DA)等工业协议适配,和现场设备建立连接,获取设备连接信息和数据请求信息,调用对应协议的数据采集驱动,以实现对油库工控系统、设备的数据采集。

②数据解析功能块。数据解析功能块收集各油库不同系统、设备等采集的所有变量异构数据,按照统一标准和规则格式化为同一格式数据,实现油库不同系统、设备采集的数据向OPC UA协议数据的解析。

③服务构建功能块。服务构建功能块按照场景、区域、设备数据编码规则对标准化数据进行类别划分、数据处理以及协议转换,采用订阅方式构建OPC UA Server和MQTT Server。MQTT Server提供数据上云的物联网服务。OPC UA Server为模块中多个数据采集实例提供数据同步,同时还能将可选择的任意变量数据发布成消息队列、Web Socket、表述性状态传递(representational state transfer,REST)等类型服务,以直接供外部应用程序订阅和调用。

④数据传输功能块。数据传输功能块将油库工控系统、设备的标准化数据统一汇总和处理后,以MQTT Client方式向云端上报数据,支持云-边之间数据读写、发布订阅等数据交互方式和数据访问授权功能。油库多源数据采集和处理架构如图2所示。

图2 油库多源数据采集和处理架构

3 多源数据采集和处理的关键技术

3.1 油库场景的统一数据编码规则

通过对《石油库设计规范》(GB 50074)、《危险化学的重大危险源安全监控通用技术规范》(AQ3035)等油库建设标准和油库实际使用设备设施的归纳总结,可整合油库业务场景、设备安装区域、设备类型和设备位号等关键信息。油库场景可采用4层编码的方式对油库设备采集数据进行变量命名。具体规则如下。

第一层级为业务场景标签。业务场景标签主要包括公路付油、铁路付油、水路付油、管输付油、公路收油、铁路收油、水路收油、管输收油、罐区转油、自控电气、罐区计量、泵房工艺、安全仪表、油气回收、消防、可燃气体、门禁、周界防范、能耗、雨污处理这20种业务场景。各标签使用2位大写英文字母表示,如公路付油规范用“GF”表示。

第二层级为区域标签。区域标签主要包括储罐区、装卸区、辅助作业区、行政管理区、其他区这5种区域类型,使用“区域编码+编号”表示。

第三层级为设备类型标签。设备类型标签按照油库设备类型进行分类,目前包括罐、泵、阀等41类设备,使用“设备编码+编号”表示。

第四层级为设备点位标签。设备点位标签定义每类设备具体点位状态信息,使用2位大写英文字母表示。

上述4个层级之间采用“.”连接。例如:“GF.TDGQ001.MVD0005.KK”代表“公路付油业务场景-柴油罐001-开关量阀门编号0005设备-开控制状态”。

3.2 多协议适配、解析和转换

油库近期安装的工控系统、SCADA系统通常均提供标准的OPC UA接口和服务,以简化数据采集和通信。但大量安装时间较早的工控系统、生产设备通常仅提供Modbus、RS-485等工控协议进行数据通信传输,且在现场层面不具备OPC UA服务。数据采集模块必须与上述工控协议进行适配才能保障现场数据的采集和转换[6-7]。

为解决多协议系统、设备的数据采集,在数据采集功能块端调用与现场系统、设备相匹配的Modbus、Ethernet IP、RS-485、HART、OPC DA等工控协议数据采集驱动程序,多线程采集各系统、设备的现场实时数据。在数据解析功能块采用OPC UA 标准的软件开发工具包(software development kit,SDK)搭建OPC UA服务器,将采集到的数据解析和封装到OPC UA 服务器中,建立OPC UA节点名称与地址空间、设备数据的一一对应关系,以实现由传统工控协议到OPC UA的转换。

为实现对多协议数据采集驱动程序的统一管理,需要构建和管理所采集系统、设备的采集配置文件和解析配置文件。采集配置文件包含所采集设备名称、协议、地址、端口、采集方式等设备连接信息和数据请求信息;解析配置文件包含采集数据格式、语义、字节长度、索引等。数据采集过程前调用采集配置文件,可选择运行对应的驱动程序,以实现设备连接和数据读取;可调用解析配置文件,以实现不同设备读取数据的解析和类型转换。

3.3 变量数据的格式化

对异构工控系统、设备所采集的变量数据结构和形式往往不相同。这将影响后续数据的交互、存储和统一的服务化应用,因此需要对不同变量数据进行统一格式化。通过规范数据格式,为上层各项应用提供标准化的数据支持。按照MQTT协议,油库变量数据的格式化定义如表1所示。

表1 油库变量数据的格式化定义

3.4 高可用性设计

3.4.1 软硬件保障

为保证油库多源数据采集和处理系统的高可用性,需从软硬件这2个方面采取保障措施。多实例数据同步如图3所示。

图3 多实例数据同步示意图

在硬件层面,通过在油库边缘侧采用双机或虚拟机模式进行冗余布署、负荷均衡和数据镜像,以减少硬件故障导致的数据采集故障。在软件层面,通过多个数据采集实例同步数据,保障采集过程的高可用性。

采集模块采用主-从模式同步启动3个或更多的采集实例。采集实例之间采用OPC UA接口协议进行实时数据和配置的同步。油库数据采集模块的高可用性设计可以消除或最小化由网络、程序、设备故障导致的数据丢失。

3.4.2 数据采集实例的同步规则

数据采集实例的同步规则如下。

①建立实例同步的配置文件,包括本实例标识符(identifier,ID)、其他主从实例ID、采集的数据变量、变量节点名称、节点变量值、主从实例的服务级别、其他主从实例相关信息等。主从实例的服务级别规则为按照实例启动的时间顺序进行级别设置。

②实例加入。新实例加入根据配置文件进行初始化,按照初始化信息与其他主-从实例建立通信连接,同步获取正在采集的设备、数据等配置信息。

③数据同步。实时同步主实例采集的设备全量数据,建立与其他从实例的同步数据接口。所有实例定期向其他实例发送运行状态信息。

④状态监测。轮询其他主从实例运行状态信息。若主实例超时失效或发送失效信息,按照实例的服务级别自动选择级别最高的从实例设置替代为主实例,并从其他实例同步补充完整数据;若从实例超时失效或发送失效信息,则重启新的从实例,由主实例同步相关数据。

3.5 云平台端设计

多源数据采集和处理系统的云平台端主要通过在云端布署的分布式实时数据处理集群对大规模油库边缘端采集的实时数据进行监测、分析、判断、预警和推送[8-12],实现多座油库安全生产的智能化综合管控。云平台端实时数据处理架构如图4所示。

图4 云平台端实时数据处理架构

边缘端采集的大量实时数据采用MQTT Client订阅方式进行数据传输,以实现边缘端-平台端的实时数据交互。Kafka是一种高吞吐量的分布式发布订阅消息系统,处理速度能达到105~106条/s,同时具备较强的横向扩展、并行处理能力。平台端MQTT Client订阅的数据实时写入Kafka,实现对大量、高速数据的实时发布和订阅,以及TB级别数据的持久化存储,以确保后续实时数据处理的实施、降低可能存在的数据丢失风险。

为了保证Kafka系统配置数据的一致性,本文引入ZooKeeper系统,用于管理Kafka系统的 broker、topic等配置数据,从而保证Kafka系统的一致性和高可用性。

系统利用Storm实时数据流处理能力,实现大规模油库储运、消防、安防等工艺参数的实时监控、超阈值报警;实现对储罐液位异常、管线流速异常、设备状态异常等的实时判断预警;实现报警预警的实时推送等功能。

云平台端采用Redis缓存实时数据,同步配合Kafka、Storm解决实时数据访问的速度、热点中间数据存储以及系统并发请求的效率问题。Redis以节点名称为主Key、以变量值记录数据变化。所有数据以列表形式存入Redis中。同时,油库数据采集、处理过程中的非实时数据存储和查询运用MySQL数据库,包括类型、配置、元数据、处理的中间数据等。实时数据、非实时数据导入MySQL历史数据库集群,以实现整体监控数据的归档存储和离线的大数据挖掘。

4 系统功能的实现和测试

基于上述研究内容,针对油库安全生产监控的需求,本文设计和开发了油库多源数据采集和处理系统,并测试了数据采集系统的功能和性能。

为了测试多源数据采集和处理系统的响应时效性,本文进行了以下软硬件验证。硬件验证包括安全加固的Windows10、10核主频2.8 GHz Intel Xeon和16 G内存。软件验证包括OPC DA Server Simulation、多源数据采集和处理系统及MQTT X客户端软件。测试过程如下。模拟器模拟1台生产设备产生50个变量。变量类型为int32。所有变量值每秒更新1次,以OPC DA协议对外传输数据。多源数据采集和处理系统通过协议转换采集该模拟器变量的实时数据,并发布MQTT服务。MQTT客户端软件以订阅模式读取服务中的数据,记录设备数据采集到客户端接收全过程的时延。

测试数据采集时延基本在200~400 ms。考虑实际环境中的云-边MQTT发布/订阅之间以及现场设备传输的网络延时,实测数据采集时延为1~1.5 s。

为保证多源数据采集和处理系统的实际应用效果,本文使用自动化软件测试工具UFT、性能测试工具Loadrunner以及测试管理工具ALM,进一步对系统进行功能和性能的深度测试。

数据采集的时延测试结果如图5所示。

图5 数据采集的时延测试

功能测试内容包括油库储罐、装卸区、泵房等区域液位、温度、压力、可燃气体、防雷防静电、高低液位联锁、泄漏、消防等数据的实时监测、报警和记录。单库设备监控点为500~1 000个。测试功能为48个。执行测试用例为685个。测试结果显示:数据采集系统能够正确实现上述设备点位的实时数据监控、报警和记录等,满足油库安全生产监控的功能要求。

性能测试内容包括监测设备点的并发能力和实时数据处理的系统响应时间。测试结果显示:在模拟并发用户100个、监测点10 000个的测试条件下,性能测试平均处理的响应时间不多于2 s,未发生系统功能失效问题。

本文设计的油库多源设备数据采集和处理系统已实现试点应用。该系统应用于分布在甘肃、江苏、天津等省市的超过10座成品油库的近80个独立工控系统和设备的现场安全生产,设备采集监控点超过5 000个。通过实际应用验证了多源设备数据采集和处理系统的有效性和可靠性。

5 结论

多源异构数据采集和实时处理是工业信息化、智能化的基础技术,也是技术难点之一。本文针对油库工控系统和设备环境,设计和实现了1种油库多源设备数据采集和处理系统。该系统具有适配性强、可用性高、扩展能力强等特点,已实际应用于部分成品油库的安全生产集中监控中。后期随着数据采集规模的增长,该系统将在设备复杂故障预测和诊断、视频融合处理、综合决策支持、应急处置等方面提供更强的智能化应用。

猜你喜欢
功能块工控油库
油库爆炸
党建红 油库绿 和谐美
Ovation系统FIRSTOUT和FIFO跳闸首出比较
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
植物油库消防系统设计简介
自定义功能块类型在电解槽联锁中的应用
基于MACSV6.5.2的锅炉燃尽风开关量调节门控制功能块设计