Industry Online Support
Technical Forum
15.08.2014 15:22 | |
Beigetreten: 03.03.2011 Letzter Bes: 25.03.2022 Beiträge: 21 Bewertung: (0) |
Hallo zusammen, zum Wochenende habe ich noch ein Denksportaufgabe, bei der ich etwas Hilfe benötige... Für eine Schrittkette würde ich gerne die Schrittmeldungen in einem DWORD berechnen und in einem DB setzen. D.h. 2^Schrittnummer. Die hierzu notwendige Funktion x^y findet sich in der fogenden Siemens FAQ: http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=24621073&load=treecontent&lang=de&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=WW Das ganze funktioniert auch recht gut, bis auf die 2^21 (Schritt 21) hier scheint es Rundungsfehler zu geben. Siehe Anhang. In der Excel Tabelle wird der Wert richtig berechnet: Dezimal = 2097152 => Binär => 0000 0000 0010 0000 0000 0000 0000 0000 Bei meiner Berechnung bekomme ich das Ergebnis: Dezimal = 2097153 => Binär => 0000 0000 0010 0000 0000 0000 0000 0001 Die Genauigkeit bei der Berechnung in SCL/AWL habe ich unte folgendem Link gefunden: http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&objId=22172161&load=treecontent&lang=de&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=WW Allerdings hilft mir diese Info auch nicht so richtig weiter. Stand jemand schonmal vor einem ähnlichen Problem? Bzw. könnte mir bitte jemand weiterhelfen? Ggf. würde mir auch weiterhelfen, wenn ich in der Onlineansicht (AWL) mehr als drei nachkommastellen anzeigen könnte, damit ich weiß was meine Berechnung so treibt... Vielen Dank, ThWe P.S. Bitte fragt nicht, warum wir keine Schrittketten einsetzen - das ist neumodisches Teufelswerk! P.P.S Ein Lösungsansatz währe das Ganze nur BYTE-weise zu berechnen, ist auch aber irgendwie unschön... DateianhangStep7 x_hoch_y.pdf (71 Downloads) |
18.08.2014 08:46 | |
Beigetreten: 03.03.2011 Letzter Bes: 25.03.2022 Beiträge: 21 Bewertung: (0) |
Hallo Michael, vielen Dank, werde ich mir mal anschauen! Gruß Thorsten |
Folgen Sie uns auf