-> Hier kostenlos registrieren
Hallo ich habe nachfolgendes Problem..
Hier im Vorfeld eine Variablenliste:
S1 AT%IX8.1 : BOOL; (*Ein-Schalter*)
B1 AT%IX9.1 : BOOL; (*Zylinder 1 ausgefahren*)
B2 AT%IX10.1 : BOOL; (*Zylinder 1 eingefahren*)
B3 AT%IX9.2 : BOOL; (*Zylinder 2 ausgefahren*)
B4 AT%IX10.2 : BOOL; (*Zylinder 2 eingefahren*)
B5 AT%IX9.3 : BOOL; (*Zylinder 3 ausgefahren*)
B6 AT%IX10.3 : BOOL; (*Zylinder 3 eingefahren*)
Y1 AT%QX104.1 : BOOL; (*Zylinder 1 Signal-> ausfahren*)
Y2 AT%QX105.1 : BOOL; (*Zylinder 1 Signal-> einfahren*)´
Y3 AT%QX104.2 : BOOL; (*Zylinder 2 Signal-> ausfahren*)
Y4 AT%QX105.2 : BOOL; (*Zylinder 2 Signal-> einfahren*)
Y5 AT%QX104.3 : BOOL; (*Zylinder 3 Signal-> ausfahren*)
Y6 AT%QX105.3 : BOOL; (*Zylinder 3 Signal-> einfahren*)
Ich habe, wie man unschwer erkennen kann 3 Zylinder. Zylinder 1 spannt das Werkstück. Zylinder 2 Biegt eine Seite, Zylinder 3 biegt die andere Seite. Nach dem Zylinder 3 Zurück gefahren ist, soll auch Zylinder 1 zurückfahren damit man das Werkstück entnehmen kann.
Mein Problem liegt jedoch am Anfang. Wenn ich den Schalter S1 betätige fährt Zylinder 1 aus und spannt das Werkstück und B1= True.
Jetzt ist das Problem, dass wenn ich sage if B1 = True then Y3...
fährt er ja nicht wieder ein, weil B1 ja die ganze Zeit True ist. Und der Zylinder 2 muss wieder einfahren, weil er sonst mit dem Zylinder 3 kollidiert.
Wie lasse ich den 2ten Zylinder ausfahren ? Ich kann mich doch nicht auf den Zylinder beziehen, der die ganze Zeit nur eine Position hat oder ?
kann das jemand nachvollziehen und mir helfen ?
Hier im Vorfeld eine Variablenliste:
S1 AT%IX8.1 : BOOL; (*Ein-Schalter*)
B1 AT%IX9.1 : BOOL; (*Zylinder 1 ausgefahren*)
B2 AT%IX10.1 : BOOL; (*Zylinder 1 eingefahren*)
B3 AT%IX9.2 : BOOL; (*Zylinder 2 ausgefahren*)
B4 AT%IX10.2 : BOOL; (*Zylinder 2 eingefahren*)
B5 AT%IX9.3 : BOOL; (*Zylinder 3 ausgefahren*)
B6 AT%IX10.3 : BOOL; (*Zylinder 3 eingefahren*)
Y1 AT%QX104.1 : BOOL; (*Zylinder 1 Signal-> ausfahren*)
Y2 AT%QX105.1 : BOOL; (*Zylinder 1 Signal-> einfahren*)´
Y3 AT%QX104.2 : BOOL; (*Zylinder 2 Signal-> ausfahren*)
Y4 AT%QX105.2 : BOOL; (*Zylinder 2 Signal-> einfahren*)
Y5 AT%QX104.3 : BOOL; (*Zylinder 3 Signal-> ausfahren*)
Y6 AT%QX105.3 : BOOL; (*Zylinder 3 Signal-> einfahren*)
Ich habe, wie man unschwer erkennen kann 3 Zylinder. Zylinder 1 spannt das Werkstück. Zylinder 2 Biegt eine Seite, Zylinder 3 biegt die andere Seite. Nach dem Zylinder 3 Zurück gefahren ist, soll auch Zylinder 1 zurückfahren damit man das Werkstück entnehmen kann.
Mein Problem liegt jedoch am Anfang. Wenn ich den Schalter S1 betätige fährt Zylinder 1 aus und spannt das Werkstück und B1= True.
Jetzt ist das Problem, dass wenn ich sage if B1 = True then Y3...
fährt er ja nicht wieder ein, weil B1 ja die ganze Zeit True ist. Und der Zylinder 2 muss wieder einfahren, weil er sonst mit dem Zylinder 3 kollidiert.
Wie lasse ich den 2ten Zylinder ausfahren ? Ich kann mich doch nicht auf den Zylinder beziehen, der die ganze Zeit nur eine Position hat oder ?
kann das jemand nachvollziehen und mir helfen ?
Zuletzt bearbeitet: