ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:27.50KB ,
资源ID:3560613      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3560613.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(VB编写OPC客户端程序.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

VB编写OPC客户端程序.doc

1、如何用VB编写OPC客户端程序一、引言在工业自动化领域,计算机早已成为必不可少的工具,计算机技术的不断发展,大大加速了工业自动化技术的进步,而各种各样的工业控制应用软件正是具体实现这一进程的最重要的工具。以往,应用软件开发商要为每一种硬件开发驱动程序,由于硬件的种类繁多,特征各异,软件开发商的负担异常繁重,尤其是如果硬件特征发生了变化,整个应用软件相应的驱动程序也要相应地修改,这对软件开发商,对整个工程都是很不利的。而且由于驱动程序的不统一,不同应用程序访问同一硬件设备时常常发生冲突。OPC(OLE for Process Control)技术标准正是在这种情况下产生的。OPC基于微软的OLE

2、、COM和DCOM技术,而且它本身就是一种特殊的COM,也正因为有微软的参与,以及以已经成熟的技术为基础,它比一般的工业标准制定的效率更高,它从开始制定到第一个可运行的规范开始运行,只用了不到一年的时间。二、OPC原理及应用OPC技术为工业自动化软件面向对象的开发提供了统一的标准。它大大减轻了软件开发商的负担,软件开发商不必再为每一硬件单独编写驱动程序,只要硬件的特征符合统一的OPC接口程序标准,或者硬件生产商提供OPC服务器,如图一所示,不同的应用软件开发商都可以采用OPC标准设计工控软件,以标准规定的统一接口通过OPC服务器存取现场数据。这样,当现场设备发生变化或系统中加入新设备时,OPC

3、服务器的提供商需要重新实现服务器接口,以适应硬件的变化,但由于服务器所提供的接口的一致性,工控软件不作更改即可继续使用,只是某些情况下可能需要重新组态(如添加新的PLC站点等),这样,软件开发商可以节省大量的时间致力于工控软件的性能方面的提高,不必再考虑硬件变化带来的影响,大大减小了软件维护的工作量。这正如OPC规范里所说,OPC将应用软件和硬件设备划清了界限。2.1 OPC基本结构OPC服务器有两类接口:定制接口(Custom Interface)、自动化接口(Automation Interface),定制接口比较低级,它提供更多的功能,效率也比后者高,可以用C+语言调用此类接口,自动化接

4、口主要用于VB、DELPHI等开发工具。按照OPC规范,定制接口是服务商必须提供的,而自动化接口则是可选的,不过,OPC基金会(管理OPC标准的国际组织)提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。如图二所示:在OPC的早期规范里主要包括OPC数据存取规范、OPC报警和事件、OPC历史数据存取规范。OPC数据存取规范详细规定了客户程序和服务器程序进行数据通信的机制,其它类型的OPC服务器往往是在数据存取服务器的基础上通过增加对象、扩展接口而来的,所以该规范也是其它OPC规范的基础。OPC数据存取规范规定的基本对象有三类:OPC Server、OPC Group和OPC Ite

5、m,OPC Server包含服务器的所有信息,也是OPC Group的容器,OPC Group除了包含它自身信息外,还负责管理OPC Item。它们的结构如图三所示。每一个OPC Item代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对OPC Item直接进行操作,应用程序必须依靠OPC Item的容器OPC Group来对它进行操作,这在下面的程序中会有具体说明。2.2 OPC数据访问方式OPC客户程序对OPC服务器中数据的存取方式分为同步读写方式和异步读写方式。客户程序可按照一定的周期调用OPC Group对象的IOPCSyncIO接口对服务器程序进行数据同步存取操作,此时客

6、户方的调用函数一直运行到所有数据读写完成,然后才能执行其它操作,因此,这种方法适合与读取少量数据,如果数据多的话,会使系统处于假死状态,无法进行操作。IOPCSyncIO2是从3.0版才出现的,是对IOPCSyncIO的增强。IOPCAsyncIO2和IOPCAsyncIO3是异步方式中使用的接口,异步访问时,当客户端对服务器提出访问要求后,立即返回到OPC应用程序执行其它操作,无须等待,当OPC服务器完成数据读取后通知OPC应用程序,应用程序从而得到数据。其中前者是在2.0版本中新定义的,具有较高的通信性能;后者则是在3.0版本中才刚刚出现,同IOPCSyncIO2类似,IOPCAsyncI

7、O3是对IOPCAsyncIO2的增强。在异步方式下,服务器程序收到读请求后,调用客户程序方的IOPCDataCallback接口,将数据发送给客户程序。异步方式中允许服务器将读写操作进行排队,使客户方的调用函数可立刻返回,当服务器读写操作完成后再通知客户程序。显然,异步通报方式的通信效率更高,这种方式也是本文所要讨论的方式,但有多个客户程序与服务器相连时,同步读写方式更具时效性。对于每个组对象,客户程序可根据需要采用其中一种数据存取方式,而不能两者都使用。异步读取还有一种特殊的方式,叫做订阅方式(Subscribe)这种情况下,应用程序不需要发出读请求,OPC服务器在定期更新数据的时候,如果

8、发现数据有一定变化,则自动向应用程序发出通知和传输变化的数据。2.3编写OPC客户端应用程序VB简单实用,是比较理想的OPC应用程序快速开发工具,若要用VB开发OPC应用程序,必须要使用OPC自动化包装器,这在前文已经提过,这种包装器一般由OPC服务器的供应商以DLL形式提供,下面就以SIEMENS提供的sopcdaauto.dll为例,介绍如何开发OPC应用程序,这也正是笔者在最近的工程中实际应用到的,这是基于DA2.0的版本。首先,新建VB工程后,作图四所示的引用:2.3.1建立OPC对象首先申明OPC对象:Option Base 1Dim WithEvents ServerObj As

9、OPCServerOPC Server对象,连接OPC服务器Dim GroupsObj As OPCGroupsOPC Groups对象,添加OPC组Dim WithEvents GroupObj As OPCGroupOPC Group对象Dim ItemsObj As OPCItemsOPC Item集合Dim ServerHandles() As Long服务器端OPC Item的句柄Dim ClientHandles() as Long客户端OPC Item的句柄Dim ItemId(2) As StringDim Errors() As Long接下来,生成各个对象:If Serve

10、rObj Is Nothing Then Set ServerObj = New OPCServer连接OPC服务器If ServerObj.ServerState = OPCDisconnected ThenServerObj.Connect (OPC.SimaticNET) 假设OPC服务器运行在本机End IfIf GroupsObj Is Nothing Then Set GroupsObj = ServerObj.OPCGroupsIf GroupObj Is Nothing Then Set GroupObj = GroupsObj.AddIf ItemsObj Is Nothin

11、g Then Set ItemsObj = GroupObj.OPCItemsGroupObj.IsActive = True设置组为活动状态假设有两个数据源,一个是8位开关量输入,一个是8位开关量输出ItemId(1) = S7:S7 connection_1IB0ItemId(2) = S7:S7 connection_1QB0ClientHandles(1) = 1ClientHandles(2) = 2添加组项目,ServerHandles数组的值为各个OPC Item的服务器句柄, ClientHandles数组的值为各个OPC Item的客户端句柄,由应用程序设定Call Item

12、sObj.AddItems(2, ItemId, ClientHandles, ServerHandles, Errors)2.3.2异步数据读取 OPC Item的服务器句柄,添加OPC Item时由服务器分配Dim TempServerHandles(1) As Long事务标志符,由客户端产生,它包含的信息提供给OnReadComplete事件Dim TransactionID As Long取消标志符,服务器端产生,用于操作需要被取消的时候Dim CancelID As Long包含读取每个OPC Item时返回的信息Dim ErrorNr() As LongTempServerHan

13、dles(1) = ServerHandles(1) 对应第一个OPC ItemGroupObj.AsyncRead 1, TempServerHandles, ErrorNr, TransactionID, CancelID第一个参数是要读的OPC Item的个数,这里只含有一个OPC Item。读取的结果由OPC服务器通过IconnectionPointContainer接口配合IOPCDataCallback接口反调用应用程序的事务处理程序:Private Sub GroupObj_AsyncReadComplete(ByVal TransactionID As Long, ByVal

14、NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date, Errors() As Long)这里的参数ClientHandles和AddItems方法中的ClientHandles是对应的,用于判断哪一个OPC Item在被读取。其它参数的说明如下:TransactionID:客户端自由使用,应用程序开发商自定义;NumItems:表示读取的OPC Item的个数;ItemValues():各个OPC Item连接的数据源的值,类型

15、为Variant;Qualities():OPC Item的品质值;TimeStamps():时间戳;Errors():记录服务器返回的信息。2.3.3异步数据写入Dim TempServerHandles (1) As LongDim VValue(1) As VariantDim ErrorNr() As LongDim TransactionID As LongDim CancelID As LongTempServerHandles(1)=ServerHandles(2)VValue(1)=1假设要将“1”写入ClientHandle为2的OPC ItemGroupObj.AsyncW

16、rite 1,TempServerHandles,VValue, ErrorNr, TransactionID, CancelID同样,AsyncWrite也对应一个事务处理程序:Private Sub groupObj_AsyncWriteComplete(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, Errors() As Long)它的参数的含义和AsuncReadComplete中的含义是类似的,这里一般需要处理的是写数据之后的返回状态,这里不再赘述。2.3.4断开与服务器的连

17、接ItemsObj.Remove ItemsObj.Count,ServerHandles, Errors 清除OPC ItemSet ItemsObj = Nothing释放资源,下同If Not GroupObj Is Nothing ThenGroupsObj.RemoveGroupObj.ServerHandle删除组End IfIf Not GroupsObj Is Nothing ThenSet GroupsObj = NothingEnd IfIf Not ServerObj Is Nothing ThenIf ServerObj.ServerState OPCDisconnected ThenServerObj.Disconnect 断开与服务器的连接End IfSet ServerObj = NothingEnd If三、结束语由于OPC技术的不断发展,现场设备与系统软件的连接越来越方便和灵活,应用程序的制作和升级也越来越简单。正是因为OPC显著的优越性,越来越多的工业硬件制造商开始支持OPC,近年来,除了以前的一些知名大公司,如ABB、西门子等,又有许多公司加入了OPC基金会,随着OPC规范的广泛使用,整个自动化领域必将得到更快的发展。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服