Changed Valves

This commit is contained in:
2019-07-03 16:16:49 +02:00
parent c70bd79da5
commit 6b86a7bdd4
9 changed files with 69 additions and 25 deletions

View File

@@ -48,8 +48,14 @@ END_ACTION
ACTION DoValveCtrl:
//Ventile ansteuern
//===================================================
bOuHorBw := NOT Valves.bHorFw AND lMachine.bMachineON;
bOuHorFw := Valves.bHorFw AND lMachine.bMachineON;
bOuHorFw := ((Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManFw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorFw AND Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
) AND lMachine.bMachineON;
bOuHorBw := ((NOT Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManBw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorBw AND NOT Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
)AND lMachine.bMachineON;
bOuHorPreBw := NOT Valves.bHorPreFw AND lMachine.bMachineON;
bOuHorPreFw := Valves.bHorPreFw AND lMachine.bMachineON;
IF Valves.bTestUnitFw THEN

View File

@@ -57,12 +57,15 @@ PROGRAM _CYCLIC
VCButtons.HorBw.usStatus.1 := NOT MoveConditions.bHorBw;
VCButtons.HorFw.usStatus.0 := States.CylinderPos.bHorFw;
VCButtons.HorFw.usStatus.1 := NOT MoveConditions.bHorFw;
bHorManFw := FALSE;
bHorManBw := FALSE;
IF VCButtons.HorBw.bCommand THEN
Valves.bHorFw := FALSE;
END_IF
IF VCButtons.HorFw.bCommand THEN
Valves.bHorFw := TRUE;
END_IF
bHorManBw := TRUE;
Valves.bHorFw := FALSE; // Nur f<EFBFBD>r Automatik
ELSIF VCButtons.HorFw.bCommand THEN
bHorManFw := TRUE;
Valves.bHorFw := TRUE; // Nur f<EFBFBD>r Automatik
END_IF
//Pr<EFBFBD>feinheit
VCButtons.TestUnitFw.usStatus.1 := NOT MoveConditions.bTestUnitFw;

View File

@@ -11,6 +11,8 @@ VAR
bInit : BOOL; (*Init*)
bTransitionCondition : BOOL; (*Weiterschaltbedingung*)
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
bHorManFw : BOOL;
bHorManBw : BOOL;
END_VAR
(*//USINT*)
VAR

View File

@@ -142,8 +142,14 @@ ACTION DoValveCtrl:
bOuHeadOut := NOT Valves.bHeadIn AND lMachine.bMachineON;
bOuStopperOut := Valves.bStopperOut AND lMachine.bMachineON;
bOuStopperIn := NOT Valves.bStopperOut AND lMachine.bMachineON;
bOuHorFw := Valves.bHorFw AND lMachine.bMachineON;
bOuHorBw := NOT Valves.bHorFw AND lMachine.bMachineON;
bOuHorFw := ((Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManFw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorFw AND Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
) AND lMachine.bMachineON;
bOuHorBw := ((NOT Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManBw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorBw AND NOT Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
)AND lMachine.bMachineON;
END_ACTION
ACTION DoAlarms:

View File

@@ -231,10 +231,14 @@ PROGRAM _CYCLIC
VCButtons.HorBw.usStatus.1 := NOT MoveConditions.bHorBw;
VCButtons.HorFw.usStatus.0 := States.CylinderPos.bHorFw;
VCButtons.HorFw.usStatus.1 := NOT MoveConditions.bHorFw;
bHorManFw := FALSE;
bHorManBw := FALSE;
IF VCButtons.HorBw.bCommand THEN
Valves.bHorFw := FALSE;
bHorManBw := TRUE;
Valves.bHorFw := FALSE; // Nur f<EFBFBD>r Automatik
ELSIF VCButtons.HorFw.bCommand THEN
Valves.bHorFw := TRUE;
bHorManFw := TRUE;
Valves.bHorFw := TRUE; // Nur f<EFBFBD>r Automatik
END_IF
//Zuf<EFBFBD>hrkopf

View File

@@ -13,6 +13,8 @@ VAR
bTransitionCondition : BOOL; (*Weiterschaltbedingung*)
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
bAxisReadyForCommand : BOOL;
bHorManFw : BOOL;
bHorManBw : BOOL;
END_VAR
(*//USINT*)
VAR

View File

@@ -46,10 +46,21 @@ END_ACTION
ACTION DoValveCtrl:
//Zylinder ansteuern
//===================================================
bOuHorBw := NOT Valves.bHorFw AND lMachine.bMachineON;
bOuHorFw := Valves.bHorFw AND lMachine.bMachineON;
bOuVerBw := NOT Valves.bVerFw AND lMachine.bMachineON;
bOuVerFw := Valves.bVerFw AND lMachine.bMachineON;
bOuHorFw := ((Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManFw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorFw AND Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
) AND lMachine.bMachineON;
bOuHorBw := ((NOT Valves.bHorFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bHorManBw AND (lMachine.enMode = enMACH_JOG)) OR
(bInHorBw AND NOT Valves.bHorFw AND (lMachine.enMode = enMACH_JOG))
)AND lMachine.bMachineON;
bOuVerFw := ((Valves.bVerFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bVerManFw AND (lMachine.enMode = enMACH_JOG))
) AND lMachine.bMachineON;
bOuVerBw := ((NOT Valves.bVerFw AND (lMachine.enMode <> enMACH_JOG)) OR
(bVerManBw AND (lMachine.enMode = enMACH_JOG)) OR
(bInVerBw AND NOT Valves.bVerFw AND (lMachine.enMode = enMACH_JOG))
)AND lMachine.bMachineON;
bOuTangBreakerFw := Valves.bTngBrkFw AND lMachine.bMachineON;
END_ACTION

View File

@@ -39,24 +39,30 @@ PROGRAM _CYCLIC
VCButtons.HorBw.usStatus.1 := NOT MoveConditions.bHorBw;
VCButtons.HorFw.usStatus.0 := States.CylinderPos.bHorFw;
VCButtons.HorFw.usStatus.1 := NOT MoveConditions.bHorFw;
bHorManFw := FALSE;
bHorManBw := FALSE;
IF VCButtons.HorBw.bCommand THEN
Valves.bHorFw := FALSE;
END_IF
IF VCButtons.HorFw.bCommand THEN
Valves.bHorFw := TRUE;
END_IF
bHorManBw := TRUE;
Valves.bHorFw := FALSE; // Nur f<EFBFBD>r Automatik
ELSIF VCButtons.HorFw.bCommand THEN
bHorManFw := TRUE;
Valves.bHorFw := TRUE; // Nur f<EFBFBD>r Automatik
END_IF
//Vertikaler Zustellhub
VCButtons.VerBw.usStatus.0 := States.CylinderPos.bVerBw;
VCButtons.VerBw.usStatus.1 := FALSE; //R<EFBFBD>ckstellen immer erlaubt
VCButtons.VerFw.usStatus.0 := States.CylinderPos.bVerFw;
VCButtons.VerFw.usStatus.1 := NOT MoveConditions.bVerFw;
bVerManFw := FALSE;
bVerManBw := FALSE;
IF VCButtons.VerBw.bCommand THEN
Valves.bVerFw := FALSE;
END_IF
IF VCButtons.VerFw.bCommand THEN
Valves.bVerFw := TRUE;
END_IF
bVerManBw := TRUE;
Valves.bVerFw := FALSE; // Nur f<EFBFBD>r Automatik
ELSIF VCButtons.VerFw.bCommand THEN
bVerManFw := TRUE;
Valves.bVerFw := TRUE; // Nur f<EFBFBD>r Automatik
END_IF
//Zapfenbrecher
VCButtons.BrkTang.usStatus.1 := NOT MoveConditions.bTngBrkFw;

View File

@@ -11,6 +11,10 @@ VAR
bStartup : BOOL;
bTransitionCondition : BOOL; (*Weiterschaltbedingung*)
bEnableNextStep : BOOL; (*N<>chsten Schritt (Semiautomatik) Freigeben*)
bHorManFw : BOOL;
bHorManBw : BOOL;
bVerManFw : BOOL;
bVerManBw : BOOL;
END_VAR
(*//USINT*)
VAR