《北京科技大学软件课程设计报告-自动化专业》由会员分享,可在线阅读,更多相关《北京科技大学软件课程设计报告-自动化专业(21页珍藏版)》请在金锄头文库上搜索。
1、北京科技大学 课程设计(软件设计) 报告 班 级: 姓 名: 学 号: 同组同学: 指导教师: 曾 慧 日 期: 2014 年 11 月 13 日北京科技大学自动化学院 课程设计(软件设计)报 告 i 目 录 1 设计内容.1 1.1 实验目的.1 1.2 实验内容.1 2 应用程序总体分析与设计 .1 2.1 项目建立.2 2.1.1 建立一个 Visual Basic 工程 .2 2.2 OPC 建立 .2 2.2.1 设置 OPC 包装 DLL .2 2.2.2 建立一个 OPC 对象 .2 3 应用程序各功能模块分析与设计 .4 3.1 界面设计.4 3.2 服务器的断开与链接 .5
2、3.2.1 连接 OPC 服务器和建立 OPC 组.5 3.2.2 添加 OPC 标签 .5 3.2.3 断开服务器 .6 3.3 数据读取与显示 .7 3.3.1 棒状图显示 .7 3.3.2 文本框显示 .7 3.4 数据保存.8 3.5 实时曲线绘制 .8 4 程序测试.10 4.1 测试过程.10 4.2 测试结果.10 5 程序文档.12 5.1 使用说明.12 5.2 程序清单.12 6 总结.17北京科技大学自动化学院 课程设计(软件设计)报 告 ii 6.1 问题与解决.17 6.2 感想与致谢.17 7 参考文献.18北京科技大学自动化学院 课程设计(软件设计)报 告 1 1
3、 设计内容 1.1 实验目的 通过实际操作进一步了解 OPC 的各种概念,掌握 OPC 客户端的编写方法。 并对微软的 DCOM 有一定的了解,要求通过合适的 DCOM 配置,使客户端能够 读取网络上服务器中的数据。 1.2 实验内容 1)利用 VB 语言编写出一个简单的 OPC 客户端程序,要求这个客户端能够 读取服务器中的数据,并显示出来。 2)配置 DCOM,使客户端能够能过 DCOM 读取另一台服务器上的数据。 2 应用程序总体分析与设计 应用程序与 OPC 服务器进行连接并读取服务器端的数据,同时把读取到的 数据通过棒柱和文本框显示,并可以保存数据便于查找,同时应用了 Picture
4、 控 件对实时数据变化趋势分析。北京科技大学自动化学院 课程设计(软件设计)报 告 2 2.1 项目建立 2.1.1 建立一个 Visual Basic 工程 1)启动 Visual Basic, 新建一个 Visual Basic 工程。选择Standard EXE作为新 建工程的类型。 图 2.1 Visual Basic 工程的建立 2.2 OPC 建立 2.2.1 设置 OPC 包装 DLL 对 OPC 包装 DLL 进行注册:从 Visual Basic 菜单里选择Project-References 。 在Available References表示中,选择 OPC Automat
5、ion 2.0 。 图 2.2 引用的设置 2.2.2 建立一个 OPC 对象 在 Visual Basic 里,是以对象的单位对 OPC 服务器进行访问。OPC 自动化接 口是由以下四种对象所定义。北京科技大学自动化学院 课程设计(软件设计)报 告 3 OPC 服务器 OPC 组(OPC 组集合) OPC 标签(OPC 标签集合) OPC 浏览器 1) 变量声明 图 2.3 OPC 对象变量的声明 其中,部分变量声明意义见表所示。 表 2.1 OPC 对象变量的声明 变量名 说明 objServer OPCServer 对象,用于连接 OPC 服务器。 objGroups OPCGroups
6、 对象,用于添加 OPC 组的 OPC 组集合 objTestGrp OPCGroup 对象,演示用的 OPC 组。 objItems OPCItems 对象,用于添加 OPC 标签的 OPC 标签集合。 lServerHandles() 长整型的数组,用于保存 OPC 标签的服务器句柄。北京科技大学自动化学院 课程设计(软件设计)报 告 4 3 应用程序各功能模块分析与设计 3.1 界面设计 图 3.1 界面效果图 窗体中所使用的控件种类如表 3.1 所示。 表 3.1 FmMain 的控件 控件 名称 窗体(Form) FmMain 命令按钮(CommandButton) BtnConnect 命令按钮(CommandButton) BtnAddItem 命令按钮(CommandButton) BtnQuit 命令按钮(CommandButton) BtnSave 命令按钮(CommandButton) BtnStop 命令按钮(CommandButton) Btndraw 定时器(Timer) tmUpdate 定时器(Ti