第5章变量定义和管理.pdf
《第5章变量定义和管理.pdf》由会员分享,可在线阅读,更多相关《第5章变量定义和管理.pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 变量定义和管理 北京亚控科技发展有限公司 185 第五章 变量定义和管理(1)数据库是“组态王”最核心的部分。在组态王运行时,工业现场的生产状况要以动画的形式反映在屏幕上,同时工程人员在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,数据库是联系上位机和下位机的桥梁。在数据库中存放的是变量的当前值,变量包括系统变量和用户定义的变量。变量的集合形象地称为“数据词典”,数据词典记录了所有用户可使用的数据变量的详细信息。5.1 变量的类型 组态王系统中定义的变量与一般程序设计语言,比如BASIC、PASCAL、C语言,定义的变量有很大的不同,既能满足程序设计的一
2、般需要,又考虑到工控软件的特殊需要。5.1.1 基本变量类型 变量的基本类型共有两类:内存变量、I/O 变量。IO 变量是指可与外部数据采集程序直接进行数据交换的变量,如下位机数据采集设备(如 PLC、仪表等)或其它应用程序(如 DDE、OPC 服务器等)。这种数据交换是双向的、动态的,介绍组态王数据库的相关知识 教您如何定义及使用数据词典 介绍结构变量的使用 介绍变量组的使用 第七章 变量定义和管理 北京亚控科技发展有限公司 186 就是说:在“组态王”系统运行过程中,每当 I/O 变量的值改变时,该值就会自动写入下位机或其它应用程序;每当下位机或应用程序中的值改变时,“组态王”系统中的变量
3、值也会自动更新。所以,那些从下位机采集来的数据、发送给下位机的指令,比如“反应罐液位”、“电源开关”等变量,都需要设置成“I/O 变量”。内存变量是指那些不需要和其它应用程序交换数据、也不需要从下位机得到数据、只在“组态王”内需要的变量,比如计算过程的中间变量,就可以设置成“内存变量”。5.1.2 变量的数据类型 组态王中变量的数据类型与一般程序设计语言中的变量比较类似,主要有以下几种:实型变量 类似一般程序设计语言中的浮点型变量,用于表示浮点(float)型数据,取值范围 10E-3810E+38,有效值 7 位。离散变量 类似一般程序设计语言中的布尔(BOOL)变量,只有 0,1 两种取值
4、,用于表示一些开关量。字符串型变量 类似一般程序设计语言中的字符串变量,可用于记录一些有特定含义的字符串,如名称,密码等,该类型变量可以进行比较运算和赋值运算。字符串长度最大值为 128 个字符。整数变量 类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围(2147483648)2147483647。结构变量 当组态王工程中定义了结构变量时(关于结构变量的定义详见 5.5 结构变量一节),在变量类型的下拉列表框中会自动列出已定义的结构变量,一个结构变量做为一种变量类型,结构变量下可包含多个成员,每一个成员第七章 变量定义和管理 北京亚控科技发展有限公司 187 就是
5、一个基本变量,成员类型可以为:内存离散、内存整型、内存实型、内存字符串、IO 离散、IO 整型、IO 实型、IO 字符串。5.1.3 特殊变量类型 特殊变量类型有报警窗口变量、历史趋势曲线变量、系统预设变量三种。这几种特殊类型的变量正是体现了“组态王”系统面向工控软件、自动生成人机接口的特色。报警窗口变量 这是工程人员在制作画面时通过定义报警窗口生成的,在报警窗口定义对话框中有一选项为:“报警窗口名”,工程人员在此处键入的内容即为报警窗口变量。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。可用命令语言编制程序来设置或改变报警窗口的一些特性,如改变报警组名或优先级,在窗口内上下翻页等
6、。历史趋势曲线变量 这是工程人员在制作画面时通过定义历史趋势曲线时生成的,在历史趋势曲线定义对话框中有一选项为:“历史趋势曲线名”,工程人员在此处键入的内容即为历史趋势曲线变量(区分大小写)。此变量在数据词典中是找不到的,是组态王内部定义的特殊变量。工程人员可用命令语言编制程序来设置或改变历史趋势曲线的一些特性,如改变历史趋势曲线的起始时间或显示的时间长度等。系统预设变量 注意:结构变量的成员的变量类型必须在定义结构变量的成员时先定义(详见5.5 结构变量一节),包括离散型、整型、实型、字符串型或已定义的结构变量。在变量定义的界面上只能选择该变量是内存型还是 IO 型。第七章 变量定义和管理
7、北京亚控科技发展有限公司 188 预设变量中有8个时间变量是系统已经在数据库中定义的,用户可以直接使用:$年:返回系统当前日期的年份。$月:返回1到12之间的整数,表示一年之中的某一月。$日:返回1到31之间的整数,表示一月之中的某一天。$时:返回0到23之间的整数,表示一天之中的某一钟点。$分:返回0到59之间的整数,表示一小时之中的某分钟。$秒:返回0到59之间的整数,表示一分钟之中的某个秒。$日期:返回系统当前日期。$时间:返回系统当前时间。以上变量由系统自动更新,工程人员只能读取时间变量,而不能改变它们的值。预设变量还有:$用户名:在程序运行时记录当前登录的用户的名字。$访问权限:在程
8、序运行时记录当前登录的用户的访问权限。以上两个变量的用法参见第九章“访问权限和口令的设置”。$启动历史记录:表明历史记录是否启动。(1=启动;0=未启动)工程人员在开发程序时,可通过按钮弹起命令预先设置该变量为1,在程序运行时可由用户控制,按下按钮启动历史记录。$启动报警记录:表明报警记录是否启动。(1=启动;0=未启动)工程人员在开发程序时,可通过按钮弹起命令预先设置该变量为1,在程序运行时可由工程人员控制,按下按钮启动报警记录。$新报警:每当报警发生时,“$新报警”被系统自动设置为1。由工程人员负责把该值恢复到0。工程人员在开发程序时,可通过数据变化命令语言设置,当报警发生时,产生声音报警
9、(用PlaySound()函数),在第七章 变量定义和管理 北京亚控科技发展有限公司 189 程序运行时可由工程人员控制,听到报警后,将该变量置0,确认报警。如图示:图5.1 系统变量的引用 以上三个变量的用法参见“第八章 趋势曲线和其他曲线”。$启动后台命令:表明后台命令是否启动。(1=启动;0=未启动)工程人员在开发程序时,可通过按钮弹起命令预先设置该变量为1,在程序运行时可由工程人员控制,按下按钮启动后台命令。$双机热备状态:表明双机热备中计算机的所处状态。整型(1=主机工作正常;2=主机工作不正常;-1=从机工作正常;-2=从机工作不正常;0=无双机热备)主从机初始工作状态是由组态王中
10、的网络配置决定的。只能由主机进行修改,从机只能进行监视,不能修改该变量的值。第七章 变量定义和管理 北京亚控科技发展有限公司 190$毫秒:返回当前系统的毫秒数。$网络状态:用户通过引用网络上计算机的$网络状态的变量得到网络通讯的状态。显示的数据是从0 到5 的数据,0 代表人为的将网络中断,1 到4 代表网络在通过可能存在的4块网卡中的某一块进行通讯。5 代表通讯故障。当此数字为1 到5 时用户只能将此数字改为0,中断网络通讯,其它的数字,变量不接受。但此数字为0 时,用户任意输入数据,寄存器的数值将变成5,网络通讯进入尝试恢复的状态。5.2 基本变量的定义 内存离散、内存实型、内存长整数、
11、内存字符串、I/O 离散、I/O 实型、I/O长整数、I/O 字符串,这八种基本类型的变量是通过 “变量属性”对话框定义的,同时在“变量属性”对话框的属性卡片中设置它们的部分属性。5.2.1 变量及变量属性的定义 在工程浏览器中左边的目录树中选择“数据词典”项,右侧的内容显示区会显示当前工程中所定义的变量。双击“新建”图标,弹出“定义变量”属性对话框。组态王的变量属性由基本属性、报警配置、记录配置三个属性页组成。采用这种卡片式管理方式,用户只要用鼠标单击卡片顶部的属性标签,则该属性卡片有效,用户可以定义相应的属性。“变量属性”对话框如下所示:第七章 变量定义和管理 北京亚控科技发展有限公司 1
12、91 图 5.2 变量基本属性 单击“确定”按钮,则工程人员定义的变量有效时保存新建的变量名到数据库的数据词典中。若变量名不合法,会弹出提示对话框提醒工程人员修改变量名。单击“取消”按钮,则工程人员定义的变量无效,并返回“数据词典”界面。5.2.2.1 基本属性的定义“变量属性”对话框的基本属性卡片中的各项用来定义变量的基本特征,各项意义解释如下:变量名:唯一标识一个应用程序中数据变量的名字,同一应用程序中的数据变量不能重名,数据变量名区分大小写,最长不能超过 31 个字符。用鼠标单击编辑框的任何位置进入编辑状态,工程人员此时可以输入变量名字,变量名可以是汉字或英文名字,第一个字符不能是数字。
13、例如,温度、压力、液位、var1 等均可以作为变量名。变量的名称最多为 31个字符。第七章 变量定义和管理 北京亚控科技发展有限公司 192 变量类型:在对话框中只能定义八种基本类型中的一种,用鼠标单击变量类型下拉列表框列出可供选择的数据类型,当定义有结构模板时,一个结构模板就是一种变量类型。描述:此编辑框用于编辑和显示数据变量的注释信息。例如若想在报警窗口中显示某变量的描述信息,可在定义变量时,在描述编辑框中加入适当说明,并在报警窗口中加上描述项,则在运行系统的报警窗口中可见该变量的描述信息。(最长不超过 39 个字符)变化灵敏度:数据类型为模拟量或长整型时此项有效。只有当该数据变量的值变化
14、幅度超过“变化灵敏度”时,“组态王”才更新与之相连接的图素(缺省为 0)。最小值:指该变量值在数据库中的下限。最大值:指该变量值在数据库中的上限。注意:组态王中最大的精度为 float 型,四个字节。定义最大值时注意不要越限。最小原始值:变量为 IO 模拟变量时,驱动程序中输入原始模拟值的下限,。最大原始值:变量为 IO 模拟变量时,驱动程序中输入原始模拟值的上限。以上四项是对IO 模拟量进行工程值自动转换所需要的。组态王将采集到的数据按照这四项的对应关系自动转为工程值。保存参数:在系统运行时,修改变量的域的值(可读可写型),系统 组态王变量名命名规则:变量名命名时不能与组态王中现有的变量名、
15、函数名、关键字、构件名称等相重复;命名的首字符只能为字符,不能为数字等非法字符,名称中间不允许有空格、算术符号等非法字符存在。名称长度不能超过 31 个字符。第七章 变量定义和管理 北京亚控科技发展有限公司 193 自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义。保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。初始值:这项内容与所定义的变量类型有关,定义模拟量时出现编辑框可输入一个数值,定义离散量时出现开或关
16、两种选择。定义字符串变量时出现编辑框可输入字符串,它们规定软件开始运行时变量的初始值。连接设备:只对 I/O 类型的变量起作用,工程人员只需从下拉式“连接设备”列表框中选择相应的设备即可。此列表框所列出的连接设备名是组态王设备管理中已安装的逻辑设备名。用户要想使用自己的I/O设备,首先单击“连接设备”按钮,则“变量属性”对话框自动变成小图标出现在屏幕左下角,同时弹出“设备配置向导”对话框,工程人员根据安装向导完成相应设备的安装,当关闭“设备配置向导”对话框时,“变量属性”对话框又自动弹出;工程人员也可以直接从设备管理中定义自己的逻辑设备名。项目名:连接设备为 DDE 设备时,DDE 会话中的项
17、目名,可参考Windows 的 DDE 交换协议资料。注意:如果连接设备选为 Windows 的 DDE 服务程序,则“连接设备”选项下的选项名为“项目名”;当连接设备选为PLC 等,则“连接设备”选项下的选项名为“寄存器”;如果连接设备选为板卡等,则“连接设备”选项下的选项名为“通道”。第七章 变量定义和管理 北京亚控科技发展有限公司 194 寄存器:指定要与组态王定义的变量进行连接通讯的寄存器变量名,该寄存器与工程人员指定的连接设备有关。转换方式:规定 I/O 模拟量输入原始值到数据库使用值的转换方式。有线性转化、开方转换、和非线性表、累计等转换方式。关于转换的具体概念和方法,请参见本章
18、5.6 节 IO 变量的转换方式。数据类型:只对 I/O 类型的变量起作用,定义变量对应的寄存器的数据类型,共有 9 种数据类型供用户使用,这 9 种数据类型分别是:Bit:1 位;范围是:0 或 1。BYTE:8 位,1 个字节;范围是:0-255 SHORT,2 个字节;范围是:-32768-32767。UNSHORT:16 位,2 个字节;范围是:0-65535。BCD:16 位,2 个字节;范围是:0-9999。LONG:32位,4个字节;范围是:-999,999,999-999,999,999。LONGBCD:32 位,4 个字节;范围是:0-99999999。FLOAT:32 位,
19、4 个字节;范围是:10e-38-10e38,有效位 7 位。String:128 个字符长度 各寄存器的数据类型请参见组态王的驱动帮助中相关设备的帮助。采集频率:用于定义数据变量的采样频率。读写属性:定义数据变量的读写属性,工程人员可根据需要定义变量为“只读”属性、“只写”属性、“读写”属性。只读:对于进行采集的变量一般定义属性为只读,其采集频率不能为 0;只写:对于只需要进行输出而不需要读回的变量一般定义属性为只写。例如:特殊应用于牛顿或亚当系列模块中的看门狗功能。第七章 变量定义和管理 北京亚控科技发展有限公司 195 读写:对于需要进行输出控制又需要读回的变量一般定义属性为读写。允许
20、DDE 访问:组态王用 Com 组件编写的驱动程序与外围设备进行数据交换,为了使工程人员用其它程序对该变量进行访问,可通过选中“允许 DDE 访问”,即可与 DDE 服务程序进行数据交换,项目名为设备名.寄存器名,具体操作见第十八章 DDE 与其它服务程序交换数据。关于变量报警属性的定义请参见本手册第九章 报警和事件系统。历史记录属性请参见历史数据库一章。5.3 结构变量 在工程实际中,往往一个被控对象有很多参数,而这样的被控对象很多,而且都具有相同的参数。如一个储料罐,可能有压力、液位、温度、上下限硬报警等参数,而这样的储料罐可能在同一工程中有很多。如果用户对每一个对象的每一个参数都在组态王
21、中定义一个变量,有可能会造成使用时查找变量不方便,定义变量所耗费的时间很长,而且大多数定义的都是有重复属性的变量。如果将这些参数作为一个对象变量的属性,在使用时直接定义对象变量,就会减少大量的工作,提高效率。为此,组态王引入了结构变量的概念。5.3.1 什么是结构变量 为方便用户快速、成批定义变量,组态王支持结构数据类型,使用结构数 注意:当采集频率为 0 时,只要组态王上的变量值发生变化时,就会进行写操作;当采集频率不为 0 时,会不停地往下写。第七章 变量定义和管理 北京亚控科技发展有限公司 196 据类型定义结构变量。结构变量是指利用定义的结构模板在组态王中定义变量,该结构模板包含若干个
22、成员,当定义的变量的类型为该结构模板类型时,该模板下所有的成员都成为组态王的基本变量。结构变量中结构模板数目最多为64个,而且模板允许两层嵌套,即在定义了多个结构模板后,在一个结构模板的成员数据类型中可嵌套其它结构模板数据类型。5.3.2 结构变量的定义 要使用结构变量,首先需要定义结构模板和结构成员及属性。在组态王工程浏览器中选择数据库下的结构变量,如图5.3 所示,双击右侧的提示图标,进入结构变量定义对话框,如图 5.4 所示。图 5.3 选择定义结构变量 第七章 变量定义和管理 北京亚控科技发展有限公司 197 图5.4 结构变量定义对话框 在结构变量定义对话框中有“新建结构”、“增加成
23、员”、“修改”、“删除”几个功能。如一个储料罐具有压力、温度、物位、上限报警、下限报警等几个参数,下面以此为例来说明组态王中结构变量的定义和使用过程。新建结构:增加新的结构。单击按钮,弹出结构变量名输入对话框,如图所示。输入结构变量名称,单击按钮,在结构变量树状目录中显示出用户定义的结构模板。图5.5 结构名输入对话框 注意:结构模板的名称和成员的名称首字母不能为数字,中间不能包含空格。命名要符合组态王变量命名规则。第七章 变量定义和管理 北京亚控科技发展有限公司 198 如在结构名称输入对话框中输入“储料罐”,单击确定按钮,关闭对话框,则在结构变量定义界面上增加了一个新的结构,如图5.6 所
24、示。按照上述方法,可以建立多个结构。图5.6 新增加的结构 增加成员:选中一个结构模板,如图 5.6 所示,单击按钮,弹出新建结构成员对话框,如图 5.7 所示。该对话框与组态王基本变量定义属性对话框相同,用户在这里可以直接定义结构成员的各种属性,如基本数值属性、IO 属性、报警属性、记录属性等。在成员名编辑框中输入成员名称。然后单击成员类型列表框,选择该成员的数据类型,常用的类型为,另外,如果用户定义了其它的结构模板,此时,其结构模板的名称也出现在数据类型中,用户选择结构模板作为数据类型,将其嵌入当前结构模块中。所有属性定义与基本变量属性定义相同,这里不再细述。定义完毕后,单击按钮,关闭对话
25、框。第七章 变量定义和管理 北京亚控科技发展有限公司 199 图5.7 结构成员定义对话框 按照上述方法,可以将其它成员加入到成员列表中来。定义完成后,如图 5.8 所示。如果此时确定完成,单击对话框上的“确定”按钮,关闭对话框。图5.8 结构成员定义完成 删除结构模板或成员:选择一个结构模板或成员,单击 按钮。第七章 变量定义和管理 北京亚控科技发展有限公司 200 编辑:选中一个结构成员,如果该成员没有被引用,则可以编辑其成员名称、成员类型。修改成员的属性并确认后,系统会出现如下图所示的提示框,提示是否将当前成员属性的修改应用到已定义的结构变量和引用该结构的结构中,如果确认修改全部相关属性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 变量 定义 管理
限制150内