Initial
This commit is contained in:
83
PLC/6 Aligner/POUs/ALIGNER_IO_FB.TcPOU
Normal file
83
PLC/6 Aligner/POUs/ALIGNER_IO_FB.TcPOU
Normal file
@@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.12">
|
||||
<POU Name="ALIGNER_IO_FB" Id="{617e5ee2-ae00-42c0-8de6-a2292df23fc7}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK ALIGNER_IO_FB EXTENDS Station_GENERAL_IO_FB
|
||||
VAR_OUTPUT
|
||||
rInDiameter : LREAL; //mm
|
||||
rInRoundness : LREAL; //mm
|
||||
|
||||
rInX_Coordinates : LREAL; //mm
|
||||
rInY_Coordinates : LREAL; //mm
|
||||
END_VAR
|
||||
VAR
|
||||
KeyenceSensor AT %I* : ARRAY[0..3] OF UDINT;
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
END_VAR
|
||||
VAR_INPUT
|
||||
ChuckVacuum : PneumaticCylinder_FB;
|
||||
END_VAR
|
||||
|
||||
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//LedCylinder();
|
||||
ChuckVacuum();
|
||||
ChuckVacuum.bInDown := NOT ChuckVacuum.bInUp;
|
||||
rInDiameter := KeyenceSensor[0];
|
||||
rInDiameter := rInDiameter*2;
|
||||
rInDiameter := rInDiameter /1000;
|
||||
|
||||
|
||||
rInRoundness := KeyenceSensor[1];
|
||||
rInRoundness := rInRoundness/1000;
|
||||
|
||||
|
||||
rInX_Coordinates := UDINT_TO_DINT(KeyenceSensor[2]);
|
||||
rInX_Coordinates := rInX_Coordinates /1000;
|
||||
|
||||
|
||||
rInY_Coordinates := UDINT_TO_DINT(KeyenceSensor[3]);
|
||||
rInY_Coordinates := rInY_Coordinates /1000;
|
||||
|
||||
IF ROBOT_MAIN.TargetStation = iStation THEN
|
||||
CASE CMD[RobotStation] OF
|
||||
GetCMD:
|
||||
IF ROBOT_MAIN.RobotControl.bInPartOnSucker[ROBOT_MAIN.TargetPuddle] THEN
|
||||
ChuckVacuum.Down(TRUE);
|
||||
END_IF
|
||||
PutCMD:
|
||||
IF NOT ROBOT_MAIN.RobotControl.bInPartOnSucker[ROBOT_MAIN.TargetPuddle] THEN
|
||||
ChuckVacuum.Up(TRUE);
|
||||
END_IF
|
||||
ChangeCMD:
|
||||
IF SpinnerVacOff THEN
|
||||
ChuckVacuum.Down(TRUE);
|
||||
END_IF
|
||||
|
||||
IF SpinnerVacOn THEN
|
||||
ChuckVacuum.Up(TRUE);
|
||||
END_IF
|
||||
END_CASE
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="Initialization" Id="{a871eb65-cceb-4b85-87c8-1d7073b58215}">
|
||||
<Declaration><![CDATA[METHOD Initialization
|
||||
VAR_INPUT
|
||||
iStation : INT;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[InitializationExt(iStation);
|
||||
|
||||
ChuckVacuum.Initialization(
|
||||
iStation,
|
||||
eAlignerMedienNamen.ChuckVacuumOn,
|
||||
eAlignerMedienNamen.ChuckVacuumOff,
|
||||
SPINNER_ErrorNr.eChuckVacuumOn,
|
||||
Peripherie_GVL.ServiceNameChuckVacuumOn,
|
||||
Peripherie_GVL.ServiceNameChuckVacuumOff
|
||||
);]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
Reference in New Issue
Block a user