RIGHT-Baustein
Kurz-Information
Name | RIGHT |
---|---|
→POE-Typ | →Funktion |
Kategorie | IEC-Baustein, String, Baustein mit interner Fehlerdiagnose |
Konform zur →IEC-Norm |
|
Grafische Schnittstelle | |
Verfügbar ab | Version 1.32.0 (für logi.CAD 3) |
Funktionalität
Der Baustein liefert einen Teilstring eines anderen Strings – ganz von rechts beginnend.
Am Eingang IN
geben Sie eine Zeichenkette ein. Am Eingang L
geben Sie die Anzahl der zu liefernden Zeichen ein (= Länge des zu liefernden Teils).
Spezialfälle (siehe unter "Beispiel für Verwendung im ST-Editor"):
- Bei
L = 0
liefert der Baustein den leeren String''
. Der AusgangENO
wird hier auf den WertTRUE
gesetzt. - Falls der Wert für
L
> die Länge des Strings fürIN
ist, liefert der Baustein den String, der beiIN
anliegt. Hier wird der AusgangENO
auf den WertFALSE
gesetzt. - Falls ein negativer Wert bei
L
eingegeben ist, liefert der Baustein den leeren String''
. Auch hier wird der AusgangENO
auf den WertFALSE
gesetzt.
logi.CAD 3 bestimmt die Positionen von Zeichen in einem String so:
1
, 2
, ..., n. Dabei entspricht 1
dem Zeichen ganz links im String und n
der Länge des Strings.
Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($
) und gefolgt von 2 Hexadezimal-Ziffern, gelten als ein einziges Zeichen. Beispiel: Der String '$B15
' (entspricht '±5
') besteht somit aus 2 Zeichen. Weitere Beispiele für diese Kombinationen finden Sie unter →Zeichenfolge-Literal.
Eingänge, Ergebniswert
Bezeichner | →Datentyp | Beschreibung | |
---|---|---|---|
Eingänge: | IN | STRING | Eingangswert |
L | , , , , , , oder
(entspricht dem →allgemeinen Datentyp ANY_INT )
| Anzahl der zu liefernden Zeichen | |
Ergebniswert: | – | STRING |
Der Eingang EN
und der Ausgang ENO
sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN
und zum Ausgang ENO
.
Interne Fehlerdiagnose für Baustein
Der Baustein prüft den vermeintlichen Ergebniswert.
Falls der Ergebniswert im zur Verfügung stehenden Speicher nicht abgebildet werden kann (der Ergebniswert ist zu groß), wird der Ausgang ENO
des Bausteins auf den Wert FALSE
(oder eine Entsprechung) gesetzt.
Zusätzlich prüft der Baustein die anliegenden Werte, ob auf nicht vorhandene Zeichenpositionen im String zugegriffen wird. Dies ist der Fall, wenn der Wert für L
> die Länge des Stringwerts für IN
ist oder ein negativer Wert bei L
eingegeben ist. Auch in diesen Fällen wird der Ausgang ENO
des Bausteins auf den Wert FALSE
(oder eine Entsprechung) zurückgesetzt.
Beispiel für Verwendung im ST-Editor
PROGRAM Test VAR result1, result3, result4, result5, result6 : STRING[8]; result2 : STRING[2]; CheckENO1, CheckENO2, CheckENO3, CheckENO4, CheckENO5, CheckENO6 : BOOL; END_VAR result1 := RIGHT(IN := 'astring', L := 3, ENO => CheckENO1); (* The variable 'result1' evaluates to <'ing'>. The variable 'CheckENO1' evaluates to 'TRUE'. *) result2 := RIGHT(IN := 'astring', L := 3, ENO => CheckENO2); (* The variable 'result2' evaluates to <'in'>. The variable 'CheckENO2' evaluates to 'FALSE'. Reason: 'result2' is declared with length '2' and the would-be return value exceeds this length. *) result3 := RIGHT(IN := 'astring', L := 0, ENO => CheckENO3); (* The variable 'result3' evaluates to <''>, i.e an empty string. The variable 'CheckENO3' evaluates to 'TRUE'. Reason: value '0' for 'L' *) result4 := RIGHT(IN := 'astring', L := 10, ENO => CheckENO5); (* The variable 'result4' evaluates to <'astring'>. The variable 'CheckENO4' evaluates to 'FALSE'. Reason: value for 'L' > the length of string 'astring' *) result5 := RIGHT(IN := 'astring', L := -2, ENO => CheckENO5); (* The variable 'result5' evaluates to <''>, i.e an empty string. The variable 'CheckENO5' evaluates to 'FALSE'. Reason: negative value for 'L' *) result6 := RIGHT(IN := 'deviation: $B15', L := 2, ENO => CheckENO6); (* The variable 'result6' evaluates to <'$B15'>, i.e an empty string. The variable 'CheckENO6' evaluates to 'TRUE'. *) END_PROGRAM
Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.