Ich habe eine SPS mit Anbindung an eine Datenbank.
Aus der DB muss ich Grenzwerte an die SPS übertragen. Diese stehen mir als Real-Datentyp (4Byte) zur Verfügung. Die Übertragung ist auch Problemlos. Es ist nur die Darstellung im Onlinemodus, die mir Sorgen bereitet.
Im Onlinemodus wird mir z.B. 1.537329e-034 angezeigt. Mit dieser Information kann ich leider nicht viel anfangen.
Lese ich diesen Datenpunkt erneut über einen OPC-Testclint aus, wird mir dieser auch korrekt als Kommazahl angezeigt (In diesem Beispiel 76,34601).
Das sagt mir, dass die Bitfolge stimmt und somit die Übertragung auch funktioniert.
Jetzt kommt der Hammer:
Gebe ich über Onlinechange einen dezimalen Wert ein, werden mir jetzt im OPC-Testclint diese Hieroglyphen dargestellt.
Meine Frage ist: Wann wird diese Expotentalform angezeigt?
Gibt es da unterschiedliche Real-Formate?
Ich hab da was von Mantisse und Vorzeichen gelesen.
Hat das irgendwas damit zu tun?
Und wie bekomme ich das Problem in denGriff?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich habe eine SPS mit Anbindung an eine Datenbank.
Aus der DB muss ich Grenzwerte an die SPS übertragen. Diese stehen mir als Real-Datentyp (4Byte) zur Verfügung. Die Übertragung ist auch Problemlos. Es ist nur die Darstellung im Onlinemodus, die mir Sorgen bereitet.
Im Onlinemodus wird mir z.B. 1.537329e-034 angezeigt. Mit dieser Information kann ich leider nicht viel anfangen.
Lese ich diesen Datenpunkt erneut über einen OPC-Testclint aus, wird mir dieser auch korrekt als Kommazahl angezeigt (In diesem Beispiel 76,34601).
Das sagt mir, dass die Bitfolge stimmt und somit die Übertragung auch funktioniert.
Jetzt kommt der Hammer:
Gebe ich über Onlinechange einen dezimalen Wert ein, werden mir jetzt im OPC-Testclint diese Hieroglyphen dargestellt.
Meine Frage ist: Wann wird diese Expotentalform angezeigt?
Gibt es da unterschiedliche Real-Formate?
Ich hab da was von Mantisse und Vorzeichen gelesen.
Hat das irgendwas damit zu tun?
Und wie bekomme ich das Problem in denGriff?
Originally created by: joohrte
Die Bitfolgen haben kein zusammenhang
Bitfolgen bei Codesys Zahlen in Real format
1.537329e-034 = 2#00000111 01001100 01011000 10011000
76,34601 = 2#01000010 10011000 10110001 00101000
Ein bischen haben die Bitfolgen schon miteinander etwas zu tun.
Sie sind um 1 Bit verschoben und erst ab der 8. Stelle von links identisch.
00000111010011000101100010010100
X01000010100110001011000100101000
Die obere Reihe stellt 1,537329e-34 dar
Die untere Reihe stellt 76,34601 dar
Offensichtlich gibt es bei Real-Zahlen unterschiedliche Verfahren, wie die Zahl im Speicher abgelegt wird.
Was kann ich tun, damit sich meine DB und die SPS verstehen?
Manchmal gehts doch auf einmal ganz schnell.
Der Fehler war eine Kennzeichnung im OPC-Server als IEEE-Standard.