Postprozessor Werkzeugwechsel

Postprozessor Werkzeugwechsel

zentrale
Observer Observer
384Aufrufe
6Antworten
Nachricht 1 von 7

Postprozessor Werkzeugwechsel

zentrale
Observer
Observer

Hallo, 

 

ich habe einen funktionierenden Post, aber ich möchte gerne eine Optimierung vornehmen. 
Das Problem ist, dass beim schwenken von 4-5Achse die Freifahrbewegung in Z nur stattfinden soll, wenn kein Werkzeugwechsel zuvor stattgefunden hat. 

Kann mir jemand helfen? 
Siemens 840d

0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
385Aufrufe
6Antworten
Antworten (6)
Nachricht 2 von 7

marcus.toepke
Advisor
Advisor

Kannst du den Postprozessor mal hier hochladen oder ist das einfach der standard Siemens 840d?

0 „Gefällt mir“-Angaben
Nachricht 3 von 7

zentrale
Observer
Observer

Es handelt sich um ein leicht modifizierten standard Post von Siemens 840d aus 2023.

Wie im Bild zu sehe ist, soll (0) verwendet werden wenn ein Werkzeugwechsel zuvor stattgefunden hat. (1) wenn das Werkzeug bereits im Prozess arbeitet

 

0 „Gefällt mir“-Angaben
Nachricht 4 von 7

marcus.toepke
Advisor
Advisor

So ich bekomme des nicht getriggert, ich bekomme immer Cycle800 ausgegeben, aber ich meine so müsste das gehen

		if(!isFirstSection() && tool.number != getPreviousSection().getTool().number){
			var FR = integerFormat.format(1); // 0 = without moving to safety plane, 1 = move to safety plane only in Z, 2 = move to safety plane Z,X,Y
		} else {
			var FR = integerFormat.format(0); // 0 = without moving to safety plane, 1 = move to safety plane only in Z, 2 = move to safety plane Z,X,Y
		}

 Screenshot_5.png

probier es mal aus.

 

Ich sehe gerade, dass das so nicht funktioniert.
Cycle800 mit Parametern, wird wohl nur am Ende des Programmes geschrieben, wenn gar keine Section mehr aktiv ist!

Wie funktioniert das im Programm?

 

Wenn Cycle800 mit Parametern nur einmal geschrieben, wird um es wie eine Funktion aufzurufen, müsstest du ja auch den namen bei mehereren Operationen ändern, sowohl beim Aufruf, als auch in der Funktion.
Vielleicht verstehe ich das auch alles falsch. Ich bin ein Heidenhain Mensch!

 

Geht das vielleicht, dass man immer den Cycle800 mit parametern ausgiebt ohne Cycle800() als Aufruf, wenn es denn ein Aufruf ist.


Kann du das mal erklären, wie das im Programm ablauf funktioniert?

 

0 „Gefällt mir“-Angaben
Nachricht 5 von 7

zentrale
Observer
Observer

Danke für den ersten Tipp. Aber wie du gesagt hast es funktioniert nicht.

 

Cycle800 beschreibt bei Heidenhain den Plane Spatial. Also Freifahrbewegung, X-Y-Z Nullpunktverschiebungh vor dem Schwenken, Schwenken der A-B-C-Achse, eine Nullpunktverschiebung nach dem Schwenken, die Achsreihenfolge (CBA, BCA, ABC usw.) Drehrichtung (+ oder -) die Drehbewegung (Turn,Move,Stay).

Falls du noch Info benötigst, lass es mich wissen.

 

Im Post müsste man sagen können, wenn ein Toolinsert (M6) fünf Zeilen vor Cycle800 ist setzte FR(0) sonst FR (1)

0 „Gefällt mir“-Angaben
Nachricht 6 von 7

marcus.toepke
Advisor
Advisor
Akzeptierte Lösung

Würde das so gehen?

Screenshot_8.png

Screenshot_9.png

 

0 „Gefällt mir“-Angaben
Nachricht 7 von 7

zentrale
Observer
Observer

Klappt super so.

Ich habe Cyele800 wieder auf () gestellt, weil sonst zwei Schwenksätze hintereinader sind ( deine Lösung hat aber funktioniert, ist nur für mich optisch schöner ;-))

Vielen Dank 

0 „Gefällt mir“-Angaben