《opc软件课设报告》由会员分享,可在线阅读,更多相关《opc软件课设报告(11页珍藏版)》请在金锄头文库上搜索。
1、软件课程设计报告OPC 客户端软件“贝壳反应炉监视平台”的设计实验名称实验名称 软件课程设计软件课程设计 学学 院院 自动化学院自动化学院 班班 级级 电电 083083 班班 姓姓 名名 蒋姚亮蒋姚亮 学学 号号 4085029640850296 小组成员小组成员 刘涛、梁昌鹏、刘沛卓刘涛、梁昌鹏、刘沛卓 20112011 年年 1010 月月软件课程设计报告 电 083 班 蒋姚亮 408502962 / 11实验名称实验名称 OPCOPC 客户端的编程客户端的编程一、实验目的:一、实验目的:通过实际操作进一步了解 OPC 的各种概念,掌握 OPC 客户端的编写方法。并对微软的DCOM 有
2、一定的了解,要求通过合适的 DCOM 配置,使客户端能够读取网络上服务器中的数据。二、实验内容:二、实验内容:1)利用 VB 语言编写出一个简单的 OPC 客户端程序,要求这个客户端能够读取服务器中的数据,并显示出来。2)配置 DCOM,使客户端能够能过 DCOM 读取另一台服务器上的数据。三、实验步骤:三、实验步骤:(1)建立一个 Visual Basic 工程1)启动 Visual Basic,新建一个 Visual Basic 工程。选择Standard EXE作为新建工程的类型。 图 3-1 Visual Basic 工程的建立2)设置 OPC 包装 DLL1.从 Visual Bas
3、ic 菜单里选择Project-References。2.在Available References表示中,选择对应 OPC 包装 DLL 的文件名。这里我们选择OPC Automation 2.0。软件课程设计报告 电 083 班 蒋姚亮 408502963 / 11图 3-2 引用的设置(2)建立一个 OPC 对象在 Visual Basic 里,是以对象的单位对 OPC 服务器进行访问。OPC 自动化接口是由以下四种对象所定义。OPC 服务器OPC 组(OPC 组集合)OPC 标签(OPC 标签集合)OPC 浏览器这里只说明 OPC 服务器,OPC 组以及 OPC 标签对象的使用方法。具
4、体的来说,先连接一个特定的 OPC 服务器,然后建立 OPC 组,最后添加 OPC 标签。1) 变量声明参考图 3-3 所示的示范代码,先对 OPC 对象变量进行声明。变量的数据类型应该指定为对象型。这些对象变量最好在窗体代码的(General)部分声明。因为在(General)部分声明的变量,可以在窗体的任何方法的代码内引用。图 3-3 OPC 对象变量的声明软件课程设计报告 电 083 班 蒋姚亮 408502964 / 11有关定义 OPC 对象的声明及其说明列于表 3-1表 3-1 OPC 对象变量的声明变量名说明objServerOPCServer 对象,用于连接 OPC 服务器。o
5、bjGroupsOPCGroups 对象,用于添加 OPC 组的 OPC 组集合objTestGrpOPCGroup 对象,演示用的 OPC 组。objItemsOPCItems 对象,用于添加 OPC 标签的 OPC 标签集合。lServerHandles()长整型的数组,用于保存 OPC 标签的服务器句柄。2) 连接 OPC 服务器和建立 OPC 组下面说明如何连接 OPC 服务器和建立 OPC 组。考虑到代码的可反复使用性,这里采用子程序进行编程。这里用“NEW”关键词生成 OPC 服务器的对象,然后调用 OPC 服务器对象的“Connect”方法,和 OPC 服务器连接。在连接远程服务
6、器的时候,需要指定作为选用参数的远程计算机名(表 3-2)表 3-2 Connect 子程序3) 添加 OPC 标签对 OPC 服务器进行访问前,必须先在 OPC 组里添加要访问的 OPC 标签。这里添加 OPC 标签的标识符和数目是固定的,但是实际的 OPC 应用程序往往要按照用户的指定或读取组态文件取得和处理需要添加 OPC 标签(表 3-3)软件课程设计报告 电 083 班 蒋姚亮 408502965 / 11表 3-3 AddItem 子程序4) 断开 OPC 服务器连接着 OPC 服务器的 OPC 应用程序,在退出前必须断开和 OPC 服务器的连接(表 3-4) 。因为 OPC 服务
7、器并不知道 OPC 应用程序的退出,如果不先断开连接,那么 OPC 服务器使用的计算机资源就不被释放。如果这样的问题反复发生,久而久之,连续运转的自动控制系统可能会使计算机资源渐渐枯竭从而发生严重问题。表 3-4 Disconnect 子程序软件课程设计报告 电 083 班 蒋姚亮 408502966 / 11(3)同步数据读写到此为止,我们已经基本说明了 OPC 对象。现在,让我们制作一个实际的 OPC 数据访问应用程序。我们采用同步方式的数据访问。1)窗体设计制做如图 3-4 所示窗体的 OPC 应用程序:贝壳反应炉监视平台 V1.0这个程序读取 6 点的数据,并用棒图表示读取的数据。棒图
8、的更新周期为 0.1 秒,使用定时器以 0.1 秒的周期对 OPC 服务器进行同小数据读取。窗体中所使用的控件种类及功能如表 3-5 所示表 3-5 fmMain 的控件控件名称功能窗体(Form)FmMain主界面命令按钮(CommandButton)BtnConnect连接服务器命令按钮(CommandButton)BtnAddItem加载数据命令按钮(CommandButton)BtnDiconnect断开服务器命令按钮(CommandButton)BtnQuit退出程序定时器(Timer)TmUpdate周期性读取数据图像(PictureBox)picBar显示温度或液位的图形文本框(
9、TextBox)lbBar显示温度或液位的数值软件课程设计报告 电 083 班 蒋姚亮 408502967 / 11文本框(TextBox)lbDeadline1输入反应炉温度警戒值文本框(TextBox)lbDeadline2输入反应炉液位警戒值文本框(TextBox)lbAddr输入服务器 IP 地址勾选(CheckBox)Check设置是否使用背景图片标签(Label)lbTitle软件标题文字标签(Label)lbResult显示数据来源 IP 地址) 命令按钮的事件处理及运行结果1、btnConnect 命令按钮的单击事件处理其运行结果为:图 3-5:运行状态 1软件课程设计报告 电
10、 083 班 蒋姚亮 408502968 / 112、btnAddItem 命令按钮的单击事件处理其运行结果为:图 3-6:运行状态 2程序开始运行,结果如下图所示: 图 3-7 图 3-8 对比图 3-7 和 3-8 可知,在图 3-8 中,1 至 3 号反应炉的温度和液位都已超过警戒值,需提高警惕。软件课程设计报告 电 083 班 蒋姚亮 408502969 / 113、check 命令按钮的单击事件处理其运行结果为:图 3-8:显示程序背景3、btndisonnect 命令按钮的单击事件处理软件课程设计报告 电 083 班 蒋姚亮 4085029610 / 11其运行结果为:图 3-8:
11、断开服务器后界面显示4、btnQuit 命令按钮的单击事件处理3)同步数据读取图 3-5 运行结果以上是服务器与客户端在两台计算机上,服务器的 IP 地址。例如服务器的 IP 是222.28.44.68软件课程设计报告 电 083 班 蒋姚亮 4085029611 / 11四、实验感悟:四、实验感悟:本次 OPC 软件课程设计的主要任务是:1、利用 VB 语言编写出一个简单的 OPC 客户端程序,要求这个客户端能够读取服务器中的数据,并显示出来。2、配置 DCOM,使客户端能够能过 DCOM 读取另一台服务器上的数据。通过我们小组四人的互相合作与共同努力,出色的完成了任务。由于刘涛同学在编程方
12、面比较精通,再加上他已经保研成功,所以主要负责整个课设中程序编写与调试,我和梁昌鹏主要协助刘涛调试程序以及后期实验报告的总结与撰写,刘培卓主要负责其他的辅助工作,四人分工非常明确,而且实验成果令人满意,收获颇丰。通过第一次课程设计指导课上老师的介绍,自己网上资料的查阅以及实际实验操作操作,实验报告撰写,我对 OPC 的各种概念有了进一步的了解,同时也基本掌握了从建立一个 VB 工程到 OPC 对象的基本流程以及编写方法;同时也对微软的 DCOM 有一定的了解。在此次实验中,我们也尝试着就 OPC 服务器和 OPC 客户应用程序分别在不同的计算机上运行的远程连接形式,通过合适的 DCOM 配置,
13、也取得了比较理想的效果。这次的课设,虽然我没有直接的参与到程序的编写过程中,但在后期的总结报告中,由于数据要求需要,我完整的把整个程序过了一边,这对我的编程能力也有了进一步的提高;同时,报告的撰写让我对 office 的一些基本操作更加了解,为以后的毕设打下一个良好的基础;此外,团队合作的重要意义又一次充分的得到了验证,我想这对我以后的学习工作都有一定的影响帮助。五、参考文献:五、参考文献:1 OPC 实验指导书.北京科技大学自动化学院,20112 21 天学通 Visual Basic.胡小江等编著,北京.电子工业出版社,20093 控制装置标准化通信:OPC 服务器开发设计与应用.陆会明, 朱耀春等编著北京.机械工业出版社,2010