Lua 脚本用于变量读写、事件响应、串口通信和定时任务。各节按接口说明、应用示例与常见问题组织。
章节导航
| 章节 | 内容 |
|---|---|
| 5.1 系统回调 | 初始化、周期运行、触摸、切页及控件事件。 |
| 5.2 寄存器读写 | LW/RW、PLC 变量及数值、位、字符串读写。 |
| 5.3 串口通信 | 双串口收发、接收拼帧与运行日志。 |
| 5.4 定时器 | 循环、单次任务、停止与调整周期。 |
| 5.5 辅助接口 | 时间、音频、设备标识、页面查询与数据库。 |
| 5.6 Modbus 读写 | 四区操作、批量读写、轮询及双从站示例。 |
快速使用
- 将业务脚本保存为工程的
main.lua。修改后重新导出工程资源,在模拟器或屏端加载最新工程。 - 按需定义全局回调,同名回调只保留一份。变量、预读和定时器在
on_init()中初始化;页面与控件操作等页面创建后执行。 - 确认示例地址未被占用,在串口副屏“运行日志”查看加载结果和
print()输出,无需连接 COM。每秒计数示例见 5.1 系统回调。
语法速查
| 写法 | 作用 |
|---|---|
local value = 9 | 定义局部变量 |
0x1014 | 十六进制地址,保留 0x 前缀 |
if condition then ... end | 条件判断,示例按 4 个空格缩进 |
for i = 1, 3 do ... end | 有限次数循环 |
{0xA5, 0x5A, 0x00} | Lua 表;数组接口通常从下标 1 开始 |
#packet | 字符串字节数或连续表长度 |
== / ~= | 相等 / 不相等;赋值用 = |
.. | 拼接字符串 |
-- 注释 | 单行注释 |
接口区分大小写。多数 set_* 成功无返回值;串口、数据库等按对应接口检查结果。Lua 使用 32 位整数和单精度浮点数,数值范围见 5.2 寄存器读写。
回调中避免阻塞等待,延时使用定时器。主站读写基于缓存,写入返回不等于设备执行;串口接收按字节流处理,具体规则见对应章节。
需要确认型号或具体项目?联系技术支持 ↗