Hallo zusammen
Ich steuere einen Motor an, welcher über Leistung geregelt ist. Der Bediener kann aber auch die Regelung ausschalten.
in diesem Fall werden die Drehzahlen der letzten Zeit ("mwTP_tMittelwert ") gespeichert und daraus ein Mittelwert (mwMittelwertDreh) gebildet, mit dieser der Motor in fester Drehzahl dreht.
Ich habe mich bereits ein bisschen informiert und habe es folgendermassen versucht:
Bin mir aber noch nicht ganz sicher ob das funktioniert. Es gibt zehn Erfassungen in einem Array, welche dann für den Mittelwert verwendet werden.
Danke für eure Hilfe.
Lieber Gruss
mayvve
Ich steuere einen Motor an, welcher über Leistung geregelt ist. Der Bediener kann aber auch die Regelung ausschalten.
in diesem Fall werden die Drehzahlen der letzten Zeit ("mwTP_tMittelwert ") gespeichert und daraus ein Mittelwert (mwMittelwertDreh) gebildet, mit dieser der Motor in fester Drehzahl dreht.
Ich habe mich bereits ein bisschen informiert und habe es folgendermassen versucht:
Code:
DataBuffer :ARRAY[0..9]OF INT;
Summe :INT;
IndexArray :INT;
tIntervall :INT;
(*Zeitabstand Mittelwertbildung Drehzahl*)
tIntervall := mwTP_tMittelwert / 10;
(*Mittelwertbildung Drehzahl*)
TON_1(IN := NOT TON_1.Q, PT := tIntervall);
IF mwTP_SzDosier = 400 THEN
FOR IndexArray := 0 TO 9 DO
DataBuffer [IndexArray] := aeStromUewFU;
END_FOR
END_IF
IF TON_1.Q THEN
Summe := 0;
FOR IndexArray := 9 TO 1 BY -1 DO
DataBuffer [IndexArray] := DataBuffer [IndexArray -1];
Summe := Summe + DataBuffer [IndexArray];
END_FOR
mwMittelwertDreh := (Summe / 10);
END_IF
Danke für eure Hilfe.
Lieber Gruss
mayvve