Siemens S7 Read
Dieser Funktionsblock liest Daten aus einer Siemens S7 PLC-Datenbank (DB) und gibt den Wert zur weiteren Verwendung in Ihrem Szenario aus. Er unterstützt gängige PLC-Datentypen und bietet eine einfache Oberfläche, um die DB-Nummer, Byte-Adresse und den Datentyp zu definieren. Verwenden Sie den Eingangsanschluss Enable, um Lesevorgänge auszulösen, und stellen Sie einen verbundenen S7 Client von einem Verbindungsblock bereit.
📥 Eingänge
Enable — Eingangsbuchse zum Ein- oder Ausschalten des Lesens. Liefern Sie ein boolesches Signal (z. B. von einem Logic Input-Block), um zu steuern, wann gelesen wird.
S7 Client — Eingangsbuchse, die ein Client-/Verbindungsobjekt akzeptiert (typischerweise bereitgestellt durch einen Siemens S7 Connect-Block). Damit weiß der Block, mit welchem PLC/Server er kommunizieren soll.
📤 Ausgänge
Data — Ausgangsbuchse, die den vom PLC gelesenen Wert liefert. Der Typ des Wertes richtet sich nach dem gewählten Datentyp (Zahl, String, Bool-Liste usw.).
🕹️ Steuerungen
DB Number — Geben Sie die DB-(Data Block)-Nummer an, aus der gelesen werden soll.
DB Byte Address — Geben Sie die Byte-Verschiebung innerhalb des DB an, an der der gewünschte Wert beginnt.
DB Data Type — Dropdown zur Auswahl des zu lesenden Datentyps (Beispiele: Boolean, Int, DInt, Real, String, Word, DWord, Time, ...).
Connection Type — Dropdown zur Wahl des Verbindungsmodus (z. B. Sync oder Async). Verwenden Sie dies, um zu steuern, wie der Block die PLC-Verbindung mit anderen Blöcken teilt/nutzt.
⚙️ Ablauf / Funktionsweise
Wenn der Eingang
Enableaktiv ist, liest der Block den konfigurierten Wert beiDB NumberundDB Byte Addressunter Verwendung des ausgewähltenDB Data Typeund gibt ihn sofort am AusgangDataaus.Der Block erwartet am Eingang einen verbundenen
S7 Client. Wenn kein Client verbunden ist, meldet der Block einen Verbindungsfehler und liefert keine Daten.Die Einstellung
Connection Typesteuert, ob der Block eine gemeinsame (synchronisierte) Verbindung oder eine dedizierte/asynchrone Verbindung zum PLC verwendet. Wählen Sie den Modus, der zu Ihrer Umgebung passt (siehe Tipps).
🎯 Hauptfunktionen
Unterstützt viele gängige PLC-Datentypen: Boolean-Arrays, Integer (SInt/Int/DInt), unsigned Typen, Fließkommawerte (Real/LReal), Strings, Word/DWord und Zeittypen.
Einfache UI-Steuerung für DB-Nummer, Byte-Adresse und Auswahl des Datentyps.
Auswahl des Verbindungsmodus, um Szenarien abzudecken, in denen mehrere Blöcke auf dasselbe PLC zugreifen.
Gibt Daten in einem formatfreundlichen Format zurück, das sofort von anderen Blöcken weiterverwendet werden kann.
📝 Nutzungshinweise
Fügen Sie einen
Siemens S7 Connect-Block hinzu und konfigurieren Sie dort PLC-Adresse und Verbindungsparameter.Verbinden Sie den Ausgang des
Siemens S7 Connect-Blocks mit dem EingangS7 Clientdieses Blocks.Stellen Sie die Zielwerte für
DB NumberundDB Byte Addressüber die Steuerungen ein.Wählen Sie den passenden
DB Data Type, der zur PLC-Variable passt, die Sie lesen möchten.Verwenden Sie einen
Logic Inputoder ein anderes boolesches Signal am EingangEnable, um zu steuern, wann gelesen wird.Verwenden Sie den Ausgang
Datazur Visualisierung, Protokollierung oder für Entscheidungsblöcke.
💡 Tipps und Tricks
Kombinieren Sie mit
Siemens S7 Connect, um die PLC-Verbindung zentral zu verwalten — dieser Block liefert das Client-Objekt, das hier am EingangS7 Clienterwartet wird.Verwenden Sie
Logic Input, um periodische Lesevorgänge ein-/auszuschalten oder abfragebasiertes Lesen zu implementieren.Zur Visualisierung numerischer Trends können Sie den numerischen Ausgang
Datain einenScope-Block zur Live-Anzeige speisen.Um Messwerte zu speichern, leiten Sie
DatainData to JSONund anschliessend inCSV Exportweiter.Senden Sie Telemetrie downstream, z. B. durch Verbindung von
DatamitMQTT Publishfür Cloud-Monitoring oder mitSend Mail(als strukturierte Nachricht) für Benachrichtigungen.Teilen Sie gelesene Werte szenenweit mit
Data Write Global/Data Read Globaloder lokalen Speicherblöcken, damit andere Teile Ihres Systems reagieren können, ohne erneut vom PLC zu lesen.Zur Fehlersuche verwenden Sie
Debug Input, um den ausgegebenen Wert zu protokollieren und Adressen sowie Datentypen zu überprüfen.Wenn mehrere Blöcke denselben DB-Bereich lesen/schreiben, versuchen Sie, den
Connection TypeaufSyncumzustellen, um Konkurrenzprobleme zu vermeiden.Beim Lesen von Textfeldern achten Sie auf String-Länge und Codierung im PLC. Überprüfen Sie die erwartete Länge im PLC-DB, um abgeschnittene Ergebnisse zu vermeiden.
(hinweis: Nützliche Blöcke zur Kombination: Siemens S7 Connect, Logic Input, Number Input, Data to JSON, CSV Export, MQTT Publish, Scope, Debug Input, Data Write Global)
🛠️ Fehlersuche
Keine Daten oder Verbindungsfehler: Prüfen Sie, ob das PLC erreichbar ist und ob der Block
Siemens S7 Connecteine erfolgreiche Verbindung anzeigt. Überprüfen Sie Netzwerkadressen, Firewalls und den PLC-Status.Falscher Wert zurückgegeben: Stellen Sie sicher, dass
DB Number,DB Byte AddressundDB Data Typemit dem Variablenlayout im PLC-DB übereinstimmen. Off-by-one-Byte-Verschiebungen oder falsche Datentypen führen zu ungültigen Ergebnissen.Teilweise oder abgeschnittener String: Achten Sie darauf, dass die String-Länge im PLC den Erwartungen entspricht. Wenn ein String abgeschnitten erscheint, prüfen Sie die konfigurierte Länge auf der PLC-Seite.
Intermittierende Lesevorgänge oder Warnung über busy server: Wenn das PLC viele Anfragen bedient, versuchen Sie, den
Connection TypeaufSynczu stellen oder die Lesehäufigkeit zu verringern.Unerwartetes boolesches Ergebnis: Manche Boolean-Lesevorgänge liefern Bit-Gruppen — behandeln Sie diese gegebenenfalls als Sammlungen von Boolean-Werten.
Wenn Probleme weiterhin bestehen, fügen Sie einen Debug Input-Block hinzu, um die rohen zurückgegebenen Werte zu sehen, und leiten Sie diese zur Protokollierung oder Analyse in Exportblöcke weiter.
Zuletzt aktualisiert