Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Lichtschranke - Historie

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Lichtschranke - Historie

    Moin!
    Im Grunde ganz einfach - aber irgendwie will es nicht ganz klappen:
    Im Hof ist eine Lichtschranke. Und jedesmal wenn diese Unterbrochen wird dann soll in der Visu (weboutput) ein neuer Zeileneintrag erstellt werden.

    So in etwa:
    Letze Unterbrechung:
    1. Mo, 17.45:23
    2. Mo, 16.26:22
    etc.
    Das ganze ist dann auf 5 Zeilen limitiert.

    Folgender Quelltext dazu:
    Code:
    if (LS_aktiv) then LS1_txt=convert(settime(),$$) endif
    
    if change(LS4_txt) then LS5_txt=LS4_txt endif
    if change(LS3_txt) then LS4_txt=LS3_txt endif
    if change(LS2_txt) then LS3_txt=LS2_txt endif
    if change(LS1_txt) then LS2_txt=LS1_txt endif
    
    if change(LS_aktiv) and (LS_aktiv==EIN) then weboutput(LSpass,$Letzte LS Unterbrechungen:<br>1. $+ LS1_txt+$<br>2. $+ LS2_txt+$<br>3. $+ LS3_txt+$<br>4. $+ LS4_txt+$<br>5. $+ LS5_txt) endif
    Was passiert ist folgendes: Wenn die LS unterbrochen ist dann werden alle 5 Zeileneinträge direkt auf die gleiche Uhrzeit gesetzt.

    auch
    Code:
    if (LS_aktiv) then LS2_txt=LS1_txt; LS3_txt=LS2_txt; LS4_txt=LS3_txt; LS5_txt=LS4_txt;endif
    klappt nicht.

    Hat da jemand eine Info für mich? Danke!

    #2
    Denkanstoß:
    Wie lange und wie oft wird diese Abfrage durchlaufen?
    Solange die Lichtschranke unterbrochen wird oder nur bei der Flanke 1 mal?

    Gruß
    Wolfgang

    Kommentar


      #3
      Naja sowohl als auch. Im ersten Fall wird jedesmal durchlaufen, im Fall zwei aber nur wenn die LS aktiv ist. Auch hier zeigt sich dann ein ähnliches Verhalten.

      Kommentar


        #4
        Zitat von DerMitdemBusSpricht Beitrag anzeigen
        Was passiert ist folgendes: Wenn die LS unterbrochen ist dann werden alle 5 Zeileneinträge direkt auf die gleiche Uhrzeit gesetzt.
        Dein Code/Umkopieren äquivalent (andere Reihenfolge der Zeilen) dargestellt:
        [highlight=epc]
        if (LS_aktiv) then LS1_txt=convert(settime(),$$) endif
        if change(LS1_txt) then LS2_txt=LS1_txt endif
        if change(LS2_txt) then LS3_txt=LS2_txt endif
        if change(LS3_txt) then LS4_txt=LS3_txt endif
        if change(LS4_txt) then LS5_txt=LS4_txt endif
        [/highlight]
        -> Die Zeit LS1_txt wird in alle Positionen kopiert.

        Besser wäre:
        [highlight=epc]
        if (LS_aktiv) then LS5_txt=LS4_txt endif
        if change(LS5_txt) then LS4_txt=LS3_txt endif
        if change(LS4_txt) then LS3_txt=LS2_txt endif
        if change(LS3_txt) then LS2_txt=LS1_txt endif
        if change(LS2_txt) then {
        LS1_txt=convert(settime(),$$);
        weboutput(LSpass,$Letzte LS Unterbrechungen:<br>1. $+ LS1_txt+$<br>2. $+ LS2_txt+$<br>3. $+ LS3_txt+$<br>4. $+ LS4_txt+$<br>5. $+ LS5_txt);
        } endif
        [/highlight]
        Es dauert dann 5 Programmdurchläufe bis das "Array" umkopiert ist.

        auch
        Code:
        if (LS_aktiv) then LS2_txt=LS1_txt; LS3_txt=LS2_txt; LS4_txt=LS3_txt; LS5_txt=LS4_txt;endif
        klappt nicht.
        Auch wieder falsche Reihenfolge und da fehlt noch die neue Zeit.

        Lösung 2:

        [highlight=epc]
        if (LS_aktiv) then {
        LS5_txt=LS4_txt; LS4_txt=LS3_txt; LS3_txt=LS2_txt; LS2_txt=LS1_txt; LS1_txt=convert(settime(),$$);
        weboutput(LSpass,$Letzte LS Unterbrechungen:<br>1. $+ LS1_txt+$<br>2. $+ LS2_txt+$<br>3. $+ LS3_txt+$<br>4. $+ LS4_txt+$<br>5. $+ LS5_txt);
        } endif
        [/highlight]
        BR
        Marc

        Kommentar


          #5
          Super! Verstanden und getestet! Vielen Dank!

          Kommentar


            #6
            Zitat von DerMitdemBusSpricht Beitrag anzeigen
            Vielen Dank!
            Gerne
            BR
            Marc

            Kommentar

            Lädt...
            X