18.03.2009 12:43 | |
Beigetreten: 05.04.2006 Letzter Bes: 13.08.2023 Beiträge: 642 Bewertung: (131) |
Hallo, du musst an deiner Berechnung etwas ändern. Schau dir mal das Datenformat S5Time an. Du solltest du dir die Zeitbasis (Bit 12-15)sichern. In deinem Fall ist die 0000 -> 0,01 Sekunden. Deswegen steht bei dir ein Hexwert von 300 -> 300 * 0,01 Sekunden.Dann musst den Zeitwert (Bit 0-11) erstmal von BCD in INT wandeln eh du damit rechnen kannst. Das Ergebnis musst du wieder von BCD in Integer wandeln und die Zeitbasis wieder zum Ergebnis. Ich würde die Funktion in einen FC kapseln. MfG
André Räppel --------------------------------------------------------------------------------- www.raeppel.de mit innovativen SPS-Tools schneller ans Ziel |
18.03.2009 13:12 | |
Beigetreten: 05.04.2006 Letzter Bes: 13.08.2023 Beiträge: 642 Bewertung: (131) |
Hallo Frank, MfG
André Räppel --------------------------------------------------------------------------------- www.raeppel.de mit innovativen SPS-Tools schneller ans Ziel |
Für diesen Beitrag bedanken sich1 Benutzer |
22.03.2009 12:14 | |
Beigetreten: 05.04.2006 Letzter Bes: 13.08.2023 Beiträge: 642 Bewertung: (131) |
Hallo Frank, auch wenn du den Zeitwert in eine INT transferierst bleibt es trotzdem noch BCD!! Es ist nur ein MOVE-Befehl, keine Umwandlung. Und da es keinen Befehl für BCD-Subtraktion gibt funktioniert das so nicht. MfG
André Räppel --------------------------------------------------------------------------------- www.raeppel.de mit innovativen SPS-Tools schneller ans Ziel |
Folgen Sie uns auf