Hallo,
sorry aber wer Quatsch programmiert kriegt Quatsch raus. MD11-MD10 *grummel* Die überschneiden sich doch!
MfG
André Räppel
Programmbeschreibung:
Zwei Zeitpunkte werden mittel SFC64 ausgelesen(Doppelinteger) und voneinander subtrahiert ( t2-t1). Ergebnis ist korrekt.
Beim auslesen eines dritten Zeitpunkts (t3) und bei der Subtraktion (t3 -t2) kommt nur noch Quatsch raus d.h die ausgelesene Zahl t3 ist viel zu "hoch".
Programm:
U(
L #Schritt
L 2
==I
)
FP #M50
SPBNB 005
CALL "TIME_TCK"
RET_VAL:=MD10
005: NOP 0
U(
L #Schritt
L 3
==I
)
FP #M51
SPBNB 006
CALL "TIME_TCK"
RET_VAL:=MD20
006: NOP 0
Danach erfolgt die Subtraktion (MD20-MD10). Stimmt. Zu einem späteren Zeitpunkt im Programm erfolgt folgender Code.
Schrittkette 2
U(
L #Schritt_A
L 2
==I
)
FP #M53
SPBNB 00e
CALL "TIME_TCK"
RET_VAL:=MD11
00e: NOP 0
Das Ergebnis aus (MD11 - MD10) haut überhaupt nicht hin. Was stimmt an dieser Programmierweise nicht?. Und wer kann helfen. Im voraus Danke
Gruss Andi.
PS: Ich benutze den PLC-Simulator
Hallo,
sorry aber wer Quatsch programmiert kriegt Quatsch raus. MD11-MD10 *grummel* Die überschneiden sich doch!
MfG
André Räppel
Wenn er es auch nicht "wirklich" freundlich gesagt hat. Aber André hat recht.
Das MD10 beinhaltet MB10, MB11, MB12 und MB13
Und das MD11 beinhaltet MB11, MB12, MB13 und MB 14
Mach Dir nichts draus ist ein Anfängerfehler.
„If you open your Mind too much, your Brain will fall out.“
Erstmal Danke . Ich werde es gleich morgen ausprobieren.
Gruss Andi
das kann man aber wirklich netter sagen gg![]()
am besten Variablen tabelle nutzen da kann sowas schon meist vermieden werden
na aber das "sorry" stand schon vorneweg. Übrigens sollte man Doppelwörter schon durch 2 teilbar adressieren... ausser man macht es vorsätzlich so.
MfG
André Räppel
Lesezeichen