QUOTE (grooveup @ 30.06.2018, 09:17 Uhr)
Hallo,
hat mir jemand ein Beispiel wie ich an der Fanuc Programmteile auf rufen kann.
so ungefähr in dieser Art möchte ich das Programm aufbauen:
Werkzeugwechsel
Nullpunktaufruf
Programmteilwiederholung #1
Nullpunktaufruf
Programmteilwiederholung #1
Nullpunktaufruf
Programmteilwiederholung #1
Programmende
vielleicht hat ja jemand ein Beispielprogramm.
vielen Dank mal vorab und schöne Grüße
Hallo,
ich möchte hier noch mal ein anderes Beispiel vorstellen, dass ich für besser und flexibler halte.
Da ich mit mehreren Paletten (42 Stück) arbeite, habe ich für jede Palette ein einzelnes Programm in dem die NPs und die Variablen gesetzt werden.
Von diesem Programm aus wird dann das Hauptprogramm aufgerufen. Wir nennen das Programm "Callprogramm".
Grundsätzlich ist es aber auch möglich alles in ein Programm zu Quetschen oder die Bearbeitung in ein UP.
-------------------- Callprogramm ------------------------
%
<2400034100_CAL03.NC>(Turbinen Klinke)
(********* Calldatei ********)
(KUNDE : *****)
(WERKSTUECK : Turbinen Klinke 4-Fach.1)
(MATERIAL : 2.01 Nichtrostend <1100N/m)
(PROGRAMMIERER: W. S)
(MASCHINEN-PP : matsuura lx-160-fanuc.mcp)
(DATUM : 27.Jul.2021)
(ZYKLUSZEIT : 7.949 Minuten)
(ZYKLUSZEIT : 7 Min. 57 Sek.)
(***** VARIABLEN *****)
(Pal.-Wechsel bei WKZ-Bruch: 0=Nein 1=Ja)
#701=0
(Erstes Werkzeug am Ende vorwaehlen: 0=Nein 1=Ja)
(Letztes Werkzeug bleibt in Spindel)
#704=0
(Stueckzaehler 31, 251-258)
#712=31
(4 Nullpunkte definiert)
(NP-Start 54-57)
#720=54
(NP-Ende 54-57)
#721=57
(*** Pruefung NP-Einstellungen ***)
IF[#720LT54]GOTO1000
IF[#721LT54]GOTO1000
IF[#720GT57]GOTO1000
IF[#721GT57]GOTO1000
IF[#721LT#720]GOTO1000
GOTO1001
N1000
M00(UNGUELTIGE NULLPUNKTE)
M30
N1001
(*** NP G54-G59 auf Drehschwenkpunkt ***)
M98P9999
(***** NULLPUNKTE *****)
(G54)
G91G10L2P1X-44.3Y0Z175B0C0
G91G10L2P1X0Y0Z0(Additive Verschiebung)
G90
(G55)
G91G10L2P2X-44.3Y0Z175B0C90
G91G10L2P2X0Y0Z0(Additive Verschiebung)
G90
(G56)
G91G10L2P3X-44.3Y0Z175B0C180
G91G10L2P3X0Y0Z0(Additive Verschiebung)
G90
(G57)
G91G10L2P4X-44.3Y0Z175B0C270
G91G10L2P4X0Y0Z0(Additive Verschiebung)
G90
M01
(***** Hauptprogramm *****)
M98<2400034100_HPG03.NC>
M30
%
--------------------------- Ende Callprogramm ------------------------
Die Variablen der NP-Einstellungen werden sicherheitshalber überprüft, damit es bei einer Fehleingabe nicht knallt.
In diesem Fall sind 4 Werkstücke auf der Palette, jeweils um 90 Grad verdreht versetzt.
In der Variablen #712 wird bestimmt, welcher interne Stückzähler verwendet wird.
Ich kann hierbei durch verändern der Variablen zwischen einem und 4 Werkstücke bearbeiten.
Bei z.B.:
(NP-Start 54-57)
#720=55
(NP-Ende 54-57)
#721=56
Wird nur der NP G55 und G56 bearbeitet.
In der Zeile
G91G10L2P2X0Y0Z0(Additive Verschiebung)
nehme ich dann nur noch die Feinkorrektur für den NP vor.
Aus der Calldatei wird dann das Hauptprogramm aufgerufen:
------------------ Hauptprogramm ---------------------------------------
%
<2400034100_HPG03.NC> (Turbinen Klinke)
... Prog.-Kopf
(***** Werkzeugliste *****)
(--- WL= Werkzeuglaenge / AL= Ausspannlaenge ---)
(N10-Jongen VHC526W Ti08 Schaftfr. D6 Z5 F0,15 -10 / WL: Z108.0 AL: 28.0 )
(N20-Garant HM-Bohrer D1,4 -10 / WL: Z80.0 AL: 20.0 )
...
(***** Schwenkpositionen *****)
(X-44.2727 Y0 Z175 B0 C0 * Oben *)
(X-44.2727 Y0 Z175 B-90 C0 * Links.Anwender *)
(X-44.2727 Y0 Z175 B-113 C0 * Links Unten R1 *)
(X-44.2727 ...
(GRUNDEINSTELLUNG)
G80G90G94
...
N10
M1
(Jongen VHC526W Ti08 Schaftfr. D6 Z5 F0,15 -10)
T[00+#700]M06
(Vorwahl Satzwerkzeug)
T[01+#700]
G0G53Z0
G40
G90D#517G43H#518
G54
(Kuehlung)
M8
M51
G69
(Start_NP_Schleife)
#722=#720
WHILE[#722LE#721]DO1 +++++++++++++++++++++++ Bearbeitung 1
G#722
G0G28G91Z0
G90
G2900P1(Schwenken: B-90 C0 NP: Links.Anwender)
G0B-90C0
G68.2X0Y0Z0I-90J90K90
G53.1
G2900P1 (Rest vom vorherigem Teil abfräsen)
G94
S7400M203
G90
G0X3.35Y12.096
... Bearbeitung
G0Z20
Z105.727
G69
(Schleifenende)
#722=#722+1
END1 ----------------------- Ende Bearbeitung 1
(Start_NP_Schleife)
#722=#720
WHILE[#722LE#721]DO1 +++++++++++++++++++ Bearbeitung 2
G#722
G0G28G91Z0
G90
G2900P1(Schwenken: B-113 C0 NP: Links Unten R1)
G0B-113C0
G68.2X0Y0Z0I-90J113K90
G53.1
G0X2.352Y10.617
S7400M203
Z20
... Bearbeitung
G0Z5
G69
(Schleifenende)
#722=#722+1
END1 --------------------- Bearbeitung 2 Ende
G0G53Z0M5
M9
G53Y-250
G53X-360Y-250B0C0
N20
M1
(Garant HM-Bohrer D1,4 -10)
T[01+#700]M06
(Vorwahl Satzwerkzeug)
T[02+#700]
G0G53Z0
G40
G90D#517G43H#518
G54
G94
(Kuehlung)
M8
G69
(Start_NP_Schleife)
#722=#720
WHILE[#722LE#721]DO1 ++++++++++++++++++ Bearbeitung 3
G#722
G0G28G91Z0
G90
G2900P1(Schwenken: B-90 C90 NP: Vorn.Anwender)
G0B-90C90
G68.2X0Y0Z0I0J90K90
G53.1
G2900P1 (
Bohren D1,4)
S20000M203
G0X-3.978Y1.872
Z5
S20000M203
G98G83Z-2.921Q1.0R2.5P0F100
G80
G69
(Schleifenende)
#722=#722+1
END1 --------------- Ende Bearbeitung 3
G0G53Z0M5
M9
G53Y-250
G53X-360Y-250B0C0
N30
M1
(...)
T[03+#700]M06
...
(Start_NP_Schleife)
#722=#720
WHILE[#722LE#721]DO1 ++++++++++++++++++++ Bearbeitung 4
G#722
... Weitere Bearbeitung
...
G0Z10
(Ein Stueck Zaehlen)
M#712 ************ Hier wird der Interne Zähler um 1 erhöht
G69
(Schleifenende)
#722=#722+1
END1 ------------------- Ende Bearbeitung 4
Prog Ende
...
...
M01 (Bearbeitung ferig)
(Aufruf Palettenverwaltung)
/M98 P1
G53X-360Y0
M30
%
------------------ Ende Hauptprogramm ---------------------------------------
Am Schleifenende wird die Variable und damit der NP um 1 erhöht:
#722=#722+1
END1
Bei uns werden die
Schleifen direkt vom
CAM ausgegeben. Ich habe allerdings den PP selber geschrieben.
Wenn ich das Programm ändern muss, wir nur noch das Hauptprogramm ersetzt.
Im CAM wird auch immer nur ein Teil Programmiert.
Es ist möglich die Schleifen zwischen dem Werkzeugwechsel oder den Schwenkpositionen zu setzen.
Je nach Maschinenhersteller müssen evtl. andere Variablen verwendet werden.
Die Methode funktioniert grundsätzlich auch mit den Dynamischen und erweiterten Nullpunkten.
Viel Spaß.
LG
Der Beitrag wurde von Einzahler bearbeitet: 30.06.2022, 16:13 Uhr