组态王简明教程组态王软件的结构“组态王”是运行于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。原料罐和反应罐的动画连接设