第5章变量定义和管理.pdf

上传人:g****s 文档编号:86074792 上传时间:2023-04-13 格式:PDF 页数:38 大小:2.19MB
返回 下载 相关 举报
第5章变量定义和管理.pdf_第1页
第1页 / 共38页
第5章变量定义和管理.pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《第5章变量定义和管理.pdf》由会员分享,可在线阅读,更多相关《第5章变量定义和管理.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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 编辑:选中一个结构成员,如果该成员没有被引用,则可以编辑其成员名称、成员类型。修改成员的属性并确认后,系统会出现如下图所示的提示框,提示是否将当前成员属性的修改应用到已定义的结构变量和引用该结构的结构中,如果确认修改全部相关属性

26、,选择“是”;如果只修改当前的成员的属性,选择“否”。定义完成后,单击按钮,关闭对话框。5.3.3 结构变量的使用 定义结构变量类型的变量 如果定义了结构变量和成员,在数据词典中定义变量选择变量类型时,下拉列表框中除了基本的八种类型外,还会出现所有结构模板名称,一种结构模板就是一种变量类型。在组态王的工程浏览器中,单击数据库中的变量词典,单击右侧的新建,弹出变量属性对话框,如图 5.9 所示,在变量名中输入对象名称(或基本变量名称),在“变量类型”列表中选择刚才定义的“储料罐”数据类型。选择完后如图 5.10 所示。注意:在下列情况下,结构模板或成员不能被删除。1.模板已经在定义其它模板时被使

27、用(嵌套)。2.已经在数据词典里定义了该结构模板类型的变量。第七章 变量定义和管理 北京亚控科技发展有限公司 201 图5.9 选择结构变量类型 图5.10 结构变量 在结构成员中选择该模板结构中的每一个成员,在成员类型中选择该成员的变量类型(因为其数据类型在定义结构变量时已经定义过,所以在此处只是选择内存型、I/O 型)。其余各项定义与定义组态王普通变量一致。定义完毕后,单击完成。这样,在数据词典里定义一个变量,利用结构变量,这一个变量代表很多个变量(因为一个结构中有第七章 变量定义和管理 北京亚控科技发展有限公司 202 着很多个成员)。数据词典列表中显示的结构变量的 ID 号为其最后一个

28、成员的 ID 号,每个成员都会被自动分配一个 ID 号。在工程中使用结构变量,变量表达式的格式为组态王变量属性对话框中的:变量名.结构成员名称。在变量浏览器中选择变量如图 5.11 所示,在站点名称目录“本站点”下选择结构变量名称“储料罐1”,则右边变量列表中显示所有成员变量。选择到动画连接中如图5.12 所示。图5.11 结构变量在变量浏览器中 图5.12 结构类型变量的使用 第七章 变量定义和管理 北京亚控科技发展有限公司 203 还可以定义嵌套的结构变量,首先在结构变量定义对话框中新建一个结构,或选中已有的结构,选择“增加成员”,在定义成员的变量类型时,选择已经定义的结构,如图 5.13

29、。新建的结构的数据类型选择已经定义的结构模板“储料罐”。对于嵌套的结构类型变量格式为:变量.结构模板.成员。如图 5.14所示。图5.13 定义嵌套结构 第七章 变量定义和管理 北京亚控科技发展有限公司 204 图5.14 选择嵌套结构变量 图5.15 嵌套结构变量 5.4 变量的属性变量域 变量的属性也是为满足工控软件的需求而引入的重要概念。它反映了变量的参数状态、报警状态,历史数据记录状态,比如实型变量“反应罐温度”,可以具有“高报警限”、“低报警限”等属性,当实际温度高于“高报警限”或低第七章 变量定义和管理 北京亚控科技发展有限公司 205 于“低报警限”时,就会在报警窗口内显示报警,

30、而且它们大多是开放的,工程人员可在定义变量时,设置它的部分属性。也可以用命令语言编制程序来读取或设置变量的属性,比如在情况发生变化时,重新设置“反应罐温度”的“高、低报警限”。需要注意的是,有的属性可以被读取或设置,称为“可读可写”型;有的属性只能被读取不能被设置,称为“只读”型;有的属性只能被设置而不能读取,称为“只写”型。从而大大提高了组态的功能。5.4.1 什么是变量的域 变量的属性用专门术语称为“变量的域”。对每个变量域的引用就是把变量名和域名用“”号(西文输入状态下的句号)连接起来即可,类似于高级语言(C+)中的“结构”,比如变量“反应罐温度”的报警组名(Group)域,写成“反应罐

31、温度.Group”。5.4.2 变量有哪些域 变量的域越多,表明属性越丰富。不同类型的变量具有不同的域,详解如下:内存离散变量、I/O 离散变量 Ack:表示变量报警是否被应答,离散型,只读。Alarm:表示变量是否有报警,离散型,只读。Group:表示变量所属的报警组名,模拟型,可读可写。Priority:表示变量的报警优先级,模拟型,可读可写。Name:表示变量的名称,字符型,只读 Comment 表示变量的描述内容,字符型,可读可写 注:变量的 Group 域(报警组)的值只能通过命令语言来修改。例如:在数据库中有一个 I/O 离散变量“断电保护”,则此变量含有 Ack,Alarm,Na

32、me,Comment,Group,Priority 六个域。如果要把它的报警优先级增加一级,则可用命令语句:第七章 变量定义和管理 北京亚控科技发展有限公司 206 断电保护.Priority=断电保护.Priority-1 (数字越小,优先级越高)内存实型变量、I/O 实型变量、内存长整型、I/O 长整型:Ack:表示变量报警是否被应答,离散型,只读。Alarm:表示变量是否有报警,离散型,只读。Group:表示变量所属的报警组名,模拟型,只写。Priority:表示变量的报警优先级,模拟型,可读可写。HiHiLimit:高高报警限,模拟型,可读可写。HiHiStatus:高高报警状态,离散

33、型,只读。HiLimit:高报警限,模拟型,可读可写。Histatus:高报警状态,离散型,只读。LoLimit:低报警限,模拟型,可读可写。LoStatus:低报警状态,离散型,只读。LoLoLimit:低低报警限,模拟型,可读可写。LoLoStatus:低低报警状态,离散型,只读。MajorDevPct:大偏差报警限,模拟型,可读可写。MajorDevStatus:大偏差报警状态,离散型,只读。MinorDevPct:小偏差报警限,模拟型,可读可写。MinorDevStatus:小偏差报警状态,离散型,只读。DevTarget:偏差报警限的目标值,模拟型,可读可写。RocPct:变化率报警

34、限,模拟型,可读可写。RocStatus:变化率报警状态,离散型,只读。MaxEU:最大值,模拟型,可读可写。MinEU:最小值,模拟型,可读可写。Name:表示变量的名称,字符型,只读 Comment 表示变量的描述内容,字符型,可读可写 其中,I/O实型变量、I/O长整型还有两个特有属性:MaxRAW:表示变量的最大原始值,模拟型,可读可写 第七章 变量定义和管理 北京亚控科技发展有限公司 207 MinRAW:表示变量的最小原始值,模拟型,可读可写 例如:在数据库中定义一个 I/O实型变量“反应罐温度”,则此变量含有上述的21个域。如果要显示“反应罐温度”的小偏差报警状态,则可用下述表达

35、式:反应罐温度.MinorDevStatus 例如:图5.16 变量域值的定义 如上图所示:test.Name 的值是”test”,test.Comment 的值是”This is a test”,test.MaxRaw 的值是 100,test.MinRaw 的值是 0.内存字符串变量、I/O 字符串变量 只能访问变量本身的值(即值域)。报警窗口:Group:表示报警窗口显示的报警组名,组变量,只写。第七章 变量定义和管理 北京亚控科技发展有限公司 208 Priority:表示变量的报警优先级,模拟型,可读可写。例如:定义一个报警组名“第一车间”,为了让报警窗口变量“化工厂报警窗口”显示第

36、一车间的报警,可用命令语言设置:化工厂报警窗口.Group=第一车间 报警窗口的域的使用详见“第九章 报警和事件系统”。I/O 离散变量、I/O 整型变量、I/O 实型变量、I/O 字符串变量 变量的域越多,表明属性越丰富。组态王 6.0 中的变量域增加了 I/O变量质量戳、时间戳两个重要的变量域类型。质量戳的值是表示变量通讯是否成功;时间戳的值是表示变量通讯成功或失败时的各种时间,如年、月、日等。详解如下:Quality:表示变量质量戳的值,整型,只读 QualityString:表示变量质量戳字符串,字符串型,只读 TimeYear:表示变量时间戳年的值,整型,只读 TimeMonth:表

37、示变量时间戳月的值,整型,只读 TimeDate:表示变量时间戳日的值,整型,只读 TimeHour:表示变量时间戳小时的值,整型,只读 TimeMinture:表示变量时间戳分的值,整型,只读 TimeSecond:表示变量时间戳秒的值,整型,只读 TimeMsec:表示变量时间戳毫秒的值,整型,只读 TimeZone:表示变量时间戳时区的值,整型,只读 TimeDateString:表示变量时间戳日期的字符串,字符串型,只读 TimeTimeString:表示变量时间戳时间的字符串,字符串型,只读 第七章 变量定义和管理 北京亚控科技发展有限公司 209 离散变量、整型变量、实型变量的报警

38、扩展域 变量的报警扩展域只有离散、整型、实型等能定义产生报警的变量才具有,是对变量报警的描述性文本,有效长度小于 16 个字符 ExtendFieldString1:表示报警变量的扩展域 1,字符串型,可读可写 ExtendFieldString2:表示报警变量的扩展域 2,字符串型,可读可写 历史趋势曲线:ChartLength 历史趋势曲线的时间长度,长整型,可读可写,单位为秒。ChartStart 历史趋势曲线的起始时间,长整型,可读可写,单位为秒。ValueStart 历史趋势曲线的纵轴起始值,模拟型,可读可写。ValueSIze 历史趋势曲线的纵轴量程,模拟型,可读可写。ValueE

39、nd 历史趋势曲线的纵轴结束值,模拟型,可读可写。ScooterPosLeft 左指示器的位置,模拟型,可读可写。ScooterPosRight 右指示器的位置,模拟型,可读可写。Pen1 到 Pen8 历史趋势曲线显示的变量,变量 ID 号,可读可写,用于改变绘出曲线所用的变量。历史趋势曲线的域的使用详见“第八章 趋势曲线和其它曲线”。5.4.3 变量域的使用 在 5.4.2 节中已经介绍了一些变量的域的使用。变量的域可以用来在画面上显示,也可以在命令语言中使用。引用变量域时,可以直接手动输入,也可以通过变量浏览器来选择,如图 5.17 所示,在变量浏览器中选择相关变量,单击“变量域”列表框

40、,弹出当前选择变量的所有域的列表,在列表框上挪动鼠标箭头,系统会自动显示一个提示文本,显示当前位置的变量域的数据类型。第七章 变量定义和管理 北京亚控科技发展有限公司 210 图5.17 选择变量域 图5.18 使用变量域 第七章 变量定义和管理 北京亚控科技发展有限公司 211 5.5 IO变量的转换方式 对于 IO 变量IO 模拟变量,在现场实际中,可能要根据输入要求的不同要将其按照不同的方式进行转换。比如一般的信号与工程值都是线性对应的,可以选择线性转换;有些需要进行累计计算,则选择累计转换。组态王为用户提供了线性、开方、非线性表、直接累计、差值累计等多种转换方式。5.5.1 线性转换方

41、式 用原始值和数据库使用值的线性插值进行转换。如下图所示,线性转换是将设备中的值与工程值按照固定的比例系数进行转换。如图 5.19 所示,在变量基本属性定义对话框的“最大值”、“最小值”编辑框中输入变量工程值的范围,在“最大原始值”、“最小原始值”编辑框中输入设备中转换后的数字量值的范围(可以参考组态王驱动帮助中的介绍),则系统运行时,按照指定的量程范围进行转换,得到当前实际的工程值。线性转换方式是最直接也是最简单的一种 IO转换方式。工程值 原始值 第七章 变量定义和管理 北京亚控科技发展有限公司 212 图5.19 定义线性转换 例1:与PLC电阻器连接的流量传感器在空流时产生0值,在满流

42、时产生9999值。如果输入如下的数值:最小原始值=0 最小值=0 最大原始值=9999 最大值=100 其转换比例=(100-0)/(9999-0)=0.01 则:如果原始值为 5000 时,内部使用的值为 5000*0.01=50。例2:与PLC电阻器连接的流量传感器在空流时产生6400值,在300GPM 时产生32000值。应当输入下列数值:最小原始值=6400 最小值=0 最大原始值=32000 最大值=300 其转换比例=(300-0)/(32000-6400)=3/256,则:如 果 原 始 值 为19200时,内 部 使 用 的 值 为(19200-6400)*3/256=150;

43、原始值为 6400 时,内部使用的值为 0;原始值小于 6400 时,内部使用的值为 0。第七章 变量定义和管理 北京亚控科技发展有限公司 213 5.5.2 开方转换方式 用原始值的平方根进行转换。即转换时将采集到的原始值进行开方运算,得到的值为实际工程值,该值的范围在变量基本属性定义的“最大值”、“最小值”范围内。如图 5.20 所示。图5.20 定义开方转换 5.5.3 非线性表转换方式 在实际应用中,采集到的信号与工程值不成线性比例关系,而是一个非线性的曲线关系。如果按照线性比例计算,则得到的工程值误差将会很大。如下图所示。对一些模拟量的采集,如热电阻、热电偶等的信号为非线性信号,如果

44、采用一般的分段线性化的方法进行转换,不但要做大量的程序运算,而且还会存在很第七章 变量定义和管理 北京亚控科技发展有限公司 214 大的误差,达不到要求。为了帮助用户得到更精确的数据,组态王中提供了非线性表。5.5.3.1 非线性表的定义 在组态王中引入了通用查表的方式,进行数据的非线性转换。用户可以输入数据转换标准表,组态王将采集到的数据的设备原始值和变量原始值进行了线性对应后(此处“设备原始值”是指从设备采集到的原始数据;“变量原始值”是指经过组态王的最大、最小值和最大、最小原始值转换后的值,包括开方和线性,“变量原始值”以下通称“原始值”),将通过查表得到工程值,在组态王运行系统中显示工

45、程值或利用工程值建立动画连接。非线性表是用户先定义好的原始值和工程值一一对应的表格,当转换后的原始值在非线性表中找不到对应的项时,将按照指定的公式进行计算,公式将在后面介绍。非线性查表转换的定义分为两个步骤:1 变量将按照变量定义画面中的最大值、最小值、最大原始值和最小原始值进行线性转换,即将从设备采集到的原始数据经过与组态王的初步转换。其具体含义见本节举例“I/O 实型变量的转换方式和转换比例”。2 将上述转换的结果按照非线性表进行查表转换,得到变量的工程值,用于在运行时显示、存储数据、进行动画连接等。关于非线性查表转换方式的具体使用如下:(1)建立非线性表:在工程浏览器的目录显示区中,选中

46、大纲项“文件”工程值 原始值 第七章 变量定义和管理 北京亚控科技发展有限公司 215 下的成员“非线性表”,双击“新建”图标,弹出“分段线性化定义”对话框,如图 5.21 所示:图5.21 分段线性化定义对话框 表格共三列,第一列为序号,增加点时系统自动生成。第二列是原始值,该值是指从设备采集到的原始数据经过与组态王变量定义界面上的最小值、最大值、最小原始值、最大原始值转换后的值。第三列为该原始值应该对应的工程值。非线性表名称:在此编辑框内输入非线性表名称,非线性表名称唯一,表名可以为数字或字符。增加点:增加原始值与工程值对应的关系点数。单击该按钮后,在“线性化分段定义”显示框中将增加一行,

47、序号自动增加,值为空白或上一行的值。用户根据数据对应关系,在表格框中写入值,即对应关系。例如,对于非线性表 liner,用户建立 10组对应关系,如图 5.22 所示:第七章 变量定义和管理 北京亚控科技发展有限公司 216 图5.22 定义非线性表 删除点:删除表格中不需要的线性对应关系。选中表格中需要删除行中的任意一格,单击该按钮就可删除。(2)对变量进行线性转换定义:在数据词典中选择需要查表转换的I/O 变量,双击该变量名称后,弹出“变量属性”对话框。在“变量定义”界面上,点击“转换方式”下的“高级”按钮,弹出“数据转换”对话框,如图 5.23 所示。默认选项为“无”。当用户需要对采集的

48、数据进行线性转换时,请选中“查表”一项。其右边的下拉列表框和“+”按钮变为有效。第七章 变量定义和管理 北京亚控科技发展有限公司 217 图5.23 变量定义数据转换对话框 单击下拉列表框右边的箭头,系统会自动列出已经建好的所有非线性表,从中选取即可。如果还未建立合适的非线性表,可以单击“+”按钮,弹出“分段线性化定义”对话框,如图 5.23 所示,用户根据需要建立非线性表,使用方法见(1)。运行时,变量的显示和建立动画连接都将是查表转换后的工程值。查非线性表的计算公式为:(后工程值前工程值)*(当前原始值前原始值)/(后原始值前原始值)+前工程值 当前原始值 当前变量的变量原始值。后工程值

49、当前原始值在表格中原始值项所处的位置 的后一项数值对应关系中的工程值。前工程值 当前原始值在表格中原始值项所处的位置的前一项数值对应关系中的工程值。后原始值 当前原始值在表格中原始值项所处的位置的后一原始值。前原始值 当前原始值在表格中原始值项所处的位置的前一原始值。第七章 变量定义和管理 北京亚控科技发展有限公司 218 例如:在建立的非线性列表中,数据对应关系为:序号 原始值 工程值 1 4 8 2 6 14 那么当原始值为 5 时,其工程值的计算为:工程值=(14-8)*(5-4)/(6-4)+8,即为 11。在画面中显示的该变量值为 11。5.5.3.2 非线性表的导入、导出 当非线性

50、表比较庞大,分段比较多时,在组态王中直接进行定义就显得很困难。为此,组态王为用户提供了非线性表的导入、导出功能,可以将非线性表导出为.csv 格式的文件;也可将用户编辑的符合格式要求的.csv 格式的文件导入到当前的非线性表中来。这样方便了用户的操作。如图 5.24 所示,打开已经定义的非线性表,单击“导出”按钮,弹出“保存为”对话框,选择保存路径及保存名称,单击“保存”按钮,可以将非线性表的内容保存到文件中。导出后的文件内容如图 5.25 所示。第七章 变量定义和管理 北京亚控科技发展有限公司 219 图5.24 导出非线性表 图5.25 导出的非线性表内容 用户也可以按照图 5.25 所示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁