Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly: sporadisch werden falsche Werte geschrieben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly: sporadisch werden falsche Werte geschrieben

    This topic has been deleted. Only users with topic management privileges can see it.
    • fu_zhou
      fu_zhou last edited by

      Hallo,
      ich berechne mit Blockly einen Sollwert und begrenze ihn zwischen 0 und 5500:
      Zwischenablage02.jpg

      Sporadisch hält sich Blockly nicht an die Begrenzung und gibt dann für eine < 1 Sek. irre hohe oder niedrige Werte raus:
      Zwischenablage03.jpg

      Ich habe schon alles durchsucht, finde aber die Ursache nicht. Die Einzelwerte der Rechnung haben keine Ausreisser und wenn sollten diese ja durch "begrenze" bei 0 bzw. 5500 begrenzt sein.

      Hat jemand eine Idee, dass Verhalten zu debuggen?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @fu_zhou last edited by

        @fu_zhou sagte:

        gibt dann für eine < 1 Sek. irre hohe oder niedrige Werte raus:

        Ich sehe keinen. Die Quelle für negative Werte ist nicht Javascript, sondern s7.0.

        1 Reply Last reply Reply Quote 0
        • fu_zhou
          fu_zhou last edited by

          Ja, ich habe auch schon in diese Richtung gesucht und daher (eigentlich) ausgeschlossen, dass die S7 die Variable beschreibt, = nur liest. Bei den korrekten Werten ist die Quelle zwischen Javascript auch immer wieder S7.

          1 Reply Last reply Reply Quote 0
          • fu_zhou
            fu_zhou last edited by

            Ich schreibe jetzt mal das Objekt mit Datenquelle s7.0 in die Datenbank, ohne, dass es von einem Blockly-Script "manipuliert" wird. Den begrenzten Rechenwert aus Blockly schreibe ich in eine temporäres Objekt, das ich auch aufzeichne. Mal sehen, was passiert..,

            1 Reply Last reply Reply Quote 0
            • fu_zhou
              fu_zhou last edited by

              Über Nacht ist das s7.0 Objekt "0" geblieben, keine Ausreisser. Ebenso ist der Rechenwert innerhalb der Grenzen 0 bis 5500 geblieben. Heute Morgen habe ich wieder das s7.0 Objekt angebunden, so dass Blockly den Sollwert wieder an die S7 übergibt. Und siehe da: kurze Zeit nach dem Neustart des Skripts wieder der erste Ausreisser auf 5.10*10 ^29. Irgendwie scheint die Anbindung des s7.0 Objektes an Blockly den Ausreisser zu provozieren.

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @fu_zhou last edited by

                @fu_zhou sagte:

                Ausreisser auf 5.10*10 ^29.

                Quelle(from) javascript.0 oder s7.0 ?

                fu_zhou 1 Reply Last reply Reply Quote 0
                • fu_zhou
                  fu_zhou @paul53 last edited by fu_zhou

                  @paul53
                  s7.0 ist die Quelle.
                  Bildschirmfoto vom 2020-05-30 09-16-28.png
                  Das Ganze läuft so ab: Blockly bekommt den Trigger (geänderter Messwert) und schreibt daraufhin das s7.0 Objekt. Die s7.0 Objekte werden in der Steuerung (S7) zyklisch (Einstellung 500ms im Adapter) aktualisiert. D.h Blockly (javascript.0) ist die Quelle, das landet in der S7 und wird dann bei der Aktualisierung alle 500 ms gelesen. Dann kommt der neue Wert von javascript.0 etc. In dem Screenshot oben hat javascript.0 um 08:44:14.787 (dritte Zeile von unten) den Wert neu berechnet (3163), die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet. 2 Sekunden später (3.Zeile von oben) hat javascript.0 3144 berechnet und die S7 hat den Wert auch bekommen (2. Zeile von oben). Die Frage ist wohl, warum sporadisch zwischen drin von javascript.0 berechnete Werte nicht oder als Ausreisser ankommen? Ich habe jetzt mal auf Zeit-Trigger (alle 10 Sekunden) umgestellt.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @fu_zhou last edited by paul53

                    @fu_zhou sagte:

                    die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet.

                    Die Instanz s7.0 hat nicht den Ausreißer erhalten, sondern zweimal hintereinander als Bestätigung (ack = true) zurück gemeldet. Ob Ursache der S7-Adapter oder die S7 ist, kann daraus nicht beurteilt werden. Blockly ist es jedenfalls nicht.

                    fu_zhou 1 Reply Last reply Reply Quote 0
                    • fu_zhou
                      fu_zhou @paul53 last edited by

                      @paul53
                      Irgenwie hat der S7 Adapter (?) dann wohl ein Problem mit der Aktualisierungsgeschwindigkeit von Blockly. Wenn ich den Trigger auf Zeit und alle 5 Sekunden nehme, läuft das Ganze ohne Ausreisser. Ich werde mich jetzt mal nach unten tasten und schauen, ab welcher Trigger-Zeit das Problem auftritt.

                      1 Reply Last reply Reply Quote 0
                      • fu_zhou
                        fu_zhou last edited by

                        4 Sekunden ist schon zu schnell, da kommt alle paar Stunden ein Ausreisser, 5 Sek scheint okay.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        520
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        blockly javascript
                        2
                        10
                        569
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo