Hi,
da die Programmstruktur so wie auf der
FANUC aussieht denke ich Du hast da nen kleinen Denkfehler drin.
QUOTE
G66 P999995 E#5 F#6 H#8 S#19 U#21 V#22 (Anbohren)
G67
O999995 (ANBOHREN)
/#18={2035}+1 (R___Referenzebene)
/#26={2026} (Z___Bohrtiefe)
/#6={2056} (F___Vorschub1)
/#19={2057} (S___Drehzahl1)
/#21={2054} (U___Umschalttiefe 1)
/#5={2038} (E___Vorschub 2)
/#8={2036} (H___Drehzahl 2)
/#22={2055} (V___Umschalttiefe 2)
/#20={167} (T___Ersatzwerkzeug)
/#23={2042} (W___Rueckzugebene)
/#17={2069} (Q___Prozessnummer)
/#1={2052} (A___min. Zustelltiefe)
/#2={2051} (B___Degressionsfaktor)
/#3={2042} (C___Sicherheitsabstand)
/
/#31={2037} (Vorschub Zustellung)
/#32={2124} (Endform als Kennnummer)
/#33=5 (Anzahl Stufen)
#150=1 (Startpunkt für Schleife)
/
(Drehzahlstufen)
#125=(#19-#8)/#33 (
Drehzahl 1 ? Drehzahl 2 / Anzahl Stufen)
/
(Vorschubstufen)
#126=(#6-#5)/#33 (Vorschub 1 ? Vorschub 2 / Anzahl Stufen)
/
(Schrittweite)
#127=(#22-#21)/#33 (Umschalttiefe 2 ? Umschalttiefe 1 / Anzahl Stufen)
/
G0 Z[#23] (Positionierung auf Rueckzugsebene)
G1 Z[#21] F[#31] (Positionierung auf Umschalttiefe 1 mit Zustellvorschub)
S[#5] M3 (Spindel an, Links drehend)
/
(WHILE ? Schleife fuer Vorschub- und Drehzahlerhöhung)
WHILE [#15 EQ #33] DO1 (Definition der Schleife ? von 1 - ..Anzahl Stufen .. )
G1 Z-[#21+(#15*#127)] F[#6+(#15*#126)] S[#19+(#15*#125)] (Pos. auf Z-Stufe mit V-Stufe und S-Stufe)
#15=#15+1 (Erhöhung Parameter #15 um 1)
END 1
/
M99
Betrachtet man das ganze Macroprogramm mal genauer fällt mir folgendes auf:
QUOTE
G0 Z[#23] (Positionierung auf Rueckzugsebene)
Hier macht die Steuerung gar nichts. Da Du mit W keinen Wert in Dein Macroporgramm übergibst. Die Steuerung interpretiert das als G0 Z#0 und macht daraus einfach G0. Das Z fällt somit weg.
QUOTE
G1 Z[#21] F[#31] (Positionierung auf Umschalttiefe 1 mit Zustellvorschub)
Hier passiert theoretisch eigentlich etwas. Je nachdem was für ein Vorschub vorher aktiv war bzw. was in der jeweiligen Programmebene in der Variable 31 gestanden hat müßte die Steuerung mit diesem Vorschub fahren. Aber nur theoretisch.
QUOTE
WHILE [#15 EQ #33] DO1 (Definition der Schleife ? von 1 - ..Anzahl Stufen .. )
Hmmm also hier passiert eigentlich rein gar nix. Deine Schleife wird nie durchlaufen. Man möge mich korrigieren wenn ich falsch liege. Aber Wort wörtlich heißt das ja soviel wie "Solange der Wert der Variable 15 gleich dem Wert der Variable 33 ist wiederhole die Schleife DO1" aber Variable 15 wurde nie definiert. Oder ich habs Übersehen.
Wie soll den genau der Ablauf Deines Zyklus sein. Evtl. kann ich Dir den ein oder anderen Tipp geben. Einen hätte ich schon. Ich würde das Programmdesign ein bisschen ausmisten damit es Übersichtlicher wird. Auch würde ich ersteinmal den Zyklusablauf auf Papier festhalten.
Gruß Markus
P.S. Du könntest in Dein Macroprogramm mal zum Testen ob die Steuerung überhaupt dort reinspringt eine Fehlermeldung ausgeben lassen.
#3000=0(JUHU ICH BLEIB HAENGEN)
Am besten am Anfang des Macroprogrammes. Dann wäre dieser Fehler schon einmal ausgeschlossen wenn die Meldung kommt.