【VB开源代码栏目提醒】:本文主要为网学会员提供“VB编程实现与OPC的通信连接以实现水泵的远程监测与控制【毕业论文,绝对精品】 - 毕业设计”,希望对需要VB编程实现与OPC的通信连接以实现水泵的远程监测与控制【毕业论文,绝对精品】 - 毕业设计网友有所帮助,学习一下!
序言 现在社会对供水质量要求越来越高,随着计算机与网络技术的发展和应用于工业控制使得这一要求得以实现,而且增强了系统的安全性和可靠性,使得生产过程更加自动化和智能化。
通过网络技术我们只需要在控制室里就可以通过计算机屏幕看到整个生产现场,了解各生产设备的运行状态,不需要到现场就可以通过计算机对现场设备进行及时可靠的控制。
OPC 技术已成为工业过程控制的通信标准,各设备生产商的产品都遵循该标准,使得不同厂商的产品互相通信更加简单易行。
在 PLC 恒压供水系统中,使用了罗克韦尔的 ControlLogix 5550 控制器,它的通信软件RSLinx 可以作为 OPC 服务器,可以使用专门的组态软件访问 OPC 服务器以获得控制器中的控制数据。
但是专门的组态软件都比较昂贵,对小型控制系统来说成本太高。
OPC 有定制接口和自动化接口,自动化接口专为
VB服务。
这就可以使用 Visual Basic 编写 OPC 客户端应用程序。
在本设计中将主要介绍如何用 Visual Basic 编写 OPC 客户端应用程序的过程和水厂的监控画面程序来实现对水厂监控。
1 概述1.1 课题研究背景与意义 城市供水系统是城市重要的服务性基础设施,其产、供、销都具有连续性、广域性、公用性、产品不可返修性等特性。
尤其是供水质量易受到二次污染和存放时间的影响,服务质量又受到管网布局和用户地形标高的影响,直接关系到广大人民群众工作、生活和社会各个方面,因此世界各国均把提高供水质量和供水服务列为供水企业部门的主要工作目标。
目前,国内大多数水厂采取人工抄表、电话报数、现场手动操作的原始供水调度法。
收集信息数量少、处理慢、传递迟,调度处于初级阶段,以保证不缺水为主,谈不上优化调度。
遇上爆漏或者火灾等突发事故,反应迟钝、损失大。
为满足城市发展对于供水质量的要求,降低供水厂单位制水能耗,保证可靠、稳定地城市供水需求,需要对整个供水系统的自动化控制和
计算机监测管理。
实现供水系统的自动化,现在采用 PLC 控制,计算机与 PLC 通信实现人-机界面操作控制。
1.2 工控软件与通信选择 在工业自动化中, 特别是水厂自动化系统中:控制器往往采用 PLC,其软件一般有两种,一种是运行于 PLC 中的控制器软件,另一种是运行在工控机上的监控软件,它是用来对生产现场实施监视、操纵、参数设置、打印报表的软件。
一般我们称之为工控软件的都是指后者,它是操作人员了解现场生产工况的重要工具。
目前,工控软件的来源主要有两种:一种是直接使用市售的组态工控软 ,这类软件使用方便,件,如著名的 Fix 和 Intouch、以及国产的“组态王”编写效率高,工作可靠,但一般价格昂贵。
所谓组态Configuration是模块化的任意组合。
通用组态软件的主要特点有: l延续性和可扩充性。
用通用组态软件开发的应用程序,当现场包括硬件设备或系统结构或用户需求发生改变时,不需作很多修改而方便地完成软件的更新和升级 2封装性易学易用,通用组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需掌握太多的编程语言技术甚至不需要编程技术,就能很好地完成一个复杂工程所要求的所有功能 3通用性,每个用户根据工程实际情况,利用通用组态软件提供的底层设备-PLC、智能仪表、智能模块、板卡、变频器等的 I/0 Driver、开放式的数据库和画面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。
通用组态软件虽然具有上述很多优点,但是由于它的通用性,所以对于每一个具体应用的场合反而存在冗余,所以另一种选择为手工编写工控软件,这样可以更加有针对性地使软件为用户服务。
另外,采用编程语言自行设计工控软件还避免了购买组态软件的高昂费用。
不管是何种工业控制软件,都和数据的传输有密切关系。
可以说数据的集成、共享、通信等
问题是工业控制软件设计中最关键的部分之一。
数据通信是工控
软件的一项基本功能,为了打破“自动化孤岛” ,实现管控一体化,以及适应异地监控、网络控制等新型系统的发展要求。
工控软件中的数据通信应当具有良好的开放性。
不仅要实时可靠地获取工业现场的监控数据。
而且要能将这些数据方便地用于生产
管理系统,实现最大程度的数据共享。
从数据管理的角度出发,可以采用通用数据库格式进行数据的存储,而对于数据通信协议而言,则可以采用对工控软件设计极具发展潜力的 DDE 和 OPC 技术。
特别是后者,具有更可靠的数据传输性。
综上所述,本设计采用手工编写工控软件,而 OPC 的自动化接口为Visual Basic 服务,
VB 简单易用而且不需要对 OPC 有深奥的了解,所以在本设计中用 OPC 技术和 Visual Basic 编程语言来实现
设计任务要求——水厂监控画面的设计。
在第三章中将对 OPC 技术做必要的介绍。
1.3
系统结构 图 1 为供水系统水厂部分蓄水池与恒压供水结构图。
在设计要求里我们需要监控蓄水池的水位高度及进/出水阀的状态,还有要监测水位报警信号。
恒压供水部分我们要监测水泵
工作状态,电压或转速,监测各阀门状态,以及监控供水压力。
在滤水池的监控中,我们需要监测水池的水位高度及水位报警信号,还有六个阀门的工作状态。
在第四章中我们将设计其系统监控界面。
在图 1 中: M0M1M2——水泵电机 CJACJBCJC——工频交流接触器 CJ0CJ1CJ2——变频交流接触器 Sp——压力传感器 Sw——液位传感器 Sn——水泵转速 Sk——开泵信号 St——停泵信号 Vf——调频信号 Sp YB 至 Sn 用 Vf M 户 M0 380V 变频器 CJ0 M CJA M1 CJ1 M CJB M2 CJ2 CJC SkSt Sk St 计算 机电 C 模 模 数 数 计算 拟 拟 字 字 P 输 输 输 输 机 模 模 数 数 电 C源 U 入 出 入 出 拟 拟 字 字 P 输 输 输 输 源 U 入 出 入 出ControlLogix5550 ControlLogix5550 M M M SW1 SW2 SW3 1水池 2水池 3水池 M M M 图 1 恒压供水结构图 如上图在本设计中上位机与下位机
通信方式我们采用点-点式通信方式。
计算机 PLC ControlLogix5550 计算 电 C 模 模 数 数 拟 拟 字 字 机 P 输 输 输 输 源 U 入 出 入 出 排气阀 清水阀 M M 进水阀 M YW M 排水阀 滤池 M M 气冲阀 水冲阀 图 2 滤池结构示意图 在水处理过程中,过滤一般是指以石英砂等颗粒状滤料层截留水中悬浮杂质,从而使水获得澄清的工艺过程,滤池通常置于沉淀池之后,进水浊度一般在 10 度以下。
滤出水浊度必须达到饮用水标准。
当原水浊度较低一般在 100 度以下,且水质较好时,也可采用原水直接过滤。
过滤的功效不仅在于进一步降低水的浊度,而且水中有机物、细菌乃至病毒等将随水的浊度降低而被部分去除。
至于残留于滤后水中的细菌、病毒等在失去浑浊物的保护和依附之后,在滤后消毒过程中也将容易被杀灭,这就为滤后消毒创造了良好条件。
在饮用水的净化工艺中,有时沉淀池可省略,但过滤是不可缺少的,它是保证饮用水卫生安全的重要措施。
滤池有多种型式。
以石英砂作为滤料的普通快滤池使用历史最久。
在此基础上,人们从不同的工艺角度发展了其它型式快滤池。
为充分发挥滤料层截留杂质能力,出现了滤料料径循水流方向减小的过滤层及匀质滤料层,例如,双层、多层及匀质滤料滤池,上向流和双向流滤池等。
为了减少滤池阀门,出现了虹吸滤池、无阀滤池、移动冲洗罩滤池以及其它水力自动冲洗滤池等。
从冲洗方式上,还出现了有别于单纯水冲洗的气水反冲洗滤池。
各种型式的滤池,过滤原理基本一样,基本工作过程也相同,即过滤和冲洗交错进行。
如图 2 所示, 滤池部分我们也采用点对点通信方式。
该部分监控滤池的六个阀门状态及滤池水位。
YW 为液位传感器。
2 关于 RSLogix 与 RSLinx 的介绍 PLC 控制器使用的是罗克韦尔的 ControlLogix 在 PLC 恒压供水系统中,5000 下面对设计中用到的其相关软件做一些介绍。
2.1 RSLogix 介绍 RSLogixTM 系列梯形图编程软件包可以帮助您最大限度地发挥可编程控制器的性能、节省工程项目开发时间并提高生产率。
该系列软件运行在Microsoft Windows 操 作 系 统 上 , 支 持 Allen-Bradley SLC500TM 和MicroLogixTM 系列可编程控制器的 RsLogix50TM 凭借工业界领先的用户编程界面提供无与伦比的生产力;RSLogix 5TM 支持 Allen-Bradley PLC-5系列可编程控制器;RSLogix 5000TM 支持 Logix 5000 系列可编程控制器,同时还集成了运动控制功能。
RsLogix 提供了可靠的通讯能力,强大的编程功能和卓越的诊断能力。
RSLogix 有以下特点: 1、灵活易用的编辑功能。
2、通用的操作界面。
3、诊断和纠错工具。
4、强大、省时的其它功能。
RSLogix 编程软件包可以和以前基于 DOS 平台的罗克韦尔软件开发PLC-5、SLC500 及 MicroLogix 系列可编程控制器程序保持兼容,这使得跨平台的程序维护变得十分容易。
罗克韦尔软件提供给用户当今功能最为强大和完整的 RSLogix 系列编程软件。
作为最终的编程解决
方案, RSLogix 提供与罗克韦尔人机操作软件RSView32TM,通讯软件 RSLinxTM 之间的互操作性。
借助这一特性,在RSView32 中可以共享 RSLogix 中的数据标签库; 您可以使用 RSWireTM 直接根据 RSLogix 程序创建系统接线示意图; 您可以通过 RSTrendTM 进行自动 PID 回路调节;您可以通过 RSTrendTM 来监视参数的变化趋势您还可以通过 RSLogix Emulate 5TM 和 RSLogix Emulate 500TM 软件仿真运行梯形图程序,从而对程序进行调试。
2.2 RSLinx 介绍 RSLinx 为现场设备连接众多罗克韦尔软件提供全套的通讯服务, 这些软件包括 RSLogixs/500/5000、RSView32 和 RSSql 等。
同时,RSLinx 还提供了数种开放接口用于与第三方人机界面系统、数据采集/分析系统、客户应用程序软件进行通讯。
RSLinx 支持多个应用软件同时与在不同网络上的不同设备进行通讯。
通过 RSLinx 使得任意两点间的通讯变得更加方便。
RSLinx 提供友好的用户图形界面用于您指定网间穿梭的路径,这意味着通过 ControlLogix Gateway 就可以把办公室内的以太网络连接到控制层网络和现场设备。
在 RSLinx 中集成了众多设备配置和监视工具,仅需要用鼠标选取和点击所需设备就可以完成相应的操作。
RSLinx 提供了
网络所需的
全套通讯驱动程序,包括对传统 Allen-Brandley 网络的支持以及对最新、功能强大的 ControlLogix Gateway,所支持的硬件产品包括户 CMCIA 卡,串口和基于计算机的网络适配器等。
为了满足不同的功能需要并降低您的系统成本,RSLinx 提供多种不同版本的软件产品包。
RSLinx 可以为所有 Allen-Bradley 网络提供 完整的驱动程序。
通过RSLinx 软件,用户可以通过一个窗口查看所有活动网络,也可以通过一个或多个通讯接口同时运行时运行任何所支持的应用程序的组合。
RSLinx 提供最快速的 OPC、DDE 和 Custom C/C的接口。
RSLinx 还可以为用户提供多个网络、本地工作站和 DDE/OPC 性能诊断工具,便于进行系统维护和故障排除。
2.3 RSLinx 的通讯组态与 Topic 创建 我们使用 RSLinx 的 OPC 接口作为作为服务器,通信获取数据,OPC 客户端应用程序与 RSLinx 通信需要 RSLinx 组态 AB-DF1-2DF1 协议。
下面就该协议组态过程加以介绍。
第一步打开 RSLinx 软件。
在菜单项 “ “Communications 中选中” RSWho“项,进入图 1 画面,在该画面中可以查看已经组态好的通信协议。
在窗体的左半部显示了三种组态好的协议:Linx Gateways,AB-DF1-2,SC-1。
下面重新来组态 AB-DF1-2 协议。
第二步在菜单项“Communications“中选中”Configure Drivers“项,如图 2。
将会出现图 3 组态驱动器画面,在”Available Driver Types“下拉框中选择”RS –232 DF1 Drivers“,然后点击”Add New“。
第三步在图 3 中点击“Configure…“,进入图 4 画面,COM 口这里选择 COM2 口, ”Device“选择”Logix 5550-Serial Port“, 图1 图2 图3下面串口设置按默认值就行,点击“Auto-Configure“将会自动组态,组态成功会出现如图 5 的画面” Auto Configure Successful“。
点击“OK”组态完毕,即可使用“AB-DF1-2”协议。
重复第一步可查看。
图4 图5 在通信组态成功后,下面介绍创建一个 OPC Topic。
Topic 是 RSLogix5000 梯形图程序文件的文件名,是控制器,RSLinx 和 OPC 客户端应用
程序之间相互连接的桥梁。
图6 第一步先打开一个工程或创建一个新工程。
在“File”菜单项中选择 ,弹出图6对话框。
点击“New…”输入工程名称,既可创“Open Project”建一项新工程。
一个工程可以包含若干项 Topic。
这里我们打开一个已有工程“OPCshiyan”。
在图6中点击”OK“即打开了工程” OPCshiyan“。
第二步选择“DDE/OPC“菜单项中的”Topic Configure“项。
出现图7画面。
点击”New“新建 Topic”shiyan “。
在”Data 图7 ,Source“中选择”AB-DF1-2“协议;在”Data Collection“中(如图8)处理器类型选择”Logix 5000“,其余按默认即可;在 图8“Advanced Communication”中按如图9设置。
图9 第三步点击“Apply”将出现如图10的对话框,点击“是“,Topic“shiyan“将创建成功。
这样以后打开相应的工程和 Topic 即可与 OPC 客户端应用程序建立相应的 Topic 连接。
2.4 通过 RSLogix 5000 向控制器下载程序 在 RSLinx 通信组态(AB-DF1-2)完毕 和 Topic 设置完成后,将编写好的梯形图程序下载到控制器中,使控制器与 RSLinx 建立起通信连接。
这里简要介绍向控制器下载程序的过程。
第 一 步 将 编 写 好 的 梯 形 图 程 序 在 Logix5000 中 打 开 。
然 后 在“Communications” 菜单项中选择 , “Who Active” 将会弹出如图 11 的界面。
图 11 图10 可 以 看 到 有 DF1 通 信 方 式 , 在 其 分 支 中 选 择 “ 01 , 1756-L1/ALOGIX5550shiyan”项,“shiyan”就是我们打开的文件名,也是 RSLinx 和OPC 客户端程序中的 Topic。
第二步点击“Download” 按钮,将会出现如图 12 的对话框。
程序无误, 图 12点击“Download”按钮,将程序成功下载到控制器中。
打开 RSLinxOPC 客户端应用程序,OPC 客户端应用程序即可访问到控制器中的数据。
3 OPC 技术介绍 本设计通过 OPC 实现上位机(PC)与下位机(ControlLogix 5000 )的通信,下位机作为服务端,上位机作为客户端。
用 Visual Basic 编写客户端程序(水厂监控画面),在此对 OPC 先做介绍。
3.1 什么是 OPC ?3.1.1 OPC 的定义 OPC(OLE for Process Control )是过程控制的对象链接与嵌入,OLE(Object Linking and Embedding)意思是对象的链接与嵌入。
① OPC 是一个工业标准,是世界上技术领先的自动软硬件厂商、微软公司通力合作开发的。
OPC 是基于微软的 OLE(Active X) 、COM 和 DCOM技术构成的 (COM 即 Component Object Model, 部件对象模型;DCOM 即Distributed Component Object Model ,分布式部件对象之间网络通信技术),由一套标准的接口性质和方法组成,用于过程控制和制造业的自动化中。
3.1.2 OPC 的构成 OPC 中涉及 OPC 服务器和客户机。
OPC 服务器是数据源,它们拥有数据,或从各种设备、系统、控制器得到数据,典型的是用 C 或 C编成。
OPC 客户机是数据用户,它们在应用中使用数据,但不需要了解数据来源。
典型的是用
VB、Excel、
Delphi 等编写成。
OPC 服务器可以看作是纯软件,它可以在标准的设备上运行, 对 可以从标准硬件或外部硬件获取数据。
OPC来说开放是基础。
3.1.3 OPC 的对象和接口 OPC 标准规定的基本 OPC 对象有三个: OPC SERVER、 OPC GROUP和 OPC ITEM。
OPC 接口分为两类:自动化接口Automation Interface 、定制接口Custom Interface 。
自动化接口依赖于 OLE 技术,主要用于 VisualBasic 这样的程序和其他脚本程序。
定制接口为 C 这一类可使用自动化对象的程序服务。
OPC 服务器必须提供定制接口。
OPC 对象与接口如图 1所示。
COM 定制接口 标准 OPC 服务 OLE 自动化接口 对象 标 准 OPC OLE 自动化接口 Item 对象 COM 定制接口 标准 OPC Group OLE 自动化接口 对象 图 1 OPC 的对象与接口3.2 基于 COM 技术的 OPC3.2.1 基于 COM 技术的 OPC 微软为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了组件对象模型(Component Object Model COM)技术。
C.