当前位置:首页 期刊杂志

自动化测控系统实时数据库设计

时间:2024-07-28

陈双全

(武汉船舶职业技术学院,湖北 武汉 430050)

1 引言

自动化测控系统是一种无人为直接参与下的控制系统,按照预定程序控制生产设备完成预期生产任务。它主要是由传感器、PLC、工控机、工控软件、数据库等部分组成,传感器实时采集测控对象信息,通过PLC与上位机通信进行数据交换,工控软件进行过程监控管理,数据库则负责数据的处理与存储[1]。随着工业生产过程中对温度、流量、速度、频率等物理量即时控制需求的不断提高,对数据库限时处理数据的要求也越来越高,如:实时过程控制、实时监控、实时仿真等。而传统数据库其对数据的处理主要追求数据的一致性和完整性,而在定时限制中明显不足,无法达到数据处理与应用的即时效果,为此亟需一款实时数据库满足自动化测控系统应用的需求。

2 实时数据库系统体系结构设计

自动化测控系统一方面采集生产现场的实时数据,另一方面对数据进行监控管理,其中架设在二者之间实时数据库系统结构的稳定性对于数据管理与应用具有关键性的作用。本文采用“高内聚低耦合”的思想对实时数据库系统采用三层架构(3-tier architecture)进行设计,将数据库整个业务的应用划分为界面层(User Interface layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。界面层为用户提供数据的可视化操作,如:报表服务、数据分析应用等;业务逻辑层进行数据的应用处理,如:组态服务、实时数据服务、历史数据服务等;数据访问层进行数据的采集与通信[2],实时数据库系统架构如图1所示。

图1 实时数据库系统架构

采用三层架构设计可以清楚划分系统各层次的功能,界面层是基于WinCC数据库的应用客户端,利用OPC接口访问数据库,进行数据报表的处理、图形的加工及其他应用。业务逻辑层由实时数据服务、历史数据服务、组态服务等部分组成,实时数据服务提供实时数据的读取与脚本语言的执行;历史数据服务提供历史数据的查询与视图展示;组态服务是系统配置与初始化工具。数据访问层接口软件利用OPC、串口、以太网等获取PLC、智能仪表等实时采集的数据,写入WinCC数据库中,为了保证不同接口的独立性对每个接口进行封装,使接口软件相互独立。

3 实时数据库系统功能设计

目前,自动化测控系统广泛应用于工业生产、农业生产、军事技术等多个领域,如:工业方面的机械制造系统;农业方面的大棚温控系统;军事方面的制导与控制系统等。这些系统对实时数据库系统的基础功能要求主要包括:数据实时采集、实时测控、快速处理和完整存储的功能[3]。

3.1 实时采集功能

自动化测控系统采用传感器、智能仪表等通过PLC模拟量输入和RS-485总线网络与上位机通信,实时数据库系统对采集的数据进行实时处理、存储和应用。实时数据库的即时采集功能利用WinCC接口作为数据采集接口与各类通信接口进行通信,首先对不同的类型接口进行封装,其次,使用脚本语言调用不同的接口,将采集到数据传输到实时数据库中。

3.2 实时测控功能

自动化测控系统的各个检测点采集到的数据通过接口软件发送到WinCC数据库后进行实时管理,将实时数据与设定的数据参数进行比较,通过设置数据参数范围对测控目标的运行状态进行管理,并生成动态的数据趋势图。若采集到的数据出现异常,即数据值超过了参数设定的最大或最小范围,则会向PLC控制端发出预警或者是向PLC发出控制指令。

3.3 数据处理功能

数据处理功能是对检验数据进行处理,一方面计算数据在规定时间内的统计量,另一方面生成可视化曲线便于检验分析。实时数据库系统的数据处理分为两个部分,一部分有WinCC数据库进行实时数据的处理,生产动态的报表及图形,另一部分有WinCC转存到SQL Server服务器中进行长期存储,可用于历史数据的分析和数据挖掘。

3.4 数据存储功能

数据存储功能是对采集到的数据进行分类存储,包括内存存储、WinCC存储和SQL存储[4]。其中内存存储响应效率高,存储速度快,用于即时存储数据;WinCC数据库接收实时采集到的数据进行实时数据服务;SQL Server存储体量大,需要长期存储和进行历史数据分析的数据可以通过WinCC数据库转储到SQL Server服务器中进行历史查询与数据分析。

数据存储功能由自动化测控系统的PLC经过接口写入WinCC自定义数据库SQL Server,并转存到SQL数据服务器中,用于永久保存。当调用数据时,通过网络调用SQL服务器中的数据,按照定义模板显示数据报表和视图。

4 实时数据库系统数据模型设计

自动化测控系统采集到的数据包含多种类型,要针对数据管理对象、存储内容及业务需求对数据进行分类管理,用数据模型描述具有共性特征根的数据。

4.1 变量模型

结合自动化测控系统采集和存储数据的需求,利用变量模型对数据进行分类,将其划分为过程变量、内部变量和脚本变量三种类型。过程变量是用来存储现场采集数据的变量,包括通信的数据地址和在项目中使用的名称;内部变量是用来存储数据的变量,主要是用户录入的数据;脚本变量是用户编辑脚本程序时定义的变量,主要是用户设置数据。

4.2 数据存储模型

自动化测控系统的数据包括过程数据、管理数据和组态数据。过程数据是系统实时采集的过程数据,数据数量小,实时需求高的数据主要存储在WinCC数据库中,数据量大、需要加工的数据通过WinCC自定义数据库传输到SQL Server数据库服务器中进行长期的存储;管理数据包括组态信息数据、系统日志、参数设置等,主要存储在配置文件或者注册表中;组态数据如服务器信息、变量存储在组态文件中[5]。数据存储分类如图2所示。

图2 数据存储分类

4.3 数据服务模型

自动化测控系统实时数据经过接口软件写入WinCC数据库,长期存储的数据经过转储到SQL Server数据服务器,用户可以通过WinCC数据库进行实时数据的应用,如实时报表和动态曲线图形等,通过SQL Server数据服务器进行历史数据的查询与分析。数据服务流图如图3所示。

图3 数据服务流图

自动化测控系统需要实时数据库能够提供OPC(OLE for Process Control)、ODBC(Open Database Connectivity)、Web等多种数据服务方式。OPC服务方式能够使系统作为OPC客户端访问实时数据库中的数据,并对数据进行分析;ODBC服务方式能够支持SQL查询ODBC访问模块,便于客户端实时获取检测数据,实现实时数据库与关系数据库的无缝连接;Web服务方式支持数据的远程管理与应用。

5 实时数据库系统实现

基于实时数据库系统的功能及数据模型,采用面向对象的设计方法对系统主要功能予以实现。主要包括:数据采集业务实现、数据存储业务实现和数据库通讯业务实现。

5.1 数据采集业务实现

WinCC数据库采用脚本语言实现数据的预处理、读写、量程及单位转换等功能,基于ActiveX Scripting技术控制应用程序。实时数据库系统数据采集由WinCC数据采集接口根据控制系统通讯方式和系统结构进行接口类型的封装,利用脚本语言调用不同接口类型,实现将不同采集控制系统采集到的数据写入WinCC数据库。

5.2 数据存储业务实现

实时数据库系统数据存储分为两个部分,一部分是WinCC数据库系统,该系统对实时数据进行存取,为了保证数据的实时交互,建立内存数据库。将自动化测控系统中由PLC、智能仪表等采集到的数据存储到实时数据库中,根据用户需求进行实时观测,或者是在WinCC数据库中调取数据绘制曲线和打印报表。另一部分是SQL Server服务器,WinCC数据库中需要长期保存的数据转储到SQL Server服务器中,当需要分析数据时,通过WinCC数据库调取SQL Server服务器中的数据进行分析。

5.3 数据库通讯业务实现

自动化测控系统的采集系统将实时数据利用ODBC连接WinCC数据库。根据所需连接的SQL Server服务器名称、数据库名称、数据表名称确定连接字符串,实现连接的主要程序:

Set objCon=CreateObject("ADODB.Connection")

strCon="DRIVER"={SQLserver};SERVER=LINLIN-PC/WINCC;

DATABASE="数据名称"

为了使数据既可以实时检测又可以进行历史数据分析,将WinCC数据库中需要长期存储的数据转储到SQL Server服务器上,同时利用WinCC数据库也可以调用SQL Server服务器中的数据进行数据分析,二者实现数据交换。采用ADO(ActiveX Data Objects)技术进行操作,利用Connection对象建立数据源连接,Command命令操作数据库,Recordset记录集对数据进行维护。

6 结语

实时数据库是工业自动化生产的核心,是实现生产调度与过程控制的基础,它连接设备控制网络与管理网络,提供完整实时数据采集、存储、管理与应用功能。通过采用WinCC数据库与SQL Server服务器相结合的方式能实现检测数据的实时处理与交换,其中WinCC数据库进行数据的即时处理,SQL Server服务器进行数据的存储与分析,二者之间进行数据的共享与交换,基本满足测控系统对工业自动化生产数据服务的需求。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!