工控网首页
>

应用设计

>

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

SIMATIC WinAC中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、Ever
投诉建议

提交

查看更多评论
其他资讯

查看更多

西门子2023财年开局强劲,上调年度业绩目标指引

西门子发布全新 SCALANCE XCB004 SMART 经济型非管交换机

西门子与京东科技签署战略合作协议 赋能城市可持续发展

西门子推出新一代工业以太网交换机,加强OT与IT的协作

西门子加大投入,加速推进可持续发展