Bitte schauen Sie sich das folgende Lua-Skript an.Freigeben einer Variablen über Funktionen in Lua-Skript
Idee ist, bevor Sie den Status zu ändern, ist den aktuellen Status immer durch den Aufruf „getStateFlag()“ und „Status“ Variablen zugewiesen wird. Die Methoden ChangeState1 oder ChangeState2 können den aktuellen Status ändern. Später, wenn ich die ResetStatus-Methode aufruft, kann ich auf den alten Status zurücksetzen, indem ich den gespeicherten Wert von "status" zuweise.
Aber Problem ist, diese "status" Variable immer setzt auf 0.
function Start()
status = 0
local flag = getStateFlag()
if(flag == 1) then
status = getCurrentStatus()
ChangeState1()
else if(flag == 2) then
status = getCurrentStatus()
ChangeState2()
else
ResetStatus(status)
end
end
function ChangeStatus1()
device::set_value(1)
end
function ChangeStatus1()
device::set_value(2)
end
function ResetStatus(status)
device::set_value(status)
end
Sie können Ihre Frage bearbeiten, um die Umgebung zu beschreiben, in der Sie arbeiten (es klingt wie eine Art eingebetteter Prozessor?). Wenn andere Benutzer Erfahrung damit haben, können sie Ideen haben. – solublefish