opc 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/uploadfile/datum/2011-5/... ·...

5
2010 2 Feb.2010 27 卷第 1 Vol.27 No.1 CEMENTED CARBIDE !!!!" !" !!!!" !" 设备研究 OPC 技术在真空烧结炉监控系统中的应用 1 肖伸平 1 文新根 2 周金峰 1 1. 湖南工业大学电气与信息工程学院湖南株洲 4120082. 深圳朗金科技有限公司广东深圳 518052针对企业管理层难以实时了解现场监控系统的情况利用 OPC 接口技术出了客户端实时访问现场的方法该方法实现了 WinCC 组态和 VB 应用程序之间的动 态数据交换并利用以太网的强大功能从而实现了管理层方便快捷地查看现场情况并给出了客户端应用程序开发的方法这一方法的应用为企业综合自动化生产管理 信息化提供了新的思路实验结果表明该方法成本低可靠性好关键词 OPC 接口技术真空烧结炉VB 应用程序WinCC 组态 Application of OPC Technology in The Vacuum Sintering Furnace Monitoring System Wang Ying 1 Xiao Shen Ping 1 Wen Xin Gen 2 Zhou Jin Feng 1 (1. School of Electrical and Information Engineering, Hunan University of Technoligy, Zhuzhou Hunan 412008, China) (2. Shenzhen Lokee Technology DeveloPment Co. Ltd, Shenzhen Guangdong 518052, China) ABSTRACT Based on OPC interface technology, the method of the client accessing the field in time was ProPosed for enterPrise management that having difficulty in real -time looking into on -site monitoring system. The dynamic data, exchanged between the WinCC configuration and VB aPPlication Programs, is imPlemented by using the Powerful function of Ethernet, so the on-site scene can be quickly and easily observed. And the method about aPPlication develoPment of the client is introduced. It Provides a new idea for the enterPrise integrated automation and Production management information. The exPerimental results show that the method achieves low cost and high reliability. KEY WORDS OPC interface technology; vacuum sintering furnace; VB aPPlication Program; WinCC Configuration 课题来源湖南省科技计划项目项目编号2009FJ3152 作者简介王莹1984-),河南正阳人工学学士2007 年毕业于河南理工大学并与同年 9 月进入湖南工业大学攻读硕士学位主要 研究方向自动化集成技术与应用电子邮箱[email protected]电话1311301550915200483024 肖伸平1965-),湖南东安人博士研究生导师湖南工业大学电气与信息工程学院教授主要从事时滞系统的鲁棒控制理论及应用智能控制研究电子邮箱[email protected]电话13973321578 通信地址湖南省株洲市文化路 湖南工业大学电气与信息工程学院邮编412008 doi 10.3969/j.issn.1003-7292.2010.01.011 在传统的控制系统中智能设备之间及智能设 备与控制系统软件之间的信息交换是通过驱动程序 来实现的由于各个厂家的软件对控制系统硬件操 作的设备驱动程序接口各不相同随着工业自动化 系统功能不断增强工业现场中产自不同厂家的软 硬件之间的数据交换成为突出的矛盾随着工业自 动化程度的不断提高以及企业综合自动化的不断加 企业管理模式和生产模式的不断改进管控一体

Upload: others

Post on 26-May-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPC 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/UploadFile/Datum/2011-5/... · 2011-05-26 · Wang Ying 1Xiao Shen Ping Wen Xin Gen2 Zhou Jin Feng (1. School

2010 年 2 月

Feb.2010第 27 卷第 1 期

Vol.27 No.1硬 质 合 金

CEMENTED CARBIDE

!!!!"!"!!!!"!

"

设备研究

OPC 技术在真空烧结炉监控系统中的应用

王 莹 1 肖伸平 1 文新根 2 周金峰 1

(1.湖南工业大学电气与信息工程学院,湖南株洲 412008;2.深圳朗金科技有限公司,广东深圳 518052)

摘 要 针对企业管理层难以实时了解现场监控系统的情况, 利用 OPC 接口技术,给

出了客户端实时访问现场的方法。 该方法实现了 WinCC 组态和 VB 应用程序之间的动

态数据交换,并利用以太网的强大功能,从而实现了管理层方便快捷地查看现场情况。

并给出了客户端应用程序开发的方法。 这一方法的应用为企业综合自动化、生产管理

信息化提供了新的思路。 实验结果表明,该方法成本低、可靠性好。

关键词 OPC 接口技术;真空烧结炉;VB 应用程序;WinCC 组态

Application of OPC Technology in The Vacuum Sintering Furnace Monitoring System

Wang Ying1 Xiao Shen Ping1 Wen Xin Gen2 Zhou Jin Feng1

(1. School of Electrical and Information Engineering, Hunan University of Technoligy, Zhuzhou Hunan 412008, China)(2. Shenzhen Lokee Technology Development Co. Ltd, Shenzhen Guangdong 518052, China)

ABSTRACT Based on OPC interface technology, the method of the client accessing the field in time was proposed for enterprisemanagement that having difficulty in real-time looking into on-site monitoring system. The dynamic data, exchanged between theWinCC configuration and VB application programs, is implemented by using the powerful function of Ethernet, so the on-site scenecan be quickly and easily observed. And the method about application development of the client is introduced. It provides a new ideafor the enterprise integrated automation and production management information. The experimental results show that the methodachieves low cost and high reliability.KEY WORDS OPC interface technology; vacuum sintering furnace; VB application program; WinCC Configuration

课题来源:湖南省科技计划项目,项目编号:2009FJ3152作者简介:王莹(1984-),女,河南正阳人,工学学士,2007 年毕业于河南理工大学,并与同年 9 月进入湖南工业大学攻读硕士学位,主要

研究方向:自动化集成技术与应用。 电子邮箱:[email protected];电话:13113015509,15200483024肖伸平(1965-),男,湖南东安人,博士,研究生导师、湖南工业大学电气与信息工程学院教授,主要从事时滞系统的鲁棒控制理论及应用、

智能控制研究。 电子邮箱:[email protected]。 电话:13973321578通信地址:湖南省株洲市文化路 湖南工业大学电气与信息工程学院,邮编:412008

doi:10.3969/j.issn.1003-7292.2010.01.011

在传统的控制系统中, 智能设备之间及智能设

备与控制系统软件之间的信息交换是通过驱动程序

来实现的。 由于各个厂家的软件对控制系统硬件操

作的设备驱动程序接口各不相同。 随着工业自动化

系统功能不断增强, 工业现场中产自不同厂家的软

硬件之间的数据交换成为突出的矛盾。 随着工业自

动化程度的不断提高以及企业综合自动化的不断加

强,企业管理模式和生产模式的不断改进,管控一体

Page 2: OPC 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/UploadFile/Datum/2011-5/... · 2011-05-26 · Wang Ying 1Xiao Shen Ping Wen Xin Gen2 Zhou Jin Feng (1. School

第 27 卷

化的信息系统成为发展趋势 [4]。 如何设计客户端与

监控系统的通信接口, 使其具有更好的通用性和开

放性,是当前研究的一个重要问题。 OPC 接口标准

就是应这种需求产生的, 它不仅能够应用于单台计

算机中, 而且支持分布式系统中应用程序之间的通

信,以及不同平台上应用程序之间的通信。 OPC 已

成为新一代工业过程控制接口标准。 因此,对 OPC接口技术在过程监控制系统中的应用探讨是很有实

际意义的。

1 OPC 技术规范

1.1 OPC 定义

OPC(OLE for Process Control)即用于过程控制

的对象链接嵌入 (OLE Object Linking and Embed-ding)技术,是过程控制业中的新兴标准,是由 OPC基金会制定的一个工业标准, 它规范了过程控制和

工业生产自动化软件与用 OPC 服务器实现的硬件

驱动程序之间的接口。 OPC 实际上是提供了一种规

范,通过这种规范,系统能够以客户端/服务器标准

方式从服务器获取数据并将其传递给任何客户应用

程序[1]。 这样,只要生产商开发一套遵循 OPC 规范的

服务器与数据进行通信, 其他任何客户应用程序便

能通过服务器访问设备。1.2 OPC 的基本结构

目前得到广泛应用的是 OPC 数据存取规范,它

主要解决服务器端和客户端的实时数据存取问题。一

个 OPC 数据存取服务器包括三类对象: 服务器(serv-er)、组(group)和项(item)。 三类对象的组织结构就象普

通文件系统,其中服务器与分区、组与文件夹、项与文

件一一对应,各个部分都有自己的属性、同时负责管

理其底层分支。 OPC 的组织结构见图 1 所示:

1.3 OPC 的接口

OPC 规范定义了两套接口标准:自动化接口标

准(Automation Interface Standard)和 自 定 义 接 口 标

准(Costom Interface Standard)。它们分别为不同的编

程语言环境提供访问机制见图 2 所示。 自动化接口

是为基于脚本编程语言而定义的标准接口, 可使用

VB、Delphi 等语言开发 OPC 客户应用程序。 而自定

义接口 是专门为 C++等 高级语言而 制定的标准 接

口。 OPC 客户应用程序通过自定义接口或自动化接

口与 OPC 服务器进行通信,其中自动化接口可通过

自动化包装库转化为自定义接口[1]。

1.4 数据交换方式

OPC 客户与服务器进行数据交互有两种不同方

式,即同步方式和异步方式[3]。 同步是指客户在一次

事务中读写数值和属性的能力。 同步方式实现较为

简单, 当客户数目较少而且同服务器交互的数据量

也比较少的时候可以采用这种方式。 异步方式实现

较为复杂,需要在客户程序中实现服务器回调函数,本论文采用异步方式。

2 烧结炉生产管理与过程监控系统构成

针对某硬质合金公司的管理层与生产车间距离

较远,造成管理层实时了解现场困难的情况,本文利

用 OPC 接口技术实现系统管理层与过程监控层进

行数据交换,通过以太网完成信息交互。该公司的烧

结炉生产管理与过程监控系统构成见图 3 所示,它

包含生产管理层、 过程监控层和现场控制层三个层

次。

3 WinCC OPC 服务器功能的实现

WinCC 组态软件提 供了过程 可 视 化 界 面 用 于

用户解决方案,可采用 ODBC、OLE、DDE 和 OPC 标

准等与其他应用程序方便地进行数据交换[6]。 通过

图 2 OPC 的接口标准

王 莹 肖伸平 文新根 周金峰:OPC 技术在真空烧结炉监控系统中的应用

图 1 OPC 的基本结构

45· ·

Page 3: OPC 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/UploadFile/Datum/2011-5/... · 2011-05-26 · Wang Ying 1Xiao Shen Ping Wen Xin Gen2 Zhou Jin Feng (1. School

硬 质 合 金 第 27 卷

这些技术, 工程人员可以利用 PC 机丰富的软件资

源来扩充工控组态软件的功能,从而可以很容易地

组成一个完备的上位机管理系统。WinCC OPC 服务

器实际上是一个 DCOM 应用程序, 在 WinCC 的安

装过程中是自动添加的,并且可以在没有附加的配

置下直接使用。 通过该软件界面,WinCC OPC 服务

器使用 WinCC 变量提供所需要的信息至 OPC 客户

机。WinCC 内嵌 OPC 服务器,利用 OPC 客户应用程

序可以很容易地连接该服务器。 在 OPC 客户端与

OPC 服务器连接时,需要由 OPC 服务器的计算机对

OPC 客户应用程序的计算机进行身份验证。

4 利用 VB 应用程序实现 WinCCOPC 服务器与客户端的通信

WinCC 在安装时提供了 OPC 的客户端控

件 : Siemens OPC DAAutomation 2.0 (SOPC-DAAuto.dll), 这个控件就是我们在 VB 中要用

到的控件, 我们也可以使用通用的 OPC 客户

端控件: OPC Automation 2.0。本系统中 WinCC作为服务器,VB 应用程序作为 OPC 客户端。VB 应用程序采用特殊的 COM 接口,以异步方

式与 OPC 服务器进行通信。 VB 应用程序界面

见图 4 所示

客户端的主要应用程序如下:Option Base 1Option Explicit

Private Const ItemMax = 8 ' 导入项的最大值

Dim WithEvents MyOPCserver As OPCServer' 定义服务器对象变量 MyOPCServer

Dim WithEvents MyOPCGroups As OPCGroups' 定义组集合对象变量 MyOPCGroups

Dim WithEvents MyOPCGroup As OPCGroup' 定义组对象变量 MyOPCGroup

Dim MyOPCItems As OPCItems' 定义项集合对象变量 MyOPCItems

Dim MyOPCItem As OPCItem' 定义项对象变量 MyOPCItem

Dim update As Integer

图 3 生产管理与过程监控系统构成

图 4 客户端应用程序界面

46· ·

Page 4: OPC 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/UploadFile/Datum/2011-5/... · 2011-05-26 · Wang Ying 1Xiao Shen Ping Wen Xin Gen2 Zhou Jin Feng (1. School

第 27 卷

Dim bConnect As Boolean ' 登录标志

' 加载 OPC 服务器的项

Private Sub LoadOPCItem_Click( )On Error GoTo LoadEndDim ItemName As StringDim i, Fno As IntegerMsgBox " 从 INI 文件中导入 OPC 服务器的项",

vbInformation, "提示"Fno = 1 ' 从 ***.INI 文件中导入项名

Open "OPCItemLib.INI" For Input As #Fnoi = 1Do While Not EOF(1) ' 重新导入终端

Input #Fno, ItemNameFrmOPC.ItemName(i - 1).Text = ItemNameIf i > ItemMax ThenExit DoEnd Ifi = i + 1

LoopClose #FnoExit Sub

LoadEnd:If Fno > 0 ThenClose #FnoEnd IfFor i = 0 To ItemMax - 1FrmOPC.ItemName(i).Text = " " + Format$(i)Next i

End SubPrivate Sub ConnetServer_Click( ) ' 连接服务器

Dim ItemServerHandles( ) As LongDim ClientHandles(1) As LongDim OPCItemIDs(1) As StringDim Errors() As LongDim cnt As IntegerDim updateval As IntegerIf bConnect = False ThenOn Error GoTo ConnectError ' 设置刷新周期

updateval = InputBox$("请输入刷新周期(秒)")UpdateRateSet.Text = Val(updateval)

Set MyOPCServer = New OPCServer ' 创建对象

MyOPCServer.Connect FrmOPC.ServerName.List(ServerName.ListIndex), "" ' 连接服务器

Set MyOPCGroups = MyOPCServer.OPCGroups' 从服务器对象中获取组对象

Set MyOPCGroup = MyOPCGroups.Add("Group1")' 添加组

' 设置组的更新速率

MyOPCGroup.UpdateRate = Val(UpdateRateSet.Text)Set MyOPCItems = MyOPCGroup.OPCItemsFor cnt = 1 To ItemMax

'OPC 服务器验证 ***.INI 文件的项

ClientHandles(1) = cntOPCItemIDs(1) = FrmOPC.ItemName(cnt - 1).

TextMyOPCItems.AddItems 1, OPCItemIDs, Clien-

tHandles, ItemServerHandles, Errors' 为 OPC 组添加变量

If Errors(1) <> 0 ThenFrmOPC.Value(cnt - 1) = "Error"End IfNext cntbConnect = True ' 标示为登录状态

' 登录成功,置相关按钮可用

ConnetServer.Caption = "断开连接"OPCRead_Button.Enabled = TrueOPCWrite_Button.Enabled = TrueAutoReadButton.Enabled = TrueAutoReadButton.Caption = "自动读取"MyOPCGroup.IsActive = False

' 将项置为不可修改

For cnt = ItemName.LBound To ItemName.UBoundItemName(cnt).Enabled = FalseNext cntElse ' 断开连接处理

On Error Resume NextMyOPCGroup.IsActive = FalseMyOPCGroups.Remove MyOPCGroup.Server-

HandleSet MyOPCItems = Nothing ' 释放项集合资源

Set MyOPCItem = Nothing ' 释放项资源

Set MyOPCGroups = Nothing' 释放组集合资源

Set MyOPCGroup = Nothing ' 释放组资源

MyOPCServer.Disconnect ' 服务器断开连接

Set MyOPCServer = Nothing

王 莹 肖伸平 文新根 周金峰:OPC 技术在真空烧结炉监控系统中的应用 47· ·

Page 5: OPC 技术在真空烧结炉监控系统中的应用ftp.gongkong.com/UploadFile/Datum/2011-5/... · 2011-05-26 · Wang Ying 1Xiao Shen Ping Wen Xin Gen2 Zhou Jin Feng (1. School

硬 质 合 金 第 27 卷

' 释放服务器资源

bConnect = FalseOPCRead_Button.Enabled = FalseOPCWrite_Button.Enabled = FalseAutoReadButton.Enabled = FalseConnetServer.Caption = "连接"For cnt = ItemName.LBound To ItemName.

UBoundItemName(cnt).Enabled = TrueNext cntExit Sub

End IfExit Sub

ConnectError:MsgBox "登录失败"For cnt = 0 To ItemMax - 1FrmOPC.Value(cnt) = "Error"Next cnt

End Sub ' 自动读取 OPC 服务端的数据

Private Sub AutoReadButton_Click( )MyOPCGroup.IsActive = Not MyOPCGroup.IsAc-

tiveMyOPCGroup.IsSubscribed = MyOPCGroup.IsAc-

tive' 启动预定功能,否则组的 DataChange 事件不能触发

If MyOPCGroup.IsActive = False ThenAutoReadButton.Caption = "自动读取"

ElseAutoReadButton.Caption = "停止读取"

OPCWrite_Button_ClickEnd If

End Sub

5 结语

OPC 技术作为一 项崭新的开 放式数据交 换技

术给工业控制软硬件的发展带来了巨大的影响,给

自控设备制造业的产品开发带来了新机遇和挑战。本文基于 OPC 接口技术,实现了 WinCC 组态与 VB应用程序之间的数据交换,从而使管理层可以实时

的了解现场控制的情况。 由于拥有了正确的数据,决策者能够很好的做出战略的和适时的决策以改

进企业的经营效率。 这种方法成本低、可靠性好、易

维护、数据处理上具有更大的优势。

参考文献

[1] 孙鹤旭,梁涛,云利军. Profibus 现场总线控制系统的设计与开发

[M].北京:国防工业出版社,2007,226-249[2] 胡忠德,严启,彭顺风.基于 OPC 技术的数据采集系统[J].自动化

技术与应用,2008,27(11):42-44[3] 薛福珍,林盛荣,唐琰.基于 OPC 数据访问规范的客户端软件研究

与开发[J].计算机工程,2002,8(4):229-231[4] 童立君,江智军,何小斌.OPC 技术在水厂生产过程控制系统的应

用研究[J].自动化仪表,2008,29(6):37-38[5] 邱秀金,钱凡.基于数字控制仪表真空烧结炉温控系统的研究[J].硬质合金,2005,22(1):36-39[6] 苏昆哲.深入浅出西门子 WinCC V6[M].北京:北京航空航天大学

出版社,2005,164-170(2009-10-22 收稿;2009-12-21 修回)

48· ·