ILSLib hinzugefügt
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
FUNCTION "FC_SHR_ExtractedHangerPin" : Void
|
||||
{ S7_Optimized_Access := 'TRUE' }
|
||||
VERSION : 0.1
|
||||
VAR_INPUT
|
||||
xInUnloadingDone : Bool; // trigger zum Offline Setzen des Trolleys
|
||||
nInBarcode : DInt; // Arrayposition in arTrolleysOnline
|
||||
xInBypass : Bool;
|
||||
END_VAR
|
||||
|
||||
VAR_IN_OUT
|
||||
stInOutConveyorStations : "stConveyorStations";
|
||||
arInOutCarrier : Array[*] of "stCarrier";
|
||||
END_VAR
|
||||
|
||||
VAR_TEMP
|
||||
nCounter : Int; // Arraynummer bzw. Haken / Trolley
|
||||
nTrolleyPosition : Int;
|
||||
stEmptyTrolley : "stCarrierPin";
|
||||
tempTrolley : "stCarrier";
|
||||
TempCounter : DInt;
|
||||
TempResult : Bool;
|
||||
END_VAR
|
||||
|
||||
|
||||
BEGIN
|
||||
// ****************************************
|
||||
// Setzt im Online-Register den Hanger im Abwurf auf Not Online
|
||||
// ****************************************
|
||||
// Passenden Eintrag finden
|
||||
IF #xInUnloadingDone THEN
|
||||
FOR #nCounter := 1 TO ("cHooksSorterMaxPin") DO
|
||||
IF #stInOutConveyorStations.arTrolleysOnline[#nCounter].stCarrier.nBarcode = #nInBarcode THEN
|
||||
EXIT;
|
||||
END_IF;
|
||||
END_FOR;
|
||||
// Wenn Eintrag gefunden, dann eintragen.
|
||||
IF #nCounter < "cHooksSorterMaxPin" THEN
|
||||
// #arOutTrolleyShiftRegister.arTrolley[1] := #arInOutTrolleysOnline[#nCounter].stTrolleyLoad;
|
||||
IF NOT #xInBypass THEN //Wenn der Carrier am Block vorbeifährt (Bypass) NICHT buchen *****NEU*****
|
||||
#tempTrolley := #stInOutConveyorStations.arTrolleysOnline[#nCounter].stCarrier;
|
||||
"FC_TSHR_AddAtEnd"(stInTrolley := #tempTrolley,
|
||||
nOutCounter => #TempCounter,
|
||||
xOutResult => #TempResult,
|
||||
arTSHR := #arInOutCarrier);
|
||||
END_IF;
|
||||
|
||||
IF NOT #TempResult
|
||||
AND NOT #xInBypass //***NEU***
|
||||
THEN
|
||||
RETURN;
|
||||
ELSE
|
||||
// Leeren des Hangers am Abwurf
|
||||
#stInOutConveyorStations.stData.nTrolleysOnline -= 1;
|
||||
// Alles im Online-Register eins weiter schieben
|
||||
FOR #nCounter := #nCounter TO ("cHooksSorterMaxPin" - 1) DO // Weiterkopieren um eine Position
|
||||
#stInOutConveyorStations.arTrolleysOnline[#nCounter] := #stInOutConveyorStations.arTrolleysOnline[#nCounter + 1];
|
||||
END_FOR;
|
||||
#stInOutConveyorStations.arTrolleysOnline["cHooksSorterMaxPin"] := #stEmptyTrolley;
|
||||
END_IF;
|
||||
END_IF;
|
||||
END_IF;
|
||||
END_FUNCTION
|
||||
|
||||
Reference in New Issue
Block a user