Ein Zeichenfolgenregister speichert alphanumerische Zeichenfolgen. Jedes Zeichenfolgenregister kann maximal 254 Zeichen aufnehmen. Standardmäßig gibt es 25 Zeichenfolgenregister.
Sie können die Anzahl der Zeichenfolgenregister beim gesteuerten Start erhöhen. Weitere Informationen zum Ausführen eines kontrollierten Starts finden Sie unter "Systembetrieb" im Anhang des Installations- und Bedienhandbuchs.
Es gibt verschiedene Arten von Zeichenfolgenregister-Anweisungen:
Zeichenfolgenregister-Zuordnung, SR[x]=
Zeichenfolgenregister-Verkettung, SR[x]+
Zeichenfolgenregister-Vergleich, SR[x]<, >, =, <>, <=, >=
Zeichenfolgenregister-Länge, R[y]=STRLEN SR[x]
Zeichenfolgenregister-Teilzeichenfolge-Suche, R[y]=FINDSTR SR[x], SR[z]
Zeichenfolgenregister-Teilzeichenfolge-Schnitt, SR[x]=SUBSTR SR[n],R[y],R[z]
Zeichenfolgeregister können mit der direkten und indirekten Technik adressiert werden. Weitere Informationen finden Sie in Abb. 6.46 in Abschnitt "Register-Anweisungen".
Mit SR[x]-Zeichenfolgenregister-Anweisungen werden Zeichenfolgenregister bearbeitet. Zeichenfolgenregister unterstützten die Zuordnung und Verkettung.
Beispiele für Zeichenfolgenregister-Zuordnungs-Anweisungen:
Beispiele für Zeichenfolgenregister-Verkettungs-Anweisungen:
Zeichenfolgenregister-Anweisungen konvertieren numerische Datentypen automatisch. Diese automatische Konvertierung ist in Abschnitt 24.3, "Konvertierung und Vorrang von Zeichenfolgen" erklärt.
Zeichenfolge- und numerische Daten werden beim Verwenden einer beliebigen Registeranweisung automatisch konvertiert.
Die Konvertierung von Ganzzahl- oder numerischen Gleitkommadaten ist zulässig. Gleitkommadaten werden auf sechs Dezimalstellen abgerundet.
Beispiele für die Konvertierung von numerischen in Zeichenfolgendaten:
Tabelle 26. SR[x]=R[y]
R[y] Wert | SR[x] Ergebnis |
---|---|
R[y]=1234 | SR[x]=’1234’ |
R[y]=12.34 | SR[x]=’12.34’ |
R[y]=5.123456789 | SR[x]=’5.123457’ |
Die Konvertierung von Zeichenfolgen in numerische Daten ist zulässig. Wenn der maximale Wert für eine Gleitkommanummer in der Zeichenfolgendarstellung überschritten wird, kann ein Überlauf-Alarm auftreten. Die Konvertierung von Zeichenfolgen in numerische Daten wird gestoppt, wenn das erste Buchstabenzeichen gefunden wird.
Beispiele für die Konvertierung von Zeichenfolgen in numerische Daten:
Tabelle 27. R[x]=SR[y]
SR[y] Wert | R[x] Ergebnis |
---|---|
SR[y]=’1234’ | R[x] = 1234 |
SR[y]=’12.34’ | R[x]=12.34 |
SR[y]=’765abc’ | R[x]=765 |
SR[y]=’fgh’ | R[x]=0 |
Wenn innerhalb einer Anweisung mehrere Konvertierungen auftreten, hat die Datentyp-Konvertierung Vorrang. Die Daten werden bei jeder Operation in den Datentyp der linken Anweisung konvertiert.
Beispiele für den Vorrang der Konvertierung:
Tabelle 28. SR[x]=R[y]+SR[z]
R[y]=123.456 + SR[z]=’345.678’ | SR[x]=’456.134’ |
R[y]=456 + SR[z]='1abc2' | SR[x]='457' |
Tabelle 29. SR[x]=SR[y]+R[z]
SR[y]=’123.’ + R[z]=345 | SR[x]=’123.345’ |
SR[y]=’xyz’ + R[z]=81573 | SR[x]=’xyz81573’ |
Die STRLÄN-Anweisung gibt die Länge der im angegebenen Register gespeicherten Zeichenfolge zurück.
Beispiel für die Verwendung von STRLÄN:
Tabelle 30. R[x]=STRLEN SR[y]:
SR[y] Wert | R[x] Ergebnis |
---|---|
SR[y]=’abcdefghij’ | R[x]=10 |
SR[y]=’zyx1,2,3,4,5,6,lm’ | R[x]=17 |
SR[y]=’’ | R[x]=0 |
Wenn STRLÄN mit einem Argumentregister verwendet wird, wird für AR[x], dessen Datentyp keine Zeichenfolge ist, wird ein Alarm zum falschen Typ angezeigt.
Die STRSUCH-Anweisung sucht die Zielzeichenfolge für die Suchzeichenfolge und gibt den Index innerhalb der Ziel-Zeichenfolge zurück. Bei allen Zeichenfolgenvergleichen wird die Groß- oder Kleinschreibung nicht berücksichtigt. Wird die Suchzeichenfolge in der Zielzeichenfolge nicht gefunden, wird der Index "0" zurückgegeben.
Beispiel der Verwendung von STRSUCH:
Tabelle 31. R[x]=FINDSTR SR[y],SR[z]
SR[z] Wert mit SR[y]=’Wir suchen eine Zeichenfolge in dieser Zeichenfolge’ | R[x] Ergebnis |
---|---|
SR[z]=’wir’ | R[x]=1 |
SR[z]=’Zeichenfolge’ | R[x]=24 |
SR[z]=’sonstige’ | R[x]=0 |
SR[z]=’’ | R[x]=0 |
Wenn STRSUCH mit einem Argumentregister verwendet wird, wird für AR[x], dessen Datentyp keine Zeichenfolge ist, wird ein Alarm zum falschen Typ angezeigt.
Die SUBSTR-Anweisung eine Teilzeichenfolge der Zielzeichenfolge basierend auf dem angegebenen Startpunkt und der angegebenen Länge zurück.
Beispiel der Verwendung von SUBSTR:
Tabelle 32. SR[n]=SUBSTR SR[x],R[y],R[z]
R[y] und R[z] Werte mit SR[x]=’Diese Zeichenfolge wird beschädigt.’ | SR[x] Ergebnis |
---|---|
R[y]=1,R[z]=4 | SR[x]=’Diese’ |
R[y]=28,R[z]=5 | SR[x]=’beschädigt’ |
R[y]=8,R[z]=0 | SR[x]=’’ |
Bei einer der folgenden Bedingungen wird ein Überlaufalarm angezeigt:
Startpunkt ist kleiner als oder gleich Null
Länge ist kleiner als Null
Startpunkt ist größer als die Länge der Zielzeichenfolge
Startpunkt plus Länge ist größer als die Länge der Zielzeichenfolge
Wenn ein Argumentregister, AR[x], als Zielzeichenfolge verwendet wird, dessen Datentyp keine Zeichenfolge ist, wird ein Alarm zum falschen Typ angezeigt. Wenn ein Argumentregister, AR[x], als Startpunkt oder Länge verwendet wird, dessen Datentyp kein numerischer Typ ist, wird ein Alarm zum falschen Typ angezeigt.