工控组态软件及应用ppt课件.ppt
2023/3/21,1,第三章 新建工程,工程是一组与用户相关的文件集合,工程的表现形式是放在一个文件夹中的目录树,一般目录树中的文件是不能单独使用和删除的。通俗的说,开发的一个应用系统称为一个项目,每个项目必须在一个独立的目录中,不同的项目不能共用一个目录。项目目录也称为工程路径。开发人员每接受一个应用组态王的课题,都要单独的建立一个工程文件夹,把自己所做的一切都放在这个工程文件夹中;,什么是工程?,2023/3/21,2,一个工程就是这样一棵目录树,目录树中的文件是不能单独使用和随便删除的,图示:已建立的工程,整个开发过程都是在这个目录树中进行添加和配置,共有六个大类:一、Web二、文件三、数据库四、设备五、系统配置六、SQL访问管理,2023/3/21,3,第一步:确定硬件控制方案和硬件设备的输入输出点数 如:工控机+PLC+传感器(含执行机构)方案 工控机+智能仪表+传感器(含执行机构)方案 工控机+接口板+传感器(含执行机构)方案 工控机+智能模块+传感器(含执行机构)方案 硬件设备的输入、输出点数是指:有多少路传感器 有多少个执行机构,项目的开发步骤,第二步:确定是单个系统,还是需要网络模式 若是网络模式,需要几个计算机,都干什么用。如:(数据采集、数据存储、报警记录等),2023/3/21,4,第三步:在熟悉工艺过程的基础上着手开发(建立工程)1创建新工程为工程创建一个目录用来存放与工程相关的文件。2定义外部设备组态王为每种设备都提供了一个测试,用于检查和计算机连通了没有。3定义工程变量(包括内存变量和I/O 变量)定义整个工程都用到的变量,每个变量都对应一个实际设备的寄存器。确定变量属性(每个变量有三种属性,基本属性、报警否、记录否、安全权限等。)4画面制作按照实际工程的要求绘制监控画面,2023/3/21,5,5,定义的反应车间需要采集的三个现场数据的工程变量:1、原料油液位(变量名:原料油液位,最大值100,整型数据)2、催化剂液位(变量名:催化剂液位,最大值100,整型数据)3、成品油液位(变量名:成品油液位,最大值100,整型数据)4、建立三个离散型内存变量为:原料油出料阀、催化剂出料阀、成品油出料阀。,2023/3/21,6,5动画连接使静态画面随着过程控制对象产生动态效果。6编写命令语言通过脚本程序的编写以完成较复杂的操作上位控制。7进行运行系统的配置对运行系统、报警、历史数据记录、报表、网络、用户等进行设置,是系统完成用于现场前的必备工作。8保存工程并调试运行,说明:这8个步骤并不是完全独立的,事实上,这几个部分常常是交错进行的。,2023/3/21,7,在用组态王画面开发系统编制工程时,要考虑三个方面:,图形:用户希望怎样的图形画面?也就是怎样用抽象的图形画面来模拟实际的工业现场和相应的工控设备。,数据:怎样用数据来描述工控对象的各种属性?也就是创建一个具体的数据库,此数据库中的变量反映了工控对象的各种属性,比如温度,压力等。,连接:数据和图形画面中的图素的连接关系是什么?也就是画面上的图素以怎样的动画来模拟现场设备的运行,以及怎样让操作者输入控制设备的指令,第3章 新建工程,2023/3/21,8,组态王工程管理器是用来建立新工程,对添加到工程管理器的工程做统一的管理。,第3章 新建工程,3.2 工程管理器,3.2.1 工程管理器的使用,工程管理器的作用是为用户集中管理本机上的多个组态王工程。,新建工程 删除工程 对工程重命名 搜索指定路径下的所有组态王工程 修改工程属性 工程的备份和恢复 数据词典的导入导出 切换到组态王开发或运行环境,工程管理器的功能,2023/3/21,9,组态王工程管理器是用来建立新工程,对添加到工程管理器的工程做统一的管理。,第3章 新建工程,3.2 工程管理器,3.2.1 工程管理器的使用,工程管理器的主要功能包括:新建、删除工程,对工程重命名,搜索组态王工程,修改工程属性,工程备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。工程管理器实现了对组态王各种版本工程的集中管理,更使用户在进行工程开发和工程的备份、数据词典的管理上方便了许多。,如果已经正确安装了组态王“6.53”,可以通过以下方式启动工程管理器:单击“开始”“程序”“组态王6.53”“组态王6.53”(或直接双击桌面上组态王的快捷方式),启动后的工程管理窗口如图3-1所示。,2023/3/21,10,主菜单,快捷工具栏,工程信息区,状态栏,标题栏,如果已经正确安装了组态王“6.53”,可以通过以下方式启动工程管理器:单击“开始”“程序”“组态王6.53”“组态王6.53”(或直接双击桌面上组态王的快捷方式),启动后的工程管理窗口如图3-1所示。,2023/3/21,11,如何找到一些已有的组态王工程?搜索工程,选择搜索目标盘,则目标盘上搜到的所有工程自动加入信息区,搜索:单击此快捷键,在弹出的“浏览文件夹”对话框中选择某一驱动器或某一文件夹,系统将搜索指定目录下的组态王工程,并将搜索完毕的所有工程显示在工程列表区中。,搜索到的工程中有相同名称的,在工程信息被添加到工程管理器时,将动态地生成工程名称,在工程名称后添加序号。,2023/3/21,12,如何找到一个已有的组态王工程?添加工程,新工程已经加入到工程信息区,添加工程与搜索工程的区别是:添加工程只添加一个指定的工程;搜索工程是将搜索到的所有工程都加入工程信息区。,要单击开文件夹bbb,添加:将要添加的工程添加到工程管理器中。,2023/3/21,13,如何新建一个工程?新建工程,选文件 新建工程 或双击新建图标,此处单击浏览,,新建:建立组态王工程。,2023/3/21,14,会多出现一个确认画面。,选择并双击,再点击打开按钮,或:直接在根目录下输入新名称,或点击打开,直接输入新文件夹名,如gc,2023/3/21,15,新建工程,工程描述是小于40个字符的注释,完成以上操作就可以新建一个组态王工程的工程信息了。此处新建的工程,在实际上并未真正创建工程,只是在用户给定的工程路径下设置了工程信息,当用户将此工程作为当前工程,并且切换到组态王开发环境时才真正创建工程。,2023/3/21,16,如何设置一个工程为当前工程?设为当前工程,在没有工程运行的情况下,用鼠标选中一个工程,在选定工程上右击工程,在弹出的菜单中选则设为当前工程,或在文件的下拉菜单中选择,如下图所示:,此时当前工程标记:小红旗已经挪到指定工程前面,若双击则会将其设为当前工程,但同时也会关闭工程管理器并打开工程。,2023/3/21,17,如何清除当前不需要显示的工程?清除工程信息,执行该命令不会删除工程或改变工程。用户可以通过“搜索工程”或“添加工程”重新使该工程信息显示到工程管理器中。注意:清除工程信息命令只能将非当前工程的信息从工程管理器中删除,对于当前工程该命令无效。,2023/3/21,18,如何删除工程?删除工程,首先选则要删除的工程,如C:工程二bbb,注意:删除工程将把工程的所有内容全部删除,不可恢复。用户应注意操作。,此时C:工程二bbb已经被删除。,2023/3/21,19,如何修改当前工程的属性?工程属性,选择需要观察属性的工程,单击确定则退出观察,2023/3/21,20,如何备份工程?工程备份,选中需要备份的工程,选自定义可以备份在1.44寸小盘上,工程备份是在需要保留工程文件的时候,把组态王工程压缩成组态王自己的“.cmp”文件。备份的工程也可以在另外的计算机上恢复,但恢复时不要选覆盖当前工程,否则就把当前工程冲掉了。,选则存放位置,输入存盘文件名后,点保存。,2023/3/21,21,工程备份文件分为两种形式:不分卷、分卷。不分卷是指将工程压缩为一个备份文件,无论该文件有多大。分卷是指将工程备份为若干指定大小的压缩文件。自定义(分卷):选择该选项,系统将把整个工程按照给定的分卷尺寸压缩为给定大小的多个文件。“分卷尺寸”单位为兆。分卷尺寸不能为空,否则系统会提示用户输入分卷尺寸大小。分卷文件存储时会自动生成一系列文件,生成的第一个文件的文件名为所定义的文件名.cmp,其它依次为:文件名.c01、文件名.c02。如:定义的文件名为filename,则备份产生的文件为:filename.cmp、filename.c01、filename.c02。在保存时若磁盘满则系统会自动提示用户更换磁盘。这种情况下,建议用户使用“自定义”方式备份工程。,2023/3/21,22,如何恢复工程?工程恢复,不要选是,否则将覆盖当前工程。,可将备份的工程文件恢复到工程列表区中。,2023/3/21,23,重命名,此时工程名bbb已经变为ccc,输入新名,选择需要改名的工程,2023/3/21,24,数据词典(DB)导出,先关闭开发系统,再选中要导出的工程。,选目标路径,答存盘文件名后,单击保存按钮。,为了使用户更方便地使用、查看、定义或打印组态王的变量,组态王提供了数据词典的导入导出功能。将组态王工程数据词典中的变量导出到EXCEL 表格。存成EXCEL文件,主要是分析程序用。工程运行中的实时数据是不需要导出的,直接存盘就行了。,2023/3/21,25,数据词典(DB)导入,选则需要导入数据的工程,提示备份工程,找到原来导出时的文件名单击打开按钮,将Excel中定义好的数据或将由组态王工程导出的数据词典导入到组态王工程中。,2023/3/21,26,工具(T)切换到开发系统(E)执行该命令进入组态王开发系统,同时将自动关闭工程管理器。打开的工程为工程管理器中指定的当前工程。工具(T)切换到运行系统(V)执行该命令进入组态王运行系统,同时将自动关闭工程管理器。打开的工程为工程管理器中指定的当前工程。,2023/3/21,27,工程浏览器的使用,工程浏览器的作用是管理开发系统,它将Web、图形画面,命令语言,设备驱动程序管理,系统配置,数据库访问等配置进行集中管理,并在一个窗口中以树形结构排列,类似于Windows 资源管理器的功能,如下图。,2023/3/21,28,3.3 工程浏览器,第3章 新建工程,页标签,工具栏,工程目录显示区,目录内容显示区,状态条,菜单栏,“工程目录显示区”以树形结构图显示大纲项节点,用户可以扩展或收缩工程浏览器中所列的大纲项。,2023/3/21,29,工程菜单 用鼠标单击菜单栏上的“工程”菜单,弹出下拉式菜单,如图所示。,工程启动工程管理器此菜单命令用于打开工程管理器,单击“工程启动工程管理器”菜单,则弹出“工程管理器”画面,如图所示。,2023/3/21,30,工程导入(类似word中的复制)此菜单命令用于将另一组态王工程的画面和命令语言导入到当前工程中。单击“工程导入”菜单,则弹出“画面和命令语言导入向导”画面,2023/3/21,31,2023/3/21,32,然后单击“确定”,返回到“第二步:选择画面和命令语言”对话框。单击“完成”按钮。系统首先完成对画面的导入。画面导入完成后弹出“函数导入”对话框,,“略过”:遇到同名(同类型)的函数时,不予导入。“替换掉现有函数”:遇到同名(同类型)的函数时,将被导入文件中的同名(同类型)函数替换现有的函数。“将函数内容合并”:遇到同名(同类型)的函数时,将被导入文件中的同名(同类型)函数的内容合并到现有的函数中。“应用到全部”:选中此复选框,则对数据改变命令语言、事件命令语言、热键命令语言和自定义函数命令语言均应用同样的规则。否则将依次出现各种命令语言的“函数导入”对话框。单击“确定”,系统进行命令语言的导入。导入命令语言结束后,就将其他组态王工程中的画面和命令语言导入到当前的组态王工程中。,2023/3/21,33,工程导出此菜单命令用于将当前组态王工程的画面和命令语言导出到指定文件夹中。,过程同导入类似,可以在相应的导出路径下看到导出的文件。在文件夹中文件有三种类型的文件:*.pic(画面中所有图素的信息文件)、*.cfg(各种命令语言的信息文件)和*.dat(画面属性的信息文件)。注意:使用工程导入工程导出菜单命令可以重新使用旧工程中的画面和命令语言,减少工程制作人员的工作量,使组态王工程具有可重用性。,2023/3/21,34,配置运行系统此菜单命令是用于对运行系统外观、定义运行系统基准频率、设定运行系统启动时自动打开的主画面等。单击“配置运行系统”菜单,弹出“运行系统设置”画面。,标题条文本:此文本框用于输入TouchVew运行时出现在标题栏中的标题。若此内容为空,则TouchVew运行时将隐去标题条,全屏显示。标题条中显示工程路径:选择此选项使当前应用程序目录显示在标题栏中。,可变大小边框:选择此选项使TouchVew运行时,可以改变窗口大小。,2023/3/21,35,单击“主画面配置”标签,画面列表对话框中列出了当前工程中所有有效的画面,选中的画面加亮显示。此属性页规定TouchView运行系统启动时自动加载的画面。如果几个画面互相重叠,最后调入的画面在前面显示。,2023/3/21,36,配置打印配置此菜单命令用于配置“画面”、“实时报警”、“报告”打印时的打印机。其中“画面打印”指定函数PrintWindow()使用的打印口;“实时报警”指定实时报警打印使用的打印口;“报告打印”指定报表打印函数,如:ReportPrint()使用的打印口。各个列表框中列出了本机上用户定义的打印机名称,可任选其一。,注意:这里的打印配置设置的是本地并口的打印机,也是为兼容组态王早期版本而保留的。组态王6.5以上版本的画面打印、报表打印和通用控件的打印均可使用网络打印机,或系统默认的其它类型的打印机,不必在此处进行设置。,2023/3/21,37,如何对工程进行加密为了防止其他人员对工程进行修改,在组态王开发系统中可以分别对多个工程进行加密。当进入一个有密码的工程时,必须正确输入密码方可进入开发系统,否则不能打开该工程进行修改,从而实现了组态王开发系统的安全管理。新建组态王工程,首次进入组态王浏览器,系统默认没有密码,可直接进入组态王开发系统。如果要对该工程的开发系统进行加密,执行工程浏览器中“工具工程加密”命令,密码:输入密码,密码长度不超过12个字节,密码可以是字母(区分字母大小写)、数字、其它符号等,2023/3/21,38,退出组态王工程浏览器,每次在开发环境下打开该工程都会出现检查文件密码对话框,要求输入工程密码,密码输入正确后,将打开该工程。否则出现如图所示对话框,单击重试按钮将回到检查文件密码对话框,用户可重新输入密码。单击取消按钮,工程将无法打开。,2023/3/21,39,如何去除工程加密如果想取消对工程的加密,在打开该工程后,单击“工具工程加密”,单击确定按钮即可。(首先要通过密码打开工程浏览器),注意:如果用户丢失工程密码,将无法打开组态王工程进行修改,请小心妥善保存密码!,2023/3/21,40,第3章 新建工程,打开“组态王工程管理”对话框,用于配置组态王运行系统TouchView的外观,是“配置运行系统”菜单命令的快捷方式。,即切换到组态王画面开发系统,切换到组态王运行环境,用于提供组态王的系统帮助信息,是“帮助关于”菜单命令的快捷方式。,2023/3/21,41,第3章 新建工程,【练习1】新建一个工程,工程名称:“自己的姓名+学号”工程练习,熟悉工程管理器、工程浏览器的使用,2023/3/21,42,3.4 定义外部设备和变量3.4.1 定义外部设备 组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等,它们一般通过串行口和上位机交换数据;外部软件程序通常指包括DDE、OPC等服务程序。其中Windows应用程序,一般通过DDE交换数据;外部设备还包括网络上的其他计算机。只有在定义了外部设备之后,组态王才能通过I/O变量和它们交换数据。为方便定义外部设备,组态王设计了“设备配置向导”引导您一步步完成设备的连接,第3章 新建工程,2023/3/21,43,如何定义串口类设备以及设置串口参数工程人员根据设备配置向导就可以完成串口设备的配置,组态王最多支持128个串口。操作步骤如下:1.在工程浏览器的目录显示区,用鼠标左键单击大纲项设备下的成员COM1或COM2,则在目录内容显示区出现“新建”图标,选中“新建”图标后用左键双击,弹出“设备配置向导”对话框;或者用右键单击,则弹出浮动式菜单,选择菜单命令“新建逻辑设备”,也弹出“设备配置向导”对话框,2023/3/21,44,2023/3/21,45,该地址应该对应实际的设备定义的地址,2023/3/21,46,配置设备在发生通信故障时,系统尝试恢复通信的参数:尝试恢复时间:在组态王运行期间,如果有一台设备如PLC1发生故障,则组态王能够自动诊断并停止采集与该设备相关的数据,但会每隔一段时间尝试恢复与该设备的通讯。最长恢复时间:若组态王在一段时间之内一直不能恢复与PLC1的通讯,则不再尝试恢复与PLC1通讯,这一时间就是指最长恢复时间。如果将此参数设为0,系统对通讯失败的设备将一直进行尝试恢复,不再有时间上的限制。,2023/3/21,47,使用动态优化:组态王对全部通讯过程采取动态管理的办法,只有在数据被上位机需要时才被采集,这部分变量称之为活动变量。活动变量包括:当前显示画面上正在使用变量。历史数据库正在使用的变量。报警记录正在使用的变量。命令语言中正在使用的变量。同时,组态王对于那些暂时不需要更新的数据则不进行通讯。这种方法可以大大缓解串口通讯速率慢的矛盾。有利于提高系统的效率和性能。例如:工程人员为一台OMRON PLC 定义了1000多个I/O变量,但在某一时刻,显示画面上的动态连接、历史记录、报警、命令语言等,可能只使用1000个I/O变量中的一部分,在这种情况下组态王通过动态优化将只采集这些活动变量。当系统中I/O变量数目明显增加时,这种通讯方式可以保证数据采集周期不会有太大变化。,2023/3/21,48,此向导页显示已配置的串口设备的设备信息,供工程人员查看,如果需要修改,单击“上一步”按钮,则可返回上一个对话框进行修改,如果不需要修改,单击“完成”按钮,则工程浏览器设备节点处显示已添加的串口设备。,2023/3/21,49,如何设置串口参数 对于不同的串口设备,其串口通讯的参数是不一样的,如波特率、数据位、校验位等。所以在定义完设备之后,还需要对计算机通讯时串口的参数进行设置,且设置项要与实际 设备中的设置项完全一致。如上节中定义设备时,选择了COM1口,则在工程浏览器的目录显示区,选择“设备”,双击“COM1”图标,弹出“设置串口COM1”对话框,,“通讯超时”为默认值,除非特殊说明,一般不需要修改,2023/3/21,50,【例3-1】以组态王软件及亚控公司自行设计的仿真PLC(仿真程序)的通讯为例来讲解在组态王中如何定义设备。,注:在实际的工程中组态王连接现场的实际采集设备,采集现场的数据。,注意:这里定义的串口是虚拟的,实际仿真PLC设备并不使用计算机的COM口,而且COM口也不需要配置。,组态王提供的模拟设备仿真PLC 程序在实际运行中通过I/O设备和下位机交换数据,当程序在调试时,可以使用仿真I/O设备模拟下位机向画面程序提供数据,为画面程序的调试提供方便。组态王提供一个仿真PLC设备,用来模拟实际设备向程序提供数据,供用户调试。在使用仿真PLC设备前,首先要定义它,实际PLC设备都是通过计算机的串口向组态王提供数据,所以仿真PLC设备也是模拟安装到串口COM上,2023/3/21,51,3.4 定义外部设备和变量3.4.1 定义外部设备,第3章 新建工程,仿真PLC 提供四种类型的内部寄存器:INCREA、DECREA、RADOM、STATIC,寄存器INCREA、DECREA、RADOM、STATIC的编号从1-1000,变量的数据类型均为整型(即SHORT)。,仿真PLC寄存器说明:,自动加1寄存器INCREA:该寄存器变量的最大变化范围是0-1000,寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递增变化范围,例如,INCREA100表示该寄存器变量从0开始自动加1,其变化范围是0到100。,自动减1寄存器DECREA:该寄存器变量的最大变化范围是0-1000,寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量的递减变化范围,例如,DECREA100表示该寄存器变量从100开始自动减1,其变化范围是0到100。,2023/3/21,52,随机寄存器RADOM:该寄存器变量的最大变化范围是0-1000,该寄存器变量的值是一个随机值,可供用户读出,此变量是一个只读型,用户写入的数据无效,此寄存器变量的编号原则是在寄存器名后加上整数值,此整数值同时表示该寄存器变量产生数据的最大范围,例如,RADOM100表示随机值的范围是0-100。,常量寄存器 STATIC:该寄存器变量是一个静态变量,可保存用户下发的数据,当用户写入数据后就保存下来,并可供用户读出。STATIC100 表示该寄存器变量能够接收0-100之间的任意一个整数。,常量字符串寄存器STRING:该寄存器变量是一个静态变量,可保存用户下发的字符,当用户写入字符后就保存下来,并可供用户读出,直到用户再一次写入新的字符,字符串长度最大值为128个字符。,CommErr寄存器:该寄存器变量为可读写的离散变量,用户通过控制 CommErr 寄存器状态来控制运行系统与仿真 PLC 通讯,将 CommErr 寄存器置为打开状态时中断通讯,置为关闭状态后恢复运行系统与仿真 PLC 之间的通讯。,2023/3/21,53,【例3-2】在串口Com2上连接3个ADAM4000系列设备ADAM4017、ADAM4024和ADAM4050。,3.4 定义外部设备和变量,第3章 新建工程,硬件实物连接图见下页。打开软件进行定义。,硬件连线,2023/3/21,54,硬件连接图,组态王软件,液位变送器,电动调节阀,热电偶变送器,电动机,开关、按钮等,2023/3/21,55,【练习2】在自己的工程中对例题3-1、3-2的内容进行练习。在com1串口上连接一个亚控仿真PLC,在com2上连接3个ADAM4000系列设备即ADAM4017、ADAM4024和ADAM4050,并在com3串口上连接一个三菱FX2N型PLC。,3.4 定义外部设备和变量,第3章 新建工程,2023/3/21,56,3.4.3 实时数据库与外部设备变量 在组态王工程浏览器中提供了“数据库”项供用户定义设备变量。数据库是“组态王软件”最核心的部分。在TouchView 运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为核心,所以说数据库是联系上位机和下位机的桥梁。数据库中变量的集合形象地称为“数据词典”,数据词典记录了所有用户可使用的数据变量的详细信息。,3.4 定义外部设备和变量,第3章 新建工程,2023/3/21,57,3.4.3.1 数据词典中变量的类型,3.4 定义外部设备和变量,第3章 新建工程,3.4.3 实时数据库与外部设备变量,变量,基本类型,特殊类型,内存变量:不需要和外部设备或其它应用程序交换,只在组态王内使用的变量,比如计算过程的中间变量。,I/O变量:组态王与外部设备或其它应用程序交换的变量。这种数据交换是双向的、动态的,就是说在组态王系统运行过程中,每当I/O变量的值改变时,该值就会自动写入外部设备或远程应用程序;每当外部设备或远程应用程序中的值改变时,组态王系统中的变量值也会自动改变。如液位、开关、流量、温度等,报警窗口变量,历史趋势曲线变量,系统预设变量(共17个,只读),2023/3/21,58,3.4.3.1 数据词典中变量的类型,3.4 定义外部设备和变量,第3章 新建工程,3.4.3 实时数据库与外部设备变量,基本类型变量,离散型,I/O离散型,内存离散型,实型,I/O实型,内存实型,整型,I/O整型,内存整型,字符串型,实型变量 类似一般程序设计语言中的浮点型变量,用于表示浮点(float)型数据,取值范围10E-3810E+38,有效值7位。,离散变量 类似一般程序设计语言中的布尔(BOOL)变量,只有0,1两种取值,用于表示一些开关量。,整数变量 类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围(-2147483648)2147483647。,类似程序设计语言中的字符串变量,记录一些有特定含义的字符串,如名称,密码等,该类型变量可以进行比较运算和赋值运算。字符串长度最大值为128个字符。,2023/3/21,59,特殊变量类型 报警窗口变量这是工程人员在制作画面时通过定义报警窗口生成的,在报警窗口定义对话框中有一选项为:“报警窗口名”,工程人员在此处键入的内容即为报警窗口变量。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。可用命令语言编制程序来设置或改变报警窗口的一些特性,如改变报警组名或优先级,在窗口内上下翻页等。历史趋势曲线变量这是工程人员在制作画面时通过定义历史趋势曲线时生成的,在历史趋势曲线定义对话框中有一选项为:“历史趋势曲线名”,工程人员在此处键入的内容即为历史趋势曲线变量(区分大小写)。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。工程人员可用命令语言编制程序来设置或改变历史趋势曲线的一些特性,如改变历史趋势曲线的起始时间或显示的时间长度等。,2023/3/21,60,系统预设变量预设变量中有8个时间变量是系统已经在数据库中定义的,用户可以直接使用$年:返回系统当前日期的年份。$月:返回1到12之间的整数,表示当前日期的月份。$日:返回1到31之间的整数,表示当前日期的日。$时:返回0到23之间的整数,表示当前时间的时。$分:返回0到59之间的整数,表示当前时间的分。$秒:返回0到59之间的整数,表示当前时间的秒。$日期:返回系统当前日期字符串。$时间:返回系统当前时间字符串。以上变量由系统自动更新,工程人员只能读取时间变量,而不能改变它们的值。,2023/3/21,61,预设变量还有:$用户名:在程序运行时记录当前登录的用户的名字。$访问权限:在程序运行时记录当前登录的用户的访问权限。以上两个变量的用法见“访问权限和口令的设置”。$启动历史记录:表明历史记录是否启动。(1=启动;0=未启动)。工程人员在开发程序时,可通过按钮弹起命令预先设置该变量为1,在程序运行时可由用户控制,按下按钮启动历史记录。$启动报警记录:表明报警记录是否启动。(1=启动;0=未启动)。工程人员在开发程序时,可通过按钮弹起命令预先设置该变量为1,在程序运行时可由工程人员控制,按下按钮启动报警记录。,2023/3/21,62,$新报警:每当报警发生时,“$新报警”被系统自动设置为1。由工程人员负责把该值恢复到0。工程人员在开发程序时,可通过数据变化命令语言设置,当报警发生时,产生声音报警(用PlaySound()函数)。如图示:,2023/3/21,63,3.4.3.2 变量及变量属性的定义 在工程浏览器中左边的目录树中选择“数据词典”项,右侧的内容显示区会显示当前工程中所定义的变量。双击“新建”图标,弹出“定义变量”属性对话框。,3.4 定义外部设备和变量,第3章 新建工程,2023/3/21,64,变量名:唯一标识一个应用程序中数据变量的名字,同一应用程序中的数据变量不能重名,数据变量名区分大小写,最长不能超过31个字符。变量名可以是汉字或英文名字,第一个字符不能是数字。例如,温度、压力、液位、var1等均可以作为变量名。组态王变量名命名规则:变量名命名时不能与组态王中现有的变量名、函数名、关键字、构件名称等相重复;命名的首字符只能为字符,不能为数字等非法字符,名称中间不允许有空格、算术符号等非法字符存在。变量类型:在对话框中只能定义八种基本类型中的一种,用鼠标单击变量类型下拉列表框列出可供选择的数据类型。当定义有结构模板时,一个结构模板就是一种变量类型。描述:用于输入对变量的描述信息。,2023/3/21,65,变化灵敏度:数据类型为模拟量或整型时此项有效。只有当该数据变量的值变化幅度超过“变化灵敏度”时,“组态王”才更新与之相连接的画面显示(缺省为0)。初始值:规定软件开始运行时变量的初始值。最小、大值:指该变量值在数据库中的下限、上限。(一般指工程值的范围)最小、大原始值:变量为I/O模拟变量时,驱动程序中输入原始模拟值的下限、上限。(组态王直接从外部设备中读取的最小、最大值)以上四项是对I/O模拟量进行工程值自动转换所需要的。组态王将采集到的数据按照这四项的对应关系自动转为工程值。保存参数:在系统运行时,如果变量的域值发生了变化,组态王运行系统退出时,系统自动保存该值。组态王运行系统再次启动后,变量的初始域值为上次系统运行退出时保存的值。保存数值:系统运行时,如果变量的值发生了变化,组态王运行系统退出时,系统自动保存该值。组态王运行系统再次启动后,变量的初始值为上次系统运行退出时保存的值。,2023/3/21,66,连接设备:只对I/O类型的变量起作用,工程人员只需从下拉式“连接设备”列表框中选择相应的设备即可。此列表框所列出的连接设备名是组态王设备管理中已安装的逻辑设备名。寄存器:指定要与组态王定义的变量进行连接通讯的寄存器变量名,该寄存器与工程人员指定的连接设备有关。数据类型:定义变量对应的寄存器的数据类型。,连接设备中无需要的设备,单击连接设备按钮,或直接从设备管理中定义,2023/3/21,67,3.4.3.2 变量及变量属性的定义,3.4 定义外部设备和变量,第3章 新建工程,3.4.3 实时数据库与外部设备变量,【练习3】在数据词典中定义以下变量都连接到亚控仿真PLC上。,2023/3/21,68,在工程实际中,往往一个被控对象有很多参数,而这样的被控对象很多,而且都具有相同的参数。如一个储料罐,可能有压力、液位、温度、上下限硬报警等参数,而这样的储料罐可能在同一工程中有很多。如果用户对每一个对象的每一个参数都在组态王中定义一个变量,有可能会造成使用时查找变量不方便,定义变量所耗费的时间很长,而且大多数定义的都是有重复属性的变量。如果将这些参数作为一个对象变量的属性,在使用时直接定义对象变量,就会减少大量的工作,提高效率。为此,组态王引入了结构变量的概念。方便用户快速、成批定义变量,3.4.4 结构变量,2023/3/21,69,3.4 定义外部设备和变量,第3章 新建工程,结构变量是指利用定义的结构模板在组态王中定义变量,该结构模板包含若干个成员,当定义的变量的类型为该结构模板类型时,该模板下所有的成员都成为组态王的基本变量。一个结构模板下最多可以定义64个成员。结构变量中结构模板允许两层嵌套,即在定义了多个结构模板后,在一个结构模板的成员数据类型中可嵌套其它结构模板数据类型。,2023/3/21,70,结构变量的定义,2023/3/21,71,结构变量的定义,如一个储料罐具有压力、温度、物位、上限报警、下限报警等几个参数,下面以此为例来说明组态王中结构变量的定义和使用过程。,注意:结构模板的名称和成员的名称首字母不能为数字,中间不能包含空格。命名要符合组态王变量命名规则。,2023/3/21,72,结构变量的定义,如果用户定义了其它结构模板,并且其它结构模板下定义了结构成员,那么,其它结构模板的名称也会出现在数据类型中,用户可以选择结构模板作为数据类型,将其嵌入当前结构模板中,,2023/3/21,73,结构变量的定义,编辑:可以编辑结构模板和结构模板成员编辑结构模板:选中一个结构模板,单击按钮,可以编辑结构模板名称。选中一个结构成员,单击按钮,可以编辑其成员名称、成员类型。修改成员的属性并确认后,系统会出现如下图所示的提示框,如果确认修改全部相关属性,选择“是”;如果只修改当前的成员的属性,选择“否”。,2023/3/21,74,结构变量的使用 定义结构变量类型的变量如果定义了结构变量和成员,在数据词典中定义变量选择变量类型时,下拉列表框中除了基本的八种类型外,还会出现所有结构模板名称,一种结构模板就是一种变量类型。,2023/3/21,75,在结构成员中选择该模板结构中的每一个成员,在成员类型中选择该成员的变量类型(因为其数据类型在定义结构变量时已经定义过,所以在此处只是选择内存型、I/O型)。,2023/3/21,76,在工程中使用结构变量,变量表达式的格式为组态王变量属性对话框中的:变量名.结构成员名称。在变量浏览器中选择变量如图所示。,2023/3/21,77,3.5 组态王提供的通讯的其它特殊功能,第3章 新建工程,3.5.1 开发环境下的设备通讯测试,为保证用户对硬件的方便使用,在完成设备配置与连接后,用户在组态王开发环境中即可以对与之连接的硬件进行测试。对于测试的寄存器可以直接将其加入到变量列表中。当用户选择某台设备后,右键单击弹出浮动式菜单,除DDE外的设备均有菜单项“测试设备名”。如定义亚控仿真PLC设备,在设备名称上单击右键,弹出快捷菜单,如图所示。,2023/3/21,78,删除:如果不再需要测试某个采集列表中的寄存器,在采集列表中选择该寄存器,单击该按钮,将选择的寄存器从采集列表中删除。读取/停止:当没有进行通讯测试的时候,“读取”按钮可见,单击该按钮,对采集列表中定义的寄存器进行数据采集。同时,“停止”按钮变为可见。当需要停止通讯测试时,单击“停止”按钮,停止数据采集,同时“读取”按钮变为可见。加入变量:将当前在采集列表中选择的寄存器定义一个变量添加到组态王的数据词典中。定义的该变量便加入到了组态王的变量列表中,连接设备和寄存器为当前的设备和寄存器。全部加入:将当前采集列表中的所有寄存器按照给定的第一个变量名称全部增加到组态王的变量列表中,各个变量的变量名称为定义的第一个变量名称后增加序号。如定义的第一个变量名称为“变量”,则以后的变量依次为“变量1”、“变量2”,寄存器:从寄存器列表中选择寄存器名称,并填写寄存器的序号。然后从“数据类型”列表框中选择寄存器的数据类型。添加:单击该按钮,将定义的寄存器添加到“采集列表”中,等待采集。,2023/3/21,79,开发环境下的设备通讯测试,使用户很方便的就可以了解设备的通讯能力,而不必先定义很多的变量和做一大堆的动画连接,省去了很多工作,而且也方便了变量的定义。注意:可以进行设备测试的有串口类设备、板卡类设备和OPC类设备。其它如DDE、一些特殊通讯卡等都暂不支持该功能。,2023/3/21,80,3.5 组态王提供的通讯的其它特殊功能,第3章 新建工程,3.5.2 运行系统中设备通讯状态的判断,组态王的驱动程序(除DDE外)为每一个设备都定义了CommErr寄存器,该寄存器表征设备通讯的状态,是故障状态还是正常。另外用户还可以通过修改该寄存器的值控制设备通讯的通断。,在使用该功能之前,应该先为该寄存器定义一个I/O离散型变量,变量为读写型。当该变量的值为0或被置为0时,表示通讯正常或恢复通讯。当变量的值为1或被置为1时,表示通讯出现故障或暂停通讯。,另外,当某个设备通讯出现故障时,画面上与故障设备相关联的I/O变量的数值输出显示都变为“?”号,表示出现了通讯故障。当通讯恢复正常后,该符号消失,恢复为正常数据显示。,