QUOTE (Berlin13409 @ 18.09.2012, 06:09 Uhr)
Hi,
also, wenn ich es richtig verstehe willst du dann nach Aufruf des Makros noch andere Positionen anfahrne und dann scheidet also die Option mit L aus (Anzahl der Aufrufe).
Du müsstest also dein Makro umbauen:
g71.... übergibt die Argumente an Makro P9010, welches g66 p9011 enthält, genauer:
g71 ABC ---> while [#4009ne80] do1
G66P9011 ABC
end1
g67
m99
..........................
Dann könntest du mit G80 wieder ganz normal deinen Zyklusablauf beenden. Soweit dei Theorie, noch mal kurz erklärt:
Über dein g71 rufst du ein Makro auf welches dem Makro deiner eigentlichen abläufe übergeordnet ist und solange aktiv bleibt bis du g80 ins Programm eingibst.
So wie es da ist wird es noch nicht funktionieren, aber es sollte ein guter Denkansatz sein.
Gruß Basti
Hallo Berlin 13409
Einen eigenen Zyklus zu programieren über einen Fanuc spezifischen Zyklus ist im normalfall nicht klug bzw. wird nur zum Teil funktionieren.
Kurze erklärung:
Fanuc greift bei den G funktionen auf eigene interne Variablen zurück. Somit wird es immer schwierig sein diesen zu beeinflussen.
Parameter 6050 bis 6059 kannst du dein G Code der die Unterprogramme von 9010 bis 9019 aufruft. Dieser Code darf aber nicht den Standart code entsprechen. Gib zb. im Parameter 6050 den Wert 0815 ein. Bedeutet, wenn du im Programm das Unterprogramm 0815 möchtest schreib G0815.
Nur mal kurz zur definition.
Zu der ursprünglichen frage des Ersteller dieses Themas "wo die variablen zu verfügung stehen? klares Nein!
Sind diese Modal? Kommt darauf an was du im Programm schreibst.
Ich denke es ist vorteilhafter wenn du uns dein Makro sendest inkl.erklärung was du da machen möchtest und dir evtl. einen anderen Lösungsvorschlag geben oder natürlich mit deiner Idee weiter arbeiten.