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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

一、适合范围

本文档适用于VisualHMI平台,Lua脚本语言为V5.3版本,配合工程可以完成大部分的内部逻辑处理。


二、概述

on_screen_change(screen)回调函数,画面切换通知,该函数通常用来根据页面给特定变量赋值,启动和关闭定时器以及设置系统参数。


三、教程实现

工程配置:

首先建立一个HMI工程以DC80480M070为例。如3-1所示。

wKgZO2i0B7CAJ8NsAAA7wBON6p0313.png

图3-1 新建工程


1、在画面上放置一个功能按钮用来切换画面触发on_screen_change(screen)回调函数,以及放置两个数值控件绑定不同的地址用来显示参数。如3-2所示。其余界面配置同上,如图3-3和3-4所示。

wKgZPGi0B8uAT51-AAAdbAD31FY060.png

图3-2 控件配置

wKgZO2i0B_aAF3WyAAAdVcCNoPU118.png

图3-3 控件配置


wKgZPGi0CAuAMtoeAAAXCLnyOT0235.png

图3-4 控件配置

Lua脚本预览

wKgZO2i0CDaAXAKIAABOCCEoGro357.png(1)


wKgZPGi0CGOAK_lBAAAbSgn9ieA063.png(2)


wKgZO2i0CH2AH5igAAAXqF9IN5o313.png(3)


函数应用

1.当切换页面后为所需要赋值的特定控件赋值,当切换到画面0时给0x1000地址0x1002地址赋值,脚本如下:

function on_screen_change(screen)

if screen == 0 then

local _screen= get_screen()

set_uint16(VT_LW,0x1002,_screen)

set_uint16(VT_LW,0x1000,11)

end

end


2.可以启动以及停止定时器来实现所需要定时处理的功能,脚本如下:

count = 0

function on_timer(timer_id)

if timer_id==0 then

count=count+1

set_uint16(VT_LW,0x1100,count)

end

end

function on_screen_change(screen)

if screen == 1 then

start_timer(0,1000,0,0)

local _screen= get_screen()

set_uint16(VT_LW,0x1004,_screen)

end

end


3.可以设置调节屏幕的系统参数,脚本如下:

function on_screen_change(screen)

if screen == 2 then

set_uint16(VT_LW,0x0121,20)

local _screen= get_screen()

set_uint16(VT_LW,0x1006,_screen)

stop_timer(0)

end

end

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

    关注

    9

    文章

    728

    浏览量

    52312
  • 回调函数
    +关注

    关注

    0

    文章

    95

    浏览量

    12237
  • 串口屏技术
    +关注

    关注

    0

    文章

    19

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LUA如何实现函数的触发使用以及编写程序的注意事项

    物联型串口屏通过 LUA 脚本配合工程可以完成大部分的内部逻辑处理,可以做到让 MCU 只参与数据处理,不参与屏的逻辑处理。本文将介绍大 LUA 脚本 API 函数中的绘图 API
    发表于 10-17 08:00 2次下载
    <b class='flag-5'>LUA</b>如何实现<b class='flag-5'>回</b><b class='flag-5'>调</b><b class='flag-5'>函数</b>的触发使用以及编写程序的注意事项

    LUA脚本API函数中的函数使用方法和注意事项资料和程序免费下载

    本文档的主要内容详细介绍的是LUA脚本API函数中的函数使用方法和注意事项资料和程序免费下载。
    发表于 10-17 08:00 5次下载
    <b class='flag-5'>LUA</b>脚本API<b class='flag-5'>函数</b>中的<b class='flag-5'>回</b><b class='flag-5'>调</b><b class='flag-5'>函数</b>使用方法和注意事项资料和程序免费下载

    C语言函数函数

    来源:嵌入式客栈 1 什么是函数?首先什么是呢? 我的理解是:把一段可执行的代码像参数传递那样传给其他代码,而这段代码会在某个时刻被
    的头像 发表于 09-11 09:57 4970次阅读

    串口屏LUA教程2-函数使用说明

    串口屏LUA教程2-函数使用说明
    发表于 04-29 13:06 10次下载

    函数(callback)是什么?函数的实现方法

    函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。
    发表于 03-12 11:46 4975次阅读

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

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

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

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

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

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

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

    定时器的使用
    的头像 发表于 08-31 16:59 1375次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-定时器的<b class='flag-5'>使用指南</b>

    讲堂VisualHMI-LUA教程-set_bit/get_bit函数应用

    set_bit/get_bit函数应用
    的头像 发表于 08-31 17:05 1009次阅读
    大<b class='flag-5'>彩</b><b class='flag-5'>讲堂</b>:<b class='flag-5'>VisualHMI-LUA</b>教程-set_bit/get_bit<b class='flag-5'>函数</b>应用

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

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

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

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

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

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

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

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

    LUA例程-常用的函数使用说明

    详细说明LUA脚本函数功能和对应的应用实例。对于LUA脚本编程有很大的帮助和提高技能。
    发表于 11-24 16:43 0次下载