String und Text
Datenoperationen
Verarbeiten Sie Textdaten wie ein Profi. Von der dynamischen Etiketten-Generierung bis hin zum Protokoll-Parsing – meistern Sie jede String-Manipulationsanweisung in Ihrer PLC.
Warum Strings in einer PLC verarbeiten?
Obwohl PLCs primär für binäre und numerische Logik konzipiert sind, sind String-Operationen für moderne industrielle Schnittstellen unerlässlich. Sie ermöglichen die Generierung dynamischer Nachrichten für HMIs, das Parsen von Barcodes oder QR-Codes von Scannern und die Kommunikation mit IT-Systemen über formatierte Textprotokolle.
Das TIA Portal bietet einen robusten Satz an Anweisungen zur Verwaltung von STRING (ASCII) und WSTRING (Unicode) Typen, damit Ihre Maschine in jeder Sprache klar kommunizieren kann.
Verkettung & Einfügen
Erstellung dynamischer Nachrichten
CONCAT — Strings verketten
CONCATWas es bewirkt
Kombiniert zwei oder mehr Strings zu einem einzigen Ausgangs-String. Die Quell-Strings werden in der Reihenfolge angehängt, in der sie definiert sind.
Wann zu verwenden
Erstellen einer vollständigen Statusmeldung aus einem Präfix und einem Variablennamen oder Erstellen einer CSV-Zeile für das Logging.
Profi-Tipps
Prüfen Sie immer die maximale Länge Ihres Ziel-Strings, um ein Abschneiden zu vermeiden.
In SCL können Sie den '+'-Operator für eine einfachere Verkettung verwenden, sofern unterstützt.
Kombinieren Sie CONCAT mit Leerzeichen, um eine lesbare HMI-Ausgabe zu gewährleisten.
INSERT — In String einfügen
INSERTWas es bewirkt
Fügt einen Teil-String an einer bestimmten Zeichenposition (P) in einen bestehenden String ein.
Wann zu verwenden
Hinzufügen von Einheitssymbolen (wie 'kg' oder '°C') in einer dynamischen Textvorlage.
Profi-Tipps
Wenn P 0 ist, wird der String am Anfang eingefügt.
Wenn P größer als die String-Länge ist, wird der Teil-String am Ende angehängt.
Nützlich für die dynamische Formatierung von Datum/Uhrzeit-Strings.
Suchen & Ändern
Analysieren von Textdaten
FIND — Teil-String suchen
FINDWas es bewirkt
Sucht nach einem bestimmten Muster in einem String und gibt die Startposition zurück. Gibt 0 zurück, wenn nichts gefunden wurde.
Wann zu verwenden
Lokalisieren von Trennzeichen (wie Kommas oder Semikolons) in einem Scanner-Eingabe-String.
Profi-Tipps
Die Suche unterscheidet zwischen Groß- und Kleinschreibung. 'Error' ist anders als 'error'.
Verwenden Sie die zurückgegebene Position direkt in einer MID-Anweisung, um Daten zu extrahieren.
In einer Schleife können Sie mehrere Vorkommen finden, indem Sie den Start-String aktualisieren.
REPLACE — Teil ersetzen
REPLACEWas es bewirkt
Ersetzt eine bestimmte Anzahl von Zeichen ab Position P durch einen neuen Teil-String.
Wann zu verwenden
Aktualisieren eines variablen Teils einer statischen Nachricht, ohne den gesamten String neu zu erstellen.
Profi-Tipps
Um Zeichen zu löschen, ohne neue hinzuzufügen, verwenden Sie einen leeren String als Ersetzung.
Wird häufig verwendet, um Platzhalter wie {val} durch reale Werte zu ersetzen.
Seien Sie vorsichtig mit der Zeichenanzahl, um ein unerwartetes Verschieben des restlichen Textes zu vermeiden.
Konvertierung & Extraktion
Brücke zwischen Zahlen und Text
VAL_STRG / STRG_VAL — Konvertierung
VAL_STRGWas es bewirkt
Konvertiert numerische Werte (Int, Real) in String (VAL_STRG) oder parst Zahlen aus einem String (STRG_VAL).
Wann zu verwenden
Anzeige einer Real-Temperatur in einer benutzerdefinierten Textnachricht oder Konvertierung eines seriellen Schnittstelleneingangs in einen Integer.
Profi-Tipps
Konfigurieren Sie den FORMAT-Eingang, um Dezimalstellen und das Vorzeichenverhalten zu definieren.
STRG_VAL reagiert empfindlich auf das Dezimaltrennzeichen (Punkt vs. Komma).
Prüfen Sie den Statusausgang, um sicherzustellen, dass die Konvertierung erfolgreich war.
LEFT / RIGHT / MID — Extrahieren
MIDWas es bewirkt
Extrahiert einen Teil eines Strings von links, rechts oder einer bestimmten mittleren Position (MID).
Wann zu verwenden
Abrufen eines Präfixes von einem Barcode oder Extrahieren eines Wertes zwischen Klammern.
Profi-Tipps
MID(IN, L, P) extrahiert L Zeichen ab Position P.
Wenn L die verfügbaren Zeichen überschreitet, gibt die Anweisung alles bis zum Ende zurück.
Unerlässlich für das 'Auspacken' von Daten aus seriellen Protokollen von Drittanbietern.
STRING vs WSTRING
Wahl des richtigen Textformats
| Eigenschaft | STRING | WSTRING |
|---|---|---|
| Kodierung | ASCII / Erweitertes ASCII | Unicode (UTF-16) |
| Bytes pro Zeichen | 1 Byte | 2 Bytes |
| Max. Länge | 254 Zeichen | 16382 Zeichen |
| Verwendung | Standard-westlicher Text | International / Sonderzeichen |
| Speicherbelastung | Niedrig | Hoch (Doppelt) |
| SCL-Präfix | '' (Einfache Anführungszeichen) | W#'' |
Häufig gestellte Fragen
Was ist die maximale Länge eines STRING im TIA Portal?
Ein Standard-STRING kann bis zu 254 Zeichen aufnehmen. Wenn Sie mehr benötigen, müssen Sie den WSTRING-Typ verwenden, der auf der S7-1500 bis zu 16.382 Zeichen verarbeiten kann.
Warum schlägt meine VAL_STRG-Konvertierung fehl?
Der häufigste Grund ist eine unzureichende Länge des Ziel-Strings oder eine Unstimmigkeit im FORMAT-Parameter (z. B. der Versuch, ein großes REAL in einen kleinen STRING einzupassen).
Kann ich Strings in optimierten Datenbausteinen verwenden?
Ja, Strings werden in optimierten DBs vollständig unterstützt. Denken Sie jedoch daran, dass sie im Speicher immer ihre maximal definierte Größe belegen, plus 2 Bytes für die Längen-Header.
Wie vergleicht man zwei Strings in SCL?
Sie können Standard-Vergleichsoperatoren (=, <>, <, >) verwenden. Das TIA Portal vergleicht Strings Zeichen für Zeichen basierend auf ihren ASCII/Unicode-Werten.