Sträng och text
Dataoperationer
Behandla textdata som ett proffs. Från dynamisk etikettgenerering till protokollparsning, bemästra varje stränghanteringsinstruktion i din PLC.
Varför behandla strängar i en PLC?
Även om PLC:er främst är utformade för binär och numerisk logik, är strängoperationer nödvändiga för moderna industriella gränssnitt. De möjliggör generering av dynamiska meddelanden för HMI:er, parsning av streckkoder eller QR-koder från skannrar, och kommunikation med IT-system via formaterade textprotokoll.
TIA Portal erbjuder en robust uppsättning instruktioner för att hantera typerna STRING (ASCII) och WSTRING (Unicode), vilket säkerställer att din maskin kan kommunicera tydligt på vilket språk som helst.
Konkatenering & Infogning
Bygg dynamiska meddelanden
CONCAT — Konkatenera strängar
CONCATVad den gör
Kombinerar två eller flera strängar till en enda utgångssträng. Källsträngarna läggs till i den ordning de definieras.
När den ska användas
Skapa ett fullständigt statusmeddelande från ett prefix och ett variabelnamn, eller bygga en CSV-rad för loggning.
Proffstips
Kontrollera alltid maxlängden på din destinationssträng för att undvika trunkering.
I SCL kan du använda '+'-operatorn för enklare konkatenering om det stöds.
Kombinera CONCAT med mellanslagstecken för att säkerställa läsbar HMI-utdata.
INSERT — Infoga i sträng
INSERTVad den gör
Infogar en delsträng i en befintlig sträng vid en angiven teckenposition (P).
När den ska användas
Lägga till enhetssymboler (som 'kg' eller '°C') i en dynamisk textmall.
Proffstips
Om P är 0 infogas strängen i början.
Om P är större än strängens längd läggs delsträngen till i slutet.
Användbart för dynamisk formatering av datum/tid-strängar.
Sök & Ändra
Analysera textdata
FIND — Sök delsträng
FINDVad den gör
Söker efter ett specifikt mönster i en sträng och returnerar startpositionen. Returnerar 0 om det inte hittas.
När den ska användas
Hitta avgränsare (som kommatecken eller semikolon) i en skannerinmatningssträng.
Proffstips
Sökningen är skiftlägeskänslig. 'Error' är annorlunda än 'error'.
Använd den returnerade positionen direkt i en MID-instruktion för att extrahera data.
I en loop kan du hitta flera förekomster genom att uppdatera startsträngen.
REPLACE — Ersätt del
REPLACEVad den gör
Ersätter ett specifikt antal tecken som börjar vid position P med en ny delsträng.
När den ska användas
Uppdatera en variabel del av ett statiskt meddelande utan att bygga om hela strängen.
Proffstips
För att ta bort tecken utan att lägga till nya, använd en tom sträng som ersättning.
Används vanligtvis för att byta ut platshållare som {val} med riktiga värden.
Var försiktig med teckenantalet för att undvika att flytta resten av texten oväntat.
Konvertering & Extraktion
Överbrygga siffror och text
VAL_STRG / STRG_VAL — Konvertering
VAL_STRGVad den gör
Konverterar numeriska värden (Int, Real) till String (VAL_STRG) eller parsar tal från en String (STRG_VAL).
När den ska användas
Visa en Real-temperatur i ett anpassat textmeddelande eller konvertera en serieportsinmatning till en Integer.
Proffstips
Konfigurera FORMAT-ingången för att definiera decimaler och teckenbeteende.
STRG_VAL är känslig för decimalseparatorn (punkt mot komma).
Kontrollera statusutgången för att säkerställa att konverteringen lyckades.
LEFT / RIGHT / MID — Extrahera
MIDVad den gör
Extraherar en del av en sträng från vänster, höger eller en specifik mittposition (MID).
När den ska användas
Hämta ett prefix från en streckkod eller extrahera ett värde mellan parenteser.
Proffstips
MID(IN, L, P) extraherar L tecken som börjar vid position P.
Om L överskrider tillgängliga tecken returnerar instruktionen allt fram till slutet.
Viktigt för att 'packa upp' data från seriella protokoll från tredje part.
STRING mot WSTRING
Välja rätt textformat
| Egenskap | STRING | WSTRING |
|---|---|---|
| Kodning | ASCII / Utökad ASCII | Unicode (UTF-16) |
| Bytes per tecken | 1 Byte | 2 Bytes |
| Maxlängd | 254 tecken | 16382 tecken |
| Användning | Standard västerländsk text | Internationella / Specialtecken |
| Minnespåverkan | Låg | Hög (Dubbel) |
| SCL-prefix | '' (Enkla citattecken) | W#'' |
Vanliga frågor
Vad är maxlängden för en STRING i TIA Portal?
En standard STRING kan innehålla upp till 254 tecken. Om du behöver mer måste du använda typen WSTRING som kan hantera upp till 16 382 tecken på S7-1500.
Varför misslyckas min konvertering VAL_STRG?
Den vanligaste orsaken är otillräcklig längd på destinationssträngen eller en missmatch i FORMAT-parametern (t.ex. att försöka passa in en stor REAL i en liten STRING).
Kan jag använda strängar i optimerade Data Blocks?
Ja, strängar stöds fullt ut i optimerade DB:er. Kom dock ihåg att de alltid upptar sin maximalt definierade storlek i minnet, plus 2 bytes för längdhuvuden.
Hur jämför man två strängar i SCL?
Du kan använda standardjämförelseoperatorer (=, <>, <, >). TIA Portal jämför strängar tecken för tecken baserat på deras ASCII/Unicode-värden.