FB_CTRL_PWM_OUT
Dieser Baustein erzeugt aus dem Eingangssignal ein PWM-moduliertes Signal.
Beschreibung des Ausgangsverhaltens:
Dieser Baustein erzeugt an den Ausgängen ein PWM Signal mit einem Puls-Pausen-Verhältnis, welches dem Eingang fPwmInput entspricht. Das Puls-Pausen-Verhältnis wird am Eingang in % angegeben, wobei ein Wertebereich von -100% bis 100% zur Verfügung steht. Wenn ein positiver Wert angegeben wird, wird das PM-modulierte Signal an dem Ausgang bPwmOutBitPos ausgegeben. Bei einem negativ vorgegebenen Puls-Pausenverhältnis wird es an dem Ausgang bPwmOutBitNeg ausgegeben. Mit diesen zwei Signalen besteht somit die Möglichkeit, vorzeichenabhängig zwei Stellglieder anzusteuern.
Mit dem Parameter bInstantPWMUpdate = TRUE kann eine instantane Übernahme einer neuen Eingangsgröße aktiviert werden. D.h., der neue Eingangswert wird sofort im aktuellen PWM-Zyklus wirksam. Wenn dieser Parameter FALSE ist, erfolgt eine Übernahme der Eingangsgröße erst zu Beginn eines neuen PWM-Zyklusses.
VAR_INPUT
VAR_INPUT
fPwmInput : FLOAT; (* controller output = PMW input [-100.0 ... 100.0] *)
eMode : E_CTRL_MODE;
END_VAR
fPwmInput : Eingangsgröße.
eMode : Eingang, der die Betriebsart des Bausteins festlegt.
VAR_OUTPUT
VAR_OUTPUT
bPwmOutBitPos : BOOL; (* PWM output bit *)
bPwmOutBitNeg : BOOL; (* PWM output bit *)
eState : E_CTRL_STATE;
bError : BOOL;
eErrorId : E_CTRL_ERRORCODES;
END_VAR
bPwmOutBitPos : PWM-Signal, wenn fPwmInput > 0.0 ist.
bPwmOutBitNeg : PWM-Signal, wenn fPwmInput < 0.0 ist.
eState : State des Funktionsbausteins.
eErrorId : Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.
bError : Wird TRUE, sobald ein Fehler eintritt.
VAR_IN_OUT
VAR_IN_OUT
stParams : ST_CTRL_PWM_OUT_PARAMS;
END_VAR
stParams : Parameterstruktur des PWM-Glieds. Diese besteht aus den folgenden Elementen:
TYPE
ST_CTRL_PWM_OUT_PARAMS:
STRUCT
tTaskCycleTime : TIME (* task cycle time
[TIME] *)
tPWMPeriod : TIME; (* PWM period
duration [TIME] *)
bInstantPWMUpdate : BOOL;
END_STRUCT
END_TYPE
tTaskCycleTime : Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird.
tPWMPeriod : Periodendauer des PWM-Signals.
bInstantPWMUpdate : Wenn dieses Flag TRUE ist, wird eine neue Eingangsgröße sofort im aktuellen PWM-Zyklus übernommen.