-> Hier kostenlos registrieren
Hallo zusammen.
Ich erhalte von einem RS232-Messgerät einen STRING und möchte diesen in einen LREAL konvertieren. Es könnte vorkommen, dass in diesen String zb ein Buchstabe gerät. Die Funktion liefert dann aber leider trotzdem einen Wert zurück nämlich 0. Diesen Fehler muss ich irgendwie abfangen. Hat jemand eine Idee wie ich das machen könnte? Den String vorher evtl mit anderen Funktionen auf Richtigkeit überprpüfen zB? Aber Wie???
Hab beim googeln herrausgefunden, dass bei Simatic in solchen Fällen ein Fehlerbit gesetzt wird. Aber ist das bei TwinCat auch der Fall?
https://www.sps-forum.de/showthread.php/25927-Errorhandling-für-quot-STRING_TO_INT-quot
im Idealfall sieht der STRING den ich erhalte so aus:
+1.20315000E+02<CR>
Darauf wende ich folgenden Code an:
lr_ValueT2210:= STRING_TO_LREAL(LEFT(DataTransmissionT2210.s_ReceivedString,15));
mfg
Eike
Ich erhalte von einem RS232-Messgerät einen STRING und möchte diesen in einen LREAL konvertieren. Es könnte vorkommen, dass in diesen String zb ein Buchstabe gerät. Die Funktion liefert dann aber leider trotzdem einen Wert zurück nämlich 0. Diesen Fehler muss ich irgendwie abfangen. Hat jemand eine Idee wie ich das machen könnte? Den String vorher evtl mit anderen Funktionen auf Richtigkeit überprpüfen zB? Aber Wie???
Hab beim googeln herrausgefunden, dass bei Simatic in solchen Fällen ein Fehlerbit gesetzt wird. Aber ist das bei TwinCat auch der Fall?
https://www.sps-forum.de/showthread.php/25927-Errorhandling-für-quot-STRING_TO_INT-quot
im Idealfall sieht der STRING den ich erhalte so aus:
+1.20315000E+02<CR>
Darauf wende ich folgenden Code an:
lr_ValueT2210:= STRING_TO_LREAL(LEFT(DataTransmissionT2210.s_ReceivedString,15));
mfg
Eike