软件课程报告 OPC客户端的编程.doc
《软件课程报告 OPC客户端的编程.doc》由会员分享,可在线阅读,更多相关《软件课程报告 OPC客户端的编程.doc(19页珍藏版)》请在沃文网上搜索。
1、 软件设计课程设计报告课设名称 OPC客户端的编程一、课设目的:通过对课程设计的实际操作进一步了解OPC的各种概念,掌握OPC客户端的编写方法。并对微软的DCOM有一定的了解,要求通过合适的DCOM配置,使客户端能够读取网络上服务器中的数据。二、课设内容:1)利用VB语言编写出一个简单的OPC客户端程序,要求这个客户端能够读取服务器中的数据,并显示出来。2)配置DCOM,使客户端能够能过DCOM读取另一台服务器上的数据。三、课设步骤: (一)运行环境的设置本步骤的主要内容是设置用VB开发的应用程序计算机运行环境。主要是就OPC服务器和OPC客户应用程序分别在不同的计算机上运行的远程连接形式,说
2、明OPC运行环境的设置方法。OPC服务器和OPC客户应用程序在相同的计算机上运行的本地连接形式形态,几乎使用分布式COM的默认设置就可以运行,或者参考下面介绍的远程连接设置方法,将OPC服务器的设置和OPC客户应用程序的设置在同一台计算机上也可以解决问题。操作系统不同,DCOM的配置方法也稍有不同。下面介绍Windows 2000/NT DCOM 及其windows XP系统的环境配置的步骤: 1)Windows 2000/NT DCOM 设置 首先运行DCOMCNFG 进入DCOM 配置程序 设置默认属性为以下设置 设置默认安全机制 设置默认访问权限如下,即加入Everyone 允许访问设置
3、默认启动权限如下,即加入Everyone 允许调用 设置引用程序OpcEnum属性 安全性设置如下 身份标识设置如下然后设置OPC 服务器程序,实际应用过程中服务器的注册信息是不同的,本例的OPC 服务器为kingview.view,其设置与OpcEnum 相同。客户端设置默认安全设置,设置同服务器4、5、6 步骤。客户端登录的用户必须是服务器中合法的用户。例如在服务其中包括 aaaa 用户,客户端可以以aaaa 用户登录而且密码与服务器中aaaa 用户的密码相同就可以访问访问服务器了。如果经过以上 各步还有问题,那么让客户端和服务器以相同用户名和口令登录,一定可以正确连接.1) window
4、s XP系统设置首先需要关闭SP2的防火墙,具体可由开始控制面板安全中心windows防火墙关闭 接着,按以下步骤配置DCOM点击开始运行,再输入DCOMCNFG,如下图点确定,进入XP的DCOM配置界面:再依次选择组件服务计算机我的电脑属性进入我的电脑属性界面,之后选择COM安全页: 首先选择访问权限,编辑限制,从中加入everyone,并将本地连接与远程连接前的复选框都选上同样,再选择启动激活权限编辑限制,并接下图配置:然后点击确定,则XP的DCOM就已经配置完成。(二)VB编程及实现 (1)建立一个Visual Basic工程 1)启动Visual Basic,新建一个Visual Ba
5、sic工程。图1 Visual Basic 工程的建立 2)设置OPC包装DLL 因为在新建的Visual Basic工程OPC包装DLL还没有被注册,必须用下述方法对OPC包装DLL进行注册。设置方法: 1.从Visual Basic菜单里选择Project-References。 2.在Available References表示中,选择对应OPC包装DLL的文件名。这里我们选择OPC Automation 2.0。图2 引用的设置(2)建立一个OPC对象 在Visual Basic里,是以对象的单位对OPC服务器进行访问。OPC自动化接口是由以下四种对象所定义。 OPC服务器 OPC组(
6、OPC组集合) OPC标签(OPC标签集合) OPC浏览器 这里只说明OPC服务器,OPC组以及OPC标签对象的使用方法。具体的来说,先连接一个特定的OPC服务器,然后建立OPC组,最后添加OPC标签。1) 变量声明 参考图3-3所示的示范代码,先对OPC对象变量进行声明。变量的数据类型应该指定为对象型。这些对象变量最好在窗体代码的(General)部分声明。因为在(General)部分声明的变量,可以在窗体的任何方法的代码内引用。变量申明中定义整型数据n用于做出温度和液位变化曲线。表1 OPC对象变量的声明 Option Base 1 Option Explicit Dim WithEven
7、ts objServer As OPCServer Dim objGroups As OPCGroups Dim objTestGrp As OPCGroup Dim objItems As OPCItems Dim n As Integer 定义新的变量n,用于画出反应罐温度和液位变化曲线 Dim lServerHandles() As Long有关定义OPC对象的声明及其说明列于表3-1表2 OPC对象变量的声明变量名说明objServerOPCServer对象,用于连接OPC服务器。objGroupsOPCGroups对象,用于添加OPC组的OPC组集合objTestGrpOPCGrou
8、p对象,演示用的OPC组。objItemsOPCItems对象,用于添加OPC标签的OPC标签集合。lServerHandles()长整型的数组,用于保存OPC标签的服务器句柄。2) 连接OPC服务器和建立OPC组下面说明如何连接OPC服务器和建立OPC组。考虑到代码的可反复使用性,这里采用子程序进行编程。这里用“NEW”关键词生成OPC服务器的对象,然后调用OPC服务器对象的“Connect”方法,和OPC服务器连接。在连接远程服务器的时候,需要指定作为选用参数的远程计算机名(表3)表3 Connect子程序Sub Connect(strProgID As String, Optional
9、strNode As String) If objServer Is Nothing Then 建立一个OPC服务器对象 Set objServer = New OPCServer End If If objServer.ServerState = OPCDisconnected Then 连接OPC服务器 objServer.Connect strProgID, strNode End If If objGroups Is Nothing Then 建立一个OPC组集合 Set objGroups = objServer.OPCGroups End If If objTestGrp Is N
10、othing Then 添加一个OPC组 Set objTestGrp = objGroups.Add(TestGrp) End IfEnd Sub3) 添加OPC标签对OPC服务器进行访问前,必须先在OPC组里添加要访问的OPC标签。这里添加OPC标签的标识符和数目是固定的,但是实际的OPC应用程序往往要按照用户的指定或读取组态文件取得和处理需要添加OPC标签(表4)表4 AddItem子程序Sub AddItem() Dim strItemIDs(2) As String Dim lClientHandles(2) As Long Dim lErrors() As LongDim I As
11、 Integer If objTestGrp Is Nothing Then Exit Sub End If If Not objItems Is Nothing Then If objItems.Count 0 Then Exit Sub End IfEnd If 设置组活动状态 objTestGrp.IsActive = True 取消组非同期通知 objTestGrp.IsSubscribed = False 建立OPC项集合 Set objItems = objTestGrp.OPCItems 生成标签的项标识符 strItemIDs(1) = 反应罐温度.Value strItemI
12、Ds(2) = 反应罐液位.Value lClientHandles(1) = 1 lClientHandles(2) = 2 添加OPC项 Call objItems.AddItems(2, strItemIDs, _ lClientHandles, lServerHandles, lErrors)End Sub4) 断开OPC服务器 连接着OPC服务器的OPC应用程序,在退出前必须断开和OPC服务器的连接(表5)。因为OPC服务器并不知道OPC应用程序已经退出,如果不先断开连接,那么OPC服务器所使用的计算机资源就不被释放。如果这样的问题反复发生,久而久之,连续运转的自动控制系统可能会使计
13、算机资源渐渐枯竭从而发生严重问题。表5 Disconnect子程序Sub Disconnect()Dim lErrors() As Long If Not objItems Is Nothing Then If objItems.Count 0 Then 清除OPC项 objItems.Remove 2, lServerHandles, lErrors End If Set objItems = NothingEnd If If Not objTestGrp Is Nothing Then 清除OPC组 objGroups.Remove TestGrp Set objTestGrp = Not
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件课程报告 OPC客户端的编程 软件 课程 报告 OPC 客户端 编程
