第九章 变量定义和管理 9-1
第九章 变量定义和管理
? ? ? ?
介绍变量的分类及不同类型变量的设置 介绍变量的属性、方法、函数等 有关变量组的基本操作 教您如何导入、导出变量 9.1 概述
数据库是KingSCADA最核心的部分。在KingSCADA运行时,工业现场的生产状况要以动画的形式反映在屏幕上,同时应用人员在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,数据库是联系上位机和下位机的桥梁。
9.2 变量类型
KingSCADA系统中定义的变量与一般程序设计语言(如BASIC、PASCAL、C语言)中定义的变量有很大的不同,既能满足程序设计的一般需要,又考虑到工控软件的特殊需要。KingSCADA目前支持的变量类型如下:
系统变量:基本的变量点,每个变量点是一个单独的变量对象,不能修改。 基本变量:基本的变量点,每个变量点是一个单独的变量对象。 结构变量:以结构的形式存在,是多个基本变量点的集合。 引用变量:以一组变量,替代多组数据类型相同的变量。
9.2.1 系统变量
系统变量是系统已经内置好的变量,这些变量无须定义,用户可以直接使用,此类型的变量包括如下几种: $Year:16位无符号整型,返回系统当前日期的年份。
$Month:16位无符号整型,返回1到12之间的整型,表示当前日期的月份。 $Day:16位无符号整型,返回1到31之间的整型,表示当前日期的日。 $Hour:16位无符号整型,返回0到23之间的整型,表示当前时间的时。 $Minnute:16位无符号整型,返回0到59之间的整型,表示当前时间的分。 $Second:16位无符号整型,返回0到59之间的整型,表示当前时间的秒。 $MillSecond:16位无符号整型,返回0到999之间的整型,表示当前时间的毫秒。
北京亚控科技发展有限公司
9-2 第九章 变量定义和管理
$Date:返回系统当前日期字符串,最长32个字符。 $Time:返回系统当前时间字符串,最长32个字符。
$User:在程序运行时记录当前登录的用户的名字,最长32个字符。 $DayofWeek:返回0-6之间的整数,表示当天是星期几,0表示星期天
$StartHistoryRecord:布尔型,表示历史记录是否启动,1:启动,0:未启动,应用人员在开发应用时,可通过脚本预先设置该变量为1,在应用运行时刻也可以进行控制。
$StartAERecord:布尔型,表示报警记录是否启动,1:启动,0:未启动,应用人员在开发应用时,可通过脚本预先设置该变量为1,在应用运行时刻也可以进行控制。
$NewAlarm:布尔型,每当报警发生时,系统将该变量自动设置为1,由应用人员负责把该值恢复到0。 $RedundantStatus:16位有符号整型,表示当前应用处于哪种冗余状态: 变量=0表示非冗余状态 变量=1表示冗余主机激活状态 变量=2表示冗余主机非激活状态 变量=-2表示冗余从机激活状态
变量=-1表示冗余从机非激活状态(监视状态)
应用运行时可由应用人员手动修改数值来切换冗余状态。
9.2.2 基本变量
基本变量数据类型包括:
I/O变量:布尔型、实数型、整数型、字符串类型 内存变量:布尔型、实数型、整数型、字符串类型
这八种基本类型的变量是通过变量属性对话框定义的,同时在变量属性对话框的属性卡片中设置它们的部分属性。
基本变量数据类型表如下:
数据类型 内存离散型 IO离散型 内存整型 IO整型 内存实型 IO实型 float型,32位实数,单精度浮点 7 integer型,32位整数 -2147483648~2147483647 -9.99999968028569E3小数点后6位 精确 描述 bool型 取值范围 0 (false),1 (true) 精度 精确 北京亚控科技发展有限公司
第九章 变量定义和管理 9-3
~9.99999968028569E37 内存字符串型 IO字符串型
string型 最大长度128个字符 精确 9.2.2.1 新建基本变量
在KingSCADA的工程设计器的树形目录下选择“建点”→“数据词典”选项,右侧的内容显示区会显示当前应用中所定义的变量和系统变量。单击“新建”按钮,弹出“变量属性”对话框,如图9- 1所示:
图9- 2 新建基本变量对话框
北京亚控科技发展有限公司
9-4 第九章 变量定义和管理
此对话框中默认有三个属性卡:基本属性卡、历史属性卡和报警属性卡。若在数据类型下拉框中选择了IO变量。将会增加一个IO属性卡。
9.2.2.2 基本属性定义
基本属性卡中的各项用来设置变量的基本特征,如图9-1所示,各项含义如下: 变量名:设置变量的名称,变量名里可以包含英文字母、数字、中文字符等。 变量名称规范要求:
1、同一应用中的变量不能重名 2、变量名区分大小写
3、变量名最长不能超过64个字符 4、第一个字符不能是数字
5、不能包含空格字符和如下28个无效字符:,:;+-*/%&!~|^<>={}[]().`’ ”\\? 6、不能包含如下26个片假名字符:
ゴ ガ ギ グ ゲ ザ ジ ズ ヅ デ ド ポ ベ プ ビ パ ヴ ボ ペ ブ ピ バ ヂ ダ ゾ ゼ 例如:温度、压力、液位、var1等均可以作为变量名。
变量类型:分为基本类型、结构类型和引用类型三种,可任选其中的一种,这里选择基本类型。当应用中没有结构模板时,结构选项不可用。
数据类型:设置变量的数据类型,在下拉框中选择其中的一种。 描述:设置变量的描述信息,限制128个字符。
死区:数据类型为整型或实型时此项有效,只有当该数据变量值的变化幅度超过死区中设置的数值时,KingSCADA才更新与之相连接的画面显示,缺省为0。
初始值:此项内容与所定义的变量类型有关,定义模拟量时出现编辑框可输入一个数值,定义离散量时出现开或关两种选择。定义字符串变量时出现编辑框可输入字符串,它们规定软件开始运行时变量的初始值?。
最小值/最大值:设置整型或实型变量的量程范围。
工程单位:设置整型或实型变量的工程单位,限制8个字符。
保存值: 该项被选中后,那么运行态下,保存值是当运行系统退出时会将退出时刻的值保存到变量定义的初始值中,作为下次运行时的初始值。
保存参数:该项被选中后,系统运行时,如果变量的域(可读可写型)值发生了变化,KingSCADA运行系统退出时,系统自动保存修改的域值。运行系统再次启动后,变量的初始域值为上次系统运行退出时保存的值,否则,系统不会保存退出前修改的域值。
允许其他应用访问:该项被选中后,变量可以被第三方程序访问,如DDE、OPC、API,否则该变量不能
北京亚控科技发展有限公司
第九章 变量定义和管理 9-5
够被第三方程序访问。
记录事件:该项被选中后,那么运行态下,用值输入动画、鼠标事件、图素、控件的事件脚本里导致该变量值域或其它域的值发生变化,都会生成操作事件,操作事件会在事件窗口中显示,也可以保存到报警事件库里,使用户能够了解到该变量的操作变化情况。详细介绍请参见第12章报警与事件系统。
安全区:设置变量所属的安全区,只有拥有这个安全区的用户才能操作该变量,详细介绍请参见第6章用户安全管理系统。
9.2.2.3 历史属性定义
历史记录属性卡中的各项是用来设置变量的保存方式,具体介绍请参见第23章KingSCADA历史记录。
9.2.2.4 报警属性定义
报警属性卡中的各项是用来设置变量的报警属性,具体介绍请参见第12章报警与事件系统。
9.2.2.5 IO属性定义
新建IO变量时需要具备以下几个条件,换一种说法就是要经过下面的步骤才能在服务端应用中创建IO类型的变量。
步骤一:建IOServer应用。具体使用方法详见第8章。 步骤二:在IOServer应用中建设备。具体使用方法详见第8章。 步骤三:在IOServer应用中建变量。具体使用方法详见第8章。
步骤四:在IOServer应用中进行网络配置。具体使用方法详见第19章19.2.3节内容。 步骤五:在服务端应用进行网络配置,连接IOServer应用。
在其它服务器-IOServer服务器中,添加IOServer站点。具体使用方法详见第19章19.2.1节内容。 IO属性选项卡中的各项用来设置IO变量的基本特征,如图9-2所示:
北京亚控科技发展有限公司