Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. S7 mit Node Red (node-red-contrib-s7)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    S7 mit Node Red (node-red-contrib-s7)

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

      @wal Moin zusammen.

      Ich habe jetzt die letzten zwei Tage insgesamt fünf Variablen auf SPS Seite auf Ausreißer überprüft und wenn einer Aufgetreten wäre einen Zähler hochgezählt. Was soll ich sagen, der Zähler ist auch nach zwei Tagen immer noch 0 - es ist also aus meiner Sicht davon auszugehen, dass es zu keinen Ausreißern mehr kommt 👏 👏

      Um ganz sicher zu gehen dass ich nicht irgendeinen Denkfehler bei dem Testaufbau drin hab hier meine Vorgehensweise:

      5cb77d24-9afc-47a4-8ef6-646dfdd25390-grafik.png

      PS: Bei AmbientTemperature nicht wundern, da sich der betreffende Akku im Gartenhaus befindet ist er mit einer Heizmatte versehen und der Temperaturfühler der eigentlich die Raumtemperatur im Gartenhaus misst wird aktuell dazu mißbraucht die Heizmatte zu messen. die 30°C sind also plausibel 😊

      Wal fu_zhou 2 Replies Last reply Reply Quote 1
      • Wal
        Wal Developer @HF_SPSler last edited by

        @hf_spsler ,
        das scl müsste stimmen, danke.

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

          @hf_spsler Nachdem du gem. deiner Signatur Logos im Einsatz hast: Willst du hier mal eine Einschätzung abgeben?
          https://github.com/ioBroker/ioBroker.s7/issues/301#issue-2080449908

          Tuning1 created this issue in ioBroker/ioBroker.s7

          closed S7 Adapter negative Werte #301

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

            @fu_zhou Moin, kurz zum S7 Adapter bezüglich Ausreißer: Bis jetzt keinerlei Auffälligkeiten, der Zähler steht noch immer bei 0 👍

            Bezüglich Logo: Meine Logos übernehmen Sensor- Aktoraktivitäten in den jeweiligen Geschossen, sie sind aber als Slaves an die S7 angebunden und haben zum Iobroker keinen Kontakt. Einzig die S7 als Kopf-SPS kommuniziert über einen DB mit Iobroker. Da kann ich leider nichts sinnvolles beitragen.

            Kone 1 Reply Last reply Reply Quote 0
            • Kone
              Kone @HF_SPSler last edited by Kone

              @hf_spsler
              ich hab filtere die aussreißer in der s7 raus mit diesem baustein.

              FUNCTION_BLOCK "Mittelwert_Real_gleite4"
              { S7_Optimized_Access := 'FALSE' }
              VERSION : 0.1
              //Der Baustein  berechnet über 4 Messwerte hinweg einen gleitenden Mittelwert. 
              //Die Bildung des Mittelwertes basiert auf folgender Gleichung:
              //Yi=(X1+X2+X3+...+X4)/4.  Einen Schritt später werden die Messwerte wie folgt 
              //durchgeschoben.
              //Yi+1=(X2+X3+...+X4)/4.
              //Wird der Baustein z.B. nur alle 100ms einmal durchlaufen, so mittelt er über 
              //1,0 Sek. hinweg die Messwerte.
                 VAR_INPUT 
                    Eingangswert : Real;
                    Max_Positiv : Real := 32000.0;
                    Max_Negativ : Real := 0.0;
                 END_VAR
              
                 VAR_OUTPUT 
                    Mittelwert_Ausgang : Real;
                    Zahlenbereich_Fehler : Bool;
                 END_VAR
              
                 VAR_IN_OUT 
                    Start_oder_Reset : Bool;
                 END_VAR
              
                 VAR 
                    Messwert_Schiebereg : Real;
                    Messwert_Schiebereg1 : Real;
                    Messwert_Schiebereg2 : Real;
                    Messwert_Schiebereg3 : Real;
                    Messwert_Schiebereg4 : Real;
                   
                    Summe_der_Messwerte : Real;
                    FP_Takt : Bool;
                 END_VAR
              
                 VAR_TEMP 
                    Zu_klein : Bool;
                    zu_Positiv : Bool;
                    zu_Negativ : Bool;
                 END_VAR
              
              
              BEGIN
              NETWORK
              TITLE = Arbeitstakt aufbereitung
                    A "SysDat_DB100".BlinkTakt_500msek_AnwPgm;
                    FP #FP_Takt;
                    JCN druu;
              
              NETWORK
              TITLE = Prüfung des Zahlenbereiches
              
                    L #Eingangswert;
                    A OV;
                    = #Zahlenbereich_Fehler;
                    JC druu;
              
                    L #Max_Positiv          ;// grösste pos. Zahl stutzen
                    L #Eingangswert;
                    <R;
                    = #zu_Positiv;
                    A #zu_Positiv;
                    JCN zpos;
                    L #Mittelwert_Ausgang;
                    T #Eingangswert;
                    SET;
                    = #Zahlenbereich_Fehler;
              zpos:      L #Max_Negativ               ;// grösste neg. Zahl stutzen
                    L #Eingangswert;
                    >R;
                    = #zu_Negativ;
                    A #zu_Negativ;
                    JCN zneg;
                    L #Mittelwert_Ausgang;
                    T #Eingangswert;
                    SET;
                    = #Zahlenbereich_Fehler;
              
              
              NETWORK
              TITLE = Alles löschen
              zneg:      A #Start_oder_Reset;
                    JCN ruek;
                    L 0.0;
                    T #Mittelwert_Ausgang;
                    T #Messwert_Schiebereg1;
                    T #Messwert_Schiebereg2;
                    T #Messwert_Schiebereg3;
                    T #Messwert_Schiebereg4;
                    
                    T #Summe_der_Messwerte;
                    SET;
                    R #Start_oder_Reset;
              
              ruek:      NOP 0;
              
              
              NETWORK
              TITLE = Mittelwertberechnung Teil 1
                    L #Eingangswert             ;// Neun Wert hinzufügen
                    L #Summe_der_Messwerte;
                    +R;
                    T #Summe_der_Messwerte;
              
              
              NETWORK
              TITLE = Eins weiter Schieben
                    L #Messwert_Schiebereg3;
                    T #Messwert_Schiebereg4;
                    L #Messwert_Schiebereg2;
                    T #Messwert_Schiebereg3;
                    L #Messwert_Schiebereg1;
                    T #Messwert_Schiebereg2;
              
                    L #Eingangswert;
                    T #Messwert_Schiebereg1;
              
              
              NETWORK
              TITLE = Mittelwertberechnung Teil 2
                    L #Summe_der_Messwerte      ;// Ältesten Wert abziehen
                    L #Messwert_Schiebereg4;
                    -R;
                    T #Summe_der_Messwerte;
                    L 3.0;
                    /R;
                    T #Mittelwert_Ausgang;
              druu:      NOP 0;
              
              
              END_FUNCTION_BLOCK
              
              HF_SPSler 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active last edited by

                Mit der normalen Filternode im Nahbandmodus kann man Ausreiser ganz einfach rausfiltern ohne Mittelwerte. Die verfälschen nur.

                1 Reply Last reply Reply Quote 0
                • HF_SPSler
                  HF_SPSler @Kone last edited by

                  @kone Moin, nun, einen Monat nach meinem letzten Post zur Außreißerthematik, nachdem ja eine erfolgreich Änderung im S7 Adapter erfolgte, benötige ich keinen Workaround mehr um durch Software entstandene Außreißer heraus zu filtern - aber trotzdem danke für deinen Ansatz 👍

                  Wal 1 Reply Last reply Reply Quote 0
                  • Wal
                    Wal Developer @HF_SPSler last edited by

                    @hf_spsler @Kone ,
                    @apollon77 hatte aber noch keine Zeit den Patch zu überprüfen, deshalb muss der Adapter noch von meinem Github Account installiert werden.

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

                      Sorry. Kommt die nächsten Tage. Wirklich 😉

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

                        1.4.3 mit dem Fix auf den Weg ins latest ... npm und github wäre schon da. Latest dann heute nacht denke ich

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.1k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        9
                        92
                        6225
                        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