Mach3 ohne WZL-Sensor

  • Moin,


    ich nutze Condacam und habe einen 10-fachen WZW mit SK15 verbaut. Mit jedem Werkzeug Nullpunkt ankratzen, gefällt mir gar nicht, das wäre ein Schritt zurück.


    Mit dem 3D-Taster wird der Nullpunkt gesetzt, dann sollte das Programm mit mehreren Werkzeugen ohne weitere Eingriffe durchlaufen.


    Da Mach3 die Längen aus seiner Tabelle benutzt, muß die Eingabe in Mach3 erfolgen, die Werte aus dem G-Code von CC stehen ja nur exemplarisch unter anderem für die Simulation. Beim Werkzeugaufruf durch das Programm kommt ja dann die Mach3 Tabelle zum Tragen. Der WZW und seine Plätze sind zudem statisch, sprich eigentlich kann ich nur 10 Werkzeuge aus der Tabelle von Mach3 nutzen, die ich bei jedem Programm neu zuweise. Zu sagen Werkzeug Nummer 155 ist im WZW Platz Nummer 2, geht nicht (sonst würde ich die Werkzeuge auch gleich so in CC hinterlegen).


    Im WZW kann ich einstellen ob das WZ nach dem Holen aus dem Magazin, vor der Benutzung vermessen werden soll (oder aber auch nach der Benutzung wegen Verschleiß/Bruch). Das funktioniert ja auch. Bei mehreren gleichen Teilen, wir diese Prozedur jedes Mal für jedes WZ im Programm gemacht, kostet aber Zeit.


    Wenn ich ohne Vermessen einstelle, leg ich meine WZ im Magazin ab und lasse alle Werkzeuge vorher von Hand über die Funktion WZL messen in Mach3 über den Sensor fahren, ist aber auch Zeit welche weg ist. Das Programm läuft dann aber durch ohne zu vermessen.


    Ist alles kein Beinbruch, aber nicht flüssig durchgängig.


    Standardmäßig Werkzeuge die immer benötigt werden im Magazin zu belassen und in Mach3 fest zu hinterlegen, z. Bsp. NC-Anbohrer, Planfräser usw., finde ich sind 10 Plätze zu wenig.


    Deshalb möchte ich die Werkzeuge extern vermessen. Werkzeug einspannen, irgendeine Vorrichtung, z Bsp. mit Höhenreiser oder sowas. Die Werte dann in Mach3 eingeben, Nullpunkt setzen und los geht’s. Eigentlich wie es an einer echten CNC auch gemacht wird.


    Gruß Markus

    Am Liebsten wäre ich das, als ich das noch werden wollte, was ich jetzt bin.

  • Mit Solidcam gehts aber. Habe ich schon getestet. Man legt eine Werkzeugtabelle an, mit allen Daten der Fräser. Ausspannlänge zum Beispiel. Wenn ich Werkzeuglängenkorrektur anklicke, wird Automatisch im Mach3 das ganze angepasst. Wie das jetzt mit Werkzeugwechsler am besten funzt, weiß ich nicht.

  • Hi Markus.
    Ja also ich arbeite gerade an einem Skript für den Werkzeugmeßzyklus.
    Ist aber noch nicht ganz fertig.


    Vorgang:
    Mit einem Werkzeug das Werkstück in Z Ankratzen, Anzeige Z Manuell Nullen.
    Nun das Teil mit T01 Fräsen.
    G Code M06 T02
    Werkzeugwechseln von Hand. Habe keinen Werkzeugwechsler. Habe ja die China Spindel.
    Das neue Werkzeug vermessen und die Differenz zwischen den Werkzeugen errechnen.
    In die Toll Table liste den Errechneten Wert vom Skript eintragen.
    Fräsvorgang weiterführen.
    Das Problem ist derzeit das ich nicht weiß wie ich das in den G Code Einbauen soll.
    Programmiere ich M06 T02, springt die Tool Information Anzeige um.
    Jedoch Vermisse ich den Messvorgang.
    Mach fährt einfach los ohne zu messen.
    Ich bin mir noch nicht ganz sicher ob hier die Macros angepasst werden müssen.
    Wäre ich glaube dann M6End.m1s und M6Start.m1s
    Wenn es jemand genau weiß würde ich mich über eure die Hilfe freuen.


    Gruß
    Thomas
    ---------------------------------------------------------------------------------------------------------------
    Hier mal mein bisheriges noch nicht fertige Skript.
    Rem Touch Probe
    Code("M05") 'Spindel Aus vor dem Vermessen


    Code("G00 G53 Z-2.00") 'Im Eilgang auf Referenzpunkt jedoch Z-2
    Code("G00 G53 X421.780") GetOEMDRO(1200) 'Werkzeugtastermitte in X Anfahren
    Code("G00 G53 Y449.420") GetOEMDRO(1201) 'Werkzeugtastermitte in Y Anfahren
    Code("G00 G53 Z-02.000") GetOEMDRO(1202) 'Auf Z-2 nochmal aufrufen GetOEMDRO

    FeedCurrent = GetOemDRO(818) 'Get the current settings, OEM DROs (818)=Feedrate DRO
    ZCurrent = GetOemDro(802) 'OEM DROs (802)=Z DRO
    GageH = GetOEMDRO(1001) 'OEMDRO(1001)=Gage Block Height
    ZNew = ZCurrent - 90 'probe down -90 mm


    Code "G90F400" 'Vorschub 400 MM/MIN
    Rem Code "G4 P1" 'Verweilzeit


    Code "G31 Z-400 F400" '(Anfahren mitVorschub 400)
    While IsMoving()
    Wend
    Code "G91"
    Code "G1 Z1.0" '(Zurück 1mm)
    Code "G90"
    Code "G31 Z-400 F50" '(Neu Anfahren Genau Vorschub 50)
    While IsMoving()
    Wend
    Call SetOemDro (42,GetDro(2)-90.0) '(Set current tool length To current z position - autotoolsetter height)
    Code "G49"
    While IsMoving()
    Wend
    Code "G0 G53 Z-2" '(Zurück auf Z Home)


    Der Gebrauch erfolgt auf eigene Gefahr.
    Steinigt mich nicht gleich wenn es so verkehrt ist

  • Hallo Thomas,


    welche Mach3-Ausgabe bzw. Oberfläche verwendest du denn?


    Wenn Du in den mach3-Einstellungen unter WZ-Wechsler die richtige Einstellung hast (in dem Fall der 2. Punkt) dann sollte mach3 beispielsweise die Spindel selbstständig anhalten, also auch ohne das M05 aus deinem Makro. Klingt ein bisschen nach der Einstellung "WZW-Ignorieren"


    Freundliche Grüße,


    Micha


  • Dann bau dir doch ein Voreinstellherät. Kreuzsupport mit Anbaumessschieber versehen. Halterung für SK-Aufnahme drauf und ne festinstallierte Kamera (Cam). Software mit Fadenkreuz gibts als Freeware im Netz. Eventuell noch eine externe digitale Anzeige wegen Komfort.
    Ein externes Werkzeugmagazin ist schnell erstellt, wo du alle Längen für entsprechende Werkzeuge einträgst.

  • Hi Micha
    ich verwende die Artsoft Version und das Screen ist das Originale nach der Installation.
    Das Einzige was ich mit dem Screen noch gemacht habe ist das ich einige Buttons in Deutsch
    umgeschrieben habe.


    Habe den Punkt 2 ausgewählt leider bleibt die Spindel Eingeschaltet.
    Aus dem Grund habe ich den M05 eingefügt.
    Gibt vielleicht noch ein bisschen mehr Sicherheit.
    Ansonsten bist du mit dem Touch Probe Zufrieden oder würdest du noch was ändern.


    Wie mache ich es den wenn ich nun mit Werkzeug 1 Fräse,
    dann Programmiere M06 T02,
    Wechsle den Fräser von Hand.
    Wie mach ich es nun an dieser Stelle mit dem Vermessen.
    So das ich den Cycle Starte und die Maschine nun das Werkzeug vermisst und dann den G Code weiter Fährt.
    Hier Hakt es noch.
    Es sollte doch möglich sein zu sagen vermeese des Werkzeug und dann bearbeite den G Code weiter.
    Hast du Vielleicht nee idee.
    Ich würde sagen das wäre für viele die die China Spindel verwenden vom großen Vorteil.


    Gruß
    Thomas

  • Hallo Thomas


    Was mich etwas wundert ist, daß du ein Makro selber geschrieben hast.
    Es sollte doch eins von Hause aus bei Artsoft an Bord sein.
    Ansonsten wären die Einstellungen unter Port und Pins --> Eingangssignale ---> Probe ---> und das zu aktivierende Activ Low, unnötig.
    Bei richtiger Konfiguration sollte auch die Spindel ausschalten.
    Alles andere sollte dein Teileprogramm erledigen.

  • Hallo Thomas


    Was mich etwas wundert ist, daß du ein Makro selber geschrieben hast.
    Es sollte doch eins von Hause aus bei Artsoft an Bord sein.
    Ansonsten wären die Einstellungen unter Port und Pins --> Eingangssignale ---> Probe ---> und das zu aktivierende Activ Low, unnötig.
    Bei richtiger Konfiguration sollte auch die Spindel ausschalten.
    Alles andere sollte dein Teileprogramm erledigen.

  • Hallo Thomas,


    es geht also um einen Werkzeuglängentaster, wenn ich das nun recht verstanden habe.
    z.B. hier finden sich ein paar Makro-Lösungen: http://www.cnccookbook.com/MTCNCTipsTechniques.htm


    Ich glaube, bei Artsoft gibt es auch Screens, in denen das schon umgesetzt ist. Ich verwende auch die Artsoft-version, aber teilweise nit der deutschen Oberfläche von cnc-Steuerung. Der Werkzeugwechsel mitsamt Vermessung ist da recht gut gelöst.


    Freundliche Grüße,
    Micha

  • Hmmm
    Ja also das mit den Screens, Hmmm
    Na ja o.k. Behalten würd ich schon gern den Originalen. hab mich daran gewöhnt.


    Zu Micha: ja also es geht darum das ich einen Festen Punkt habe vom Messtaster.
    Ich möchte nen Messtaster nicht immer irgendwo drauflegen wie es viele machen.
    Das kann ja jeder, gibt es ja zu Hauf im www.
    Zurück
    Der Nullpunkt des Teils ändert sich ja von teil zu teil.
    Die Länge vom fräser auch.
    Jedoch wenn ich ein teil in Z Nullpunkt einmal habe bleibt er bis sich das Teil Ändert.
    Ich Fräse was ganz anderes.
    Diese beiden werte müssen auf jeden fall in Mach ausgelesen werden und dann verrechnet werden.


    Die Lösung dazu fehlt mir noch.
    Wie müssen welche Werte Verrechnet werden??? Wie geht es am einfachsten.
    Wie gehe ich dann vor, mit G54 oder ohne G54, dann einfach oberfläche ankratzen und die Anzeige nullen.
    Da bin ich mir selbst noch nicht ganz schlüssig.


    Ich denke ich werde mal folgendes Ausprobieren, nur so gedankengänge..
    T1 Einspannen.
    Z Nullpunkt auf Teil holen.
    Anzeige in Z Nullen
    Dann Fräsen z.b Plann fräsen Oberfläche.
    Nach dem fräsen Werkzeug messen. (Tool Alt)
    Werkzeugwechsel durchführen. Bohrer Einspannen.
    Read Tool Number vom G Code T= T02
    Das Werkzeug welches neu drin ist vermessen (Tool Neu) und die differenz Zwische T01 und T02 in die Tool Table liste bei Read Tool Number in Z schreiben.
    Wäre dann (Tool alt - Toll neu = Wert in Tool Table Tool Neu Z) Liste Read Tool Number. Wie Früher gelesen - gemessen
    Das muß ich aber erst mal Programmieren und Ausprobieren.
    Ich denke das wird gehen, habe ich irgendwo nen Gedankenfehler helft mir auf die Sprünge.


    Zu Intex:
    Zitat:
    1. Es sollte doch eins von Hause aus bei Artsoft an Bord sein.
    2. Ansonsten wären die Einstellungen unter Port und Pins --> Eingangssignale ---> Probe ---> und das zu aktivierende Activ Low, unnötig.
    Bei richtiger Konfiguration sollte auch die Spindel ausschalten.


    1. Also das Script von Artsoft habe ich ausprobiert ist aber nicht für einen Fest in der Maschine eingebauten Taster.
    Villeicht habe ich auch das Falsche Script erwischt.
    2. M06Start.m1s und M06End.m1s werden wenn ich das so Richtig verstanden habe irgendwie Aktiviert.
    Genau weiß ich es aber nicht. Es ist ja so die Mach Steuersoftware ist ja recht flexibel und
    ich glaube das ist hier alles nicht so festgellegt.
    Jeder will es anders und macht es anders.
    Ich denke der Programmer hat dafür die möglichkeit eingebaut das VB Script zu benutzen.
    der eine hat nen Werkzeugwechsler von hand der andere Vollautomatisch.
    Ich glaube das ist extra offen gehalten.


    Sind aber alles nur Vermutungen.


    Gruß
    Thomas

  • Hallo Tito123


    Ich habe eben mal in die Originalversion von Artsoft geguckt, und über Button editieren heraus gefunden, daß gar kein Messzyklus impletiert ist.
    Was hindert dich daran einen anderen Screen zu benutzen? Man gewöhnt sich an alles. Und da brauchst du nicht mal auf deutsch umschreiben.
    Der Längensensor ist übrigends bei mir wie auch bei manch anderen an fester Position installiert. Das ist nun nicht neu. Was anderes wäre ja auch unsinnig.

  • Ja hast auch recht.
    Welchen Screen soll ich genau nehmen.
    Die haben doch einen ganz bestimmten namen.


    Zitat: daß gar kein Messzyklus impletiert ist
    Deswegen


    Ich habe das www schon durchwült und fand immer nur die mit der Platte.
    Die haben den auf die Oberfläche Teil gelegt vermessen und weitergefahren.
    Die Festen habe ich nicht gefunden.


    Sag mir mal welchen Screen ich nehmen soll ich Probe Touch das dann mal.


    Gruß
    Thomas

  • Hi InTex,
    jo habe ich ausprobiert.
    Funktioniert genau so wie ich es wollte.
    Die Oberfläche ist für mich derzeit aber absoluter Horror.
    Einige Funktionen verstecken sich hinter einigen Buttons.
    Da werde ich jetzt erst mal spielen müssen.


    Oder geht das, die Funktion irgendwie in die Originale zu implementieren.
    Denn so wie es mit der Oberfläche von Selig geht sollte dann ja auch mit der Original Oberfläche gehen.
    Nur wie???


    Ich finde die Oberfläche ist sehr Verwierrend.


    Trotzdem erstmal danke für euren Rat.
    Gruß
    Thomas

  • Hallo Thomas


    Erstmal gut zu hören, daß alles so ist, wie es sein soll.
    Okay, jeder Screen ist etwas gewöhnungsbedürftig, das ist aber normal.
    Aber so schlimm ist doch diese gar nicht von Seelig.
    Wenn du natürlich unbedingt den Originalen benutzen willst, dann folge den Link vom Wilfried.
    Damit kannst du den Ursprung im Seeligscreen erforschen, und die Funktionen in deiner Oberfläche einpflanzen.
    Nur wie weit das nun rechtlich in Ordnung ist, kann ich dir nicht sagen.

  • Hi,
    Irgendwie konnte ich mich doch nicht mit dem Screen anfreuden.
    Ich bin dann zu dem Originalen Screen zurück und habe angefangen mir gedanken über das VB Script zu machen
    für den Vorgang mit Touch Setter und Festem Taster.


    Im Nachbarforum habe ich dann ein wenig hilfestellung bekommen und konnte mit der Hilfe das Script vollenden.


    Es läuft folgendermassen ab.
    Im Toll Information muß stehen Tool = 0WICHTIG.
    Vor dem Programmstart Werkstückoberfläche ankratzen und DRO Absolut Z nullen.
    Dann Freifahren in Z, Meßvorgang auslösen.
    Dann fährt das Script zum Schalter um diesen Anzutasten -> Z-Wert wird in einer Variablen 1001 Gespeichert, nach verlassen des Scripts bleibt die Variable erhalten.
    Diese wird dann bei Mach bei (Offset Alt5) Gage Block Heigt eingetragen.
    So wie es sein soll.
    Jetzt das Programm ( G CODE ) Starten.
    Wichtig ist hier das Werkzeug 1 als erstes im Programm angewählt wird. Dieses Werkzeug war vorher Null.


    Programmlauf bis zum Werkzeugwechsel
    Fräser oder Bohrer Einbauen
    Meßvorgang auslösen.
    Jetzt fährt das Script zum Schalter um diesen Anzutasten, die gespeicherte Variable (bzw. der Inhalt o.g. DROs) wird ins Z DRO geschrieben


    Programmlauf bis zum Werkzeugwechsel
    Jetzt fährt das Script zum Schalter um diesen Anzutasten, die gespeicherte Variable (bzw. der Inhalt o.g. DROs) wird ins Z DRO geschrieben
    ...
    usw usw...


    Bei Fragen hier einfach rein.
    Gruß
    Thomas



    Hier mal das Fertige Script: Verwendung auf eigene Gefahr.


    If GetOEMDRO (824) <1 Then
    SetOEMDRO(1216,GetOEMDRO(83))
    SetOEMDRO(1217,GetOEMDRO(84))
    SetGageH = GetOEMDRO(186)
    Code "G0G53 Z" & GetOEMDRO(54)
    While IsMoving()
    Wend
    code "g0 g53 x" & GetOEMDRO(1218)
    While IsMoving()
    Wend
    code "g0 g53 y" & GetOEMDRO(1219)
    While IsMoving()
    Wend
    code "g0 g53 z" & GetOEMDRO(1220)
    While IsMoving()
    Wend
    code "g31 z-1000 f300"
    While IsMoving()
    Wend
    code "g53 g0 z" & GetOEMDRO(85)+3
    While IsMoving()
    Wend
    code "g31 z-4 f50"
    While IsMoving()
    Wend
    G54 = GetOemDro(49)
    ZNeu= GetOemDro(85)
    Differenz=(ZNeu-G54)'Berechnung
    SetOemDro(1001, Differenz)'Setze Wert Tasterhöhe
    Code "G4 P0.25" 'Warte bis Werte übernommen
    Code "G0G53 Z" & GetOEMDRO(54)
    Code "G0G53 X" & GetOEMDRO(1216)
    Code "G0G53 Y" & GetOEMDRO(1217)
    Code "F" &FeedCurrent
    End If
    If GetOEMDRO (824) >1 Then
    FeedCurrent = GetOemDRO(818)
    SetOEMDRO(1216,GetOEMDRO(83))
    SetOEMDRO(1217,GetOEMDRO(84))
    Code "G0G53 Z" & GetOEMDRO(54)
    While IsMoving()
    Wend
    code "g0 g53 x" & GetOEMDRO(1218)
    While IsMoving()
    Wend
    code "g0 g53 y" & GetOEMDRO(1219)
    While IsMoving()
    Wend
    code "g0 g53 z" & GetOEMDRO(1220)
    While IsMoving()
    Wend
    code "g31 z-1000 f300"
    While IsMoving()
    Wend
    code "g53 g0 z" & GetOEMDRO(85)+3
    While IsMoving()
    Wend
    code "g31 z-4 f50"
    While IsMoving()
    Wend
    SetDRO(2, Abs(GetOEMDRO(1001)))
    Code "G4 P0.25" 'Warte bis Werte übernommen
    Code "G0G53 Z" & GetOEMDRO(54)
    Code "G0G53 X" & GetOEMDRO(1216)
    Code "G0G53 Y" & GetOEMDRO(1217)
    Code "F" &FeedCurrent
    Else
    End If

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!