Siemens
Digital Industries, Motion Control, Machine Tool Systems
840D WHEN-Anweisung mit IF-Anweisungen
24.11.2022, 16:33 Uhr
Hallo,
ich wollte fragen, ob das folgende funktionieren kann?
WHEN (Merker1==1) DO DELDTG
IF (Merker2==1)
R100=PosNeu1
ENDIF
IF (Merker3==1)
R101=PosNeu2
ENDIF
G1 G91 X=10 F=100
Was ich machen möchte, das ist das folgende:
Gleichzeitig, wenn Merker1==1 soll Restverfahrweg-Löschen ausgeführt werden (meist eben bevor die 10 mm Verfahrweg erreicht sind) und der aktuellste Wert von PosNeu1 oder PosNeu2 (beide sind nämlich veränderlich) (abhängig von Merker2 und Merker3) in den R-Parametern gespeichert werden.
Eigentlich müssten für wirklich gleichzeitige Bearbeitung die IF-Anweisungen in der WHEN Zeile stehen, oder? Wenn ja, wie mache ich das? Oder gibt es noch ne andere Möglichkeit?
Würde mich sehr über eure Antworten freuen :-)
Grüße
DirkN
ich wollte fragen, ob das folgende funktionieren kann?
WHEN (Merker1==1) DO DELDTG
IF (Merker2==1)
R100=PosNeu1
ENDIF
IF (Merker3==1)
R101=PosNeu2
ENDIF
G1 G91 X=10 F=100
Was ich machen möchte, das ist das folgende:
Gleichzeitig, wenn Merker1==1 soll Restverfahrweg-Löschen ausgeführt werden (meist eben bevor die 10 mm Verfahrweg erreicht sind) und der aktuellste Wert von PosNeu1 oder PosNeu2 (beide sind nämlich veränderlich) (abhängig von Merker2 und Merker3) in den R-Parametern gespeichert werden.
Eigentlich müssten für wirklich gleichzeitige Bearbeitung die IF-Anweisungen in der WHEN Zeile stehen, oder? Wenn ja, wie mache ich das? Oder gibt es noch ne andere Möglichkeit?
Würde mich sehr über eure Antworten freuen :-)
Grüße
DirkN
24.11.2022, 16:45 Uhr
... ich sehe gerade noch, dass der Editer die IF-Anweisungen nicht mit den Leerzeichen, wie eigentlich von mir beabsichtigt, eingerückt hat... der Übersicht halber, wollte ich die natürlich einrücken :-)
24.11.2022, 20:20 Uhr
nixalsverdruss
Level 7 = Community-Professor
Gruppe: Mitglied
Mitglied seit: 16.11.2003
Beiträge: 1.511
Mitglied seit: 16.11.2003
Beiträge: 1.511
Hallo,
ich wollte fragen, ob das folgende funktionieren kann?
WHEN (Merker1==1) DO DELDTG
IF (Merker2==1)
R100=PosNeu1
ENDIF
IF (Merker3==1)
R101=PosNeu2
ENDIF
G1 G91 X=10 F=100
ich wollte fragen, ob das folgende funktionieren kann?
WHEN (Merker1==1) DO DELDTG
IF (Merker2==1)
R100=PosNeu1
ENDIF
IF (Merker3==1)
R101=PosNeu2
ENDIF
G1 G91 X=10 F=100
vielleicht so ?
// wenn die Merker als Bool definiert sind dann ohne ==
WHEN (Merker1 OR Merker2 OR Merker3 ) DO DELDTG // der Satz Bezieht sich nur auf den nächsten Verfahrbefehl
WHEN ((Merker1==1) OR (Merker2==1) OR (Merker3==1) ) DO DELDTG // alternativ
G1 G91 X=10 F=100 #
IF (Merker2)
R100=PosNeu1
ENDIF
IF (Merker3)
R101=PosNeu2
ENDIF
Ich gehe davon aus das die neue Position nach dem Restweglöschen übertragen werden soll
Es gibt auch noch einen Systemvariable in der nach dem Restweglöschen der Betrag der gelöscht wurde enthalten ist
25.11.2022, 09:05 Uhr
vielleicht so ?
// wenn die Merker als Bool definiert sind dann ohne ==
WHEN (Merker1 OR Merker2 OR Merker3 ) DO DELDTG // der Satz Bezieht sich nur auf den nächsten Verfahrbefehl
WHEN ((Merker1==1) OR (Merker2==1) OR (Merker3==1) ) DO DELDTG // alternativ
G1 G91 X=10 F=100 #
IF (Merker2)
R100=PosNeu1
ENDIF
IF (Merker3)
R101=PosNeu2
ENDIF
Ich gehe davon aus das die neue Position nach dem Restweglöschen übertragen werden soll
Es gibt auch noch einen Systemvariable in der nach dem Restweglöschen der Betrag der gelöscht wurde enthalten ist
// wenn die Merker als Bool definiert sind dann ohne ==
WHEN (Merker1 OR Merker2 OR Merker3 ) DO DELDTG // der Satz Bezieht sich nur auf den nächsten Verfahrbefehl
WHEN ((Merker1==1) OR (Merker2==1) OR (Merker3==1) ) DO DELDTG // alternativ
G1 G91 X=10 F=100 #
IF (Merker2)
R100=PosNeu1
ENDIF
IF (Merker3)
R101=PosNeu2
ENDIF
Ich gehe davon aus das die neue Position nach dem Restweglöschen übertragen werden soll
Es gibt auch noch einen Systemvariable in der nach dem Restweglöschen der Betrag der gelöscht wurde enthalten ist
Ja, die IF-Anweisungen einfach nach dem G1-Verfahren zu machen, das war auch meine Idee gestern Abend ;-)
So werde ich es zuerst mal probieren.
Danke :-)
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: