Problem mit Rechenoperation

-ASDF-

Level-1
Beiträge
235
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Sers Forum

Mein Problem:
Das Programm wird bis zu einem bestimmten Moment ausgeführt, doch dann werden die Rechenoperationen nicht mehr bearbeitet... Warum?
PLCSIM bleibt weiterhin auf RUN.

Hier das Prog:

asdf.jpg
 

Anhänge

  • 15312.jpg
    15312.jpg
    97,4 KB · Aufrufe: 3
Zuletzt bearbeitet von einem Moderator:
Sers Forum

Mein Problem:
Das Programm wird bis zu einem bestimmten Moment ausgeführt, doch dann werden die Rechenoperationen nicht mehr bearbeitet... Warum?
PLCSIM bleibt weiterhin auf RUN.

Hier das Prog:

Anhang anzeigen 15312

und welche operation wird jetzt nicht ausgeführt?

1720000 + 0,035 ?

= 1720000,035

in einer sinnvollen exponentialdarstellung? 1,720 * 10^6
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich hab angefangen bei 0.0 + 0.035 und das mit jedem Zyklus (0.035 + 0.035 + 0.035etc... naja das siehst du ja selber) aber jetzt fürht er nichts mehr aus also Akku 1 und 2 ändern sich nicht mehr.
 
Hallo,
eine Real-Zahl wird immer zur einer Exponential-Darstellung mit einer Vorkommastelle und 6 Nachkommastellen umgebastelt. Solange du deine Zahl so darstellen kannst ist alles gut. Danach fängt er an die überzähligen Nachkommastellen zu ignorieren - bildlich gesprochen.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja aber wenn ich das wie folgt programmier müsste der Wert doch trotzdem weiterhin von 0-100 und wieder 100-0 zählen... tut er aber nicht.

L #In
COS
L 5.000000e+001
*R
L 5.000000e+001
+R
RND
T #Out


und mit wert zwischen speichern gehts scheinbar auch nicht.
 
Es ist nicht möglich was du vorhast.

Ein 32-bit REAL besteht von ein Mantissa und ein Exponent.
Die Mantissa hat nur 7 Dezimalen:

-3.402 823E+38 to -1.175 495E-38 ... 0 ... +1.175 495E-38 to +3.402 823E+38
 
Ja da hast du Recht aber das ding ist das er nicht mal in die Nähe davon kommt sondern davor "nicht mehr weiter rechnet"
 
Ach ich hab einfach nur ein bisschen mit dieser "Kreisenden Zahl" (0-100-0) COS *50 +50 gespielt und da ist mir dies eben aufgefallen.

Da ich Azubi bin und es ja meine Pflicht ist was zu lernen wollte ich eben mal genauer nachschuen woran das liegt... aber leider bin ich von selber nicht auf die Lösung gekommen -> Forum :)
 
Aber viele dank ich habe das jetzt glaub ich verstanden :D

Also wenn die Zahl vor dem komma zu groß wird (6 Stellen) Rundet dieCPU und da nach dem komma dann ja was kleineres als ,5 steht und ich nur mit 0,035 addier rundet er wieder und wieder auf ,0 ab und die Zahl verädnert sich nicht.

Würde ich jetzt mit ,5 addieren würde die CPU weiter addieren.

Richtig so ? :)
 
Zurück
Oben