广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6326|回复: 0

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

[复制链接]

136

主题

176

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10437
发表于 2025-8-7 14:24:02 | 显示全部楼层 |阅读模式



一、适合范围

本文档适用于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设备,代码如下所示:




广州大彩光电科技有限公司(总部)
地址:广州市黄埔区科学城玉树工业园富康西街8号C栋销售与技术支持:(020)82186683-601

大彩深圳办事处
地址:深圳市龙岗区坂田街道深汇大厦1栋1108
邮箱:fujq@gz-dc.com
销售与技术支持:付先生 13828461018

大彩成都办事处
地址:四川省成都市高新区天府大道中段500号东方希望天祥广场C座39楼3910号

邮箱:niesl@gz-dc.com
销售与技术支持:聂经理 18180927176

大彩上海办事处
地 址:上海市浦东新区长清路1200弄森宏旗臻商务楼39号813

邮箱:sales103@gz-dc.com
销售与技术支持:刘经理 13671882080


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
销售与技术支持:(020)82186683-601
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-8-30 13:04 , Processed in 0.049375 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表