system参数设置(触控屏LUAScriptTutorial3)

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

system参数设置(触控屏LUAScriptTutorial3)缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 3.1 修改Baud rate
  2. 2. 3.2 设置背光
  3. 3. 3.3 设置蜂鸣器响
  4. 4. 3.4 设置RTC

本文将介绍通过LUAScript设置system参数。如常见的Baud rate、蜂鸣器、RTC的、背光Brightness等。本章节涉及Related的函数有

1.在用户触摸修改控件回调函数:on_control_notify(screen,control,value):函数有三个参数:

  • screen:表示画面ID
  • control:表示控件的编号
  • value:表示控件的值。

2.设置串口的通讯的Baud rate:uart_set_baudrate(baudrate)

  • baudrate:表示设置的Baud rate值。232/TTL支持1200~961200bps,典型值为115200bps。485支持1200~115200bps,典型值为9600bps

3.设置背光Brightness:set_backlight(level)

  • level:表示设置的背光值,取值范围为0~100。numerical value越高,背光Brightness越亮

4.设置蜂鸣器鸣叫时长:beep(time)

  • time:表示蜂鸣器响的timeLength,单位ms,并非蜂鸣器的使能/失能控制

5.设置屏幕RTCtime:set_date_time(year,month,day,hour,minute,second)

  • year:表示年
  • month:表示月
  • day:表示日
  • hour:表示小时
  • minute:表示分
  • second:表示秒

注:MoreLUAResources可参考LUA scriptAPI函数Interface 章节 和Website:www.runoob.com/lua

适用范围:M系列、W系列、X系列、F系列(固件版本 >= V4.2.401.0)

例程Download链接:《system参数设置》(点击跳转)

3.1 修改Baud rate

画面配置

添加两个button控件(ID1、ID2),分别设置Baud rate为19200、115200;添加一个Text控件(ID14),用于显示Baud rate。如下所示

  • 两个button控件:对内指令配置为互斥效果,Operation风格均为置位,其中ID1button初始状态为按下,ID2button初始状态为弹起
  • Text控件:输入方式为system变量、system变量为Baud rate
system参数设置(触控屏LUAScriptTutorial3)插图

LUAScript

当用户点击【19200】或【115200】button 控件时候,触发on_control_notify(screen, control, value)回调函数,根据对应button按下,调用uart_set_baudrate(baudrate)设置对应的Baud rate,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击button控件,修改Text控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括Text控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
    ......
    if screen==0 and control==1 and value==1        --按下第0页、编号1button
    then
        uart_set_baudrate(19200)                    --设置Baud rate为19200

    elseif screen==0 and control==2 and value==1    --按下第0页、编号2button
    then
        uart_set_baudrate(115200)                   --设置Baud rate为115200
    end
    ......
end

PS. uart_get_baudrate() 函数为获取当前Baud rate,如: local baudrate = uart_get_baudrate() ↩

运行效果

根据上述的代码段,运行效果如下所示

system参数设置(触控屏LUAScriptTutorial3)插图1

3.2 设置背光

背光的调节,可结合progress bar和滑块进行滑动调节

画面配置

画面中添加一个滑块控件(ID4)和一个progress bar控件(ID3)作为背光的控制,Related控件属性配置如下所示

  • 滑块控件:设置numerical valuestart范围为20~100(若背光调节为0或较低,会看不清楚画面内容)。其中,LUAScript设置的背光等级支持0-100
  • progress bar控件:设置【滑动通知】关联滑动条,添加相应的背景图片
system参数设置(触控屏LUAScriptTutorial3)插图2

LUAScript

当用户点击/滑动滑块时,背光值和progress bar也跟随变化。滑动过程触发LUAScript on_contrl_notify(screen,control,value),在调用set_backligt(level)设置背光值,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击button控件,修改Text控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括Text控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
     ......
     if screen==0 and control == 4        --滑动第0页、编号4滑动条
     then
        set_backlight(value)             --设置背光为value
     end
     ......
end

PS . get_backlight 函数为获取当前背光值,如: local cur_backlight = get_backlight() ↩

运行预览

此处虚拟屏运行效果仅做为控件变化演示,实际调节背光的效果,需要编译Download到实体屏中体验

3.3 设置蜂鸣器响

画面配置

放置一个button控件(ID为5),button属性中的事件通知选择“是”。如下所示

system参数设置(触控屏LUAScriptTutorial3)插图3

LUAScript

按下button时,触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用beep(500)函数,表示蜂鸣器鸣叫500ms,代码段如下所示

--[[***************************************************************************
** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击button控件,修改Text控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括Text控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
     ......
     if screen==0 and control == 5 and value == 1    --滑动第0页、编号4滑动条
     then
        beep(500)                                    --设置蜂鸣器鸣叫500ms
     end
     ......
end

运行预览

Download到HMI中,点击”响”button,听到”嘀”一声

3.4 设置RTC

画面中,放置一个RTC控件,两个button分别设置不同的time。控件Related属性配置如下所示

system参数设置(触控屏LUAScriptTutorial3)插图4

LUAScript

触发事件通知on_contrl_notify(screen,control,value)函数,对应控件触发成立后,调用 set_date_time()函数设置RTCtime。代码如下所示:

--[[***************************************************************************

** Function name: on_control_notify
** Descriptions:  用户通过触摸修改控件后,执行此回调函数。
                  点击button控件,修改Text控件、修改滑动条都会触发此事件。
                  注意:回调函数的参数和函数名固定不能修改
** Input value :  screen 画面ID
                  control 控件ID
                  value  控件值(包括Text控件输入的值)
***************************************************************************--]]
function  on_control_notify(screen,control,value)
     ......
     if screen==0 and control == 6 and value == 1    --滑动第0页、编号4滑动条
     then
         set_date_time(2019,1,1,1,1,1)               --设置当前time为2019/01/01 01:01:01
     end
     ......
end

PS . get_date_time函数为获取当前rtc值,如: local cur_backlight = get_backlight() ↩

运行预览

Download到HMI中,点击”time一”或”time二”button,看到左侧RTCtime变化。注意,虚拟屏不支持修改RTC控件,因为是电脑PC端的time

Technology术语(共 2 个)—— 点击展开
Baud rate串行Communication每秒传输符号数,Modbus RTU常用9600/19200
串口计算机与外部设备进行串行Communication的物理Interface
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category LUA Script Document / 触控屏开发Document 字数 3942 字 · 阅读约 10 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/7401.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时Communicationdebug、register读写、线圈控制、data监控和message分析。 No installation required, WeChat Search「Modbus DebuggingAssistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.