codesys/wago rechnet nicht

eisenkoch

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
PROGRAM PLC_PRG
VAR
	temperatur_3: REAL;
END_VAR

Code:
temperatur_3:=100*2;

egal wie ich die simple Fomel 100*2 schreibe es kommt immer 0 raus...Was mach ich, als absoluter Anfänger falsch?
 

Anhänge

  • codesys1.png
    codesys1.png
    19,8 KB · Aufrufe: 30
Hallo, rechne doch mal mit REAL-Zahlen:
Code:
temperatur_3:=100[COLOR="Red"].0[/COLOR]*2[COLOR="red"].0[/COLOR];

Harald
 
Hast du nach dem Einloggen (Alt+F8 ) auch die Simulation gestartet (F5)?
Die Berechnung müsste auch ohne .0 funktionieren.

EDIT: zu langsam...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist einer der seltsamen Darstellungsfehler bei Codesys. Bei Twincat (v.2.10) ist das auch so.
Um die Dezimalpunkte muss man sich in ST nicht kümmern, dazu gibt es eine implizite Konvertierung.

Wenn man
Code:
temperatur_3:=100*2;
tempetatur_3:= 0;
schreibt, wird als Status hinter der ersten Zeile 0 angezeigt, warum auch immer. Das hat mich auch schon einige male sehr verwundert.

twincat-statusfehler.png
 
Ich könnte mir höchstens vorstellen, dass der Compiler so eine eigentlich sinnlose Zeile erkennt und den Code nicht übersetzt. Die Statusanzeige 0 ist dann aber sehr verwirrend. Da wäre eigentlich z.B. garkeine Anzeige sinnvoller.

Ob das hier auch der Fall ist kann man aber nur sagen, wenn der eisenkoch den folgenden Code auch noch zeigt.
 
Um das zu prüfen, kannst du ja mal eine weitere REAL-Variable z.B. realTest anlegen.
Wenn du direkt danach
Code:
realTest := temperatur_3;
schreibst, wird aller Wahrscheinlichkeit nach auch der Status mit dem Wert angezeigt.
 
Zurück
Oben