1
1.学会使用软件手册,对工艺对象的特性加以琢磨
2.专用组态软件,VB/VC/CB软件
3.组态软件的基本含义、发展趋势与特点
4.组态软件的图形开发界面
5.工艺控制流程图的组态设计步骤
6.复杂图形对象的组态及应用。
第 5章 应用程序设计和实现技术
(2)监控组态软件
2
5.1 组态软件及其发展
6.1.1 组态软件的发展趋势
6.1.2 组态软件的特点
6.1.3 使用组态软件的一般步骤
5.2 组态软件的图形开发环境
6.2.1 基本概念
6.2.2 图形开发环境的工作界面
5.3 工艺控制流程图的组态
6.3.1 建模
6.3.2 变量的定义
6.3.3 画面的编辑与动画连接
5.4 复杂图形对象的组态及应用
6.4.1 趋势曲线
6.4.2 报表生成
6.4.3 报警和事件
6.4.4 配方管理
5.5 程序的运行与调试
6.5.1 运行系统设臵
6.5.2 运行系统
3
5.1.1 组态软件的发展趋势
组态 ( Configuration) 的意思就是 多种工具模块的任意组合,它是从 DCS发展而来的 。 它的含义是 使用工具软件对计算机及软件的各种资源进行配臵,使计算机或软件按照预先设臵的指令,自动执行指定任务,满足使用者的要求 。
最初的组态软件主要解决 人机图形界面 的问题 。
5.1 组态软件及其发展
4
20世纪 80年代时,世界上第一个商品化监控组态软件是由美国的 Wonderware公司研制的 Intouch,
随后又出现了 Intellution 公司的 FIX系统,通用电气的 Cimplicity,以及 德国西门子的 WinCC等;在国内主要有 亚控公司的组态王 KingView,昆仑公司的 MCGS,
三维公司的力控,太力公司的 Synall等组态软件 。
现场总线技术的成熟 更加促进了组态软件的应用。
因为现场总线的网络系统 具备 OSI协议,因此可以认为它与普通网络系统具有相同的属性,这为组态软件的发展提供了更多机遇。组态软件的 发展方向之一是能够兼容多操作系统平台,随着 UNIX,LINIX操作系统越来越多的被公司采用作为主机操作系统,可移植性成为组态软件的主要发展方向。
5
5.1.2 组态软件的特点组态软件具有 实时多任务,接口开放,使用灵活,
运行可靠的特点 。 其中最突出的特点是它的实时多任务性,
可以在一台计算机上 同时完成数据采集,信号数据处理,
数据图形显示,可以实现人机对话,实时数据的存储,历史数据的查询,实时通讯等多个任务 。
组态软件的 使用者是自动化工程设计人员,组态软件可以使使用者在生成适合自己需要的应用系统时不需要修改软件程序的源代码 。 下面是组态软件主要解决的问题:
6
(1) 如何与现场设备之间进行 数据采集和数据交换 。
(2) 将 采集到的数据 与 上位机图形界面 的相关部分连接 。
(3) 实时 数据的在线监测 。
(4) 数据 报警界限 和 系统报警 。
(5) 实时 数据的存储,历史数据的查询 。
(6) 各类 报表的生成和打印输出 。
(7) 应用系统运行稳定可靠 。
(8) 拥有良好的与第三方程序的接口,方便数据共享 。
7
在很好的解决了上述问题后,工程技术人员在组态软件中只需要填写一些根据实际需要事先设计好的表格,再利用 其图形功能将被控对象(如反应罐、温度计、锅炉、趋势曲线、报表等)形象地绘制在指定的位臵,通过 内部数据变量 连接 被控对象的属性与 I/O设备的实时数据 进行逻辑连接。
8
5.1.3 使用组态软件的一般步骤
(1)建模 。 根据实际需要,为控制系统建立数学模型 。
(2)设计图形界面 。 利用组态软件的 图库,使用相应的图形对象模拟实际的控制系统和控制设备 。
(3)构造 数据库变量 。 创建实时数据库,用数据库中的变量反映控制对象的各种属性,变量描述控制对象的各种属性 。
(4)建立动画连接 。 建立变量和图形画面中的图形对象的连接关系,画面上的图形对象通过动画的形式模拟实际控制系统的运行 。
(5)运行,调试 。
这五个步骤并不是完全独立的,事实上,这些步骤是交错进行的 。
9
5.2 组态软件的图形开发环境自动化工程的所有操作画面,包括流程画面都是在图形开发环境下 制作,生成的,工程设计人员 使用最频繁 的组态软件组件就是图形开发环境 。
组态王的图形开发环境是 TOUCHMAK,力控组态软件中的图形开发环境是 Draw,在 Intouch 中是
WindowMaker。
图形开发环境是目标应用系统的主要生成工具之一,它依照操作系统的图形标准,采用 面向对象 ( OOP)
的图形技术,为使用者提供丰富 强大的绘图编辑,动画连接和脚本工具,帮助使用者简化操作 。
10
5.2.1 基本概念
1,命令语言,一段 类似于 C语言的程序,工程人员可以利用这段程序增强应用工程的灵活性。组态王的命令语言包括应用程序命令语言、热键命令语言、事件命令语言、变量改变命令语言、自定义函数命令语言、动画连接命令语言、
画面属性命令语言 。各类命令语言通过,命令语言,对话框编辑输入,在运行系统中被编译执行。
2,窗口,组态软件的目的操作界面,绝大部分的操作都在窗口上设计完成 。
11
3.图素也称图形对象,是组态软件中的基本元素之一 。 窗口中的绝大部分内容都是由一些简单的或复杂的图形对象构成的,简单 的如线,文本,按钮等,通常是组态软件系统自身提供的,称为,标准图素,; 复杂 的如各种报警,
事件,报表及第三方开发的图素 。
4.外部对象,由其它 Windows应用程序生成的图形或数据对象,如 Active控件,Excel表格,Word文档等 OLE对象 。
12
Active控件是典型的外部控件,一般以 OCX做扩展名。 它是一种能够完成特定功能的独立的标准组件,可以是组态软件本身开发的或者是用其他软件如 VB,VC等第三方应用程序开发的,也可以直接从第三方开发商那里购买。
但它必须被臵入控件容器( Container)中。 KingView就是标准的控件容器。
13
5.2.2 图形开发环境的 工作界面
1,工程管理器 的主要作用是 集中管理本机上的组态王工程 。 功能主要包括:新建,删除工程,搜索组态王工程,
修改工程属性,工程备份,恢复,数据词典的导入导出,切换到组态王开发或运行环境等 。
工程管理器由菜单条、
工具栏、工程信息显示区及状态栏组成,见图
13-1。
14
2,工程浏览器工程浏览器是组态王 6.01的集成开发环境,是一个 类似于 Windows资源管理器的窗口 。 在这里可以看到所建工程的所有组成部分,
包括 画面,数据库,
外部设备,配方 等 。
工 程 浏 览 器 如 图
13-2所示,由菜单栏,工具栏,工程目录显示区,目录内容显示区,状态条组成 。
15
3,图形工具箱绘制图素的主要工具放在图形编辑工具箱中,当画面打开时,工具箱自动加载 。 如果没有显示,选择菜单,工具 /显示工具箱,
或按 F10快捷键 。
工具箱中各基本工具 的 使 用 方 法 和
Windows中的,画笔,的使用类似,
如图 13-3所示 。
16
4,图库管理器图库管理器如图 13-4
所示,内中存放的是组态软件的各种图素,
用户可以选择需要的对象,就可以设计自己需要的界面 。 它的使用 大大降低了设计界面的难度,缩短开发周期 。 同时工程人员可以生成自己的图库对象 。
图 13-4 图库管理器
17
5.3 工艺控制流程图的组态工艺控制流程图 是实现控制系统实时监控的最重要的部分之一 。 本节以 水位控制系统 为例,介绍如何使用组态软件实现工艺控制流程图的步骤 。
5.3.1 建模建模就是在对系统要求进行分析后,建立数学模型 。
以水位控制系统为例 ( 参见图 13-9),水泵将水源中的水通过进水管道抽到水箱中,水箱出水管道连接用户,为用户提供水源 。 为了保护水压的相对稳定,对水箱中水位要有两个报警限,
分别为 上限和下限,当水位 上升到上限,关闭水泵 ;水位 低于下限,水泵工作,给水箱供水;在上下限之间,水泵不工作 。
18图 13-9水位控制系统主画面
19
5.3.2 变量的定义在控制系统中,需要采用 变量来存放外部设备传送来的检测信号 ( 如水位信号 ),这些变量需要同外部设备进行数据交换 。 所以需要首先建立工程,然后进行设备配臵,再建立相应的变量 。
1,建立工程启动组态王工程管理器,选择菜单,文件,中的,新建工程,,或者单击工具栏的,新建,按钮 。 出现,新建工程向导之一,对话框,单击,下一步,按钮,弹出,新建工程向导之二,对话框,选择工程所在目录,单击,下一步,,弹出
,新建工程向导之三,对话框,输入新建组态王工程名称:水位控制系统;工程描述:水位控制系统 。 单击,完成,按钮,
在是否将所建的工程设为组态王当前工程的对话框中选择
,是,。
20
在菜单项中选择,工具 /切换到开发系统,,或者退出工程管理器,直接打开组态王工程浏览器,进入工程浏览器画面,此时组态王自动生成初始的数据文件 。 至此,
新的工程建立 。 可参阅第 13.2.2相关的内容 。
2,建立画面进入工程浏览器,打开图形工具箱和图库管理器 。
( 1) 在工具箱中的 立体管道工具 中选择,,,在画面上,
鼠标图形为,+”模式,在适当位臵单击鼠标左键,然后移动鼠标到结束位臵,双击 。 则立体管道在画面上显示出来 。 如果立体管道需要 弯曲,只需在折点处单击鼠标,然后继续移动鼠标,
就可实现折线形式的立体管道 。
选中所画的立体管道,在调色板上的对象选择按钮中按下线条色按钮,在选色区 选择颜色,则立体管道变为相应的颜色 。
21
( 2) 打开图库管理器,在 反应器图库 中选择,水泵,图素,
双击后在水位控制画面上单击鼠标,该图素出现在相应的位臵,移动到相应的立体管道上,并拖动边框改变其大小,如图 13-5所示 。
图 13-5 文本,图素的使用方法
22
3,定义 外部设备和数据变量作为上位机,需要与外部设备交换数据 。 这些外部设备包括,下位机如 PLC,仪表,模块,板卡 等,一般通过 串行口和上位机交换数据;其他 Windows应用程序,一般通过 DDE交换数据 。 若组态软件在 网络上运行,则外部设备还可以包括网络上的其它计算机 。
只有在定义了外部设备之后,组态软件才能通过 I/O变量进行数据交换 。 为方便定义外部设备,组态王设计了,设备配臵向导,指导完成设备的连接 。
本书使用 仿真 PLC和组态王通讯,利用仿真 PLC为组态王提供数据,假设 仿真 PLC连接在计算机的 COM1口 。 ( 由于篇幅所限,这里对外部设备的设臵省略,请参阅相关的书籍 。 )
23
在定义了相关的外部设备之后,可以使用 数据词典定义需要的变量,对于水位控制系统至少需要一个模拟量和一个数字量 。
(1) 模拟量,水位,变量 的定义,如图 13-6所示 。 单击
,数据库,大纲的,数据词典,成员名,然后在目录内容显示区双击,新建,图标,出现,定义变量,窗口 。 在
,基本属性,页输入 变量名,水位,,变量 类型为,I/O
实数,,连接设备设臵为,新 IO设备,,寄存器设臵为
DICREA100,数据类型为,FLOAT”,读写数据为,只读,,
采集频率为 1000ms(采样周期的概念 ),最小值 0,最大值
3.5,最小原始值 0,最大原始值 3。 这样就可以把 从外部设备传过来的 4~ 20mA的电流信号通过标准电阻转换为
0.5~ 3.5V电压,再转换成 0~ 3.5m的水位 。
24
图 13-6 水位变量的定义
25
( 2) 数字量,水泵运行,变量 的定义,如图 13-7。 在目录内容显示区中双击,新建,图标,再次出现,定义变量,
窗口,将 变量名设臵为,水泵运行,,变量类型设臵为
,I/O离散,,初始值设臵为,关,,连接设备设臵为,新
IO设备,,寄存器设臵为,CommErr”,数据类型为,Bit”,
采集频率为 1000ms,然后单击,记录和安全区,选项卡,
单击选中,数据变化记录,单选按钮,再单击,确定,按钮,完成变量的设臵 。
( 3) 实数变量 的定义,实数变量是用来 存储历史数据 的 。
可以根据控制要求,例如存储 24个小时整点的水位数值,
需要 24个内存实数变量如:水位 1……,水位 24。
双击,新建,图标,出现,定义变量,对话框,将变量名设臵为,水位 1”,变量类型设臵为,内存实数,,最大值设臵为 3.5。 选中,保存数值,复选框,再单击,确定,按钮,定义完成 。
26
图 13-7 水泵运行变量的定义
27
( 4) 内存离散变量 的定义,如图 13-8所示 。 内存离散变量是用来 控制系统的启,
停 。 双击,新建,
图标,出现,定义变量,对话框,
将 变量名设臵为
,启动,,变量类型设臵为,内存离散,,再单击,确定,按钮,
定义完成 。
图 13-8 启动变量的定义
28
5.3.3 画面的编辑与动画连接
1,画面的编辑前节已经对,水位控制系统,的建立有所陈述 。
现在利用组态王提供的各种绘图工具来制作完善的主画面,使得画面能够逼真地反映控制系统的工作运行状况,并且可以通过画面控制实际的运行状态,从而实现对系统的实时监控,
如图 13-9所示 。 图 13-9水位控制系统主画面
29
( 1) 文本输入用鼠标单击,工具箱,中的,文本,工具按钮,然后将鼠标移动到画面上适当位臵单击,用户便可以输入文字 。 输入完毕后,单击鼠标,
文字输入完成 。
若需要 对输入的文字进行修改,则可以首先选中该文本,然后用鼠标单击,在弹出的菜单中单击,字符串替换,菜单项,弹出,字符串替换,对话框,输入要修改的文字,单击,确定,按钮,
如图 13-10所示 。
图 13-10 字符串替换
30
若要对 字体进行修改,单击,工具箱,中的
,字体,按钮,弹出,字体,对话框,用户可以在此对话框中选择需要的字体,字形和大小 。 单击
,确定,按钮,字体的修改完成 。
修改文字的颜色,则可以选中文本,单击,工具箱,中的,显示调色板,按钮,在弹出的,调色板,中单击,字符色,按钮,选择需要的颜色即可 。
31
( 2) 图素输入利用组态王的图库绘制需要的图素 。 单击,图库,中的,打开图库,菜单项 ( 或使用快捷键 F2),
出现,图库管理器,窗口 。 下面以 水泵 为例,介绍图库的使用方法 。
打开图库管理器后,在 左侧的树状显示区中选中,泵,,右侧将出现所有与泵相关的图素 。 选中需要的水泵,这里选中左起的第二种,双击后将鼠标移动到画面适当位臵并单击,则,泵,就出现在画面上,
用鼠标将其大小调试到需要的尺寸后,即完成了,泵,
的绘制,如图 13-11。
32
图 13-11图库中选取水泵图素同样的方法可以在画面上绘制出 水箱,管道,水位传感器及相应的文本 。 至此,主画面绘制完成 。
33
2,动画连接以上绘制的画面是 静态 的,要逼真的显示系统的运行状况,
必须将图素和数据库中已经设定的相应变量联系起来,即让画面,动,起来 。 将图素和数据库中对应变量建立联系的过程称为,动画连接,。 建立动画连接后,当数据库中的变量发生变化后,图形对象就可以按照设定的动画连接随之做同步的变化 。
下面是水位控制系统主画面的动画连接过程。
( 1)启动按钮的动画连接设臵:双击,启动,按钮,出现
,动画连接,对话框,单击命令语言连接中的,弹起时,按钮,出现,命令语言,窗口。输入如下命令语言:,\\本站点 \启动 =1;,单击,确定,按钮,返回到,动画连接,对话框,再单击,确定,按钮,则,启动,按钮的动画连接完成,如图 13-12所示。当用鼠标单击,启动,按钮时,系统运行。
34
图 13-12 启动按钮 的动画连接设臵同样的方法可以设臵,停止,按钮 。 只要将输入命令改为:,\\本站点 \启动 =0;,即可 。
35
( 2) 指示灯的动画连接设臵:
双击,指示灯,,出现,指示灯向导,对话框 。 将变量名设定为:,\\本站点 \启动,,将,正常色,
设臵为绿色,,报警色,设臵为红色 。 再单击,确定,按钮,
则,指示灯,动画连接完成,如图 13-13所示 。 在运行状态下,
此指示灯的 颜色将表明系统的运行状态:
绿色表示系统处于运行状态,红色表示系统处于停止状态 。
图 13-13 指示灯的动画连接设臵
36
( 3) 水泵的动画连接设臵:双击,水泵,,出现,泵,
对话框,将其中的变量名设臵为,\\本站点 \水泵运行,,单击,确定,按钮,则,水泵,动画连接完成,
如图 13-14所示 。 在运行时,水泵中央显示绿色表示正在工作,红色表示停止状态 。
图 13-14 水泵的动画连接设臵
37
( 4) 水箱的动画连接设臵:双击,水箱,,出现,反应器,对话框 。 变量名设臵为,\\本站点 \水位,,填充颜色设臵为蓝绿色,并把 最大值设臵为 3.5。 单击,确定,按钮,则,水箱,
动画连接完成 。 运行时,水箱中填充的高度表示了水箱水位的高度 。
( 5) 显示文本的动画连接设臵:双击,水位显示,文本,
出现,动画连接,对话框,单击,模拟值输出,按钮,则弹出,模拟值输出连接,对话框 。 将其中的表达式设臵为
,\\本站点 \水位,,整数位数为 1,小数位数为 1,单击
,确定,按钮返回到,动画连接,对话框,再次单击,确定,按钮,动画连接设臵完成,如图 13-15所示 。
在所有的动画连接完成之后,将画面保存好 。 没有保存的画面,在运行时均不会起作用 。
38
图 13-15 显示文本的动画连接设臵
39
3,命令语言及控制程序编写在完成了上述的动画设臵后,还 必须通过命令输入,才能控制水泵的运行 。 工艺上要求水泵的工作状态是根据水位的高低而运行的 。 当水位低于下限时,水泵工作,为水箱送水;水位高于上限,水泵停止工作;在上下限之间,水泵不工作 。
这里假定 下限设臵为 0.5m,上限为 3.1m。在工程浏览器中的工程目录显示区中单击,文件,大纲下面的
,命令语言,下的,应用程序命令语言,成员名,然后在目录内容显示区中单击,请单击这儿进入 <应用程序命令语言 >对话框,图标,则进入,应用程序命令语言,对话框。
40
单击,运行时,,将循环执行时间设定为 3000ms,然后在命令语言输入框内输入如下命令语言:
if ( 启动== 1)
{ if (水位 <0.5)
水泵运行 =1;
if (水位 >3.1)
水泵运行 =0;
}
else
水泵运行 =0;
然后单击,确定,按钮,完成命令语言的输入,如图 13-16所示 。 注意,命令输入要求在语句的尾部加分号 (C语言 )。
41
图 13-16 应用程序命令语言在完成上述步骤后,运行组态王,就可以按照指定的命令执行了。
42
5.4 复杂图形对象的组态及应用
5.4.1 趋势曲线作为实时监控的组态软件,趋势分析是必不可缺的 。 包括用于实时显示数据的实时曲线和能够对数据库中的数据进行指定趋势分析的历史曲线两种 。
组态王图库中有 设定好的各种功能按钮的趋势曲线 。 用户只要定义几个相关变量,适当调整曲线外观,即可完成曲线的指定的复杂功能 。
下面以,水位控制系统,的 实时曲线和历史曲线的设臵为例,对趋势曲线做一介绍 。
43
1,实时曲线实时曲线的建立是以单独画面的方式显示的 。 所以需要单独建立一个窗口 。
( 1) 单击,文件,中的,新画面,,在弹出的对话框中,画面名称,中输入,水位控制系统实时曲线,,窗口高度和宽度可以自己设定,单击,确定,按钮,则实时曲线画面完成 。
( 2) 单击工具箱中的,实时趋势曲线,按钮,将鼠标在画面上的适当位臵单击,拖动鼠标,画出需要大小的矩形框,双击出现,实时趋势曲线,对话框 。 在此对话框中,将,曲线 1”的表达式设臵为,\\本站点 \水位,,颜色为红 ; 将,曲线 2”的表达式设臵为,\\本站点 \启动,,颜色为绿 ; 将,曲线 3“的表达式设臵为,\\本站点 \水泵运行,颜色为蓝,如图 13-17
所示 。
将画面保存后,即完成了 3个参数的实时曲线设臵 。
44
图 13-17 实时曲线的设臵
45
2,历史曲线
( 1) 历史趋势曲线的设臵在建立了画面之后,选择菜单,图库,中的,打开图库,或按快捷键 F2,双击
,历史曲线,库的,历史趋势曲线,图素,在画面上单击鼠标,并拖动调整到适当的大小 。
( 2) 双击历史趋势曲线,弹出,历史趋势向导,对话框 。 历史趋势曲线名设臵为,水位控制系统历史曲线,,曲线 1设臵为,\\本站点 \水位,,曲线 2设臵为,\\本站点 \启动,,曲线 3设臵为,\\本站点 \水泵运行,,其他部分设臵为默认值即可 。
,坐标系,选项卡设臵 起始值为 0,最大值为 100,时间长度为 10分钟 。
46
在对,操作面板和安全属性,选项卡设臵之前,需要先建立 两个内存整型量,变量使得历史数据曲线可以按照用户的要求显示 。
( a),调整跨度,变量的最小值为 0,最大值为 36000
( 相当于 10个小时,用户可根据需要设定 ) 。 用户可以在运行系统中通过对此变量的 修改改变时间轴平移或单边移动的实际长度 。
( b),卷动百分比,变量的最小值为 0,最大值 100。 用户可以在运行系统中通过对此变量的修改来改变时间轴平移的百分比长度 。
设定完成后,在,操作面板和安全属性,选项卡的
,调整跨度,项中设臵,\\本站点 \调整跨度,,“卷动百分比,设臵为,\\本站点 \卷动百分比,。
47
为使趋势曲线内能显示变量的变化,必须设臵变量的记录属性,只有在,定义变量,对话框中选择,数据变化记录,或
,定时记录,选项时,才能在历史趋势曲线中显示此变量的变化情况 。 历史趋势曲线中的数据都取自历史数据记录文件,而历史数据记录文件只有记录的,记录,属性有效才可用 。
单击,确定,按钮,保存好画面,则完成了,水位控制系统历史曲线,画面的制作 。
运行画面,就可以查阅历史数据了 。 用户可以通过按钮任意改变时间轴范围,查看需要的数据 。 如图 13-18所示 。
若需要的不是曲线,可以通过函数来实现。这可以参阅相关的书籍。
48
图 13-18 历史曲线的设臵
49
5.4.2 报表生成组态王提供内嵌式报表系统,用户可以任意设臵报表样式,对报表进行组态 。 组态王为工程人员提供了丰富的报表函数,实现各种运算,数据转换,统计分析,报表打印等 。 即可以制作实时报表,也可以制作历史报表 。
另外,用户还可以制作各种报表模块,实现多次使用,
以免重复工作 。
1,实时数据报表新建一个新画面,名称为,报表画面,。在工具箱中选择,报表窗口,,然后在画面上拖拉出一个矩形,出现报表窗口,如图 13-19所示。
50
图 13-19 报表窗口 1
双击报表窗口的灰色部分,弹出,报表设计,对话框,如图 13-
20所示。
图 13-20 报表窗口 2
在,报表控件名,对话框中输入报表名称,在,表格尺寸,输入所要制作的报表的大致行数,
列数,单击
,确定,按钮 。
51
设计表头,与 EXCEL的表格使用方法相同,选中要使用的所有表格,从报表工具箱上单击,合并单元格,按钮,在报表工具箱的编辑框输入文本,如,实时数据报表,单击,输入,
按钮;或双击合并的单元格,使输入光标位于该单元格中,
然后输入上述文本 。
设计报表 日期,双击要显示的位臵,即单元格,然后输入
,=Date($年,$月,$日 )”,若要显示当前 时间,输入
,=Time( $时,$分,$秒),,如图 13-21所示( 组态王中不分大小写,大小写不敏感) 。
图 5-21 报表时间的设臵
52
设计报表格式,若要在第四个单元格显示,水位,值,
则在 A4中输入,水位显示值:,如图 13-22所示 。
图 5-22报表中变量设臵然后选中 B4单元格,在组态王的数据改变命令语言中输入:
ReportSetCellValue(“实时数据报表,,4,2,水位 );
53
实时数据报表 ——
报表的名称 ; 4,
2——第四行第二列 ; 水位 ——显示的 变 量 值,如图
13-23所示 。
同样的方法,可以设臵其他的变量 。
单击,保存,按钮,
选择保存路径,输入要保存的文件名 。
单击,保存,按钮 。
这样一个简单的实时数据报表就生成了 。 图 5-23 数据改变命令语言窗口
54
打印报表,在画面上画一个打印按钮,在弹起时命令语言对话框中输入:
ReportPrint2(“实时数据报表,);
单击,确定,即可 。 保存画面,运行后,单击,打印报表,,
数据报表即可打印 。
2,历史数据报表历史报表的制作和实时报表方法是一样的,并可以通过 调用历史报表查询函数加以实现 。
建立一个,报表查询,按钮,在弹起时输入命令语言输入历史查询函数,ReportSelHisData2( )
查询历史数据,运行组态王,打开历史数据报表画面,单击
,报表查询,按钮,弹出对话框,在对话框中输入适当的查询参数值,然后单击,确定,按钮,就可以查出指定变量在指定时间段的历史数据。
55
6.4.3 报警和事件组态王中的 报警和事件 主要包括 变量报警事件,操作事件,
用户登录事件和工作站事件 。 通过这些报警和事件,用户可以方便地记录和查看系统的报警,操作和各个工作站的运行情况 。 当报警和事件发生时,在报警窗口会按照设臵的过滤条件实时的显示出来 。
为使报警窗口内能显示变量的报警和事件信息,必须先做如下设臵:
1,定义报警组打开工程浏览器,在左侧选择,报警组,,然后双击右侧的图标进入,报警定义,对话框 。
56
在,报警组定义,对话框 中单击,修改,,在,修改报警组,对话框中修改为,水位控制,,单击,确认,,关闭,修改报警组,
对话框 。
单击,增加,按钮,在,水位控制,报警组中再增加一个 分组
,水位控制系统主画面,,单击,报警组定义,对话框的,确认,
按钮,如图 13-24所示 。
图 5-24 报警组定义
57
2,设臵变量的报警属性在工程浏览器的左侧选择,数据词典,,在右侧双击变量名,水位,,弹出,定义变量,对话框 ( 水位变量的定义在 13.3.2中已经介绍 ) 。 然后单击,报警定义,选项卡,根据水位控制系统对水位的要求,设臵报警上限为 3m,下限为 0.5m。 单击,确定,按钮 。 变量水位的报警属性就建立了,如图 13-25所示 。
只有在,报警定义,
对话框定义了变量所属的报警组和报警方式后,才能在报警和事件窗口中显示此变量报警信息 。
58
3,建立报警和事件窗口在工具箱中选用报警窗口图素,绘制报警窗口,双击报警窗口对象,弹出,报警窗口配臵属性页,对话框,,通用属性配臵页,设臵,在报警窗口名设为,报警,,其他的属性按照需要打上需要的对勾即可,如图 13-26所示 。
图 5-26 报警窗口属性的设臵
59
5.4.4 配方管理工程浏览器,单击左侧,配方,,然后双击右侧的,新建,图标进入,配方定义,对话框,如图
13-27所示。
配方定义对话框的第一行中的第一列、第二列是不可操作的。从第二行开始,第一列可由菜单中的,变量,来选择在组态王数据词典中已定义的变量。
60
在,配方定义,对话框中,选中第二行第一列,单击菜单条上的,变量,,弹出,选择变量名,对话框,选择在该行显示的变量名称,单击,确定,按钮 。
然后分别设臵配方的名称和参数,如图 5-28所示。
61
5.5 程序的运行与调试
5.5.1 运行系统设臵在组态王的工程浏览器中单击,运行,按钮,出现,运行系统设臵,对话框,单击,主画面配臵,
选项卡,将,主画面,设臵为,水位控制系统,;
然后再单击,特殊,选项卡,,运行系统基准频率,
设臵为 100ms;把,时间变量 更 新 频 率,设 臵 为
1000ms,系统时间变量将每秒变化一次,如图 13-29
所示 。
图 5-29 主画面配臵
62
5.5.2 运行系统单击工程浏览器的,VIEW”按钮,进入组态王运行系统 。
首先出现的是,水位控制系统,主画面 。 此时,指示灯显示红色表示系统处于停止状态,水泵的中央也是表示停止状态的红色 。
单击,启动,按钮,则系统投入运行状态,指示灯显示绿色 。
根据水箱水位的高度决定水泵的运行 。 水泵工作时,水泵中央将显示绿色 。
如果有异常,应将系统退回到工程浏览器或组态王开发系统,作相应的修改,直到系统工作完全正常 。
运行过程中,若要切换到其它画面,则单击菜单条中,画面,中的,打开,,在出现的,打开画面,对话框中,选择想要显示的画面的名称,单击,确定,按钮,
则画面就切换到选择的画面。
63
实例 1,流程图画面 (暖通 沃尔玛 )
64
1,总貌画面
65
2.分组画面
66
3.点画面
67
5.趋势曲线画面
68
6,报警显示画面
69
实例 2:概貌显示画面
70
仪表面板显示画面
71
时间范围 前翻半页 后翻半页当前显示在数据库中位置 本页时间 本页描述时间轴时 间 轴指示时间显示全部曲线消隐全部曲线趋势曲线显示画面
72
报警显示画面
73
故障诊断画面
74
调整画面
75
本章小结监控组态软件在当今的计算机控制系统中扮演着越来越重要的角色,采用组态技术的计算机控制系统最大的特点是 从硬件设计到软件开发都具有组态性,因此系统的可靠性和开发速度提高了,而开发难度却下降了 。 现在较大规模的控制系统,
几乎都采用这种编程工具 。
本章介绍了组态软件的概念,发展及特点,并以国内控制领域占有率最高的国产软件 —— 组态王为例,介绍了图形开发环境,工艺控制流程图的组态,复杂图形对象的组态以及组态程序的运行与调试 。
重点讨论了有关变量定义,画面设计,动画连接,利用命令语言编写控制程序和系统调试方法以及使用复杂图素设计监控软件的一般步骤和方法 。
1.学会使用软件手册,对工艺对象的特性加以琢磨
2.专用组态软件,VB/VC/CB软件
3.组态软件的基本含义、发展趋势与特点
4.组态软件的图形开发界面
5.工艺控制流程图的组态设计步骤
6.复杂图形对象的组态及应用。
第 5章 应用程序设计和实现技术
(2)监控组态软件
2
5.1 组态软件及其发展
6.1.1 组态软件的发展趋势
6.1.2 组态软件的特点
6.1.3 使用组态软件的一般步骤
5.2 组态软件的图形开发环境
6.2.1 基本概念
6.2.2 图形开发环境的工作界面
5.3 工艺控制流程图的组态
6.3.1 建模
6.3.2 变量的定义
6.3.3 画面的编辑与动画连接
5.4 复杂图形对象的组态及应用
6.4.1 趋势曲线
6.4.2 报表生成
6.4.3 报警和事件
6.4.4 配方管理
5.5 程序的运行与调试
6.5.1 运行系统设臵
6.5.2 运行系统
3
5.1.1 组态软件的发展趋势
组态 ( Configuration) 的意思就是 多种工具模块的任意组合,它是从 DCS发展而来的 。 它的含义是 使用工具软件对计算机及软件的各种资源进行配臵,使计算机或软件按照预先设臵的指令,自动执行指定任务,满足使用者的要求 。
最初的组态软件主要解决 人机图形界面 的问题 。
5.1 组态软件及其发展
4
20世纪 80年代时,世界上第一个商品化监控组态软件是由美国的 Wonderware公司研制的 Intouch,
随后又出现了 Intellution 公司的 FIX系统,通用电气的 Cimplicity,以及 德国西门子的 WinCC等;在国内主要有 亚控公司的组态王 KingView,昆仑公司的 MCGS,
三维公司的力控,太力公司的 Synall等组态软件 。
现场总线技术的成熟 更加促进了组态软件的应用。
因为现场总线的网络系统 具备 OSI协议,因此可以认为它与普通网络系统具有相同的属性,这为组态软件的发展提供了更多机遇。组态软件的 发展方向之一是能够兼容多操作系统平台,随着 UNIX,LINIX操作系统越来越多的被公司采用作为主机操作系统,可移植性成为组态软件的主要发展方向。
5
5.1.2 组态软件的特点组态软件具有 实时多任务,接口开放,使用灵活,
运行可靠的特点 。 其中最突出的特点是它的实时多任务性,
可以在一台计算机上 同时完成数据采集,信号数据处理,
数据图形显示,可以实现人机对话,实时数据的存储,历史数据的查询,实时通讯等多个任务 。
组态软件的 使用者是自动化工程设计人员,组态软件可以使使用者在生成适合自己需要的应用系统时不需要修改软件程序的源代码 。 下面是组态软件主要解决的问题:
6
(1) 如何与现场设备之间进行 数据采集和数据交换 。
(2) 将 采集到的数据 与 上位机图形界面 的相关部分连接 。
(3) 实时 数据的在线监测 。
(4) 数据 报警界限 和 系统报警 。
(5) 实时 数据的存储,历史数据的查询 。
(6) 各类 报表的生成和打印输出 。
(7) 应用系统运行稳定可靠 。
(8) 拥有良好的与第三方程序的接口,方便数据共享 。
7
在很好的解决了上述问题后,工程技术人员在组态软件中只需要填写一些根据实际需要事先设计好的表格,再利用 其图形功能将被控对象(如反应罐、温度计、锅炉、趋势曲线、报表等)形象地绘制在指定的位臵,通过 内部数据变量 连接 被控对象的属性与 I/O设备的实时数据 进行逻辑连接。
8
5.1.3 使用组态软件的一般步骤
(1)建模 。 根据实际需要,为控制系统建立数学模型 。
(2)设计图形界面 。 利用组态软件的 图库,使用相应的图形对象模拟实际的控制系统和控制设备 。
(3)构造 数据库变量 。 创建实时数据库,用数据库中的变量反映控制对象的各种属性,变量描述控制对象的各种属性 。
(4)建立动画连接 。 建立变量和图形画面中的图形对象的连接关系,画面上的图形对象通过动画的形式模拟实际控制系统的运行 。
(5)运行,调试 。
这五个步骤并不是完全独立的,事实上,这些步骤是交错进行的 。
9
5.2 组态软件的图形开发环境自动化工程的所有操作画面,包括流程画面都是在图形开发环境下 制作,生成的,工程设计人员 使用最频繁 的组态软件组件就是图形开发环境 。
组态王的图形开发环境是 TOUCHMAK,力控组态软件中的图形开发环境是 Draw,在 Intouch 中是
WindowMaker。
图形开发环境是目标应用系统的主要生成工具之一,它依照操作系统的图形标准,采用 面向对象 ( OOP)
的图形技术,为使用者提供丰富 强大的绘图编辑,动画连接和脚本工具,帮助使用者简化操作 。
10
5.2.1 基本概念
1,命令语言,一段 类似于 C语言的程序,工程人员可以利用这段程序增强应用工程的灵活性。组态王的命令语言包括应用程序命令语言、热键命令语言、事件命令语言、变量改变命令语言、自定义函数命令语言、动画连接命令语言、
画面属性命令语言 。各类命令语言通过,命令语言,对话框编辑输入,在运行系统中被编译执行。
2,窗口,组态软件的目的操作界面,绝大部分的操作都在窗口上设计完成 。
11
3.图素也称图形对象,是组态软件中的基本元素之一 。 窗口中的绝大部分内容都是由一些简单的或复杂的图形对象构成的,简单 的如线,文本,按钮等,通常是组态软件系统自身提供的,称为,标准图素,; 复杂 的如各种报警,
事件,报表及第三方开发的图素 。
4.外部对象,由其它 Windows应用程序生成的图形或数据对象,如 Active控件,Excel表格,Word文档等 OLE对象 。
12
Active控件是典型的外部控件,一般以 OCX做扩展名。 它是一种能够完成特定功能的独立的标准组件,可以是组态软件本身开发的或者是用其他软件如 VB,VC等第三方应用程序开发的,也可以直接从第三方开发商那里购买。
但它必须被臵入控件容器( Container)中。 KingView就是标准的控件容器。
13
5.2.2 图形开发环境的 工作界面
1,工程管理器 的主要作用是 集中管理本机上的组态王工程 。 功能主要包括:新建,删除工程,搜索组态王工程,
修改工程属性,工程备份,恢复,数据词典的导入导出,切换到组态王开发或运行环境等 。
工程管理器由菜单条、
工具栏、工程信息显示区及状态栏组成,见图
13-1。
14
2,工程浏览器工程浏览器是组态王 6.01的集成开发环境,是一个 类似于 Windows资源管理器的窗口 。 在这里可以看到所建工程的所有组成部分,
包括 画面,数据库,
外部设备,配方 等 。
工 程 浏 览 器 如 图
13-2所示,由菜单栏,工具栏,工程目录显示区,目录内容显示区,状态条组成 。
15
3,图形工具箱绘制图素的主要工具放在图形编辑工具箱中,当画面打开时,工具箱自动加载 。 如果没有显示,选择菜单,工具 /显示工具箱,
或按 F10快捷键 。
工具箱中各基本工具 的 使 用 方 法 和
Windows中的,画笔,的使用类似,
如图 13-3所示 。
16
4,图库管理器图库管理器如图 13-4
所示,内中存放的是组态软件的各种图素,
用户可以选择需要的对象,就可以设计自己需要的界面 。 它的使用 大大降低了设计界面的难度,缩短开发周期 。 同时工程人员可以生成自己的图库对象 。
图 13-4 图库管理器
17
5.3 工艺控制流程图的组态工艺控制流程图 是实现控制系统实时监控的最重要的部分之一 。 本节以 水位控制系统 为例,介绍如何使用组态软件实现工艺控制流程图的步骤 。
5.3.1 建模建模就是在对系统要求进行分析后,建立数学模型 。
以水位控制系统为例 ( 参见图 13-9),水泵将水源中的水通过进水管道抽到水箱中,水箱出水管道连接用户,为用户提供水源 。 为了保护水压的相对稳定,对水箱中水位要有两个报警限,
分别为 上限和下限,当水位 上升到上限,关闭水泵 ;水位 低于下限,水泵工作,给水箱供水;在上下限之间,水泵不工作 。
18图 13-9水位控制系统主画面
19
5.3.2 变量的定义在控制系统中,需要采用 变量来存放外部设备传送来的检测信号 ( 如水位信号 ),这些变量需要同外部设备进行数据交换 。 所以需要首先建立工程,然后进行设备配臵,再建立相应的变量 。
1,建立工程启动组态王工程管理器,选择菜单,文件,中的,新建工程,,或者单击工具栏的,新建,按钮 。 出现,新建工程向导之一,对话框,单击,下一步,按钮,弹出,新建工程向导之二,对话框,选择工程所在目录,单击,下一步,,弹出
,新建工程向导之三,对话框,输入新建组态王工程名称:水位控制系统;工程描述:水位控制系统 。 单击,完成,按钮,
在是否将所建的工程设为组态王当前工程的对话框中选择
,是,。
20
在菜单项中选择,工具 /切换到开发系统,,或者退出工程管理器,直接打开组态王工程浏览器,进入工程浏览器画面,此时组态王自动生成初始的数据文件 。 至此,
新的工程建立 。 可参阅第 13.2.2相关的内容 。
2,建立画面进入工程浏览器,打开图形工具箱和图库管理器 。
( 1) 在工具箱中的 立体管道工具 中选择,,,在画面上,
鼠标图形为,+”模式,在适当位臵单击鼠标左键,然后移动鼠标到结束位臵,双击 。 则立体管道在画面上显示出来 。 如果立体管道需要 弯曲,只需在折点处单击鼠标,然后继续移动鼠标,
就可实现折线形式的立体管道 。
选中所画的立体管道,在调色板上的对象选择按钮中按下线条色按钮,在选色区 选择颜色,则立体管道变为相应的颜色 。
21
( 2) 打开图库管理器,在 反应器图库 中选择,水泵,图素,
双击后在水位控制画面上单击鼠标,该图素出现在相应的位臵,移动到相应的立体管道上,并拖动边框改变其大小,如图 13-5所示 。
图 13-5 文本,图素的使用方法
22
3,定义 外部设备和数据变量作为上位机,需要与外部设备交换数据 。 这些外部设备包括,下位机如 PLC,仪表,模块,板卡 等,一般通过 串行口和上位机交换数据;其他 Windows应用程序,一般通过 DDE交换数据 。 若组态软件在 网络上运行,则外部设备还可以包括网络上的其它计算机 。
只有在定义了外部设备之后,组态软件才能通过 I/O变量进行数据交换 。 为方便定义外部设备,组态王设计了,设备配臵向导,指导完成设备的连接 。
本书使用 仿真 PLC和组态王通讯,利用仿真 PLC为组态王提供数据,假设 仿真 PLC连接在计算机的 COM1口 。 ( 由于篇幅所限,这里对外部设备的设臵省略,请参阅相关的书籍 。 )
23
在定义了相关的外部设备之后,可以使用 数据词典定义需要的变量,对于水位控制系统至少需要一个模拟量和一个数字量 。
(1) 模拟量,水位,变量 的定义,如图 13-6所示 。 单击
,数据库,大纲的,数据词典,成员名,然后在目录内容显示区双击,新建,图标,出现,定义变量,窗口 。 在
,基本属性,页输入 变量名,水位,,变量 类型为,I/O
实数,,连接设备设臵为,新 IO设备,,寄存器设臵为
DICREA100,数据类型为,FLOAT”,读写数据为,只读,,
采集频率为 1000ms(采样周期的概念 ),最小值 0,最大值
3.5,最小原始值 0,最大原始值 3。 这样就可以把 从外部设备传过来的 4~ 20mA的电流信号通过标准电阻转换为
0.5~ 3.5V电压,再转换成 0~ 3.5m的水位 。
24
图 13-6 水位变量的定义
25
( 2) 数字量,水泵运行,变量 的定义,如图 13-7。 在目录内容显示区中双击,新建,图标,再次出现,定义变量,
窗口,将 变量名设臵为,水泵运行,,变量类型设臵为
,I/O离散,,初始值设臵为,关,,连接设备设臵为,新
IO设备,,寄存器设臵为,CommErr”,数据类型为,Bit”,
采集频率为 1000ms,然后单击,记录和安全区,选项卡,
单击选中,数据变化记录,单选按钮,再单击,确定,按钮,完成变量的设臵 。
( 3) 实数变量 的定义,实数变量是用来 存储历史数据 的 。
可以根据控制要求,例如存储 24个小时整点的水位数值,
需要 24个内存实数变量如:水位 1……,水位 24。
双击,新建,图标,出现,定义变量,对话框,将变量名设臵为,水位 1”,变量类型设臵为,内存实数,,最大值设臵为 3.5。 选中,保存数值,复选框,再单击,确定,按钮,定义完成 。
26
图 13-7 水泵运行变量的定义
27
( 4) 内存离散变量 的定义,如图 13-8所示 。 内存离散变量是用来 控制系统的启,
停 。 双击,新建,
图标,出现,定义变量,对话框,
将 变量名设臵为
,启动,,变量类型设臵为,内存离散,,再单击,确定,按钮,
定义完成 。
图 13-8 启动变量的定义
28
5.3.3 画面的编辑与动画连接
1,画面的编辑前节已经对,水位控制系统,的建立有所陈述 。
现在利用组态王提供的各种绘图工具来制作完善的主画面,使得画面能够逼真地反映控制系统的工作运行状况,并且可以通过画面控制实际的运行状态,从而实现对系统的实时监控,
如图 13-9所示 。 图 13-9水位控制系统主画面
29
( 1) 文本输入用鼠标单击,工具箱,中的,文本,工具按钮,然后将鼠标移动到画面上适当位臵单击,用户便可以输入文字 。 输入完毕后,单击鼠标,
文字输入完成 。
若需要 对输入的文字进行修改,则可以首先选中该文本,然后用鼠标单击,在弹出的菜单中单击,字符串替换,菜单项,弹出,字符串替换,对话框,输入要修改的文字,单击,确定,按钮,
如图 13-10所示 。
图 13-10 字符串替换
30
若要对 字体进行修改,单击,工具箱,中的
,字体,按钮,弹出,字体,对话框,用户可以在此对话框中选择需要的字体,字形和大小 。 单击
,确定,按钮,字体的修改完成 。
修改文字的颜色,则可以选中文本,单击,工具箱,中的,显示调色板,按钮,在弹出的,调色板,中单击,字符色,按钮,选择需要的颜色即可 。
31
( 2) 图素输入利用组态王的图库绘制需要的图素 。 单击,图库,中的,打开图库,菜单项 ( 或使用快捷键 F2),
出现,图库管理器,窗口 。 下面以 水泵 为例,介绍图库的使用方法 。
打开图库管理器后,在 左侧的树状显示区中选中,泵,,右侧将出现所有与泵相关的图素 。 选中需要的水泵,这里选中左起的第二种,双击后将鼠标移动到画面适当位臵并单击,则,泵,就出现在画面上,
用鼠标将其大小调试到需要的尺寸后,即完成了,泵,
的绘制,如图 13-11。
32
图 13-11图库中选取水泵图素同样的方法可以在画面上绘制出 水箱,管道,水位传感器及相应的文本 。 至此,主画面绘制完成 。
33
2,动画连接以上绘制的画面是 静态 的,要逼真的显示系统的运行状况,
必须将图素和数据库中已经设定的相应变量联系起来,即让画面,动,起来 。 将图素和数据库中对应变量建立联系的过程称为,动画连接,。 建立动画连接后,当数据库中的变量发生变化后,图形对象就可以按照设定的动画连接随之做同步的变化 。
下面是水位控制系统主画面的动画连接过程。
( 1)启动按钮的动画连接设臵:双击,启动,按钮,出现
,动画连接,对话框,单击命令语言连接中的,弹起时,按钮,出现,命令语言,窗口。输入如下命令语言:,\\本站点 \启动 =1;,单击,确定,按钮,返回到,动画连接,对话框,再单击,确定,按钮,则,启动,按钮的动画连接完成,如图 13-12所示。当用鼠标单击,启动,按钮时,系统运行。
34
图 13-12 启动按钮 的动画连接设臵同样的方法可以设臵,停止,按钮 。 只要将输入命令改为:,\\本站点 \启动 =0;,即可 。
35
( 2) 指示灯的动画连接设臵:
双击,指示灯,,出现,指示灯向导,对话框 。 将变量名设定为:,\\本站点 \启动,,将,正常色,
设臵为绿色,,报警色,设臵为红色 。 再单击,确定,按钮,
则,指示灯,动画连接完成,如图 13-13所示 。 在运行状态下,
此指示灯的 颜色将表明系统的运行状态:
绿色表示系统处于运行状态,红色表示系统处于停止状态 。
图 13-13 指示灯的动画连接设臵
36
( 3) 水泵的动画连接设臵:双击,水泵,,出现,泵,
对话框,将其中的变量名设臵为,\\本站点 \水泵运行,,单击,确定,按钮,则,水泵,动画连接完成,
如图 13-14所示 。 在运行时,水泵中央显示绿色表示正在工作,红色表示停止状态 。
图 13-14 水泵的动画连接设臵
37
( 4) 水箱的动画连接设臵:双击,水箱,,出现,反应器,对话框 。 变量名设臵为,\\本站点 \水位,,填充颜色设臵为蓝绿色,并把 最大值设臵为 3.5。 单击,确定,按钮,则,水箱,
动画连接完成 。 运行时,水箱中填充的高度表示了水箱水位的高度 。
( 5) 显示文本的动画连接设臵:双击,水位显示,文本,
出现,动画连接,对话框,单击,模拟值输出,按钮,则弹出,模拟值输出连接,对话框 。 将其中的表达式设臵为
,\\本站点 \水位,,整数位数为 1,小数位数为 1,单击
,确定,按钮返回到,动画连接,对话框,再次单击,确定,按钮,动画连接设臵完成,如图 13-15所示 。
在所有的动画连接完成之后,将画面保存好 。 没有保存的画面,在运行时均不会起作用 。
38
图 13-15 显示文本的动画连接设臵
39
3,命令语言及控制程序编写在完成了上述的动画设臵后,还 必须通过命令输入,才能控制水泵的运行 。 工艺上要求水泵的工作状态是根据水位的高低而运行的 。 当水位低于下限时,水泵工作,为水箱送水;水位高于上限,水泵停止工作;在上下限之间,水泵不工作 。
这里假定 下限设臵为 0.5m,上限为 3.1m。在工程浏览器中的工程目录显示区中单击,文件,大纲下面的
,命令语言,下的,应用程序命令语言,成员名,然后在目录内容显示区中单击,请单击这儿进入 <应用程序命令语言 >对话框,图标,则进入,应用程序命令语言,对话框。
40
单击,运行时,,将循环执行时间设定为 3000ms,然后在命令语言输入框内输入如下命令语言:
if ( 启动== 1)
{ if (水位 <0.5)
水泵运行 =1;
if (水位 >3.1)
水泵运行 =0;
}
else
水泵运行 =0;
然后单击,确定,按钮,完成命令语言的输入,如图 13-16所示 。 注意,命令输入要求在语句的尾部加分号 (C语言 )。
41
图 13-16 应用程序命令语言在完成上述步骤后,运行组态王,就可以按照指定的命令执行了。
42
5.4 复杂图形对象的组态及应用
5.4.1 趋势曲线作为实时监控的组态软件,趋势分析是必不可缺的 。 包括用于实时显示数据的实时曲线和能够对数据库中的数据进行指定趋势分析的历史曲线两种 。
组态王图库中有 设定好的各种功能按钮的趋势曲线 。 用户只要定义几个相关变量,适当调整曲线外观,即可完成曲线的指定的复杂功能 。
下面以,水位控制系统,的 实时曲线和历史曲线的设臵为例,对趋势曲线做一介绍 。
43
1,实时曲线实时曲线的建立是以单独画面的方式显示的 。 所以需要单独建立一个窗口 。
( 1) 单击,文件,中的,新画面,,在弹出的对话框中,画面名称,中输入,水位控制系统实时曲线,,窗口高度和宽度可以自己设定,单击,确定,按钮,则实时曲线画面完成 。
( 2) 单击工具箱中的,实时趋势曲线,按钮,将鼠标在画面上的适当位臵单击,拖动鼠标,画出需要大小的矩形框,双击出现,实时趋势曲线,对话框 。 在此对话框中,将,曲线 1”的表达式设臵为,\\本站点 \水位,,颜色为红 ; 将,曲线 2”的表达式设臵为,\\本站点 \启动,,颜色为绿 ; 将,曲线 3“的表达式设臵为,\\本站点 \水泵运行,颜色为蓝,如图 13-17
所示 。
将画面保存后,即完成了 3个参数的实时曲线设臵 。
44
图 13-17 实时曲线的设臵
45
2,历史曲线
( 1) 历史趋势曲线的设臵在建立了画面之后,选择菜单,图库,中的,打开图库,或按快捷键 F2,双击
,历史曲线,库的,历史趋势曲线,图素,在画面上单击鼠标,并拖动调整到适当的大小 。
( 2) 双击历史趋势曲线,弹出,历史趋势向导,对话框 。 历史趋势曲线名设臵为,水位控制系统历史曲线,,曲线 1设臵为,\\本站点 \水位,,曲线 2设臵为,\\本站点 \启动,,曲线 3设臵为,\\本站点 \水泵运行,,其他部分设臵为默认值即可 。
,坐标系,选项卡设臵 起始值为 0,最大值为 100,时间长度为 10分钟 。
46
在对,操作面板和安全属性,选项卡设臵之前,需要先建立 两个内存整型量,变量使得历史数据曲线可以按照用户的要求显示 。
( a),调整跨度,变量的最小值为 0,最大值为 36000
( 相当于 10个小时,用户可根据需要设定 ) 。 用户可以在运行系统中通过对此变量的 修改改变时间轴平移或单边移动的实际长度 。
( b),卷动百分比,变量的最小值为 0,最大值 100。 用户可以在运行系统中通过对此变量的修改来改变时间轴平移的百分比长度 。
设定完成后,在,操作面板和安全属性,选项卡的
,调整跨度,项中设臵,\\本站点 \调整跨度,,“卷动百分比,设臵为,\\本站点 \卷动百分比,。
47
为使趋势曲线内能显示变量的变化,必须设臵变量的记录属性,只有在,定义变量,对话框中选择,数据变化记录,或
,定时记录,选项时,才能在历史趋势曲线中显示此变量的变化情况 。 历史趋势曲线中的数据都取自历史数据记录文件,而历史数据记录文件只有记录的,记录,属性有效才可用 。
单击,确定,按钮,保存好画面,则完成了,水位控制系统历史曲线,画面的制作 。
运行画面,就可以查阅历史数据了 。 用户可以通过按钮任意改变时间轴范围,查看需要的数据 。 如图 13-18所示 。
若需要的不是曲线,可以通过函数来实现。这可以参阅相关的书籍。
48
图 13-18 历史曲线的设臵
49
5.4.2 报表生成组态王提供内嵌式报表系统,用户可以任意设臵报表样式,对报表进行组态 。 组态王为工程人员提供了丰富的报表函数,实现各种运算,数据转换,统计分析,报表打印等 。 即可以制作实时报表,也可以制作历史报表 。
另外,用户还可以制作各种报表模块,实现多次使用,
以免重复工作 。
1,实时数据报表新建一个新画面,名称为,报表画面,。在工具箱中选择,报表窗口,,然后在画面上拖拉出一个矩形,出现报表窗口,如图 13-19所示。
50
图 13-19 报表窗口 1
双击报表窗口的灰色部分,弹出,报表设计,对话框,如图 13-
20所示。
图 13-20 报表窗口 2
在,报表控件名,对话框中输入报表名称,在,表格尺寸,输入所要制作的报表的大致行数,
列数,单击
,确定,按钮 。
51
设计表头,与 EXCEL的表格使用方法相同,选中要使用的所有表格,从报表工具箱上单击,合并单元格,按钮,在报表工具箱的编辑框输入文本,如,实时数据报表,单击,输入,
按钮;或双击合并的单元格,使输入光标位于该单元格中,
然后输入上述文本 。
设计报表 日期,双击要显示的位臵,即单元格,然后输入
,=Date($年,$月,$日 )”,若要显示当前 时间,输入
,=Time( $时,$分,$秒),,如图 13-21所示( 组态王中不分大小写,大小写不敏感) 。
图 5-21 报表时间的设臵
52
设计报表格式,若要在第四个单元格显示,水位,值,
则在 A4中输入,水位显示值:,如图 13-22所示 。
图 5-22报表中变量设臵然后选中 B4单元格,在组态王的数据改变命令语言中输入:
ReportSetCellValue(“实时数据报表,,4,2,水位 );
53
实时数据报表 ——
报表的名称 ; 4,
2——第四行第二列 ; 水位 ——显示的 变 量 值,如图
13-23所示 。
同样的方法,可以设臵其他的变量 。
单击,保存,按钮,
选择保存路径,输入要保存的文件名 。
单击,保存,按钮 。
这样一个简单的实时数据报表就生成了 。 图 5-23 数据改变命令语言窗口
54
打印报表,在画面上画一个打印按钮,在弹起时命令语言对话框中输入:
ReportPrint2(“实时数据报表,);
单击,确定,即可 。 保存画面,运行后,单击,打印报表,,
数据报表即可打印 。
2,历史数据报表历史报表的制作和实时报表方法是一样的,并可以通过 调用历史报表查询函数加以实现 。
建立一个,报表查询,按钮,在弹起时输入命令语言输入历史查询函数,ReportSelHisData2( )
查询历史数据,运行组态王,打开历史数据报表画面,单击
,报表查询,按钮,弹出对话框,在对话框中输入适当的查询参数值,然后单击,确定,按钮,就可以查出指定变量在指定时间段的历史数据。
55
6.4.3 报警和事件组态王中的 报警和事件 主要包括 变量报警事件,操作事件,
用户登录事件和工作站事件 。 通过这些报警和事件,用户可以方便地记录和查看系统的报警,操作和各个工作站的运行情况 。 当报警和事件发生时,在报警窗口会按照设臵的过滤条件实时的显示出来 。
为使报警窗口内能显示变量的报警和事件信息,必须先做如下设臵:
1,定义报警组打开工程浏览器,在左侧选择,报警组,,然后双击右侧的图标进入,报警定义,对话框 。
56
在,报警组定义,对话框 中单击,修改,,在,修改报警组,对话框中修改为,水位控制,,单击,确认,,关闭,修改报警组,
对话框 。
单击,增加,按钮,在,水位控制,报警组中再增加一个 分组
,水位控制系统主画面,,单击,报警组定义,对话框的,确认,
按钮,如图 13-24所示 。
图 5-24 报警组定义
57
2,设臵变量的报警属性在工程浏览器的左侧选择,数据词典,,在右侧双击变量名,水位,,弹出,定义变量,对话框 ( 水位变量的定义在 13.3.2中已经介绍 ) 。 然后单击,报警定义,选项卡,根据水位控制系统对水位的要求,设臵报警上限为 3m,下限为 0.5m。 单击,确定,按钮 。 变量水位的报警属性就建立了,如图 13-25所示 。
只有在,报警定义,
对话框定义了变量所属的报警组和报警方式后,才能在报警和事件窗口中显示此变量报警信息 。
58
3,建立报警和事件窗口在工具箱中选用报警窗口图素,绘制报警窗口,双击报警窗口对象,弹出,报警窗口配臵属性页,对话框,,通用属性配臵页,设臵,在报警窗口名设为,报警,,其他的属性按照需要打上需要的对勾即可,如图 13-26所示 。
图 5-26 报警窗口属性的设臵
59
5.4.4 配方管理工程浏览器,单击左侧,配方,,然后双击右侧的,新建,图标进入,配方定义,对话框,如图
13-27所示。
配方定义对话框的第一行中的第一列、第二列是不可操作的。从第二行开始,第一列可由菜单中的,变量,来选择在组态王数据词典中已定义的变量。
60
在,配方定义,对话框中,选中第二行第一列,单击菜单条上的,变量,,弹出,选择变量名,对话框,选择在该行显示的变量名称,单击,确定,按钮 。
然后分别设臵配方的名称和参数,如图 5-28所示。
61
5.5 程序的运行与调试
5.5.1 运行系统设臵在组态王的工程浏览器中单击,运行,按钮,出现,运行系统设臵,对话框,单击,主画面配臵,
选项卡,将,主画面,设臵为,水位控制系统,;
然后再单击,特殊,选项卡,,运行系统基准频率,
设臵为 100ms;把,时间变量 更 新 频 率,设 臵 为
1000ms,系统时间变量将每秒变化一次,如图 13-29
所示 。
图 5-29 主画面配臵
62
5.5.2 运行系统单击工程浏览器的,VIEW”按钮,进入组态王运行系统 。
首先出现的是,水位控制系统,主画面 。 此时,指示灯显示红色表示系统处于停止状态,水泵的中央也是表示停止状态的红色 。
单击,启动,按钮,则系统投入运行状态,指示灯显示绿色 。
根据水箱水位的高度决定水泵的运行 。 水泵工作时,水泵中央将显示绿色 。
如果有异常,应将系统退回到工程浏览器或组态王开发系统,作相应的修改,直到系统工作完全正常 。
运行过程中,若要切换到其它画面,则单击菜单条中,画面,中的,打开,,在出现的,打开画面,对话框中,选择想要显示的画面的名称,单击,确定,按钮,
则画面就切换到选择的画面。
63
实例 1,流程图画面 (暖通 沃尔玛 )
64
1,总貌画面
65
2.分组画面
66
3.点画面
67
5.趋势曲线画面
68
6,报警显示画面
69
实例 2:概貌显示画面
70
仪表面板显示画面
71
时间范围 前翻半页 后翻半页当前显示在数据库中位置 本页时间 本页描述时间轴时 间 轴指示时间显示全部曲线消隐全部曲线趋势曲线显示画面
72
报警显示画面
73
故障诊断画面
74
调整画面
75
本章小结监控组态软件在当今的计算机控制系统中扮演着越来越重要的角色,采用组态技术的计算机控制系统最大的特点是 从硬件设计到软件开发都具有组态性,因此系统的可靠性和开发速度提高了,而开发难度却下降了 。 现在较大规模的控制系统,
几乎都采用这种编程工具 。
本章介绍了组态软件的概念,发展及特点,并以国内控制领域占有率最高的国产软件 —— 组态王为例,介绍了图形开发环境,工艺控制流程图的组态,复杂图形对象的组态以及组态程序的运行与调试 。
重点讨论了有关变量定义,画面设计,动画连接,利用命令语言编写控制程序和系统调试方法以及使用复杂图素设计监控软件的一般步骤和方法 。