This commit is contained in:
2026-01-08 11:08:17 +01:00
commit fe882dc444
311 changed files with 511562 additions and 0 deletions

View 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>