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

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

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

[复制链接]

136

主题

176

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10437
发表于 2025-7-30 09:57:37 | 显示全部楼层 |阅读模式


一、适合范围

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

二、概述

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

三、教程实现

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

图3-1 新建工程

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

图3-2 控件配置


图3-3 控件配置


图3-4 控件配置
Lua脚本预览



函数应用
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
[color=rgba(0, 0, 0, 0.9)]



广州大彩光电科技有限公司(总部)
地址:广州市黄埔区科学城玉树工业园富康西街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 12:57 , Processed in 0.061489 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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