版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1课程设计-软件设计 工业以太网数据交换简介北京科技大学自动化学院2企业信息化网络架构3数据交换问题工业现场不同的控制系统间数据如何进行通讯?4常用的解决方案DDE(Dynamic Data Exchange)设备或软件提供方专有的通信接口OPC(OLE for Process Control)5OPC的目的企业信息化网络系统中,从处理设备数据的现场总线层,到进行过程处理的监控层,以至生产管理层,建立一个有效的数据交换工业标准。OLE: Object Linking and Embedding 对象连接与嵌入OLE for Process Control6利用驱动程序的数据通讯7利用OPC的数
2、据通讯系统8OPC的历史OPC标准是由提供工业制造软件的5家公司所组成的OPC工作小组1995年开发的。Fisher-RosementIntellutionRockwell SoftWareIntuitive TechnologyOpto22微软作为技术顾问给予支持。9OPC的历史1996年8月完成OPC数据访问标准版本1.0。1996年9月OPC基金会在美国达拉斯举行第一次理事会,同年10月在美国的芝加哥举行第一次全体大会上正式宣告成立OPC基金会(OPC Foundation)。10OPC的历史1996年10月成立日本OPC协会。几乎同时OPC欧洲协会成立。中国在2001年12月成立了中国
3、OPC促进会,由5家公司组成:Intellution 公司NI(中国)公司西门子(中国)有限公司爱默生过程管理(中国)公司北京华富惠通技术有限公司11OPC的历史目前OPC基金会的理事由如下公司组成:Fisher-RosementHoneywellIntellutionRockwell SoftWareNational InstrumentSiements(欧洲代表)东芝(远东代表) OPC规范的制定由来自90多家公司的专家参与,并参考了来自200多个合作伙伴的评论意见,所以具有广泛的代表性。12OPC的历史300家加入OPC标准组织。600种以上的OPC服务器产品和OPC应用程序产品。目前大
4、部分HMI软件都带有OPC服务器,和OPC客户程序。如WinCC、iFix、KingVIEW等。13OPC的发展从国外来看,许多国际知名的控制类公司如:ABB,AspenTech,Eurotherm,Foxboro,Honeywell, National Instruments,Siemens,Toshiba,Johnson-Yokogawa,GE Fanue等相继宣布支持OPC标准,在自己的产品中增加OPC特性,包括为控制应用软件添加OPC客户端的功能,为现场设备提供OPC服务器等,一些公司还提供了OPC服务器的开发工具软件。14OPC的发展在国内,OPC技术作为一项工业标准也正在得到逐步的
5、推广和应用,特别是近年来引起了广泛的关注。在应用方面,中科院沈阳自动化研究所在开发新一代分布式控制系统时就采用了OPC技术,实现了上层应用软件通过OPC服务器访问现场设备信息的功能,同时,己经开发出了OPC数据服务器的开发工具软件 SmartOPC2.0版。还有其他一些公司也开发自己的开发工具软件,例如拓林、安捷尔、林柯、华富惠通。另外其他一些工控软件公司也充分利用OPC技术增强和扩展其软件功能,例如组态王、三维力控等等。15OPC标准16OPC简介微软公司的组件对象模型(Component Object Model COM )技术。其特点是:COM是两个软件组件间数据交换的一种机制,而不管这
6、两个软件使用什么语言开发的;COM服务器:提供数据的数据源,根据COM客户的要求提供COM服务;COM客户程序:数据的使用者。17OPC简介DCOM(Distributed Component Object Model)分布式COM技术。18OPC简介COM技术的出现为控制设备与设备之间、控制设备与控制管理系统之间的数据交换提供了一种简单的实现方式。但如果没有一个工业标准化的COM接口,各设备厂家开发的COM组件间的连接依然困难。OPC是作为工业标准定义的特殊的COM接口。19OPC好处设备开发者:可以使设备驱动程序单一化。应用软件开发者:可以使用通用的开发工具,不必特别开发接口,使设备接口的
7、开发简单易行。用户:可以使用各种商业软件包,降低系统构成的成本。同时可以方便的使用不同设备厂商的设备。20OPC好处在OPC技术出现前,DDE在控制系统中使用最多的数据交换技术。DDE是基于Windows的消息传递建立的技术,所以DDE技术存在以下问题。数据的传送速度较慢;没有安全机制;开发困难;功能缺乏柔软性;可靠性难令人满意。21OPC好处与DDE相比OPC有如下的优越性:高速的数据传送性能;基于分布式COM的安全管理机制;开发成本降低;可以实现高度柔软性的系统;高可靠性。22OPC好处23OPC问题?COM程序设计的难度较大,是否给OPC的应用带来困难?OPC服务器的设计确实需要深入理解
8、和掌握COM技术,但目前有许多开发工具包,可以不需要多少COM知识的情况下开发OPC服务器。客户端的程序开发同样不需要太多的COM知识。大多数应用软件都带有OPC接口。24OPC的应用领域数据采集软件:历史数据访问:OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。报警和事件处理:OPC能够更好地捕捉控制过程中的各种报警和事件并给予相应的处理。25OPC的应用领域数据冗余技术:OPC技术的使用可以更加方便地实现软件冗余,而且具有较好的开放性和可互操作性。远程数据访问:利用Mierosoft的DCOM技术,OPC实现了高性能的远程数据访问能力。26
9、OPC同步数据访问处理27OPC异步数据访问处理28OPC订阅方式数据采集29使用VB开发OPC应用程序OPC应用程序首先生成OPC服务器支持的OPC对象,然后可以使用OPC对象支持的属性和方法对其进行操作。一个OPC程序可以和多个OPC服务器连接。30OPC对象在Visual Basic里,是以对象的单位对OPC服务器进行访问。OPC自动化接口是由以下四种对象所定义。 OPC服务器 OPC组(OPC组集合) OPC标签(OPC标签集合) OPC浏览器 31开发OPC应用程序的步骤建立一个VB工程;在工程中注册OPC的DLL选择菜单Project/References;得到References
10、窗口;在Available References列表中选中OPC Automation 2.0;单击OK按钮。32开发OPC应用程序的步骤Option Base 1Option Explicit建立OPC对象-声明变量Dim WithEvents objServer As OPCServerDim objGroups As OPCGroupsDim WithEvents objTestGrp As OPCGroup Dim objItems As OPCItemsDim lServerHandles() As Long33开发OPC应用程序的步骤定义变量Dim lTransID_Rd As L
11、ongDim lCancelID_Rd As LongDim lTransID_Wt As LongDim lCancelID_Wt As Long34开发OPC应用程序的步骤连接OPC服务器:Sub Connect(strProgID As String, Optional strNode As String) If objServer Is Nothing Then 建立一个OPC服务器对象 Set objServer = New OPCServer End If If objServer.ServerState = OPCDisconnected Then 连接OPC服务器 objSer
12、ver.Connect strProgID, strNode End If35开发OPC应用程序的步骤 If objGroups Is Nothing Then 建立一个OPC组集合 Set objGroups = objServer.OPCGroups End If If objTestGrp Is Nothing Then 添加一个OPC组 Set objTestGrp = objGroups.Add(TestGrp) End If End Sub36开发OPC应用程序的步骤添加OPC标签:Sub AddItem() Dim strItemIDs(8) As String Dim lCli
13、entHandles(8) As Long Dim lErrors() As Long Dim I As Integer If objTestGrp Is Nothing Then Exit Sub End If37开发OPC应用程序的步骤 If Not objItems Is Nothing Then If objItems.Count 0 Then Exit Sub End If End If 设置组活动状态 If DataChgChk.Value = vbChecked Then objTestGrp.IsActive = True Else objTestGrp.IsActive =
14、False End If38开发OPC应用程序的步骤 启动组非同期通知 objTestGrp.IsSubscribed = True 建立OPC项集合 Set objItems = objTestGrp.OPCItems 生成从TAG1到TAG8的项标识符 For I = 1 To 8 strItemIDs(I) = USTB_AUTO.Simulation0000 & I lClientHandles(I) = I Next 添加OPC项 Call objItems.AddItems(8, strItemIDs, _ lClientHandles, lServerHandles, lErro
15、rs)End Sub39开发OPC应用程序的步骤断开OPC服务器:Sub Disconnect()Dim lErrors() As Long If Not objItems Is Nothing Then If objItems.Count 0 Then 清除OPC项 objItems.Remove 8, lServerHandles, lErrors End If Set objItems = Nothing End If40开发OPC应用程序的步骤 If Not objTestGrp Is Nothing Then 清除OPC组 objGroups.Remove TestGrp Set o
16、bjTestGrp = Nothing End If If Not objGroups Is Nothing Then Set objGroups = Nothing End If41开发OPC应用程序的步骤If Not objServer Is Nothing Then If objServer.ServerState OPCDisconnected Then 断开OPC服务器. objServer.Disconnect End If Set objServer = Nothing End If End Sub42开发OPC应用程序的步骤读OPC服务器的数据Sub AsyncRead() D
17、im lErrors() As Long If objTestGrp Is Nothing Then Exit Sub End If43开发OPC应用程序的步骤 If objTestGrp.OPCItems.Count 0 Then 非同期读取 lTransID_Rd = lTransID_Rd + 1 objTestGrp.AsyncRead 8, lServerHandles, _ lErrors, lTransID_Rd, lCancelID_Rd End IfEnd Sub44开发OPC应用程序的步骤数据变化处理Private Sub objTestGrp_DataChange( _
18、ByVal TransactionID As Long, ByVal NumItems As Long, _ ClientHandles() As Long, ItemValues() As Variant, _ Qualities() As Long, TimeStamps() As Date) Dim strBuf As String Dim nWidth As Integer Dim nHeight As Integer Dim nDrawHeight As Integer Dim sglScale As Single Dim I As Integer Dim index As Inte
19、ger45开发OPC应用程序的步骤 棒图的表示 For I = 1 To NumItems 数据的格式化 strBuf = Format(ItemValues(I), #.000) 得到客户标识符 index = ClientHandles(I) 表示数据字符串 lbBar(index).Caption = strBuf46开发OPC应用程序的步骤 计算棒的宽和高 nWidth = picBar(index).ScaleWidth nHeight = picBar(index).ScaleHeight sglScale = ItemValues(I) / 100 nDrawHeight = CInt(nHeight * sglScale) 清除现棒图 picBar(index).Cls 绘
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宜宾市叙州区妇幼保健计划生育服务中心招聘备考题库及完整答案详解一套
- 生成式AI在初中生物教研活动中的应用与互动策略教学研究课题报告
- 2026年内江高新园区管理有限责任公司面向社会公开招聘工作人员的备考题库(含答案详解)
- 2026年济南事业单位公开招聘129人备考题库及答案详解(考点梳理)
- 温州市公用事业发展集团有限公司2025年面向社会公开招聘(第三批)备考题库及答案详解一套
- 景德镇市消防救援支队2025年第二批政府专职消防员招聘备考题库及一套答案详解
- 2026年中国(黑龙江)自由贸易试验区哈尔滨片区管理局招聘备考题库及完整答案详解1套
- 2026年北京经济技术开发区教育领域面向应届毕业生公开招聘聘任制教师备考题库及答案详解一套
- 2026年文法学院招聘MPA教学秘书备考题库及答案详解1套
- 2026年中山市东区中学公开招聘地理专任教师备考题库及答案详解1套
- 2025-2026学年北师大版五年级数学上册(全册)知识点梳理归纳
- 2021年广东省广州市英语中考试卷(含答案)
- 2025年警考申论真题及答案大全
- 健康管理师考试题库及答案题库大全
- 雨课堂学堂云在线《中国传统艺术-篆刻、书法、水墨画体验与欣赏(哈工 )》单元测试考核答案
- 合格考前一天的课件
- 宿舍心理信息员培训
- 2025北京市实验动物上岗证试题及答案
- 铁路车皮装卸合同范本
- 2025国家粮食储备局考试真题与答案
- 建筑与市政工程无障碍规范详细解读
评论
0/150
提交评论