0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

广州大彩串口屏 2025-08-31 16:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、适合范围

本文档适用于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所示

wKgZPGi0DoyALnNgAABIxf037NE822.png

图3-1 新建工程


控件配置

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

wKgZO2i0DqWAYVq4AAHctP12Fv4683.png

图3-2 控件配置


Lua脚本预览

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

wKgZPGi0DryAb1KjAAJ5jj8PTNM579.png


2. 定时器每秒回调触发on_timer(...),一共触发TIMER_REPEAT次,累计回调的次数TIMER_CNT,并计算出剩余的次数;当TIMER_CNT和TIMER_REPEAT相等时,表示定时结束,发送指令到PLC设备,代码如下所示:

wKgZO2i0Ds6AUBGqAAHePSnBDFY873.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3360

    浏览量

    121704
  • HMI
    HMI
    +关注

    关注

    9

    文章

    687

    浏览量

    51519
  • 串口屏技术
    +关注

    关注

    0

    文章

    19

    浏览量

    1024
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AT32 MCU定时器入门指南

    定时器种类有基本定时器、通用定时器、高级控制定时器,以AT32F435xx举例,下表为各种类型定时器的功能总表。本文主要就
    发表于 11-01 10:26 2738次阅读
    AT32 MCU<b class='flag-5'>定时器</b>入门<b class='flag-5'>指南</b>

    TI+Stellaris+LM4F定时器指南

    TI+Stellaris+LM4F定时器指南
    发表于 10-13 14:14 5次下载
    TI+Stellaris+LM4F<b class='flag-5'>定时器</b><b class='flag-5'>指南</b>

    如何在LUA脚本中使用的定时器循环设置教程免费下载

    本文将介绍在 LUA 脚本中使用定时器循环设置按钮的状态。在按下按钮后,定时器启动,定时器以设定的时间为标准,循环设置灯亮/灭。
    发表于 10-16 08:00 23次下载
    如何在<b class='flag-5'>LUA</b>脚本中使用的<b class='flag-5'>定时器</b>循环设置教程免费下载

    AT32讲堂036 | AT32 MCU定时器入门指南

    AT32定时器概述定时器种类有基本定时器、通用定时器、高级控制定时器,以AT32F435xx举例,下表为各种类型
    的头像 发表于 11-02 14:56 6619次阅读
    AT32<b class='flag-5'>讲堂</b>036 | AT32 MCU<b class='flag-5'>定时器</b>入门<b class='flag-5'>指南</b>

    串口屏LUA教程4-定时器的使用

    串口屏LUA教程4-定时器的使用
    发表于 04-29 13:08 11次下载

    GD32G5x3系列高分辨率定时器使用指南

    电子发烧友网站提供《GD32G5x3系列高分辨率定时器使用指南.pdf》资料免费下载
    发表于 01-22 17:32 1次下载
    GD32G5x3系列高分辨率<b class='flag-5'>定时器使用指南</b>

    讲堂VisualHMI-LUA教程-on_run回调函数使用指南

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述on_run(screen)周期回调函数,用该回调函数,会根据设定的时间
    的头像 发表于 07-23 15:25 909次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-on_run回调函数<b class='flag-5'>使用指南</b>

    讲堂VisualHMI软件如何自定义键盘

    一、适合范围适合全系列大协议串口屏产品。二、教程实现2.1准备UI素材准备好相应的美工UI,如图2-1所示。.图2-1美工UI图2.2建立工程根据串口屏的实际型号,在VisualHMI软件工程
    的头像 发表于 07-23 15:43 3500次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI</b>软件如何自定义键盘

    讲堂VisualHMI-LUA教程-on_press回调函数使用指南

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述on_press(state,x,y)触摸回调函数,当带触摸的串口屏,点击
    的头像 发表于 07-23 16:32 917次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-on_press回调函数<b class='flag-5'>使用指南</b>

    讲堂VisualHMI-LUA教程-on_update回调函数使用指南

    回调函数使用指南
    的头像 发表于 08-31 16:25 610次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-on_update回调函数<b class='flag-5'>使用指南</b>

    讲堂VisualHMI-LUA教程-on_screen_change回调函数使用指南

    on_screen_change回调函数使用指南
    的头像 发表于 08-31 16:32 564次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-on_screen_change回调函数<b class='flag-5'>使用指南</b>

    讲堂VisualHMI-LUA教程-获取和设置16位数据函数

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述2.1get_uint16(vtype,addr)读取无符号短整型寄存
    的头像 发表于 10-13 16:40 1004次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-获取和设置16位数据函数

    讲堂VisualHMI-LUA教程-获取设置单精度浮点数函数的应用

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述get_float/set_float函数主要用于VisualHMI
    的头像 发表于 10-16 00:00 1223次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-获取设置单精度浮点数函数的应用

    讲堂VisualHMI-LUA教程-获取与设置32位数据函数的应用

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述2.1.get_uint32(vtype,addr)读取无符号整形寄存
    的头像 发表于 10-15 17:46 992次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-获取与设置32位数据函数的应用

    讲堂VisualHMI-LUA教程-连续写多个寄存函数的应用

    一、适合范围本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。二、概述set_uint16_ex(vtype,addr,value1
    的头像 发表于 10-17 00:00 1097次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-连续写多个寄存<b class='flag-5'>器</b>函数的应用