Postprozessor-Makros

Hier kann alles, was mit Postprozessoren zusammenhängt, geschrieben werden.
Antworten
resaub
Beiträge: 42
Registriert: 17.06.2007, 21:24
Wohnort: Görlitz

Postprozessor-Makros

Beitrag von resaub » 19.03.2008, 10:46

Hallo Jens,

gibt´s ein Postprozessor-Makro mit dem man , z.B. am Programmanfang, mit der Werkzeugachse auf die Freifahrebene fahren kann?

Wenn das Werkzeug z.B. unter der Rohteiloberfläche ("Z(BZ+)") steht, soll es im ersten Satz freifahren und dann in der XY-Ebene auf die Startposition fahren. (Meine Maschine hat, bei eingespielten Programmen, keine Eilgang-Logik und fährt mit allen Achsen gleichzeitig.)

MfG
Rene

Benutzeravatar
3DMSOFT
Site Admin
Beiträge: 1365
Registriert: 07.05.2006, 14:20
Kontaktdaten:

Beitrag von 3DMSOFT » 19.03.2008, 11:50

Hallo Rene ,

ja, das geht.
Der gängigste Weg ist der, das man die erste Koordinate eines NC-Jobs anfährt.

Dazu benutzt man die Makros ,(KFAx+[0]), (KFAy+[0]) ,(KFAz+[0])

Diese Printen jeweils den aktuellen Koordinatenwert.
In der Startsektion heißt das dementsprechend-- die erste Koordinate.
Bei richtiger Einstellung liegt die erste Koordinate eines NC-Jobs immer im Freien.
Die Höhe der ersten Koordinate wird durch den eingetragenen Wert in der Option „Freifahren“=>“Abstand Werkstück“ bzw. „Freifahrebene“ bestimmt. Die erste Koordinate wird jedoch immer um Bezug zur Freifahrebene festgelegt (Freifahrebene + eingetragenen Wert ==Höhe).

Da das Rohteil beim Schruppen berücksichtigt wird, hat die erste Koordinate die Höhe: Rohteiloberfläche + Freifahren == erste Z-Koordinate. Bei Schlicht-Jobs ist die Modelloberfläche ausschlaggebend also: Modelloberfläche + Freifahren== erste Z-Koordinate.

Das Macro „KFA“ steht praktisch für „Koordiante; Formatiert ;Absolut“

Du kannst also in der Startsektion mit folgenden Einträgen erreichen, dass
die Z-Höhe der ersten Koordinate angefahren wird und anschließend die X/Y-Positionen.

(Count_Block)G0 Z(KFAz+[5])
(Count_Block) X(KFAx+[0]) Y(KFAy+[0])

(KFAz+[0])
In den eckigen Klammern kann ein Wert eingetragen werden der hinzuaddiert werden soll also : KFAz+[5]) heißt: Z-Höhe plus „5“



Grüße Jens

resaub
Beiträge: 42
Registriert: 17.06.2007, 21:24
Wohnort: Görlitz

Beitrag von resaub » 19.03.2008, 12:49

Hallo,

prima, funzt :D !

MfG
Rene

Benutzeravatar
3DMSOFT
Site Admin
Beiträge: 1365
Registriert: 07.05.2006, 14:20
Kontaktdaten:

Beitrag von 3DMSOFT » 18.05.2008, 18:16

Hallo Rene,

nun gibt es noch eine weitere Möglichkeit.
Man kann nun auch die Makros verschachtelt anwenden und mathematische Operationen innerhalb von eckigen Klammern ausführen.
Beispiel :
(KFAz[(BZ+)+5])

Mit diesen Makro wird zusätzlich noch überprüft, ob der Maschinenverfahrweg überschritten wird.:
Z(KFAz[(ope[(BZ+)+5>250?250:(BZ+)+5])])
s. auch http://www.conda-cam.de/Forum/phpBB2/vi ... .php?t=152).



In der Startsektion dann so:
(Count_Block)G0 Z(KFAz[(ope[(BZ+)+5>250?250:(BZ+)+5])])
(Count_Block) X(KFAx+[0]) Y(KFAy+[0])



Mit freundlichen Grüßen Jens Tonak

resaub
Beiträge: 42
Registriert: 17.06.2007, 21:24
Wohnort: Görlitz

Beitrag von resaub » 18.05.2008, 20:21

Hallo Jens,

werd das mal in meinen PP einfügen, werd aber die Rohteilhöhe von der maximalen Z-Höhe (108mm)
und eventuell noch einen Wert für die Wkz.-Länge (z.B.20mm) abziehen (weil ich den NP meistens auf´s Rohteil setze, mit eingespannten Wkz).
Bei meiner Maschine is der max. Z-Verfahrweg 108mm - 20mm =88mm.

Müsste doch dann so aussehen, wenn der NP auf Oberseite Rohteil ist?

G0 Z(KFAz[(ope[(BZ+)+50>88-(BZ+)?88-(BZ+):(BZ+)+50])])

MFG
Rene

PS: Hab die Neue Strategie mal ausprobiert, :D .

Benutzeravatar
3DMSOFT
Site Admin
Beiträge: 1365
Registriert: 07.05.2006, 14:20
Kontaktdaten:

Beitrag von 3DMSOFT » 18.05.2008, 21:13

Hallo Rene,
das sieht schon gut aus :wink:
G0 Z(KFAz[(ope[(BZ+)+50>88-(BZ+)?88-(BZ+):(BZ+)+50])])
bloß ich hab jetzt nicht ganz die richtige Vorlage geliefert. Die Rohteilhöhe ermittelt sich so: (BZ+)-(BZ-)
Das Makro (BZ+) gibt die obere Rohteilbegrenzung im Koordinatensystem des Nullpunktes wieder. Wenn der Nullpunkt schon oben auf dem Rohteil sitz, dann ist (BZ+) = "0"

Das müßte dann so abgeändert werden: "(BZ+)" durch "((BZ+)-(BZ-))" ersetzen dann sollte es passen.

Z(KFAz[(ope[(BZ+)+50>88-((BZ+)-(BZ-))?88-((BZ+)-(BZ-)):(BZ+)+50])])

Grüße Jens

resaub
Beiträge: 42
Registriert: 17.06.2007, 21:24
Wohnort: Görlitz

Beitrag von resaub » 18.05.2008, 21:31

Hallo Jens,

danke, da hätt ich bestimmt ne weile gegrübelt weils nich gepasst hätte.

MfG
Rene

Antworten