Siemens
Digital Industries, Motion Control, Machine Tool Systems
FGREF/FGROUP Maschinenfehler?, Bug in 840D???

Hallo zusammen.
Habe ein großes Problem beim Umgang mit FGREF und FGROUP
auf einer HECKERT CWK630 H/V.
Vorwort:
Ich habe ein Unterprogramm erstellt, mit dem man bei außermittig liegenden Teilen auf einem Drehtisch einen korrekten Bohrteilkreis fertigen kann der mittig des Werkstückes liegt.
Das bedeutet das beim anfahren eines Winkels mit dem Drehtisch gleichzeitig die beiden Linearachsen X und Z angefahren werden.
Da die Werte von X und Z sehr klein sein können und deren Position demzufolge schnell erreicht ist versucht nun die Tischachse (bei uns B-Achse) in der gleichen Zeit anzukommen. Verfährt also viel zu schnell.
Um dem abzuhelfen gibt es FGROUP und FGREF. Ich habe FGROUP(B) gesetzt damit die Achse des Drehtisches zur Führungsachse wird und FGREF[B]=RADIUS DES BOHRTEILKREISES.
Funktioniert soweit gut.
Problem1:
Ich hatte durch einen Programmierfehler den Wert von FGREF[B]=0 erhalten
Die Maschine zeigte nun an das sie mit dem Drehtisch auf den nächsten Winkel verfahren will, tat es aber nicht und NUN KOMMTS fuhr im Programm mit den nächsten Sätzen weiter also mit X und Z.
Es hätte um ein Haar einen Crash gegeben.
Auch wenn hier FGREF falsch geschrieben wurde hätte die Maschine doch nicht weiterarbeiten dürfen, da der Winkel noch nicht abgearbeitet war.
Problem2:
Siemens schreibt das FGREF nach dem Programmende oder bei RESET wieder zurückgesetzt wird auf FGREF=360/2pi
Nun haben wir immer vor dem Programmende einen Tischwechsel (Unterprogramm L350,L351,L352 von Heckert). Hier werden erst alle Linearachsen auf Tischwechselposition angefahren und dann der Tisch selber auf Wechselposition eingedreht.
Im Programm selber stand zu dem Zeitpunkt noch ein FGREF[B]=irgendein Wert.
Auch hier verfuhr der Drehtisch NICHT auf Wechselposition aber im Unterprogramm wurde das OK gegeben den Tisch zu wechseln!!!
Das Problem wurde behoben indem noch im Programm vor dem Tischwechsel FGREF=360/2pi gesetzt wurde.
Frage:
Kennt jemand dieses oder ein ähnliches Problem? Könnte das ein Bug in der Steuerung 840D sein?
Arbeitet ihr erfolgreich mit FGREF/FGROUP und wie habt ihr es programmiert?
Bin für jede Hilfe dankbar. Gruß lolek
Der Beitrag wurde von mirek bearbeitet: 25.06.2008, 11:05 Uhr
Habe ein großes Problem beim Umgang mit FGREF und FGROUP
auf einer HECKERT CWK630 H/V.
Vorwort:
Ich habe ein Unterprogramm erstellt, mit dem man bei außermittig liegenden Teilen auf einem Drehtisch einen korrekten Bohrteilkreis fertigen kann der mittig des Werkstückes liegt.
Das bedeutet das beim anfahren eines Winkels mit dem Drehtisch gleichzeitig die beiden Linearachsen X und Z angefahren werden.
Da die Werte von X und Z sehr klein sein können und deren Position demzufolge schnell erreicht ist versucht nun die Tischachse (bei uns B-Achse) in der gleichen Zeit anzukommen. Verfährt also viel zu schnell.
Um dem abzuhelfen gibt es FGROUP und FGREF. Ich habe FGROUP(B) gesetzt damit die Achse des Drehtisches zur Führungsachse wird und FGREF[B]=RADIUS DES BOHRTEILKREISES.
Funktioniert soweit gut.
Problem1:
Ich hatte durch einen Programmierfehler den Wert von FGREF[B]=0 erhalten
Die Maschine zeigte nun an das sie mit dem Drehtisch auf den nächsten Winkel verfahren will, tat es aber nicht und NUN KOMMTS fuhr im Programm mit den nächsten Sätzen weiter also mit X und Z.
Es hätte um ein Haar einen Crash gegeben.
Auch wenn hier FGREF falsch geschrieben wurde hätte die Maschine doch nicht weiterarbeiten dürfen, da der Winkel noch nicht abgearbeitet war.
Problem2:
Siemens schreibt das FGREF nach dem Programmende oder bei RESET wieder zurückgesetzt wird auf FGREF=360/2pi
Nun haben wir immer vor dem Programmende einen Tischwechsel (Unterprogramm L350,L351,L352 von Heckert). Hier werden erst alle Linearachsen auf Tischwechselposition angefahren und dann der Tisch selber auf Wechselposition eingedreht.
Im Programm selber stand zu dem Zeitpunkt noch ein FGREF[B]=irgendein Wert.
Auch hier verfuhr der Drehtisch NICHT auf Wechselposition aber im Unterprogramm wurde das OK gegeben den Tisch zu wechseln!!!
Das Problem wurde behoben indem noch im Programm vor dem Tischwechsel FGREF=360/2pi gesetzt wurde.
Frage:
Kennt jemand dieses oder ein ähnliches Problem? Könnte das ein Bug in der Steuerung 840D sein?
Arbeitet ihr erfolgreich mit FGREF/FGROUP und wie habt ihr es programmiert?
Bin für jede Hilfe dankbar. Gruß lolek
Der Beitrag wurde von mirek bearbeitet: 25.06.2008, 11:05 Uhr



Level 2 = Community-Facharbeiter


Gruppe: Mitglied
Mitglied seit: 19.12.2006
Beiträge: 101
Mitglied seit: 19.12.2006
Beiträge: 101
Hallo mirek,
Ich denke dass in FGROUP die Linearachsen auch enthlten sein müssen, damit das ganze synchron verfährt: FGROUP(X,Y,Z,B).
FGREF bedeutet dann, dass sich der Vorschub auf den Radius der Rundachse bezieht und die andern Achsen in FGROUP nachziehen. Wenn nun der Radius Null ist, so ist auch der Vorschub der Rundachse Null, und da du nur die Rundachse in FGROUP eingetragen hast kümmert das die Linearachsen nicht. (Eigentlich müsste bei Radius Null ein unendlich grosser Vorschub oder Fehler "Division by Zero" entstehen)
Eine Frage: Warum meinst du, dass die Rundachse denn zu schnell dreht? Ich fahre auf meinen Maschinen zum Positionieren immer mit allen 4 oder 5 Achsen synchron im Eilgang.
Der Beitrag wurde von Spanförderer bearbeitet: 25.06.2008, 12:00 Uhr
Ich denke dass in FGROUP die Linearachsen auch enthlten sein müssen, damit das ganze synchron verfährt: FGROUP(X,Y,Z,B).
FGREF bedeutet dann, dass sich der Vorschub auf den Radius der Rundachse bezieht und die andern Achsen in FGROUP nachziehen. Wenn nun der Radius Null ist, so ist auch der Vorschub der Rundachse Null, und da du nur die Rundachse in FGROUP eingetragen hast kümmert das die Linearachsen nicht. (Eigentlich müsste bei Radius Null ein unendlich grosser Vorschub oder Fehler "Division by Zero" entstehen)
Eine Frage: Warum meinst du, dass die Rundachse denn zu schnell dreht? Ich fahre auf meinen Maschinen zum Positionieren immer mit allen 4 oder 5 Achsen synchron im Eilgang.
Der Beitrag wurde von Spanförderer bearbeitet: 25.06.2008, 12:00 Uhr
--------------------
Dieser Spanförder fördert die Spanbildung!
Bei Computerproblemen sitzt das Probleim meist näher als 1Meter vor dem Bildschirm.
Bei Computerproblemen sitzt das Probleim meist näher als 1Meter vor dem Bildschirm.

hi spanförderer
Danke für deine Antwort.
Das mit dem Bahnverbund FGROUP(X,Z,B) hatte ich im Siemens Handbuch auch gelesen und ich hatte das auch so versucht. Aber es gab da eine Fehlermeldung die mir jetzt gerade nicht mehr einfällt. Nur durch das Rausnehmen von X und Z fuhr die ganze Sache überhaupt los.
Ich werde aber auf jeden Fall noch mal testen und X Z wieder mit reinnehmen. Mal sehen was das für eine Fehlermeldung war.
Deine Meinung das es die Linearachsen nicht kümmert weil sie nicht im Verbund mit drinstehen finde ich als Erklärung ganz gut.
Verstehe aber trotzdem nicht das dieser Umstand nicht abgesichert ist.
Immerhin steht ja in der Anzeige eine Tischposition die angefahren werden soll aber noch nicht ist.
Zu deiner Frage:
Beim Anfahren verfahre ich auch manchmal alle Achsen gleichzeitig.
Da sind die Wege ausreichend und die Bewegung ist o.k.
Aber schreibe mal in einen Satz ohne Achsverbund
G91 G1 Z0.1 B=IC(50) F1000
Da verfährt z nur 0.1mm aber die Achse dreht um 50°
Danke für deine Antwort.
Das mit dem Bahnverbund FGROUP(X,Z,B) hatte ich im Siemens Handbuch auch gelesen und ich hatte das auch so versucht. Aber es gab da eine Fehlermeldung die mir jetzt gerade nicht mehr einfällt. Nur durch das Rausnehmen von X und Z fuhr die ganze Sache überhaupt los.
Ich werde aber auf jeden Fall noch mal testen und X Z wieder mit reinnehmen. Mal sehen was das für eine Fehlermeldung war.
Deine Meinung das es die Linearachsen nicht kümmert weil sie nicht im Verbund mit drinstehen finde ich als Erklärung ganz gut.
Verstehe aber trotzdem nicht das dieser Umstand nicht abgesichert ist.
Immerhin steht ja in der Anzeige eine Tischposition die angefahren werden soll aber noch nicht ist.
Zu deiner Frage:
Beim Anfahren verfahre ich auch manchmal alle Achsen gleichzeitig.
Da sind die Wege ausreichend und die Bewegung ist o.k.
Aber schreibe mal in einen Satz ohne Achsverbund
G91 G1 Z0.1 B=IC(50) F1000
Da verfährt z nur 0.1mm aber die Achse dreht um 50°
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: