FB_AxisPlsPosModulo

PLCopen motion icon Pipe Network motion icon

 Function Block - Used for any position of a modulo axis in both directions.

Inputs

Input

Data Type

Range

Unit

Default

Description

ibExecute

BOOL

FALSE, TRUE

N/A

No default

Enable PLS.

iPosition

LREAL

 

 

 

Any position of a modulo axis.

iModuloPosition

LREAL

 

 

 

Modulo position of the axis.

iStartPos

LREAL

 

 

 

Start position of PLS.

iEndPos

LREAL

 

 

 

End position of PLS.

iDelayTime

TIME

 

 

 

Delay time for compensation.

iHysteresis

LREAL

 

 

 

Hysteresis.

ibForce

BOOL

FALSE, TRUE

N/A

No default

Force PLS.

Outputs

Output

Data Type

Range

Unit

Description

oPLS

BOOL

FALSE, TRUE

N/A

Position limit switch.

Remarks

  • The Boolean output oPLS is set to:
    • TRUE if the position has crossed the start position.
    • FALSE if the position has crossed the end position.
  • The function block is executed cyclically.
    • The function block has the possibility to compensate a delay time of the connected device (e.g., glue nozzles).
  • It is possible to define a hysteresis for switching on and off of the PLS.

Timing

Hysteresis

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

//PLSOutput is True when position input 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_FB_AxisPlsPosModulo( EnablePLS, ActualPosition, ModuloPosition, 180, 270, T#2ms, 3, ForcePLS );

PLSOutput := Inst_FB_AxisPlsPosModulo.oPLS;