FB_CTRL_SIGNAL_GENERATOR
The function block provides a signal generator offering triangular, sine and sawtooth signal forms.
Output signals:
![FB_CTRL_SIGNAL_GENERATOR 2:](Images/gif/11283641483__Web.gif)
VAR_INPUT
VAR_INPUT
fManValue : FLOAT;
eMode : E_CTRL_MODE;
END_VAR
fManValue : Input whose value is present at the output in manual mode.
eMode : Input that specifies the block's operating mode.
VAR_OUTPUT
VAR_OUTPUT
fOut : FLOAT;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
fOut : Output of the signal generator.
eState : State of the function block.
eErrorId : Supplies the error number when the bError output is set.
bError : Becomes TRUE, as soon as an error occurs.
VAR_IN_OUT
VAR_IN_OUT
stParams : ST_CTRL_SIGNAL_GENERATOR_PARAMS;
END_VAR
stParams : Parameter structure of the function block. This consists of the following elements:
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 : Cycle time with which the control loop is processed. This must be greater than or equal to the TaskCycleTime. The function block uses this input value to calculate internally whether the state and the output values have to be updated in the current cycle.
tTaskCycleTime: Cycle time with which the function block is called. If the function block is called in every cycle this corresponds to the task cycle time of the calling task.
eSignalType : Selection of the signal form. See E_CTRL_SIGNAL_TYPE below.
TYPE
E_CTRL_SIGNAL_TYPE :
(
eCTRL_TRIANGLE := 0,
eCTRL_SINUS := 1,
eCTRL_SAWTOOTH := 2
);
END_TYPE
tCycleDuration : Period of the generated signal curve.
fAmplitude : Amplitude of the generated signal curve.
fOffset : Offset to be added to the signal curve.
tStart : Point in time within a period at which the signal curve starts when switching to eCTRL_MODE_ACTIVE.