MLFB_PlsPosFwBw
Description
This function block can be used in the command or actual position path, e.g. sampler pipe with noisy position, in both directions. Any modulo pipe block is needed, which can also be used for another instance of this UDFB"User Defined Function Block" UDFB can be used as a sub-function block in another program of the application. It is described using FBD, LD, ST or IL language. Input / output parameters of a UDFB (as well as private variables) are declared in the variable editor as local variables of the UDFB. The Boolean output oPLS is set to TRUE if the position of the comparator has crossed the start position and is set to FALSE if the position has crossed the end position. The function block is executed cyclically. The modulo position is considered. The function block has the possibility to compensate a delay time of the connected device, e .g. glue nozzles. It is also possible to define a hysteresis for switching on and off of the PLS.
Arguments
Input
ibExecute |
Description |
Enable PLS |
Data type |
BOOL |
iAnyModuloBlkID |
Description |
Any modulo pipe network block ID |
Data type |
DINT |
iStartPos |
Description |
Start position of PLS |
Data type |
LREAL |
iEndPos |
Description |
End position of PLS |
Data type |
LREAL |
iDelayTime |
Description |
Delay time for compensation |
Data type |
TIME |
iHysteresis |
Description |
Hysteresis |
Data type |
LREAL |
ibForce |
Description |
Force PLS |
Data type |
BOOL |
Output
oPLS |
Description |
Position limit switch |
Data type |
BOOL |
Example
Timing
Hysteresis
ST
//PLSOutput is True when chosen comparator is between 180 and 270 with a T#2ms delay
//Can also force the output to be true with ForceOuput variable
//Hysteresis is on for 3 user units in case direction changes around start point
Inst_MLFB_PlsPosFwBw( EnablePLS, PipeNetwork.COMPARATOR, 180, 270, T#2ms, 3, ForceOutput );
PLSOutput := Inst_MLFB_PlsPosFwBW.oPLS;
FBD
FFLD