585.555 aktive Mitglieder*
3.450 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
FANUC Forum

Programmteilwiederholung

Beitrag 30.06.2018, 08:17 Uhr
grooveup
grooveup
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 07.01.2002
Beiträge: 135

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

Der Beitrag wurde von grooveup bearbeitet: 30.06.2018, 08:17 Uhr
TOP    
Beitrag 15.04.2020, 10:43 Uhr
Hexenmeister72
Hexenmeister72
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 20.10.2010
Beiträge: 69

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


Warum brauchst du jedes mal einen neuen Nullpunkt?


--------------------
Gruß
Hexenmeister72
TOP    
Beitrag 15.04.2020, 11:49 Uhr
oek_de
oek_de
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 21.01.2005
Beiträge: 103

QUOTE (grooveup @ 30.06.2018, 08: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



<4711.nc>

Kopf

N35#11=-379.14(X Wert Bohrung 14H7)
N40#12=-350.018(Y Wert Bohrung 14H7)
N45#13=-444.74(Z Wert Oberflaeche Vorrichtung)

NP Definitionen

N50G10L20P1X[#11+259.13]Y[#12+13.15]Z[#13+3.97]B0.031
N55G10L20P2X[#11+219.13]Y[#12+13.15]Z[#13+3.97]B0.031
N60G10L20P3X[#11+179.13]Y[#12+13.15]Z[#13+4]B0.031
N65G10L20P4X[#11+139.13]Y[#12+13.15]Z[#13+4]B0.031
N70G10L20P5X[#11+99.13]Y[#12+13.15]Z[#13+4]B0.031
N75G10L20P6X[#11+59.13]Y[#12+13.15]Z[#13+4]B0.031
N80G10L20P7X[#11+19.13]Y[#12+13.15]Z[#13+4]B0.031

N85M22
N90G54.1P1(Oben)
N95G0B0.0
N100M21
N105G17G40G80G64

N110T8M06(Pilotbohrer 2,95x5)
N115G54.1P1
N120T21
N125G94
N130G0X0Y0.0B0.0S#515M3
N135M50
N140G43Z50H#517F#516
N145M98Q9003 (Aufruf Satz N9003)
/N150G54.1P2
/N155M98Q9003
/N160G54.1P3
/N165M98Q9003
/N170G54.1P4
/N175M98Q9003
/N180G54.1P5
/N185M98Q9003
/N190G54.1P6
/N195M98Q9003
/N200G54.1P7
/N205M98Q9003
N210M9
N220G90
N225G94

N235T21M06(VHM2,8/3)
N240G54.1P1
N245T57
N250G94
N255G0X0.0Y-120.0B0.0S6000M3
N260M8
N265G43Z50H#517S6000F300
N270M98Q9000 (Aufruf Satz N9000)
/N275G54.1P2
/N280M98Q9000
/N285G54.1P3
/N290M98Q9000
/N295G54.1P4
/N300M98Q9000
/N305G54.1P5
/N310M98Q9000
/N315G54.1P6
/N320M98Q9000
/N325G54.1P7
/N330M98Q9000
N335M9
N340G00G91G28Z0H0
N345G90
N350G94
M99


N9000(2.8 FRAESER)
G0X0.0Y-120.0B0.0
G0Z2.0
G1Z-1.0
...
...
M99

N9003(Pilotbohrer 2.95x5)
G0X0.0Y0.0B0.0
G98G81Z-6.0R2.0
Y-60.0
Y-120.0
G80
G0Z50
M99

%
TOP    
Beitrag 30.06.2022, 16:11 Uhr
Einzahler
Einzahler
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.10.2013
Beiträge: 46

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
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: