APP下载

基于OPC技术的二级系统设计探讨①

2018-09-20王昌正

现代冶金 2018年4期
关键词:控件服务器生产

王 琳, 王昌正

(大峘集团有限公司, 江苏 南京 211112)

引 言

在工控领域,需要通过记录现场生产设备的诸多参数,来即时反映设备运行情况,所以对于这些参数的监控和采集非常重要。一般根据生产流程要求,一级系统(下位机)负责采集实时生产数据,并将数据存储到指定数据库中,二、三级系统(上位机)则需进行复杂的数据运算或处理,实现对一级系统进行自动化智能控制,实现按需定制生产数据报表或通过分析形成智能化方案。要实现这一联动过程,各级系统之间就存在着数据通讯与存储。往往由于复杂的生产工艺流程,存在跨区域多个一级系统并存运行的情况,在 OPC 技术出现之前,需要花费大量的时间和精力为不同的设备编写对应的驱动程序实现数据采集,一旦设备升级或换代,复用可能性非常小,无法继续正常使用,需要重新开发配套的驱动程序。因而OPC 作为工业自动化控制领域兴起的准则,它的出现为基于组态软件的数据采集系统的集成提供了确实可行的解决方案。本文旨在通过OPC协议通讯机制深层次讨论如何尽量以最小成本设计二级系统的思路。

1 OPC技术概述

SCADA虽然经过40多年的发展,智能化程度仍然不高。目前冶金行业应用的 SCADA基本上能够实现设备日常工作的实时监测,能够对采集的数据进行处理、显示、趋势分析以及报表统计,少数能够达到远程遥控的调度辅助目标。目前主流的SCADA厂商都支持OPC协议,很好地解决了过去不同厂商、不同系统以及不同通讯协议之间不能协同作业的问题。

OPC技术最早是于1995 年由Microsoft(微软)等厂商提出的一种硬件与软件接口标准,属于工业标准。目前,OPC 这一标准主要由OPC 基金会管理,主要是以微软的OLE(Object Linking and Embedding,面对对象的连接与嵌入技术)、现今的Active X 以及COM(Commercial Object Model,组件对象模型)、DCOM(Microsoft Distributed Component Object Model,分布式组件对象模型)等技术为基础确定的。随着近年来OPC 技术研究的不断深入,已形成了系统的接口、方法与属性标准集,并在自动化领域中得到广泛应用,成为工业控制及其自动化系统中重要的通信方式,OPC通讯机制如图1所示。

图1 OPC通讯机制

在OPC数据存取规范中,一个OPC的数据存取服务器中包括:服务器对象(OPC Server)、组(OPC Group)和项(OPC Item)。OPC服务器对象维护有关服务器的信息并作为OPC组对象的容器,而OPC组对象维护有关其自身的信息,提供包容OPC项的机制,并管理OPC项。

2 二级系统设计需求

受传统自动化软件中OPC 服务器工作模式(Client/Server 模式)的影响,很多钢铁企业在实施二级自动化系统的时候,也采用C/S结构设计,然而随着工业生产流程的优化和工艺的改进,面临该二级系统软、硬件的技术改造和优化升级需求也日益迫切。

对几家钢铁企业现有二级系统研发技术进行调研后,进行如下几个维度的分析与归纳(如表1所示)。

表1 二级系统分析归纳

当前主流大品牌SCADA系统日益趋向对工控机硬件高配置、高资源性能占用的要求,一些老牌自动化设备厂商甚至开始提出云端自动化解决方案概念,在客户投入成本小、运营效率高的项目需求下,无疑大大压缩了二级系统实施与运行的可用资源空间。

另外,当前C/S架构所实现的二级系统,无法支持用户在日常生产运营过程中对电子数据的一系列定制要求,生产数据之间无法协同作业,绝大部分工作量由人工手工去实现,造成效率很低、人力成本比较高。

3 二级系统设计思路

3.1 三层结构

OPC接口技术是基于微软COM/DCOM(Component Object Model/Distributed COM)技术制定的,这项技术的优势在于:借助微软已有的技术,减少规范制定的周期,并快速形成相关产品。当然,优点也是缺点,那就是依赖于微软的技术。

基于这种技术思想,在考虑系统设计时,不妨可以考虑基于微软技术去开发二级系统,比如使用:Visual Studio + SQL Server去实现Windows平台的应用程序。因为通过实地调研发现,传统的冶金行业的企业基本都使用Windows平台的IT管理方式,那么在这样的信息化模式下,建议还是以微软技术去实现系统设计的基本选型,系统的稳定性和兼容性会更稳妥,也会更贴合用户的实际运营需要。

基于 ASP.NET构建B/S架构的二级系统,如图2所示,将该系统分解为3层结构进行工作。

图2 二级系统的3层结构示意图

3.2 技术实现分析及说明

3.2.1 关键技术原理

VS插件程序:可视化的设计环境,用Winform的方式来进行UI设计,高效、方便。

ASP.NET组件:在ASP.NET,用DataWindow控件来对数据库进行操作,把由VS插件程序生成的窗口控件,生成为 XML传到客户端。

ActiveX控件:浏览器加载ActiveX控件,ActiveX控件根据窗口的XML数据,生成窗口UI控件,Javascript通过COM对象接口调用窗口控件功能。

使用DataWindow的原因:

(1)浏览器的功能不能解决企业化应用开发的全部业务处理功能。

(2)HTML,CSS,JS开发效率相对较慢,后期的维护性也不如 DataWindow。

(3)浏览器需要显示Flash、PDF,就需要安装相应的插件程序。

(4)Flex,SilverLight都是用插件来开发RIA Web应用程序。

3.2.2 开发概述

设计实现的技术语言是C#,它借鉴了Delphi语言的一个特点:与COM是直接集成的,适合为独立和嵌入式的系统编写。对OPC接口进行访问,需要在C#中添加对OPC自动化接口OPCAutomation(OPC基金会提供的OPC自动化接口标准文件)的引用。另外,若OPC Server和Client不在同一台工控机上,则需要对Server和Client所在的两台机器分别做DCOM设置,才能实现数据互通,否则Client将不能正常访问到Server。

如图2所示的3层结构,采用Socket(双向通信连接)+AJAX (Asynchronous Javascript and XML,即异步 JavaScript 和 XML)异步通讯技术实现Web应用程序。 OPC异步访问优点是:效率更高,不仅能改善网络拥塞,而且还能系统节约资源。

3.2.3 系统页面加载过程及运行

利用ActiveX控件,把窗口加载到一个普通的html页面里面,如图3所示。

图3 加载运行流程示意图

3.2.4 上位机与下位机之间通过OPC的联动机制

上位机与下位机之间通过OPC的联动机制如图4所示。

图4 联动机制示意图

(1)OPC协议是一项通用的工业标准,介于一级系统与上层软件之间,它为上层的数据及软件应用提供一个统一的访问接口,使得上层系统在数据集成时无需考虑下层控制系统的协议和实现方式,只要符合OPC客户端的接口规范即可,这样大大节省了上层软件在数据集成方面的重复工作。

(2)OPC中间服务器,在中间服务器完成统一采集数据和数据库服务器集群就近存储数据,使用自动化接口结合动态链接库设计,开发具有较强通用性和面向过程数据通信的中间服务器。

(3)采用Web 服务器的二级分布式动态缓存结构,是针对服务器集群而言的,这样设计的作用是:在跨区域的复杂生产环境中,采用就近优先的访问及存取原则,在缓存的替换策略中引入最近缓存命中时间因子,能够增加缓存命中率,将生产网络中的数据利用资源合理分配,提升用户访问速度。如果是在单一的工艺或工序级的生产车间,少量工控机的生产环境下,则不需要有此设置。

4 结束语

OPC 技术作为工业自动化控制领域的统一通讯接口标准,对基于它的技术性研究还将继续并且不断更新,而选择C#语言开发OPC Client相比其它语言工具而言,比较方便快捷,并且在稳定性和数据读取的速度上也有不错的优势。在二级应用系统软件设计中应用OPC 技术,不仅能够提升系统自动化水平,达到自动化技术应用目标,还能够增强数据生产与传输的准确性和安全性,促进生产数据资源的有效共享,强化系统各设备间的有效沟通,规范系统应用程序,避免软件系统与硬件设备间“信息孤岛”问题的产生。

猜你喜欢

控件服务器生产
基于.net的用户定义验证控件的应用分析
用旧的生产新的!
“三夏”生产 如火如荼
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
代工生产或将“松绑”
关于.net控件数组的探讨
S-76D在华首架机实现生产交付
得形忘意的服务器标准
计算机网络安全服务器入侵与防御