Geisterkarle
Level-2
- Beiträge
- 135
- Reaktionspunkte
- 9
-> Hier kostenlos registrieren
Hallo zusammen,
habe grade ein merkwürdiges Phänomen. Weiß nicht ob das ein Bug ist oder mir das wer erklären kann.
Ich PLC-SIMe gerade in TIA V19 und möchte eine REAL-Zahl in einen String umwandeln. Nutze dafür VAL_STRG.
Das sieht so aus:
Wenn ich da jetzt (z.B.) als rZahl := 0.3 eingebe kommt als sErg = '0.300'
Alles gut.
Nun ist mir aufgefallen, wenn ich dieses hier mache:
dann steht in sErg plötzlich '+3.000000E-1'
???
VAL_STRG scheint es nicht mehr zu schaffen, sTmp zu "überschreiben"! Dabei kommt die Funktion im Programm ja nach dem REAL_TO_STRING. Wüsste nicht, dass das "asynchron" ist und mehrere Zyklen braucht und dadurch irgendwas schief geht.
Natürlich kann ich das "Problem" lösen, aber wollte mal wissen, ob irgendwer ne Idee hat, warum das überhaupt passiert!? Oder sollte es da gar nicht!?
grüße
habe grade ein merkwürdiges Phänomen. Weiß nicht ob das ein Bug ist oder mir das wer erklären kann.
Ich PLC-SIMe gerade in TIA V19 und möchte eine REAL-Zahl in einen String umwandeln. Nutze dafür VAL_STRG.
Das sieht so aus:
Code:
rZahl - REAL
sErg - String
sTmp - String
----------
sErg := '';
VAL_STRG(IN:=rZahl,
SIZE:=0,
PREC:=3,
FORMAT:=0,
P:=1,
OUT=>sTmp);
sErg := sTmp;
Alles gut.
Nun ist mir aufgefallen, wenn ich dieses hier mache:
Code:
sErg := '';
sTmp := REAL_TO_STRING(rZahl);
VAL_STRG(IN:=rZahl,
SIZE:=0,
PREC:=3,
FORMAT:=0,
P:=1,
OUT=>sTmp);
sErg := sTmp;
???
VAL_STRG scheint es nicht mehr zu schaffen, sTmp zu "überschreiben"! Dabei kommt die Funktion im Programm ja nach dem REAL_TO_STRING. Wüsste nicht, dass das "asynchron" ist und mehrere Zyklen braucht und dadurch irgendwas schief geht.
Natürlich kann ich das "Problem" lösen, aber wollte mal wissen, ob irgendwer ne Idee hat, warum das überhaupt passiert!? Oder sollte es da gar nicht!?
grüße