OPC服务器和客户端程序开发指南.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPC服务器和客户端程序开发指南
第一章OPC概述关键词:
Comdcmopcda通信标准CLIENTSERVER GROUP ITEM自定义接口自动化接口同步异步回调随着计算机科学技术、工业控制等方面新技术的飞速发展,计算机监控系统从早期的集中式监控向全分布式方向发展,计算机监控系统软件随着面向对象技术的成熟,分布式对象计算、多级客户机/服务器技术也从早期的功能系统软件,发展成为以特定现场设备为特征的面向对象的监控系统软件。
与此同时,计算机监控系统的规模越来越大,不同厂家生产的现场设备种类也越来越多。由于不同厂家提供的现场设备的通信机制不尽相同,需要由计算机监控系统软件开发的硬件设备通信驱动程序越来越多,导致硬件通信驱动程序需要不断开发的现象。基于COM/DCOM技术的OPC技术提供了统一的通信标准,不同的厂商只要遵循OPC技术标准,就可以实现软硬件的互操作。过程控制技术是专门为过程控制而设计的。它是由一些世界领先的自动化系统和软硬件公司与微软公司密切合作建立的,并成立了一个专门的OPC 基金会来管理它。OPC基金会负责OPC规范的制定和发布。
OPC提出了一套统一的标准,采用典型的客户机/服务器模式。硬件设备的驱动程序由硬件制造商或专业公司完成,为服务器程序提供统一的OPC接口标准。软件制造商只能通过根据OPC标准编写客户端程序来访问(读/写)服务器程序来实现与硬件设备的通信。如图
1.1所示,与传统的通信开发方法相比,OPC技术具有以下优点:
硬件供应商熟悉他们自己的硬件设备,因此设备驱动程序更加可靠和高效。
软件制造商可以缩短复杂设备驱动程序的开发周期,只需要开发一套符合OPC标准的程序来实现与硬件设备的通信,这样就可以投入人力和物力来改善系统功能。可以实现软件和硬件的互操作性。OPC区分了软件和硬件制造商,大大提高了双方的工作效率。图1.1应用前后的OPC技术对比因此,OPC技术的出现得到了众多软硬件制造商的支持,并且发展迅速。自1997年9月OPC DA1.0标准发布以来,OPC标准已经被大多数工业控制领域的厂商所接受,经过多年的发展,已经成为工业控制软件的技术标准。目前,OPC规范主要包括数据访问、报警和事件、历史数据访问等。此外,随着OPC 技术与企业整体信息系统集成需求的日益迫切,对OPC技术的跨平台性能和互联网特性提出了更高的要求。为此,OPC基金会开始制定一系列基于XML的新标准。OPC基金会于3月在XXXX正式发布了OPC XML-DA规范,12月在XXXX正式发布了OPC XML-DA1.01规范,为OPC进一步提高工业控制系统的互操作性开启了新的篇章。本书仅以符合数据采集规范的OPC服务器和客户端程序为例介绍OPC技术,但没有介绍其他规范的OPC技术。1.1 OPC 技术的精髓——COM/DCOM随着计算机网络技术的发展,计算机监控系统也普遍采用分布式结构,因此系统的异构性是一个非常显著的特征。OPC技术实质上采用了微软的COM/DCOM(组件对象模型/分
布式组件对象模型)技术。组件技术主要用于实现软件复用和互操作。它还为基于windows的程序提供了统一省略部分g (myerrors (1))退出子错误生成器: msgboxer . description chr(13)_ out text,vbcritical。“错误”结束子私有子命令_ exit _ click () @ #停止,删除项目,删除组,删除服务器。调暗输出为字符串出错转到错误处理程序命令_开始。已启用=真命令_读取。已启用=错误命令_写入。已启用=假命令_退出。enabled=False OutText=' delete object ' setitem obj=nothing server bj . OPC groups . removeallsetgroup obj=nothing server bj . disconnect setserver bj=nothing g Exit Sub ErrorHandler : MSgBox错误。描述Chr(13) _ OutText,vbCritical,“错误”结束子私有函数GetQualityText(质量) 作为字符串选择案例质量案例0: GetQualityText='坏'案例64: GetQualityText='不确定'案例192: GetQualityText='好'案例8: GetQualityText='未连接'案例13: GetQualityText='设备_故障'案例16: GetQualityText='传感器_故障'案例20: GetQ ualityText='最后_已知'案例24333660 双击以删除页眉和页脚。谢谢!简单的教科书内容不能满足学生的需要。教育中常见的问题是教大脑的人不使用手,不使用手的人使用大脑,所以他们什么也做不了。教育革命的对策是手脑联盟。因此,双手和大脑的力量都是不可思议的。单词模型