WZLS Werkzeuglängensensor ...wie in aller Welt anschließen

  • Hallo Fliegerkind, Heini.


    Ich mach das so!


    Im Toll Information muß stehen Tool = 0 WICHTIG.
    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...


    Ich habe mal für mich und andere alles zusammengefasst und als PDF unten angehangen.
    Es Können Fehler enthalten sein.
    Es soll nur als Hilfe dienen.


    Hier mal mein Aktuelles eigenes Mach Skript für einen Festen WZLS, Benutzung 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-150 f50"
    While IsMoving()
    Wend
    G54 = GetOemDro(49)
    ZNeu= GetOemDro(85)
    Differenz=(ZNeu-G54)'Berechnung
    SetOemDro(1001, Differenz)'Setze Wert Tasterhöhe
    Code "G4 P2.0" '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) >0 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)+2
    While IsMoving()
    Wend
    code "g31 z-150 f50"
    While IsMoving()
    Wend
    Taster = GetOemDro(1001)
    SetDRO(2,Taster)
    Code "G4 P2.00" '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


    Ich hoffe es hilft hier etwas weiter.


    Mfg
    Thomas

  • Hallo Thomas!


    Wie schon per PN, Du hattest recht, einmal ab- und wieder anmelden war notwendig, jetzt kann ich diesen Beitrag wieder sehen. Danke nochmals für die umfangreiche und ebenfalls (wie von Ingolf) sehr verständiche Anleitung. Das PDF ist fertig gesaugt und das lasse ich mir morgen "auf der Zunge zergehen" - heute geht das leider nicht mehr, da ich Frau versprochen habe, mit ihr auf der Terasse den lauen Sommertag beim Weisswein-auf der Zunge zergehen" ausklingen zu lassen. :)


    Gruss, und recht froh, hier auf der CNC-Area sein zu können
    Heini

  • Hallo Thomas


    Du hast dir sehr viel Mühe gegeben mit der ganzen Sache, ich habe diese Script Ausprobiert und er Funktioniert bei mir.


    Ich bin zwar kein Script Experte!
    Bei meinem neuen Script für eine Feste Position der so ähnlich ist welchen ich mir geschrieben habe ist noch eine Sicherheitsabfrage mit eingebaut ob der Schalter richtig angeschlossen ist und auch Funktioniert, dann braucht die Z Achse nicht vergebens versuchen nach Z-1000 zu fahren.


    Wichtig ist dass man immer mit einer Aktuellen Mach3 Version arbeitet, dann geht dieses auch mit allen Achsen.


    Gruß Manfred

  • Das Freut mich zu hören das es euch gefällt und auch Funktioniert.


    Viel Spaß Damit.


    Manfred magst du das Skript mit deiner hinzgefügten Sicherheitsabfrage hier Veröffentlichen.
    Damit hilfst du anderen bestimmt auch weiter.
    Markiere bitte die Stelle Unterstrichen oder Rot damit es einfach ist es zu erkennen.


    Gruß
    Thomas

  • Hallo Thomas


    In Post 15 habe ich zwei Scripte veröffentlich, diese habe ich von „Hossmachine“ abgeleitet.


    Hier noch einmal der Link.
    http://www.hossmachine.info/fo…Automatic-Tool-Probe.aspx


    Am besten wäre es ein eigener Beitrag über VB Basic Programmierung unter Mach3 aufzumachen.


    Hier für die welche diese Handbücher noch nicht kennen.


    Macro Manual
    http://www.machsupport.com/doc…3_V3.x_Macro_Prog_Ref.pdf


    Cypress
    http://www.cypressinc.com/enduser.pdf


    Meine Meinung, hier ist schon viel zu viel veröffentlich worden.
    Die Mach3 Vertreiber verpassen ihrer Oberfläche ein Passwort, weil dieses etwas zu verbergen haben, bei einem Vertreiber werden die Makros nicht mehr im Quellcode veröffentlicht sondern in Kompilierter Form veröffentlicht erst der Interpreter übersetzt diese Datei beim Aufruf.


    Die Firma Einfach CNC Herr Selig hat auch eine Eigene Oberfläche, diese ist ohne Passwort und alle VB Code liegen offen, daraus kann man vieles entnehmen.


    Gruß Manfred

Jetzt mitmachen!

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