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

No range

User units

No default

Any position of a modulo axis.

iModuloPosition

LREAL

No range

User units

No default

Modulo position of the axis.

iStartPos

LREAL

No range

User units

No default

Start position of PLS.

iEndPos

LREAL

No range

User units

No default

End position of PLS.

iDelayTime

TIME

0ms - 24hr

TIME

No default

Delay time for compensation.

iHysteresis

LREAL

No range

User units

No default

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;