菜单

第三章 实时变量

变量是Apus IDE组态软件中一个非常重要的概念,整个组态工具是围绕变量进行组态。

1 变量名

1)变量管理器

APP程序运行后会创建一个实时变量集合,称为“变量管理器”,用于应用程序内部、多线程之间、应用程序与外部设备的双向数据交换。

2)变量名

每一个变量都有一个唯一的变量名,在创建变量时定义,由变量管理器集中管理。

用户使用变量名来读写变量实例对象值,参考代码如下。

	//获取变量值
	int v;
	vm->getInt("变量名", v);	
	//设置变量值
	vm->setInt("变量名", 100);

2 变量分类

按变量的用途不同分为:

1)普通变量

变量可以看着是HMI内部开辟某块内存区域,用户可以对其进行读写操作,如设置值、获取值、关联控件与变量。

普通型变量有整型、浮点型、字符 串、长整型等几种不同数据类型,用于区分访问变量的数据类型。

2)设备变量

设备型变量除了普通型变量的基本特点外,还有设备地址、元件类型、元件地址等与特定设备相关的属性,是外围设备的软元件或IO节点在HMI内部内存中映射。

根据设备软元件的不同,分为布尔型、带符号整型、无符号整型、浮点型、字符串、16位带符号整型、 16位无符号整型、16位BCD码、32位BCD码等。

3)系统变量

IDE内置的、有特定的名称、特定数据类型的普通变量。如系统时间、用户名等。

通常情况下不建议用户直接对系统变量进行写操作。

4)配方型

用户配方。

5)占位型

虚拟变量(暂时无用)。

 

按变量的实际存储数据类型分为:

1)整型

2)浮点型

3)长整型

4)字符串型

对照关系参考表:

分类

APUS IDE

C++

普通型

T_INT

int

T_FLOAT

float

T_LONG

long

T_TABLE

-

T_TABLEVIEW

-

T_VCHAR

string

配方型

T_RCP

-

设备型

D_INT

int

D_UINT

Unsigned int

D_FLOAT

float

D_VCHAR

string

D_BOOL

bool

D_LONG

long

D_INT16

Int16_t

D_UINT16

uint16_t

D_BCD16

int

D_BCD32

int

3 创建变量

双击项目“工程设置”,

默认打开“实时变量”页签,上述各种类型的变量在这里集中进行管理。

如下图所示,左侧树状结构对变量按类型进行分类,右侧是变量列表和维护菜单栏,

菜单栏功能说明如下:

图标 功能 说明
批量添加 批量添加多个变量
添加变量 添加单个变量
删除变量

删除一个或多个变量,如果工程里有控件绑定了变量,该变量不能删除

导入变量 从外部文件导入变量
导出变量 将工程变量导出为*.csv文件
触发函数 创建或删除变量值变化时的触发函数
  双击 打开变量维护界面进行修改

变量表格字段说明:

列名 说明
变量名 变量名称,必须唯一
设备 所属设备,仅设备变量有效
元件类型 元件的类型,与具体设备型号有关,仅设备变量有效
元件地址 元件的地址,与具体设备型号有关,仅设备变量有效
数据类型 变量的数据类型
自动保存 变量自动保存后,HMI上电后会自动恢复保存值,用于掉电保存功能
初始值 设置APP启动时变量的初始值
保持驻留 启用后设备变量会一直维持和外围设备的通讯
值变化时触发 值变化触发函数

注意事项:

  1. 用户能添加普通变量、设备变量;

  2. 用户不能添加系统变量,只能查看;

  3. 用户不能创建和修改配方变量;

  4. 添加设备变量前需要先添加设备;

 

4 常规变量

4.1 添加单个变量

类型选择“普通型”,点击添加按钮新增普通变量。

选择数据类型、修改变量名,保存即可。

可以在变量表格中直接编辑变量名称,保存时自动检查是否重名。

4.2 批量添加

用于一次性添加多个同类型的变量。如下图所示,点击“批量添加”按钮,

  1. 选择数据类型

  2. 输入变量名前缀

  3. 输入批量添加的变量个数

点击确定按钮即可。

也可以不指定变量前缀,由IDE自动生成,然后用户按需修改即可。如变量重名,无法保存。

 

5 设备变量

需要先添加设备,然后才能创建设备变量!!

5.1 添加单个变量

类型选择“设备型”,点击添加按钮新增变量,如下图所示,需要依次指定以下参数:

  1. 设备

  2. 软元件类型

  3. 地址

  4. 变量名

  5. 数据类型

点击确定按钮即可。

5.3 批量添加

用于一次性为同一台设备添加多个同类型地址且连续的变量。如下图所示,类型选择“设备型”,点击“批量添加”按钮,

如上图所示,需要依次指定以下参数:

  1. 设备

  2. 软元件类型

  3. 首地址

  4. 变量名前缀

  5. 变量个数

  6. 数据类型

点击确定按钮即可。

也可以不指定变量前缀,由IDE自动生成,然后用户按需修改即可。如变量重名,无法保存。

 

6 系统变量

系统变量是IDE平台提供或创建的预置变量,包括内置系统变量与动态系统变量。

6.1 内置系统变量

常用内置系统变量参考下表,

标识 名称 说明
$time 当时时间 时间戳,64位长整型,自1970年1月1日00:00:00起至现在的总秒数
$hour 当前小时 整型
$hour12 当前小时 整型,12小时制
$minute 当前分钟 整型
$second 当前秒 整型
$logintime 登录时间 时间戳,64位长整型,自1970年1月1日00:00:00起至现在的总秒数
$worktime 系统上电工作时间 整型,系统上电后工作的秒数
$uname 登录用户名 字符串型,默认为空
$uid 登录用户 字符串型,默认为空
$errcode    
$errmsg    
$language 语言

字符串型,默认中文,同时支持9种语言切换,

默认的语言列表如下:

简体中文:“zh_CN”

繁体中文:"zh_TW"

英文:"en_US"

阿拉伯语:"ar_AR"

法语:"fr_FR"

德语:"de_DE"

韩语:"ko_KR"

西班牙语:"es_ES"

日语:"ja_JP"

越南语:"vi_VN"

注:当用户的语言不在上述列表时,可用任何一种列表代替,这里只是一个语言标识。

$verstamp 版本时间戳 字符串型,如“231129133619”
$wifistatus 连接Wi-Fi信号强度 整型,0-4,0表示无信号,4表示信号最强,仅启用WIFI有用
$wifissid 连接Wi-Fi名称 字符串型,默认为空,仅启用WIFI有用
$fgstatus 连接4G信号强度 整型,0-4,0表示无信号,4表示信号最强,仅启用4G有用
$fgssid 连接4G名称 字符串型,默认为空,仅启用4G有用
$eth0ip 网卡0 IP地址 字符串型,本机网卡0 IP地址
$eth1ip 网卡1 IP地址 字符串型,本机网卡1 IP地址
$wlanip WIFI IP地址 字符串型,默认为空,仅启用WIFI有用
$fgip 4G IP地址 字符串型,默认为空,仅启用4G有用
$lastinput   系统内部使用
$lasttouch   系统内部使用
$currentinput 正在录入字符串 字符串型,当前正在录入的字符串
$inputll 录入下限 系统内部使用,用户只读
$inputul 录入上限 系统内部使用,用户只读

6.2 动态系统变量

如下图所示,当添加设备时创建,删除设备时删除,用于显示设备连接状态。

其标识和名称由系统创建,用户不可以更改。

 

7 配方变量

在“实时变量”页签中,只能查看配方变量。添加配方变量需要在“配方数据”页签中。

配方变量的定义与维护,参考配方功能

 

8 变量使用

几种常用用法。

8.1 用文字标签显示变量值

在控件的属性中进行设置。

比如:文字控件绑定变量来显示变量值;

点击标签内容属性,弹出设置对话框,

点击【变量选择...】按钮,从下面的列表中选择要显示的变量,

确定后,返回,再点击【确定】按钮,完成。

设计器中标签控件会从原始状态变为设置的显示变量,如下:

8.2 控件操作变量

在控件的事件处理中进行设置,主要用在按钮与按钮元件上。比如:按钮控件来操作变量;

点击事件处理下,点击事件后的按钮,弹出设置框,

点击【选择】按钮,选择“操作变量”,

再设置“执行动作”,如下

点击【确认】按钮即可。

8.3 文本框输入修改变量

文本框关联变量后可以直接修改变量的值,

点击“关联变量”属性,弹出变量选择对话框,

点击确定即可。

8.4 通过API接口直接读写变量

 读操作:

int value;
vm->getInt(“变量名”,value);

写操作:

int value=123;
vm->setInt(“变量名”, value);

注意: 变量没有读写特性,其用作是只读、只写还是读写由用户决定!

 

 

文章
3.1 变量初值
3.2 设备变量的驻留
3.3 掉电保存
3.4 导入导出
3.5 变量传递
上一个
2.6.8 变量消息
下一个
3.1 变量初值
最近修改: 2025-02-11Powered by