Siemens
Digital Industries, Motion Control, Machine Tool Systems
Aktuelle C Pos auslesen und schreiben / C NPV benutzen
05.11.2024, 11:23 Uhr
Hallo Com,
ich möchte den Arbeitsgang so gut wie es geht automatisieren und somit auch eine gewisse Sicherheit mit rein bringen.
Folgende Thematik. Ich muss bei einer Achse die schon stirnseitig tieflochgebohrt wurde Querbohren. Ich gehe wie folgt vor. Ich Drehe mein Futter auf C0 spanne dann das Teil so gut es geht mit der stirnseitigen Querbohrung nach oben. Dann stecke ich die Bohrung mit einem 9er Stift ab.
Nun würde ich das Programm starten in Y auf meinen Wert mit einer Welle im AWZ fahren mich vor das Teil positionieren und in X auf gewünschte tiefe fahren. M0 und Tür auf. Danach von Hand das Futter drehen, bis der Stift an der Welle anschlägt. Nun sollte die Tür wieder schließen und die aktuelle C Pos ausgelesen und gespeichert werden. Evtl im Programm oder vllt in einem R-Parameter ?
Entweder müsste hier jetzt verrechnet werde um wieviel Grad ich von C0 daneben liege und das in C NPV geschrieben werden, damit ich dann die Querbohrungen dann immer auf die Gradzahl aus der Zeichnung programmieren und fertigen kann.
Oder ich müsste dann nach dem Schlichten, dann auf den ausgelesenen C Achs Wert drehen und dann die Positionen der Querbohrungen inkremental in C anfahren.
Jetzt müsste ich eben wissen wie ich die akteulle C Pos auslese und mir abspeichere, damit ich das verwenden kann. Entweder dann auf die Pos drehen wenn ich sie brauche und von da aus immer Inkrementell die Gradzahl ändern. Oder mit einer Rechnung den Unterschied zu C0 ausrechnen und dann in C NPV schreiben lassen. Den Befehl für das schreiben in C NPV kenne ich.
Grüße und schon mal Danke fürs lesen,
Hagen
ich möchte den Arbeitsgang so gut wie es geht automatisieren und somit auch eine gewisse Sicherheit mit rein bringen.
Folgende Thematik. Ich muss bei einer Achse die schon stirnseitig tieflochgebohrt wurde Querbohren. Ich gehe wie folgt vor. Ich Drehe mein Futter auf C0 spanne dann das Teil so gut es geht mit der stirnseitigen Querbohrung nach oben. Dann stecke ich die Bohrung mit einem 9er Stift ab.
Nun würde ich das Programm starten in Y auf meinen Wert mit einer Welle im AWZ fahren mich vor das Teil positionieren und in X auf gewünschte tiefe fahren. M0 und Tür auf. Danach von Hand das Futter drehen, bis der Stift an der Welle anschlägt. Nun sollte die Tür wieder schließen und die aktuelle C Pos ausgelesen und gespeichert werden. Evtl im Programm oder vllt in einem R-Parameter ?
Entweder müsste hier jetzt verrechnet werde um wieviel Grad ich von C0 daneben liege und das in C NPV geschrieben werden, damit ich dann die Querbohrungen dann immer auf die Gradzahl aus der Zeichnung programmieren und fertigen kann.
Oder ich müsste dann nach dem Schlichten, dann auf den ausgelesenen C Achs Wert drehen und dann die Positionen der Querbohrungen inkremental in C anfahren.
Jetzt müsste ich eben wissen wie ich die akteulle C Pos auslese und mir abspeichere, damit ich das verwenden kann. Entweder dann auf die Pos drehen wenn ich sie brauche und von da aus immer Inkrementell die Gradzahl ändern. Oder mit einer Rechnung den Unterschied zu C0 ausrechnen und dann in C NPV schreiben lassen. Den Befehl für das schreiben in C NPV kenne ich.
Grüße und schon mal Danke fürs lesen,
Hagen
05.11.2024, 13:00 Uhr
Hallo,
die Werte die du suchst lauten $AA_IW[C] zum auslesen und $P_UIFR[1,C,FI] zum schreiben.
Wenn du einen Taster an deiner Maschine hast könnte man das Loch automatisch positionieren lassen.
Lg Pfiff
Der Beitrag wurde von Pfiff bearbeitet: 05.11.2024, 13:11 Uhr
die Werte die du suchst lauten $AA_IW[C] zum auslesen und $P_UIFR[1,C,FI] zum schreiben.
Wenn du einen Taster an deiner Maschine hast könnte man das Loch automatisch positionieren lassen.
Lg Pfiff
Der Beitrag wurde von Pfiff bearbeitet: 05.11.2024, 13:11 Uhr
07.11.2024, 11:11 Uhr
Hallo,
die Werte die du suchst lauten $AA_IW[C] zum auslesen und $P_UIFR[1,C,FI] zum schreiben.
Wenn du einen Taster an deiner Maschine hast könnte man das Loch automatisch positionieren lassen.
Lg Pfiff
die Werte die du suchst lauten $AA_IW[C] zum auslesen und $P_UIFR[1,C,FI] zum schreiben.
Wenn du einen Taster an deiner Maschine hast könnte man das Loch automatisch positionieren lassen.
Lg Pfiff
Vielen Dank.
Ich musste jetzt ein wenig herumprobieren. Problem bei der Sache, wenn man Einsteigt egal wo, überschreibt er ja die aktuelle C Pos. Hab das jetzt noch mit etwas anders gelöst. Am Anfang arbeite ich mit If R0==0 gotof und dann soll er den aktuellen Wert schreiben. Steht dort was drin wird es übersprungen. Am Ende vor M30 wird wieder auf 0 gesetzt.
So konnte ich es jetzt für mich lösen. Hab zwar in der Maschine noch ein Überbleibsel vom Vorgänger, da war wohl mal ein Taster drin, war aber nicht dabei.
So hat es aber jetzt funktioniert. Einzige, ich muss halt die Welle von Hand dann an den Anschlag drehen. Danach alles wieder Vollautomatisch.
07.11.2024, 12:36 Uhr
Hallo,
super das es geklappt hat.
Ich habe die Probleme folgendermaßen gelöst.
$P_UIFR[1,C,FI]=0 um den Wert zu nullen.
IF $P_SEARCH GOTOF ENDE zum Überspringen bei eienen Suchlauf.
super das es geklappt hat.
Ich habe die Probleme folgendermaßen gelöst.
$P_UIFR[1,C,FI]=0 um den Wert zu nullen.
IF $P_SEARCH GOTOF ENDE zum Überspringen bei eienen Suchlauf.
07.11.2024, 17:28 Uhr
Servus,
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
08.11.2024, 11:45 Uhr
Servus,
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
Das klingt auch interessant. Wo könnte ich denn nachschauen, ob wir diese Lizenz haben ?
Und wie würde hier der fertige Befehl ausschauen ? Reicht ja mit ganz wenig Widerstand, wenn das Futter an den Anschlag dreht.
Mit dem IF_$P SEARCH ist auch eine super Sache, kannte ich noch nicht. Kann man ja dann auch vielseitig mit einbauen. Danke
08.11.2024, 12:10 Uhr
Hallo,
die Lizenzen findest du unter Menü Select, Inbetriebnahme, Pfeil nach rechts, Lizenzen.
Danach auf alle Optionen drücken. Da hast du eine Auflistung aller Lizenzen.
Man kann auch Lizenzen temporär freischalten, wenn ich das richtig verstanden habe.
Beim "fahren auf Festanschlag" kann ich dir leider nicht weiterhelfen.
die Lizenzen findest du unter Menü Select, Inbetriebnahme, Pfeil nach rechts, Lizenzen.
Danach auf alle Optionen drücken. Da hast du eine Auflistung aller Lizenzen.
Man kann auch Lizenzen temporär freischalten, wenn ich das richtig verstanden habe.
Beim "fahren auf Festanschlag" kann ich dir leider nicht weiterhelfen.
08.11.2024, 12:26 Uhr
09.01.2025, 14:53 Uhr
Ich würde das auslesen der C Achsposition gerne weiter anwenden. Wie könnte ich in folgendem Beispiel das Problem übergehen, wenn ich nach M0 die C Achse so drehe wie ich sie brauche, dann Start drücke und das Programm sollte dann den aktuellen Wert in C Achsverschiebung schreiben und dann aber einfach weiter fahren. Nach M0 und Start drücken dreht er die C Achse wieder zurück auf ihren Anfangspunkt, also quasi wie Repos. Dann wird erst die C Achsposition ausgelesen und geschrieben, die wäre dann aber wieder 0 und nicht die gewünschte Position. Kann ich das irgendwie anders lösen ?
Weil mein Problem ist, der Kopf des Bolzens wird nicht ganz sauber, Maß und Rohteilbedingt. Ich muss aber zwei Flächen fräsen, diese drehe ich dann immer per Auge so hin, das ich die schlimmste Stelle dafür benutze.
Fällt euch da was ein, wie ich das anders lösen könnte ?
Grüße Hagen
Weil mein Problem ist, der Kopf des Bolzens wird nicht ganz sauber, Maß und Rohteilbedingt. Ich muss aber zwei Flächen fräsen, diese drehe ich dann immer per Auge so hin, das ich die schlimmste Stelle dafür benutze.
Fällt euch da was ein, wie ich das anders lösen könnte ?
Grüße Hagen
14.01.2025, 12:51 Uhr
Würde da eine weitere Nullpunktverschiebung helfen? Zb.: G55
14.01.2025, 12:54 Uhr
Servus,
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
wenn die Lizenz "fahren auf Festanschlag" vorhanden ist, könntest du die C-Achse automatisch, mit einem bestimmten Moment gegen den Anschlag fahren lassen. Sofern für die Bearbeitung nichts mehr entfernt werden muss, Stift/Anschlag, würde man sich das Öffnen der Türe sparen.
(FXS, FXFT,...)
Gruß
Also meine Maschine scheint diese Option zu haben laut Boehringer.
Ich habe mal folgendes probiert, aber Leider mit Fehler erfolglos.
[quote]M59
H2352
G1 G94 C15 FXS[C]=1 FXST[C]=5 FXSW[C]=25 F50
Also ich hab mal geschaut, ich meine die Maschine hat diese Option frei geschaltet, laut Boeringer. Ich hab in den Maschinendaten mal MD37000 auf 1 gesetzt, damit wäre die Achse dafür aktiviert.
Mein Programm sieht wie folgt aus.
M59
H2352
M41
M70
G0 C20
G1 G94 C9 FXS[C]=1 FXST[C]=1 FXSW[C]=11 F100
CASE ($AA_FXS[C] OF 1 GOTO WEITER 2 GOTOF FALSCH
Sie fährt auf C20 und tastet dann mit F100 langsam an den Anschlag, dieser sollte bei 11 Grad liegen, sie würde hier aber auf 9 Grad fahren und dann auf Falsch springen. Was ist hier noch falsch ? Achslast 1% sollte ja dann locker erreicht sein, ist zwar Getriebestufe 1, da hat sie schon Power, aber 1% sollte doch dennoch erreicht werden. Sie geht quasi schon 2Grad über ihr soll, wenn ich es von Hand andrehe, komme ich auf ca. 11 Grad am Anschlag.
Ich hatte es mal mit Sposa=20 probiert, aber hier hab ich ja immer noch FXS[C]= und in SPOSA fährt sie auch recht schnell, sie würde dann immer auf den Anschlag knallen.
Und M70 für die C Achse geht leider nur in M41.
Habt ihr noch eine Idee ? Oder muss ich in den Maschinenparameter noch was Einstellen. Denke mit FXS[C]= usw. gebe ich die Werte vor, in den MD's sind das wahrscheinlich Standardwerte und werden für diese Aktion temporär überschrieben ?
14.01.2025, 12:56 Uhr
Würde da eine weitere Nullpunktverschiebung helfen? Zb.: G55
Bringt meiner Meinung leider nichts, da die Maschine sobald ich die C Achse bewege, nach erneutem Start sich erst mal wieder Repositioniert bevor sie im Programm weiter macht, dann würd ich den falschen Wert für C bekommen.
16.01.2025, 07:27 Uhr
Also meine Maschine scheint diese Option zu haben laut Boehringer.
Ich habe mal folgendes probiert, aber Leider mit Fehler erfolglos.
M59
H2352
G1 G94 C15 FXS[C]=1 FXST[C]=5 FXSW[C]=25 F50
Also ich hab mal geschaut, ich meine die Maschine hat diese Option frei geschaltet, laut Boeringer. Ich hab in den Maschinendaten mal MD37000 auf 1 gesetzt, damit wäre die Achse dafür aktiviert.
Mein Programm sieht wie folgt aus.
M59
H2352
M41
M70
G0 C20
G1 G94 C9 FXS[C]=1 FXST[C]=1 FXSW[C]=11 F100
CASE ($AA_FXS[C] OF 1 GOTO WEITER 2 GOTOF FALSCH
Sie fährt auf C20 und tastet dann mit F100 langsam an den Anschlag, dieser sollte bei 11 Grad liegen, sie würde hier aber auf 9 Grad fahren und dann auf Falsch springen. Was ist hier noch falsch ? Achslast 1% sollte ja dann locker erreicht sein, ist zwar Getriebestufe 1, da hat sie schon Power, aber 1% sollte doch dennoch erreicht werden. Sie geht quasi schon 2Grad über ihr soll, wenn ich es von Hand andrehe, komme ich auf ca. 11 Grad am Anschlag.
Ich hatte es mal mit Sposa=20 probiert, aber hier hab ich ja immer noch FXS[C]= und in SPOSA fährt sie auch recht schnell, sie würde dann immer auf den Anschlag knallen.
Und M70 für die C Achse geht leider nur in M41.
Habt ihr noch eine Idee ? Oder muss ich in den Maschinenparameter noch was Einstellen. Denke mit FXS[C]= usw. gebe ich die Werte vor, in den MD's sind das wahrscheinlich Standardwerte und werden für diese Aktion temporär überschrieben ?
Hallo,
mit FSX[C]=1 wird das Fahren auf Festanschlag aktiviert für die C-Achse mit FXST[C]=XX wird das Moment in % vom maximalen Motormoment der C-Achse angegeben. Mit FXSW=xx wird die Fensterweite angegeben, muss aber nicht verwendet werden.
ev. für das anschlag suchen einen IC Befehl verwenden je nach gewünschter Richtung - oder +
sobald der Festanschlag erreicht wurde bleibt die Achse dort stehen, ansonsten kommt Festanschlag nicht erreicht.
G1 G94 C=IC(-20 oder +20) FXS[C]=1 FXST[C]=1 F100
Wert speichern z.B.: mit GUD oder LUD oder R-Parameter
C_POS1=$AA_IW[C] ;
Fahren auf Festanschlag ausschalten
FXS[C]=0
freifahren positiv oder negativ je nach Anwendung entweder mit IC(+Wert oder -Wert), mit CACN oder CACP mit ACN oder ACP könnte es auch funktionieren.
die CASE Anweisung würde ich mir komplett sparen.
Gruß
Ich habe mal folgendes probiert, aber Leider mit Fehler erfolglos.
M59
H2352
G1 G94 C15 FXS[C]=1 FXST[C]=5 FXSW[C]=25 F50
Also ich hab mal geschaut, ich meine die Maschine hat diese Option frei geschaltet, laut Boeringer. Ich hab in den Maschinendaten mal MD37000 auf 1 gesetzt, damit wäre die Achse dafür aktiviert.
Mein Programm sieht wie folgt aus.
M59
H2352
M41
M70
G0 C20
G1 G94 C9 FXS[C]=1 FXST[C]=1 FXSW[C]=11 F100
CASE ($AA_FXS[C] OF 1 GOTO WEITER 2 GOTOF FALSCH
Sie fährt auf C20 und tastet dann mit F100 langsam an den Anschlag, dieser sollte bei 11 Grad liegen, sie würde hier aber auf 9 Grad fahren und dann auf Falsch springen. Was ist hier noch falsch ? Achslast 1% sollte ja dann locker erreicht sein, ist zwar Getriebestufe 1, da hat sie schon Power, aber 1% sollte doch dennoch erreicht werden. Sie geht quasi schon 2Grad über ihr soll, wenn ich es von Hand andrehe, komme ich auf ca. 11 Grad am Anschlag.
Ich hatte es mal mit Sposa=20 probiert, aber hier hab ich ja immer noch FXS[C]= und in SPOSA fährt sie auch recht schnell, sie würde dann immer auf den Anschlag knallen.
Und M70 für die C Achse geht leider nur in M41.
Habt ihr noch eine Idee ? Oder muss ich in den Maschinenparameter noch was Einstellen. Denke mit FXS[C]= usw. gebe ich die Werte vor, in den MD's sind das wahrscheinlich Standardwerte und werden für diese Aktion temporär überschrieben ?
Hallo,
mit FSX[C]=1 wird das Fahren auf Festanschlag aktiviert für die C-Achse mit FXST[C]=XX wird das Moment in % vom maximalen Motormoment der C-Achse angegeben. Mit FXSW=xx wird die Fensterweite angegeben, muss aber nicht verwendet werden.
ev. für das anschlag suchen einen IC Befehl verwenden je nach gewünschter Richtung - oder +
sobald der Festanschlag erreicht wurde bleibt die Achse dort stehen, ansonsten kommt Festanschlag nicht erreicht.
G1 G94 C=IC(-20 oder +20) FXS[C]=1 FXST[C]=1 F100
Wert speichern z.B.: mit GUD oder LUD oder R-Parameter
C_POS1=$AA_IW[C] ;
Fahren auf Festanschlag ausschalten
FXS[C]=0
freifahren positiv oder negativ je nach Anwendung entweder mit IC(+Wert oder -Wert), mit CACN oder CACP mit ACN oder ACP könnte es auch funktionieren.
die CASE Anweisung würde ich mir komplett sparen.
Gruß
16.01.2025, 08:08 Uhr
Wert speichern z.B.: mit GUD oder LUD oder R-Parameter
C_POS1=$AA_IW[C] ;
freifahren positiv oder negativ je nach Anwendung entweder mit IC(+Wert oder -Wert), mit CACN oder CACP mit ACN oder ACP könnte es auch funktionieren.
Gruß
C_POS1=$AA_IW[C] ;
freifahren positiv oder negativ je nach Anwendung entweder mit IC(+Wert oder -Wert), mit CACN oder CACP mit ACN oder ACP könnte es auch funktionieren.
Gruß
Danke dir erst mal für deine Antwort. Sobald die Teile wieder drauf sind, werde ich das noch mal probieren.
Wohin wird dieser Wert mit dem Befehl gespeichert ? C_POS1 ... ?
Momentan schreib ich es in die R-Parameter und arbeite dann ,it C=R1 z.b C=R1+90 usw.
Und CACN, CACP usw, ist fürs freifahren ? Hab ich noch nie gesehen, die Befehle. Ich fahre dann einfach in X hoch, dann ist der Anschlag im Rev aus dem weg.
16.01.2025, 08:25 Uhr
Danke dir erst mal für deine Antwort. Sobald die Teile wieder drauf sind, werde ich das noch mal probieren.
Wohin wird dieser Wert mit dem Befehl gespeichert ? C_POS1 ... ?
Momentan schreib ich es in die R-Parameter und arbeite dann ,it C=R1 z.b C=R1+90 usw.
Und CACN, CACP usw, ist fürs freifahren ? Hab ich noch nie gesehen, die Befehle. Ich fahre dann einfach in X hoch, dann ist der Anschlag im Rev aus dem weg.
Wohin wird dieser Wert mit dem Befehl gespeichert ? C_POS1 ... ?
Momentan schreib ich es in die R-Parameter und arbeite dann ,it C=R1 z.b C=R1+90 usw.
Und CACN, CACP usw, ist fürs freifahren ? Hab ich noch nie gesehen, die Befehle. Ich fahre dann einfach in X hoch, dann ist der Anschlag im Rev aus dem weg.
C_POS1 wäre ein Beispiel für eine Gud Variable. Geht natürlich auch mit R-Parametern.
mit IC(+ oder -) kann man der Achse eine positive oder negative Richtung vorgeben.
CACN=Codierte Position von Positionsnummer n in negativer Richtung anfahren
POS[C]=CACN(xx) FA[C]=100
CACP=Codierte Position von Positionsnummer n in positiver Richtung anfahren
POS[C]=CACP(xx) FA[C]=100
ob das mit G1 auch funktioniert muss man ausprobieren
G1 C=CACN(xx) F=100
wenn du mit der X-Achse Freifahren kannst ist das natürlich auch OK
Gestern, 08:13 Uhr
Gestern, 11:08 Uhr
GUD steht für "Global User Data". Auf Deutsch nennt Siemens das "Globale Anwenderdaten".
Die funktionieren im Prinzip so wie R-Parameter, haben aber den Vorteil, dass man den Datentyp (REAL, INT usw.) definieren kann und den Variablen sinnvolle Namen geben kann.
Die funktionieren im Prinzip so wie R-Parameter, haben aber den Vorteil, dass man den Datentyp (REAL, INT usw.) definieren kann und den Variablen sinnvolle Namen geben kann.
Gestern, 11:14 Uhr
Ok, Danke mal für die Info. Gibt es auch eine Eingabemaske oder einen Bereich indem man die Variablen und Werte einsehen kann so wie der Reiter R-Parameter ?
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: