监控组态软件本章要点1.组态软件的基本含义、发展趋势与特点。2.组态软件的图形开发界面。3.工艺控制流程图的组态设计步骤。4.复杂图形对象的组态及应用。本章主要内容13.1组态软件及其发展13.2组态软件的图形开发环境13.3工艺控制流程图的组态13.4复杂图形对象的组态及应用本章小结思考题13.1组态软件及其发展主要知识点:13.1.1组态软件的发展趋势13.1.2组态软件的特点13.1.3使用组态软件的一般步骤13.1.1组态软件的发展趋势组态(Configuration)的意思就是多种工具模块的任意组合,它是从DCS发展而来的。它的含义是使用工具软件对计算机及软件的各种资源进行配置,使计算机或软件按照预先设置的指令,自动执行指定任务,满足使用者的要求。最初的组态软件主要解决人机图形界面的问题。20世纪80年代时,世界上第一个商品化监控组态软件是由美国的Wonderware公司研制的Intouch,随后又出现了Intellution公司的FIX系统,通用电气的Cimplicity,以及德国西门子的WinCC等;在国内主要有亚控公司的KingView组态王,昆仑公司的MCGS,三维公司的力控,太力公司的Synall等组态软件。现场总线技术的成熟更加促进了组态软件的应用。因为现场总线的网络系统具备OSI协议,因此可以认为它与普通网络系统具有相同的属性,这为组态软件的发展提供了更多机遇。组态软件的发展方向之一是能够兼容多操作系统平台.随着UNIX、LINIX操作系统越来越多的被公司采用作为主机操作系统,可移植性成为组态软件的主要发展方向。13.1.2组态软件的特点组态软件具有实时多任务、接口开放、使用灵活、运行可靠的特点。其中最突出的特点是它的实时多任务性,可以在一台计算机上同时完成数据采集,信号数据处理、数据图形显示,可以实现人机对话,实时数据的存储、历史数据的查询,实时通讯等多个任务。组态软件的使用者是自动化工程设计人员,组态软件可以使使用者在生成适合自己需要的应用系统时不需要修改软件程序的源代码。下面是组态软件主要解决的问题:(1)如何与现场设备之间进行数据采集和数据交换。(2)将采集到的数据与上位机图形界面的相关部分连接。(3)实时数据的在线监测。(4)数据报警界限和系统报警。(5)实时数据的存储、历史数据的查询。(6)各类报表的生成和打印输出。(7)应用系统运行稳定可靠。(8)拥有良好的与第三方程序的接口,方便数据共享。在很好的解决了上述问题后,工程技术人员在组态软件中只需要填写一些根据实际需要事先设计好的表格,再利用其图形功能将被控对象(如反应罐、温度计、锅炉、趋势曲线、报表等)形象地绘制在指定的位置,通过内部数据变量连接被控对象的属性与I/O设备的实时数据进行逻辑连接。13.1.3使用组态软件的一般步骤(1)建模。根据实际需要,为控制系统建立数学模型。(2)设计图形界面。利用组态软件的图库,使用相应的图形对象模拟实际的控制系统和控制设备。(3)构造数据库变量。创建实时数据库,用数据库中的变量反映控制对象的各种属性,变量描述控制对象的各种属性。(4)建立动画连接。建立变量和图形画面中的图形对象的连接关系,画面上的图形对象通过动画的形式模拟实际控制系统的运行。(5)运行、调试。这五个步骤并不是完全独立的,事实上,这些步骤常常是交错进行的。13.2组态软件的图形开发环境自动化工程的所有操作画面,包括流程画面都是在图形开发环境下制作、生成的,工程设计人员使用最频繁的组态软件组件就是图形开发环境。组态王的图形开发环境是TOUCHMAK,力控R软件中的图形开发环境是Draw,在Intouch中是WindowMaker。图形开发环境是目标应用系统的主要生成工具之一,它依照操作系统的图形标准,采用面向对象的图形技术,为使用者提供丰富强大的绘图编辑、动画连接和脚本工具,提供右键菜单功能,帮助使用者简化操作。13.2.1基本概念1.命令语言命令语言是一段类似于C语言的程序,工程人员可以利用这段程序增强应用工程的灵活性。组态王的命令语言包括应用程序命令语言、热键命令语言、事件命令语言、变量改变命令语言、自定义函数命令语言、动画连接命令语言、画面属性命令语言。各类命令语言通过“命令语言”对话框编辑输入,在运行系统中被编译执行。2.窗口窗口是组态软件的目的操作界面,绝大部分的操作都在窗口上设计完成。3.图素也称图形对象,是组态软件中的基本元素之一。窗口中的绝大部分内容都是由一些简单的或复杂的图形对象构成的:简单的如线、文本、按钮等,通常是组态软件系统自身提供的,称为“标准图素”;复杂的如各种报警、事件、报表及第三方开发的图素。4.外部对象是指由其它Windows应用程序生成的图形或数据对象,如Active控件、Excel表格、Word文档等OLE对象。Active控件是典型的外部控件,一般以OCX做扩展名。它是一种能够完成特定功能的独立的标准组件,可以是组态软件本身开发的或者是用其他软件如VB、VC等第三方应用程序开发的,也可以直接从第三方开发商那里购买。但它必须被置入控件容器(Container)中。KingView就是标准的控件容器。13.2.2图形开发环境的工作界面1.工程管理器的主要作用是集中管理本机上的组态王工程。功能主要包括:新建、删除工程,搜索组态王工程,修改工程属性,工程备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。工程管理器由菜单条、工具栏、工程信息显示区及状态栏组成,见图13-1。2.工程浏览器工程浏览器是组态王6.01的集成开发环境,是一个类似于Windows资源管理器的窗口。在这里可以看到所建工程的所有组成部分,包括画面,数据库,外部设备,配方等。工程浏览器如图13-2所示,由菜单栏、工具栏、工程目录显示区、目录内容显示区、状态条组成。3.图形工具箱绘制图素的主要工具放在图形编辑工具箱中,当画面打开时,工具箱自动加载。如果没有显示,选择菜单“工具/显示工具箱”或按F10快捷键。工具箱中各基本工具的使用方法和Windows中的“画笔”的使用类似,如图13-3所示。4.图库管理器图库管理器如图13-4所示,内中存放的是组态软件的各种图素,用户可以选择需要的对象就可以设计自己需要的界面。它的使用降低了设计界面的难度,缩短开发周期。同时工程人员可以生成自己的图库对象。图13-4图库管理器13.3工艺控制流程图的组态工艺控制流程图是实现控制系统实时监控的最重要的部分之一。本节以水位控制系统为例,介绍如何使用组态软件实现工艺控制流程图的步骤。13.3.1建模建模就是在对系统要求进行分析后,建立数学模型。以水位控制系统为例(参见图13-9),水泵将水源中的水通过进水管道抽到水箱中,水箱出水管道连接用户,为用户提供水源。为了保护水压的相对稳定,对水箱中水位要有两个报警限,分别为上限和下限,当水位上升到上限,关闭水泵;水位低于下限,水泵工作,给水箱供水;在上下限之间,水泵不工作。13.3.2变量的定义在控制系统中,需要采用变量来存放外部设备传送来的检测信号(如水位信号),这些变量需要同外部设备进行数据交换。所以需要首先建立工程,然后进行设备配置,再建立相应的变量。1.建立工程启动组态王工程管理器,选择菜单“文件”中的“新建工程”,或者单击工具栏的“新建”按钮。出现“新建工程向导之一”对话框,单击“下一步”按钮,弹出“新建工程向导之二”对话框,选择工程所在目录,单击“下一步”,弹出“新建工程向导之三”对话框,输入新建组态王工程名称:水位控制系统;工程描述:水位控制系统。单击“完成”按钮,在是否将所建的工程设为组态王当前工程的对话框中选择“是”。在菜单项中选择“工具/切换到开发系统”,或者退出工程管理器,直接打开组态王工程浏览器,进入工程浏览器画面,此时组态王自动生成初始的数据文件。至此,新的工程建立。可参阅第13.2.2相关的内容。2.建立画面进入工程浏览器,打开图形工具箱和图库管理器。(1)在工具箱中的立体管道工具中选择“”,在画面上,鼠标图形为“+”模式,在适当位置单击鼠标左键,然后移动鼠标到结束位置,双击。则立体管道在画面上显示出来。如果立体管道需要弯曲,只需在折点处单击鼠标,然后继续移动鼠标,就可实现折线形式的立体管道。选中所画的立体管道,在调色板上的对象选择按钮中按下线条色按钮,在选色区选择颜色,则立体管道变为相应的颜色。(2)打开图库管理器,在反应器图库中选择“”图素,双击后在水位控制画面上单击鼠标,该图素出现在相应的位置,移动到相应的立体管道上,并拖动边框改变其大小,如图13-5所示。图13-5文本、图素的使用方法3.定义外部设备和数据变量作为上位机,需要与外部设备交换数据。这些外部设备包括:下位机如PLC、仪表、模块、板卡等,一般通过串行口和上位机交换数据;其他Windows应用程序,一般通过DDE交换数据。若组态软件在网络上运行,则外部设备还可以包括网络上的其它计算机。只有在定义了外部设备之后,组态软件才能通过I/O变量进行数据交换。为方便定义外部设备,组态王设计了“设备配置向导”指导完成设备的连接。本书使用仿真PLC和组态王通讯,利用仿真PLC为组态王提供数据,假设仿真PLC连接在计算机的COM1口。(由于篇幅所限,这里对外部设备的设置省略,请参阅相关的书籍。)在定义了相关的外部设备之后,可以使用数据词典定义需要的变量,对于水位控制系统至少需要一个模拟量和一个数字量。(1)模拟量“水位”变量的定义:如图13-6所示。单击“数据库”大纲的“数据词典”成员名,然后在目录内容显示区双击“新建”图标,出现“定义变量”窗口。在“基本属性”页输入变量名“水位”,变量类型为“I/O实数”,连接设备设置为“新IO设备”,寄存器设置为DICREA100,数据类型为“FLOAT”,读写数据为“只读”,采集频率为1000ms,最小值0,最大值3.5,最小原始值0,最大原始值3。这样就可以把从外部设备传过来的4~20mA的电流信号通过标准电阻转换为0.5~3.5V电压,再转换成0~3m的水位。图13-6水位变量的定义(2)数字量“水泵运行”变量的定义:如图13-7。在目录内容显示区中双击“新建”图标,再次出现“定义变量”窗口,将变量名设置为“水泵运行”,变量类型设置为“I/O离散”,初始值设置为“关”,连接设备设置为“新IO设备”,寄存器设置为“CommErr,数据类型为“Bit”,采集频率为1000ms,然后单击“记录和安全区”选项卡,单击选中“数据变化记录”单选按钮,再单击“确定”按钮,完成变量的设置。(3)实数变量的定义:实数变量是用来存储历史数据的。可以根据控制要求,例如存储24个小时整点的水位数值,需要24个内存实数变量如:水位1……,水位24。双击“新建”图标,出现“定义变量”对话框,将变量名设置为“水位1”,变量类型设置为“内存实数”,最大值设置为3.5。选中“保存数值”复选框,再单击“确定”按钮,定义完成。图13-7水泵运行变量的定义(4)内存离散变量的定义:如图13-8所示。内存离散变量是用来控制系统的启、停的。双击“新建”图标,出现“定义变量”对话框,将变量名设置为“启动”,变量类型设置为“内存离散”,再单击“确定”按钮,定义完成。图13-8启动变量的定义13.3.3画面的编辑与动画连接1.画面的编辑前节已经对“水位控制系统”的建立有所陈述。现在利用组态王提供的各种绘图工具来制作完善的主画面,使得画面能够逼真地反映控制系统的工作运行状况,并且可以通过画面控制实际的运行状态,从而实现对系统的实时监控,如图13-9所示。图13-9水位控制系统主画面(1)文本输入用鼠标单击“工具箱”中的“文本”工具按钮,然后将鼠标移动到画面上适当位置单击,用户便可以输入文字。输入完毕后,单击鼠标,文字输入完成。若需要对输入的文字进行修改,则可以首先选中该文本,然后用鼠标单击,在弹出的菜单中单击“字符串替换”菜单项,弹出“字符串替换”对话框,输入要修改的文字,单击“确定”按钮,如图13-10所示