FANUC
Ihr Spezialist für Fabrikautomation
C Programmierung

Hey Leute,
bei der Fanuc Steuerung gibt es doch den C Language Executor. Wenn ich programmieren möchte, weg von der DIN/ISO Programmierung, sprich in diesem Fall in C. Muss ich nicht unbedingt mit Makros programmieren oder? Sondern kann ganz normal mit der C Sprache arbeiten? Ich bin nämlich ein wenig verunsichert, da ich im Netz nichts gefunden habe...niemand programmiert mit der Fanuc in C. Dabei ist das doch viel einfacher und der Steuerungshersteller bietet das doch an? Oder sehe ich das falsch und die Makros sind in C programmiert???
Danke für jede Hilfe!
bei der Fanuc Steuerung gibt es doch den C Language Executor. Wenn ich programmieren möchte, weg von der DIN/ISO Programmierung, sprich in diesem Fall in C. Muss ich nicht unbedingt mit Makros programmieren oder? Sondern kann ganz normal mit der C Sprache arbeiten? Ich bin nämlich ein wenig verunsichert, da ich im Netz nichts gefunden habe...niemand programmiert mit der Fanuc in C. Dabei ist das doch viel einfacher und der Steuerungshersteller bietet das doch an? Oder sehe ich das falsch und die Makros sind in C programmiert???
Danke für jede Hilfe!

Hey Leute,
bei der Fanuc Steuerung gibt es doch den C Language Executor. Wenn ich programmieren möchte, weg von der DIN/ISO Programmierung, sprich in diesem Fall in C. Muss ich nicht unbedingt mit Makros programmieren oder? Sondern kann ganz normal mit der C Sprache arbeiten? Ich bin nämlich ein wenig verunsichert, da ich im Netz nichts gefunden habe...niemand programmiert mit der Fanuc in C. Dabei ist das doch viel einfacher und der Steuerungshersteller bietet das doch an? Oder sehe ich das falsch und die Makros sind in C programmiert???
Danke für jede Hilfe!
bei der Fanuc Steuerung gibt es doch den C Language Executor. Wenn ich programmieren möchte, weg von der DIN/ISO Programmierung, sprich in diesem Fall in C. Muss ich nicht unbedingt mit Makros programmieren oder? Sondern kann ganz normal mit der C Sprache arbeiten? Ich bin nämlich ein wenig verunsichert, da ich im Netz nichts gefunden habe...niemand programmiert mit der Fanuc in C. Dabei ist das doch viel einfacher und der Steuerungshersteller bietet das doch an? Oder sehe ich das falsch und die Makros sind in C programmiert???
Danke für jede Hilfe!
Sorry, stehe auf dem Schlauch. Erklär doch mal was du genau machen möchtest.
Wenn es um Makro Programmierung geht solltest du schon sagen was du willst. Man kann da alles mögliche mit machen.
Schreib doch mal bitte was du möchtest.

--------------------
Beste Grüße aus dem Schwarzwald
heinzderheinz
heinzderheinz

Ich untersuche bei der Fanuc, was für Programmiermöglichkeiten die Steuerung hergibt neben der DIN/ISO Programmierung. Die klassisschen Funktionen, wie goto, while, if etc. Allerdings ist mir noch nicht ganz klar, ob diese Befehle ausschließlich mit Makros programmiert werden müssen? Bei der Siemens Steuerung kann man direkt im NC Code programmieren. Bin ich der richtigen Annahme, dass die "custom macros" eine Art Unterprogramm darstellen die man dann in eigentlichen Hauptprogramm aufrufen muss?
Danke schon mal für eure antworten!
Danke schon mal für eure antworten!

Also, du kannst bei der Fanuc im NC-Code genauso GOTO, WHILE, usw... verwenden wir bei der Siemens, nur ist das mit den Rechenoperation ein bisschen anders... Klammer setzen z.B.
Die "custom makros" sind nur eine bestimmte Anzahl von Parametern die du dafür verwenden kannst, z.B. #100-#150 und #500-#599.
Die R-Parameter bei der Siemens sind ja von Siemens her alle frei verwendbar. Nur der Maschinenhersteller nutzt eventuell noch diverse R-Parameter.
Bei der Fanuc gibt es die Makro-Variablen ( #100 z.b.)... wobei du nur bestimmte ÄNDERN darfst (siehe oben) aber man kann theoretisch alle verwenden.
Z.B. ist #18 der Buchstabe "R" oder #19700 der Maschinennullpunkt der X-Achse...
Die "custom makros" sind nur eine bestimmte Anzahl von Parametern die du dafür verwenden kannst, z.B. #100-#150 und #500-#599.
Die R-Parameter bei der Siemens sind ja von Siemens her alle frei verwendbar. Nur der Maschinenhersteller nutzt eventuell noch diverse R-Parameter.
Bei der Fanuc gibt es die Makro-Variablen ( #100 z.b.)... wobei du nur bestimmte ÄNDERN darfst (siehe oben) aber man kann theoretisch alle verwenden.
Z.B. ist #18 der Buchstabe "R" oder #19700 der Maschinennullpunkt der X-Achse...

@Flexy: Okay, danke für deine Antwort!
Das heißt also, Fanuc hat bereits bestimmte #i Variablen vorgegeben, mit denen ich programmieren muss. Eigene Variablendeklarationen darf ich also nicht machen? Dann bin ich ja im Vergleich zur Sinumerik Steuerung extrem eingeschränkt.
Das heißt also, Fanuc hat bereits bestimmte #i Variablen vorgegeben, mit denen ich programmieren muss. Eigene Variablendeklarationen darf ich also nicht machen? Dann bin ich ja im Vergleich zur Sinumerik Steuerung extrem eingeschränkt.

Hallo
@ Sinumerik_anna
Nicht ganz.
"Flexy" meint damit, das Du nicht einfach alle Parameter von #1 bis zum #Ende frei zur eigenen Verfügung hast. Manche Parameter sind vom Steuerungshersteller vorgesehen, um im laufenden Programm z.B. den Fräserradius oder die aktuelle Achsposition auszulesen.
Deswegen auch die von "Flexy" aufgezeigte Beschränkung der Parameter, die man normal frei verwenden kann/darf. Hier die Parameter #100-#150 und #500-#599.
Wobei es da auch wieder Unterschiede gibt, die erste Gruppe verliert die Werte bei einem Reset bzw. beim Ausschalten. Die zweite Gruppe behält die Werte.
Genaueres können dir da aber die Mitglieder sagen, die mehr mit Fanuc zu tun haben als ich (ich quasi gar nicht bis hier aufs Forum).
Gruß Gerd
@ Sinumerik_anna
QUOTE
Das heißt also, Fanuc hat bereits bestimmte #i Variablen vorgegeben, mit denen ich programmieren muss. Eigene Variablendeklarationen darf ich also nicht machen? Dann bin ich ja im Vergleich zur Sinumerik Steuerung extrem eingeschränkt.
Nicht ganz.
"Flexy" meint damit, das Du nicht einfach alle Parameter von #1 bis zum #Ende frei zur eigenen Verfügung hast. Manche Parameter sind vom Steuerungshersteller vorgesehen, um im laufenden Programm z.B. den Fräserradius oder die aktuelle Achsposition auszulesen.
Deswegen auch die von "Flexy" aufgezeigte Beschränkung der Parameter, die man normal frei verwenden kann/darf. Hier die Parameter #100-#150 und #500-#599.
Wobei es da auch wieder Unterschiede gibt, die erste Gruppe verliert die Werte bei einem Reset bzw. beim Ausschalten. Die zweite Gruppe behält die Werte.
Genaueres können dir da aber die Mitglieder sagen, die mehr mit Fanuc zu tun haben als ich (ich quasi gar nicht bis hier aufs Forum).
Gruß Gerd
--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
Voltaire

Hallo nur mal grob Beschrieben:
1. #1 - #33 Lokale Variablen
2. #100 - #199 und #500 - #999 Globale Variablen
3. #1000 - #........ System Variablen
zu 1.: Werden benötigt immer nur für das eine Makro um zB. Ergebnisse zwischen zu Speichern.
zu 2.: die #100 - #199 werden bei Power off wieder auf "0" gesetzt. Über RESET kommt es darauf an wie die Parametereinstellung ist.
#500 - #999 diese bleiben erhalten auch nach Power off. Die Anzahl der # ist abhängig von den Optionen was der Maschinenhersteller bzw.Fanuc frei geschalten hat.
primitives bsp. nach 10 Teilen soll die Maschine abschalten mit Alarm "Späne entfernen.
#500 = Zähler
#501 = 10 nach wie viel Teile soll der Alarm kommen.
O0815 (Bearbeitungsprogramm)
T100;
G97 .......;
;
;
#500 = #500+1;
IF[#500GE#501]GOTO1;
M30;
N1#500=0;
#3000=1(SPAENE ENTFERNEN)
Passiert jetzt folgendes.
Maschine Arbeitet und Zählt immer bei jedem Teil in der #500 eins dazu.
Jetzt wird der Vergleich gemacht ob #500 gleich oder größer #501 ist.
Wenn weder noch zutreffend ist springt sie nicht nach Satznummer N1.
Programm läuft weiter bis dem so ist.
Jetzt Sprung nach N1 und den Zähler, #500 wieder auf 0 setzen.
#3000 bedeutet "Alarm anzeigen". Es erscheint am Bildschirm: Makro Alarm 1 SPAENE ENTFERNEN. So oder so ähnlich.
Bei vergleich "IF" musst du diese Eckige klammern setzten, bei Texten im Programm die normalen Klammern.
zu3. Das wird zu lange hier. Bitte im Fanuc Buch nachschlagen oder dir eine CD bei Fanuc besorgen über Makroprogramierung.
Aber so ungefähr funktioniert das.
Die "Sprache" (Form) würde ich als BASIC mal betiteln. Da bin ich aber nicht der Fachmann dafür.
1. #1 - #33 Lokale Variablen
2. #100 - #199 und #500 - #999 Globale Variablen
3. #1000 - #........ System Variablen
zu 1.: Werden benötigt immer nur für das eine Makro um zB. Ergebnisse zwischen zu Speichern.
zu 2.: die #100 - #199 werden bei Power off wieder auf "0" gesetzt. Über RESET kommt es darauf an wie die Parametereinstellung ist.
#500 - #999 diese bleiben erhalten auch nach Power off. Die Anzahl der # ist abhängig von den Optionen was der Maschinenhersteller bzw.Fanuc frei geschalten hat.
primitives bsp. nach 10 Teilen soll die Maschine abschalten mit Alarm "Späne entfernen.
#500 = Zähler
#501 = 10 nach wie viel Teile soll der Alarm kommen.
O0815 (Bearbeitungsprogramm)
T100;
G97 .......;
;
;
#500 = #500+1;
IF[#500GE#501]GOTO1;
M30;
N1#500=0;
#3000=1(SPAENE ENTFERNEN)
Passiert jetzt folgendes.
Maschine Arbeitet und Zählt immer bei jedem Teil in der #500 eins dazu.
Jetzt wird der Vergleich gemacht ob #500 gleich oder größer #501 ist.
Wenn weder noch zutreffend ist springt sie nicht nach Satznummer N1.
Programm läuft weiter bis dem so ist.
Jetzt Sprung nach N1 und den Zähler, #500 wieder auf 0 setzen.
#3000 bedeutet "Alarm anzeigen". Es erscheint am Bildschirm: Makro Alarm 1 SPAENE ENTFERNEN. So oder so ähnlich.
Bei vergleich "IF" musst du diese Eckige klammern setzten, bei Texten im Programm die normalen Klammern.
zu3. Das wird zu lange hier. Bitte im Fanuc Buch nachschlagen oder dir eine CD bei Fanuc besorgen über Makroprogramierung.
Aber so ungefähr funktioniert das.
Die "Sprache" (Form) würde ich als BASIC mal betiteln. Da bin ich aber nicht der Fachmann dafür.

--------------------
Beste Grüße aus dem Schwarzwald
heinzderheinz
heinzderheinz

Hallo,
der C Language Executor hat mit der Programmierung der Teileprogramme nichts zu tun.
Damit können Anwenderbilder in die Steuerung integriert werden, welche auf Basis der Programmiersprache C erstellt werden.
z.B.: das einstellen ob ein Spannmittel offen ist wenn der Sapnnzylinder vorne oder hinten ist (Druck- oder Zugspannung)
Die Verwendung der Variablen ist ja ähnlich wie bei Siemens die R-Parameter, hat jedoch einige Einschränkungen und Eigenheiten,
aber Du wirst so nicht von DIN/ISO wegkommen.
Wenn Die Art und Weise ändern willst um zum CNC-Programm zu kommen, bietet Fanuc Manual Guide i an.
Das ist ähnlich wie Shopturn oder Shopmill, kann jedoch nach erfolgtem Probelauf ein DIN/ISO Programm erzeugen,
das dann auch auf anderen Steuerungen mit evtl. nötigen Anpassungen läuft.
Niko
der C Language Executor hat mit der Programmierung der Teileprogramme nichts zu tun.
Damit können Anwenderbilder in die Steuerung integriert werden, welche auf Basis der Programmiersprache C erstellt werden.
z.B.: das einstellen ob ein Spannmittel offen ist wenn der Sapnnzylinder vorne oder hinten ist (Druck- oder Zugspannung)
Die Verwendung der Variablen ist ja ähnlich wie bei Siemens die R-Parameter, hat jedoch einige Einschränkungen und Eigenheiten,
aber Du wirst so nicht von DIN/ISO wegkommen.
Wenn Die Art und Weise ändern willst um zum CNC-Programm zu kommen, bietet Fanuc Manual Guide i an.
Das ist ähnlich wie Shopturn oder Shopmill, kann jedoch nach erfolgtem Probelauf ein DIN/ISO Programm erzeugen,
das dann auch auf anderen Steuerungen mit evtl. nötigen Anpassungen läuft.
Niko

Danke für die zahlreichen Antworten! Aber ich frage mich immer noch, ob ich denn eigene Variabelen deklarieren kann, die #i Variablen ausgenommen.
Bsp. bei Siemens deklariere ich ja so:
...
DEF REAL _var1; _var2
_var1= 8*6
_var2= 40-4
Geht das auch bei der Fanuc, oder muss ich stets diese #i Variablen anwenden? Die Siemens bietet neben den R Parametern eben auch eigene programmierte variablen. Habe hierfür nichts im Fanuc Handbuch gefunden. :/
Bsp. bei Siemens deklariere ich ja so:
...
DEF REAL _var1; _var2
_var1= 8*6
_var2= 40-4
Geht das auch bei der Fanuc, oder muss ich stets diese #i Variablen anwenden? Die Siemens bietet neben den R Parametern eben auch eigene programmierte variablen. Habe hierfür nichts im Fanuc Handbuch gefunden. :/

Nein das geht nicht, gibt bei der Fanuc auch keine Strings oder Arrays, keine Case Verzweigungen und noch so einiges.
Finde ich persönlich aber auch nicht schlimm, was die Fanuc kann reicht für das meiste, so ist es auch einfacher zu lernen.
Okay bei komplexen Messzyklen oder was auch immer kann es dann problematisch werden, hast du was bestimmtes vor oder willst du es einfach nur so lernen ?
Finde ich persönlich aber auch nicht schlimm, was die Fanuc kann reicht für das meiste, so ist es auch einfacher zu lernen.
Okay bei komplexen Messzyklen oder was auch immer kann es dann problematisch werden, hast du was bestimmtes vor oder willst du es einfach nur so lernen ?

@Morph21: Okay, danke. Dann ist das mal geklärt, das habe ich mir nämlich schon so gedacht.
Ich untersuche die Hochsprachenelemente bei der unterschiedlichen Steuerungen. Und gucke was die so hergeben. 
Bei Siemens ist es möglich den Unterprogrammen bestimmte Parameter zu übergeben.
So steht im UP zb:
PROC Name(REAL _a, REAL_b)
....
und im Hauptprogramm:
Name(5.8, 100.0)
....
Ist das auch bei der Fanuc möglich Parameter zu übergeben, oder bietet das diese Steuerung nicht?
Danke!


Bei Siemens ist es möglich den Unterprogrammen bestimmte Parameter zu übergeben.
So steht im UP zb:
PROC Name(REAL _a, REAL_b)
....
und im Hauptprogramm:
Name(5.8, 100.0)
....
Ist das auch bei der Fanuc möglich Parameter zu übergeben, oder bietet das diese Steuerung nicht?
Danke!

Natürlich kannst du auch bei der Fanuc Parameter an Unterprogramme übergeben:
Das funktioniert folgendermaßen:
G65Pxxxx kannst du mit den Buchstaben A-Z mit einigen Ausnahmen aufrufen. A-Z sind dann die Parameter die übergeben werden und die können im Unterprogramm mit den Variablen #1-#26, wieder mit einigen Ausnahmen, abgegriffen werden.
Ich empfehle dir diese Seite und erlaube mir zu verlinken:
http://sveni.homepage.t-online.de/makros.htm
Hier hab ich mir das Programmieren der Makros beigebracht und es klappt wirklich herrlich! Danke an vermutlich Sveni für die tolle Arbeit. Wenn du diese Seite durchgearbeitet hast und dann noch fragen hast, kannst du dich ja nochmal gerne hier melden
Was die Fanuc allerdings nicht kann: Ich habe mal eine Aufwendige Berechnungsformel zur Ermittlung von Koordinaten für 3D Werkzeugwege geschrieben und die Fanuc hat nicht schnell genug gerechnet um einen flüssigen Werkzeugweg abzufahren. Da war ich mit CAM System deutlich besser bedient als mit Parametern.
LG Nico
Der Beitrag wurde von nico1991 bearbeitet: 06.02.2014, 15:34 Uhr
Das funktioniert folgendermaßen:
G65Pxxxx kannst du mit den Buchstaben A-Z mit einigen Ausnahmen aufrufen. A-Z sind dann die Parameter die übergeben werden und die können im Unterprogramm mit den Variablen #1-#26, wieder mit einigen Ausnahmen, abgegriffen werden.
Ich empfehle dir diese Seite und erlaube mir zu verlinken:
http://sveni.homepage.t-online.de/makros.htm
Hier hab ich mir das Programmieren der Makros beigebracht und es klappt wirklich herrlich! Danke an vermutlich Sveni für die tolle Arbeit. Wenn du diese Seite durchgearbeitet hast und dann noch fragen hast, kannst du dich ja nochmal gerne hier melden

Was die Fanuc allerdings nicht kann: Ich habe mal eine Aufwendige Berechnungsformel zur Ermittlung von Koordinaten für 3D Werkzeugwege geschrieben und die Fanuc hat nicht schnell genug gerechnet um einen flüssigen Werkzeugweg abzufahren. Da war ich mit CAM System deutlich besser bedient als mit Parametern.
LG Nico
Der Beitrag wurde von nico1991 bearbeitet: 06.02.2014, 15:34 Uhr

@nico1991: Danke für die schnelle Hilfe!
Dann werde ich das mal durcharbeiten. 
Kannst du mir vllt noch den Unterschied zwischen Makro und Unterprogramm bei Fanuc erklären? Ich dachte erst die Makros stellen die Unterprogramme dar, aber im Handbuch steht drinnen, dass diese nicht gleich sind.
Danke!


Kannst du mir vllt noch den Unterschied zwischen Makro und Unterprogramm bei Fanuc erklären? Ich dachte erst die Makros stellen die Unterprogramme dar, aber im Handbuch steht drinnen, dass diese nicht gleich sind.
Danke!


Nico war das auf einer Fräsmaschine bzw. welche Optionen hattest du auf der Maschine, so änliche Sachen hab ich auch schon gemacht aber eher das Problem das unsere Drehmaschinen das nicht hergeben, weil zu wenig Sätze vorausgelesen werden bzw. die Maschine immer am beschleunigen und abbremsen bei kleinen Lieniensegmenten ist, ansich ist die Fanuc schnell.
@Anna man kann natürlich Makros direkt im Hauptprogramm schreiben, ist sinnvoll bei einfachen Wiederholschleifen, bei komplexeren Zyklen die man universel einsetzen will macht man natürlich ein Unterprogramm das man im Idealfall per G-Code aufruft.
@Anna man kann natürlich Makros direkt im Hauptprogramm schreiben, ist sinnvoll bei einfachen Wiederholschleifen, bei komplexeren Zyklen die man universel einsetzen will macht man natürlich ein Unterprogramm das man im Idealfall per G-Code aufruft.

@ morph21
Ja, es war eine Fräsmaschine. Ziemlich genau das gleiche Phänomen wie du beschrieben hat. Die kurzen Liniensegmente könnte sie auch trotz aktiviertem G5.1Q1 nicht verarbeiten. Bei 3D werkzeugwegen aus dem Cam System gibt's da nie Probleme. Ich denke das hängt mit der speicherzugriffszeit und ähnlichem zusammen, weil man auf dem Bildschirm der Fanuc gesehen hat, wie "lange" sie für die Rechenoperationen brauchte. Normale 3D Werkzeugwege verarbeitet sie so schnell, das man keine Koordinaten mehr erkennen kann.
LG Nico
Ja, es war eine Fräsmaschine. Ziemlich genau das gleiche Phänomen wie du beschrieben hat. Die kurzen Liniensegmente könnte sie auch trotz aktiviertem G5.1Q1 nicht verarbeiten. Bei 3D werkzeugwegen aus dem Cam System gibt's da nie Probleme. Ich denke das hängt mit der speicherzugriffszeit und ähnlichem zusammen, weil man auf dem Bildschirm der Fanuc gesehen hat, wie "lange" sie für die Rechenoperationen brauchte. Normale 3D Werkzeugwege verarbeitet sie so schnell, das man keine Koordinaten mehr erkennen kann.
LG Nico

So jetzt habe ich unterschiedliche Befehlsfunktionen im Handbuch gefunden, um ein Unterprogramm oder auch ein Makro aufzurufen.
bezüglich Unterprogramm
M98 Pxxx....-> im Handbuch steht, dass auch über M200 ein bestimmtes Oxxx aufgerufen werden kann; oder über T, S,H, D, eben die spezifischen Unterprogramme aufgerufen werden können.
für die Makroaufrufe stehen auch mehrere Funktionsaufrufe zur Verfügung
G65 Pxxx oder G66 Pxxx, Aufruf mit T, S, H
kurz gesagt: ist es notwendig die unterschiedlichen Möglichkeiten zu betrachten wie man ein Makro oder Unterprogramm aufrufen kann? oder kann ich mich beruhigt auf M98, G65 und G66 beschränken?
So wie ich das verstanden habe stellt die Fanuc Steuerung dem Anwender lediglich eine Vielzahl an Möglichkeiten dar, um ein UP oder Makro aufzurufen?! (ist im Handbuch so detailliert und ausführlich erklärt)
Danke jetzt schon mal für eure Antworten! Und wünsche euch ein schönes we
bezüglich Unterprogramm
M98 Pxxx....-> im Handbuch steht, dass auch über M200 ein bestimmtes Oxxx aufgerufen werden kann; oder über T, S,H, D, eben die spezifischen Unterprogramme aufgerufen werden können.
für die Makroaufrufe stehen auch mehrere Funktionsaufrufe zur Verfügung
G65 Pxxx oder G66 Pxxx, Aufruf mit T, S, H
kurz gesagt: ist es notwendig die unterschiedlichen Möglichkeiten zu betrachten wie man ein Makro oder Unterprogramm aufrufen kann? oder kann ich mich beruhigt auf M98, G65 und G66 beschränken?
So wie ich das verstanden habe stellt die Fanuc Steuerung dem Anwender lediglich eine Vielzahl an Möglichkeiten dar, um ein UP oder Makro aufzurufen?! (ist im Handbuch so detailliert und ausführlich erklärt)
Danke jetzt schon mal für eure Antworten! Und wünsche euch ein schönes we


Ich benutze nur G65 und M98 für den internen Speicher und M198 für den externen Programmzugriff. Mehr brauche ich nicht.

Sinnvoll ist es halt schon die Möglichkeit zu haben einen eigenen Zyklus über ein M oder G Befehl aufzurufen wenn dieser in vielen Programmen auf mehreren Maschinen verwendet wird, diese Unterprogramme kann man dann auch schreibgeschützt machen (O8000-O9999).

Nico war das auf einer Fräsmaschine bzw. welche Optionen hattest du auf der Maschine, so änliche Sachen hab ich auch schon gemacht aber eher das Problem das unsere Drehmaschinen das nicht hergeben, weil zu wenig Sätze vorausgelesen werden bzw. die Maschine immer am beschleunigen und abbremsen bei kleinen Lieniensegmenten ist, ansich ist die Fanuc schnell.
@Anna man kann natürlich Makros direkt im Hauptprogramm schreiben, ist sinnvoll bei einfachen Wiederholschleifen, bei komplexeren Zyklen die man universel einsetzen will macht man natürlich ein Unterprogramm das man im Idealfall per G-Code aufruft.
@Anna man kann natürlich Makros direkt im Hauptprogramm schreiben, ist sinnvoll bei einfachen Wiederholschleifen, bei komplexeren Zyklen die man universel einsetzen will macht man natürlich ein Unterprogramm das man im Idealfall per G-Code aufruft.
okay, du meinst also bezüglich der Makros, die direkt im Hauptprogramm stehen, die "U/V/W Funktion"?
..
U02;
G90 X400.0 Y30.0;
X150.0 Y100.0
...
V02;
.....
....
W02; (Aufruf von Makro U02)
....

Also ich hab mal gelernt:
X Y Z
I J K
U V W
sind alles Befehle um die Achsen zu steuern und haben nichts mit Unterprogrammen zu tun. Vielleicht bin ich aber auch aufm falschen Dampfer.
LG Nico
X Y Z
I J K
U V W
sind alles Befehle um die Achsen zu steuern und haben nichts mit Unterprogrammen zu tun. Vielleicht bin ich aber auch aufm falschen Dampfer.
LG Nico

X Y Z
I J K
U V W
sind alles Befehle um die Achsen zu steuern und haben nichts mit Unterprogrammen zu tun. Vielleicht bin ich aber auch aufm falschen Dampfer.
I J K
U V W
sind alles Befehle um die Achsen zu steuern und haben nichts mit Unterprogrammen zu tun. Vielleicht bin ich aber auch aufm falschen Dampfer.
Also im Fanuc Handbuch steht drin, dass U01-U89 und V01-V89 verwendet werden dürfen, um einen bestimmten NC Programmabsatz zu speichern. Sodass im späteren NC Verlauf mit W01-89 dieses wieder aufgerufen werden kann.
Dabei gilt, dass
bei 01-59, eine Speicherung der NC Sätze stattfindet und gleichzeitig die NC Sätze weiter ausgeführt werden
und bei 60-89, erst eine Speicherung der Sätze und dann eine Ausführung der NC Befehle geschieht.
Lg Anna

Das ist mir ganz neu, U V W wird verwendet um X Y Z inkremental zu programmieren und auch zum Referenzfahren, welche Steuerung ist es genau, ich kann nur für 16-i, 18-i und 31-i sprechen.

Das ist mir ganz neu, U V W wird verwendet um X Y Z inkremental zu programmieren und auch zum Referenzfahren, welche Steuerung ist es genau, ich kann nur für 16-i, 18-i und 31-i sprechen.
@Morph21: Ja, ich habe mich auch ein wenig gewundert..

Durch die beiden Befehle U...V wird der Anfang und das Ende des zu speichernden Makros programmiert. Der dann im späteren NC Verlauf jederzeit mit W aufgerufen werden kann.
Kann mir jemand vllt erklären, warum bei den Nullpunktverschiebungen es so viele Varianten gibt?
z.B #5221-#5240 -> Nullpunktverschiebung G54, bis zu 20 Achsen oder
#100351-#100400-> Nullpunktverschiebung G54, bis zu 50 Achsen? (diese Option bezieht sich auf die P Variablen, deshalb sind die Nummern so riesig)
Ich nehme mal an, dass dies was man dr Vielzahl von Achsen zu tun hat. Weiß jemand vllt was da genau passiert?
Anstatt in die Nummern die Verschiebungskoordinaten direkt einzugeben, kann ich ja auch über G10L2... NPV programmieren. Dennoch würde micht interessieren, weshalb es für die einzelnen G Befehle so viele # gibt.

lg anna

...
Kann mir jemand vllt erklären, warum bei den Nullpunktverschiebungen es so viele Varianten gibt?
z.B #5221-#5240 -> Nullpunktverschiebung G54, bis zu 20 Achsen oder
#100351-#100400-> Nullpunktverschiebung G54, bis zu 50 Achsen? (diese Option bezieht sich auf die P Variablen, deshalb sind die Nummern so riesig)
Ich nehme mal an, dass dies was man dr Vielzahl von Achsen zu tun hat. Weiß jemand vllt was da genau passiert?
Anstatt in die Nummern die Verschiebungskoordinaten direkt einzugeben, kann ich ja auch über G10L2... NPV programmieren. Dennoch würde micht interessieren, weshalb es für die einzelnen G Befehle so viele # gibt.
lg anna
Kann mir jemand vllt erklären, warum bei den Nullpunktverschiebungen es so viele Varianten gibt?
z.B #5221-#5240 -> Nullpunktverschiebung G54, bis zu 20 Achsen oder
#100351-#100400-> Nullpunktverschiebung G54, bis zu 50 Achsen? (diese Option bezieht sich auf die P Variablen, deshalb sind die Nummern so riesig)
Ich nehme mal an, dass dies was man dr Vielzahl von Achsen zu tun hat. Weiß jemand vllt was da genau passiert?
Anstatt in die Nummern die Verschiebungskoordinaten direkt einzugeben, kann ich ja auch über G10L2... NPV programmieren. Dennoch würde micht interessieren, weshalb es für die einzelnen G Befehle so viele # gibt.

lg anna
Weil die Steuerung auch noch für andere Maschinen verwendet wird...
Du kannst mit der Fanuc Serie 30i/31i/32i bis zu 40 Achsen (davon 24 Simultan) auf bis zu 10 Kanälen ansteuern und drei PLC-Programme gleichzeitig ausführen. Und dann musst du ja deine Nullpunkte in allen Achsen setzen, z.B. X1, X2, X3, X4, usw... Wir haben z.B. eine Mori Seike NMV3000 mit 121er Kettenmagazin und 34er Palettenturm. XYZBC werden als Hauptachsen der Maschine definiert. Meine Maschine hat durch den Aufbau aber jeweils zwei angesteuerte Achsen in XYZ. Diese werden nach Freigabe der Parameter als X1 X2 Y1 Y2 Z1 Z2 angezeigt. Genau so hat das Werkzeugmagazin seine drei oder vier Achsen und der Palettenturm ebenfalls vier.
FANUC FA - Serie 30i/31i/32i
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: