(五)变量字典
变量字典是系统中所有变量的集合,由一个个变量组成,每个变量都有自己的名称、描述、变量类型等属性。
在开发系统中,变量字典中包含所有变量的列表,用户可以创建、修改或删除这些变量。
变量字典中的变量有五种类型:系统变量、内存变量、IO变量、引用变量和特殊变量。
2、什么是系统变量?
系统变量是系统预先设置的变量,不需要用户创建,这些变量用户可以直接使用。系统变量又分为系统离散、系统整数、系统实数、系统信息和系统报警组变量。系统变量设有只读和读写属性,只读变量如系统时间等,由系统自动更新,用户不能改变这些变量的数值;对于具有读写属性的系统变量,用户可以改变变量的数值。
3、内存变量、I/O变量和引用变量区别?
(1) 内存变量:用户定义在系统内部的变量,这些变量不同外部进行数据交换,主要存放计算处理的中间值,以及在系统仿真时模拟IO变量。
(2) IO变量:与其他应用程序进行数据交换的变量。
(3) 引用变量:就是指针变量,可以实现对其他变量的引用,一旦引用操作发生,引用变量将具有和被引用变量相同的特性。
4、什么是特殊变量?
特殊变量是系统为实现一些特殊功能而设置的变量,特殊变量类型包含三种变量:报警窗口变量、历史曲线变量和报警组变量。
(1) 报警窗口变量:同报警窗口控件关联,用于唯一标识报警窗口控件。报警窗口变量的域可用于获取报警窗口控件的参数,也可以通过设置报警窗口变量的域值,改变报警窗口控件的参数。
(2) 历史曲线变量:同历史曲线控件关联,用于唯一标识历史曲线控件。历史曲线变量的域可用于获取历史曲线控件的参数,也可以通过设置历史曲线变量的域值,改变历史曲线控件的参数。
(3) 组变量:即报警组变量,用于确定各个报警组之间的父子、兄弟关系。组变量的域如:.Ack、.Alarm 可以表示该报警组的报警状态及是否应答等信息。
5、变量的只读、读写、只写属性各代表什么意思?
只有IO类型的变量才具有只读、读写或只写属性。
(1) 只读:表示变量的值只能从外部设备读取,不可以写到外部设备。
(2) 读写:表示变量的值可以从外部设备读取,也可以写到外部设备。
(3) 只写:表示变量的值只能写到外部设备,不可以从外部设备读取。
6、变量的数据类型(离散、整数、实数,信息值)各是什么意思?
系统变量、内存变量、IO变量和引用变量都有四种数据类型:
(1) 离散类型变量:布尔变量,就是开关量。离散类型变量的值只能为:0(关,OFF,FALSE)和1(开、ON,TRUE)两种。
(2) 整数类型变量:32位整数变量。取值范围:-2,147,483,648 ~ 2,147,483,647。
(3) 实数类型变量:十进制浮点型变量。取值范围:-3.4e 38 ~ 3.4e 38。
(4) 信息类型变量:字符串变量。取值范围:最长能存储255个字符。
7、变量的转换方式怎么用?
数据转换方式是IO整数和IO实数对应外部数据的原始数值到数据库中数值的转换方式,包括以下两种基本数据转换方式:
(1) 线性:IO整数和IO实数对应的原始数值和数据库使用值用线性插值进行转换。
(2) 开方:用IO整数和IO实数对应的原始数值的平方根进行转换。
数据转换方式可以用于采集数据和变量数据库中对应值之间单位换算。
示例:用板卡采集温度0~
8、变量的初始值、最小值、最大值、最小I/O值、最大I/O值各代表什么意思?
(1) 初始值:系统开始运行时为变量设置的初值。
(2) 最小值:变量数据库中变量的最小值。
(3) 最大值:变量数据库中变量的最大值。
(4) 最小值[I/O]:变量对应外部设备或应用程序的最小值。
(5) 最大值[I/O]:变量对应外部设备或应用程序的最小值。
9、什么是变量的数据死区?
数据死区:变量的值改变时,为防止数据抖动而设置的一个数据区域,当数据变化在这个数据区域范围内时,系统认为数据没有发生改变;当该数据变量的值变化幅度达到或超过“数据死区”时,系统才更新变量的值。
数据类型为整数类型、实数类型时才有“数据死区”的选项。
10、天星组态变量的定时记录和死区记录是什么意思?
系统运行时,将变量的值按照时间顺序保存到磁盘上,生成历史数据记录,离散类型、整数类型和实数类型的变量可以选择是否记录。数据记录包括三种记录方式:不记录、死区记录、定时记录:
(1) 不记录:变量的值不需要历史记录。
(2) 定时记录:变量的值按照设置的时间间隔记录到磁盘上。
(3) 死区记录:变量值的变化幅度大于或等于设定的“记录死区”值时,才被记录到磁盘上。
死区记录示例:温度变量,内存实数类型,选择死区记录方式,记录死区 = 3。系统运行时,温度的初始值是10,当温度的值为12时,由于12-10 = 2 < 3,数据变化的幅度小于“死区记录”值,不记录;当温度的值为14时,由于14-10 = 4 > 3,数据变化的幅度大于“死区记录”值,记录到磁盘上。
11、如何快速创建变量?或如何用 EXCEL创建变量?
① 在“工程项目管理器”中指定用户工程项目,在上面的工具按钮中按“导出”按钮,将工程项目的变量字典导出到CSV格式的文件。
② 用EXCEL 编辑CSV文件。注意:每种数据类型改变时,都有一行标题,用于标识下面变量的数据类型及每列的内容,这个标题不要修改或删除,否则,无法“导入”到系统中。
③ 在“工程项目管理器”中指定用户工程项目,在上面的工具按钮中按“导入”按钮,将刚编辑的CSV文件导入到工程项目的变量字典中。
④ 在“工程项目管理器”中用鼠标左键双击工程项目或在工具按钮中选择“打开”按钮,新导入的变量字典将重新加载到系统中。
注释:
① 使用导出/导入功能时,至少要创建一个需要的变量,确保在EXCEL中有这种变量类型的标题。
② 变量字典在导入时,会做合法性检查,如:变量名称是否合法;变量名称是否重名等。
12、如何在系统退出时保存当前变量的数值?
① 在定义变量的时候选择保存变量值;
②用函数 FileWriteFields() 保存变量值,在下次调用时,用函数 FileReadFields() 读取。
13、变量字典中保存值和保存参数是什么意思?
保存值:选中本项,在运行系统退出时,将变量的值保存到变量的初始值中,这样,下次运行系统启动时,变量的值为上次系统运行退出时系统保存的值。
保存参数:在系统运行时,修改变量域的值(读写属性的域),当系统退出时,系统将这些变化的域值保存到变量字典中,下次运行系统启动时,就会使用这些域值。
注:由于保存值和保存参数可以改变变量的参数值,开发系统中变量字典编辑时,也可以修改变量的参数值,因此,系统规定:在开发系统打开时,运行系统中“保存值”和“保存参数”的功能无效!
14、为什么变量字典中“保存值”和“保存参数”经常不起作用?
① “保存值”和“保存参数”含义:
保存值:运行系统关闭时,将变量的值保存到变量的初始值中,这样,下次再打开运行系统时,变量的值就会跟上次关闭运行系统时的值一致。
保存参数:运行系统关闭时,将变量的一些域值保存到变量的相应的域中,如:报警上限等,如果运行中用户改变过变量的域值,就会将这些值保存到变量字典中,下次再打开运行系统时,变量的域值就会跟上次关闭运行系统时的域值一致。
② 由于上述值都是保存到变量字典中,而开发系统又可以随时修改这些值,如果运行系统关闭后,开发系统中又修改了这个变量,就会引起“保存值”和“保存参数”不起作用。
因此,系统规定:只有关闭开发系统后,“保存值”和“保存参数”才起作用,否则,忽略“保存值”和“保存参数”的功能。
15、如何删除变量?
在开发系统中,已经使用过的变量是不能修改变量名称,或者删除这个变量。删除变量方法:
① 关闭所有画面。
② 在菜单“系统”中选择“变量使用查询”可以查询到所有使用该变量的地方,将这些使用的地方(如:动画连接或命令语言)去掉该变量
③ 在菜单“系统”中选择“更新变量计数”。
④ 在菜单“系统”中选择“删除未用变量”将变量删除。
16、已经删除了变量的所有连接,为什么在变量字典中的变量还是灰色的,不能修改或删除?
系统中已经使用过的变量,在变量字典中显示的变量名称就是灰色的,表示不能修改或删除。要想修改或删除这些变量,必须做到:
① 关闭所有画面。
② 在菜单“系统”中选择“变量使用查询”可以查询到所有使用该变量的地方,将这些地方(如:动画连接或命令语言中)的变量删除。
③ 在菜单“系统”中选择“更新变量计数”。
④ 这时,变量就可以修改或删除了。
17、系统支持的最大点数是多少?
天星组态软件支持的最大点数为6万点。
18、设备对象名、寄存器、数据类型、采集频率代表什么意思?
变量字典中“设备对象名”、“寄存器”都需要选择设置,不能直接输入,因为,选择时,与选择项相关的参数将会自动调入。在“设备对象名”下拉式列表框中选择相应的设备对象,本设备支持的所有寄存器将自动设置到寄存器下拉式列表框中;在“寄存器”下拉式列表中选择一个寄存器,则寄存器支持的数据类型、读写属性等参数会设置到变量的相应属性中。
(1) 设备对象名:在设备管理器中已经创建的设备名称,该名称为所连接设备的标识。
(2) 寄存器:设备中包含的寄存器。
(3) 数据类型:寄存器在设备中的数据类型。
(4) 采集频率:从设备中采集本寄存器值的频率。