产品线频道   >
机器人| PLC| 低压变频器| DCS| 人机界面| 现场总线| 运动控制| 高压变频器| 电机| PAC| 现场仪表| PC-BASED| 机械传动| 传感器

SIMATICWinAC中OPC在分布式SCADA中的应用

摘 要
  本文首先分析了OPC产生的背景,介绍了OPC具有的强大可互操作性和对网络的支持,使用Siemens公司的SIMATIC WinAC插槽型412和S7-200系列PLC,运用OPC技术开发出一套饲料配比分布式测控系统,取得了良好的使用效果和经济效益。

  关键词
  OPC(用于过程的自动化) WinAC SCADA(数据采集监控) 饲料配比

  The Application of SIMATIC WinAC OPC in Distributed SCADA

  Ren Sicheng Wang Shuhe
  (Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
  Chinese Academy of Sciences, Beijing 100080)
  (Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)

一 引言
  微处理器在工业领域的广泛应用,大大提高了工厂自动化的程度,降低了人们的劳动强度,提高了劳动生产效率。与此同时,工业过程控制本身也发生了日新月异的变化,控制的规模日趋庞大,复杂程度不断提高,功能也越来越强大。现在的一个实际的过程控制系统中可能包含有成千上万个不同类型的硬件采集控制设备和相关的监控程序。如何使它们有机协调地在一起工作,成为过程控制领域研究人员当前最为关心的问题。
图1
图1 传统的过程控制系统结构
  图1中所示的传统过程控制系统结构是一种单一、专有的模式,任何一种人机界面HMI)、数据采集与处理软件(SCADA)等上位监控软件或其他应用软件(如显示软件、趋势图软件、数据报表与分析软件等)在使用某种硬件设备时都需要开发专用的驱动程序。这种结构特点带来了诸多自身无法克服的问题,新增应用软件或者硬件设备带来的只会是驱动程序种类和数量的迅速增长,开发人员大量的时间和精力耗费在重复性编写通信驱动程序上,原有的驱动程序无法适应升级后的硬件设备。显然,传统的过程控制系统结构不能适应过程控制发展的新要求,我们必须突破旧的模式寻求一种新的解决方法。

二 基于OPC(OLE for Process and Control)的过程控制系统结构解决方案

  为了解决上述问题,许多世界领先的自动化软、硬件公司(如SIEMENS公司)与微软公司合作共同制订出了OPC标准。OPC标准是一个新的工业过程控制软件接口标准,定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。
图2
图2 基于OPC的过程控制系统结构
  图2中的基于OPC过程控制系统结构采用客户/服务器模式,通常把符合OPC规范的设备驱动程序称为OPC服务器,而将符合OPC规范的应用软件统称为OPC客户。服务器充当客户与硬件设备之间的桥梁,客户对硬件设备的数据读写操作由服务器代理完成,客户不需要同硬件设备直接打交道,或者说客户是独立于设备的(即不管现场设备以何种形式存在,客户都以统一的方式去访问)。在客户端和服务器端各自定义了统一的标准“接口”,接口具有不变特性,OPC所提供的接口标准事实上是一种“软件接口标准”或“软件总线”,它明确定义了客户同服务器之间的通信机制,是连接客户同服务器的桥梁和纽带。这样,我们可以自由选择最符合我们实际要求的软、硬件产品,然后将它们像“搭积木”一样组合在一起进行无缝地工作,这一切都来源于OPC所提供的强大互操作性的特点,对此我们可以作一个形象的比喻:尽管家用电器的种类繁多,但它们的电源插头与插座却是统一的。可以这样说,统一的标准接口是OPC的实质和灵魂。
  类似于工业组态软件中的相关概念,OPC规范主要定义了数据访问规范、报警和事件处理规范及历史数据访问规范三部分,对应于每种规范可以实现相应的OPC服务器。OPC数据访问服务器在结构上由服务器(Server)、组(Group)和项(Item)三级对象组成。在逻辑关系上,上一级对象是下一级对象的父对象,下一级对象则是上一级对象的子对象,OPC数据访问服务器正是通过这种“集合”的概念来组织和管理其内部结构的。项对象作为结构层次中最基本的单元直接对应着物理硬件设备的某个具体数据单元,项对象作为物理数据的存储载体,主要包含数据值(当前设备单元中的数据)、时间标签(当前采集到的数据时间定位)和品质信息(当前采集到的数据可靠程度)等信息。
  客户对硬件设备的数据读写操作分为同步和异步两种方式。同步方式适合于发送、接收数据量较少的场合;相比同步方式,异步方式占用较少的资源,效率更高,适合大数据量的场合,在实际中的应用也更为广泛。在没有开发出OPC标准之前,异步方式的存取是不可能的,会导致存取冲突的发生。
  OPC除了具有高效的互操作性外,另一显著特点是能够方便地实现在分布式环境下的应用,也就是说,客户和服务器可以位于局域网、广域网或Internet上的不同计算机上,它同网络应用紧密结合突破了空间上的限制。为了实现在分布式环境下的应用,OPC采用了分布式组件对象模型(DCOM,Distributed Component Object Model)技术,DCOM是在组件对象模型(COM,Component Object Model)的基础上进一步扩展得到的,通过DCOM我们可以将现有的服务器和客户程序转移到标准化的分布式计算环境中来;另一方面,DCOM负责处理网络协议低层次的细节问题,从而使我们能够集中精力解决其他问题。DCOM直接使用现有的网络协议如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我们可以在不改变网络现有结构的情况下实现分布式应用,而且我们不用关心具体采用的是何种协议。

三 SIMATIC WinAC中对OPC的支持

  SIMATIC WinAC是SIEMENS公司基于PC的自动化套件的核心部分。它在通用的标准PC平台上,将控制、人机界面、数据处理和通讯等功能组合在一起予以解决;并基于Windows NT/2000操作系统和标准的接口(ActiveX、OPC),作为一种灵活开放的体系结构,便于集成第三方的应用程序(如OPC客户程序)。SIMATIC WinAC产品系列包括软件型(基本型、实时型)和插槽型(412、416)两种,分别适用于不同的应用场合,每种产品均提供了对OPC的功能支持。具体地讲,WinAC中的Computing软件提供了一个OPC服务器,OPC客户应用程序通过该服务器与控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通讯,并对过程数据进行存取。另外,SIMATIC Computing还允许用户使用OPC服务器与多个控制引擎建立连接,用户也可以通过网络(如局域网)建立与控制引擎的连接。以下OPC客户程序代码简单示范了在分布式环境中如何建立与服务器的连接、创建并管理各级对象和实现对数据的读写操作。
  CoInitialize(NULL);
  //初始化COM
  CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
  //查询Computing提供的OPC服务器的CLSID
  CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
  //pServerInfo参数制定要连接的Computing OPC服务器的相关信息,并建立连接
  POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
  //获得服务器对象的指针,并进行相关操作
  …
  AddGroup…
  //新建组对象,进行相关操作
  Read…
  Write…
  //数据项读写
  …
  Release…
  CoUninitialize…
  //释放接口,客户程序结束

四 Computing OPC服务器和OPC客户应用程序在分布式环境中的参数配置

  当Computing OPC服务器组件同OPC客户程序分别运行在网络上的不同计算机上时,它们之间的通信连接是通过DCOM来完成的。如何对DCOM的参数进行正确的配置,笔者经过大量的实践摸索,总结出了一套简单、可行的办法。配置具体步骤如下:
  Computing OPC服务器组件运行时所在的计算机信息:
  计算机名:ComputerofServer 用户名: UserofServer
  OPC客户程序运行时所在计算机信息:
  计算机名:ComputerofClient 用户名: UserofClient
  1 对服务器端参数配置。
  运行dcomcnfg(由操作系统提供的DCOM参数配置工具),在“应用程序”一栏中选中“OPC_WinAC”,在其属性对话框中各参数设置如下:
  “常规”—“身份验证级别”—“默认值”;
  “位置”—“在这台计算机上运行应用程序”;
  “安全性”—“使用自定义访问权限”—添加“UserofClient” (允许访问);
  —“使用自定义启动权限”—添加“UserofClient、Administrators、System、Interactive” (允许访问);
  —“使用自定义配置权限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
  “身份标识”—“交互式用户”;
  确认返回到“分布式COM配置属性”窗口后,在“默认属性”栏中分别设定“在这台计算机上运行分布式COM”、“默认身份验证级别”为“连接”、“默认模拟级别”为“匿名”;在“默认安全机制”一栏中的“默认访问权限”中加入“Everyone、UserofClient”(允许访问),“默认启动权限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允许访问),“默认配置权限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服务器端配置。
  2 对客户端参数配置。
  运行dcomcnfg,在“应用程序”一栏中选中“OPC_WinAC”,在其属性对话框中各参数设置如下:
  “常规”—“身份验证级别”—“默认值”;
  “位置”—“在下列计算机上运行应用程序”,计算机名:“ComputerofServer”;
  “安全性”—“使用自定义访问权限”—添加“UserofClient、Everyone” (允许访问);
  —“使用自定义启动权限”—添加“Everyone、UserofClient、Administrators、System、Interactive” (允许访问);
  —“使用自定义配置权限”—添加“UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
  “身份标识”—“交互式用户”;
  确认返回到“分布式COM配置属性”窗口后,在“默认属性”栏中分别设定“在这台计算机上运行分布式COM”、“默认身份验证级别”为“连接”、“默认模拟级别”为“匿名”;在“默认安全机制”一栏中的“默认访问权限”中加入“Everyone、UserofClient”(允许访问),“默认启动权限”中加入“Interactive、Administrators、System”(允许访问),“默认配置权限”中加入“UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成客户端配置。
  要特别注意的是,OPC服务器组件的代理/存根(Proxy/Stub)文件必须在客户端和服务器端的计算机上注册。按照上述方法对运行在两台操作系统为Windows 2000的客户和服务器端进行配置,经实践证明是行之有效的。这种方法对其他类型的OPC服务器组件和客户程序的配置也有一定的借鉴意义。

五 SIMATIC WinAC中OPC在分布式SCADA中应用的实例

  饲料配比是饲料加工的重要生产环节,由于生产现场振动剧烈、粉尘严重,使计算机受到环境和场所的限制,可以采用可编程序控制器PLC来完成饲料配比的测控任务。可编程序控制器PLC是一种专为工业环境下应用而设计的数字运算操作的电子系统。PLC的体积小,功能强,速度快,可靠性高,又具有较大的灵活性和可扩展性,广泛地应用到机械制造、冶金、化工、交通、电子、纺织、印刷、食品、建筑等工业领域。PLC对比传统的以继电器为基础的控制系统具有无可比拟的优势:时间响应快,控制精度高,可靠性好,控制程序可随工艺改变,易与计算机联接,维修方便等诸多高品质与功能。在实际的系统开发过程中,我们选用了SIEMENS公司生产的S7-200系列PLC作为底层硬件设备,PLC负责采集和存储各种信息(如饲料重量信息)并控制料斗、料仓等阀门装置的开关和电机的转动。饲料配比过程涉及到配方的管理、批量处理和数据库管理等大量任务,对系统的安全可靠性要求较高。为此,我们选用了SIEMENS公司的SIMATIC WinAC插槽型412,这是一款PCI插槽的PLC,具有Profibus、MPI和工业以太网接口,支持与S7 200系列CPU的通讯。由于采用PCI总线进行数据交换,其通讯速度较传统上位机+PLC方式有了明显的提升(5-15倍)。另外一个显著的特点是配备24V电源扩展板后,可以独立与PC机执行控制任务,不受PC机停电的影响,而且编程、错误诊断极为方便。本系统的人机界面和OPC客户程序由我们独立开发,编程环境为Visual C++ 6.0。
图3
图3 系统的基本结构框图
  在图3所示的系统基本结构框图中,计算机1上安装的Computing OPC服务器程序负责管理与本机相连的各个PLC,服务器程序向多个客户提供服务,并完成客户对指定PLC的读写操作等。客户程序同服务器程序不一定位于同一台机器上,客户程序可以位于网络(局域网、广域网或Internet)上的任何一台机器上。客户可以远程访问和控制现场设备,监测现场的实时状态,进行饲料配方修改和工艺流程调整等工作。正是基于WinAC OPC的强大可互操作性和对网络的有力支持,使得系统及设备之间,包括从车间级到MIS(管理信息系统)和更远距离,完全无缝地、真正开放和方便地进行企业级的通信成为可能。

六 结束语

  在Windows 2000操作系统环境中运行本系统,经实践检验,证明无论是在同一台机器上,还是在网络的不同机器上运行服务器和客户程序,整个系统的工作都相当稳定,响应速度快,完全适合工业环境中数据实时处理的要求。WinAC还与其他的组态软件(如SIEMENS Wincc、Intellution iFix等)进行了兼容性测试,测试表明,能够进行自由地、无缝地连接。本系统在实际生产过程中,运行可靠稳定,取得了较高的经济效益。
  正是基于OPC的统一开放特性,OPC正逐渐成为事实上工业标准。随着我国国民经济的快速发展,如何利用先进的科学技术改造传统产业,成为日益迫切的要求。借鉴新的OPC技术并应用到我国工业过程控制领域中,必将具有深远的现实意义和实用价值。
参考文献

  1 《新一代工业过程控制软件接口标准—OPC技术》,《仪器仪表学报》2002.3S,
任思成、王书鹤等
  2 《三种基于工控机的饲料配比测控系统》,《工业控制计算机》,2003.2,
王书鹤、任思成等
  3 Data Access Custom Interface Standard(Version 2.04),OPC Foundation.
  4 SIEMENS, SIMATIC S7-200 Programmable Controller Hardware and Installation
  5 WinAC插槽型使用手册
  6 Computing用户手册

作者简介

  任思成,男,1979年生,中国科学院自动化研究所博士生,研究方向:计算机控制、多机器人协调协作。

本人联系方式:

  地址:中国科学院自动化研究所复杂系统与智能科学重点实验室,北京市中关村东路95号
  邮编: 100080
  电话: 13688625033
  E-mail: sicheng_ren@163.com

  任思成(中国科学院自动化研究所复杂系统与智能科学重点实验室 北京 100080)
  王书鹤(山东大学信息科学与工程学院、山东大学-SIEMENS联合电工实验室 济南 250100)

分享到
【文章来自米尔自动化网http://www.mirautomation.com/html/news/2003-09-05/nu0000549169.shtml
本文标签: SIMATIC   WinAC   OPC   分布式  
 三菱电机

热门内容:
工业机器人 S7-200 S7-300 PLC编程入门 自动化产品 DCS控制系统 变频电机 工控机 可编程自动化控制器 温度传感器 HMI