在传统工业HMI开发中,很多工程师都会遇到一个共同的问题:
> 界面搭建很简单,但稍微复杂一点的逻辑就需要回到单片机程序修改。
例如:
* 一个密码输入功能
* 一个数据校验
* 一个倒计时
* 一个菜单切换
* 一个协议转换
* 一个设备状态判断
很多串口屏软件只能完成"显示",真正的逻辑仍然需要STM32、51单片机或者PLC完成。
如果设备逻辑越来越复杂,主控程序就会越来越庞大,开发周期和维护成本也随之增加。
这正是三易串口屏 VP 开发环境希望解决的问题。
1、 什么是VP开发环境?
VP(Visual Pix)是三易串口屏配套的开发平台,它不仅仅是一个界面编辑软件,更是一套集界面设计、事件处理、脚本开发、协议解析、资源管理、在线调试、于一体的工业HMI开发平台。
在VP中,开发流程通常只有几个步骤:
- 新建工程
- 导入图片、字体、动画等资源
- 拖入控件完成界面布局
- 编写事件脚本
- 编译下载
- 在线调试运行
整个过程全部集中在同一个开发环境内完成,无需频繁切换软件,大幅提升开发效率。
2、VP不仅仅是"画界面"
很多开发者第一次打开VP,会觉得它和其它串口屏软件类似。
实际上,它最大的优势并不是界面编辑。
真正的核心,在于**脚本系统**。
传统串口屏:
按钮 → 发送固定指令 → 单片机处理 → 返回数据显示
而VP开发模式则可以变成:
按钮 → 本地脚本执行 → 数据处理 → 控件刷新 → 必要时再与主控通信
很多原本必须依赖MCU完成的功能,现在可以直接在屏幕端完成。
例如:
* 数据计算
* 条件判断
* 页面逻辑
* 字符串处理
* CRC计算
* Flash掉电保存
* Modbus解析
* CAN解析
* 自定义协议处理
这些能力意味着,串口屏已经不仅仅是显示终端,而是具备了一定的数据处理能力。
3、VP最大的特点:支持类C语言脚本
很多HMI软件采用的是自定义脚本语言。
学习成本较高。
而VP采用了工程师最熟悉的开发方式——类C语言脚本。
目前支持:
* int
* float
* byte
* string(变量控件)
* if / else
* for
* while
* do while
* break
* continue
* 算术运算
* 位运算
* 自定义函数
对于已经使用STM32、GD32、ESP32、51单片机等平台的开发人员来说,这种语法几乎没有学习门槛。
很多逻辑代码可以直接按照C语言思维进行编写。
例如,一个简单的判断:
```c
if(temp>80)
{
txtWarn.txt="High Temp";
}
else
{
txtWarn.txt="Normal";
}
```
这种写法对于绝大多数嵌入式工程师来说都十分熟悉,无需重新学习一套新的脚本语言。
4、事件驱动,让界面真正"动起来"
VP采用事件驱动机制。
几乎每一个控件,都拥有对应的事件。
例如:
* 页面加载
* 页面关闭
* 按钮按下
* 按钮弹起
* 数值改变
* 定时器触发
* 协议接收
* Modbus接收
* CAN接收
开发者只需要在对应事件内编写脚本即可。
例如:
按钮点击后
↓
修改变量
↓
更新文本
↓
切换图片
↓
播放声音
↓
发送串口数据
整个过程都可以在一个事件中完成。
这种开发方式更加符合现代GUI开发理念。
5、一个开发环境,完成完整项目
除了脚本能力之外,VP还集成了大量工程开发功能,例如:
* 在线联机预览
* USB下载
* 串口下载
* 固件升级
* 字库生成
* 图片资源管理
* GIF动画
* 视频播放
* 音频播放
* Bin文件量产
* 项目配置
* 编译调试
* 模拟器运行
开发过程中无需安装多个辅助软件,大多数工作都可以在VP中完成。
6、为什么越来越多项目开始把逻辑放到屏幕端?
过去:
MCU负责100%的业务逻辑。
现在:
MCU负责底层控制。
VP负责界面交互。
例如:
设备上传:
温度
压力
速度
报警
VP负责:
* 判断报警颜色
* 控件切换
* 页面跳转
* 历史数据显示
* 曲线刷新
* 用户输入
* 参数校验
* 密码验证
这样可以显著减少MCU程序复杂度,同时也降低后期维护成本。
对于经常需要调整界面的项目来说,只需修改VP工程即可,无需重新修改底层控制程序。
7、三易VP开发环境适合哪些开发者?
如果你正在使用:
* STM32
* GD32
* ESP32
* Arduino
* 51单片机
* 瑞萨MCU
* NXP MCU
* PLC
那么VP开发环境都能够作为人机交互层快速接入。
开发者无需从零编写GUI框架,也不用处理复杂的界面绘制,只需要专注于设备本身的业务逻辑。
7、 写在最后
工业HMI的发展,已经不仅仅停留在"显示界面"。
越来越多的项目开始把界面交互、数据处理和部分业务逻辑直接放到屏幕端完成。
三易VP开发环境正是在这一方向上的一次探索。
通过熟悉的类C语言脚本、丰富的控件体系以及完整的开发工具链,开发者能够以更低的学习成本、更高的开发效率完成工业人机界面的设计与实现。