项目12组态王在水塔水位控制系统中的应用【学习目标】1.了解组态王软件的组成和设计步骤。2.通过实例(报警指示灯、水塔水位)的学习,掌握组态王和PLC联合构建监控系统的方法和设计过程。12.1项目简述水塔水位控制装置如图12-1所示。水塔上限液位开关S4水塔下限液位开关S3水池上限液位S2水池下限液位S1电磁阀水塔水泵水池图12-1水塔水位控制装置水塔水位控制系统的工作过程:设水塔、水池初始状态都为空着的。当水池液位低于下限液位时,传感器S1此时为ON,电磁阀打开,开始往水池里注水,10s以后,若水池液位没有超过水池下限液位时,则系统发出报警,若系统正常,此时水池下限液位传感器S1为OFF,表示水位高于下限水位。系统检测到此信号时,由于水塔液位低于水塔水位下限,水泵开始工作,向水塔供水,当水池液面高于上限水位,则传感器S2为OFF,电磁阀关闭。但是水塔现在还没有装满,可此时水塔液位已经超过水塔下限水位,则传感器S3为OFF,水泵继续工作,从水池抽水向水塔供水,水塔抽满时,水塔液位超过水塔上限,则水塔上限液位传感器S4为OFF,水泵停止。但刚刚给水塔供水的时候,水泵已经把水池的水抽走了,此时水池液位已经低于水池上限。一个供水周期结束。当水塔水位低于下限水位,同时水池水位也低于下限水位时,水泵停止启动。使用组态软件构建实时监控系统,采集现场生产数据,并以动画形式直观地显示在监控画面上。利用组态软件构建监控系统,是现代化生产过程中实现对生产过程进行可视化监控以及对各种生产过程参数进行采集、保存和再利用的常用方法。目前,组态软件提供商很多,比如,美国Wonderware公司的InTouch软件,德国Siemens的WinCC,北京三维公司的ForceControl(力控)等。本项目以水塔水位控制系统为例介绍组态王软件的使用。12.2.1组态软件概述“组态”的概念是伴随着集散型控制系(DistributedControlSystem,简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。12.2相关知识组态的概念最早来自英文Configuration,含义是使用软件工具对计算机及软件的各种资源进行配置,达到使计算机或软件按照预先设置,自动执行特定任务,满足使用者的要求。监控组态软件是面向监控与数据采集的软件平台工具,具有丰富的设置项目,使用方式灵活,功能强大。组态软件最早出现时,主要解决人机图形界面问题。随着软件技术的发展,实时控制、通信联网、系统安全管理、开放的数据接口、I/O设备管理等已经成为它的主要内容。12.2.2组态王的结构“组态王6.5”是运行于MicrosoftWindowsXP/NT/2000中文平台上的全中文界面的人机界面软件(HMI),窗体框架结构,界面直观易学易用。采用了多线程、COM组件等新技术,实现了实时多任务且软件运行稳定可靠。“组态王6.5”软件包由工程管理器、工程浏览器、画面开发系统(内嵌于工程浏览器)和运行系统四部分组成。工程管理器用于新工程的创建和已有工程的管理,在工程浏览器中可以查看、配置工程的各个组成部分,画面的开发和运行由工程浏览器调用画面制作系统和工程运行系统来完成的。(1)工程管理器:是计算机内的所有应用工程的统一管理环境。工程管理器具有很强的管理功能,可用于新工程的创建及删除,并能对已有工程进行搜索、备份及有效恢复,实现数据词典的导入和导出等功能。(2)工程浏览器:是应用工程的设计管理配置环境,进行应用工程的程序语言的设计、变量定义管理、连接设备的配置、开放式接口的配置、系统参数的配置、WEB发布管理、第三方数据库的管理等。(3)画面开发系统:是应用工程的开发环境。在这个环境中完成画面设计、动画连接、程序编写等工作。(4)运行系统:是组态王6.5软件的实时运行环境,在应用工程的开发环境中建立的图形画面只有在运行系统中运行才能实时反应现场的运行情况。运行系统负责从控制设备中采集数据,并存于实时数据库中。它还负责把数据的变化以动画的方式形象地表示出来,同时可以完成变量报警、操作记录、趋势曲线等监视、存储功能,并按实际需求记录到历史数据库中。组态王做为一个开放型的通用工业监控系统,支持工控行业中大部分国内常见的测量控制设备。遵循工控行业的标准,采用开放接口提供第三方软件的连接(DDE/OPC/ACTIVEX等)。使用者无须关心复杂的通信协议原代码、无须编写大量的图形生成、数据统计处理程序代码就可以方便快捷地进行设备的连接、画面的开发、简单程序的编写从而完成一个监控系统的设计。12.2.3使用组态王的一般步骤应用工程需要在组态软件中进行完整、严密的组态,组态软件才能正常的工作。建立应用工程大致可分为以下五个步骤:(1)设计图形界面。(2)定义设备驱动。(3)构造数据库变量。(4)建立动画连接。(5)运行和调试。需要说明的是,这五个步骤并不是完全独立的,事实上,这五个部分常常是交错进行的。在用画面开发系统构造应用工程之前,要仔细规划项目,主要考虑三方面问题:(1)希望用怎样的图形画面来模拟实际的工业现场和相应的控制设备?用组态王系统开发的应用工程是以“画面”为程序显示单位的,“画面”显示在程序实际运行时的Windows窗口中。(2)创建一个实时数据库,用此数据库中的变量来反映控制对象的各种属性,比如变量“液位”,“压力”等。此外,还有代表操作者指令的变量,比如“按钮”。(3)画面上的图素以怎样的动画来模拟现场设备的运行,以及怎样让操作者输入控制设备的指令。12.3.1报警指示灯报警信号由PLC发出,组态界面显示报警信息。当发生报警时,报警指示灯红绿闪烁,正常时报警指示灯亮绿色。组态软件的变量与PLC地址的分配如表12-1所示。12.3应用举例组态软件变量名PLC地址指示报警A8.0报警灯PLC变量组态王内部变量表12-1组态软件变量与PLC地址的分配1.创建新的组态王工程在组态王中,所建立的每一个应用称为一个工程。每个工程必须在一个独立的目录下,不同的工程不能共用一个目录。在每一个工程的路径下,生成了一些重要的工程文件,这些数据文件是不允许直接修改的。1)启动“组态王”工程管理器,选择菜单“文件\新建工程”命令,或者单击工具栏的“新建”按钮,出现新建工程对话框,如图12-2所示。图12-2创建新工程向导一2)单击“下一步”按钮,弹出“新建工程向导之二”对话框,如图12-3所示。在工程路径文本框中输入一个有效的工程路径,或单击“浏览…”按钮,在弹出的路径选择对话框中选择一个有效的路径。图12-3选择工程所在路径E:\\kingview3)单击“下一步”按钮,弹出“新建工程向导之三”对话框,如图12-4所示。在“工程名称”文本框中输入新建工程的名称,工程名称有效长度应小于32个字符。在“工程描述”文本框中输入对该工程的描述文字,工程描述有效长度应小于40个字符。图12-4工程名称和描述4)单击“完成”按钮完成工程的新建。系统会弹出对话框,询问用户是否将新建工程设为当前工程,如图12-5所示。5)单击“否”按钮,则新建工程不是工程管理器的当前工程,如果要将该工程设为新建工程,还要执行“文件/设为当前工程”命令;单击“是”按钮,则将新建的工程设为组态王的当前工程。定义的工程信息会出现在工程管理器的信息表格中。当进入运行环境时系统默认运行此工程。图12-5创建新工程向导四2.创建组态画面“组态王”采用面向对象的编程技术,使用户可以方便地建立画面的图形界面。用户构图时可以象搭积木那样利用系统提供的图形对象完成画面的生成。同时支持画面之间的图形对象拷贝,可重复使用以前的开发结果。1)打开工程名为“报警指示灯控制”的工程,在工程浏览器左侧的“工程目录显示区”中选择“画面”选项,在工程浏览器右侧视图中用鼠标左键双击“新建”图标,弹出新建画面对话框如图12-6所示。在“画面名称”处输入新的画面名称,如报警指示系统,其它属性目前不用更改。点击“确定”按钮进入内嵌的组态王画面开发系统。如图12-7所示。接下来在此画面中绘制图素。绘制图素的主要工具放置在图形编辑工具箱内。当画面打开时,工具箱自动显示。2)在工具箱中单击文本工具,在画面上输入文字:指示报警灯。图12-6新建画面对话框图12-7系统开发界面图12-8报警组态画面3)选择菜单“图库/打开图库”命令或按F2键打开图库管理器,如图12-8所示。在图库管理器左侧名称列表中选择图库名称“指示灯”,从中选中指示灯,双击鼠标,图库管理器自动关闭,在工程画面上鼠标位置出现“∟”标志。在画面上点击鼠标,该图素就被放置在画面上。拖动边框到适当的位置,改变其大小。3.定义I/O设备接口本项目使用S7-300PLC和组态王通信。假设PLC连接在计算机的COM1口。1)选择工程浏览器左侧“设备\COM1”,在工程浏览器右侧用鼠标左键双击“新建”图标,弹出“设备配置向导”对话框,如图12-9所示。2)选择“PLC/西门子/S7-300系列/MPI(串口)”项,单击“下一步”弹出对话框,如图12-10所示。图12-9设备配置向导一MPI(串口)图12-10设备配置向导二PLC3)为外部设备取一个名称,如PLC,单击“下一步”,弹出连接串口对话框,如图12-11所示。图12-11选择串口号COM14)为设备选择连接串口,如COM1,单击“下一步”,弹出设备地址对话框,如图12-12所示。图12-12设备地址设置5)填写设备地址为2.2,单击“下一步”,弹出通讯参数对话框,如图12-13所示。6)设置通信故障恢复参数(一般情况下使用系统默认设置即可),单击“下一步”,弹出信息总结窗口,如图12-14所示。图12-13设置通信参数图12-14信息总结7)检查各项设置是否正确,确认无误后,单击“完成”。设备定义完成后,可以在工程浏览器的右侧看到新建的外部设备“PLC”。在定义数据库变量时,只要把I/O变量连结到这台设备上,它就可以和组态王交换数据了。4.串口设置单击工程浏览器中“设备”,出现下拉菜单,双击“COM1”,弹出如图12-15所示画面,设置波特率为19200,数据位为8,停止位为1,通信方式为RS232,单击“确定”按钮,完成串口设置。图12-15串口设置5.构造数据库数据库是“组态王”最核心的部分。在运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中心环节,所以说数据库是联系上位机和下位机的桥梁。1)选择工程浏览器左侧“数据库/数据词典”,在工程浏览器右侧用鼠标左键双击“新建”图标,弹出“变量属性”对话框,如图12-16所示。输入变量名“指示报警”,输入变量类型“内存离散”,单击“确定”按钮,完成变量“指示报警”的设置。2)变量“报警灯PLC变量”设置。鼠标单击数据词典,再双击右边的新建变量,输入变量名“报警灯PLC变量”,其它设置如图12-17所示。这些设置完成以后,就把组态软件的变量“报警灯PLC变量”与PLC中的地址Q8.0连接起来了。图12-16变量“指示报警”的设置图12-17变量“报警灯PLC变量”的设置A8.06.动画连接双击组态画面指示报警灯,弹出如图12-18所示的画面,添加变量名为“指示报警”,颜色设置正常为绿色,报警为红色,闪烁条件为:报警灯PLC变量==1。7.PLC通信设置在控制面板中左键双击“设置PG/PC接口”,单击“选择”,选中“PCAdapter(MPI)”,然后点击“安装”,将“PC图12-18报警灯动画连接Adapter(MPI)”添加到“已使用的接口参数分配(P)”中,如图12-19所示。选中“PCAdapter(MPI)”,然后点击“属性”,弹出属性对话框如图12-20所示。选中“本地连接”选项卡,在“连接到”中输入“COM1”,在“传输率”中输入“19200”,单击“确认”按钮,完成对PLC