一、适合范围
本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理
二、概述
VisualHMI的Lua脚本支持32个定时器(软件定时器),索引从0~31。当开启的定时器,超时溢出后,触发定时器回调,在回调函数里面执行相应操作。
API说明
1.start_timer(timer_id,timeout,countdown,repeat)
启动定时器,超时后系统自动调用 on_timer(timer_id)
• timer_id:定时器 ID, 0~31
• timeout:超时时间, 单位毫秒
• countdown:0 顺计时, 1 倒计时
• repeat:重复次数, 0 表示无限重复
2.stop_timer(timer_id)
停止定时器
• timer_id:定时器ID,0~31,和start_timer搭配使用
3.on_timer(timer_id)
定时器超时回调函数
• timer_id:定时器ID,0~31
4.重点:on_timer()是系统函数,使用时候,主动触发
三、教程实现
功能实现
首先建立一个HMI工程以DC80480M070为例。如3-1所示

图3-1 新建工程
控件配置
先添加一个位状态指示灯,关联LW1002寄存器,用于控制定时器的开启、关闭。再添加两个滚轮控件,分别关联LW1000、LW1001寄存器,用于定时的时间设置,以“时”控件为例,勾上控件权限,设置为按下开关按钮后,禁止滚轮滑动。最后添加一个文本控件关联LW1010寄存器,用于显示倒计时。

图3-2 控件配置
Lua脚本预览
1.点击位状态指示灯,当值等于1时候,触发定时器开启;值为0时候,关闭定时器。同时,获取倒计时的时间,并复位相关变量和控件值,代码如下所示:

2. 定时器每秒回调触发on_timer(...),一共触发TIMER_REPEAT次,累计回调的次数TIMER_CNT,并计算出剩余的次数;当TIMER_CNT和TIMER_REPEAT相等时,表示定时结束,发送指令到PLC设备,代码如下所示:
-
定时器
+关注
关注
23文章
3360浏览量
121704 -
HMI
+关注
关注
9文章
687浏览量
51519 -
串口屏技术
+关注
关注
0文章
19浏览量
1024
发布评论请先 登录
AT32 MCU定时器入门指南
如何在LUA脚本中使用的定时器循环设置教程免费下载
大彩讲堂:VisualHMI-LUA教程-on_run回调函数使用指南
大彩讲堂:VisualHMI软件如何自定义键盘
大彩讲堂:VisualHMI-LUA教程-on_press回调函数使用指南
大彩讲堂:VisualHMI-LUA教程-获取和设置16位数据函数
大彩讲堂:VisualHMI-LUA教程-获取设置单精度浮点数函数的应用
大彩讲堂:VisualHMI-LUA教程-获取与设置32位数据函数的应用
大彩讲堂:VisualHMI-LUA教程-连续写多个寄存器函数的应用

大彩讲堂:VisualHMI-LUA教程-定时器的使用指南
评论