Funktionsweise der Operation Realzahl in Zeichenkette wandeln
Die Operation Realzahl in Zeichenkette wandeln (RTS) wandelt eine
Realzahl IN in eine ASCII-Zeichenkette um. Das Format (FMT) gibt die
Umwandlungsgenauigkeit rechts von der Dezimalzahl an, es gibt an,
ob der Dezimalpunkt als Punkt oder als Komma dargestellt wird und
es gibt die Länge der ausgegebenen Zeichenkette an.
Das Ergebnis der Umwandlung wird in einer Zeichenkette mit Beginn
an OUT abgelegt. Die Länge der sich ergebenden Zeichenkette wird
im Format angegeben und kann 3 bis 15 Zeichen umfassen. Weitere
Informationen finden Sie in dem Abschnitt in Kapitel 4, der das Format
von Zeichenketten beschreibt.
Das von den S7-200 verwendete Realzahlenformat unterstützt maximal 7 signifikante Ziffern. Sollen mehr
als 7 signifikante Ziffern angezeigt werden, wird ein Rundungsfehler ausgegeben.
Bild 6-20 beschreibt den Formatoperanden der Operation Realzahl in Zeichenkette wandeln. Die Länge der
ausgegebenen Zeichenkette wird von dem Feld ssss angegeben. Die Größen 0, 1 oder 2 Bytes sind
ungültig. Die Anzahl der Ziffern rechts vom Dezimalpunkt im Ausgabepuffer wird vom Feld nnn angegeben.
Der gültige Bereich für das Feld nnn liegt zwischen 0 und 5. Werden 0 Ziffern rechts vom Dezimalpunkt
angegeben, wird der Wert ohne Dezimalpunkt angezeigt. Die ausgegebene Zeichenkette wird mit
ASCII-Leerzeichen belegt, wenn der Wert nnn größer als 5 ist oder wenn die angegebene Länge der
ausgegebenen Zeichenkette zu klein ist, um den umgewandelten Wert zu speichern. Das Bit c gibt an, ob
ein Komma (c = 1) oder ein Dezimalpunkt (c = 0) als Trennzeichen zwischen der ganzen Zahl und dem
Bruch verwendet werden soll.
Bild 6-20 zeigt auch Beispiele für Werte, die mit Dezimalpunkt (c = 0) mit einer Ziffer rechts vom
Dezimalpunkt (nnn = 001) und einer Länge der ausgegebenen Zeichenkette von 6 Zeichen (ssss = 0110)
formatiert wurden. Der Wert in OUT ist die Länge der Zeichenkette. Die ausgegebene Zeichenkette wird
entsprechend den folgenden Richtlinien formatiert:
Positive Werte werden ohne Vorzeichen in den Ausgabepuffer geschrieben.
-
Negative Werte werden mit einem Minuszeichen (-) vor dem Wert in den Ausgabepuffer geschrieben.
-
Führende Nullen links vom Dezimalpunkt (mit Ausnahme der Ziffer direkt neben dem Dezimalpunkt)
-
werden unterdrückt.
Der Wert rechts vom Dezimalpunkt wird gerundet, damit er der Anzahl der Ziffern entspricht, die
-
rechts vom Dezimalpunkt angegeben werden sollen.
Die Größe der ausgegebenen Zeichenkette muss mindestens drei Bytes mehr umfassen als die
-
Anzahl der Ziffern rechts vom Dezimalpunkt.
Die Werte werden rechtsbündig in der ausgegebenen Zeichenkette angeordnet.
-
FMT
MSB
LSB
7
6
5
4
3
2
1
0
s
s
s
s
c
n
n
n
ssss = Länge der ausgegebenen Zeichenkette
c = Komma (1) oder Dezimalpunkt (0)
nnn = Ziffern rechts vom Dezimalpunkt
Bild 6-20
Operand FMT der Operation Realzahl in Zeichenkette wandeln
S7-200 Befehlssatz
Fehlerbedingungen,
die ENO = 0 setzen
H 0006 (Indirekte Adresse)
H 0091 (Operand außerhalb des
Bereichs)
H Unzulässiges Format:
nnn > 5
ssss < 3
ssss < Anzahl der erforderlichen
Zeichen
OUT
OUT OUT OUT
+1
+2
IN = 1234.5
6
1
2
IN = -0.0004
6
6
IN = -3.67526
IN = 1.95
6
Kapitel 6
OUT
OUT
OUT
+3
+4
+5
+6
3
4
.
5
0
.
.
0
-
3
.
7
.
2
0
103
6