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
Enablefehlt oder True ist, versucht der Block, den inDatabereitgestellten Wert in die PLC an der konfigurierten DB- und Byte-Adresse zu schreiben.Ist
Connection TypeaufSyncgesetzt, verwendet der Block eine gemeinsame synchrone Verbindung und führt den Schreibvorgang sofort aus.Ist
Connection TypeaufAsyncgesetzt, 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 Clientnicht verbunden ist, versucht der Block, sich vor dem Schreiben (erneut) zu verbinden.Beim Stoppen oder Entfernen versucht der Block, den in
[Optional] Data on Stopangegebenen Wert zu schreiben, um einen definierten Endzustand sicherzustellen.
📝 Nutzungshinweise
Stellen Sie eine PLC-Client-Referenz an
S7 Clientbereit (verwenden SieSiemens S7 Connect, um die Verbindung zu erstellen).Konfigurieren Sie die Zieladresse mit
DB NumberundDB Byte Address.Bei Boolean-Werten setzen Sie die
Bit Position.Wählen Sie den passenden
DB Data Typefür die zu schreibenden Daten.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.
Speisen Sie den zu schreibenden Wert in
Dataein und aktivieren Sie das Schreiben mitEnable.Optional: Geben Sie einen Wert in
[Optional] Data on Stopan, 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 EingabeS7 Clientbereitzustellen.Kombinieren Sie mit
Siemens S7 Read, um Register vor oder nach dem Schreiben zu überprüfen.Nutzen Sie
Logic Input, um denEnable-Socket über einen einfachen UI-Schalter zu steuern.Wenn Sie Text oder strukturierte Daten vorbereiten oder formatieren müssen, prüfen Sie upstream
String InputoderData to JSON.Verwenden Sie
Data Write Global/Data Write LocaloderData Memory, um Werte zu speichern, die von mehreren Stellen im Flow geschrieben werden sollen.Für Logging oder Diagnose: Verbinden Sie
CSV ExportoderDebug 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 SieAsync, 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 SieSiemens S7 Connect, um die Verbindung separat zu testen.Falsche Datenwerte: Stellen Sie sicher, dass der gewählte
DB Data Typemit dem tatsächlichen PLC-Variablentyp übereinstimmt, und passen SieDB Byte Address/Bit Positionentsprechend 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 SieSync, wenn Schreibvorgänge zwischen mehreren Blöcken koordiniert werden müssen.
Zuletzt aktualisiert