Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Alle Variablen zustände verschicken ?

Hard- und Softwarefragen rund Domiq-Module fürs LCN-System

Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#1 Alle Variablen zustände verschicken ?

Beitragvon koboldo » Di 10. Feb 2015, 11:32

Moin,
gibt es eine Möglichkeit alle Variablen/Zustände mit einer Funktion auszulesen ?

Mir ist schon klar, das ich jede Variable mit get 'variable' auslesen und dann weiterverarbeiten kann,
allerdings würde ich wenn es geht dieses irgendwie einfacher gestalten :scared:
Gibt es da eine bessere Möglichkeit, mit irgendeiner Schleife oder so ?
Gruß
Jörg


DOMIQ-Support
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 291
Registriert: Fr 7. Jun 2013, 09:59
Danksagung erhalten: 1 Mal
Kontaktdaten:

#2 RE: Alle Variablen zustände verschicken ?

Beitragvon DOMIQ-Support » Di 10. Feb 2015, 11:58

Here is sample function that allows to read all 12 variables in a loop:

Code: Alles auswählen

function readVariables(seg,node)
   local ch = string.format('LCN.variable.%s.%s.',seg,node)
   local variables = {}
   for i=1,12 do
      variables[i] = get(ch..i)
   end
   return variables
end


You need to pass segment and node number as arguments. Function will return an array with variable numbers as keys and variable values as values of array elements.

And here is an example how to call this function in the Logic:

Code: Alles auswählen

variables40 = readVariables(0,40)
-- here is code to print all values:
for k,v in pairs(variables40) do
      print('K: '..k..' value: '..v)
end


If you need to access single variable value (in this example variable no. 1 in module 40) then you can do it like this:
local a = variables40[1]


Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#3 RE: Alle Variablen zustände verschicken ?

Beitragvon koboldo » Di 10. Feb 2015, 16:35

Danke, schon mal nicht schlecht :O
Bei dieser Lösung muss ich ja immer angeben, wieviele Variablen es gibt...

Ich eher etwas, wie ich mir alles was unter dem Reiter Zustand zu finden ist auslesen kann...
Gibt es dafür auch etwas ?


DOMIQ-Support
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 291
Registriert: Fr 7. Jun 2013, 09:59
Danksagung erhalten: 1 Mal
Kontaktdaten:

#4 RE: Alle Variablen zustände verschicken ?

Beitragvon DOMIQ-Support » Fr 13. Feb 2015, 08:23

If you need to get values of non-zero variables this script will work too, because if a variable is not present in the State then the state.get command will return 0. So you just need to check if value is non-zero.


Zurück zu „Domiq-Module - DOMIQ Sp. z o.o.“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 30 Gäste