组态王教程很实用.docx
《组态王教程很实用.docx》由会员分享,可在线阅读,更多相关《组态王教程很实用.docx(24页珍藏版)》请在冰豆网上搜索。
![组态王教程很实用.docx](https://file1.bdocx.com/fileroot1/2022-11/28/b775b6a2-09fe-43c1-9e56-e89400d7ac1f/b775b6a2-09fe-43c1-9e56-e89400d7ac1f1.gif)
组态王教程很实用
组态王简明教程
组态王软件的结构
“组态王”是运行于MicrosoftWindows98/NT中文平台的全中文界面的组态软件,采用了多线程、COM组件等新技术,实现了实时多任务,软件运行稳定可靠。
组态王具有一个集成开发环境“组态王工程浏览器”,在工程浏览器中您可以查看工程的各个组成部分,也可以完成构造数据库、定义外部设备等工作。
画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和画面运行系统TOUCHVEW来完成的。
TOUCHMAK是应用程序的开发环境。
您需要在这个环境中完成设计画面、动画连接等工作。
TOUCHMAK具有先进完善的图形生成功能;数据库中有多种数据类型,能合理地抽象控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简单的操作办法。
TOUCHVEW是“组态王”软件的实时运行环境,在TOUCHMAK中建立的图形画面只有在TOUCHVEW中才能运行。
TOUCHVEW从工业控制对象中采集数据,并记录在实时数据库中。
它还负责把数据的变化用动画的方式形象地表示出来,同时完成变量报警、操作记录、趋势曲线等监视功能,并生成历史数据文件。
组态王怎样和下位机通讯
“组态王”把第一台下位机看作是外部设备,在开发过程中您可以根据“设备配置向导”的提示一步步完成连接过程。
在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。
每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统,既保证了运行系统的高效率,也使系统能够达到很大的规模。
怎样产生动画效果
开发者在TOUCHMAK中制作的画面都是静态的,那么它们如何以动画方式反映工业现场的状况呢?
这需要通过实时数据库,因为只有数据库中的变量才是与现场状况同步变化的。
数据库变量的变化又如何导致画面的动画效果呢?
通过“动画连接”就是建立画面的图素与数据库变量的对应关系。
这样,工业现场的数据,比如温度、液面高度等,当它们发生变化时,通过驱动程序,将引起实时数据库中变量的变化,如果画面上有一个图素,比如指针,您规定了它的偏转角度与这个变量相关,您就会看到指针随工业现场数据的变化而同步偏转。
动画连接的引入是设计人机接口的一次突破它把程序员从重复的图形编程中解放出来,为程序员提供了标准的工业控制图形界面,并且有可编程的命令语言连接来增强图形界面的功能。
建立应用程序的一般过程
建立应用程序大致可分为以下四个步骤:
1.设计图形界面
2.构造数据库
3.建立动画连接
4.运行和调试
需要说明的是,这四个步骤并不是完全独立的,事实上,这四个部分常常是交错进行的。
在用TOUCHMAK构造应用程序之前,您要仔细规划您的项目,主要考虑三方面问题:
图形您希望用怎样的图形画面来模拟实际的工业现场的相应的工控设备?
用组态王系统开发的应用程序是以“画面”为程序单位的,每一个“画面”对应于程序实际运行时的一个Windows窗口。
数据怎样用数据描述工控对象的各种属性?
也就是创建一个实时数据库,用此数据库中的变量来反映工控对象的各种属性,比如“电源开关”。
您的规划中可能还要为临时变量预留空间。
动画数据和图形画面中的图素的连接关系是什么?
也就是画面上的图素以怎样的动画来模拟现场设备的运行,以及怎样让操作者输入控制设备的指令。
从下一节课开始,将按照以上步骤循序渐进地建立一个新的应用程序。
开始一个新项目
在本课程您将:
·理解项目的含义
·练习使用工程浏览器
·开始建立一个新项目
项目的含义
在“组态王”中,您开发的每一个应用系统称为一个项目,每个项目必须在一个独立的目录中,不同的项目不能共用一个目录。
项目目录也称为工程路径。
在每个工程路径下,组态王为此项目生成了一些重要的数据文件,这些数据文件一般是不允许修改的。
项目简介
通过本教程9节课的学习,你将建立一个反应车间的监控中心。
监控中心从车间现场采集生产数据,并以动画方式直观地显示在监控画面上。
监控画面还将显示实时趋势曲线和报警信息并提供查询历史数据的功能。
最后完成一个数据统计的报表。
为了不局限于是具体的下位机系统,本教程建立的项目采用了仿真驱动程序。
仿真驱动程序类似于实际的驱动程序,但能够模拟下位机自动产生数据并提供给组态王。
对于实际的下位机系统,可参考驱动程序联机帮助来设置驱动程序。
使用工程浏览器
工程浏览器是组态王的集成开发环境。
在这里你可以看到工程的各个组成部分,包括画面、数据库、外部设备、系统配置等,它们以树形结构表示。
工程浏览器的使用和Windows95的资源管理器类似,不再详述。
建立新项目
假设你已经正确安装了“组态王”,首先启动组态王工程浏览器。
工程浏览器运行后,将打开你上一次工作后的项目。
如果你是第一次使用工程浏览器,默认的是组态王示例程序所在的目录。
为建立一个新项目,请执行以下操作:
在工程浏览器中选择菜单“工程/新建”,出现“新建工程”对话框。
在对话框中输入工程名称:
myproj在工程描述中输入:
工程路径自动指定为当前目录下以工程名称命名的子目录。
如果你需要更改工程路径,请单击“浏览”按钮。
单击“确定”。
组态王将在工程路径下生成初始数据文件。
至此,新项目已经可以开始建立了。
你可以在每一个项目下建立数目不限的画面,在下一节,我们将开始绘制第一幅画面
设计画面
在本课程您将:
·学习工具箱的使用
·学习调色板的使用
·掌握图库的使用方法
建立新画面
在工程浏览器中左侧的树形视图中选择选择“画面”,在右侧视图中双击“新建”。
工程浏览器将运行组态王开发环境TOUCHMAK,弹出如下对话框。
在“新画面”对话框中设置如下图,在对话框中单击“确定”。
TOUCHMAK将按照你指定的风格产生一幅名为“监控中心”的画面。
使用图形工具箱
接下来在此画面中绘制各图素。
绘制图素的主要工具放置在图形编辑工具箱内。
当画面打开时,工具箱自动显示,如果工具箱没有出现,选择菜单“工具\显示工具箱”或按F10键打开它。
工具箱中各种基本工具的使用方法和WINDOWS中“画笔”很类似,假如你熟悉“画笔”的使用,绘制本画面将是很容易的。
首先绘制监控对象原料罐和反应罐:
在工具箱内单击圆角矩形工具,在画面上绘制一个矩形作为第一个原料罐;在矩形框上单击鼠标左键,在矩形框周围出现8个小矩形,当鼠标落在任一小矩形上时,按下鼠标左键,可以移动图形对象的位置用同样的方法绘制另一原料罐和反应罐。
在工具箱内单击多边形工具,绘制三条管道。
要改变管道的填充颜色,请选中此对象,然后单击调色板窗口的第二个按钮,再从调色板中选择任一种颜色。
在工具箱内单击文本工具,输入文字。
要改变文字的字体、字号,请先选中文本对象,然后在工具箱内选择“改变字体”。
选择菜单“图库\刻度”,在图库窗口中双击一种竖向的刻度。
在画面上单击鼠标左键,刻度将出现在画面上。
你可以缩放、移动它,如同普通图素一样。
在调整图形对象的相对位置时,几种对齐工具可能经常会用到。
首先选中所有需要对齐的图形对象,然后在工具箱中单击所需的对齐工具即可。
最后,绘制的画面如下图。
选择菜单“文件\全部存”,保存你的工作成果。
定义外部设备和数据库
在本课程您将:
·掌握外部设备的定义方法
·学习定义变量的方法
定义外部设备
组态王把那些需要与之交换数据的设备或程序都作为外部设备。
外部设备包括:
下位机(PLC、仪表、板卡等),它们一般通过串行口和上位机交流数据;其他Windows应用程序,它们之间一般通过DDE交换数据;外部设备还包括网络上的其他计算机。
只有在定义了外部设备之后,组态王才能通过I/O变量和它们交换数据。
为方便你定义外部设备组态王设计了“设备配置向导”引导你一步步完成设备的连接。
如图T6-1.PNG。
本教程中使用仿真PLC和组态王通信。
仿真PLC可以模拟PLC为组态王提供数据。
假设仿真PLC连接在计算机的COM1口。
在组态王工程浏览器的左侧选中“COM1”,在右侧双击“新建”,运行“设备配置向导”。
选择“仿真PLC”的“串口”项,单击“下一步”;为外部设备取一个名称,输入“PLC1”,单击“下一步”;为设备选择连接串口,假设为COM1,单击“下一步”;填写设备地址,假设为1,单击“下一步”;请检查各项设置是否正确,确认无误后,单击“完成”。
设备定义完成后,你可以在工程浏览器的右侧看到新建的外部设备“PLC1”。
在定义数据库变量时,你只要把IO变量连接到这台设备上,它就可以和组态王交换数据了。
数据库的作用
数据库是“组态王”最核心的部分。
在TOUCHVEW运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。
定义变量的方法
对于我们将要建立的“监控中心”,需要从下位机采集两个原料罐的液位和一个反应罐的液位,所以需要在数据库中定义这三个变量。
因为这些数据是通过驱动程序采集到的,所以三个变量的类型都是I/O实型变量。
这三个变量分别命名为“原料罐1液位”、“原料罐2液位”和“反应罐液位”,定义方法如下:
在工程浏览器的左侧选择“数据词典”,在右侧双击“新建”,弹出“变量属性”对话框;对话框设置为如图T6-2:
设置完成后,单击“确定”。
用类似的方法建立另两个变量“原料罐2液位”和“反应罐液位”。
变量的类型
数据库中存放的是你制作应用系统时定义的变量以及系统预定义的变量。
变量可以分为基本类型和特殊类型两大类。
基本类型的变量又分为“内存变量”和“I/O变量”两类。
“I/O变量”指的是需要“组态王”和其它应用程序(包括I/O服务程序)交换数据的变量。
这种数据交换是双向的、动态的,就是说:
在“组态王”系统运行过程中,每当I/O变量的值改变时,该值就会自动写入远程应用程序;每当远程应用程序中的值改变时,“组态王”系统中的变量值也会自动更新。
所以,那些从下位机采集来的数据、发送给下位机的指令,比如“反应罐液位”、“电源开关”等变量,都需要设置成“I/O变量”。
那些不需要和其它应用程序交换只在“组态王”内需要的变量,比如计算过程的中间变量,就可以设置成“内存变量”。
基本类型的变量也可以按照数据类型分为离散型、模拟型、长整数型和字符串型。
内存离散变量、I/O离散变量:
类似一般程序设计语言中的布尔(BOOL)变量,只有0,1两种取值,用于表示一些开关量。
内存实型变量、I/O实型变量:
类似一般程序设计语言中的浮点型变量,用于表示浮点数据,取值范围10E-38至10E+38,有效值7位。
内存整型变量、I/O整型变量:
类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围-2147483648至2147483647。
内存字符串型变量、I/O字符串型变量:
类似一般程序设计语言中的字符串变量,用于记录一些有特定含义的字符串,如名称,密码等,该类型变量可以进行比较运算和赋值运算。
特殊变量类型有报警窗口变量、报警组变量、历史趋势曲线变量、时间变量四种。
这几种特殊类型的变量正是体现了“组态王”系统面向工控软件、自动生成人机接口的特色。
至此,数据库已经完全建立起来,驱动程序也已经准备好了,下一节课的任务将是使画面上的图素运动起来,实现一个动画效果的监控系统。
让画面运动起来
在本课程您将:
·理解动画连接的概念
·掌握定义动画连接的方法
动画连接的作用
在第一节课我们已经讲过,所谓“动画连接”就是建立画面的图素与数据库变量的对应关系。
对于我们即将建立的“监控中心”,如果画面上的原料罐、反应罐(矩形框对象)的大小能够随着变量“原料罐1液位”等变量值的大小而改变,那么,对于操作者来说,他就能够看到一个反应工业现场状态的监控画面,这正是本课程的目标。
接下来为1号原料罐、2号原料罐、反应罐三个图素建立动画连接。
建立动画连接
在画面上双击图形对象“1号原料罐”,弹出“动画连接”对话框。
单击“填充”按钮,弹出“填充连接”对话框,对话框设置如图T7-1。
注意填充方向和填充色的选择。
单击“确定”。
单击“动画连接”对话框的“确定”。
用同样的方法设置“2号原料罐”和“反应罐”的动画连接设置“反应罐”的动画连接时需要将“最大填充高度”的“对应数值”设为2000。
原料罐和反应罐的动画连接设置完毕。
作为一个实际上可用的监控程序,可能操作者仍需要知道液面的准确高度,而不仅仅是设置刻度。
这个功能由“模拟值输出”动画来实现。
在工具箱中选用文本工具,在“1号原料罐”矩形框的中部输入字符串“####”。
这个字符串的内容是任意的,比如你可以输入“原料罐1液位”当画面程序实际运行时,字符串的内容将被你需要输出的模拟值所取代。
用同样的方法,在另两个矩形框的中部输入字符串。
操作完成后,画面如图7-2。
双击文本对象“####”,弹出“动画连接”对话框。
单击“模拟值输出”,弹出“模拟值输出连接”对话框,对话框设置如图T7-3。
在此处,“表达式”是要输出的变量的名称。
在其他的情况下,此处可输入复杂的表达式,包括变量名、运算符、函数等。
输出格式可以随意更改,它们与字符串“####”的长短无关。
单击“确定”。
单击“动画连接”对话框的“确定”,完成设置。
同样的方法,为另两个字符串建立“模拟值输出”动画连接,连接的表达式分别为变量“原料罐2液位”和“反应罐液位”。
选择Touchmak菜单“文件\全部存”。
只有保存画面上的改变以后,在Touchvew中才能看到你的工作成果。
启动画面运行程序Touchvew。
Touchvew启动后,选择菜单“画面\打开”,在弹出的对话框中选择“监控中心”。
运行画面如下图。
实时趋势曲线与实时报警窗口
在本课程您将:
·了解趋势曲线和报警窗口的作用
·掌握实时趋势曲线的设置方法
·掌握实时报警窗口的设置方法
趋势曲线的作用
趋势曲线用来反应数据变量随时间的变化情况。
趋势曲线有两种:
实时趋势曲线和历史趋势曲线。
这两种曲线外形都类似于坐标纸,X轴代表时间,Y轴代表变量值。
所不同的是,在你的画面程序运行时,实时趋势曲线随时间变化自动卷动,以快速反应变量的新变化,但是不能随时间轴“回卷”,不能查阅变量的历史数据;历史趋势曲线可以完成历史数据的查看工作,但它不会自动卷动,而需要通过命令语言来辅助实现查阅功能。
一个画面中可定义数量不限的趋势曲线,在同一个趋势曲线中最多可同时显示四个变量的变化情况。
报警窗口的作用
报警窗口用以反应变量的不正常变化,组态王自动对需要报警的变量进行监视。
当发生报警时,将这些报警事件在报警窗口中显示出来,其显示格式在定义报警窗口时确定。
报警窗口也有两种类型:
实时报警窗口和历史报警窗口。
实时报警窗口只显示最近的报警事件,要查阅历史报警事件只能通过历史报警窗口。
为了分类显示报警事件,可以把变量划分到不同的报警组,同时指定报警窗口中显示所需的报警组。
趋势曲线、报警窗口和报警组都是一类特殊的变量,有变量名和变量属性等。
趋势曲线、报警窗口的绘制方法和矩形对象相同,移动和缩放方法与一样。
本节课将为“监控中心”增加实时趋势曲线和实时报警窗口,历史趋势曲线和历史报警窗口将在下节课中实现。
设置实时趋势曲线
激活画面制作系统Touchmak,在工具箱中选用“实时趋势曲线”工具,然后在画面上绘制趋势曲线,画面如图T8-1;为了让操作者使用方便,在趋势曲线的下方需要增加标注,说明各种颜色的曲线所代表的变量。
双击此实时趋势曲线对象,弹出“实时趋势曲线对象”对话框,对话框设置如下图:
设置实时报警窗口
在工具箱中选用报警窗口工具,在画面上绘制报警窗口,画面如图T8-3;为使报警窗口内能显示变量的非正常变化,你必须先做如下设置:
切换到工程浏览器,在左侧选择“报警组”然后双击右侧的图标进入“报警组定义”对话框。
在“报警组定义”对话框中将“RootNode”修改为“车间”。
单击“确认”,关闭“修改报警组”对话框。
单击“报警组定义”对话框的“确认”按钮。
在工程浏览器的左侧选择“数据词典”,在右侧双击变量名“原料罐1液位”。
在“变量属性”对话框中单击“报警定义”标签。
将对话框设置如图T8-4;报警组名已经自动设为“车间”。
单击“确定”,关闭对话框。
用同样的方法定义变量“原料罐2液位”和“反应罐液位”的报警限只有在“变量定义”对话框中定义了变量的报警方式后,才能在报警窗口中显示此变量。
接下来设置报警窗口。
双击此报警窗口对象,弹出对话框,对话框设置如图T8-5;各种文本的颜色你可自由设置。
单击“报警信息格式”,设置格式如T8-6;单击“确认”单击“报警窗口定义”的确定按钮。
选择菜单“文件/全部存”,保存你的工作成果。
激活画面运行程序Touchvew,画面效果如下:
查阅历史数据
在本课程您将:
·建立多画面的应用程序
·学习历史趋势曲线的使用方法
·学习历史报警窗口的使用方法
·建立命令语言文本
历史曲线的作用
对于一个实际可用的系统来说,一幅画面常常是不够的。
组态王允许你建立画面数目不限的复杂程序。
本课将要建立的历史趋势曲线和报警窗口将分别属于另两幅画面。
激活Touchmak程序选择菜单“文件/新画面”。
设置“新画面”对话框如下:
画面名称:
历史趋势曲线
对应文件:
pic00002.pic
注释:
反应车间的监控中心----历史趋势画面
画面风格:
覆盖式
画面边框:
粗边框
画面位置:
左边:
229
顶边:
190
宽度:
417
高度:
256
标题杆:
无效
大小可变:
无效
绘制历史趋势曲线
在工具箱内选择历史趋势曲线工具,在新画面上绘制历史趋势。
双击趋势曲线,弹出“历史趋势曲线”对话框,对话框包括“曲线定义”和“标识定义”两部分。
曲线定义如图T9-1、图T9-2;单击对话框的“确定”按钮。
对使趋势曲线内能显示变量的变化情况,你必须先对变量做如下设置:
选择菜单“数据库/数据词典”。
在“变量定义”对话框中单击“速览”。
在变量列表中双击变量“原料罐1液位”。
单击“记录定义”对话框中“数据变化记录”选择框,使之有效。
单击“保存”。
用同样的方法使变量“原料罐2液位”和“反应罐液位”的“是否记录”选项都有效。
只有在“变量定义”对话框中使变量的“是否记录”选项有效时,才能在历史趋势曲线中显示此变量的变化情况,这是因为历史趋势曲线中的数据都取自记录文件,而数据文件只记录那些“是否记录”有效的变量。
为历史曲线建立控制
在上节课讲到,历史趋势曲线不能自动卷动。
为了从历史曲线上能够查询到所有时间段的历史数据,必须通过命令语言来动态改变历史曲线的时间轴(X轴)的范围。
历史曲线时间轴的范围是由历史曲线的两个属性确定的。
属性ChartStart代表时间轴的起始值属性ChartLength代表时间轴的长度。
如果这两个属性的值被改变,历史曲线的时间轴范围也就被改变了。
命令语言是一段类似于C语言的程序,如果能充分利用,将极大的扩充组态王的功能。
在本处使用的命令语言仅仅是“命令语言连接”,是动画连接的一种。
在工具箱内选择按钮工具,绘制一个按钮。
单击此按钮,使之处于选中状态,选择菜单“编辑/字符替换”。
将“字符串替换”对话框图中将字符串替换为“<<”。
单击“确定”。
同样的方法,再绘制另一按钮,标记为“>>”。
这两个按钮将用来卷动历史曲线的时间轴。
双击按钮“<<”,弹出“动画连接”对话框。
单击“弹起时”。
在“命令语言”对话框中输入命令语言程序:
history.ChartStart=history.ChartStart-300;单击“确定”,关闭“命令语言”对话框。
单击“确定”,关闭“动画连接”对话框。
以上设置将使按钮成为触敏对象,在画面程序运行时,单击此按钮(当鼠标左键弹起时)将执行你输入的命令语言程序。
此程序的目的是使历史曲线history的Chartstart属性值减小5分钟=300秒用同样的方法为按钮“>>”建立“弹起时”命令语言连接,程序为:
history.ChartStart=history.ChartStart+300;调整按钮的位置,完成后的画面如下图:
建立历史报警窗口
再新建一幅历史报警画面。
激活Touchmak程序选择菜单“文件/新画面”。
设置“新画面”对话框如下:
画面名称:
历史报警曲线
对应文件:
pic00003.pic
注释:
反应车间的监控中心----历史报警窗口
画面风格:
覆盖式
画面边框:
粗边框
画面位置:
左边:
223
顶边:
131
宽度:
417
高度:
250
标题杆:
无效
大小可变:
无效单击“确定”。
在工具箱中选用“报警窗口”工具绘制报警窗口。
画面如下图;“前”“后”两个按钮是用来翻阅历史报警事件的。
双击报警窗口,将“报警窗口定义”对话框设置为:
历史报警窗口:
有效
报警窗口名:
反应车间历史报警窗口
标题:
有效
报警组名已自动设置为“车间”单击“报警信息格式”,将“报警信息格式”对话框设置为下下图。
为历史报警窗口建立控制
双击按钮“前”,设置“弹起时”命令语言动画连接:
PageUp(反应车间历史报警窗口,5);使用函数PageUp的目的是:
每当操作者单击按钮时,报警窗口内的信息向上卷动5行。
同样的方法为按钮“后”设置“弹起时”命令语言动画连接:
PageDown(反应车间历史报警窗口,5);选择菜单“文件/全部存”。
激活画面运行程序Touchvew,选择菜单“画面/打开”。
在“打开画面”对话框中选中“历史报警窗口”,单击“确定”。
现在可以通过按钮查阅所有报警事件了。
建立画面切换的控制
目前在Touchvew中打开画面的方法是通过菜单“画面/打开”,为了使操作者使用更方便,你可以设置按钮,再通过命令语言连接来完成打开、关闭画面的功能。
在画面“监控中心”上绘制按钮“查阅历史数据”并设置“弹起时”命令语言连接:
ShowPicture("历史趋势曲线");绘制按钮“停止查阅历史数据”并设置“弹起时”命令语言连接:
ClosePicture("历史趋势曲线");绘制按钮“查阅历史报警”并设置“弹起时”命令语言连接:
ShowPicture("历史报警窗口");绘制按钮“停止查阅历史报警”并设置“弹起时”命令语言连接:
ClosePicture("历史报警窗口");
退出程序的控制
最后,为你的整个应用程序设置退出功能:
在画面“监控中心”上绘制按钮“停止监控”,“弹起时”的命令语言连接为:
Exit(0);最终的画面如图T9-6;选择菜单“文件/全部存”。
激活画面运行程序,你的监控系统已经完全建立起来了。
报告和控件
在本课程您将:
·学习制作报告的方法
·了解组态王的控件
·在组态王中使用控件
报告的用途
历史数据报告用以读取组态王历史数据记录文件中的变量值。
用户可以把过去一段时间内的历史数据变量取出并生成一个历史数据报告文件。
数据报告是对生产过程中变量状态的记录和反映,它以一定格式输出用户指定的变量值和其他信息,因此,数据报告实际上就是一种简单化的数据报表。
组态王提供的数据报告类型有两种·实时数据报告:
在组态王运行过程中,实时将当前数据变量按指定报告格式生成报告文件。
实时