Step 7 Addierer als Zähler läuft begrenzt bei 16777220

Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

ich habe einen fremden Baustein auseinander genommen weil aufgefallen ist, dass der Zähler irgendwann stehen geblieben ist.

Es wird hier mit einem Addierer für Realzahlen gearbeitet. Es wird immer eine 1 aufaddiert (Siehe screenshot). Der Zähler stoppt bei 16.777.220 . Das Realformat sollte doch aber Zahlen bis 2.147.483.648 speichern, oder sehe ich das falsch?

Problem Zähler.jpg
Besten Dank schon Mal

Matti
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei Real-Zahlen werden 24 Bit für die Mantisse und 8 Bit für den Exponenten benutzt. Bei der Addition müssen die Exponenten angeglichen werden, deshalb wird ab einem Größenverhältnis der beiden Summanden von mehr als 1:16777216 (1:2^24) nichts mehr addiert.
Von dem ursprünglichen Software-Schreiber war "Real" wohl eine blöde Wahl.
Gruß
Erich
 
Auf jeden Fall auf DINT umstellen, dann funktioniert das. Wenn das vom Wertebereich nicht reichen sollte, kann man bei Überlauf der DINT eine zweite DINT oder INT hochzählen.
Allerdings hat man da ein Problem, wenn man das dann in einem HMI darstellen möchte, das auch nicht mehr als ein volles DINT darstellen kann.
 
Super!!! Vielen Dank für die Erklärung!

Noch eine andere Frage dazu. Ich muss noch den Resetwert anpassen. Also wenn der maximale Dint Wert erreicht ist soll er zurückgesetzt werden. Der Dint Bereich ist jetzt ja groß genug.
Ich würde nun also 2.147.483.648 einsetzen. Die Zahl kann ich am Vergleicher im Format L#00000000 aber nicht eingeben. Hier sind nur 8 Stellen erlaubt. Warum ist das so und welche ist hier die höchste mögliche Zahl? Hatte eine hohe Zahl probiert und dann wurde es Minus... Da habe ich was noch nicht so ganz verstanden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der korrekte Wert ist: >= 2.147.483.647, der einfachste Weg wäre wahrscheinlich aber einfach der Vergleich auf < 0.
Wenn der Zähler bei 2.147.483.647 +1 zähle, dann ist der Wert danach -2.147.483.648.

Aber wenn es sich bei deinen Zähler wirklich um ganze Sekunden handelt, dann wäre das eine Dauerbetriebszeit von
68,... Jahren, sprich solange hält die Kiste, also speziell die SPS mit höchster Wahrscheinlichkeit sowieso nicht.
 
Zurück
Oben