Initial
This commit is contained in:
1774
PLC/9 Robot/POUs/KUKA/KUKA_ROBOT_FB.TcPOU
Normal file
1774
PLC/9 Robot/POUs/KUKA/KUKA_ROBOT_FB.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
15
PLC/9 Robot/POUs/KUKA/sConfigKUKA.TcDUT
Normal file
15
PLC/9 Robot/POUs/KUKA/sConfigKUKA.TcDUT
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
|
||||
<DUT Name="sConfigKUKA" Id="{9f003c15-5e04-4639-bd83-944a7103d2ee}">
|
||||
<Declaration><![CDATA[TYPE sConfigKUKA :
|
||||
STRUCT
|
||||
StationsGetJob : ARRAY[FirstCassette..LastRelaxStation] OF USINT;
|
||||
StationsPutJob : ARRAY[FirstCassette..LastRelaxStation] OF USINT;
|
||||
StationsMTRJob : ARRAY[FirstCassette..LastRelaxStation] OF USINT;
|
||||
StationsCoordinate : ARRAY[FirstCassette..LastRelaxStation] OF ARRAY[0..2] OF LREAL;
|
||||
TrayTeachPositions : ARRAY [1..MaxNumberOfSizes] OF ARRAY[1..MaxNumberOfSubstratesPerTray] OF sPoint;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
17
PLC/9 Robot/POUs/KUKA/sStationsTrayScan.TcDUT
Normal file
17
PLC/9 Robot/POUs/KUKA/sStationsTrayScan.TcDUT
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
|
||||
<DUT Name="sStationsTrayScan" Id="{56dee3d3-54f7-472b-9226-086bd125d193}">
|
||||
<Declaration><![CDATA[TYPE sStationsTrayScan :
|
||||
STRUCT
|
||||
MaxNumber : SINT;
|
||||
SizeName : STRING;
|
||||
Thickness : LREAL;
|
||||
HeightAtTray : LREAL;
|
||||
GripperSize : USINT(1..3) := 1;
|
||||
PositionAtHVHot : ARRAY[0..1] OF LREAL;
|
||||
PositionAtHVCold : ARRAY[0..1] OF LREAL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
23
PLC/9 Robot/POUs/KUKA/sSubstrateInformation.TcDUT
Normal file
23
PLC/9 Robot/POUs/KUKA/sSubstrateInformation.TcDUT
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.13">
|
||||
<DUT Name="sSubstrateInformation" Id="{481f4221-b035-4507-ad02-6da1ed17a4f9}">
|
||||
<Declaration><![CDATA[TYPE sSubstrateInformation :
|
||||
STRUCT
|
||||
MaxNumber : SINT;
|
||||
SizeName : STRING;
|
||||
Thickness : LREAL;
|
||||
HeightAtTray : LREAL;
|
||||
GripperSize : ePaddleSize;
|
||||
|
||||
Diameter : LREAL;
|
||||
DiameterTolerance : LREAL;
|
||||
|
||||
VisuIndex : INT;
|
||||
|
||||
PositionAtHVHot : ARRAY[0..1] OF LREAL;
|
||||
PositionAtHVCold : ARRAY[0..1] OF LREAL;
|
||||
END_STRUCT
|
||||
END_TYPE
|
||||
]]></Declaration>
|
||||
</DUT>
|
||||
</TcPlcObject>
|
||||
125
PLC/9 Robot/POUs/ROBOT_IO_FB.TcPOU
Normal file
125
PLC/9 Robot/POUs/ROBOT_IO_FB.TcPOU
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4026.11">
|
||||
<POU Name="ROBOT_IO_FB" Id="{cd7e78dc-a32d-482a-a280-e4c1d405bdfd}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[FUNCTION_BLOCK ROBOT_IO_FB EXTENDS Station_GENERAL_IO_FB
|
||||
VAR
|
||||
DoorLock : Lock_FB;
|
||||
Step : INT;
|
||||
END_VAR
|
||||
VAR_INPUT
|
||||
bOutAllDoorUnlock : BOOL;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
bInDoorLocked : ARRAY[1..3] OF BOOL;
|
||||
bInMainDoorUnlock AT %I* : BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[MediaCheck();
|
||||
|
||||
DoorLock();
|
||||
|
||||
IF bInMainDoorUnlock THEN
|
||||
DoorLocK.UnLock();
|
||||
END_IF
|
||||
|
||||
MediaCheck();
|
||||
|
||||
AllDoorAreLocked := TRUE;
|
||||
FOR i := 1 TO 4 DO
|
||||
IF NOT DoorLock.bInLocked OR NOT DoorLock.bOutLock THEN
|
||||
AllDoorAreLocked := FALSE;
|
||||
END_IF
|
||||
END_FOR
|
||||
|
||||
CASE Step OF
|
||||
0:
|
||||
IF bOutAllDoorUnlock THEN
|
||||
Step := 10;
|
||||
END_IF
|
||||
10:
|
||||
DoorLock.UnLock();
|
||||
Step := 20;
|
||||
20:
|
||||
IF NOT bOutAllDoorUnlock THEN
|
||||
Step := 30;
|
||||
END_IF
|
||||
|
||||
IF AllDoorAreLocked THEN
|
||||
bOutAllDoorUnlock := FALSE;
|
||||
Step := 40;
|
||||
END_IF
|
||||
30:
|
||||
DoorLock.Lock();
|
||||
|
||||
IF AllDoorAreLocked THEN
|
||||
Step := 40;
|
||||
END_IF
|
||||
40:
|
||||
//IF LOGOSOL_ROBOT.VST(TRUE) THEN
|
||||
Step := 0;
|
||||
//END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].Disable := FALSE;
|
||||
|
||||
CASE CMD[GeneralStation] OF
|
||||
InitCMD:
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].Disable := TRUE;
|
||||
StartCMD:
|
||||
IF NOT MediaArray[GeneralStation][eMainMedienNamen.Pause].Input THEN
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].Disable := TRUE;
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
IF bInStartRobotCleanOut THEN
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].Disable := FALSE;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="Initialization" Id="{9f1b2fac-4390-45ab-9483-d4ebc1518612}">
|
||||
<Declaration><![CDATA[METHOD Initialization : BOOL
|
||||
VAR_INPUT
|
||||
iStation : INT;
|
||||
END_VAR
|
||||
VAR
|
||||
i : int;
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
DoorServiceName : ARRAY[0..NumberOfLanguages] OF T_MaxString := ['Door Lock', 'Door Lock'];
|
||||
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[iStationStatus REF= StationsStatus[iStation];
|
||||
iCMD REF= CMD[iStation];
|
||||
iMediaArray REF= MediaArray[iStation];
|
||||
|
||||
iMediaArray[eRobotMedienNamen.Vacuum1].ServiceName[0] := 'Vacuum Ch1';
|
||||
iMediaArray[eRobotMedienNamen.Vacuum1].bReferenceControl REF= ROBOT_MAIN.RobotControl.bOutRobotVacOff[0];
|
||||
|
||||
iMediaArray[eRobotMedienNamen.Vacuum2].ServiceName[0] := 'Vacuum Ch2';
|
||||
iMediaArray[eRobotMedienNamen.Vacuum2].bReferenceControl REF= ROBOT_MAIN.RobotControl.bOutRobotVacOff[1];
|
||||
|
||||
DoorLock.Initialization(
|
||||
iStation,
|
||||
eRobotMedienNamen.DoorLock1,
|
||||
ROBOT_ErrorNr.eDoor1CloseTimeout,
|
||||
ROBOT_ErrorNr.eDoor1LockTimeout,
|
||||
DoorServiceName
|
||||
);
|
||||
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].ServiceName[0] := 'All Door$NUnlock';
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].ServiceName[1] := 'All Door$NUnlock';
|
||||
iMediaArray[eRobotMedienNamen.AllDoorUnlock].bReferenceControl REF= bOutAllDoorUnlock;]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Action Name="MediaCheck" Id="{3c9b52b1-4cdc-40ac-9c3f-4aec786f217f}">
|
||||
<Implementation>
|
||||
<ST><![CDATA[DelayTimer(IN := TRUE, PT := T#5S);
|
||||
IF NOT DelayTimer.Q THEN
|
||||
RETURN;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
1365
PLC/9 Robot/POUs/ROBOT_MAIN_FB.TcPOU
Normal file
1365
PLC/9 Robot/POUs/ROBOT_MAIN_FB.TcPOU
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user