Added lots of errors
This commit is contained in:
@@ -18,6 +18,12 @@ TYPE
|
||||
udPresstime : UDINT := 500; (*Presszeit [ms]*)
|
||||
udIDIOBlock : UDINT := 0; (*ID des IO Blocks*)
|
||||
END_STRUCT;
|
||||
typ_ToolInterface : STRUCT
|
||||
bToolIsHome : BOOL; (*Werkzeug ist in Grundstellung*)
|
||||
bToolIsMounted : BOOL; (*Werkzeug ist Vormontiert*)
|
||||
bToolIsErrorous : BOOL; (*Werkzeug hat Fehler*)
|
||||
bToolStop : BOOL; (*Werkzeug wird gestopt*)
|
||||
END_STRUCT;
|
||||
typ_enStepTool1 :
|
||||
( (*Werkzeug 1 Schritte*)
|
||||
enTool1Step_INIT, (*Grundstellung pr<70>fen*)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
VAR
|
||||
gbTool1Homepos : BOOL; (*Werkzeug 1 ist in GST*)
|
||||
gbTool2Homepos : BOOL; (*Werkzeug 2 ist in GST*)
|
||||
gbTool1CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
|
||||
gbTool2CountUp : BOOL; (*St<53>ckz<6B>hler erh<72>hen*)
|
||||
genStepTool1 : typ_enStepTool1; (*Schritte Werkzeug 1*)
|
||||
genStepTool2 : typ_enStepTool2; (*Schritte Werkzeug 2*)
|
||||
genStepTool1Home : typ_enStepTool1Home; (*Schritte Werkzeug 1*)
|
||||
genStepTool2Home : typ_enStepTool2Home; (*Schritte Werkzeug 2*)
|
||||
gTool1Interface : typ_ToolInterface; (*Interface zu Werkzeug 1*)
|
||||
gTool2Interface : typ_ToolInterface; (*Interface zu werkzeug 2*)
|
||||
gusCurrentTool : USINT; (*Eingebautes Werkzeug*)
|
||||
gusVCCStatusTool : ARRAY[0..5] OF USINT;
|
||||
END_VAR
|
||||
|
||||
@@ -71,19 +71,18 @@ PROGRAM _CYCLIC
|
||||
lPS.Command.bPower := gMachine.bMachineON;
|
||||
lAxisShaftMaster.bPower := gMachine.bMachineON;
|
||||
lAxisShaft1.bPower := gMachine.bMachineON AND lPS.DriveStatus.bControllerStatus AND bSafetyOk AND
|
||||
NOT ((gMachine.enMode = enMACH_AUTOMATIC) AND (enStepPress = enPressStep_WAIT_START)) AND
|
||||
NOT ((gMachine.enMode = enMACH_AUTOMATIC) AND (enStepPress = enPressStep_WAIT_START2));
|
||||
NOT (((gMachine.enMode = enMACH_AUTOMATIC) OR (gMachine.enMode = enMACH_MANUAL)) AND (enStepPress = enPressStep_WAIT_START)) AND
|
||||
NOT ((gMachine.enMode = enMACH_HOMEPOS) AND (enStepPressHoming = enPressStepHoming_WAIT_START));
|
||||
lAxisShaft2.bPower := lAxisShaft1.bPower;
|
||||
lAxisShaft3.bPower := lAxisShaft1.bPower;
|
||||
lAxisShaft4.bPower := lAxisShaft1.bPower;
|
||||
|
||||
lAxisSlay1.bPower := gMachine.bMachineON AND lAxisSlay1.DriveStatus.bControllerReady AND bSafetyOk AND
|
||||
NOT ((gMachine.enMode = enMACH_AUTOMATIC) AND (enStepPress = enPressStep_WAIT_START)) AND
|
||||
NOT ((gMachine.enMode = enMACH_AUTOMATIC) AND (enStepPress = enPressStep_WAIT_START2));
|
||||
NOT (((gMachine.enMode = enMACH_AUTOMATIC) OR (gMachine.enMode = enMACH_MANUAL)) AND (enStepPress = enPressStep_WAIT_START)) AND
|
||||
NOT ((gMachine.enMode = enMACH_HOMEPOS) AND (enStepPressHoming = enPressStepHoming_WAIT_START));
|
||||
|
||||
gbOuOpenPressBrake := gMachine.bMachineON AND bSafetyOk;
|
||||
|
||||
|
||||
|
||||
lAxisShaftMaster.bStop := bStop;
|
||||
lAxisShaft1.bStop := bStop;
|
||||
@@ -158,10 +157,10 @@ PROGRAM _CYCLIC
|
||||
lAxisShaft3.DriveStatus.bControllerReady AND
|
||||
lAxisShaft4.DriveStatus.bControllerReady;
|
||||
|
||||
rPosDiffShaft1 := lAxisShaftMaster.rActPosition - lAxisShaft1.rActPosition;
|
||||
rPosDiffShaft2 := lAxisShaftMaster.rActPosition - lAxisShaft2.rActPosition;
|
||||
rPosDiffShaft3 := lAxisShaftMaster.rActPosition - lAxisShaft3.rActPosition;
|
||||
rPosDiffShaft4 := lAxisShaftMaster.rActPosition - lAxisShaft4.rActPosition;
|
||||
rPosDiffShaft1 := ABS (lAxisShaftMaster.rActPosition - lAxisShaft1.rActPosition);
|
||||
rPosDiffShaft2 := ABS (lAxisShaftMaster.rActPosition - lAxisShaft2.rActPosition);
|
||||
rPosDiffShaft3 := ABS (lAxisShaftMaster.rActPosition - lAxisShaft3.rActPosition);
|
||||
rPosDiffShaft4 := ABS (lAxisShaftMaster.rActPosition - lAxisShaft4.rActPosition);
|
||||
|
||||
rPosDiffShaft1_2 := ABS (lAxisShaft1.rActPosition - lAxisShaft2.rActPosition);
|
||||
rPosDiffShaft1_3 := ABS (lAxisShaft1.rActPosition - lAxisShaft2.rActPosition);
|
||||
@@ -170,8 +169,8 @@ PROGRAM _CYCLIC
|
||||
bNotLevel := (rPosDiffShaft1_2 > 10) OR (rPosDiffShaft1_3 > 10) OR (rPosDiffShaft3_4 > 10) OR (rPosDiffShaft2_4 > 10);
|
||||
|
||||
bToolIsHomed := ((gusCurrentTool = 0) AND (gusSelectedTool = 0)) OR
|
||||
(gbTool1Homepos AND (gusCurrentTool = 1) AND (gusSelectedTool = 1) AND (genStepTool1 = enTool1Step_WAIT_START_MOUNT)) OR
|
||||
(gbTool2Homepos AND (gusCurrentTool = 2) AND (gusSelectedTool = 2) AND (genStepTool2 = enTool2Step_WAIT_START_MOUNT));
|
||||
(gTool1Interface.bToolIsHome AND (gusCurrentTool = 1) AND (gusSelectedTool = 1) AND (genStepTool1 = enTool1Step_WAIT_START_MOUNT)) OR
|
||||
(gTool2Interface.bToolIsHome AND (gusCurrentTool = 2) AND (gusSelectedTool = 2) AND (genStepTool2 = enTool2Step_WAIT_START_MOUNT));
|
||||
bPressIsInHomepos := ((lAxisShaftMaster.rActPosition = lPressParamActTool.rPosHome) AND bAllAxisesInSync);
|
||||
// lAxisShaft1.DriveStatus.bTrigger1;
|
||||
|
||||
@@ -193,7 +192,8 @@ PROGRAM _CYCLIC
|
||||
TON_SlayDown ();
|
||||
bToolslay1IsDown := TON_SlayDown.Q;
|
||||
|
||||
bToolslayIsOut := (lAxisSlay1.rActPosition = rToolSlayPosOut) AND lAxisSlay1.DriveStatus.bHomingOk;
|
||||
bToolslayIsOut := (lAxisSlay1.rActPosition <= (rToolSlayPosOut + 2)) AND
|
||||
(lAxisSlay1.rActPosition >= (rToolSlayPosOut - 2)) AND lAxisSlay1.DriveStatus.bHomingOk;
|
||||
bToolslayIsIn := (lAxisSlay1.rActPosition = lPressParamActTool.rPosPressToolslay) AND lAxisSlay1.DriveStatus.bHomingOk;
|
||||
|
||||
bMachineIsInHomepos := bToolslayIsOut AND bToolslay1IsDown AND bPressIsInHomepos;
|
||||
@@ -219,13 +219,15 @@ PROGRAM _CYCLIC
|
||||
MoveConditions.bEnableToolslay1Up := bPressIsInHomepos OR gMachine.bSetupMode;
|
||||
MoveConditions.bEnableToolslay1Down := bToolslayIsIn OR bToolslayIsOut; //Slay Home or in Workpos
|
||||
MoveConditions.bEnableToolslay1UpMaint := bToolslayIsOut AND (genAccessLevel >= enACCESSLEVEL_3) AND (gMachine.enMode = enMACH_JOG);
|
||||
MoveConditions.bEnableToolslay1DownMaint := gbInTool1MaintBracket1Home AND gbInTool1MaintBracket1Home AND (genAccessLevel >= enACCESSLEVEL_3) AND (gMachine.enMode = enMACH_JOG); //FixMe Maint. Sticks Home
|
||||
MoveConditions.bEnableToolslay1DownMaint := gbInTool1MaintBracketHome AND (genAccessLevel >= enACCESSLEVEL_3) AND (gMachine.enMode = enMACH_JOG); //FixMe Maint. Sticks Home
|
||||
MoveConditions.bEnableNegSlay1 := (gMachine.bSetupMode OR bPressIsInHomepos) AND bToolslay1IsUp;
|
||||
MoveConditions.bEnablePosSlay1 := (gMachine.bSetupMode OR bPressIsInHomepos) AND bToolslay1IsUp;
|
||||
MoveConditions.bEnableReferenceSlay1 := (gMachine.bSetupMode OR bPressIsInHomepos) AND bToolslay1IsUp;
|
||||
|
||||
|
||||
//Status Control vor Visual Component Controls
|
||||
StatusVCControls.usJogPosShaft1 := SHL (BOOL_TO_USINT ((enStepPress <> enPressStep_WAIT_START) AND (enStepPress <> enPressStep_WAIT_START)), VC_LOCK_BITPOS) +
|
||||
SHL (BOOL_TO_USINT (((gMachine.enMode <> enMACH_AUTOMATIC) AND ((gMachine.enMode <> enMACH_MANUAL))) OR (genAccessLevel < enACCESSLEVEL_1)), VC_HIDE_BITPOS);
|
||||
StatusVCControls.usJogNegShaft1 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableNegShaft1), VC_LOCK_BITPOS) +
|
||||
SHL (BOOL_TO_USINT ((gMachine.enMode <> enMACH_JOG) OR bDevelEnalbeGear OR (genAccessLevel < enACCESSLEVEL_4)), VC_HIDE_BITPOS);
|
||||
StatusVCControls.usJogPosShaft1 := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnablePosShaft1), VC_LOCK_BITPOS) +
|
||||
@@ -347,7 +349,7 @@ PROGRAM _CYCLIC
|
||||
lAxisShaftMaster.Para.rJogLimitHigh := lPressParamActTool.rPosHome;
|
||||
ELSIF (lAxisShaftMaster.rActPosition >= lPressParamActTool.rPosHome) THEN
|
||||
lAxisShaftMaster.Para.rJogLimitLow := lPressParamActTool.rPosHome;
|
||||
lAxisShaftMaster.Para.rJogLimitHigh := rPressPosMax;
|
||||
lAxisShaftMaster.Para.rJogLimitHigh := lPressParamActTool.rPosPressMax;
|
||||
END_IF
|
||||
ELSIF gMachine.bSetupMode THEN
|
||||
lAxisShaftMaster.Para.JogMode := enAxJOG;
|
||||
@@ -393,7 +395,7 @@ PROGRAM _CYCLIC
|
||||
gbOuTool1MaintCylFw := TRUE;
|
||||
gbOuTool1MaintCylBw := FALSE;
|
||||
END_IF
|
||||
IF ManualCommands.bToolslay1DownMaint AND gbInTool1MaintBracket1Home AND gbInTool1MaintBracket2Home THEN
|
||||
IF ManualCommands.bToolslay1DownMaint AND gbInTool1MaintBracketHome THEN
|
||||
gbOuTool1MaintCylFw := FALSE;
|
||||
gbOuTool1MaintCylBw := TRUE;
|
||||
END_IF
|
||||
@@ -461,6 +463,7 @@ PROGRAM _CYCLIC
|
||||
//---------------------------
|
||||
enPressStepHoming_WAIT_START:
|
||||
IF EDGEPOS (gbInResetKeyTool1) AND bSafetyOk THEN
|
||||
gMachineAlarms.Alarm[121] := FALSE;
|
||||
enStepPressHoming := enPressStepHoming_WAIT_AX_SINGLE;
|
||||
bDevelEnalbeGear := FALSE;
|
||||
END_IF
|
||||
@@ -606,17 +609,31 @@ PROGRAM _CYCLIC
|
||||
IF (gusCurrentTool = 0) AND (gusSelectedTool = 0) THEN
|
||||
enStepPressHoming := enPressStepHoming_DONE;
|
||||
ELSIF (gusCurrentTool = 1) AND (gusSelectedTool = 1) THEN
|
||||
IF (genStepTool1Home = enTool1StepHome_WAIT_START_HOME) AND NOT gbTool1Homepos THEN
|
||||
genStepTool1Home := enTool1StepHome_HOMEPOS;
|
||||
// Tool 1
|
||||
// --------
|
||||
IF NOT gTool1Interface.bToolIsHome THEN
|
||||
IF gbInTool1PartAvailable THEN
|
||||
gMachineAlarms.Alarm[121] := TRUE;
|
||||
enStepPressHoming := enPressStepHoming_INIT;
|
||||
ELSE
|
||||
genStepTool1Home := enTool1StepHome_HOMEPOS;
|
||||
END_IF;
|
||||
END_IF
|
||||
IF (genStepTool1Home = enTool1StepHome_WAIT_START_HOME) AND gbTool1Homepos THEN
|
||||
IF (genStepTool1Home = enTool1StepHome_WAIT_START_HOME) AND gTool1Interface.bToolIsHome THEN
|
||||
enStepPressHoming := enPressStepHoming_DONE;
|
||||
END_IF
|
||||
ELSIF (gusCurrentTool = 2) AND (gusSelectedTool = 2) THEN
|
||||
IF (genStepTool2Home = enTool2StepHome_WAIT_START_HOME) AND NOT gbTool2Homepos THEN
|
||||
genStepTool2Home := enTool2StepHome_HOMEPOS;
|
||||
// Tool 2
|
||||
// --------
|
||||
IF NOT gTool2Interface.bToolIsHome THEN
|
||||
IF gbInTool1PartAvailable OR gbInTool1PartAvailable2 THEN
|
||||
gMachineAlarms.Alarm[121] := TRUE;
|
||||
enStepPressHoming := enPressStepHoming_INIT;
|
||||
ELSE
|
||||
genStepTool2Home := enTool2StepHome_HOMEPOS;
|
||||
END_IF
|
||||
END_IF
|
||||
IF (genStepTool2Home = enTool2StepHome_WAIT_START_HOME) AND gbTool2Homepos THEN
|
||||
IF (genStepTool2Home = enTool2StepHome_WAIT_START_HOME) AND gTool2Interface.bToolIsHome THEN
|
||||
enStepPressHoming := enPressStepHoming_DONE;
|
||||
END_IF
|
||||
END_IF
|
||||
@@ -636,24 +653,194 @@ PROGRAM _CYCLIC
|
||||
//---------------------------
|
||||
enPressStep_INIT:
|
||||
bTransitionCondition := FALSE;
|
||||
IF NOT gMachine.bRequestHoming AND bMachineIsInHomepos AND bToolIsHomed THEN
|
||||
IF NOT gMachine.bRequestHoming AND bMachineIsInHomepos AND (rPosDiffShaft1 = 0) AND NOT bNotLevel THEN
|
||||
enStepPress := enPressStep_WAIT_START;
|
||||
ELSIF (rPosDiffShaft1 > 0) OR bNotLevel THEN
|
||||
enStepPress := enPressStep_WAIT_AX_SINGLE;
|
||||
bDevelEnalbeGear := FALSE;
|
||||
END_IF
|
||||
|
||||
//Wait for Start (With part)
|
||||
//Wait for Axises Single
|
||||
//---------------------------
|
||||
enPressStep_WAIT_AX_SINGLE:
|
||||
IF bAllAxisesSingle AND bAllAxisesControllerRdy AND
|
||||
NOT bStopShaftAfterGear1 AND
|
||||
NOT bStopShaftAfterGear2 AND
|
||||
NOT bStopShaftAfterGear3 AND
|
||||
NOT bStopShaftAfterGear4 THEN
|
||||
enStepPress := enPressStep_REF_PRESS;
|
||||
bHome := TRUE;
|
||||
END_IF
|
||||
|
||||
//Wait for all Axes Homed
|
||||
//---------------------------
|
||||
enPressStep_REF_PRESS:
|
||||
IF NOT bHome AND
|
||||
NOT bHomeMaster AND lAxisShaftMaster.DriveStatus.bHomingOk AND
|
||||
(enStepHomeShaft1 = enHomeIdle) AND lAxisShaft1.DriveStatus.bHomingOk AND
|
||||
(enStepHomeShaft2 = enHomeIdle) AND lAxisShaft2.DriveStatus.bHomingOk AND
|
||||
(enStepHomeShaft3 = enHomeIdle) AND lAxisShaft3.DriveStatus.bHomingOk AND
|
||||
(enStepHomeShaft4 = enHomeIdle) AND lAxisShaft4.DriveStatus.bHomingOk THEN
|
||||
enStepPress := enPressStep_LEVEL_PRESS;
|
||||
END_IF
|
||||
|
||||
//Level Axises
|
||||
//---------------------------
|
||||
enPressStep_LEVEL_PRESS:
|
||||
rAveragePos := floor ((lAxisShaft1.rActPosition +
|
||||
lAxisShaft2.rActPosition +
|
||||
lAxisShaft3.rActPosition +
|
||||
lAxisShaft4.rActPosition) * 0.25 - 20.0);
|
||||
lAxisShaftMaster.Para.rPosition := rAveragePos;
|
||||
lAxisShaft1.Para.rPosition := rAveragePos;
|
||||
lAxisShaft2.Para.rPosition := rAveragePos;
|
||||
lAxisShaft3.Para.rPosition := rAveragePos;
|
||||
lAxisShaft4.Para.rPosition := rAveragePos;
|
||||
IF lAxisShaftMaster.Status.bStandstill AND NOT lAxisShaftMaster.bHome THEN
|
||||
lAxisShaftMaster.Para.rVelocity := 250;
|
||||
lAxisShaft1.Para.rVelocity := 250;
|
||||
lAxisShaft2.Para.rVelocity := 250;
|
||||
lAxisShaft3.Para.rVelocity := 250;
|
||||
lAxisShaft4.Para.rVelocity := 250;
|
||||
lAxisShaftMaster.Move.bAbsolute := 1;
|
||||
lAxisShaft1.Move.bAbsolute := 1;
|
||||
lAxisShaft2.Move.bAbsolute := 1;
|
||||
lAxisShaft3.Move.bAbsolute := 1;
|
||||
lAxisShaft4.Move.bAbsolute := 1;
|
||||
enStepPress := enPressStep_LEVEL_WAIT;
|
||||
END_IF
|
||||
|
||||
//Level Axises
|
||||
//---------------------------
|
||||
enPressStep_LEVEL_WAIT:
|
||||
IF (lAxisShaftMaster.rActPosition = rAveragePos) AND NOT lAxisShaftMaster.Move.bAbsolute AND
|
||||
(lAxisShaft1.rActPosition = rAveragePos) AND NOT lAxisShaft1.Move.bAbsolute AND
|
||||
(lAxisShaft2.rActPosition = rAveragePos) AND NOT lAxisShaft2.Move.bAbsolute AND
|
||||
(lAxisShaft3.rActPosition = rAveragePos) AND NOT lAxisShaft3.Move.bAbsolute AND
|
||||
(lAxisShaft4.rActPosition = rAveragePos) AND NOT lAxisShaft4.Move.bAbsolute THEN
|
||||
enStepPress := enPressStep_START_GEAR;
|
||||
bEnableNextStep := FALSE;
|
||||
END_IF
|
||||
|
||||
//Wait for Axises Single
|
||||
//---------------------------
|
||||
enPressStep_START_GEAR:
|
||||
bDevelEnalbeGear := TRUE;
|
||||
IF bAllAxisesInSync THEN
|
||||
enStepPress := enPressStep_MOVE_HOME_LVL;
|
||||
END_IF
|
||||
|
||||
//Press up to Home
|
||||
//---------------------------
|
||||
enPressStep_MOVE_HOME_LVL:
|
||||
lAxisShaftMaster.Para.rPosition := lPressParamActTool.rPosHome;
|
||||
lAxisShaftMaster.Para.rVelocity := 250.0;
|
||||
IF MoveConditions.bEnableNegShaftMaster THEN
|
||||
lAxisShaftMaster.Move.bAbsolute :=TRUE;
|
||||
enStepPress := enPressStep_MOVE_HOME_LVL_WAIT;
|
||||
END_IF
|
||||
|
||||
//Press up to Home (Wait)
|
||||
//---------------------------
|
||||
enPressStep_MOVE_HOME_LVL_WAIT:
|
||||
IF NOT bAllAxisesInSync OR bNotLevel THEN
|
||||
bStop := TRUE;
|
||||
lAxisShaftMaster.Move.bAbsolute := FALSE;
|
||||
gMachine.bRequestHoming := TRUE;
|
||||
END_IF
|
||||
IF bPressIsInHomepos AND lAxisShaftMaster.Status.bStandstill THEN
|
||||
enStepPress := enPressStep_INIT;
|
||||
lAxisShaftMaster.Move.bAbsolute := 0;
|
||||
END_IF
|
||||
|
||||
|
||||
//Wait for Start
|
||||
//---------------------------
|
||||
enPressStep_WAIT_START:
|
||||
udCycletime := 0;
|
||||
bTransitionCondition := (EDGEPOS (gbInResetKeyTool1) OR (gMachine.enMode = enMACH_MANUAL)) AND bSafetyOk ;
|
||||
IF bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep) THEN
|
||||
enStepPress := enPressStep_TOOL_UP1;
|
||||
END_IF
|
||||
|
||||
IF EDGEPOS (ManualCommands.bToggleAutoRepCycle) THEN
|
||||
bRepairCycle := NOT bRepairCycle;
|
||||
END_IF
|
||||
IF (gusSelectedTool = 0) THEN
|
||||
//Dummy Tool
|
||||
enStepPress := enPressStep_INIT;
|
||||
ELSIF (gusSelectedTool = 1) THEN
|
||||
//Tool 1
|
||||
//------------------------------------
|
||||
IF NOT bRepairCycle THEN
|
||||
//Normal Cylce
|
||||
IF bTransitionCondition AND gbInTool1PartAvailable AND NOT gTool1Interface.bToolIsHome THEN
|
||||
//Tool is not Homed
|
||||
gMachineAlarms.Alarm[125] := TRUE;
|
||||
END_IF
|
||||
IF bTransitionCondition AND NOT gbInTool1PartAvailable AND gTool1Interface.bToolIsHome THEN
|
||||
//Tool is Homed but no Part inserted
|
||||
gMachineAlarms.Alarm[123] := TRUE;
|
||||
END_IF
|
||||
IF bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep) AND NOT gbInTool1PartAvailable AND (genStepTool1 = enTool1Step_WAIT_START_HOME) THEN
|
||||
//Home Tool
|
||||
genStepTool1 := enTool1Step_HOMEPOS;
|
||||
END_IF
|
||||
//Tool is home
|
||||
IF bTransitionCondition AND gbInTool1PartAvailable AND (genStepTool1 = enTool1Step_WAIT_START_MOUNT) AND gTool1Interface.bToolIsHome THEN
|
||||
enStepPress := enPressStep_TOOL_UP1;
|
||||
END_IF
|
||||
ELSE
|
||||
//Repair Cycle
|
||||
END_IF
|
||||
ELSIF (gusSelectedTool = 2) THEN
|
||||
//Tool 2
|
||||
//------------------------------------
|
||||
IF NOT bRepairCycle THEN
|
||||
//Normal Cylce
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND gbInTool1PartAvailable AND NOT gTool2Interface.bToolIsHome THEN
|
||||
//Tool is not Homed
|
||||
gMachineAlarms.Alarm[125] := TRUE;
|
||||
END_IF
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND gbInTool1PartAvailable2 AND NOT gTool2Interface.bToolIsHome THEN
|
||||
//Tool is not Homed
|
||||
gMachineAlarms.Alarm[124] := TRUE;
|
||||
END_IF
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND NOT gbInTool1PartAvailable AND gTool2Interface.bToolIsHome THEN
|
||||
//Tool is Homed but no Part inserted
|
||||
gMachineAlarms.Alarm[123] := TRUE;
|
||||
END_IF
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND NOT gbInTool1PartAvailable2 AND gTool2Interface.bToolIsHome THEN
|
||||
//Tool is Homed but no Part inserted
|
||||
gMachineAlarms.Alarm[122] := TRUE;
|
||||
END_IF
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND NOT gbInTool1PartAvailable AND NOT gbInTool1PartAvailable2 AND (genStepTool2 = enTool2Step_WAIT_START_HOME) THEN
|
||||
genStepTool2 := enTool2Step_HOMEPOS;
|
||||
END_IF
|
||||
//Tool is home
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND (gbInTool1PartAvailable OR gbInTool1PartAvailable2) AND (genStepTool2 = enTool2Step_WAIT_START_MOUNT) THEN
|
||||
gMachineAlarms.Alarm[122] := FALSE;
|
||||
gMachineAlarms.Alarm[123] := FALSE;
|
||||
gMachineAlarms.Alarm[124] := FALSE;
|
||||
gMachineAlarms.Alarm[125] := FALSE;
|
||||
enStepPress := enPressStep_TOOL_UP1;
|
||||
END_IF
|
||||
ELSE
|
||||
//Repair Cycle
|
||||
//Tool is home
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND NOT gTool2Interface.bToolIsMounted AND NOT gbInTool1PartAvailable AND NOT gbInTool1PartAvailable2 AND (genStepTool2 = enTool2Step_WAIT_START_MOUNT) THEN
|
||||
genStepTool2 := enTool2Step_START_MOUNT;
|
||||
END_IF
|
||||
IF (bSafetyOkFP OR (bTransitionCondition AND bEnableNextStep)) AND (gbInTool1PartAvailable OR gbInTool1PartAvailable2) AND gTool2Interface.bToolIsMounted AND (genStepTool2 = enTool2Step_WAIT_START_HOME) THEN
|
||||
enStepPress := enPressStep_TOOL_UP1;
|
||||
END_IF
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
|
||||
|
||||
//Lift Toolslay 1 UP
|
||||
//---------------------------
|
||||
enPressStep_TOOL_UP1:
|
||||
bToolslay1Up := TRUE;
|
||||
bTransitionCondition := bToolslay1IsUp;
|
||||
bTransitionCondition := bToolslay1IsUp AND bSafetyOk;
|
||||
IF bTransitionCondition AND bEnableNextStep THEN
|
||||
enStepPress := enPressStep_TOOL_IN;
|
||||
END_IF
|
||||
@@ -664,7 +851,7 @@ PROGRAM _CYCLIC
|
||||
lAxisSlay1.Para.rVelocity := rSpeedSlay1; // [mm/s]
|
||||
lAxisSlay1.Para.rPosition := lPressParamActTool.rPosPressToolslay;
|
||||
bTransitionCondition := FALSE;
|
||||
IF MoveConditions.bEnablePosSlay1 THEN
|
||||
IF MoveConditions.bEnablePosSlay1 AND bSafetyOk THEN
|
||||
lAxisSlay1.Move.bAbsolute := TRUE;
|
||||
enStepPress := enPressStep_TOOL_IN_WAIT;
|
||||
END_IF
|
||||
@@ -672,6 +859,9 @@ PROGRAM _CYCLIC
|
||||
//Lift Toolslay 1 IN (WAIT)
|
||||
//---------------------------
|
||||
enPressStep_TOOL_IN_WAIT:
|
||||
IF EDGEPOS (lAxisSlay1.DriveStatus.bControllerStatus) THEN
|
||||
lAxisSlay1.Move.bAbsolute := TRUE;
|
||||
END_IF
|
||||
bTransitionCondition := bToolslayIsIn AND lAxisSlay1.Status.bStandstill;
|
||||
IF bTransitionCondition AND bEnableNextStep THEN
|
||||
enStepPress := enPressStep_TOOL_DOWN1;
|
||||
@@ -682,7 +872,7 @@ PROGRAM _CYCLIC
|
||||
//---------------------------
|
||||
enPressStep_TOOL_DOWN1:
|
||||
bToolslay1Up := FALSE;
|
||||
bTransitionCondition := bToolslay1IsDown;
|
||||
bTransitionCondition := bToolslay1IsDown AND bSafetyOk;
|
||||
IF bTransitionCondition AND bEnableNextStep THEN
|
||||
enStepPress := enPressStep_PRESS_MOUNTPOS;
|
||||
END_IF
|
||||
@@ -693,7 +883,7 @@ PROGRAM _CYCLIC
|
||||
lAxisShaftMaster.Para.rPosition := lPressParamActTool.rPosPremount;
|
||||
lAxisShaftMaster.Para.rVelocity := grPressSpeedEmpty;
|
||||
bTransitionCondition := FALSE;
|
||||
IF MoveConditions.bEnablePosShaftMaster THEN
|
||||
IF MoveConditions.bEnablePosShaftMaster AND bSafetyOk THEN
|
||||
lAxisShaftMaster.Move.bAbsolute :=TRUE;
|
||||
enStepPress := enPressStep_PRESS_MOUNTPOS_WAIT;
|
||||
END_IF
|
||||
@@ -724,7 +914,11 @@ PROGRAM _CYCLIC
|
||||
IF (genStepTool1 = enTool1Step_WAIT_START_MOUNT) THEN
|
||||
genStepTool1 := enTool1Step_START_MOUNT;
|
||||
END_IF
|
||||
bTransitionCondition := (genStepTool1 = enTool1Step_WAIT_START_HOME);
|
||||
IF gTool1Interface.bToolIsErrorous THEN
|
||||
gMachineAlarms.Alarm[119] := TRUE;
|
||||
enStepPress := enPressStep_PRESS_HOMEPOS;
|
||||
END_IF
|
||||
bTransitionCondition := (genStepTool1 = enTool1Step_WAIT_START_HOME) AND gTool1Interface.bToolIsMounted AND NOT gTool1Interface.bToolIsErrorous;
|
||||
IF bTransitionCondition AND bEnableNextStep THEN
|
||||
enStepPress := enPressStep_PRESS_PRESSPOS;
|
||||
END_IF
|
||||
@@ -732,7 +926,11 @@ PROGRAM _CYCLIC
|
||||
IF (genStepTool2 = enTool2Step_WAIT_START_MOUNT) THEN
|
||||
genStepTool2 := enTool2Step_START_MOUNT;
|
||||
END_IF
|
||||
bTransitionCondition := (genStepTool2 = enTool2Step_WAIT_START_HOME);
|
||||
IF gTool2Interface.bToolIsErrorous THEN
|
||||
gMachineAlarms.Alarm[119] := TRUE;
|
||||
enStepPress := enPressStep_PRESS_HOMEPOS;
|
||||
END_IF
|
||||
bTransitionCondition := (genStepTool2 = enTool2Step_WAIT_START_HOME) AND gTool2Interface.bToolIsMounted AND NOT gTool2Interface.bToolIsErrorous;
|
||||
IF bTransitionCondition AND bEnableNextStep THEN
|
||||
enStepPress := enPressStep_PRESS_PRESSPOS;
|
||||
END_IF
|
||||
@@ -757,6 +955,17 @@ PROGRAM _CYCLIC
|
||||
lAxisShaftMaster.Move.bAbsolute := FALSE;
|
||||
gMachine.bRequestHoming := TRUE;
|
||||
END_IF
|
||||
IF ((gusCurrentTool = 1) AND (gusSelectedTool = 1) AND NOT gTool1Interface.bToolIsMounted) OR
|
||||
((gusCurrentTool = 2) AND (gusSelectedTool = 2) AND NOT gTool2Interface.bToolIsMounted) THEN
|
||||
//Tool is not Mounted any More
|
||||
lAxisShaftMaster.Move.bAbsolute := FALSE;
|
||||
IF lAxisShaftMaster.Status.bStandstill THEN
|
||||
enStepPress := enPressStep_PRESS_HOMEPOS;
|
||||
gMachineAlarms.Alarm[120] := TRUE;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
|
||||
IF bPressIsInPresspos AND lAxisShaftMaster.Status.bStandstill THEN
|
||||
enStepPress := enPressStep_WAIT_PRESSED;
|
||||
lAxisShaftMaster.Move.bAbsolute := 0;
|
||||
@@ -831,30 +1040,11 @@ PROGRAM _CYCLIC
|
||||
bToolslay1Up := FALSE;
|
||||
IF bToolslay1IsDown THEN
|
||||
udCycletimeLast := udCycletime;
|
||||
enStepPress := enPressStep_WAIT_START2;
|
||||
enStepPress := enPressStep_WAIT_START;
|
||||
gbTool1CountUp := TRUE;
|
||||
bRepairCycle := FALSE;
|
||||
END_IF
|
||||
|
||||
//Wait for Start (With part)
|
||||
//---------------------------
|
||||
enPressStep_WAIT_START2:
|
||||
IF (gusCurrentTool = 0) AND (gusSelectedTool = 0) THEN
|
||||
enStepPress := enPressStep_INIT;
|
||||
ELSIF (gusCurrentTool = 1) AND (gusSelectedTool = 1) THEN
|
||||
IF (bSafetyOkFP OR (EDGEPOS (gbInResetKeyTool1) AND bSafetyOk)) AND (genStepTool1 = enTool1Step_WAIT_START_HOME) THEN
|
||||
genStepTool1 := enTool1Step_HOMEPOS;
|
||||
END_IF
|
||||
IF (genStepTool1 = enTool1Step_WAIT_START_MOUNT) THEN
|
||||
enStepPress := enPressStep_INIT;
|
||||
END_IF
|
||||
ELSIF (gusCurrentTool = 2) AND (gusSelectedTool = 2) THEN
|
||||
IF (bSafetyOkFP OR (EDGEPOS (gbInResetKeyTool1) AND bSafetyOk)) AND (genStepTool2 = enTool2Step_WAIT_START_HOME) THEN
|
||||
genStepTool2 := enTool2Step_HOMEPOS;
|
||||
END_IF
|
||||
IF (genStepTool2 = enTool2Step_WAIT_START_MOUNT) THEN
|
||||
enStepPress := enPressStep_INIT;
|
||||
END_IF
|
||||
END_IF
|
||||
END_CASE;
|
||||
END_IF;
|
||||
|
||||
@@ -863,9 +1053,11 @@ PROGRAM _CYCLIC
|
||||
//Set Ouputs
|
||||
gbOuValveToolslay1Up := bToolslay1Up;
|
||||
|
||||
|
||||
|
||||
|
||||
IF bSafetyOkFP THEN
|
||||
FOR usi:=100 TO 126 DO
|
||||
gMachineAlarms.Alarm[usi] := FALSE;
|
||||
END_FOR
|
||||
END_IF
|
||||
|
||||
gStatusVCControls.usBtnErrorReset := (lPS.Error.uiID = 0) AND
|
||||
(lAxisShaftMaster.Error.uiID = 0) AND
|
||||
@@ -874,7 +1066,7 @@ PROGRAM _CYCLIC
|
||||
(lAxisShaft3.Error.uiID = 0) AND
|
||||
(lAxisShaft4.Error.uiID = 0) AND
|
||||
(lAxisSlay1.Error.uiID = 0);
|
||||
IF EDGEPOS (gVCCommands.bErrorReset) THEN
|
||||
IF EDGEPOS (gVCCommands.bErrorReset) OR bSafetyOkFP THEN
|
||||
lPS.Error.bAcknowledge := (lPS.Error.uiID > 0);
|
||||
lAxisShaftMaster.Error.bAcknowledge := (lAxisShaftMaster.Error.uiID > 0);
|
||||
lAxisShaft1.Error.bAcknowledge := (lAxisShaft1.Error.uiID > 0);
|
||||
|
||||
@@ -3,9 +3,16 @@
|
||||
TYPE
|
||||
typ_enStepPress :
|
||||
( (*Absolutoffset einstellen*)
|
||||
enPressStep_INIT, (*Grundstellung pr<70>fen*)
|
||||
enPressStep_INIT := 0, (*Grundstellung pr<70>fen*)
|
||||
enPressStep_WAIT_START, (*Auf Startbefehl warten (mit Teil)*)
|
||||
enPressStep_TOOL_UP1, (*Werkzeug anheben*)
|
||||
enPressStep_WAIT_AX_SINGLE, (*Warten bis Achsen Unsync und Bereit*)
|
||||
enPressStep_REF_PRESS, (*Referenzwerte Laden*)
|
||||
enPressStep_LEVEL_PRESS, (*Presse ggf. Ausniviellieren*)
|
||||
enPressStep_LEVEL_WAIT, (*Presse ggf. Ausniviellieren*)
|
||||
enPressStep_START_GEAR, (*Getriebe Starten*)
|
||||
enPressStep_MOVE_HOME_LVL, (*Presse auffahren*)
|
||||
enPressStep_MOVE_HOME_LVL_WAIT, (*Presse aufgefahren*)
|
||||
enPressStep_TOOL_UP1 := 10, (*Werkzeug anheben*)
|
||||
enPressStep_TOOL_IN, (*Werkzeug einfahren*)
|
||||
enPressStep_TOOL_IN_WAIT, (*Werkzeug einfahren warten bis eingefahren*)
|
||||
enPressStep_TOOL_DOWN1, (*Werkzeug absenken*)
|
||||
@@ -20,13 +27,12 @@ TYPE
|
||||
enPressStep_TOOL_UP2, (*Werkzeug anheben (nach Pressen)*)
|
||||
enPressStep_TOOL_OUT, (*Werkzeug einfahren*)
|
||||
enPressStep_TOOL_OUT_WAIT, (*Werkzeug einfahren*)
|
||||
enPressStep_TOOL_DOWN2, (*Werkzeug absenken (nach Pressen)*)
|
||||
enPressStep_WAIT_START2 (*Auf Startbefehl warten (ohne Teil)*)
|
||||
enPressStep_TOOL_DOWN2 (*Werkzeug absenken (nach Pressen)*)
|
||||
);
|
||||
typ_enStepHoming :
|
||||
( (*Grundstellungsfahrt*)
|
||||
enPressStepHoming_INIT, (*Auf Start warten*)
|
||||
enPressStepHoming_WAIT_START, (*Auf Startbefehl warten (mit Teil)*)
|
||||
enPressStepHoming_WAIT_START, (*Auf Startbefehl warten*)
|
||||
enPressStepHoming_WAIT_AX_SINGLE, (*Warten bis Achsen Unsync und Bereit*)
|
||||
enPressStepHoming_REF_PRESS, (*Referenzwerte Laden*)
|
||||
enPressStepHoming_LEVEL_PRESS, (*Presse ggf. Ausniviellieren*)
|
||||
@@ -55,6 +61,7 @@ TYPE
|
||||
enHomeStorePos (*Aktuelle Pos als Offset (zum Allg Offset) speichern*)
|
||||
);
|
||||
typStatusPressVCControls : STRUCT (*Controlbytes f<>r Visu*)
|
||||
usToggleAutoRepCycle : USINT; (*Reperaturzyklus antriggern*)
|
||||
usJogNegShaft1 : USINT;
|
||||
usJogPosShaft1 : USINT;
|
||||
usJogNegShaft2 : USINT;
|
||||
@@ -85,8 +92,9 @@ TYPE
|
||||
usBtnActivateGear : USINT;
|
||||
usBtnDisableGear : USINT;
|
||||
END_STRUCT;
|
||||
typManualCommnands : STRUCT
|
||||
typManualCommnands : STRUCT (*Kommandos f<>r Hand / Automatikbetrieb*)
|
||||
bNextManStep : BOOL; (*N<>chster Schritt (Semi) Automatic*)
|
||||
bToggleAutoRepCycle : BOOL; (*Reperaturzyklus antriggern*)
|
||||
bJogNegShaft1 : BOOL;
|
||||
bJogPosShaft1 : BOOL;
|
||||
bJogNegShaft2 : BOOL;
|
||||
|
||||
@@ -21,8 +21,11 @@ VAR
|
||||
lAxisSlay2 : REFERENCE TO typAxis;
|
||||
END_VAR
|
||||
(*//Local Vars*)
|
||||
VAR RETAIN
|
||||
bDevelEnalbeGear : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
bDevelEnalbeGear : BOOL := FALSE;
|
||||
bRepairCycle : BOOL;
|
||||
bTransitionCondition : BOOL;
|
||||
bSafetyOk : BOOL;
|
||||
bSafetyOkFP : BOOL;
|
||||
@@ -53,6 +56,7 @@ VAR
|
||||
bAllAxisesSingle : BOOL;
|
||||
bAllAxisesControllerRdy : BOOL;
|
||||
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
|
||||
usi : USINT;
|
||||
usErrorReset : USINT;
|
||||
udSteptime : UDINT; (*0.1s*)
|
||||
udCycletime : UDINT := 0; (*ms*)
|
||||
|
||||
@@ -8,7 +8,6 @@ PROGRAM _INIT
|
||||
lAxisShaft4 ACCESS ADR (gAxis[4]);
|
||||
lAxisSlay1 ACCESS ADR (gAxis[5]);
|
||||
|
||||
gMachine.bRequestHoming := TRUE;
|
||||
|
||||
//Enable Powermeter
|
||||
lPS.Parameter.uiIntervalTime := 100;
|
||||
@@ -49,12 +48,16 @@ PROGRAM _INIT
|
||||
lAxisShaftMaster.Para.rDeceleration := 1000; // [0.1mm/s^2]
|
||||
|
||||
//Dummy Tool
|
||||
// gPressParamTools[0].rPosHome := 1000;
|
||||
// gPressParamTools[0].rPosHomeMax := 4700;
|
||||
// gPressParamTools[0].rPosHomeMin := 100;
|
||||
// gPressParamTools[0].rPos := 1000;
|
||||
// gPressParamTools[0].rPosHomeMax := 4700;
|
||||
// gPressParamTools[0].rPosHomeMin := 100;
|
||||
gPressParamTools[0].rPosHome := 1000;
|
||||
gPressParamTools[0].rPosHomeMax := 1500;
|
||||
gPressParamTools[0].rPosHomeMin := 200;
|
||||
gPressParamTools[0].rPosPremount := 1100;
|
||||
gPressParamTools[0].rPosPremountMin := 1050;
|
||||
gPressParamTools[0].rPosPremountMax := 1150;
|
||||
gPressParamTools[0].rPosPress := 2000;
|
||||
gPressParamTools[0].rPosPressMin := 200;
|
||||
gPressParamTools[0].rPosPressMax := rPressPosMax;
|
||||
gPressParamTools[0].rPosHomeMin := 100;
|
||||
// gPressParamTools[0].rPosPressToolslay := 1310;
|
||||
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ FUNCTION_BLOCK FUB_CylinderCheck (*Zylinder
|
||||
bOuErrorBothSensorsHigh : BOOL; (*Fehler beide Zynlinderschalter bet<EFBFBD>tigt*)
|
||||
END_VAR
|
||||
VAR
|
||||
tInCylinderFw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderBw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderFw : TIME := T#5s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderBw : TIME := T#5s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
TON_CylinderFw : TON;
|
||||
TON_CylinderBw : TON;
|
||||
END_VAR
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
PROGRAM _INIT
|
||||
|
||||
lToolalarms ACCESS ADR (gToolalarms);
|
||||
|
||||
lToolInterface ACCESS ADR (gTool1Interface);
|
||||
END_PROGRAM
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ PROGRAM _CYCLIC
|
||||
StatusVCControls.usCylinder3Bw := SHL (BOOL_TO_USINT (NOT MoveConditions.bEnableCylinder3Bw), VC_LOCK_BITPOS) +
|
||||
SHL (BOOL_TO_USINT ((gMachine.enMode <> enMACH_JOG) OR NOT bCylinder3Fw), VC_HIDE_BITPOS);
|
||||
|
||||
|
||||
gbTool1Homepos := gbInTool1Cyl1Bw AND gbInTool1Cyl2Bw AND gbInTool1Cyl3Bw;
|
||||
|
||||
//Toolstates
|
||||
lToolInterface.bToolIsHome := gbInTool1Cyl1Bw AND gbInTool1Cyl2Bw AND gbInTool1Cyl3Bw;
|
||||
lToolInterface.bToolIsMounted := gbInTool1Cyl1Fw AND gbInTool1Cyl2Fw AND gbInTool1Cyl3Fw;
|
||||
//Jog Mode
|
||||
//==========================================================================================
|
||||
IF (gMachine.enMode = enMACH_JOG) AND bToolIsActive THEN
|
||||
@@ -68,7 +68,7 @@ PROGRAM _CYCLIC
|
||||
bCylinder1Fw := FALSE;
|
||||
bCylinder2Fw := FALSE;
|
||||
bCylinder3Fw := FALSE;
|
||||
IF gbTool1Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool1Home := enTool1StepHome_WAIT_START_HOME;
|
||||
genStepTool1 := enTool1Step_INIT;
|
||||
END_IF
|
||||
@@ -83,7 +83,7 @@ PROGRAM _CYCLIC
|
||||
//Init
|
||||
//---------------------------
|
||||
enTool1Step_INIT:
|
||||
IF gbTool1Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool1 := enTool1Step_WAIT_START_MOUNT;
|
||||
END_IF
|
||||
|
||||
@@ -136,7 +136,7 @@ PROGRAM _CYCLIC
|
||||
bCylinder1Fw := FALSE;
|
||||
bCylinder2Fw := FALSE;
|
||||
bCylinder3Fw := FALSE;
|
||||
IF gbTool1Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool1 := enTool1Step_INIT;
|
||||
END_IF
|
||||
END_CASE;
|
||||
@@ -178,6 +178,7 @@ PROGRAM _CYCLIC
|
||||
lToolalarms.Alarm[7] := Cylinder3Check.bOuErrorCylinderFw;
|
||||
lToolalarms.Alarm[8] := Cylinder3Check.bOuErrorBothSensorsHigh;
|
||||
|
||||
|
||||
IF NOT bToolIsActive THEN
|
||||
lToolalarms.Alarm[0] := FALSE;
|
||||
lToolalarms.Alarm[1] := FALSE;
|
||||
@@ -190,6 +191,13 @@ PROGRAM _CYCLIC
|
||||
lToolalarms.Alarm[8] := FALSE;
|
||||
END_IF
|
||||
|
||||
lToolInterface.bToolIsErrorous := FALSE;
|
||||
FOR usi:=0 TO 8 DO
|
||||
IF lToolalarms.Alarm[usi] THEN
|
||||
lToolInterface.bToolIsErrorous := TRUE;
|
||||
END_IF
|
||||
END_FOR
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
PROGRAM _EXIT
|
||||
|
||||
@@ -9,11 +9,13 @@ VAR CONSTANT
|
||||
usTOOLID : USINT := 1; (*Werkzeugnummer*)
|
||||
END_VAR
|
||||
VAR
|
||||
usi : USINT;
|
||||
udSteptime : UDINT; (*0.1s*)
|
||||
StatusVCControls : typStatusToolVCControls;
|
||||
ManualCommands : typManualCommnands; (*Kommandos Betriebsart Hand*)
|
||||
MoveConditions : typMoveConditions;
|
||||
lToolalarms : REFERENCE TO typAlarm; (*Werkzeugalarme*)
|
||||
lToolInterface : REFERENCE TO typ_ToolInterface;
|
||||
Cylinder1Check : FUB_CylinderCheck;
|
||||
Cylinder2Check : FUB_CylinderCheck;
|
||||
Cylinder3Check : FUB_CylinderCheck;
|
||||
|
||||
@@ -12,8 +12,8 @@ FUNCTION_BLOCK FUB_CylinderCheck (*Zylinder
|
||||
bOuErrorBothSensorsHigh : BOOL; (*Fehler beide Zynlinderschalter bet<EFBFBD>tigt*)
|
||||
END_VAR
|
||||
VAR
|
||||
tInCylinderFw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderBw : TIME := T#2s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderFw : TIME := T#5s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
tInCylinderBw : TIME := T#5s; (*<EFBFBD>berwachungszeit Zylinder Ausfahren*)
|
||||
TON_CylinderFw : TON;
|
||||
TON_CylinderBw : TON;
|
||||
END_VAR
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
PROGRAM _INIT
|
||||
|
||||
lToolalarms ACCESS ADR (gToolalarms);
|
||||
|
||||
lToolInterface ACCESS ADR (gTool2Interface);
|
||||
END_PROGRAM
|
||||
|
||||
|
||||
@@ -31,7 +31,8 @@ PROGRAM _CYCLIC
|
||||
SHL (BOOL_TO_USINT ((gMachine.enMode <> enMACH_JOG) OR NOT bCylinder3Fw), VC_HIDE_BITPOS);
|
||||
|
||||
|
||||
gbTool2Homepos := TRUE;// gbInTool2Cyl1Bw AND gbInTool2Cyl2Bw AND gbInTool2Cyl3Bw;
|
||||
lToolInterface.bToolIsHome := gbInTool1Cyl1Bw AND gbInTool1Cyl2Bw;
|
||||
lToolInterface.bToolIsMounted := gbInTool1Cyl1Fw AND gbInTool1Cyl2Fw;
|
||||
|
||||
//Jog Mode
|
||||
//==========================================================================================
|
||||
@@ -65,7 +66,7 @@ PROGRAM _CYCLIC
|
||||
bCylinder1Fw := FALSE;
|
||||
bCylinder2Fw := FALSE;
|
||||
bCylinder3Fw := FALSE;
|
||||
IF gbTool2Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool2Home := enTool2StepHome_WAIT_START_HOME;
|
||||
genStepTool2 := enTool2Step_INIT;
|
||||
END_IF
|
||||
@@ -80,7 +81,7 @@ PROGRAM _CYCLIC
|
||||
//Init
|
||||
//---------------------------
|
||||
enTool2Step_INIT:
|
||||
IF gbTool2Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool2 := enTool2Step_WAIT_START_MOUNT;
|
||||
END_IF
|
||||
|
||||
@@ -121,7 +122,7 @@ PROGRAM _CYCLIC
|
||||
bCylinder1Fw := FALSE;
|
||||
bCylinder2Fw := FALSE;
|
||||
bCylinder3Fw := FALSE;
|
||||
IF gbTool2Homepos THEN
|
||||
IF lToolInterface.bToolIsHome THEN
|
||||
genStepTool2 := enTool2Step_INIT;
|
||||
END_IF
|
||||
END_CASE;
|
||||
@@ -159,7 +160,7 @@ PROGRAM _CYCLIC
|
||||
lToolalarms.Alarm[27] := FALSE;
|
||||
lToolalarms.Alarm[28] := FALSE;
|
||||
|
||||
IF TRUE OR NOT bToolIsActive THEN
|
||||
IF NOT bToolIsActive THEN
|
||||
lToolalarms.Alarm[20] := FALSE;
|
||||
lToolalarms.Alarm[21] := FALSE;
|
||||
lToolalarms.Alarm[22] := FALSE;
|
||||
@@ -171,6 +172,13 @@ PROGRAM _CYCLIC
|
||||
lToolalarms.Alarm[28] := FALSE;
|
||||
END_IF
|
||||
|
||||
lToolInterface.bToolIsErrorous := FALSE;
|
||||
FOR usi:=20 TO 28 DO
|
||||
IF lToolalarms.Alarm[usi] THEN
|
||||
lToolInterface.bToolIsErrorous := TRUE;
|
||||
END_IF
|
||||
END_FOR
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
PROGRAM _EXIT
|
||||
|
||||
@@ -9,11 +9,13 @@ VAR CONSTANT
|
||||
usTOOLID : USINT := 2; (*Werkzeugnummer*)
|
||||
END_VAR
|
||||
VAR
|
||||
usi : USINT;
|
||||
udSteptime : UDINT; (*0.1s*)
|
||||
StatusVCControls : typStatusToolVCControls;
|
||||
ManualCommands : typManualCommnands; (*Kommandos Betriebsart Hand*)
|
||||
MoveConditions : typMoveConditions;
|
||||
lToolalarms : REFERENCE TO typAlarm; (*Werkzeugalarme*)
|
||||
lToolInterface : REFERENCE TO typ_ToolInterface;
|
||||
Cylinder1Check : FUB_CylinderCheck;
|
||||
Cylinder2Check : FUB_CylinderCheck;
|
||||
Cylinder3Check : FUB_CylinderCheck;
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
PROGRAM _INIT
|
||||
|
||||
|
||||
(* TODO : Add your code here *)
|
||||
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
|
||||
|
||||
@@ -1,14 +1 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT --
|
||||
********************************************************************
|
||||
* Program: ToolCtrl
|
||||
* File: ToolCtrl.typ
|
||||
* Author: michi
|
||||
* Created: January 28, 2013
|
||||
********************************************************************
|
||||
* Local data types of program ToolCtrl
|
||||
********************************************************************)
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
(**)
|
||||
|
||||
@@ -125,9 +125,9 @@ VAR
|
||||
gbInToolAirsuspensionBw : BOOL; (*Werkzeug 1 Luftfeder ist Eingefahren (AS)*)
|
||||
gbInTool1MaintCylFw : BOOL; (*Werkzeug 1 Wartungszylinder ist Ausgefahren / Wartungsposition*)
|
||||
gbInTool1MaintCylBw : BOOL; (*Werkzeug 1 Wartungszylinder ist Eingefahren / Presposition*)
|
||||
gbInTool1MaintBracket1Home : BOOL; (*Werkzeug 1 Wartungssicherungsklotz ist Aufger<65>umt*)
|
||||
gbInTool1MaintBracket2Home : BOOL; (*Werkzeug 1 Wartungssicherungsklotz ist Aufger<65>umt*)
|
||||
gbInTool1MaintBracketHome : BOOL; (*Werkzeug 1 Wartungssicherungsklotz ist Aufger<65>umt*)
|
||||
gbInTool1PartAvailable : BOOL; (*Werkzeug 1 Teil ist eingelegt*)
|
||||
gbInTool1PartAvailable2 : BOOL; (*Werkzeug 1 Teil ist eingelegt (2 Optional je nach Werkzeug)*)
|
||||
gbInTool1Code2 : BOOL; (*Werkzeug 1 Codierung 2*)
|
||||
gbInTool1Code1 : BOOL; (*Werkzeug 1 Codierung 1*)
|
||||
gbInTool1Code3 : BOOL; (*Werkzeug 1 Codierung 3*)
|
||||
|
||||
@@ -98,6 +98,17 @@ END_IF
|
||||
IF EDGEPOS (gMachineCommands.bSwitchOff) THEN
|
||||
gMachine.bMachineON := FALSE;
|
||||
END_IF
|
||||
|
||||
//Reset Machine Modes
|
||||
IF (gMachine.enMode = enMACH_HOMEPOS) OR (gMachine.enMode = enMACH_MANUAL) OR (gMachine.enMode = enMACH_AUTOMATIC) THEN
|
||||
IF gMachineAlarms.Alarm[7] THEN
|
||||
gMachine.enMode := enMACH_NOOP;
|
||||
END_IF
|
||||
IF NOT gbInTool1MaintCylBw THEN
|
||||
gMachine.enMode := enMACH_NOOP;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
//Buttons
|
||||
gStatusVCControls.usBtnPowerOn := SHL (BOOL_TO_USINT (genAccessLevel = enACCESSLEVEL_0), VC_LOCK_BITPOS) +
|
||||
SHL (BOOL_TO_USINT (gMachine.bMachineON), VC_HIDE_BITPOS);
|
||||
@@ -244,7 +255,7 @@ Tool1CylinderCheckMaint (bInOutputCylinderBw := gbOuTool1MaintCylBw,
|
||||
gMachineAlarms.Alarm[58] := Tool1CylinderCheckMaint.bOuErrorCylinderBw;
|
||||
gMachineAlarms.Alarm[59] := Tool1CylinderCheckMaint.bOuErrorCylinderFw;
|
||||
|
||||
//MachineAlarms >= 75 are set in Pressctl.
|
||||
//MachineAlarms >= 75 < 125 are set in Pressctl.
|
||||
|
||||
|
||||
//Lamps
|
||||
|
||||
@@ -356,6 +356,90 @@
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="125">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="124">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="123">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="122">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="121">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="120">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="119">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="Group">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
@@ -410,6 +494,13 @@
|
||||
<Text ID="373" Value="Acopos Axis Error Slay 2"/>
|
||||
<Text ID="440" Value="Toolslay 1 MaintenanceCylinder not retraced"/>
|
||||
<Text ID="441" Value="Toolslay 1 MaintenanceCylinder not extracted"/>
|
||||
<Text ID="492" Value="Tried to Start Machine with Part in Tool (no Repaircycle)"/>
|
||||
<Text ID="543" Value="Tried to Start Machine with Part in Tool (no Repaircycle)"/>
|
||||
<Text ID="544" Value="Tried to Start Machine without Part in Tool "/>
|
||||
<Text ID="545" Value="Tried to Start Machine witoput Part in Tool "/>
|
||||
<Text ID="554" Value="Tried to Start Homing Machien with Paart in Tool"/>
|
||||
<Text ID="563" Value="Tool not mounted any more while going to Press"/>
|
||||
<Text ID="574" Value="Tool error while mounting"/>
|
||||
<Text ID="20" Value=""/>
|
||||
</TextLayer>
|
||||
<TextLayer LanguageId="de-DE">
|
||||
@@ -440,7 +531,14 @@
|
||||
<Text ID="372" Value="Acopos Fehler in Achse Werkeugschlitten 1"/>
|
||||
<Text ID="373" Value="Acopos Fehler in Achse Werkeugschlitten 2"/>
|
||||
<Text ID="440" Value="Werkzeugschlitten 1 Wartungszylinder nicht eingefahren"/>
|
||||
<Text ID="441" Value="Werkzeugschlitten 1 Wartungszyliner nicht ausgefahren"/>
|
||||
<Text ID="441" Value="Werkzeugschlitten 1 Wartungszylinder nicht ausgefahren"/>
|
||||
<Text ID="492" Value="Versuch Anlage mit eingelegtem Teil zu starten Sensor 1 (kein Reperaturzyklus angewählt)"/>
|
||||
<Text ID="543" Value="Versuch Anlage mit eingelegtem Teil zu starten Sensor 2 (kein Reperaturzyklus angewählt)"/>
|
||||
<Text ID="544" Value="Versuch Anlage ohne eingelegtem Teil zu starten Sensor 1"/>
|
||||
<Text ID="545" Value="Versuch Anlage ohne eingelegtem Teil zu starten Sensor 2"/>
|
||||
<Text ID="554" Value="Grundstellungsfahrt kann mit eingelegtem Teil nicht beendet werden"/>
|
||||
<Text ID="563" Value="Werkzeug während pressen nicht mehr geschlossen"/>
|
||||
<Text ID="574" Value="Werkzeugfehler wärend des schließens"/>
|
||||
<Text ID="20" Value=""/>
|
||||
</TextLayer>
|
||||
<IndexMap>
|
||||
@@ -472,6 +570,13 @@
|
||||
<Index ID="373" Value="29"/>
|
||||
<Index ID="440" Value="58"/>
|
||||
<Index ID="441" Value="59"/>
|
||||
<Index ID="492" Value="125"/>
|
||||
<Index ID="543" Value="124"/>
|
||||
<Index ID="544" Value="123"/>
|
||||
<Index ID="545" Value="122"/>
|
||||
<Index ID="554" Value="121"/>
|
||||
<Index ID="563" Value="120"/>
|
||||
<Index ID="574" Value="119"/>
|
||||
<Index ID="20" Value="Group"/>
|
||||
</IndexMap>
|
||||
</TextGroup>
|
||||
|
||||
@@ -128,6 +128,78 @@
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="20">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="21">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="22">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="23">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="24">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="25">
|
||||
<Property Name="Acknowledge" Value="Disabled"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
<Property Name="Bypass" Value="Enabled"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Latched" Value="False"/>
|
||||
<Property Name="RecordAcknowledge" Value="True"/>
|
||||
<Property Name="RecordBypass" Value="All"/>
|
||||
<Property Name="RecordReset" Value="All"/>
|
||||
<Property Name="RecordTrigger" Value="True"/>
|
||||
<Property Name="TriggerGroupAlarm" Value="False"/>
|
||||
</Alarm>
|
||||
<Alarm Index="Group">
|
||||
<Property Name="Acknowledge" Value="Possible"/>
|
||||
<Property Name="AcknowledgeActive" Value="Enabled"/>
|
||||
@@ -163,6 +235,12 @@
|
||||
<Text ID="226" Value="Tool 1 Cylinder 3 not Retraced"/>
|
||||
<Text ID="227" Value="Tool 1 Cylinder 3 not Extracted"/>
|
||||
<Text ID="228" Value="Tool 1 Cylinder 3 both Sensors active"/>
|
||||
<Text ID="589" Value="Tool 1 Cylinder 1 not Retraced"/>
|
||||
<Text ID="590" Value="Tool 1 Cylinder 1 not Extracted"/>
|
||||
<Text ID="591" Value="Tool 1 Cylinder 1 both Sensors active"/>
|
||||
<Text ID="592" Value="Tool 1 Cylinder 2 not Retraced"/>
|
||||
<Text ID="593" Value="Tool 1 Cylinder 2 not Extracted"/>
|
||||
<Text ID="594" Value="Tool 1 Cylinder 2 both Sensors active"/>
|
||||
<Text ID="204" Value=""/>
|
||||
</TextLayer>
|
||||
<TextLayer LanguageId="de-DE">
|
||||
@@ -175,6 +253,12 @@
|
||||
<Text ID="226" Value="Werkzeug 1 Zylinder 3 nicht eingefahren"/>
|
||||
<Text ID="227" Value="Werkzeug 1 Zylinder 3 nicht ausgefahren"/>
|
||||
<Text ID="228" Value="Werkzeug 1 Zylinder 3 beide Endlagensensoren aktiv"/>
|
||||
<Text ID="589" Value="Werkzeug 1 Zylinder 1 nicht eingefahren"/>
|
||||
<Text ID="590" Value="Werkzeug 1 Zylinder 1 nicht ausgefahren"/>
|
||||
<Text ID="591" Value="Werkzeug 1 Zylinder 1 beide Endlagensensoren aktiv"/>
|
||||
<Text ID="592" Value="Werkzeug 1 Zylinder 2 nicht eingefahren"/>
|
||||
<Text ID="593" Value="Werkzeug 1 Zylinder 2 nicht ausgefahren"/>
|
||||
<Text ID="594" Value="Werkzeug 1 Zylinder 2 beide Endlagensensoren aktiv"/>
|
||||
<Text ID="204" Value=""/>
|
||||
</TextLayer>
|
||||
<IndexMap>
|
||||
@@ -187,6 +271,12 @@
|
||||
<Index ID="226" Value="6"/>
|
||||
<Index ID="227" Value="7"/>
|
||||
<Index ID="228" Value="8"/>
|
||||
<Index ID="589" Value="20"/>
|
||||
<Index ID="590" Value="21"/>
|
||||
<Index ID="591" Value="22"/>
|
||||
<Index ID="592" Value="23"/>
|
||||
<Index ID="593" Value="24"/>
|
||||
<Index ID="594" Value="25"/>
|
||||
<Index ID="204" Value="Group"/>
|
||||
</IndexMap>
|
||||
</TextGroup>
|
||||
|
||||
@@ -802,6 +802,15 @@
|
||||
<Property Name="UserID" Value="None"/>
|
||||
<Property Name="VCType" Value="INTEGER"/>
|
||||
</DataPoint>
|
||||
<DataPoint Name="usToggleAutoRepCycle">
|
||||
<Property Name="ConnectedBySharedResource" Value="False"/>
|
||||
<Property Name="ConnectingVisus" Value="Visualization\Visu"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="PLCType" Value="USINT"/>
|
||||
<Property Name="UpdateTime" Value="Default"/>
|
||||
<Property Name="UserID" Value="None"/>
|
||||
<Property Name="VCType" Value="INTEGER"/>
|
||||
</DataPoint>
|
||||
</Folder>
|
||||
<Folder Name="MoveConditions">
|
||||
<Property Name="Description" Value=""/>
|
||||
@@ -1224,6 +1233,15 @@
|
||||
<Property Name="UserID" Value="None"/>
|
||||
<Property Name="VCType" Value="BOOL"/>
|
||||
</DataPoint>
|
||||
<DataPoint Name="bToggleAutoRepCycle">
|
||||
<Property Name="ConnectedBySharedResource" Value="False"/>
|
||||
<Property Name="ConnectingVisus" Value="Visualization\Visu"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="PLCType" Value="BOOL"/>
|
||||
<Property Name="UpdateTime" Value="Default"/>
|
||||
<Property Name="UserID" Value="None"/>
|
||||
<Property Name="VCType" Value="BOOL"/>
|
||||
</DataPoint>
|
||||
</Folder>
|
||||
<Folder Name="lAxisShaftMaster">
|
||||
<Property Name="Description" Value=""/>
|
||||
@@ -1433,6 +1451,15 @@
|
||||
<Property Name="VCType" Value="SCALED"/>
|
||||
</DataPoint>
|
||||
</Folder>
|
||||
<DataPoint Name="bRepairCycle">
|
||||
<Property Name="ConnectedBySharedResource" Value="False"/>
|
||||
<Property Name="ConnectingVisus" Value="Visualization\Visu"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="PLCType" Value="BOOL"/>
|
||||
<Property Name="UpdateTime" Value="Default"/>
|
||||
<Property Name="UserID" Value="None"/>
|
||||
<Property Name="VCType" Value="BOOL"/>
|
||||
</DataPoint>
|
||||
</Folder>
|
||||
<Folder Name="AxisPS">
|
||||
<Property Name="Description" Value=""/>
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="ForeColor" Value="0"/>
|
||||
<Property Name="Height" Value="30"/>
|
||||
<Property Name="Left" Value="452"/>
|
||||
<Property Name="Left" Value="455"/>
|
||||
<Property Name="MaxDatapoint" Value="None"/>
|
||||
<Property Name="MaxValue" Value="None"/>
|
||||
<Property Name="MinDatapoint" Value="None"/>
|
||||
@@ -303,7 +303,7 @@
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="ForeColor" Value="0"/>
|
||||
<Property Name="Height" Value="30"/>
|
||||
<Property Name="Left" Value="452"/>
|
||||
<Property Name="Left" Value="455"/>
|
||||
<Property Name="MaxDatapoint" Value="None"/>
|
||||
<Property Name="MaxValue" Value="None"/>
|
||||
<Property Name="MinDatapoint" Value="None"/>
|
||||
@@ -382,7 +382,7 @@
|
||||
<Property Name="FillStyle" Value="Transparent"/>
|
||||
<Property Name="Height" Value="24"/>
|
||||
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.lAxisShaft3.DriveStatus.bHomingOk]"/>
|
||||
<Property Name="Left" Value="456"/>
|
||||
<Property Name="Left" Value="460"/>
|
||||
<Property Name="SimulationValue" Value="0"/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="Top" Value="64"/>
|
||||
@@ -400,7 +400,7 @@
|
||||
<Property Name="Left" Value="548"/>
|
||||
<Property Name="SimulationValue" Value="0"/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="Top" Value="64"/>
|
||||
<Property Name="Top" Value="65"/>
|
||||
<Property Name="Width" Value="24"/>
|
||||
</Control>
|
||||
<Control ClassId="0x00001007" Name="numPosShaftMaster">
|
||||
@@ -465,7 +465,7 @@
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Font" Value="Source[local].Font[Header]"/>
|
||||
<Property Name="Height" Value="24"/>
|
||||
<Property Name="Left" Value="456"/>
|
||||
<Property Name="Left" Value="455"/>
|
||||
<Property Name="SimulationValue" Value=""/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="TextGroup" Value="Source[embedded].TextGroup"/>
|
||||
@@ -545,7 +545,7 @@
|
||||
<Property Name="FillStyle" Value="Transparent"/>
|
||||
<Property Name="Height" Value="24"/>
|
||||
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.lAxisShaft3.Status.bMotionSynchronized]"/>
|
||||
<Property Name="Left" Value="480"/>
|
||||
<Property Name="Left" Value="485"/>
|
||||
<Property Name="SimulationValue" Value="0"/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="Top" Value="64"/>
|
||||
@@ -732,7 +732,7 @@
|
||||
<Property Name="FillStyle" Value="Transparent"/>
|
||||
<Property Name="Height" Value="24"/>
|
||||
<Property Name="IndexDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.lAxisShaft3.DriveStatus.bControllerStatus]"/>
|
||||
<Property Name="Left" Value="505"/>
|
||||
<Property Name="Left" Value="510"/>
|
||||
<Property Name="SimulationValue" Value="0"/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="Top" Value="65"/>
|
||||
@@ -2571,7 +2571,7 @@
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Height" Value="44"/>
|
||||
<Property Name="KeyMatrixOffset" Value="None"/>
|
||||
<Property Name="Left" Value="485"/>
|
||||
<Property Name="Left" Value="350"/>
|
||||
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
|
||||
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
|
||||
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Machine.gStatusVCControls.usBtnNextStep]"/>
|
||||
@@ -2583,7 +2583,7 @@
|
||||
<Property Name="TextSource" Value="SingleText"/>
|
||||
<Property Name="Top" Value="260"/>
|
||||
<Property Name="VirtualKey" Value="Source[local].VirtualKey[cmdEnableNextPressStep]"/>
|
||||
<Property Name="Width" Value="148"/>
|
||||
<Property Name="Width" Value="190"/>
|
||||
</Control>
|
||||
<Control ClassId="0x00001004" Name="txtAutomaticStepTool1">
|
||||
<Property Name="AlignmentVertical" Value="Top"/>
|
||||
@@ -2659,6 +2659,28 @@
|
||||
<Property Name="Top" Value="215"/>
|
||||
<Property Name="Width" Value="396"/>
|
||||
</Control>
|
||||
<Control ClassId="0x00001002" Name="btnRepairCycle">
|
||||
<Property Name="BitmapAlignmentVertical" Value="Bottom"/>
|
||||
<Property Name="BitmapIndexDatapoint" Value="None"/>
|
||||
<Property Name="BitmapSource" Value="None"/>
|
||||
<Property Name="ControlID" Value="0"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Height" Value="44"/>
|
||||
<Property Name="KeyMatrixOffset" Value="None"/>
|
||||
<Property Name="Left" Value="555"/>
|
||||
<Property Name="PressedBitmapSource" Value="Source[embedded].Property[BitmapSource]"/>
|
||||
<Property Name="PressedTextSource" Value="Source[embedded].Property[TextSource]"/>
|
||||
<Property Name="StatusDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.StatusVCControls.usToggleAutoRepCycle]"/>
|
||||
<Property Name="StyleClass" Value="Source[relative:StyleGroup].StyleClass[Default]"/>
|
||||
<Property Name="TextGroup" Value="Source[local].TextGroup[Buttons_PageTexts]"/>
|
||||
<Property Name="TextIndex" Value="104"/>
|
||||
<Property Name="TextIndexDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.bRepairCycle]"/>
|
||||
<Property Name="TextSimulationValue" Value="0"/>
|
||||
<Property Name="TextSource" Value="MultipleTexts"/>
|
||||
<Property Name="Top" Value="260"/>
|
||||
<Property Name="VirtualKey" Value="Source[local].VirtualKey[cmdToggleRepairCycle]"/>
|
||||
<Property Name="Width" Value="193"/>
|
||||
</Control>
|
||||
</Controls>
|
||||
<KeyMapping>
|
||||
<VirtualKey Name="cmdEnableNextPressStep">
|
||||
@@ -2677,6 +2699,22 @@
|
||||
</KeyAction>
|
||||
</KeyActions>
|
||||
</VirtualKey>
|
||||
<VirtualKey Name="cmdToggleRepairCycle">
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="VirtualKey_LED" Value="False"/>
|
||||
<KeyActions>
|
||||
<KeyAction ClassId="0x0000016B">
|
||||
<Property Name="CompletionDatapoint" Value="None"/>
|
||||
<Property Name="CompletionValue" Value="0"/>
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="Locking" Value="Never"/>
|
||||
<Property Name="Name" Value="Action_0"/>
|
||||
<Property Name="ResetValue" Value="0"/>
|
||||
<Property Name="SetValue" Value="1"/>
|
||||
<Property Name="ValueDatapoint" Value="Source[global].Variable[DataSource.Axises.PressCtrl.ManualCommands.bToggleAutoRepCycle]"/>
|
||||
</KeyAction>
|
||||
</KeyActions>
|
||||
</VirtualKey>
|
||||
</KeyMapping>
|
||||
</Layer>
|
||||
<Layer Name="Homemode">
|
||||
|
||||
@@ -36,11 +36,12 @@
|
||||
<Text ID="92557" Value="Torque Shaft 2"/>
|
||||
<Text ID="92558" Value="Torque Shaft 3"/>
|
||||
<Text ID="92559" Value="Torque Sahft 4"/>
|
||||
<Text ID="92560" Value=""/>
|
||||
<Text ID="95076" Value="Display Settings"/>
|
||||
<Text ID="100575" Value="Enable Checks"/>
|
||||
<Text ID="100576" Value="Checks Disabled !!!"/>
|
||||
<Text ID="100577" Value="Checks Enabled"/>
|
||||
<Text ID="101925" Value="Repaircycle enable"/>
|
||||
<Text ID="101926" Value="Repaircycle disable"/>
|
||||
</TextLayer>
|
||||
<TextLayer LanguageId="de-DE">
|
||||
<Text ID="89135" Value="Kontrast"/>
|
||||
@@ -74,11 +75,12 @@
|
||||
<Text ID="92557" Value="N - Achse 2"/>
|
||||
<Text ID="92558" Value="N - Achse 3"/>
|
||||
<Text ID="92559" Value="N - Achse 4"/>
|
||||
<Text ID="92560" Value=""/>
|
||||
<Text ID="95076" Value="Display Einstellungen"/>
|
||||
<Text ID="100575" Value="Checks Aktivieren"/>
|
||||
<Text ID="100576" Value="Plausibilitätsprüfungen sind NICHT aktiv"/>
|
||||
<Text ID="100577" Value="Plausibilitätsprüfungen sind aktiv"/>
|
||||
<Text ID="101925" Value="Reperaturzyklus aktivieren"/>
|
||||
<Text ID="101926" Value="Reperaturzyklus deaktivieren"/>
|
||||
</TextLayer>
|
||||
<IndexMap>
|
||||
<Index ID="89135" Value="6010"/>
|
||||
@@ -112,10 +114,11 @@
|
||||
<Index ID="92557" Value="1209"/>
|
||||
<Index ID="92558" Value="1210"/>
|
||||
<Index ID="92559" Value="1211"/>
|
||||
<Index ID="92560" Value="1212"/>
|
||||
<Index ID="95076" Value="6008"/>
|
||||
<Index ID="100575" Value="101"/>
|
||||
<Index ID="100576" Value="103"/>
|
||||
<Index ID="100577" Value="102"/>
|
||||
<Index ID="101925" Value="104"/>
|
||||
<Index ID="101926" Value="105"/>
|
||||
</IndexMap>
|
||||
</TextGroup>
|
||||
@@ -24,17 +24,24 @@
|
||||
<Text ID="98178" Value="Wait Press moved up to Homepos"/>
|
||||
<Text ID="98386" Value="Wait Tollslay moved out from Press"/>
|
||||
<Text ID="99120" Value="Wait Presstime reached"/>
|
||||
<Text ID="101914" Value="Wait All Axises Singlemode"/>
|
||||
<Text ID="101915" Value="Load Absolute Press Values"/>
|
||||
<Text ID="101916" Value="Level Press"/>
|
||||
<Text ID="101917" Value="Wait Press leveled"/>
|
||||
<Text ID="101918" Value="Start Geart"/>
|
||||
<Text ID="101919" Value="Move Press up to Homepos"/>
|
||||
<Text ID="101920" Value="Wait Press moved up to Homepos"/>
|
||||
</TextLayer>
|
||||
<TextLayer LanguageId="de-DE">
|
||||
<Text ID="97951" Value="Initialisierung, prüfe Grundstellung"/>
|
||||
<Text ID="97952" Value="Warte auf Start (mit Teil)"/>
|
||||
<Text ID="97952" Value="Warte auf Start"/>
|
||||
<Text ID="97953" Value="Werkzeugschlitten anheben"/>
|
||||
<Text ID="97954" Value="Werkzeug in Presse einfahren"/>
|
||||
<Text ID="97955" Value="Werkzeug in Presse absenken"/>
|
||||
<Text ID="97956" Value="Werkzeug in Presse anheben"/>
|
||||
<Text ID="97957" Value="Werkzeug aus Presse ausfahren"/>
|
||||
<Text ID="97958" Value="Werkzeug in Bedienerposition absenken"/>
|
||||
<Text ID="97959" Value="Warte auf Start (mit leerem Werkzeug)"/>
|
||||
<Text ID="97959" Value="Warte auf Start"/>
|
||||
<Text ID="97961" Value="Presse auf Vormontageposition fahren"/>
|
||||
<Text ID="97962" Value="Werkstück vormontieren (Werkzeugschrittkette)"/>
|
||||
<Text ID="97963" Value="Presse auf Pressposition fahren"/>
|
||||
@@ -45,26 +52,40 @@
|
||||
<Text ID="98178" Value="Warten bis Presse in Grundstellung gefahren"/>
|
||||
<Text ID="98386" Value="Warten bis Werkzeug aus Presse gefahren"/>
|
||||
<Text ID="99120" Value="Warten bis Presszeit erreicht"/>
|
||||
<Text ID="101914" Value="Warten bis alle Achsen aus der Synchronisierung genommen (Referenzierung wg. Pos.abweichungen)"/>
|
||||
<Text ID="101915" Value="Lade absolute Referenzwerte der Spindeln"/>
|
||||
<Text ID="101916" Value="Presse ausnivellieren (Achsen einzeln fahren)"/>
|
||||
<Text ID="101917" Value="Warten bis Press ausnivelliert"/>
|
||||
<Text ID="101918" Value="Elektronisches Getriebe starten"/>
|
||||
<Text ID="101919" Value="Presse in Grundstellung fahren"/>
|
||||
<Text ID="101920" Value="Warten bis Presse in Grundstellung gefahren"/>
|
||||
</TextLayer>
|
||||
<IndexMap>
|
||||
<Index ID="97951" Value="0"/>
|
||||
<Index ID="97952" Value="1"/>
|
||||
<Index ID="97953" Value="2"/>
|
||||
<Index ID="97954" Value="3"/>
|
||||
<Index ID="97955" Value="5"/>
|
||||
<Index ID="97956" Value="14"/>
|
||||
<Index ID="97957" Value="15"/>
|
||||
<Index ID="97958" Value="17"/>
|
||||
<Index ID="97959" Value="18"/>
|
||||
<Index ID="97961" Value="6"/>
|
||||
<Index ID="97962" Value="8"/>
|
||||
<Index ID="97963" Value="9"/>
|
||||
<Index ID="97968" Value="12"/>
|
||||
<Index ID="98175" Value="4"/>
|
||||
<Index ID="98176" Value="7"/>
|
||||
<Index ID="98177" Value="10"/>
|
||||
<Index ID="98178" Value="13"/>
|
||||
<Index ID="98386" Value="16"/>
|
||||
<Index ID="99120" Value="11"/>
|
||||
<Index ID="97953" Value="10"/>
|
||||
<Index ID="97954" Value="11"/>
|
||||
<Index ID="97955" Value="13"/>
|
||||
<Index ID="97956" Value="22"/>
|
||||
<Index ID="97957" Value="23"/>
|
||||
<Index ID="97958" Value="25"/>
|
||||
<Index ID="97959" Value="26"/>
|
||||
<Index ID="97961" Value="14"/>
|
||||
<Index ID="97962" Value="16"/>
|
||||
<Index ID="97963" Value="17"/>
|
||||
<Index ID="97968" Value="20"/>
|
||||
<Index ID="98175" Value="12"/>
|
||||
<Index ID="98176" Value="15"/>
|
||||
<Index ID="98177" Value="18"/>
|
||||
<Index ID="98178" Value="21"/>
|
||||
<Index ID="98386" Value="24"/>
|
||||
<Index ID="99120" Value="19"/>
|
||||
<Index ID="101914" Value="2"/>
|
||||
<Index ID="101915" Value="3"/>
|
||||
<Index ID="101916" Value="4"/>
|
||||
<Index ID="101917" Value="5"/>
|
||||
<Index ID="101918" Value="6"/>
|
||||
<Index ID="101919" Value="7"/>
|
||||
<Index ID="101920" Value="8"/>
|
||||
</IndexMap>
|
||||
</TextGroup>
|
||||
@@ -1851,4 +1851,8 @@
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="VirtualKey_LED" Value="False"/>
|
||||
</VirtualKey>
|
||||
<VirtualKey Name="cmdToggleRepairCycle">
|
||||
<Property Name="Description" Value=""/>
|
||||
<Property Name="VirtualKey_LED" Value="False"/>
|
||||
</VirtualKey>
|
||||
</KeyMapping>
|
||||
@@ -46,9 +46,9 @@ VAR_CONFIG
|
||||
gbInToolAirsuspensionBw AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput08;
|
||||
gbInTool1MaintCylFw AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput09;
|
||||
gbInTool1MaintCylBw AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput10;
|
||||
gbInTool1MaintBracket1Home AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput11;
|
||||
gbInTool1MaintBracket2Home AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput12;
|
||||
gbInTool1PartAvailable AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput13;
|
||||
gbInTool1MaintBracketHome AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput11;
|
||||
gbInTool1PartAvailable AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput12;
|
||||
gbInTool1PartAvailable2 AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput13;
|
||||
gbInTool1Code1 AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput14;
|
||||
gbInTool1Code2 AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput15;
|
||||
gbInTool1Code3 AT %IX.SL1.IF1.ST5.IF1.ST10.DigitalInput16;
|
||||
|
||||
Reference in New Issue
Block a user