局域网NT服务器Internet监控工作站其它工作站现场总线接口差压变送器调节阀差压变送器差压变送器温度变送器企业管理层(数据网络)过程监控层(数据网络)现场控制层(控制网络)现场总线网段人机界面设计人机界面(HumanComputerInterface,简称HCI)通常也称为用户界面界面设计主要包括三个方面:•设计软件构•件之间的接口•设计模块和其他非人的信息生产者和消费者的界面•设计人(如用户)和计算机间的界面界面的设计原则•分析用户类型•应用程序和界面分离•一致性•尽量减少用户工作•提供反馈•出错处理和帮助功能黄金规则在有关界面设计的著作中,TheoMandel创造了三条黄金原则:•置用户于控制之下•减少用户的记忆负担•保持界面一致组态王软件概述“组态王”是运行于MicrosoftWindows98/NT中文平台的全中文界面的组态软件,采用了多线程、COM组件等新技术,实现了实时多任务,软件运行稳定可靠。组态王具有一个集成开发环境“组态王工程浏览器”,在工程浏览器中我们可以查看工程的各个组成部分,也可以完成构造数据库、定义外部设备等工作。画面的开发和运行由工程浏览器调用画面制作系统TOUCHMAK和画面运行系统TOUCHVEW来完成的。TOUCHMAK是应用程序的开发环境。我们需要在这个环境中完成设计画面、动画连接等工作TOUCHMAK具有完善的图形生成功能;数据库中有多种数据类型,能合理地抽象控制对象的特性;对变量报警、趋势曲线、过程记录、安全防范等重要功能都有简单的操作办法。TOUCHVEW是“组态王”软件的实时运行环境,在TOUCHMAK中建立的图形画面只有在TOUCHVEW中才能运行。TOUCHVEW从工业控制对象中采集数据,并记录在实时数据库中。目标我们将学习“组态王”软件的接触内容,覆盖“组态王”软件的大部分基本功能。学习结束后,要求各位能够建立一个功能齐全、可实际使用的上位机监控系统。目标主界面以下时间将向各位演示如何:*使用工程浏览器*建立新项目*绘制画面*使用图库和控件*构造数据库*和下位机通讯*产生动画效果*查看趋势曲线和报警信息*设计自定义报表*系统安全防范各位按照以上步骤对一个化工厂反应车间的模型进行组态,建立监控中心。完成后的组态将具有操作按钮、趋势曲线和报警功能。下图是组态画面:组态王怎样和下位机通讯“组态王”把第一台下位机看作是外部设备,在开发过程中我们可以根据“设备配置向导”的提示一步步完成连接过程。在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统,既保证了运行系统的高效率,也使系统能够达到很大的规模。怎样产生动画效果开发者在TOUCHMAK中制作的画面都是静态的,那么它们如何以动画方式反映工业现场的状况呢?这需要通过实时数据库,因为只有数据库中的变量才是与现场状况同步变化的。数据库变量的变化又如何导致画面的动画效果呢?通过“动画连接”就是建立画面的图素与数据库变量的对应关系。这样,工业现场的数据,比如温度、液面高度等,当它们发生变化时,通过驱动程序,将引起实时数据库中变量的变化,如果画面上有一个图素,比如指针,我们规定了它的偏转角度与这个变量相关,我们就会看到指针随工业现场数据的变化而同步偏转。动画连接的引入是设计人机接口的一次突破它把程序员从重复的图形编程中解放出来,为程序员提供了标准的工业控制图形界面,并且有可编程的命令语言连接来增强图形界面的功能。建立应用程序的一般过程建立应用程序大致可分为以下四个步骤:1.设计图形界面2.构造数据库3.建立动画连接4.运行和调试需要说明的是,这四个步骤并不是完全独立的,事实上,这四个部分常常是交错进行的。在用TOUCHMAK构造应用程序之前,我们要规划项目,主要考虑三方面问题:建立应用程序的一般过程图形您希望用怎样的图形画面来模拟实际的工业现场的相应的工控设备?用组态王系统开发的应用程序是以“画面”为程序单位的,每一个“画面”对应于程序实际运行时的一个Windows窗口。数据怎样用数据描述工控对象的各种属性?也就是创建一个实时数据库,用此数据库中的变量来反映工控对象的各种属性,比如“电源开关”。您的规划中可能还要为临时变量预留空间。动画数据和图形画面中的图素的连接关系是什么?也就是画面上的图素以怎样的动画来模拟现场设备的运行,以及怎样让操作者输入控制设备的指令。从下一节课开始,将按照以上步骤循序渐进地建立一个新的应用程序。开始一个新项目项目的含义在“组态王”中,您开发的每一个应用系统称为一个项目,每个项目必须在一个独立的目录中,不同的项目不能共用一个目录。项目目录也称为工程路径。在每个工程路径下,组态王为此项目生成了一些重要的数据文件,这些数据文件一般是不允许修改的。项目简介我们将建立一个反应车间的监控中心。监控中心从车间现场采集生产数据,并以动画方式直观地显示在监控画面上。监控画面还将显示实时趋势曲线和报警信息并提供查询历史数据的功能。最后完成一个数据统计的报表。为了不局限于是具体的下位机系统,建立的项目采用了仿真驱动程序。仿真驱动程序类似于实际的驱动程序,但能够模拟下位机自动产生数据并提供给组态王。对于实际的下位机系统,可参考驱动程序联机帮助来设置驱动程序。使用工程浏览器工程浏览器是组态王的集成开发环境。在这里你可以看到工程的各个组成部分,包括画面、数据库、外部设备、系统配置等,它们以树形结构表示。工程浏览器的使用和Windows95的资源管理器类似,不再详述。建立新项目假设已经正确安装了“组态王”,首先启动组态王工程浏览器。工程浏览器运行后,将打开你上一次工作后的项目。如果第一次使用工程浏览器,默认的是组态王示例程序所在的目录。为建立一个新项目,执行以下操作:在工程浏览器中选择菜单“工程/新建”,出现“新建工程”对话框。在对话框中输入工程名称:myproj在工程描述中输入:工程路径自动指定为当前目录下以工程名称命名的子目录。如果需要更改工程路径,请单击“浏览”按钮。单击“确定”。组态王将在工程路径下生成初始数据文件。至此,新项目已经可以开始建立了。建立新画面在工程浏览器中左侧的树形视图中选择选择“画面”,在右侧视图中双击“新建”。工程浏览器将运行组态王开发环境TOUCHMAK,弹出如下对话框。在“新画面”对话框中设置如下图,在对话框中单击“确定”。TOUCHMAK将按照你指定的风格产生一幅名为“监控中心”的画面。使用图形工具箱接下来在此画面中绘制各图素。绘制图素的主要工具放置在图形编辑工具箱内。当画面打开时,工具箱自动显示,如果工具箱没有出现,选择菜单“工具\显示工具箱”或按F10键打开它。工具箱中各种基本工具的使用方法和WINDOWS中“画笔”很类似。首先绘制监控对象原料罐和反应罐:在工具箱内单击圆角矩形工具,在画面上绘制一个矩形作为第一个原料罐;在矩形框上单击鼠标左键,在矩形框周围出现8个小矩形,当鼠标落在任一小矩形上时,按下鼠标左键,可以移动图形对象的位置用同样的方法绘制另一原料罐和反应罐。在工具箱内单击多边形工具,绘制三条管道。要改变管道的填充颜色,请选中此对象,然后单击调色板窗口的第二个按钮,再从调色板中选择任一种颜色。在工具箱内单击文本工具,输入文字。要改变文字的字体、字号,请先选中文本对象,然后在工具箱内选择“改变字体”。选择菜单“图库\刻度”,在图库窗口中双击一种竖向的刻度。在画面上单击鼠标左键,刻度将出现在画面上。你可以缩放、移动它,如同普通图素一样。在调整图形对象的相对位置时,几种对齐工具可能经常会用到。首先选中所有需要对齐的图形对象,然后在工具箱中单击所需的对齐工具即可。最后,绘制的画面如下图。选择菜单“文件\全部存”,保存你的工作成果。定义外部设备-仿真PLC组态王把那些需要与之交换数据的设备或程序都作为外部设备。外部设备包括:下位机(PLC、仪表、板卡等),它们一般通过串行口和上位机交流数据;外部设备还包括网络上的其他计算机。只有在定义了外部设备之后,组态王才能通过I/O变量和它们交换数据。“设备配置向导”将引导完成设备的连接。我们先使用仿真PLC和组态王通信。仿真PLC可以模拟PLC为组态王提供数据。假设仿真PLC连接在计算机的COM1口。在组态王工程浏览器的左侧选中“COM1”,在右侧双击“新建”,运行“设备配置向导”。选择“仿真PLC”的“串口”项,单击“下一步”;为外部设备取一个名称,输入“PLC1”,单击“下一步”;为设备选择连接串口,假设为COM1,单击“下一步”;填写设备地址,假设为1,单击“下一步”;请检查各项设置是否正确,确认无误后,单击“完成”。设备定义完成后,你可以在工程浏览器的右侧看到新建的外部设备“PLC1”。在定义数据库变量时,只要把IO变量连接到这台设备上,它就可以和组态王交换数据了。定义外部设备-欧姆龙PLC我们在后续的课程中将使用在组态王连接欧姆龙PLC,在这里我们把两者之间的连接方法做一个演示。KEY1:选择欧姆龙PLC的HOSTLINK协议KEY2:双击工程浏览器左侧设备COM1设置串口通信参数,和欧姆龙PLC保持一致。数据库的作用数据库是“组态王”最核心的部分。在TOUCHVEW运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。定义变量的方法对于将要建立的“监控中心”,需要从下位机采集两个原料罐的液位和一个反应罐的液位,所以需要在数据库中定义这三个变量。因为这些数据是通过驱动程序采集到的,所以三个变量的类型都是I/O实型变量。这三个变量分别命名为“原料罐1液位”、“原料罐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字符串型变量:类似一般程序设计语言中的字符串变量,用于记录一些有特定含义的字符串,如名称,密码等,该类型变量可以进行比较运算和赋值运算。特殊变量类型有报警窗口变量、报警组变量、历史趋势曲线变量、时间变量四种。这几种特殊类型的变量正是体现了“组态王”系统面向工控软件、自动生成人机接口的特色。变量的类型数据类型:只对I/O类型的变量起作用,定义变量对应的寄存器的数据类型,共有9种数据类型供用户使用,这9种数据类型分别是:Bit:1位;范围是:0