-> Hier kostenlos registrieren
Hallo Liebe Forum-User,
vor kurzem hatte ich mal ein Problem mit hochzählen gepostet was auf meiner jetzigen Funktion aufbaut. An dieser Stelle nochmal danke für den Einstieg!
So zu meinem Problem.
Folgenden Code verwende ich:
U #TAKT_DRE -> Taktmerker der das ganze in best. Takt ausführen soll
U #FRG_ANL -> Freigabebedingung
SPBNB end0 -> wenn nicht erfüllt springe zu end0
S #MER_ANLAUF -> Merker setzen damit ich weiß dass ich im Anlauf bin
L #SOLL_DRE -> im Folgenden die Mittelwertbildung
L #IST_DRE
+I
T #ZW_WERT_ANL
L #ZW_WERT_ANL
L 2
/I
T #IST_DRE -> wenn 999 erreicht ist soll weiter unten automatisch auf L #IST_DRE ->1000 gesetzt werden (könnte auch mit Runden gemacht L 999 -> werden)
==I
SPBNB end1
L 1000
T #IST_DRE
R #MER_ANLAUF
end0: NOP 0
end1: NOP 0
Damit soll ein Motorenanlauf über Mittelwertbildung simuliert werden. Grundsätzlich funktioniert diese Thematik wie ich es mir vorstelle, aber ich wollte diese Funktion in einen FB schrieben, weil ich sie öfter verwenden will. Nun habe ich das genauso reingeschrieben den FB parametriert und schön. Es funktioniert auch, aber ich habe das Gefühl bzw. es ist so dass es nicht mehr in dem Takt bzw. durch den Taktmerker zyklisch ausgeführt wird, sondern dass er alles sehr schnell hoch rechnet und die gewünschte 1000 erreicht.
Wieso funktioniert das mit dem Taktmerker über einen FB nicht mehr so ohne weiteres und wie kann man das Problem lösen?
Danke für eure Hilfe!
vor kurzem hatte ich mal ein Problem mit hochzählen gepostet was auf meiner jetzigen Funktion aufbaut. An dieser Stelle nochmal danke für den Einstieg!
So zu meinem Problem.
Folgenden Code verwende ich:
U #TAKT_DRE -> Taktmerker der das ganze in best. Takt ausführen soll
U #FRG_ANL -> Freigabebedingung
SPBNB end0 -> wenn nicht erfüllt springe zu end0
S #MER_ANLAUF -> Merker setzen damit ich weiß dass ich im Anlauf bin
L #SOLL_DRE -> im Folgenden die Mittelwertbildung
L #IST_DRE
+I
T #ZW_WERT_ANL
L #ZW_WERT_ANL
L 2
/I
T #IST_DRE -> wenn 999 erreicht ist soll weiter unten automatisch auf L #IST_DRE ->1000 gesetzt werden (könnte auch mit Runden gemacht L 999 -> werden)
==I
SPBNB end1
L 1000
T #IST_DRE
R #MER_ANLAUF
end0: NOP 0
end1: NOP 0
Damit soll ein Motorenanlauf über Mittelwertbildung simuliert werden. Grundsätzlich funktioniert diese Thematik wie ich es mir vorstelle, aber ich wollte diese Funktion in einen FB schrieben, weil ich sie öfter verwenden will. Nun habe ich das genauso reingeschrieben den FB parametriert und schön. Es funktioniert auch, aber ich habe das Gefühl bzw. es ist so dass es nicht mehr in dem Takt bzw. durch den Taktmerker zyklisch ausgeführt wird, sondern dass er alles sehr schnell hoch rechnet und die gewünschte 1000 erreicht.
Wieso funktioniert das mit dem Taktmerker über einen FB nicht mehr so ohne weiteres und wie kann man das Problem lösen?
Danke für eure Hilfe!