FB_CTRL_PWM_OUT

FB_CTRL_PWM_OUT 1:

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.

FB_CTRL_PWM_OUT 2:

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.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcControllerToolbox.lib

TwinCAT v2.9 ab Build 947

BC

TcControllerToolbox.lb6

TwinCAT v2.9 ab Build 956

BX

TcControllerToolbox.lbx