VisualHMI - Lua脚本开发指南
本章系统性地介绍VisualHMI平台中LUA脚本的核心功能与应用实践,帮助开发者掌握从基础API调用到高级自动化逻辑的完整开发流程。LUA作为轻量级嵌入式脚本语言,为HMI提供了强大的动态交互能力,支持事件响应、数据处理、通信控制、定时任务及自定义协议等复杂场景。
详解平台提供的全局函数、寄存器读uy写、文件系统访问等基础能力。
深入解析RW Flash 存储的实现,仅适用于低频配置保存,高频写入将加速寿命耗尽,严重时可导致固件损坏与设备无法启动。
VisualHMI 的 LUA 开发支持自动生成 main.lua、多编辑器编写、运行时查错(虚拟屏/实体串口调试)及模块化管理
on_init、on_run、on_press、on_update、on_screen_change 等系统回调函数构成 VisualHMI LUA 开发的核心事件驱动框架
VisualHMI 提供完整的寄存器操作 API,支持 bit、int/uint(16/32/64 位)、float/double、string 等多种数据类型及批量写入(set_array/set_uint16_ex)。
VisualHMI 支持 Modbus/FX 等协议下的一主多从通信,通过 select_slave 切换从站,结合 start_read 实现按需轮询,并利用封装函数安全读写单个或批量寄存器,确保高效、可靠地与多个 PLC/驱动器交互。
VisualHMI 提供 32 个软件定时器(ID 0~31),通过 start_timer 启动、stop_timer 停止,并在 on_timer 回调中执行逻辑
VisualHMI 提供完整的数据记录控件 Lua API,支持对数值型和字符串型两种资料采样通道进行添加、读取、修改、清除及查询记录总数等操作
VisualHMI 通过 on_draw 回调与一系列 draw_xxx API,支持在指定控件区域内绘制直线、矩形、圆、椭圆、文字、图片等图形元素
VisualHMI 通过 Lua 脚本实现多设备告警集中管理,有效解决多 PLC 场景下告警配置繁琐、重复的问题,提升系统灵活性与可维护性。
包括带参、选择、过滤等高级功能,满足工业现场个性化需求。
支持文件读取与写入
控制SD卡中的媒体文件播放,增强人机交互体验。
实现OTA升级,降低维护成本。
VisualHMI支持通过控件分组与回调函数,一键批量动态切换指定控件的文字颜色。
VisualHMI 支持通过 Lua 脚本实现被动回调或主动轮询两种模式的自定义串口协议通信,分别适用于事件驱动与流程可控的私有协议场景。
VisualHMI 提供基于 Flash 的简易数据库,支持增删改查操作,适用于 HMI 端结构化数据的掉电保存与管理。
本教程将作为VisualHMI开发者知识库的核心组成部分,持续更新并保持与最新版本平台兼容,助力用户构建更高效、更智能的人机交互系统。 本章节将作为动态知识库长期维护与更新,后续将逐步纳入更多关于Lua 教程,开发者定期查阅本章,以获取最新、最可靠的支持。