Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. S7 mit Node Red (node-red-contrib-s7)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    9
    1
    98

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
92 Beiträge 9 Kommentatoren 12.1k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • WalW Wal

    @hf_spsler ,
    so eilig jetzt nicht. ;-)

    fu_zhouF Offline
    fu_zhouF Offline
    fu_zhou
    schrieb am zuletzt editiert von fu_zhou
    #81

    @wal Ich habe den node-snap7 issue mal geschlossen und im iobroker.S7 issue einen Aufruf zum Mittesten gestartet. Ich glaube aber nicht, dass da viel zurückkommt. Bei mir läuft das Ganze mit sämtlichen Test-Skripten parallel zum Produktivbetrieb stabil über die letzten Tage. Sobald du den Mut zum Pull hast, würde ich auch den iobroker.S7 issue auf Github schließen.

    Synology DS920+ VM, S7-315 PN mit ET200S

    WalW 1 Antwort Letzte Antwort
    1
    • fu_zhouF fu_zhou

      @wal Ich habe den node-snap7 issue mal geschlossen und im iobroker.S7 issue einen Aufruf zum Mittesten gestartet. Ich glaube aber nicht, dass da viel zurückkommt. Bei mir läuft das Ganze mit sämtlichen Test-Skripten parallel zum Produktivbetrieb stabil über die letzten Tage. Sobald du den Mut zum Pull hast, würde ich auch den iobroker.S7 issue auf Github schließen.

      WalW Online
      WalW Online
      Wal
      Developer
      schrieb am zuletzt editiert von
      #82

      @fu_zhou ,
      ich lasse @HF_SPSler noch ein paar Tage Zeit (ein Paar sind 2 ;-) )für eine Rückmeldung und wenn die positiv ist werde ich den Pull Request starten.

      Gruß
      Walter

      DoorIO-Adapter
      wioBrowser-Adapter und wioBrowser

      HF_SPSlerH 1 Antwort Letzte Antwort
      0
      • WalW Wal

        @fu_zhou ,
        ich lasse @HF_SPSler noch ein paar Tage Zeit (ein Paar sind 2 ;-) )für eine Rückmeldung und wenn die positiv ist werde ich den Pull Request starten.

        HF_SPSlerH Offline
        HF_SPSlerH Offline
        HF_SPSler
        schrieb am zuletzt editiert von HF_SPSler
        #83

        @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 :clap: :clap:

        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 :blush:

        S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

        WalW fu_zhouF 2 Antworten Letzte Antwort
        1
        • HF_SPSlerH 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 :clap: :clap:

          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 :blush:

          WalW Online
          WalW Online
          Wal
          Developer
          schrieb am zuletzt editiert von
          #84

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

          Gruß
          Walter

          DoorIO-Adapter
          wioBrowser-Adapter und wioBrowser

          1 Antwort Letzte Antwort
          0
          • HF_SPSlerH 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 :clap: :clap:

            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 :blush:

            fu_zhouF Offline
            fu_zhouF Offline
            fu_zhou
            schrieb am zuletzt editiert von
            #85

            @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

            Synology DS920+ VM, S7-315 PN mit ET200S

            HF_SPSlerH 1 Antwort Letzte Antwort
            0
            • fu_zhouF fu_zhou

              @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

              HF_SPSlerH Offline
              HF_SPSlerH Offline
              HF_SPSler
              schrieb am zuletzt editiert von
              #86

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

              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.

              S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

              KoneK 1 Antwort Letzte Antwort
              0
              • HF_SPSlerH HF_SPSler

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

                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.

                KoneK Offline
                KoneK Offline
                Kone
                schrieb am zuletzt editiert von Kone
                #87

                @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_SPSlerH 1 Antwort Letzte Antwort
                0
                • mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #88

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

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • KoneK 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_SPSlerH Offline
                    HF_SPSlerH Offline
                    HF_SPSler
                    schrieb am zuletzt editiert von
                    #89

                    @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 :+1:

                    S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

                    WalW 1 Antwort Letzte Antwort
                    0
                    • HF_SPSlerH HF_SPSler

                      @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 :+1:

                      WalW Online
                      WalW Online
                      Wal
                      Developer
                      schrieb am zuletzt editiert von
                      #90

                      @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.

                      Gruß
                      Walter

                      DoorIO-Adapter
                      wioBrowser-Adapter und wioBrowser

                      1 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #91

                        Sorry. Kommt die nächsten Tage. Wirklich ;-)

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #92

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

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          2
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          851

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe