APP下载

工控信息化系统架构及其关键技术

2014-12-23卢红星

计算机工程与设计 2014年8期
关键词:共享内存工控架构

陈 刚,卢红星,姬 波+,佘 维

(1.郑州大学 信息工程学院,河南 郑州450001;2.郑州大学 软件技术学院,河南 郑州450002)

0 引 言

现场总线控制系统 (fieldbus control system,FCS)构造了一个连接现场智能设备和控制设备的双向、数字化、多节点通信网络,具有很高的实时性、可靠性和可用性[1-7]。与此同时,直接面向于生产过程的FCS也对工业监控系统的信息化,即从现场监控层到管理层实现全方位无缝信息集成,大数据集中管理及海量数据分析和辅助决策能力提出了更高的要求。因此,本文从应用架构、技术架构和网络架构3方面出发,提出并分析了工控信息化系统的体系结构[8-10]。网络架构负责提供网络环境支撑,技术架构负责提供技术支撑,应用架构负责工控信息化业务实现。同时,对信息化过程中的主要关键技术进行了分析,其中包括进程间通信与共享内存、数据清洗与数据规范化、分层流水线可视化建模、Java EE技术体系和Linux操作系统平台及内核定制。这种开放式的体系结构,可以良好的满足工业企业信息化的要求。

1 工控信息化系统架构

工控信息化系统架构指一系列相互关联的抽象模式,用于指导整个系统的详细设计。架构的目标包括可靠性、安全性、可扩展性和可定制化等。设计合理的、可行的、可扩展和健壮的架构对于工控信息化系统的建设具有指导意义。因此,在详细分析了工控信息化系统的发展现状和需求后,本文从应用架构、技术架构和网络架构3个层次给出了工控信息化系统架构 (如图1 所示)。这3 个层次中,最低层为网络架构层,负责网络环境支撑;中间层为技术架构层,提供技术支撑;最高层为应用架构层,负责工控信息化相关业务的实现。

图1 工控信息化系统架构

1.1 应用架构

图2 应用架构

六大业务系统包括:

(1)数据采集系统:完成对传感器网络数据的自动实时采集工作。其主要性能指标要求为实时性、高效率、稳定性和可靠性。本架构中建议采用Linux操作系统平台,同时通过内核定制手段来达到提高采集效率及系统稳定性的目的;

(2)数据存储系统:完成工控系统产生的历史信息的存储工作,包括信息规范、数据清洗和数据集中。本架构中选用了XML规范来达到数据集中与数据标准化的目的;

(3)数据通信系统:负责把数据采集系统 (数据源)所产生的数据可靠、迅速、准确地传输到区域监控系统、远程监控系统和数据分析系统 (数据宿)。本架构中采用共享内存作为通信实现的桥梁;

(4)区域监控系统:采用Client/Server模式,部署于局域网区域内,对工业生产设备的运行状态进行监控,主要包括图形化生产工艺流程展示,设备运行状态实时展示以及历史数据趋势展示和报表展示;

(5)远程监控系统:采用Browser/Server模式,部署于广域网上,对多个区域的工业生产设备进行集中监控,主要包括全网数据统计分析和生产总体调度等;

(6)数据分析系统:目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以挖掘所研究对象的内在规律。数据分析系统可以为管理人员对生产状态的预测和正确诊断,并进一步采取适当的控制行为起到辅助决策作用。

可这样一个特殊的日子,他们都默契地不开口,毕竟会显得过于暧昧。今天只是一个人的麋鹿小姐喝得不多,却很开心。在欢乐的圣诞节,她打扮得像一只小麋鹿,顶着两只长长的鹿角。觥筹交错,酒过三巡,她向来是讨人喜欢的姑娘,不乏乐趣。离开Party时,扮成圣诞老人的服务生给了她一袋礼物:一条红色的围巾,和一瓶长相思。麋鹿小姐愣了一下。长相思,常相思……

在此,需要指出的一个重要问题是现场管理人员、控制领域专家和计算机领域专家之间固有的文化和学科差异性,常常会导致对某一业务对象进行描述时所产生大量的不一致性。例如,现场人员所称的 “监控设备”在控制领域称为 “上位机”,在计算机专业称为 “嵌入式系统”;现场人员所称的 “传感器”在控制领域称为 “下位机”,在计算机专业称为 “Node”。

因此,在构建业务系统时,需要对业务对象指代术语进行相关约定和分层表述。本系统的主要约定见业务对象(见表1)。

表1 业务对象

1.2 技术架构

为了满足系统应用架构的需要并具有良好的可扩展和可配置特性,将系统技术架构分为数据采集层、数据通信层和信息化层3层,各层次之间关系如图3所示。

(1)数据采集层:现代工业系统具有协议种类复杂、传感器网络节点多、数据量大、数据类别复杂、采样间隔短等特性。因此数据采集层设计中首先需要支持多协议,如兼容SNMP、SLIP、TCP/UDP、Wi-Fi、BLUETOOTH等协议;其中要支持多节点和高频率采集,这可以通过多线程技术和自定义应用层协议来完成。其中,应用层的自定义传感器报文格式如下:

1)包头:前缀 (固定、包标示)、数据域长度 (定值)、标志位 (区分包内容)和有效数据长度;

2)包体:传感器说明 (Embeded IP、Node IP、Port、Interface Type、Collect Time和Tag)和传感器数据内容(有效数据及0补位)。

(2)数据通信层:包括数据适配器 (清洗数据);数据通用模型 (规范化数据)和共享内存 (数据通信)3部分。同时,还要承担历史数据存储的任务。

(3)信息化层:包括区域监控和远程监控2个基础应用。同时,还包括一系列高级应用,如可视化、数据分析、故障预警与诊断、故障反演和调度仿真等。

图3 技术架构

三层之间的通信方式如下:数据采集层通过多种协议采集传感器网络产生的实时数据,上报给数据通信层,数据通信层负责对实时数据进行清洗、规范后放入共享内存和历史数据库。信息化层中的区域监控和远程监控2个应用从通过共享内存中的读取实时数据,信息化层中的高级应用既可以从数据库中读取历史数据,也可以根据需要访问共享内存中的实时数据。

1.3 网络架构

网络架构是技术架构和应用架构得以实施的物理基础(如图4所示)。可以分为现场数据采集与管理、区域数据中心和大集中数据中心3个部分。现场数据采集与管理主要包括传感器网络和嵌入式系统2部分。传感器网络负责产生设备状态信息,嵌入式系统负责现场收集传感器数据。区域数据中心负责支撑技术架构中的数据采集层、数据通信层和信息化层中的区域监控应用。大集中数据中心负责支撑技术架构中的信息化层中的远程监控应用和数据分析等高级应用。

图4 网络架构

2 工业监控系统关键技术

2.1 进程间通信与共享内存

工业监控包括传感器网络、数据采集、数据监视和设备控制等环节。各环节上的各种进程 (数据采集进程、数据服务进程、数据展示进程和设备控制进程等)之间的通信种类多、需求大、频率高。进程间通信方式有共享内存、管道、邮件槽、剪贴板、动态数据交换等,其中共享内存是存在于内核级别的一种资源,是满足进程间大数据量数据快速传输任务的最佳方式之一。共享内存是指专用于内核空间和用户空间进行通信的内存区域,将特定大小的存储空间驻留内存中,在系统加载时分配,在系统运行期间一直存在。一个基于VC++和QT 平台实现的共享内存类如图5所示。共享内存类SharedMemory的属性包括共享内存块sharedMemory变量和共享内存尺寸memSize。其主要方法包括共享内存读写方法readFromMemory和writeToMemory;加解锁方法lock和unlock;原始数据获取方法data等。

图5 共享内存类

工控系统通信的主要环节包括:

(1)数据采集服务 (多线程);

(2)传感器报文包解析 (应用层自定义协议);

(3)报文管理 (先进先出队列);

(4)多系统间通信 (共享内存)。

2.2 分层流水线可视化建模

为了实现监控数据的图形可视化,采用了分层流水线建模方法 (如图6所示)。该模型分为数据处理层、逻辑实现层和图像显示层三层。数据处理层对传感器数值进行规约,即对采集到的数据进行处理并得到标准化数据;业务逻辑层负责业务逻辑实体的构建、实体数据联系的建立和图形生成算法的实现,主要包括将数据映射为几何实体和内存中图像绘制2个部分;图像显示层最终绘制出图形结果,并在屏幕上进行显示。分层流水线可视化模型的三层结构具有层间耦合度低、复用效率高和可扩展性等优点。

图6 分层流水线可视化模型

2.3 数据清洗与数据规范化

要达到工业集中监控的目标首先必须做到数据的集中,集中的数据内容包括运行数据、日志数据等。数据集中的前提是数据清洗和数据规范化。采用XML作为数据规范的标准,具有数据内容与形式分离、可读性好、可扩展性好和便于信息检索的优点。XML 语言的优点包括:①简化数据交换。大量软件供应商提供了其数据库记录与XML之间的转换工具;②支持智能代码。无需人工干预就可以处理带有一定语义的XML文档;③支持智能搜索。在XML 文档中查找包含特定文本的结果集更符合用户的预期目标。

2.4 Java EE技术体系

采用了先进、安全、稳定、可靠的基于WEB的B/S多层结构化设计方法,基于Java EE技术体系。Java EE 规范是面向Java的企业级Web服务规范,其核心目标是构建一个统一的企业级Web应用平台,简化软件开发及最终部署流程,提供跨平台的特性。同时,由于Java运行虚拟机上,也充分满足了硬件环境的独立性要求。Java EE 通过JDBC数据库连接技术提供了独立于数据库厂商的开发接口,满足了数据库操作的通用性要求。因此,Java EE构架为工控系统业务组件的跨平台应用提供了可靠保证。基于Java EE的工控系统三层架构可以避免对硬件平台、操作系统和数据库管理系统的依赖,系统可以部署于各种硬件平台、操作系统平台和数据库管理系统之上。既能有效利用最终用户的已有系统资源,也提拱了充分的可扩充能力。

2.5 Linux操作系统平台及内核定制

系统基于Linux操作系统采用C++语言和QT 技术进行设计。在Linux开源平台上的应用可以更好的满足工业监控系统对于稳定性、可靠性和安全性的要求。和Windows系统相比,Linux系统需要的硬件资源更小,能大幅减少工业企业的硬件投入。同时,根据特定工业企业的传感器网络规模,可以有针对性的对Linux系统内核进行合理的修改,有效简化Linux内核,去除无用组件,提高系统的运行速度,并提供更多的内存资源为工业监控系统服务。内核定制的原则是删除不必要的代码以减小内核,修改机制来提高实时性。具体定制方法包括取消交换机制、取消内存页面缓存、简化物理空间管理机制、简化某些数据结构和修改中断机制等。

3 结束语

随着工业生产规模的日益扩大和现场控制系统的日益成熟,工业企业对工控信息化软件的效率、可靠性和数据分析能力提出了进一步的要求。一个合理可行、可扩展的软件体系架构是满足工业企业信息化要求的重要基础。因此,本文从应用架构、技术架构和网络架构3个层次提出并分析了工控信息化系统结构。网络架构负责提供网络环境支撑,技术架构负责提供技术支撑,应用架构负责工控信息化业务实现。同时,本文也对架构实现中进程间通信、共享内存和分层流水线可视化建模等关键技术进行了分析。

[1]ZHAO Yijie,DUAN Chendong,CHENG Ting.Industrial Ethernet equipment monitoring &setting system design using S7-PLC [J].Computer Measurement & Control,2010,18(12):2764-2770 (in Chinese).[赵一洁,段晨东,程婷.基于S7-PLC的工业以太网设备监控系统设计 [J].计算机测量与控制,2010,18 (12):2764-2770.]

[2]DANG Yuanyuan,YE Jin,ZHANG Xiangli.Application of ZigBee wireless sensor network in industrial monitoring system[J].Journal of Guilin University of Electronic Technology,2013,33 (1):19-22 (in Chinese). [党媛媛,叶进,张向利.ZigBee无线传感器网络在工业监控系统中的应用 [J].桂林电子科技大学学报,2013,33 (1):19-22.]

[3]SONG Meiyan,TIAN Shuang,ZHAO Jiangming,et al.Application of fieldbus control system in auxiliary workshop of supercritical thermal power plant[J].Thermal Power Generation,2013,42 (3):98-99 (in Chinese). [宋美艳,田爽,赵江明,等.现场总线控制系统在超临界火电机组辅助车间的应用 [J].热力发电,2013,42 (3):98-99.]

[4] WANG Shuying.Research on architecture of collaborative work platform for industrial-chain enterprises cluster [J].Journal of Computer Applications,2010,30 (5):1363-1366(in Chinese).[王淑营.产业链企业群协同工作平台体系结构研究 [J].计算机应用,2010,30 (5):1363-1366.]

[5]LING Chen,WU Chengfu,WU Jianan.Design and implementation of multi-channel data monitoring system based on Ethernet[J].Computer Measurement &Control,2011,19 (4):851-853 (in Chinese).[凌晨,吴成富,吴佳楠.基于以太网的多通道数据监控系统设计与实现 [J].计算机测量与控制,2011,19 (4):851-853.]

[6]CAI Jinhui,ZHOU Zekui,ZHANG Guangxin.The share data function implement research of monitoring and control software for industry control [J].Manufacturing Automation,2003,25 (9):46-49 (in Chinese).[蔡晋辉,周泽魁,张光新.工业监控软件中数据共享功能的实现研究 [J].制造业自动化,2003,25 (9):46-49.]

[7]ZHANG Yujie,HUAI Weihua,TIAN Ze.Design of industrial temperature monitoring equipment based on embedded Linux operating system [J].Computer Engineering and Design,2009,30 (17):3940-3942 (in Chinese).[张玉杰,淮伟华,田泽.基于嵌入式Linux的工业温度监控系统的设计 [J].计算机工程与设计,2009,30 (17):3940-3942.]

[8]ZHANG Jing,WANG Quan.Research on architectures of Gansu science and technology documentation sharing platform and its key techniques[J].Journal of Computer Application,2012,29 (2):135-137 (in Chinese).[张静,王权.甘肃科技文献共享平台架构及关键技术研究 [J].计算机应用与软件,2012,29 (2):135-137.]

[9]LANG Jiong,LIU Yanbing,XIONG Shiyong.Data integration method based on SOA software architecture[J].Journal of Computer Applications,2010,30 (9):2370-237 (in Chinese).[郎炯,刘宴兵,熊仕勇.基于SOA 软件架构的数据集成方法 [J].计算机应用,2010,30 (9):2370-237.]

[10]ZENG Jianyu,LI Bingfa.The architecture of application server connector based on enterprise information system assemble[J].Computer Applications,2004,24 (6):23-25(in Chinese).[曾剑宇,李炳法.基于企业信息系统集成的应用服务器连接器体系结构 [J].计算机应用,2004,24(6):23-25.]

猜你喜欢

共享内存工控架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
通过QT实现进程间的通信
基于PCI总线的多处理器协同机制研究
LSN DCI EVPN VxLAN组网架构研究及实现
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
一种基于FPGA+ARM架构的μPMU实现