在三易VP开发环境中,变量控件属于非显示控件。
它不会显示在界面上,却负责保存和传递整个工程的数据。
无论是按钮、文本、曲线,还是串口通讯、脚本计算,几乎都离不开变量控件。
可以说,一个工程是否容易维护,很大程度上取决于变量设计是否合理。
1、什么是变量控件?
变量控件用于保存数据。
支持的数据类型包括:
- int
- float
- string
如果勾选 Global 属性,变量还可以作为全局变量,在多个页面之间共享数据,同时需要注意,跨页面调用控件,调用时控件前面得加上页名称。
变量本身不会显示在屏幕上,它更像是整个工程的数据仓库。
2、为什么推荐使用变量?
很多新手开发时都是这样:
按钮点击
↓
修改文本
↓
切换图片
这样写虽然简单,但工程稍微复杂以后就会越来越难维护。
更推荐的方式是:
设备上传数据
↓
保存到变量
↓
文本、图片、曲线共同读取变量
这样数据只有一份,所有控件共享,程序结构也更加清晰。
3、变量有哪些用途?
变量几乎贯穿整个工程。
例如:
保存设备数据
设备上传温度后,先保存到变量,再刷新文本、仪表和曲线。
保存用户输入
用户输入参数时,先保存到变量,点击确定后再发送给设备。
页面数据共享
设备编号、运行状态、用户权限等,都可以通过全局变量在多个页面共享。
保存报警状态
报警图标、报警文字、蜂鸣器,都可以读取同一个报警变量,实现统一管理。
4、全局变量和局部变量
局部变量只能在当前事件使用。
适合:
- 临时计算
- 事件内部逻辑
全局变量可以在整个工程中使用。
适合:
- 温度
- 压力
- 当前用户
- 运行状态
- 设备编号
- 系统设置
建议只有需要跨页面使用的数据才设置为全局变量。
5、脚本如何操作变量?
VP脚本可以直接读写变量。
例如:
temp.val = 25;
修改整型变量。
pressure.valf = 1.25;
修改浮点变量。
deviceName.txt = "Pump A";
修改字符串变量。
由于脚本语法与C语言类似,STM32、ESP32等开发人员基本可以直接上手。
6、变量设计建议
建议先设计变量,再开始设计界面。
例如:
- 当前温度
- 当前压力
- 设备状态
- 用户权限
- 目标温度
- 报警状态
先把整个工程的数据整理出来,再进行界面设计,后期维护会更加方便。
写在最后
变量控件虽然不会显示在界面上,却是整个工程的数据中心。
养成"数据先保存到变量,再由控件读取变量"的开发习惯,可以让工程结构更加清晰,也方便后期扩展和维护。