工业以太网通讯简介_第1页
工业以太网通讯简介_第2页
工业以太网通讯简介_第3页
工业以太网通讯简介_第4页
工业以太网通讯简介_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1课程设计-软件设计 工业以太网数据交换简介北京科技大学自动化学院2企业信息化网络架构3数据交换问题l工业现场不同的控制系统间数据如何进行通讯?4常用的解决方案lDDE(Dynamic Data Exchange)l设备或软件提供方专有的通信接口lOPC(OLE for Process Control)5OPC的目的l企业信息化网络系统中,从处理设备数据的现场总线层,到进行过程处理的监控层,以至生产管理层,建立一个有效的数据交换工业标准。lOLE: Object Linking and Embedding 对象连接与嵌入lOLE for Process Control6利用驱动程序的数据通讯7

2、利用OPC的数据通讯系统8OPC的历史lOPC标准是由提供工业制造软件的5家公司所组成的OPC工作小组1995年开发的。lFisher-RosementlIntellutionlRockwell SoftWarelIntuitive TechnologylOpto22l微软作为技术顾问给予支持。9OPC的历史l1996年8月完成OPC数据访问标准版本1.0。l1996年9月OPC基金会在美国达拉斯举行第一次理事会,同年10月在美国的芝加哥举行第一次全体大会上正式宣告成立OPC基金会(OPC Foundation)。10OPC的历史l1996年10月成立日本OPC协会。l几乎同时OPC欧洲协会成

3、立。l中国在2001年12月成立了中国OPC促进会,由5家公司组成:lIntellution 公司lNI(中国)公司l西门子(中国)有限公司l爱默生过程管理(中国)公司l北京华富惠通技术有限公司11OPC的历史l目前OPC基金会的理事由如下公司组成:lFisher-RosementlHoneywelllIntellutionlRockwell SoftWarelNational InstrumentlSiements(欧洲代表)l东芝(远东代表)l OPC规范的制定由来自90多家公司的专家参与,并参考了来自200多个合作伙伴的评论意见,所以具有广泛的代表性。12OPC的历史l300家加入OPC

4、标准组织。l600种以上的OPC服务器产品和OPC应用程序产品。l目前大部分HMI软件都带有OPC服务器,和OPC客户程序。如WinCC、iFix、KingVIEW等。13OPC的发展l从国外来看,许多国际知名的控制类公司如:ABB,AspenTech,Eurotherm,Foxboro,Honeywell, National Instruments,Siemens,Toshiba,Johnson-Yokogawa,GE Fanue等相继宣布支持OPC标准,在自己的产品中增加OPC特性,包括为控制应用软件添加OPC客户端的功能,为现场设备提供OPC服务器等,一些公司还提供了OPC服务器的开发工

5、具软件。14OPC的发展l在国内,OPC技术作为一项工业标准也正在得到逐步的推广和应用,特别是近年来引起了广泛的关注。l在应用方面,中科院沈阳自动化研究所在开发新一代分布式控制系统时就采用了OPC技术,实现了上层应用软件通过OPC服务器访问现场设备信息的功能,同时,己经开发出了OPC数据服务器的开发工具软件 SmartOPC2.0版。还有其他一些公司也开发自己的开发工具软件,例如拓林、安捷尔、林柯、华富惠通。另外其他一些工控软件公司也充分利用OPC技术增强和扩展其软件功能,例如组态王、三维力控等等。15OPC标准16OPC简介l微软公司的组件对象模型(Component Object Mode

6、l COM )技术。其特点是:lCOM是两个软件组件间数据交换的一种机制,而不管这两个软件使用什么语言开发的;lCOM服务器:提供数据的数据源,根据COM客户的要求提供COM服务;lCOM客户程序:数据的使用者。17OPC简介lDCOM(Distributed Component Object Model)分布式COM技术。18OPC简介lCOM技术的出现为控制设备与设备之间、控制设备与控制管理系统之间的数据交换提供了一种简单的实现方式。l但如果没有一个工业标准化的COM接口,各设备厂家开发的COM组件间的连接依然困难。lOPC是作为工业标准定义的特殊的COM接口。19OPC好处l设备开发者:

7、可以使设备驱动程序单一化。l应用软件开发者:可以使用通用的开发工具,不必特别开发接口,使设备接口的开发简单易行。l用户:可以使用各种商业软件包,降低系统构成的成本。同时可以方便的使用不同设备厂商的设备。20OPC好处l在OPC技术出现前,DDE在控制系统中使用最多的数据交换技术。DDE是基于Windows的消息传递建立的技术,所以DDE技术存在以下问题。l数据的传送速度较慢;l没有安全机制;l开发困难;l功能缺乏柔软性;l可靠性难令人满意。21OPC好处l与DDE相比OPC有如下的优越性:l高速的数据传送性能;l基于分布式COM的安全管理机制;l开发成本降低;l可以实现高度柔软性的系统;l高可

8、靠性。22OPC好处23OPC问题?lCOM程序设计的难度较大,是否给OPC的应用带来困难?lOPC服务器的设计确实需要深入理解和掌握COM技术,但目前有许多开发工具包,可以不需要多少COM知识的情况下开发OPC服务器。l客户端的程序开发同样不需要太多的COM知识。l大多数应用软件都带有OPC接口。24OPC的应用领域数据采集数据采集软件:软件:历史数据访问历史数据访问:OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。报警和事件处理报警和事件处理:OPC能够更好地捕捉控制过程中的各种报警和事件并给予相应的处理。25OPC的应用领域数据冗余技术数

9、据冗余技术:OPC技术的使用可以更加方便地实现软件冗余,而且具有较好的开放性和可互操作性。远程数据访问:远程数据访问:利用Mierosoft的DCOM技术,OPC实现了高性能的远程数据访问能力。26OPC同步数据访问处理27OPC异步数据访问处理28OPC订阅方式数据采集29使用VB开发OPC应用程序lOPC应用程序首先生成OPC服务器支持的OPC对象,然后可以使用OPC对象支持的属性和方法对其进行操作。l一个OPC程序可以和多个OPC服务器连接。30OPC对象l在Visual Basic里,是以对象的单位对OPC服务器进行访问。OPC自动化接口是由以下四种对象所定义。l OPC服务器l OP

10、C组(OPC组集合)l OPC标签(OPC标签集合)l OPC浏览器 31开发OPC应用程序的步骤l建立一个VB工程;l在工程中注册OPC的DLLl选择菜单Project/References;l得到References窗口;l在Available References列表中选中OPC Automation 2.0;l单击OK按钮。32开发OPC应用程序的步骤lOption Base 1lOption Explicitl建立OPC对象-声明变量lDim WithEvents objServer As OPCServerlDim objGroups As OPCGroupslDim WithEv

11、ents objTestGrp As OPCGroup lDim objItems As OPCItemslDim lServerHandles() As Long33开发OPC应用程序的步骤l定义变量定义变量lDim lTransID_Rd As LonglDim lCancelID_Rd As LonglDim lTransID_Wt As LonglDim lCancelID_Wt As Long34开发OPC应用程序的步骤l连接OPC服务器:lSub Connect(strProgID As String, Optional strNode As String) l If objSer

12、ver Is Nothing Thenl 建立一个OPC服务器对象l Set objServer = New OPCServerl End Ifl If objServer.ServerState = OPCDisconnected Thenl 连接OPC服务器l objServer.Connect strProgID, strNodel End If35开发OPC应用程序的步骤l If objGroups Is Nothing Thenl 建立一个OPC组集合l Set objGroups = objServer.OPCGroupsl End Ifl l If objTestGrp Is N

13、othing Thenl 添加一个OPC组l Set objTestGrp = objGroups.Add(TestGrp)l End Ifl lEnd Sub36开发OPC应用程序的步骤l添加OPC标签:lSub AddItem()l Dim strItemIDs(8) As Stringl Dim lClientHandles(8) As Longl Dim lErrors() As Longl Dim I As Integerl If objTestGrp Is Nothing Thenl Exit Subl End If37开发OPC应用程序的步骤l If Not objItems I

14、s Nothing Thenl If objItems.Count 0 Thenl Exit Subl End Ifl End Ifl 设置组活动状态l If DataChgChk.Value = vbChecked Thenl objTestGrp.IsActive = Truel Elsel objTestGrp.IsActive = Falsel End If38开发OPC应用程序的步骤l 启动组非同期通知l objTestGrp.IsSubscribed = Truel 建立OPC项集合l Set objItems = objTestGrp.OPCItemsl 生成从TAG1到TAG8

15、的项标识符l For I = 1 To 8l strItemIDs(I) = USTB_AUTO.Simulation0000 & Il lClientHandles(I) = Il Nextl 添加OPC项l Call objItems.AddItems(8, strItemIDs, _l lClientHandles, lServerHandles, lErrors)lEnd Sub39开发OPC应用程序的步骤l断开OPC服务器:lSub Disconnect()lDim lErrors() As Longl If Not objItems Is Nothing Thenl If

16、objItems.Count 0 Thenl 清除OPC项l objItems.Remove 8, lServerHandles, lErrorsl End Ifl Set objItems = Nothingl End If40开发OPC应用程序的步骤l If Not objTestGrp Is Nothing Thenl 清除OPC组l objGroups.Remove TestGrpl Set objTestGrp = Nothingl End Ifl l If Not objGroups Is Nothing Thenl Set objGroups = Nothingl End If4

17、1开发OPC应用程序的步骤lIf Not objServer Is Nothing Thenl If objServer.ServerState OPCDisconnected Thenl 断开OPC服务器.l objServer.Disconnectl End Ifl l Set objServer = Nothingl End If lEnd Sub42开发OPC应用程序的步骤l读OPC服务器的数据lSub AsyncRead()l Dim lErrors() As Longl If objTestGrp Is Nothing Thenl Exit Subl End If43开发OPC应用

18、程序的步骤l If objTestGrp.OPCItems.Count 0 Thenl 非同期读取l lTransID_Rd = lTransID_Rd + 1l objTestGrp.AsyncRead 8, lServerHandles, _l lErrors, lTransID_Rd, lCancelID_Rdl End IflEnd Sub44开发OPC应用程序的步骤l数据变化处理lPrivate Sub objTestGrp_DataChange( _l ByVal TransactionID As Long, ByVal NumItems As Long, _l ClientHan

19、dles() As Long, ItemValues() As Variant, _l Qualities() As Long, TimeStamps() As Date)l Dim strBuf As Stringl Dim nWidth As Integerl Dim nHeight As Integerl Dim nDrawHeight As Integerl Dim sglScale As Singlel Dim I As Integerl Dim index As Integer45开发OPC应用程序的步骤l 棒图的表示l For I = 1 To NumItemsl 数据的格式化l

20、 strBuf = Format(ItemValues(I), #.000)l 得到客户标识符l index = ClientHandles(I)l 表示数据字符串l lbBar(index).Caption = strBuf46开发OPC应用程序的步骤l 计算棒的宽和高l nWidth = picBar(index).ScaleWidthl nHeight = picBar(index).ScaleHeightl sglScale = ItemValues(I) / 100l nDrawHeight = CInt(nHeight * sglScale)l 清除现棒图l picBar(index).Clsl 绘制棒图l picBar(index).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), RGB(255, 0, 0), BFl NextlEnd Sub47OPC应用程序演示48课程设计-软件设计l目标:掌握常用开发软件(VB)读取数据采集卡中数据的方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论