FB_CTRL_SIGNAL_GENERATOR
Der Funktionsbaustein stellt einen Signalgenerator mit den Signalformen Dreieck, Sinus und Sägezahn dar.
Ausgangssignale:
VAR_INPUT
VAR_INPUT
fManValue : FLOAT;
eMode : E_CTRL_MODE;
END_VAR
fManValue : Eingang, dessen Wert im Manual-Mode am Ausgang anliegt.
eMode : Eingang, der die Betriebsart des Bausteins festlegt.
VAR_OUTPUT
VAR_OUTPUT
fOut : FLOAT;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
fOut : Ausgang des Signalgenerators.
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_SIGNAL_GENERATOR_PARAMS;
END_VAR
stParams : Parameterstruktur des Funktionsbausteins. Diese besteht aus den folgenden Elementen:
TYPE ST_CTRL_I_PARAMS
:
STRUCT
tCtrlCycleTime : TIME := T#0ms; (* controller cycle time
*)
tTaskCycleTime : TIME := T#0ms; (* task cycle time
*)
eSignalType : E_CTRL_SIGNAL_TYPE;
tCylceDuration : TIME;
fAmplitude : FLOAT;
fOffset : FLOAT := 0.0;
tStart : TIME := T#0s;
END_STRUCT
END_TYPE
tCtrlCycleTime : Zykluszeit, mit der der Regelkreis bearbeitet wird. Diese muss größer oder gleich der TaskCycleTime sein. Der Funktionsbaustein berechnet mit dieser Eingangsgröße intern, ob die Zustands- und Ausgangsgrößen im aktuellen Zyklus aktualisiert werden müssen.
tTaskCycleTime : Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird.
eSignalType : Anwahl der Signalform. Siehe E_CTRL_SIGNAL_TYPE unten.
TYPE
E_CTRL_SIGNAL_TYPE :
(
eCTRL_TRIANGLE := 0,
eCTRL_SINUS := 1,
eCTRL_SAWTOOTH := 2
);
END_TYPE
tCycleDuration : Periodendauer des erzeugten Signalverlaufs.
fAmplitude : Amplitude erzeugten Signalverlaufs.
fOffset : Offset, der auf den Signalverlauf addiert wird.
tStart : Zeitpunkt innerhalb einer Periode, bei dem der Signalverlauf startet, wenn in den eCTRL_MODE_ACTIVE geschaltet wird.