《如何通过OPC Client与世纪星交互.docx》由会员分享,可在线阅读,更多相关《如何通过OPC Client与世纪星交互.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如何通过OPCClient与世纪星交互zhangting导语:OPC的出现为基于Windows的应用程序和现场经过控制应用建立了桥梁。1OPC简介OPC是OLEforProcessControl的缩写,即把OLE技术应用于工业控制领域。OPC的出现为基于Windows的应用程序和现场经过控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了宏大的工作负担。通常这样也不能知足工作的实际需要,系统集成商和开发商急迫需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程
2、序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE2技术,OLE标准允很多台微机之间交换文档、图形等对象。OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器形式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,进而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口,OLE自动化
3、标准接口。通常在系统设计中采用OLE自动化标准接口,OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了下面三层接口,依次呈包含关系:1OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPCGroup类对象。2OPCGroup:存储由若干OPCItem组成的Group信息,并用于返回OPCItem类对象。3OPCItem:存储详细Item的定义、数据值、状态值等信息。2采用OPC规范设计系统的优势1OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因而能够将各个子系统
4、从物理上分开,分布于网络的不同节点上。2OPC根据面向对象的原则,将一个应用程序OPC服务器作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,进而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。3OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及使得系统的应用范围更广。4采用OPC规范,便于系统的组态化,将系统复杂性大大简化,能够大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。5OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,进而实现系统的开放性,易于实现与其它系统的接
5、口。3使用VB6.0编写OPCClient访问世纪星世纪星同时提供OPCClient和OPCServer两种功能,想要通过OPC方式和世纪星交换数据,必需要编写OPCClient和OPCServer其中的任意一种。由于编写OPCServer程序具有一定难度,所以我们建议工程技术人员开发OPCClient来和世纪星的OPCServer交互。1世纪星工程使用OPCClient访问世纪星是不需要在世纪星中做任何特殊配置的,我们在世纪星中创立如下类型变量。在应用程序命令语言中让这些变量发生变化。图1变量列表图2应用程序命令语言脚本图3世纪星运行画面2VB6.0编写OPCClientA、脚本Option
6、ExplicitDimWithEventsopcSvrAsOPCServerDimWithEventsopcGrpAsOPCGroupDimopcItm(3)AsOPCItemDimopcIntAsVariantDimopcInfoAsVariantDimopcDscAsVariantDimvAsVariantDimqAsVariantDimtAsVariantPrivateSubcmdConnect_Click()OnErrorGoToedIfopcSvrIsNothingThenSetopcSvr=NewOPCServeropcSvr.ConnectCenturyStar.OPCServe
7、r,txtIP.TextopcSvr.OPCGroups.DefaultGroupUpateRate=50SetopcGrp=opcSvr.OPCGroups.Add(Group)SetopcItm(0)=opcGrp.OPCItems.AddItem(opcInt,1)SetopcItm(1)=opcGrp.OPCItems.AddItem(opcInfo,2)SetopcItm(2)=opcGrp.OPCItems.AddItem(opcDsc,3)SetopcItm(3)=opcGrp.OPCItems.AddItem(opcFlt,4)IfopcSvr.ServerState=1The
8、nMsgBoxopc服务器已连接!,vbOKOnly,提示:tmrRun.Enabled=TruecmdConnect.Enabled=FalsecmdDisConnect.Enabled=TrueElseMsgBoxopc服务器连接错误!,vbOKOnly,提示:EndIfed:EndSubPrivateSubcmdDisConnect_Click()OnErrorGoToedtmrRun.Enabled=FalseopcSvr.OPCGroups.RemoveAllopcSvr.DisconnectSetopcSvr=NothingcmdDisConnect.Enabled=Falsecm
9、dConnect.Enabled=Trueed:EndSubPrivateSubForm_Unload(CancelAsInteger)OnErrorGoToedcmdDisConnect_Clicked:EndEndSubPrivateSubtmrRun_Timer()OnErrorGoToedtmrRun.Enabled=FalseIfopcSvr.ServerStateThenopcItm(0).Read1,v,q,ttxtInt.Text=vopcItm(1).Read1,v,q,ttxtInfo.Text=vopcItm(2).Read1,v,q,ttxtDsc.Text=vopcI
10、tm(3).Read1,v,q,ttxtFlt.Text=vEndIftmrRun.Enabled=Trueed:EndSubB、画面图4OPCClient界面3示例讲明A、使用OPC之前可能需要安装OPCDataAccess2.0Components。B、联网运行需要配置DCOM,配置的具体情节请参考世纪星帮助或世纪星安装光盘中的(世纪星OPCServer配置指南)。C、本例只演示从世纪星中读取数据,读者可自行研究回写数据的例子。4世纪星OPCServer配置指南由于WindowsXPSP2操作系统的安全特性非常高,所以配置也相对其他系统而言是最复杂的。下面以WindowsXPSP2操作系统
11、为例来讲明CenturyStarOPCServer的配置方法。1)CenturyStarOPCServer的安装在安装CenturyStar的经过中,CenturyStarOPCServer和OPC的核心组件会自动被安装到计算机上。安装成功后,计算机上会注册有一个服务器:CenturyStar.OPCServer。2)Windows安全性配置1防火墙第一种方法是关闭防火墙。在控制面板中打开Windows防火墙,在“常规页面中选择关闭。第二种方法是不关闭防火墙,添加一个例外到防火墙并开放DCOM端口。在控制面板中打开安全中心,选择Windows防火墙,在“例外页面中选择添加程序。需要“添加的程序
12、有MicrosoftManagementConsole(即:mmc.exe,目录:C:WindowsSystem32),OPCServer.exe(目录:C:CenturyStar),OPCClient.exe(目录:C:CenturyStar),OPCEnum.exe(目录:C:WindowsSystem32)。选择“添加端口,名称:DCOM,端口:135,类型:TCP。2启用文件分享在控制面板中打开网络安装向导,在“文件和打印机分享页面选择启用。3DCOM配置在开场菜单中选择“运行,输入dcomcnfg,回车。打开“组件服务计算机,右键“我的电脑属性,在“默认属性页面,“在此计算机上启用分
13、布式COM上打勾;“默认身份级别选择无,“默认模拟级别选择标识;在“默认协议页面,将“面向连接的TCP/IP移到最上方;在“COM安全页面里,“访问权限中“编辑限制添加Everyone并附给所有权限,附给AnonymousLogon所有权限,“编辑默认值添加Everyone并附给所有权限,附给System所有权限;“启动和激活权限中“编辑限制添加Everyone并附给所有权限,“编辑默认值添加Everyone并附给所有权限,附给Interactive,System所有权限。展开我的电脑DCOM配置,选择CenturyStar.OPCServer,“常规页面“身份验证选择无;“位置页面“在此计算机运行应用程序上打勾;“安全页面在“配置权限中添加Everyone并附给所有权限,附给System所有权限;在“标识页面中选择“交互式用户。OPCEnum的DCOM配置参考CenturyStar.OPCServer。注意:配置完必须重起计算机才能生效,客户机可配置参考服务器配置。5小结假如需要世纪星和第三方软件通讯尽量使用OPC方式,这种方式的优点是效率较高,容易实现网络连接。0