For the complete documentation index, see llms.txt. This page is also available as Markdown.

Siemens S7 Write

Dieser Funktionsblock schreibt Werte in eine Siemens S7 PLC. Er akzeptiert einen Dateneingang und eine Client-Referenz und kann sofortige (synchron) oder geplante Hintergrund- (asynchron) Schreibvorgänge ausführen. Optional kann ein Wert angegeben werden, der beim Stoppen des Systems oder beim Entfernen des Blocks geschrieben wird.

📥 Eingänge

Enable Geben Sie einen Boolean an, um Schreibvorgänge zu erlauben oder zu verhindern. Wenn nicht angegeben oder True, werden Schreibvorgänge ausgeführt.

Data Der Wert, der in die PLC geschrieben werden soll. Akzeptiert den in den Steuerungen ausgewählten Datentyp.

[Optional] Data on Stop Optionaler Wert, der geschrieben wird, wenn der Block gestoppt oder entfernt wird.

S7 Client Die PLC-Client-/Verbindungsreferenz, die zum Ausführen des Schreibvorgangs verwendet wird. (Bereitstellen über einen Verbindungsblock wie Siemens S7 Connect.)

📤 Ausgänge

Dieser Funktionsblock liefert keine Ausgänge.

🕹️ Steuerungen

DB Number Geben Sie die DB-Nummer im PLC an, in die der Wert geschrieben werden soll.

DB Byte Address Geben Sie die Byte-Verschiebung innerhalb des ausgewählten DB an.

Bit Position Bei Boolean-Schreibvorgängen wählen Sie die Bit-Position innerhalb des Zielbytes.

DB Data Type Wählen Sie den Datentyp, der geschrieben werden soll (z. B. boolean, integer, float, string). Der Block konvertiert den Eingabewert entsprechend dieser Auswahl.

Connection Type Wählen Sie zwischen Sync und Async. Sync führt den Schreibvorgang sofort aus und verwendet eine gemeinsame Verbindung; Async plant den Schreibvorgang im Hintergrund und verwendet eine dedizierte Verbindung für diesen Block.

🎛️ Key Features

  • Unterstützung mehrerer PLC-Datentypen mit expliziter Auswahl über DB Data Type.

  • Byte- und Bit-Adressierung für präzise Platzierung von boolean- oder skalaren Werten.

  • Zwei Schreibmodi:

    • Synchronous (sofortige) Writes für deterministische Einzel-Schritt-Operationen.

    • Asynchronous (Hintergrund-)Writes, um den Hauptablauf nicht zu blockieren und längere Schreibvorgänge auszulagern.

  • Optionales Safe-Write-on-Stop: Ein an [Optional] Data on Stop übergebener Wert wird automatisch beim Stoppen oder Entfernen des Blocks geschrieben.

  • Verbindungsverwaltung und erneute Verbindung bei Änderung der Client-Adresse.

  • Klare Fehlermeldungen und Warnungen zur Diagnose von Verbindungs- oder Typproblemen.

⚙️ Ablauf

  • Wenn Enable fehlt oder True ist, versucht der Block, den in Data bereitgestellten Wert in die PLC an der konfigurierten DB- und Byte-Adresse zu schreiben.

  • Ist Connection Type auf Sync gesetzt, verwendet der Block eine gemeinsame synchrone Verbindung und führt den Schreibvorgang sofort aus.

  • Ist Connection Type auf Async gesetzt, plant der Block den Schreibvorgang an einen Hintergrund-Worker, sodass der Hauptablauf nicht blockiert wird; hierfür wird eine dedizierte Verbindungsinstanz für den Block verwendet.

  • Wenn die Client-Referenz auf S7 Client nicht verbunden ist, versucht der Block, sich vor dem Schreiben (erneut) zu verbinden.

  • Beim Stoppen oder Entfernen versucht der Block, den in [Optional] Data on Stop angegebenen Wert zu schreiben, um einen definierten Endzustand sicherzustellen.

📝 Nutzungshinweise

  1. Stellen Sie eine PLC-Client-Referenz an S7 Client bereit (verwenden Sie Siemens S7 Connect, um die Verbindung zu erstellen).

  2. Konfigurieren Sie die Zieladresse mit DB Number und DB Byte Address.

  3. Bei Boolean-Werten setzen Sie die Bit Position.

  4. Wählen Sie den passenden DB Data Type für die zu schreibenden Daten.

  5. Wählen Sie Connection Type:

    • Verwenden Sie Sync, wenn Sie sofortige Schreibvorgänge möchten und die Verbindung mit anderen Blöcken teilen wollen.

    • Verwenden Sie Async, um Schreibvorgänge im Hintergrund auszuführen und den Ablauf nicht zu blockieren.

  6. Speisen Sie den zu schreibenden Wert in Data ein und aktivieren Sie das Schreiben mit Enable.

  7. Optional: Geben Sie einen Wert in [Optional] Data on Stop an, der beim Stoppen oder Entfernen des Blocks geschrieben werden soll.

💡 Tipps und Tricks

  • Verwenden Sie Siemens S7 Connect, um eine zuverlässige Client-Referenz für die Eingabe S7 Client bereitzustellen.

  • Kombinieren Sie mit Siemens S7 Read, um Register vor oder nach dem Schreiben zu überprüfen.

  • Nutzen Sie Logic Input, um den Enable-Socket über einen einfachen UI-Schalter zu steuern.

  • Wenn Sie Text oder strukturierte Daten vorbereiten oder formatieren müssen, prüfen Sie upstream String Input oder Data to JSON.

  • Verwenden Sie Data Write Global / Data Write Local oder Data Memory, um Werte zu speichern, die von mehreren Stellen im Flow geschrieben werden sollen.

  • Für Logging oder Diagnose: Verbinden Sie CSV Export oder Debug Input, um geschriebene Werte zu erfassen oder zu inspizieren.

  • Bevorzugen Sie Sync-Modus, wenn mehrere Blöcke in dieselbe DB/Byte schreiben, um Schreibkonflikte zu vermeiden; wählen Sie Async, wenn Schreibvorgänge unabhängig gehandhabt werden können, um Latenz zu reduzieren.

🛠️ Fehlersuche

  • Verlorene Verbindung / Schreibfehler: Prüfen Sie die Erreichbarkeit der PLC und den an S7 Client übergebenen Client. Verwenden Sie Siemens S7 Connect, um die Verbindung separat zu testen.

  • Falsche Datenwerte: Stellen Sie sicher, dass der gewählte DB Data Type mit dem tatsächlichen PLC-Variablentyp übereinstimmt, und passen Sie DB Byte Address / Bit Position entsprechend an.

  • Server beschäftigt oder konkurrierende Schreibvorgänge: Wenn Warnungen über einen beschäftigten Server erscheinen, versuchen Sie, für gemeinsam genutzte, serialisierte Schreibvorgänge auf dieselben Adressen den Sync-Modus zu verwenden, oder stellen Sie sicher, dass jeder Schreiber separate Adressen nutzt.

  • Wert wird beim Stop nicht geschrieben: Stellen Sie sicher, dass ein gültiger Wert an [Optional] Data on Stop übergeben wurde und der Block die Finalisierung ausführen darf (bei einigen Shutdown-Szenarien sind finale Schreibvorgänge möglicherweise nicht möglich).

✅ Sicherheit und bewährte Vorgehensweisen

  • Überprüfen Sie DB- und Byte-Adressen sorgfältig, bevor Sie Änderungen an Live-PLCs vornehmen, um unbeabsichtigte Änderungen zu vermeiden.

  • Verwenden Sie Write-on-Stop mit Vorsicht; stellen Sie sicher, dass die Stopp-Sequenz dem Block erlaubt, den finalen Schreibvorgang abzuschließen.

  • Bevorzugen Sie dedizierte Verbindungen (Async) für intensive oder häufige Schreibaufgaben, die den Hauptablauf nicht blockieren sollen; verwenden Sie Sync, wenn Schreibvorgänge zwischen mehreren Blöcken koordiniert werden müssen.

Zuletzt aktualisiert