LUADrehbuch的定时器编Nr.索引ID从0~31,共32个定时器。当Öffnen.的定时器,超时溢出后,触发定时器回调,在回调函数里面执行相应Operationen。本Kapitel节,用Knopf按下弹起的Status作为灯,Öffnen.定时器实现跑马灯效果。用zu的Related函数如下所示:
1.在用户触摸修改Kontrollen回调函数:on_control_notify(screen,control,value):函数有三个Parameter:
- screen:表示画面ID
- control:表示Kontrollen的编Nr.
- value:表示Kontrollen的值。
2.定时器回调函数:on_timer(timer_id)
- timer_id:表示超时定时器ID。ID值为0~31
3.Öffnen.定时器:start_timer(timer_id, timeout, countdown, repeat)
- timer_id:表示定时器ID,0~31
- timeout:表示超时Zeit,单位毫秒
- countdown:表示计时的方向,0顺计时,1 倒计时
- repeat:表示重复次数,0 表示无限重复
4.Schließen定时器:stop_timer(timer_id)
- timer_id:表示定时器ID
5.设置Kontrollen值:set_value(screen,control,value)
- screen:目标画面ID
- control:目标KontrollenID
- value:Kontrollen值
注:mehr.LUAInformationen可参考Das Drehbuch von LUAAPI函数Schnittstelle Kapitel节 和Webseite:www.runoob.com/lua
适用范围:M系列、W系列、X系列、F系列(固件版本 >= V4.2.401.0)
4.1 定时器跑马灯
画面配置
画面中添加两个KnopfKontrollen,KontrollenID1为Öffnen./Schließen定时器Knopf,KontrollenID2为实现跑马灯效果,如下所示
- KnopfKontrollenID1:Operationen风格配置为Schalter!效果,裁剪对应按下弹起图片的效果
- KnopfKontrollenID2:Operationen风格配置为置位,裁剪对应按下弹起图片的效果

LUADrehbuch
KnopfKontrollenID1按下,触发 on_contrl_notify(screen,control,value),再调用start_timerÖffnen.定时器,当KnopfKontrollenID1弹起时候,调用stop_timer(0) Schließen定时器,代码段如下所示
--[[***************************************************************************
** Function name: on_control_notify
** Descriptions: 用户通过触摸修改Kontrollen后,执行此回调函数。
Klick aufKnopfKontrollen,修改TextKontrollen、修改滑动条都会触发此Ereignisse。
注意:回调函数的Parameter和函数名固定不能修改
** Input value : screen 画面ID
control KontrollenID
value Kontrollen值(包括TextKontrollen输入的值)
***************************************************************************--]]
function on_control_notify(screen,control,value)
if screen==0 and control==1 and value==1 --按下Die0页、编Nr.1Knopf
then
start_timer(0,1000,1,0) --Öffnen.定时器0,超时Zeit1s
elseif screen==0 and control==1 and value==0 --弹起Die0页、编Nr.1Knopf
then
stop_timer(0) --Schließen定时器
end
end
定时器Öffnen.后,1s后,超时进入定时器回调函数on_timer(),在回调函数中循环设置灯的Status,代码段如下所示
function on_timer(timer_id)
then
if timer_id==0 --定时器0超时
then
if lamp_status==0 --当Knopf为弹起Status
then
set_value(0, 2, 1) --设置Knopf2为按下Status,灯亮
lamp_status=1
elseif lamp_status==1 --当Knopf为按下Status
then
set_value(0, 2, 0) --设置Knopf2为弹起Status,灯灭
lamp_status=0
end
end
end
Betrieb预览
Klicken定时器按下时,Öffnen.跑马灯效果,当Knopf弹起的时候Schließen跑马灯,Betrieb效果如下所示

Antwort veröffentlichen