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
    11
    1
    507

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
92 Beiträge 9 Kommentatoren 12.2k 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.
  • fu_zhouF fu_zhou

    Hallo zusammen,

    nachdem der S7 Adapter leider beim Übertragen von Daten hin und wieder "Fantasiewerte" an die S7 schickt, bietet sich Node Red mit node-red-contrib-s7 als Alternative an.

    Ich würde hier gerne "Best Practices" sammeln bzgl:

    • sinnvolle Erstellung/ Strukturierung von Flows (z.B. an S7 senden, von S7 lesen)
    • Spreadsheet-Engineering (z.B. Anlegen der S7 Variablen über Excel und Import in Node Red)
    • automatisiertes Verknüpfen der Variablen (z.B. über JSON Import)
    • Funktionen in Node Red (z.B. Signalverarbeitung als Alternative zu Blockly/ Java-Script)
      ...

    Los geht das Ganze mit der Installation von node-red-contrib-s7. Anleitung dazu findet man hier:
    https://flows.nodered.org/node/node-red-contrib-s7

    to be continued...

    WalW Offline
    WalW Offline
    Wal
    Developer
    schrieb am zuletzt editiert von
    #2

    @fu_zhou sagte in S7 mit Node Red (node-red-contrib-s7):

    nachdem der S7 Adapter leider beim Übertragen von Daten hin und wieder "Fantasiewerte" an die S7 schickt

    Kann ich nicht bestätigen und habe den Adapter schon 4 Jahre im Einsatz.

    Gruß
    Walter

    DoorIO-Adapter
    wioBrowser-Adapter und wioBrowser

    fu_zhouF 1 Antwort Letzte Antwort
    0
    • WalW Wal

      @fu_zhou sagte in S7 mit Node Red (node-red-contrib-s7):

      nachdem der S7 Adapter leider beim Übertragen von Daten hin und wieder "Fantasiewerte" an die S7 schickt

      Kann ich nicht bestätigen und habe den Adapter schon 4 Jahre im Einsatz.

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

      @wal Schau mal hier: https://github.com/ioBroker/ioBroker.s7/issues/13
      Das Problem ist leider wirklich da und wir haben bisher niemanden finden können, der den S7-Adapter korrigieren kann...

      Synology DS920+ VM, S7-315 PN mit ET200S

      WalW 2 Antworten Letzte Antwort
      0
      • fu_zhouF fu_zhou

        @wal Schau mal hier: https://github.com/ioBroker/ioBroker.s7/issues/13
        Das Problem ist leider wirklich da und wir haben bisher niemanden finden können, der den S7-Adapter korrigieren kann...

        WalW Offline
        WalW Offline
        Wal
        Developer
        schrieb am zuletzt editiert von
        #4

        @fu_zhou ,
        ich lese meine Zisterne mit Real ein, ich schau mir das Problem mal an.
        Ich nutze eine 300 CPU mit Simatic Manager, wie es mit neueren CPUs und TIA oder Logo aussieht kann ich nicht beurteilen/testen.

        Gruß
        Walter

        DoorIO-Adapter
        wioBrowser-Adapter und wioBrowser

        fu_zhouF 1 Antwort Letzte Antwort
        0
        • fu_zhouF fu_zhou

          @wal Schau mal hier: https://github.com/ioBroker/ioBroker.s7/issues/13
          Das Problem ist leider wirklich da und wir haben bisher niemanden finden können, der den S7-Adapter korrigieren kann...

          WalW Offline
          WalW Offline
          Wal
          Developer
          schrieb am zuletzt editiert von Wal
          #5

          @fu_zhou ,
          ok ihr sendet Realwerte an die S7 was ich nicht mache, ich schaue es mir trotzdem mal an.

          Edit:
          Als Notbehelf kannst du den Realwert mal 100 nehmen bei 2-Stellen nach dem Komma und ein Word an die S7 senden und dort den Wert durch 100 wieder teilen.

          Gruß
          Walter

          DoorIO-Adapter
          wioBrowser-Adapter und wioBrowser

          fu_zhouF 1 Antwort Letzte Antwort
          0
          • WalW Wal

            @fu_zhou ,
            ich lese meine Zisterne mit Real ein, ich schau mir das Problem mal an.
            Ich nutze eine 300 CPU mit Simatic Manager, wie es mit neueren CPUs und TIA oder Logo aussieht kann ich nicht beurteilen/testen.

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

            @wal Lesen ist wohl nicht das Problem, aber das Schreiben sporadisch schon. Ich habe eine S7-315PN im Einsatz (seit 7 Jahren, der Issue in Github ist ja auch schon 5 Jahre alt - und immer noch aktuell). Es geht hier im Moment um 300er CPUs mit Step 7...

            Wäre klasse, wenn du da was findest und beheben kannst!

            Synology DS920+ VM, S7-315 PN mit ET200S

            1 Antwort Letzte Antwort
            0
            • WalW Wal

              @fu_zhou ,
              ok ihr sendet Realwerte an die S7 was ich nicht mache, ich schaue es mir trotzdem mal an.

              Edit:
              Als Notbehelf kannst du den Realwert mal 100 nehmen bei 2-Stellen nach dem Komma und ein Word an die S7 senden und dort den Wert durch 100 wieder teilen.

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

              @wal Das Thema in Github bezieht sich zwar auf real, wir haben aber festgestellt, dass das auch bei CHAR und INT der Fall ist...

              Hier der entsprechende Kommentar dazu:
              https://github.com/ioBroker/ioBroker.s7/issues/13#issuecomment-1782649439

              Synology DS920+ VM, S7-315 PN mit ET200S

              WalW 1 Antwort Letzte Antwort
              0
              • fu_zhouF fu_zhou

                @wal Das Thema in Github bezieht sich zwar auf real, wir haben aber festgestellt, dass das auch bei CHAR und INT der Fall ist...

                Hier der entsprechende Kommentar dazu:
                https://github.com/ioBroker/ioBroker.s7/issues/13#issuecomment-1782649439

                WalW Offline
                WalW Offline
                Wal
                Developer
                schrieb am zuletzt editiert von
                #8

                @fu_zhou sagte in S7 mit Node Red (node-red-contrib-s7):

                @wal Das Thema in Github bezieht sich zwar auf real, wir haben aber festgestellt, dass das auch bei CHAR und INT der Fall ist...

                Das ist komisch da ich ein Javascript für die Autokalibration der Zisterne am laufen habe, das auch ohne Probleme funktioniert.

                zis.jpg

                Der Node-Red-Adapter basiert nicht auf Snap7 sondern auf Nodes7 da wird der Hund begraben sein, es kann sein das es gar nicht am S7-Adapter liegt.

                Gruß
                Walter

                DoorIO-Adapter
                wioBrowser-Adapter und wioBrowser

                fu_zhouF 1 Antwort Letzte Antwort
                0
                • WalW Wal

                  @fu_zhou sagte in S7 mit Node Red (node-red-contrib-s7):

                  @wal Das Thema in Github bezieht sich zwar auf real, wir haben aber festgestellt, dass das auch bei CHAR und INT der Fall ist...

                  Das ist komisch da ich ein Javascript für die Autokalibration der Zisterne am laufen habe, das auch ohne Probleme funktioniert.

                  zis.jpg

                  Der Node-Red-Adapter basiert nicht auf Snap7 sondern auf Nodes7 da wird der Hund begraben sein, es kann sein das es gar nicht am S7-Adapter liegt.

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

                  @wal zeichnest du den gesteuerten Wert "s7.0.DBs.DB2.zisterne_offset_voll" auf (z.B. SQL) und hast dir die Werte mal angeschaut? Ich bin mir fast sicher, dass du da Ausreißer wie im Issue beschrieben finden wirst. Snap7 ist ja auch schon viele Jahre etabliert, ich kann mir nicht vorstellen, dass das Verhalten übersehen wurde und ein Snap7-Problem ist. Aber die Frage wäre, ob jemand (du?) den Adapter mal auf nodes7 umbaut? Ich teste dann gerne...

                  Synology DS920+ VM, S7-315 PN mit ET200S

                  WalW 2 Antworten Letzte Antwort
                  0
                  • fu_zhouF fu_zhou

                    @wal zeichnest du den gesteuerten Wert "s7.0.DBs.DB2.zisterne_offset_voll" auf (z.B. SQL) und hast dir die Werte mal angeschaut? Ich bin mir fast sicher, dass du da Ausreißer wie im Issue beschrieben finden wirst. Snap7 ist ja auch schon viele Jahre etabliert, ich kann mir nicht vorstellen, dass das Verhalten übersehen wurde und ein Snap7-Problem ist. Aber die Frage wäre, ob jemand (du?) den Adapter mal auf nodes7 umbaut? Ich teste dann gerne...

                    WalW Offline
                    WalW Offline
                    Wal
                    Developer
                    schrieb am zuletzt editiert von
                    #10

                    @fu_zhou ,
                    nodes7 kann keine Logo, evtl. finde ich ja was.
                    Viel Zeit werde ich aber nicht verschwenden.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    1 Antwort Letzte Antwort
                    0
                    • fu_zhouF fu_zhou

                      @wal zeichnest du den gesteuerten Wert "s7.0.DBs.DB2.zisterne_offset_voll" auf (z.B. SQL) und hast dir die Werte mal angeschaut? Ich bin mir fast sicher, dass du da Ausreißer wie im Issue beschrieben finden wirst. Snap7 ist ja auch schon viele Jahre etabliert, ich kann mir nicht vorstellen, dass das Verhalten übersehen wurde und ein Snap7-Problem ist. Aber die Frage wäre, ob jemand (du?) den Adapter mal auf nodes7 umbaut? Ich teste dann gerne...

                      WalW Offline
                      WalW Offline
                      Wal
                      Developer
                      schrieb am zuletzt editiert von
                      #11

                      @fu_zhou ,
                      habe das jetzt eine halbe Stunde mit 1000 und -1000 laufen lassen und kein Fehler bekommen.
                      snap7.jpg

                      Kann ich das irgendwie nachstellen ?

                      Gruß
                      Walter

                      DoorIO-Adapter
                      wioBrowser-Adapter und wioBrowser

                      fu_zhouF 2 Antworten Letzte Antwort
                      0
                      • WalW Wal

                        @fu_zhou ,
                        habe das jetzt eine halbe Stunde mit 1000 und -1000 laufen lassen und kein Fehler bekommen.
                        snap7.jpg

                        Kann ich das irgendwie nachstellen ?

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

                        @wal das Verhalten ist leider hoch sporadisch und wir haben noch keinen Weg gefunden, das zu reproduzieren.
                        8a4d54c9-f04a-4d9e-93fe-fa85b1a965db-image.png

                        Kannst du mit einem Vergleicher in der S7 mal einen Ausreißer fangen.: Wenn IN <> der Grenzen von der Zufallszahl => schreibe den Wert in einen DB. Und damit mal ein paar Stunden laufen lassen? Oder alternativ den Wert mit SQL loggen (s. Screenshot oben). Was hast du für eine Poll Delay im Adapter eingetragen? (bei mir sind es 200ms bei einer durchschnittlichen Zykluszeit von 15ms)

                        Synology DS920+ VM, S7-315 PN mit ET200S

                        WalW 1 Antwort Letzte Antwort
                        0
                        • WalW Wal

                          @fu_zhou ,
                          habe das jetzt eine halbe Stunde mit 1000 und -1000 laufen lassen und kein Fehler bekommen.
                          snap7.jpg

                          Kann ich das irgendwie nachstellen ?

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

                          @wal Geh vielleicht mit dem Trigger auch mal auf eine Sekunde runter

                          Synology DS920+ VM, S7-315 PN mit ET200S

                          1 Antwort Letzte Antwort
                          0
                          • Z Offline
                            Z Offline
                            Zero_two
                            schrieb am zuletzt editiert von
                            #14

                            @Wal der Fehler läst sich schnell reproduzieren wenn du dir einfach die aktuelle Uhrzeit vom iobroker als dint wert in die s7 schreibst dabei entsteht der Fehler Recht schnell.

                            WalW 1 Antwort Letzte Antwort
                            0
                            • fu_zhouF fu_zhou

                              @wal das Verhalten ist leider hoch sporadisch und wir haben noch keinen Weg gefunden, das zu reproduzieren.
                              8a4d54c9-f04a-4d9e-93fe-fa85b1a965db-image.png

                              Kannst du mit einem Vergleicher in der S7 mal einen Ausreißer fangen.: Wenn IN <> der Grenzen von der Zufallszahl => schreibe den Wert in einen DB. Und damit mal ein paar Stunden laufen lassen? Oder alternativ den Wert mit SQL loggen (s. Screenshot oben). Was hast du für eine Poll Delay im Adapter eingetragen? (bei mir sind es 200ms bei einer durchschnittlichen Zykluszeit von 15ms)

                              WalW Offline
                              WalW Offline
                              Wal
                              Developer
                              schrieb am zuletzt editiert von
                              #15

                              @fu_zhou ,
                              der poll ist auf 1sec.
                              Die Zufallszahl habe ich jede Sekunde erzeugt,sieht man im Log.

                              @Zero_two ,
                              das mit der Uhrzeit teste ich mal.

                              Gruß
                              Walter

                              DoorIO-Adapter
                              wioBrowser-Adapter und wioBrowser

                              1 Antwort Letzte Antwort
                              0
                              • Z Zero_two

                                @Wal der Fehler läst sich schnell reproduzieren wenn du dir einfach die aktuelle Uhrzeit vom iobroker als dint wert in die s7 schreibst dabei entsteht der Fehler Recht schnell.

                                WalW Offline
                                WalW Offline
                                Wal
                                Developer
                                schrieb am zuletzt editiert von
                                #16

                                @zero_two ,
                                jetzt musst du mir nur noch zeigen wie du die Uhrzeit in DInt umrechnest.
                                Mein Script erzeigt ein Überlauf, da die Zahl anscheinend zu groß ist.

                                schedule("* * * * * *", async () => {
                                  setState('s7.0.DBs.DB2.test1', (new Date().getTime()));
                                });
                                

                                Gruß
                                Walter

                                DoorIO-Adapter
                                wioBrowser-Adapter und wioBrowser

                                1 Antwort Letzte Antwort
                                0
                                • Z Offline
                                  Z Offline
                                  Zero_two
                                  schrieb am zuletzt editiert von
                                  #17

                                  382064db-3fd3-43ff-9e6d-03cf4fb5b017-grafik.png

                                  b0630757-33c3-4ee3-9dee-26719a3d164f-grafik.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • WalW Offline
                                    WalW Offline
                                    Wal
                                    Developer
                                    schrieb am zuletzt editiert von Wal
                                    #18

                                    So, ich habe den Poll auf 200ms gestellt und das Script von @Zero_two erweitert.
                                    Nach 10 Minuten hatte ich einen Objektunterschied festgestellt.
                                    Realtest2.jpg
                                    Wenn ich das aber auswerte, liegt der Fehler nicht am S7 Adapter, sondern am Javascript ?
                                    Wie zu sehen lese ich das Objekt vom S7 Adapter wieder aus das ich mit Javascript beschrieben habe und es ist 0.

                                    Edit: In der S7 habe ich den DB1.DBD8 (real_test1) auf den DB1.DBD12 (real_test2) geschrieben.

                                    Gruß
                                    Walter

                                    DoorIO-Adapter
                                    wioBrowser-Adapter und wioBrowser

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • WalW Wal

                                      So, ich habe den Poll auf 200ms gestellt und das Script von @Zero_two erweitert.
                                      Nach 10 Minuten hatte ich einen Objektunterschied festgestellt.
                                      Realtest2.jpg
                                      Wenn ich das aber auswerte, liegt der Fehler nicht am S7 Adapter, sondern am Javascript ?
                                      Wie zu sehen lese ich das Objekt vom S7 Adapter wieder aus das ich mit Javascript beschrieben habe und es ist 0.

                                      Edit: In der S7 habe ich den DB1.DBD8 (real_test1) auf den DB1.DBD12 (real_test2) geschrieben.

                                      B Offline
                                      B Offline
                                      Blockmove
                                      schrieb am zuletzt editiert von
                                      #19

                                      @wal said in S7 mit Node Red (node-red-contrib-s7):

                                      Wenn ich das aber auswerte, liegt der Fehler nicht am S7 Adapter, sondern am Javascript ?
                                      Wie zu sehen lese ich das Objekt vom S7 Adapter wieder aus das ich mit Javascript beschrieben habe und es ist 0.

                                      Ohne jetzt im Detail dein Problem nachvollziehen zu wollen, aber schau dir mal bei Javascript / Node.js das Thema async / await an.

                                      The difference beetween Man and Boys:
                                      The price of their toys 😀

                                      WalW fu_zhouF 2 Antworten Letzte Antwort
                                      0
                                      • B Blockmove

                                        @wal said in S7 mit Node Red (node-red-contrib-s7):

                                        Wenn ich das aber auswerte, liegt der Fehler nicht am S7 Adapter, sondern am Javascript ?
                                        Wie zu sehen lese ich das Objekt vom S7 Adapter wieder aus das ich mit Javascript beschrieben habe und es ist 0.

                                        Ohne jetzt im Detail dein Problem nachvollziehen zu wollen, aber schau dir mal bei Javascript / Node.js das Thema async / await an.

                                        WalW Offline
                                        WalW Offline
                                        Wal
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #20

                                        @blockmove ,
                                        zu Glück habe ich das Problem nicht, aber danke für die Info, sollen die Jungs sich das mal reinziehen. ;-)

                                        Gruß
                                        Walter

                                        DoorIO-Adapter
                                        wioBrowser-Adapter und wioBrowser

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Blockmove

                                          @wal said in S7 mit Node Red (node-red-contrib-s7):

                                          Wenn ich das aber auswerte, liegt der Fehler nicht am S7 Adapter, sondern am Javascript ?
                                          Wie zu sehen lese ich das Objekt vom S7 Adapter wieder aus das ich mit Javascript beschrieben habe und es ist 0.

                                          Ohne jetzt im Detail dein Problem nachvollziehen zu wollen, aber schau dir mal bei Javascript / Node.js das Thema async / await an.

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

                                          @blockmove hmh... im Issue wurde "postuliert", dass das Verhalten nicht auf Werte beschränkt ist, die vom Script kommen:
                                          Es ist dabei auch egal ob es sich um einen Wert aus der Vis oder Javascript handelt. Über VIS fällt das natürlich weniger auf, da hier wesentlich seltener Werte gesendet werden (s. Link oben zum entsprechenden Kommentar).
                                          Ich bin leider nur Anwender, kein Programmierer, d.h. ein bisschen Blockly kriege ich noch hin, aber Codezeilen übersteigen meine Fantasie und Fähigkeiten. Wenn ich mir jetzt async/await anschaue, verstehe ich da erst mal nur Bahnhof, aber: Meinst du dass async/await im Adapter oder in unseren Scripten zum Einsatz kommen sollte, um das Problem der sporadischen, fehlerhaften Datenübertragung zu beheben? Warum hat Node-Red das Problem nicht?

                                          Synology DS920+ VM, S7-315 PN mit ET200S

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          830

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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