Siemens
Digital Industries, Motion Control, Machine Tool Systems
Automatisiert Fräsen, Nuten solange fräsen bis sich ein Wert ändert
09.10.2024, 10:27 Uhr
Hallo alle,
ich bin derzeit, dabei Experimente an der Sinumerik 840Dsl zu automatisieren. Dafür möcze ich gerade schritt für Schritt schauen, welche Möglichkeiten die Sinumerik bietet.
Im G-Code würde ich gerne schauen, ob ich testweise eine Nut in x Richtung solange fräsen kann, bis z.B. ein R-Parameter den Wert 1 erhält.
Die Parameteränderung erfolgt über Python. Das klappt problemlos.
Gibt es hierfür Zyklen oder eine Idee von eurer Seite aus. Das würde mir sehr helfen.
Wie würdet ihr das programmieren. Würdet ihr ne WHILE schleife nutzen?
ich möchte für X kein Endwert angeben.
Es soll einfach solange in X-Richtung gefräst werden bis R3=1 ist.
Dabei soll demnach während des Frässchnitts der Wert R3 ständig überprüft werden.
Ich würde mich sehr über eure Hilfe freuen!
Rebecka
ich bin derzeit, dabei Experimente an der Sinumerik 840Dsl zu automatisieren. Dafür möcze ich gerade schritt für Schritt schauen, welche Möglichkeiten die Sinumerik bietet.
Im G-Code würde ich gerne schauen, ob ich testweise eine Nut in x Richtung solange fräsen kann, bis z.B. ein R-Parameter den Wert 1 erhält.
Die Parameteränderung erfolgt über Python. Das klappt problemlos.
Gibt es hierfür Zyklen oder eine Idee von eurer Seite aus. Das würde mir sehr helfen.
Wie würdet ihr das programmieren. Würdet ihr ne WHILE schleife nutzen?
ich möchte für X kein Endwert angeben.
Es soll einfach solange in X-Richtung gefräst werden bis R3=1 ist.
Dabei soll demnach während des Frässchnitts der Wert R3 ständig überprüft werden.
Ich würde mich sehr über eure Hilfe freuen!
Rebecka
09.10.2024, 11:15 Uhr
Eine fertige Lösung habe ich nicht parat. Deshalb nur als Denkanstoß:
Die Bahn als Bewegung mit Restweglöschen (DELDTG) programmieren.
Mit einer Bewegungssynchronaktion könntest du deinen R-Parameter abfragen und damit das Stopsignal für das Restweglöschen auslösen.
Beim Messen (MEASA, MEAWA und MEAC) wird das ähnlich gemacht. Dafür gibt es im Handbuch "Arbeitsvorbereitung" auch Programmierbeispiele.
Die Bahn als Bewegung mit Restweglöschen (DELDTG) programmieren.
Mit einer Bewegungssynchronaktion könntest du deinen R-Parameter abfragen und damit das Stopsignal für das Restweglöschen auslösen.
Beim Messen (MEASA, MEAWA und MEAC) wird das ähnlich gemacht. Dafür gibt es im Handbuch "Arbeitsvorbereitung" auch Programmierbeispiele.
10.10.2024, 08:56 Uhr
Ich nutzte auch lieber DELDTG für solche Anwendungen, aber dafür benötigt man eine Endposition.
Wenn keine Endposition angegeben werden soll bietet sich der Befehl MOV an.
In deinem Fall als Beispiel.
ID=200 WHEN TRUE DO MOV[X]=1 FA[X]=Vorschub ; Achse fährt Endlos in Richtung + (MOV[X]=-1 Richtung - )
ID=201 WHEN $R[3]==1 DO MOV[X]=0 ; Achse stoppt
Ich würde dann die Systemvariable $AA_STAT[X] in einer While schleife nutzen um das Programm in einer Schleife zu lassen bis die Bewegung in X beendet wurde.
Gruß
Tobi
Wenn keine Endposition angegeben werden soll bietet sich der Befehl MOV an.
In deinem Fall als Beispiel.
ID=200 WHEN TRUE DO MOV[X]=1 FA[X]=Vorschub ; Achse fährt Endlos in Richtung + (MOV[X]=-1 Richtung - )
ID=201 WHEN $R[3]==1 DO MOV[X]=0 ; Achse stoppt
Ich würde dann die Systemvariable $AA_STAT[X] in einer While schleife nutzen um das Programm in einer Schleife zu lassen bis die Bewegung in X beendet wurde.
Gruß
Tobi
2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: