摘要:本文针对工业企业信息系统依赖于多个不同功能的子系统,而各个子系统之间的传统的数据交换方式没有一个统一的标准,造成接口众多、访问性、安全性差等多方面的结局,从而形成了一个个的“信息孤岛”,在这样的技术应用背景下,本文在对实时数据库和XML技术研究的基础上,实现基于三层结构和XML的企业信息共享平台,将各个子系统的数据取出,并采用统一的数据描述格式,采用集中、共享的方式提供给企业内部的各个部门,建立起一个控制层到管理层的“桥梁”,使数据的上传与下行之路畅通无阻,为企业提供良好的数据服务环境。
关键词:实时数据库,OPC,XML,SOAP,Web services
1.引言
随着工业自动化水平的迅速提高和计算机在工业领域的广泛应用,人们对工业自动化的要求越来越高,提出了以信息化带动工业化的口号,信息化的关键就是实现企业的信息集成和数据交换、跨平台访问,本文针对此问题进行了有益的探索,分析了工业企业综合自动化系统的总体结构,提出了建立工业企业实时数据信息共享平台,方便了ERP/MES/底层控制系统的整体集成,提高企业的综合竞争力,在此基础上,具体介绍系统中应用的两个关键技术:基于XML(eXtensible Markup Language)的信息表示和集成技术,基于OPC(OLE for Process Control)的控制技术,在文章的最后,利用本文提出的设计思想和技术建立了一个企业信息共享平台。
2.实时数据库与工厂综合自动化
一般而言,提高综合竞争力是企业对综合自动化技术提出的重要目标。在企业数据和信息的综合集成基础上,通过采用先进的管理技术(包括ERP-Enterprise Resource Planning,CRM-Customer Relationship Management,SCM-Service Chain Management等)、电子商务、成本分析,设备管理等,才能促进企业价值的增值,最终提高企业的综合竞争力,因而数据和信息综合集成是解决问题的基础。
根据国内外综合自动化技术的发展趋势和网络技术的发展现状,工厂综合自动化系统的总体结构可以分成3层结构,其结构如图1所示。 (图片)
图 1 工厂综合自动化的总体结构 a) 以PCS(Process Control System)为代表的基础自动化层。在PCS层,以DCS/PLC/FCS为主要数据支持方式的基础控制部分,主要内容包括集散控制系统(DCS)、现场控制系统(FCS)、多总线网络化控制系统、基于高速以太网和无线技术的现场控制设备、传感器技术、特种执行机构、可靠性技术、实时数据管理技术、数据融合与数据处理技术、实时优化技术(RTO:Real-time Optimization)、先进控制技术等等
b) 以MES(Manufacturing Execution System)为代表的生产过程运行优化层。它是以大型实时数据库系统为主要的数据支持方式。主要内容包括先进控制技术、建模与流程模拟技术(AMT:Advanced Modeling Technologies)、故障诊断维护技术、实时数据库技术、动态质量控制与管理技术、动态成本控制与管理技术等等。
c) 以ERP(Enterprise Resource Planning)为代表的企业生产经营优化层。主要内容包括企业资源管理(ERP)、供应链管理(SCM )、客户关系管理(CRM )、产品质量数据管理(PQDM )、数据仓库技术、设备资源管理、企业电子商务平台、先进计划与调度技术(APS:Advanced Planning and Scheduling)、与数据校正技术等等。
从图1中可以看到,实时数据库系统是企业综合自动化的重要组成部分,对各个层次的技术和应用,提供了强大的支持,它必须是一个数据平台,同时也必须是一个应用平台。
3.XML在工厂综合自动化中的应用
XML则建立在电子商务基础上,为全方位跨平台电子商务的管理和应用提供了新的保障,现在工业过程自动化控制领域正在积极容纳电子商务的管理和应用模式,以便更好地将工厂现场的自动化过程控制。与企业办公自动化集成在一起。XML和OPC的出现必将为工业自动化控制系统集成提供新的途径,在此基础上的SOAP(Simple Object Access Protocol)技术和Web技术将对实时数据库系统的应用格局提供强大的支持。XML建立了一种传输结构化数据的方法。使得从实时数据库系统到企业办公自动化的系统集成变得非常容易,利用Internet技术,它实现了以任何文件格式进行再使用、搜索和交换数据信息,同时在工厂自动化和企业解决方案方面能够获得较高的集成度。XML实现了从工厂底层的监控和实时数据库系统、先进控制到较高级别的制造业企业应用程序的纵向信息系统集成,提供了更好的方式将获得的实时生产数据信息嵌入基于办公自动化信息处理的应用程序中去,进一步满足企业对各种数据信息的需要,如图2所示。同时这种方式也加强了实时数据库系统的数据集成能力。(图片)
图2 XML实现工厂数据集成框图 在本文的企业信息共享平台中,XML作为一种高效的数据传输标准,主要应用在两个方面:
a) OPC XML-DA
OPC-XML将提供一套具有电子商务功能的OPC集成方案,OPC-XML是实现从控制设备,生产底层自动化系统到贯穿整个制造业的信息化应用之间的制造数据共享的关键。OPC分为几个独立的工作组,它们着力于不同的领域:数据访问,报警与事件,历史数据访问,安全,批处理和XML。OPC-XML工作组的基本出发点就是定义一套基于XML的面向工厂自动化和过程控制领域的数据信息交换接口,以便让这一领域的自动化过程控制设备横跨Internet而工作。与OPC数据访问自动化接口相类似,OPC-XML很可能也将被定义成为一种数据信息访问方式,使其非常方便地成为基于COM的OPC数据访问接口之上的一套工具性外壳而被引用。
b) XML Web Services
通过在实时数据库系统中引入XML技术,实时数据库系统增强了数据服务的能力,在应用上扩展能力更强,同时数据集成能力、异构数据库的互联能力都得到了质的突破。如图3所示,在实时数据系统上建立中间层组件(XML Web services),使实时数据库系统对于企业的信息集成和数据交换、跨平台访问和各种应用提供了更为强大的支持。(图片)
图3 在实时数据库基础上构建XML Web services 4. 基于三层结构和XML的信息共享平台的实现
此信息共享平台由三个逻辑层组成:数据层、业务对象层和用户界面层,是一个多层的分布式应用程序。数据层是Industrial SQL Servers实时数据库和SQL Server 2000关系数据库。业务对象层处理如何访问数据以及如何将数据分发到客户端。用户界面层由基于 Web 的应用程序和传统的 Windows 应用程序组成。图4描述了此应用程序的结构。(图片)
图4 在实时数据库上构建三层结构的示意图 开发分布式应用程序的方案是一次创建一层,从数据层开始,然后移到中间层业务规则对象,最后创建用户界面层。InSQL实时数据库中已经保存了工厂多年的事实和历史数据,我们将从创建业务对象,即 XML Web services 开始,然后生成两个用户界面:Web 窗体页和 Windows 窗体。
4.1 INSQL实时数据库数据层介绍
Industrial SQL Server是Wonderware公司的用于工厂和过程数据的开放的实时关系型数据库。在整个Industrial SQL Server 实时数据库系统中有一个关键的运行数据库(Runtime database),它是整个Industrial SQL Server 系统的SQL Server 在线数据库。由于大量的与工厂相关的数据与普通的商业数据具有共同的特征。例如,配置数据相对稳定或不发生实时变化。在工厂的日常活动中,可能会发生标签的添加和删除、描述的改变和工程范围的改变。运行数据库(Runtime database)就是用来存储这种类型的信息。运行数据库与所有的数据库实体一起工作,如表、视图和存储过程,这对于典型的工厂环境配置数据的存储都是必需的。可以使用InSQL Console 中的Configuration Editor 很容易地向运行数据库中添加配置反应工厂环境的数据。
我们可以通过Microsoft SQL Server的对数据库的对象联接与嵌入(OLE DB)来访问实时工厂数据,这些数据是 Industrial SQL Server 在SQL Server数据库的外面存储的。通过查询Microsoft SQL Server ,你不仅可以查询运行数据库中的配置信息,而且可以查询磁盘中的历史数据,并且这种集成是无缝集成。
InSQL OLE DB 提供者的注册名称为INSQL。提供者包含一个目录和概要(分别为Runtime和dbo),在本文中我们主要用到以下数据库中的表:AnalogHistory,DiscreteHistory,AnalogLive,DiscreteLive。XML Web Services通过OLE-DB访问数据库中的这些表,然后把从工厂采集到的实时和历史数据通过Windows应用程序和Web应用程序的方式展现给用户。
但是,这些并不是相同的表。它们不是在SQL Server的运行数据库中产生的。相反,它们是在OLE DB 内部由网络提供者产生的。
我们通过SQL Server的查询分析器可以很方便的查询数据库中的这些表。
所提供的表以下面格式的四段表命名:(图片)
图5 InSQL数据库表四段命名结构图 下面是一个从AnalogHistory表中检索数据的SELECT语句示例:
SELECT * from INSQL.Runtime.dbo.AnalogHistory WHERE TagName = ‘ReactTemp’
4.2 创建中间层业务对象
1) 创建 ASP.NET Web 服务项目
ASP.NET Web 服务项目模板是基于 Web 的项目,旨在创建将其自身的接口公开为 XML Web services 的中间层组件。创建的业务对象将在 Web 服务器上运行,提供分布式应用程序所需的性能和可伸缩性。另外,把业务对象中间层实现为 XML Web services,这样客户端可以使用标准 Internet 协议从任何平台与您的业务对象进行通信。
我们将在InSQLWebService组件中创建与数据存储区的连接并通过数据集获取数据实例。
2) 创建并配置数据库连接和数据集架构
XML Web services 组件将保存数据连接和数据集定义。然后将添加 XML Web services 方法以公开此数据集,这使其他应用程序能够查看和修改此数据集。
在本文中使用 SqlDataAdapter 对象,此对象已针对使用 SQL Server 7.0 或更高版本进行了优化。也可以使用 OleDbDataAdapter 对象,这是因为它更通用,并提供对任何与 OLE DB 兼容数据源的 ADO.NET 访问权。如果要连接的数据库不是 SQL Server 数据库,我们创建一个 OleDbDataAdapter 对象和一个 OleDbConnection 对象。
创建的数据适配器,数据库连接和数据集架构有:
AnalogLivesqlDataAdapter
AnalogHistorysqlDataAdapter
DiscreteLivesqlDataAdapter
DiscreteHistorysqlDataAdapter
sqlConnection1
AnalogLive.xsd
AnalogHistory.xsd
DiscreteLive.xsd
DiscreteHistory.xsd
3) 从业务对象中公开数据集
GetAnalogLive
UpdateAnalogLive
GetAnalogHistory
UpdateAnalogHistory
GetDiscreteLive
UpdateDiscreteLive
GetDiscreteHistory
UpdateDiscreteHistory
XML Web services 将公开八个方法。第一个方法 GetAnalogLive 将从数据库返回模拟量实时数据集。第二个方法 UpdateAnalogLive 将用用户的更改更新数据库。数据库中的模拟量和离散量数据分为实时数据Live和历史数据History,下面八个方法实现类似的功能,并且创建了若干私有成员来实现这些方法。它们包括数据集定义、数据适配器、数据连接和若干从数据库中检索数据和更新数据库的命令对象。
下面是GetAnalogLive和UpdateAnalogLive方法的代码:
[WebMethod]
public AnalogLive GetAnalogLive ()
{
AnalogLive yyy = new AnalogLive ();
AnalogLivesqlDataAdapter.Fill(yyy);
return yyy;
}
[WebMethod]
public AnalogLive UpdateAnalogLive (AnalogLive tagChanges)
{
if (tagChanges != null)
{
AnalogLivesqlDataAdapter.Update(tagChanges);
return tagChanges;
}
else
{
return null;
}
}
4.3 创建用户界面
在创建了用于数据访问的中间层业务对象并将其公开为 XML Web services 后,我们就可以在客户端软件中调用这些Web services。这些客户端可以是 Windows应用程序、Web应用程序或者非Windows应用程序,并且Microsoft office systems 2003对Web services也提供了强大的支持,这样的话方便了我们在管理层要访问工厂数据,并且可以对数据库中的坏值进行更改。限于篇幅,不一一阐述。
5. 结束语
在本文中采用这种三层体系结构,可以缓解了服务器的压力,为多个客户同时提供一个数据库连接,对数据库的访问由应用服务器来管理,客户无需考虑与数据库之间的接口问题,采用这种方式,一旦更改数据库,影响的仅是应用服务器上的数据库接口模块,其他的业务逻辑不需作任何修改。
三层结构可提供稳健的企业信息共享平台,它在营造企业竞争优势中的作用主要体现在三层结构的模块化设计使得用户在现有结构的基础上实现了系统扩展,从而提高企业信息化的速度。
参考文献
1) Kurt T. Haus(Feb 2003),OPC XML-DA Introduction,Technosoftware Inc.
2) Industrial SQL Server 培训手册,Wonderware公司
3) J Huang, J A Stankovic,An Integrated Real-Time Data Management Architecture for Industrial Control Systems[R],TR93-08,1993
4) Visual Studio .NET 2003 MSDN,Microsoft Corporation 1987-2002
5) 王成光,苏宏业,褚健,石化企业大型实时数据库系统的结构设计,化工自动化及仪表,2002,29
6) 王成光,苏宏业,褚健。流程工业实时数据库数据管理模型设计。浙江大学学报(工学版)
7) 汪海,张云生,“基于XML的多层分布式工业信息系统的软件开发”,昆明理工大学学报增刊,2002.9
作者简介:
杨徽:男,籍贯江苏,1980年9月出生,在读硕士,就读于中国矿业大学(北京)机电与信息工程学院, 研究方向:计算机测控,实时数据库,组态软件等,2003年6月在北京和利时公司参与面向流程行业管控
一体化系统的研究;电子邮件:ykevincn@yahoo.com.cn;电话:13810109457,地址:中国矿业大学(北京校区)信息与电子工程系 46# 北京 海淀 100083);
王汝琳:男,中国矿业大学(北京)机电与信息工程学院教授,博士生导师,长期从事矿用智能仪器仪表,工业监控系统的研究。
5/29/2005
|