FB_CylinderThis function block can be used to control a cylinder and the Limit Switches.
There are two inputs InA and InB to set the direction of the movement and the belonging LimSwitches LsA and LsB.
If InA is set to TRUE the output DirA is set to TRUE and after a time value defined by CtrlTime the LsA has to become TRUE otherwise a fault FaultLsA appears. Just as in direction B.
If both LsA and LsB are TRUE then a Fault depending of the output is set. If both InA and InB are given (e.g. to stop the cylinder movement) no limit switch is controlled.
All faults can be reset by input iResetFault.
|
iInA |
Description |
Set direction A |
|
Data type |
BOOL |
|
|
iInB |
Description |
Set direction B |
|
Data type |
BOOL |
|
|
iLsA |
Description |
Limit Switch at End of direction A |
|
Data type |
BOOL |
|
|
iLsB |
Description |
Limit Switch at End of direction B |
|
Data type |
BOOL |
|
|
iCtrlTime |
Description |
Max Time till Lim.Sw. has to be reached |
|
Data type |
TIME |
|
|
iResetFault |
Description |
ResetNew start of the microprocessor Fault (Is set to FALSE by 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!) |
|
Data type |
BOOL |
|
oDirA |
Description |
Direction A |
|
Data type |
BOOL |
|
|
oDirB |
Description |
Direction B |
|
Data type |
BOOL |
|
|
oFaultLsA |
Description |
Fault of Lim.Sw. at End direction A |
|
Data type |
BOOL |
|
|
oFaultLsB |
Description |
Fault of Lim.Sw. at End direction B |
|
Data type |
BOOL |
The signal flow is valid for both directions (A and B)
If oDirA AND oDirB are active there is no Fault Control.
The Fault can be reset by iRestFault = True.
//Electric Cylinder with limit switch controls
Inst_FB_Cylinder( dirA, dirB, LimitSwitchA, LimitSwitchB, CtrlTime, ResetFault );
A := Inst_FB_Cylinder.oDirA;
B := Inst_FB_Cylinder.oDirB;
FaultLimitSwitchA := Inst_FB_Cylinder.oFaultLsA;
FaultLimitSwitchB := Inst_FB_Cylinder.oFaultLsB;
|
Copyright © 2015 Kollmorgen™ |
|