- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OPC服务器的研究及其在CAN总线系统中的实现
导语:?在简要介绍OPC 技术的基础上,描述了OPC服务器的结构及开发步骤,详细讲述了OPC技术在CAN总线系统中的实现 摘 要:在简要介绍OPC 技术的基础上,描述了OPC服务器的结构及开发步骤,详细讲述了OPC技术在CAN总线系统中的实现。关键词:OPC OPC服务器 COM 现场总线1 OPC技术简介 1.1 什么是OPC OPC(OLE for Process Control),即用于过程控制的对象链接与嵌入技术,是一种规范,是在工业控制和生产自动化领域中使用的硬件和软件的接口标准。OPC以组件对象模型和分布式组件对象模型(COM/DCOM)技术为基础,采用客户/服务器(Client/Server)的模式,定义了一组COM对象及其接口标准。 OPC规范是由世界范围内自动化领域中处于领导地位的硬件和软件开发商,在微软的协作下制定的,并且已经得到越来越多的客户和硬件制造商的认可。 1.2 OPC的意义 在传统的控制系统中,针对同一个硬件设备,每个应用软件都要根据自己的需求开发一套硬件驱动程序。这不仅加大了开发和维护费用,而且带来了访问冲突问题。 OPC技术将各个硬件设备驱动程序和通讯程序封装成独立的OPC服务器,上层应用软件(作为OPC客户端)可以不关心硬件的性能特点,而通过标准的OPC接口访问OPC服务器。 这样不仅解决了上述问题,而且实现了软件的“即插即用”。OPC相当于一块软件“主板”,它能够直接与现场的PLC、工业网络、数据采集和Windows CE设备连接,快速有效地获取现场实时数据。PC机内的各种监视、控制和管理等应用软件则像是插在OPC主板上的软件“芯片”,芯片可以通过OPC获得现场实时数据,芯片之间也可以按照OPC协议进行通讯,从而实现软件的“即插即用”。 1.3 OPC对象与接口 OPC的核心是COM/DCOM技术。在COM模型中,软件的功能被分解为一些组件,这些组件通过COM协议在一定条件下连接起来,实现相应的功能。COM对象分为客户端和服务器两类,客户端通过COM接口访问服务器[2]。 OPC数据访问规范描述了OPC服务器需要实现的COM对象及其接口,它定义了定制接口(custom interface)和自动化接口(automation interface)[1]。OPC客户程序通过接口与服务器通讯,间接读取数据。OPC服务器必须实现定制接口,也可以有选择地实现自动化接口。一般来说,自动化接口能为VB等高级语言客户程序提供极大的便利,但数据传输效率较低;而定制接口则为用C/C++语言编写的程序带来灵活高效的调用手段。 OPC客户程序访问服务器时,创建一个服务器对象(这里指的是逻辑对象,目的是利用这个逻辑对象建立与实际服务器的连接),调用这个服务器对象的接口,服务器对象创建组对象并返回组对象的指针,客户程序获得组对象的指针后调用其接口。 注意,OPC项并不是OPC客户直接操作的对象,因为OPC项没有定义外部接口,对象的所有操作都是通过包容该项的组对象进行的。2 OPC数据访问服务器的结构及设计步骤 2.1 OPC数据访问服务器的结构[align=center]图 1 OPC数据访问服务器的结构[/align] 本文实现的OPC数据访问服务器具有数据采集的功能,提供符合OPC规范的定制接口。主要由OPC 服务器对象、OPC 组对象、OPC 项对象和针对CAN(Controller Area Network控制器局域网)通讯卡编写的I/O 动态链接库(DLL)组成,采用如图1所示的结构。 OPC 服务器对象是客户端与服务器交互的首要对象。客户端通过访问服务器对象的接口函数与之进行交互。一个服务器对象里可以设置一个以上的组对象。OPC 服务器对象的主要功能是:①创建和管理OPC 组对象;②管理服务器内部的状态信息;③将服务器的错误代码翻译成描述性语句;④浏览服务器内部的数据组织结构。 OPC 组对象用于组织管理服务器内部的实时数据信息,它是OPC 项对象的集合。正因为有了组对象,OPC应用程序就可以成批地对所需要的数据进行访问,也可以以组为单位启动或停止数据访问。其主要功能是:①管理组对象内部的状态信息;②创建和管理项对象;③OPC服务器内部的实时数据存取服务(同步或异步方式)。 OPC 服务器对象和组对象支持的接口由OPC规范定义,但并未规定具体如何实现,需要开发人员自己完成。 OPC项则与现场设备中的模块相对应,它包含数据项的值(value)、品质(quality)和时间戳(time stamp)。 I/O DLL是针对具体硬
文档评论(0)