Drehzylinder eingebaut
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.7.4.67 SP"?>
|
||||
<?AutomationStudio Version="4.7.5.60 SP"?>
|
||||
<Project Description="Lackierzelle doppelt" Version="1.00.0" Edition="Standard" EditionComment="Standard" xmlns="http://br-automation.co.at/AS/Project">
|
||||
<Communication>
|
||||
<OnlineConfiguration Name="Lackier_DOu" DeviceType="TCPIP" DeviceParameters="/IF=tcpip /LOPO=11159 /SA=96" ConnectionParameters="/COMT=2500 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.1.142 /REPO=11159 /ANSL=1 /PT=11169" Description="" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.7.4.67 SP"?>
|
||||
<?AutomationStudio Version="4.7.5.60 SP"?>
|
||||
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
|
||||
<ConfigurationManager ActiveConfigurationName="Config1" />
|
||||
<Deployment Value="ActiveCpu" />
|
||||
|
||||
@@ -46,6 +46,11 @@ PROGRAM _CYCLIC
|
||||
lRobInterface.FromRobot.bRotateFw := dpInByte[2].3;
|
||||
//R<EFBFBD>ckw<EFBFBD>rts Rotieren
|
||||
lRobInterface.FromRobot.bRotateBw := dpInByte[2].4;
|
||||
//Schwenken auf 0<EFBFBD>
|
||||
lRobInterface.FromRobot.bPos0 := dpInByte[2].5;
|
||||
//Schwenken auf 180<EFBFBD>
|
||||
lRobInterface.FromRobot.bPos180 := dpInByte[2].6;
|
||||
|
||||
|
||||
|
||||
//Eingangs Byte 3 (24-31)
|
||||
@@ -110,7 +115,11 @@ PROGRAM _CYCLIC
|
||||
//Ausgangs Byte 3 (24-31)
|
||||
//Schlitten in Lackierposition
|
||||
dpOutByte[3].0 := lRobInterface.ToRobot.bSlayInSprayPos;
|
||||
|
||||
//In Pos 0<EFBFBD> gedreht
|
||||
dpOutByte[3].1 := lRobInterface.ToRobot.bInPos0;
|
||||
//In Pos 180<EFBFBD> gedreht
|
||||
dpOutByte[3].2 := lRobInterface.ToRobot.bInPos180;
|
||||
|
||||
//Ausgangs Byte 4 (32-39)
|
||||
//Ausgangs Byte 5 (40-47)
|
||||
dpOutByte[5] := lABBRobot.Out.usProgNr;
|
||||
|
||||
@@ -33,6 +33,8 @@ TYPE
|
||||
END_STRUCT;
|
||||
gtyp_ToRobot : STRUCT
|
||||
bSlayInSprayPos : BOOL; (*Schlitten in Lackierpos*)
|
||||
bInPos0 : BOOL; (*Drehen in Pos 0<>*)
|
||||
bInPos180 : BOOL; (*Drehen in Pos 180<38>*)
|
||||
uiRotationPos : UINT; (*Rotationsposition (0-360<36>) IST*)
|
||||
usParts : USINT; (*Anuzahl Teile*)
|
||||
END_STRUCT;
|
||||
@@ -46,6 +48,8 @@ TYPE
|
||||
bPaintWide : BOOL; (*Pistole Breitstrahl*)
|
||||
bRotateFw : BOOL; (*Vorw<72>rts Rotieren*)
|
||||
bRotateBw : BOOL; (*R<>ckw<6B>rts Rotieren*)
|
||||
bPos0 : BOOL; (*Drehen auf Pos 0<>*)
|
||||
bPos180 : BOOL; (*Drehen auf Pos 180<38>*)
|
||||
usRotationSpeed : USINT; (*Rotationsgeschwindigkeit 1-255*)
|
||||
uiRotationPos : UINT; (*Rotationsposition (0-360<36>) SOLL*)
|
||||
END_STRUCT;
|
||||
|
||||
@@ -75,6 +75,24 @@ ACTION DoCylinderPos:
|
||||
States.CylinderPos.bSlayFw := bInSlayFw;
|
||||
States.CylinderPos.bAirFlapOpen := Valves.bOpenFlap AND bInAirFlapOpen;
|
||||
States.CylinderPos.bAirFlapClosed := NOT Valves.bOpenFlap AND bInAirFlapClosed;
|
||||
FUBs.TON_Pos0.IN := bOuTurn0;
|
||||
FUBs.TON_Pos0.PT := t#3s500ms;
|
||||
FUBs.TON_Pos0();
|
||||
IF FUBs.TON_Pos0.Q THEN
|
||||
States.CylinderPos.bPos0 := TRUE;
|
||||
ELSIF Valves.bTurn180 THEN
|
||||
States.CylinderPos.bPos0 := FALSE;
|
||||
END_IF
|
||||
|
||||
FUBs.TON_Pos180.IN := bOuTurn180;
|
||||
FUBs.TON_Pos180.PT := t#3s500ms;
|
||||
FUBs.TON_Pos180();
|
||||
IF FUBs.TON_Pos180.Q THEN
|
||||
States.CylinderPos.bPos180 := TRUE;
|
||||
ELSIF NOT Valves.bTurn180 THEN
|
||||
States.CylinderPos.bPos180 := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
END_ACTION
|
||||
|
||||
@@ -131,20 +149,22 @@ ACTION DoValveCtrl:
|
||||
//Ventile ansteuern
|
||||
//===================================================
|
||||
bOuGripperChangeOpen := Valves.bToolChangerOpen;
|
||||
bOuSlayFw := Valves.bSlayFw AND States.bSafetyOk; // FixMe
|
||||
bOuSlayBw := Valves.bSlayBw AND States.bSafetyOk; // FixMe
|
||||
bOuSlayFw := Valves.bSlayFw AND States.bSafetyOk;
|
||||
bOuSlayBw := Valves.bSlayBw AND States.bSafetyOk;
|
||||
|
||||
bOuTurn0 := NOT Valves.bTurn180 AND States.bSafetyOk AND States.CylinderPos.bSlayFw;
|
||||
bOuTurn180 := Valves.bTurn180 AND States.bSafetyOk AND States.CylinderPos.bSlayFw;
|
||||
|
||||
bSOuCloseGate := Valves.bCloseGate AND States.bBumperOk;
|
||||
bSOuOpenFlap := Valves.bOpenFlap;
|
||||
|
||||
//FixMe Zyklus
|
||||
//FixMe Absaugung
|
||||
//Luftpistolen deaktivieren
|
||||
bOuPaintGunOn := (lCmdInterface.Robot.FromRobot.bPaintOn AND States.bSafetyOk) AND States.CylinderPos.bAirFlapOpen
|
||||
AND NOT MpAlarmXCheckReaction (gMpAlarmXCore, AlarmNames.ReactionDisableGun);
|
||||
bOuPaintRound := lCmdInterface.Robot.FromRobot.bPaintRound AND States.bSafetyOk AND NOT MpAlarmXCheckReaction (gMpAlarmXCore, AlarmNames.ReactionDisableGun);
|
||||
bOuPaintWide := lCmdInterface.Robot.FromRobot.bPaintWide AND States.bSafetyOk AND NOT MpAlarmXCheckReaction (gMpAlarmXCore, AlarmNames.ReactionDisableGun);
|
||||
|
||||
|
||||
END_ACTION
|
||||
|
||||
|
||||
@@ -153,6 +173,8 @@ ACTION DoMachToRob:
|
||||
//Interface zum Roboter beschreiben
|
||||
//===================================================
|
||||
lCmdInterface.Robot.ToRobot.bSlayInSprayPos := States.CylinderPos.bSlayFw;
|
||||
lCmdInterface.Robot.ToRobot.bInPos0 := States.CylinderPos.bPos0;
|
||||
lCmdInterface.Robot.ToRobot.bInPos180 := States.CylinderPos.bPos180;
|
||||
END_ACTION
|
||||
|
||||
ACTION DoAlarms:
|
||||
@@ -199,7 +221,7 @@ ACTION DoAlarms:
|
||||
|
||||
//Zylinder<EFBFBD>berwachung Schutztor
|
||||
FUBs.CylCtrl_AirFlap.bInOutputCylinderBw := Valves.bOpenFlap;
|
||||
FUBs.CylCtrl_AirFlap.bInOutputCylinderFw := Valves.bCloseGate;
|
||||
FUBs.CylCtrl_AirFlap.bInOutputCylinderFw := NOT Valves.bOpenFlap;
|
||||
FUBs.CylCtrl_AirFlap.bInSensorCylinderBw := bInAirFlapOpen;
|
||||
FUBs.CylCtrl_AirFlap.bInSensorCylinderFw := bInAirFlapClosed;
|
||||
FUBs.CylCtrl_AirFlap.tInCylinderBw := t#4s;
|
||||
|
||||
@@ -97,7 +97,16 @@ PROGRAM _CYCLIC
|
||||
IF lMachine.bMachineON THEN
|
||||
END_IF
|
||||
|
||||
|
||||
//Drehzylinder ansteuern
|
||||
IF ((lMachine.enMode = enMACH_JOG) OR (lMachine.enMode = enMACH_AUTOMATIC)) AND States.CylinderPos.bSlayFw THEN
|
||||
IF lCmdInterface.Robot.FromRobot.bPos0 THEN
|
||||
Valves.bTurn180 := FALSE;
|
||||
END_IF
|
||||
IF lCmdInterface.Robot.FromRobot.bPos180 THEN
|
||||
Valves.bTurn180 := TRUE;
|
||||
END_IF
|
||||
END_IF
|
||||
|
||||
//Achse in Hand und Automatik von Roboter bedienen wenn Schlitten in lackierposition
|
||||
IF ((lMachine.enMode = enMACH_JOG) OR (lMachine.enMode = enMACH_AUTOMATIC)) AND NOT States.CylinderPos.bSlayBw THEN
|
||||
CASE enStepAxis OF
|
||||
@@ -111,10 +120,10 @@ PROGRAM _CYCLIC
|
||||
//END_IF
|
||||
//Sonst Positionierung/Drehung von RoboterSignal
|
||||
IF (MpFUB.AxBasic_X.Position >= 0) AND (MpFUB.AxBasic_X.Position <= 360) THEN
|
||||
IF NOT FC_InTolerance (lCmdInterface.Robot.FromRobot.uiRotationPos, lCmdInterface.Robot.ToRobot.uiRotationPos, -2, +2) THEN
|
||||
IF NOT FC_InTolerance (lCmdInterface.Robot.FromRobot.uiRotationPos, lCmdInterface.Robot.ToRobot.uiRotationPos, -2, +2) AND States.CylinderPos.bPos0 THEN
|
||||
//Positionieren
|
||||
enStepAxis := enAxisStep_StartPos;
|
||||
ELSIF lCmdInterface.Robot.FromRobot.bRotateFw OR lCmdInterface.Robot.FromRobot.bRotateBw THEN
|
||||
ELSIF (lCmdInterface.Robot.FromRobot.bRotateFw OR lCmdInterface.Robot.FromRobot.bRotateBw) AND States.CylinderPos.bPos0 THEN
|
||||
//Rotieren (Pos Speichern f<EFBFBD>r R<EFBFBD>ckcker zur Pos
|
||||
enStepAxis := enAxisStep_TurningCont;
|
||||
MpData.AxPar_X.Velocity := 10.0 + USINT_TO_REAL (lCmdInterface.Robot.FromRobot.usRotationSpeed) * 2.0; // <EFBFBD>/s
|
||||
@@ -415,7 +424,7 @@ PROGRAM _CYCLIC
|
||||
//Wait for Motors Off und Schlitten Ausgefahren
|
||||
//---------------------------
|
||||
enAutoStep_WAIT_MOT_OFF_SLAY_OUT:
|
||||
Valves.bSlayBw := TRUE;
|
||||
Valves.bSlayBw := States.CylinderPos.bPos0;
|
||||
Valves.bSlayFw := FALSE;
|
||||
|
||||
IF NOT lABBRobot.In.bProgramRun THEN
|
||||
|
||||
@@ -20,6 +20,8 @@ VAR
|
||||
bOuPaintGunOn : BOOL; (*Farbpistole Nadel Auf*)
|
||||
bOuPaintRound : BOOL; (*Farbpistole Rundstrahl*)
|
||||
bOuPaintWide : BOOL; (*Farbpistole Breitstrahl*)
|
||||
bOuTurn0 : BOOL; (*Schwenkarm auf 0<> drehen*)
|
||||
bOuTurn180 : BOOL; (*Schwenkarm auf 180<38> drehen*)
|
||||
bOuLampGreen : BOOL; (*LED Starttaster*)
|
||||
bOuFireTestReset : BOOL; (*Reset / Test Feuermelder*)
|
||||
bOuOperationToSucktion : BOOL; (*Meldung Betrieb an Absaugung*)
|
||||
|
||||
@@ -4,6 +4,8 @@ TYPE
|
||||
TON_SafetyOk : TON;
|
||||
TON_UnlockTool : TON;
|
||||
TON_ErrorSucktion : TON;
|
||||
TON_Pos0 : TON;
|
||||
TON_Pos180 : TON;
|
||||
CylCtrl_Slay : FUB_CylinderCheck;
|
||||
CylCtrl_Gate : FUB_CylinderCheck;
|
||||
CylCtrl_AirFlap : FUB_CylinderCheck;
|
||||
@@ -25,6 +27,7 @@ TYPE
|
||||
bSlayBw : BOOL; (*Werkzeugschlitten R<>ck (Grundstellung)*)
|
||||
bOpenFlap : BOOL; (*Absaugklappe <20>ffnen*)
|
||||
bCloseGate : BOOL;
|
||||
bTurn180 : BOOL;
|
||||
END_STRUCT;
|
||||
typ_States : STRUCT (*Maschinenzust<73>nde*)
|
||||
bSafetyOk : {REDUND_UNREPLICABLE} BOOL; (*Sicherheit Zelle Ok*)
|
||||
@@ -42,6 +45,8 @@ TYPE
|
||||
bGateOpen : BOOL; (*Einlegetor ge<67>ffnet*)
|
||||
bAirFlapOpen : BOOL;
|
||||
bAirFlapClosed : BOOL;
|
||||
bPos0 : BOOL;
|
||||
bPos180 : BOOL;
|
||||
END_STRUCT;
|
||||
typ_Times : STRUCT (*Zykluszeiten etc.*)
|
||||
diSteptime : {REDUND_UNREPLICABLE} DINT; (*[<5B>s]*)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.7.4.67 SP?>
|
||||
<?AutomationStudio Version=4.7.5.60 SP?>
|
||||
<Cpu xmlns="http://br-automation.co.at/AS/Cpu">
|
||||
<Objects>
|
||||
<Object Type="File" Description="Software configuration">Cpu.sw</Object>
|
||||
|
||||
@@ -269,4 +269,8 @@ VAR_CONFIG
|
||||
guiSPLCInMaintDRightESTOPDiag AT %IW."21K1".UINT003;
|
||||
MachCtrl:bOuGripperChangeOpen AT %QX."23K2".DigitalOutput05;
|
||||
MachCtrl2:bOuGripperChangeOpen AT %QX."23K2".DigitalOutput06;
|
||||
MachCtrl:bOuTurn180 AT %QX."23K4".DigitalOutput10;
|
||||
MachCtrl:bOuTurn0 AT %QX."23K4".DigitalOutput09;
|
||||
MachCtrl2:bOuTurn180 AT %QX."23K6".DigitalOutput10;
|
||||
MachCtrl2:bOuTurn0 AT %QX."23K6".DigitalOutput09;
|
||||
END_VAR
|
||||
|
||||
Binary file not shown.
@@ -5,17 +5,17 @@ HostName=SL12.xy.org
|
||||
Destination=192.168.3.1
|
||||
CommunicationMode=1
|
||||
[GUI]
|
||||
NameWidth=100
|
||||
SortOrder=0
|
||||
NameWidth=100
|
||||
ASVarWidth=296
|
||||
ViewMode=0
|
||||
SortColumn=0
|
||||
SADRWidth=202
|
||||
SortColumn=0
|
||||
DescriptionWidth=562
|
||||
ChannelWidth=383
|
||||
SplitterPosition=2205
|
||||
StateWidth=100
|
||||
SDVarWidth=416
|
||||
StateWidth=100
|
||||
[Manual]
|
||||
Timeout=1000
|
||||
Port=50000
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<osdd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ethernet-powerlink.org/osdd osdd.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" Version="1.6" xmlns="http://www.ethernet-powerlink.org/osdd">
|
||||
<Topology SafetyDomain="1">
|
||||
<GeneratorDescription Name="AutomationStudio" Version="4.7.4.67" LanguageID="1">
|
||||
<GeneratorDescription Name="AutomationStudio" Version="4.7.5.60" LanguageID="1">
|
||||
<Info Name="ARVersion" Value="47301" />
|
||||
<Info Name="SafetyRelease" Value="1.10" />
|
||||
<Info Name="Communication" Value="/IF=tcpip /LOPO=11159 /SA=96 /COMT=2500 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.1.142 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000" />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<osdd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ethernet-powerlink.org/osdd osdd.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" Version="1.6" xmlns="http://www.ethernet-powerlink.org/osdd">
|
||||
<Topology SafetyDomain="1">
|
||||
<GeneratorDescription Name="AutomationStudio" Version="4.7.4.67" LanguageID="1">
|
||||
<GeneratorDescription Name="AutomationStudio" Version="4.7.5.60" LanguageID="1">
|
||||
<Info Name="ARVersion" Value="47301" />
|
||||
<Info Name="SafetyRelease" Value="1.10" />
|
||||
<Info Name="Communication" Value="/IF=tcpip /LOPO=11159 /SA=96 /COMT=2500 /RT=1000 /AM=* /SDT=5 /DAIP=192.168.1.142 /REPO=11159 /ANSL=1 /PT=11169 /PORT=50000" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.7.4.67 SP"?>
|
||||
<?AutomationStudio Version="4.7.5.60 SP"?>
|
||||
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
|
||||
<ConfigurationManager ActiveConfigurationName="Config1" />
|
||||
<Deployment Value="ActiveCpu" />
|
||||
|
||||
Reference in New Issue
Block a user