logo资料库

基于OPC技术的PC与S7-300PLC的实时通信.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
中国科技论文在线 http://www.paper.edu.cn 基于 OPC 技术的 PC 与 S7-300PLC 的实时通 信# 权国通,周斌* (中国矿业大学机电工程学院,江苏 徐州 221008) 摘要:本文主要介绍了 OPC 技术,分析了 OPC 对象的结构,以采煤机远程控制系统为例,采 用西门子 OPC 自定义接口,使用 c#语言编写客户端通信程序,实现 PC 机与 S7-300PLC 之间 的数据通信。实验结果表明,采用 OPC 技术能够快速,稳定的获得 S7-300PLC 的实时数据。 关键词:OPC 技术;数据访问;PC 中图分类号:TP393 文献标识码:A Real-time Communication between PC and S7-300PLC Based on OPC Technology Quan Guotong, Zhou Bin (College of Mechanical and Electronic Engineering of CUMT,JiangSu XuZhou 221008) Abstract: This paper introduces OPC technology, analyzes the structure of the OPC object. Take Shearer remote control system as a example, using Siemens OPC custom interface, use the c# language client communications programs to achieve real-time communication between PC and S7-300PLC. Experiment results show that it is fast and stable to access real-time S7-300PLC data using OPC technology. Keywords:OPC technology;Data Access;PC 0 引言 西门子 S7-300/400 PLC 通信接口只有多点接口 MPI 和分布式外设接口 DP,分别使用 MPI 协议和 Profibus 协议。但是这两种协议都不公开, 使得该系列 PLC 与 PC 机通信实现 变得困难[1]。因此采煤机远程监控系统中,如何采集数量和种类不断增多的现场信息以及解 决通信兼容是其关键技术之一。由于不同的厂商提供的协议不同,甚至同一厂商的不同类型 设备和计算机通信的协议也不相同[2]。在计算机系统中,不同的编程语言对驱动程序的接口 有不同的要求,所以每一个客户的应用程序在从数据源读取数据时,由于软件或硬件的不一 致性,对于不同的设备都要开发不同的驱动程序,这就导致了软件开发商的大量重复性劳动 [3],并且由于可能存在多个应用程序同时访问同一设备带来访问冲突,导致系统崩溃。OPC 技术的出现,很好的解决这一问题。 1 OPC 技术 OPC 建立在 OLE 规范之上,它为工业控制领域提供了一种标准的数据访问机制。OPC 规范包括 OPC 服务器和 OPC 客户端两个部分,其实质是在硬件供应商和软件开发商之间建 立了一套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应 商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过 程。 基金项目:国家“863”高技术计划重点资助项目:(2008AA062202) 作者简介:权国通(1987-),男,在校硕士研究生,机械设计及理论. E-mail: qgt555@163.com - 1 -
中国科技论文在线 1.1 OPC 规范 http://www.paper.edu.cn OPC 规范主要包括:DA (Data Access) 规范、AE(Alarm and Event) 规范、HAD (History data access) 规范、Batch 规范、Security 规范以及 XML - DA 规范等。目前应用最为广泛 的是 OPCDA 规范,该规范提供了服务器和客户端之间实时数据的存取方法[4]。 1.2 OPC 主要包含两种接口 OPC 主要包含两种接口:CUSTOM 标准接口和 OLE 自动化标准接口。自定义接口是一 组 COM 接口,主要采用 C++语言的应用程序开发。自动化接口是一组 OLE 接口,主要采 用 VB, DELPHI, Excel 等基于脚本编程语言的应用程序开发[5,6]。本采用 c#语言进行开发。 1.3 OPC 数据访问方式 OPC 客户端与OPC 服务器交互包括两个方面:一个是客户端程序从服务器读取数据;一 个是客户端向服务器写入数据. 客户端程序读取数据有四种基本方法:同步读、异步读、订阅 和刷新;客户端向服务器写数据有两种方式:同步写和异步写. 也就是说,OPC 服务器与 OPC 客户端的交互存在 4 种方式:同步、异步、订阅和刷新[2]。 同步通讯时,OPC 客户端向 OPC 服务器进行请求时,OPC 客户端必须等到 OPC 服务 器对应的响应全部完成以后才能返回,在此期间 OPC 客户端一直处于等待状态,若进行读 操作,那么必须等待 OPC 服务器响应后才返回。因此在同步通讯时,如果有大量数据进行 操作或者有很多 OPC 客户端对 OPC 服务器进行读操作,必然造成 OPC 客户端的阻塞现象。 因此同步通讯适用于 OPC 客户端较少,数据量较小时的场合。如图 1 所示: 图 1 同步通讯示意图 Fig1 Synchronous Communication Schematic Diagram 异步通讯时,OPC 客户端向 OPC 服务器进行请求时,OPC 客户端程序请求后立刻返回, 不用等待 OPC 服务器的响应,可以进行其他操作。OPC 服务器完成响应后再通知 OPC 客 户端程序。若进行读操作, OPC 客户端程序通知 OPC 服务器后立刻返回,不等待 OPC 服 务器的读完成,而 OPC 服务器读完成后,会自动通知 OPC 客户程序,把读结果传给 OPC 客户程序。因此相对于同步通讯,异步通讯的效率更高。如图 2 所示: - 2 - 图 2 异步通讯示意图 Fig2 Asynchronous Communication Schematic Diagram 订阅方式时,OPC 客户端程序对服务器进行请求时,OPC 客户端程序操作后立刻返回,
中国科技论文在线 http://www.paper.edu.cn 不用等待 OPC 服务器的操作,可以进行其他操作,OPC 服务器的 Group 组在组内的有数据 发生改变时,自动根据更新周期刷新相应的客户端数据。客户端向 OPC 服务器发送一次请 求,之后不再对服务器请求。 图 3 订阅方式示意图 Fig3 Subscription Schematic Diagram 刷新方式时订阅的一种特殊情况,刷新时强制调用所有处于活动状态的项,他的处理过 程与订阅相似。 2 PC 与 PLC 的通信设计 采煤机远程监控系统如图 4 示: 图 4 采煤机制系统图 Fig4 Shearer Remote Control System Diagram 在采煤机远程控制系统中,PC 机通过 OPC 与 S7-300PLC 进行通信, 利用传感器对采 煤机的位置,液压缸位移等信息进行采集,然后将采集到的数据通过 OPC 提供给 PC 机, 由现场操作人员针对 PLC 传上来的数据进行实时处理,从而实现对采煤机的远程监控。此 监控系统可实现数据实时监测,历史归档,图表显示及报警等多项功能。 本文通过 C#编写客户端程序,对 PLC 上的数据进行读写,但基于 C#语言的特性,本 文采用自定义接口访问。其流程图如图 5 所示。 - 3 -
中国科技论文在线 http://www.paper.edu.cn 图5 服务器流程图 Fig.2 Server Flow Chart 部分代码实现 (1)引用连接库 using OpcRcw.Comn; using OpcRcw.Da; (2)创建 OPC 相关对象: OpcRcw.Da.IOPCServer S7ServerObj; (3)建立与 OPC 服务器的连接 S7OpcServer.Connect("OPC 服务器名", "ip 地址"); (4)创建 OPC 组 S7OpcGroup = S7OpcServer.OPCGroups.Add("所要添加组的名称"); (5)添加 OPC 数据项 S7OpcItem1 = S7OpcGroup.OPCItems.AddItem("所要读取 PLC 的地址", 1); (6)OPC 的数据项读写 读取到目标地址 = ItemValues.GetValue(1).ToString(); (7)断开 OPC 连接 S7OpcServer.Disconnect(); 3 结论 本文以采煤机远程控制为例,对 OPC 技术及其使用进行了介绍,对 OPC 数据访问方式 进行了详细的说明,同时也详细介绍了在 c#环境下对 OPC 的数据访问,实验结果说明,具 有很高的实时性和可靠性及稳定性。相信 OPC 技术在工控通信方面会发挥越来越大的作用。 [参考文献] (References) [1] 张俊彪, 王鸿辉, 何长安. 基于 OPC Server 的 PC 与 S7 - 300 / 400 的通信[J]. 电力自动化设备: 2007.04 [2] 周新民,徐铮. 基于 OPC 技术的PC 与 S7200 PLC 的实时通信[J]. 武汉理工大学学报(交通科学与工程版): 2008.04 [3] 张志, 杜亚江, 朱德桥. 基于 OPC 技术的上位监控机与 PLC 的通信程序设计[J]. 兰州交通大学学报: 2009.6 - 4 -
中国科技论文在线 http://www.paper.edu.cn [4] 金蓉, 卢建军, 王晓路. 煤矿远程监控系统中 OPC 客户端的设计与实现[J]. 煤炭学报: 2010.01 [5] 刘莉. 用 VB 编写 OPC 客户端程序的方法[J]. 工业控制计算机: 2005.05 [6] 凌志浩,陈伟彬,马欣等. 基于 OPC 数据存取规范的服务器研究与实现[J]. 东理工大学学报: 2004.06 - 5 -
分享到:
收藏