Palettenverwaltung

Im Bearbeitungsprogramm für das Werkstück sind einige Änderungen gegenüber der Standardbearbeitung (1 von Hand geladenes Werkstück) vorzunehmen:

  • Das Programm muss mit M17 statt mit M30 enden.

  • Statt den Offset wie im Standardbetrieb zu schreiben (z. B. G54), wird eine Variable geschrieben (z. B. G159=[V.P.OffsetFace1]). Zur Erinnerung: Maschinenoffsets gehen von G54 bis G59 und dann G159 = 7 usw. G54 entspricht G159 = 1. Die Maschine hat maximal 97 Offsets (G159 = 97).

  • Ein ACS wird mit einer Variablen auf der C-Achse hinzugefügt; dies ermöglicht eine Koordinatendrehung (die C-Achse ist physisch nicht mehr verfügbar, wenn die Maschine mit der B-Achse auf 90° arbeitet).

Kurzbeispiel des Hauptprogramms  

(…)
#VAR (Initialisation des variables)
V.P.OffsetFace1 = 0
V.P.OffsetFace2 = 0
V.P.ACSFace1C = 0 
V.P.ACSFace2C = 0
#ENDVAR
P50 = 1 (Numéro de palette de départ)
P51 = 4 (Nombre de palettes à usiner)
$FOR P100 = P50,P50+P51-1,1 (Boucle : Premiere, Derniere, Increment)
$SWITCH P100
$CASE 1 (Palette 1) 
G801[1] (Chargement Palette Position 1)                                    
V.P.OffsetFace1 = 1 (G159 = 1)
V.P.OffsetFace2 = 2 (G159 = 2)
V.P.ACSFace1C = 0 (Correction Angle C Face1)
V.P.ACSFace2C = 0 (Correction Angle C Face2)
$BREAK
$CASE 2 (Palette 2)
G801[2] (Chargement Palette Position 2) 
V.P.OffsetFace1 = 4 (G159 = 4)
V.P.OffsetFace2 = 5 (G159 = 5)
V.P.ACSFace1C = 0 (Correction Angle C Face1)
V.P.ACSFace2C = 0 (Correction Angle C Face2)
$BREAK
$CASE 3 (Palette 3)
G801[3] (Chargement Palette Position 3) 
V.P.OffsetFace1 = 7 (G159 = 7)
V.P.OffsetFace2 = 8 (G159 = 8)
V.P.ACSFace1C = 0 (Correction Angle C Face1)
V.P.ACSFace2C = 0 (Correction Angle C Face2)
$BREAK
(...)
$DEFAULT 
#MSG SYN HMI["Numero de palette hors plage"]
M30
$ENDSWITCH
L  C:\NC\Programme_exemple.nc (Programme d'usinage)
L  C:\NC\Soufflage.nc (Programme de soufflage palette) 
$ENDFOR
G811 (Dechargement Palette)
(...)
M30

G-Codes für die Palettierung

  • G801[Palettenposition]: Dieser Code stellt die Palette aus dem Magazin in die Bearbeitungskabine auf der CNC-Seite zu.

Beispiel: G801[0]: Dieser Code stellt die 1. nicht bearbeitete Palette (1. Palette nach einer leeren Palette im Magazin) aus dem Magazin in die Bearbeitungskabine, CNC-Seite, zu. Und er entlädt die Palette in der CNC, wenn eine leere Position im Magazin vorhanden ist.

Falls das Magazin voll ist, kann mit diesem Code die Palette Nr. 1 zugestellt werden.

  • Befindet sich bereits eine Palette auf der CNC-Seite und eine weitere wird abgerufen, entlädt der SCARA die Palette und stellt gleichzeitig die neue zu.

Beispiel: G801[2] Wenn sich auf der CNC-Seite keine Palette befindet, stellt der SCARA die Palette Nr. 2 zu. Wenn sich bereits eine Palette auf der CNC-Seite befindet, entlädt der SCARA sie und stellt die Palette Nr. 2 zu.

  • G811 entlädt die Palette auf der CNC-Seite vorhandene Palette und sortiert sie in das Magazin ein.

 Odoo • une photo avec une légende

Erläuterungen zum Programm

Zu Beginn des Programms müssen die Variablen initialisiert werden. Dabei wird ein Wert gleich 0 zugewiesen. Dies erfolgt im Block zwischen #VAR und #ENDVAR. In diesem Teil brauchen keine Änderungen vorgenommen zu werden.

Anschließend gibt es 2 Variablen, P50 und P51, mit denen die Nummer der Start-Palette und die Anzahl der zu bearbeitenden Paletten gewählt werden kann (dies wird in Zukunft entfallen, denn es soll demnächst in eine Seite der HMI für die Palettenauswahl integriert werden). Es ist wichtig, die Spannfutter durch eine Nummer zu definieren, da ihnen Offsets zugewiesen werden.

Beispiel für eine Schleife

  • Wenn die 4 Paletten im Magazin bearbeitet werden sollen, wird P50 = 1 (Nummer der Start-Palette) und P51 = 4 (Anzahl der zu bearbeitenden Paletten) gesetzt.

  • Wenn z. B. nur die ersten 2 Paletten im Magazin bearbeitet werden sollen, wird P50 = 1 und P51 = 2 gesetzt.

  • Wenn nur die Palette Nr. 3 bearbeitet werden soll, wird P50 = 3 und P51 = 1 gesetzt.

ACHTUNG: Derzeit muss das Magazin physisch mit 4 Paletten gefüllt sein. 

Diese 2 Variablen sind in die Schleife $FOR P100 = “A”,”B”,”C” übernommen.

Logik der Schleife:

A = erste Ausführung

B = letzte Ausführung

C = Schleifeninkrement

Wenn z. B. die Palette Nr. 1 und die Palette Nr. 3 im Magazin bearbeitet werden sollen, muss in unserem Fall die Schleife angepasst werden.


Beispiel : P50 = 1

     P51 = 3


$FOR P100 = P50,P50+P51-1,2 

In diesem Fall muss das Inkrement auf 2 gesetzt werden, um von der Palette Nr. 1 zu Palette Nr. 3 zu springen.

Danach werden mit #CASE die Informationen für die ausgewählte Palette erfasst. Zuerst wird der Code G801[] angegeben, um die Palette zuzustellen, danach wird festgelegt, welche Offsets ihr zugewiesen werden, und im Falle eines Oben-Unten-Spannfutters wird auch ein Offset der Koordinatendrehung für die Oberseite und ein anderer Offset für die Unterseite definiert.

Derzeit können physisch nur 4 Paletten im Magazin untergebracht werden, aber es ist durchaus möglich, mehrere Spannfuttersätze vorzubereiten, während die Maschine die Werkstücke bearbeitet.

Die verschiedenen Variablen für die Offsets bieten die Möglichkeit, jedes Spannfutter einzeln einzustellen. Es wäre möglich, alle Spannfutter mit demselben Offset zu bearbeiten (z. B. G54), aber wenn es Abweichungen bei der Positionierung des Werkstücks auf dem Spannfutter gibt, könnte das nicht berücksichtigt werden.

Als Beispiel nehmen wir die Bearbeitung einer Uhrenplatine mit einem Oben-Unten-Spannfutter.

$CASE 1 (Palette 1) 

G801[1] (Chargement Palette Position 1)                                    

V.P.OffsetFace1 = 1 (G159 = 1)

V.P.OffsetFace2 = 2 (G159 = 2)

V.P.ACSFace1C = 0 (Correction Angle C Face1)

V.P.ACSFace2C = 0 (Correction Angle C Face2)

$BREAK

  • In unserem Fall wird die OBEN-Seite des Werkstücks mit dem Offset G159 = 1 und die UNTEN-Seite des Werkstücks mit dem Offset G159 = 2 bearbeitet.

  • Für die Nacharbeit wird der Offset G159 = 3 zugewiesen.


Die Offsets auf der Maschine würden wie folgt aussehen (Werte sind Richtwerte):

  • G159 = 1 : X-16 Y0 Z-60 B90 C90 (Face SUS)

  • G159 = 2 : X-16 Y0 Z-65 B90 C270 (Face SOUS)

  • G159 = 3 : X0 Y0 Z-72 B0 C0 (OP de reprise) 

Im Bearbeitungsprogramm werden statt der Einstellung G54 (G159 = 1) die in #CASE eingegebenen Variablen verwendet. Dasselbe gilt für den über ein #ACS verwalteten Winkeloffset.

  • Face SUS

G159=[V.P.OffsetFace1]

#ACS ON[0,0,0,0,0,V.P.ACSFace1C]

  • Face SOUS

G159=[V.P.OffsetFace2]

#ACS ON[0,0,0,0,0,V.P.ACSFace2C]


Zu Information: Mit einem #ACS kann eine Koordinatenverschiebung vorgenommen werden. Im Fall der Oben-Unten-Bearbeitung ist, wenn die B-Achse auf 90° steht, zusätzlich die C-Achse physisch verfügbar, um das Werkstück um die Z-Achse zu drehen.

Ein ACS hat 6 Werte, die den 3 Linearachsen und den 3 Drehachsen entsprechen: #ACS (X,Y,Z,A,B,C). In unserem Fall wird nur die C-Achse verwendet. Die anderen Achsen können direkt in den Offsets der Maschine korrigiert werden.


Dabei ist zu beachten, dass der Wert von "V.P.ACSFace1C" von einer Variablen stammen könnte, die bei einem Antastvorgang erstellt wurde. Zum Beispiel:

V.P.ACSFace1C  = V.P.PalpageFace1

Diese Verschiebung ist sinnvoll, wenn eine z. B. eine exakte Ausrichtung auf die Bohrungen der Barquette gefordert wird.

Grundsätzlich sind diese beiden Werte für die ACS auf 0 gesetzt. Die X- und Y-Verschiebung und der Winkeloffset zwischen der OBEN-Seite und der UNTEN-Seite können bei der Kontrolle des Werkstücks bestimmt werden.


Dann gibt es eine Zeile $DEFAULT, mit der ein Fall verwaltet werden kann, der unter #CASE noch nicht verwaltet wurde. Wenn z. B. die Palette Nr. 5 aufgerufen wird, obwohl nur 4 Fälle erstellt wurden, kann man festlegen, dass eine Meldung auf der HMI erscheint, um den Fehler anzuzeigen.

Zum Beispiel: $ENDSWITCH zeigt das Ende der erstellten Fälle an.

Wenn dieser Punkt erreicht ist, wurden alle zu bearbeitenden Fälle verwaltet. Anschließend muss das Bearbeitungsprogramm für das Werkstück aufgerufen werden.

L  C:\NC\Programme_exemple.nc (Bearbeitungsprogramm)

Dazu wird erst "L" geschrieben und danach der Pfad der Datei. Daran können sich mehrere Programme anschließen. Es ist denkbar, ein kleines Ausblasprogramm auszuführen, um die Späne an der Fußplatte der Palette zu entfernen, um eine saubere Fläche zu haben, bevor die nächste Palette zugestellt wird.

ACHTUNG: Diese Programme müssen unbedingt mit Code M17 statt mit Code M30 enden, sonst wird die Schleife nicht fortgesetzt und bleibt bei M30 stehen.


#ENDFOR gibt das Ende der Schleife an.

Danach wird noch G811 hinzugefügt, um die letzte Palette zu entladen und sie am Ende der Schleife wieder im Magazin abzulegen.

M30 signalisiert dann das Ende des Programms. Der Code M100 könnte noch hinzufügt werden, um die LEDs der Maschine blinken zu lassen, damit auch eine visuelle Information ausgegeben wird, wenn die Maschine die Bearbeitung aller Paletten beendet hat. Ein Reset beendet das Blinken.


Wenn die Maschine mit dem Tastermagazin ausgestattet ist, braucht nicht jede Palette mit einem anderen Fall (#CASE) verwaltet zu werden. Vor der Bearbeitung wird ein Antastprogramm gestartet, das die Verschiebungen des Werkstücks in die Offsets der Maschine schreibt. (Siehe e-learning zum Thema Antasten!)


Für Benutzer von Inventor HSM:

Bei der Nachbearbeitung des Codes muss der Modus "Palettierung" in den Optionen des Postprozessors aktiviert werden. Dies bietet die Möglichkeit, den Code mit den verschiedenen Variablen auszugeben, die bei der Palettierung verwendet werden.


Ansichten
101 Ansicht gesamt
98 Mitglieder-Ansicht
390 Öffentliche Ansichten
Aktionen
0 Likes
0 Dislikes
0 Kommentare
Auf sozialen Netzwerken teilen
Link teilen
Per Mail teilen

Bitte Anmelden um dies zu teilen webpage per E-Mail.