Tool setter aanroepen bij toolwissel

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door Arie Kabaalstra »

Dat zou het volgens mij moeten zijn..

misschien moet ik maar eens een Toolchange macro maken zonder al die overbodige code..
Coderen zelf, dat ligt mij niet
Macro's schrijven is ook een "Heel andere tak van sport", ik heb op mijn draaibank een Macrofile van pak em beet 36 Kb (3 keer het geheugen van mijn eerste computertje).. met daarin cycli voor vlakdraaien, langsdraaien, afrondingen, schuine kanten, groefsteken, kamers draaien (met blinde bodem), Boren en de mogelijkheid om verschillende bewerkingen in één programma op te slaan, daarmee is mijn draaibankje feitelijk een Teach-in machine geworden.
Op de freesbank is mijn macrofile van vergelijkbare omvang, en heb ik cycli voor boren, kamers (rond en rechthoekig), sleuven, patronen, vlakken, en diverse andere foefjes.. waardoor ik eenvoudige werkstukken ook gewoon aan de machine in kan duimen..
Maar.. eer je dat klaar hebt.. ben je wel een paar weken stevig doorprogrammeren verder..

Als je begrijpt wat er allemaal gebeurt, dan komt de rest vanzelf..
Ik heb in mijn Macro's "Trucjes" zitten waar zelfs Bert Eding nog niet op gekomen was.. zo gebruik ik LOGMSG om programma's te laten schrijven door de Macro's..

De macro M_tool is ook van mijn hand, maar da's alweer iets van 10 jaar geleden ofzo.. 'k werk sinds 2007 met EdingCNC.
'k ben vandaag begonnen aan een totaal nieuwe versie van mijn Draaimacro.. en daar komen nu ook controles in die nagaan of het gekozen gereedschap wel de juiste geometrie heeft voor de gekozen cyclus.
Ook voor de draaibank komt er een Toollengte meetmacro in, omdat ik automatisch de lengte van mijn tools wil gaan meten.. Diameter zal ik vooralsnog gewoon met de hand blijven doen, maar da's ook omdat je natuurlijk binnen-en buitendraaibeitels hebt.

'k zou zeggen.. test het morgen gewoon even.. en laat ons maar weten of het nu naar behoren werkt..
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Hallo allemaal,

Ik ben er uit! :P

Om te beginnen, het lijkt erop dat sub tool_change in de macro.cnc niet wordt aangeroepen bij een M6T..
Ik heb al vaker gelezen dat dit het geval is. Ik zou ook niet weten hoe de software weet dat als je M6T.. tegen komt dat hij dan die tool_change moet aanroepen.

Op verschillende forum posts was ik tegen gekomen dat je iets in de post Eding processor van Fusion 360 moet aanpassen, maar ik kon niet vinden waar dat dan moet gebeuren, want dit is een heel groot bestand. Totdat ik de post van Carlo was tegen gekomen: https://cnczone.nl/viewtopic.php?f=13&t ... on#p155184

Code: Selecteer alles

    writeBlock("T" + toolFormat.format(tool.number), mFormat.format(6));
    if (tool.comment) {
      writeComment(tool.comment);
	} 
// mijn verandering: automatisch toollengte opmeten na manueel wisselen	  
	if (tool.number<(92)){
		writeBlock("gosub m_tool");
    }
Door te zoeken in de Eding post processor op " if (tool.comment) {", heb je gelijk de juiste regel gevonden. Daar verander je dus wat Carlo heeft beschreven. Echter, ik heb dit iets aangepast in:

Code: Selecteer alles

 writeBlock("T" + toolFormat.format(tool.number), mFormat.format(6));
    if (tool.number<(99)){
      writeBlock("gosub m_tool_no_dlg");
Door "gosub m_tool_no_dl" aan te roepen, krijg je niet het menu waar je lengte en diameter moet ingeven, maar wordt alles direct uit de tool table gehaald. En ik heb de 92 veranderd in 99 omdat je niet meer tools in de tool table kan hebben en tool 99 doet niet mee want dit is je calibratie tool.

Ik heb de post processor gesaved as Eding toolsetter.cps Dan blijft de oorspronkelijke postprocessor nog bestaan. Wel bij het wegschijven van de gcode in fusion, de juiste post processor kiezen. Daarna onthoudt fusion dat je deze post processor gebruikt.

In de macro.cnc heb ik ook wat moeten aanpassen in sub m_tool_no_dlg:

Code: Selecteer alles

sub m_tool_no_dlg
    if [[#5380==0] and [#5397==0]] ;do this only when not simulating and not rendering
        ;Check if toolsetter is calibrated
        if [[#4996 == 0] and [#4997 == 0] and [#4998 == 0] and [#4999 == 0]]
            errmsg "calibrate first, MDI: gosub calibrate_tool_setter"
        else
            
            ;dlgmsg "enter tool dimensions" "tool number" 5016 "approx tool length" 5017 "tool diameter" 5018
            
            ;In stead of the dialog we get the values from the tool table.
            #5016 = #5008          ;Tool number added Tom: was 5025 wordt 5008. Als M6T.. wordt aangeroepen, dan wordt gelijk #5008 geupdate met het tool nummer
            #5017 = #[5400 + #5016] ;Approx tool-length from tool table
            #5018 = #[5500 + #5016] ;Tool diameter from tool table
                        
            if [[#5016 < 1] OR [#5016 > 99]]
                ErrMsg "Tool must be in range of 0 .. 99"
            endif
            
            ;Check if tool is loaded, if not do so.
            if [#5016 <> #5008]
                m6 t#5016				
			endif
    
            g0 g53 z#4996 ; move to safe z
            ;move to toolsetter coordinates
            g00 g53 x#4997 y#4998 
            ;move to 10mm above chuck height + approx tool length + 10
            g00 g53 z[#4999+10+#5017]; change this to g00 g53 z[#5113] to go fully up.
            ;measure tool length and pull 5mm back up
            g38.2 g91 z-20 f30
            g90
            ;back to safe height
            g0 g53 z#4996
            ;Store tool length, diameter in tool table
            ;but only if actually measured, 
            ;so leave tool table as is while rendering 
            if [#5397 == 0]
                #[5400 + #5016] = [#5053-#4999]
                #[5500 + #5016] = #5018
                #[5600 + #5016] = 0 ;Tool X offset is 0
                msg "tool length measured="#[5400 + #5016]" stored at tool "#5016
				G43			;added Tom: Gebtuik de tool offset zoals die nu in de tabel staat
				m6 t#5016	;added Tom: laat nog eenkeer de tool, met de juiste offset
            endif
        endif
    endif
endsub
Ik heb hier aangepast: #5016 = #5025 in #5016 = #5008. Ik begrijp de #5025 niet. Ik kan niet vinden waar deze vandaan komt of wordt aangemaakt. Wat ik wel weet is dat als de software M6T.. tegen komt, dat dan in #5008 direct de T.. wordt opgeslagen. Dus bij M6T12, wordt #5008=12. Dus ik geef nu #5016 de waarde mee van de tool die ik net in de machine heb gedaan.

Code: Selecteer alles

;In stead of the dialog we get the values from the tool table.
            #5016 = #5008          ;Tool number added Tom: was 5025 wordt 5008. Als M6T.. wordt aangeroepen, dan wordt gelijk #5008 geupdate met het tool nummer
            #5017 = #[5400 + #5016] ;Approx tool-length from tool table
            #5018 = #[5500 + #5016] ;Tool diameter from tool table
                    
Aan het eine van de sub sub m_tool_no_dlg heb ik nog G43 toegevoegd, zodat de tool lengte correctie gebruikt gaat worden. En vervolgens nog een keer de tool aanroepen met M6T#5016. Dan krijg je op het scherm nog een keer de vraag om de juiste frees in de spindel te doen. je drukt nog een keer op start en de spindel gaat draaien.

Code: Selecteer alles

msg "tool length measured="#[5400 + #5016]" stored at tool "#5016
				G43			;added Tom: Gebtuik de tool offset zoals die nu in de tabel staat
				m6 t#5016	;added Tom: laat nog eenkeer de tool, met de juiste offset
            endif
        endif
    endif
endsub
Dus, wat gebeurd er nu: als je de Gcode in Fusion genereerd, dan wordt er onder de M6T.. direct gosub m_tool_no_dlg gezet.
Als je de Gcode in Eding laat, dan wordt er op een gegeven moment gevraagd "please insert Tool...." Dat doe je en vervolgens ruk je op start. Dan gaat de toolsetter macro "sub m_tool_no_dlg" zijn werk doen, schrijft de nieuw gemeten aarde weg in de tool table en vraagt je opnieuw om de juiste tool in de spindel te zetten. Die tool zit er natuurlijk al in, dus gewoon weer start drukken en de machine gaat verder.
Waarom nog een keer de tool met M6T.. aanroepen? Dan wordt de tool met de gecorrigeerde lengte gebruikt.

Oke, een heel verhaal, maar wel voor een ander bruikbaar hoop ik. Ik heb heel veel geleerd nu over het schrijven en lezen van macro's. Ik ben zeker nog niet goed genoeg om ze zelf te schrijven, maar lezen lukt nu redelijk goed. Ik ben gisteren de hele dag bezig geweest om dit alles uit te zoeken.

Ik hoop dat ik niemand tegen de schenen heb geschopt door mijn eerdere post. :oops: :oops:

Groeten Tom.
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door Arie Kabaalstra »

Mij heb je in elk geval niet tegen de schenen geschopt.. je hebt met bovenstaand epistel aangegeven dat je al het nodige geleerd hebt.. en dat is een deel van de hobby..

Ik hanteer dan ook vaak de stelling "een CNC Hobbyist heeft doorgaans veel meer inzicht in hoe een CNC machine eigenlijk werkt dan een "professional" die dag in dag uit achter zo'n ding staat"

Het "doorgronden" van hoe een CNC machine werkt, dat was voor mij (naast het gemak van thuis een CNC machine hebben) de grootste drijfveer.
Ik mag me daarnaast gelukkig prijzen met ouders (met name mijn moeder) die vroeg genoeg beseften dat Computers in het dagelijks leven een grotere rol zouden gaan spelen in de toekomst, en daardoor had ik in 1985 mijn eerste computertje.. een Commodore C16, niet te vergeljken met hedendaagse PC's.. mijn telefoon is al vele malen krachtiger dan mijn Commodore, maar ik leerde daarop de basis van het programmeren.. en daar heb ik tot op de dag van vandaag heel veel plezier van..

'k wist in eerste instantie ook niet dat jij al je code met Fusion genereerd.. ik werk zelf met CamBam, en dat werkt toch weer heel anders.. ik heb maar minimale aanpassingen gedaan in mijn PostProcessor.

Ook programmeer ik zelf veel aan de machine.. Ik heb mijn Change_tool routine zo herschreven dat ie bij een Toolchange altijd automatisch ging meten.
Als het goed is, wordt in EdingCNC ALTIJD sub Change_tool aangeroepen bij een M6 T..
Daarin heb ik toen gewoon de Gosub M_tool in gezet.
Kon gewoon programma's maken met CAM, of aan de machine, dat kukelde er niet tegenan.. bij een M6 ging de kop helemaal omhoog, de spindel stopte, Ik kon mijn Tool wisselen, even de globale lengte opmeten, en in de dialoog ingeven.. Ok drukken, omdraaien.. schuur verlaten.. machine ging meten, en verder met het freesprogramma.. tot de volgende M6.. of een M2...

Zoals gezegd.. momenteel zit ik tot mijn nek in nieuwe macro's voor de draaibank.. daar gaat heel wat programmeerwerk inzitten.. maar.. dat maakt de hobby zo mooi vind ik..
Dat je met wat programmeerwerk je hele machine naar je hand kan zetten..

Diegenen die in het verleden (toen ie nog achterin mijn auto pastte) de Beagle in actie gezien hebben, weten waar ik het over heb..
En dat zelfde geldt voor mijn Emco Draaibankje.. 'k klop een dialoogje vol, druk op start.. en ga koffie halen.. :lol:
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Arie, ik heb zeker veel geleerd nu! Ik kan ook met aan zekerheid grensende waarschijnlijkheid zeggen dat sub tool_change niet wordt aangeroepen na een M6. Althans niet als je met Fusion werkt, maar volgens mij heeft dit niet veel met fusion te maken????

Belangrijk!!! Bij de eerste bewerking op een werkstuk, meet dan de frees lengte door in user menu op F3 te drukken. Dan wordt de juiste lengte van de frees weggeschreven in de tool table. Ga dan het werkstuk nulpunt Z=0 bepalen (en x=0 en y=0). En start dan het programma. Dan wordt nog een keer de lengte van je frees gemeten en dit zal de zelfde waarde geven als al in je tool table staat. Z=0 blijft dan ongewijzigd. Doe je niet eers een tool meting met F3, dan nul je Z op je werkstuk, vervolgens gaat de machine de tool meten, ziet dat de lengte niet klopt met de waarde in de tool table. Overschrijft de waarde in de tool table en rekent uit waar Z=0 moet zijn en gaat vervolgens aan de slag. Z=0 ligt nu op een andere hoogte, de hoogte die even groot is als de lengte aanpassing die in de tool table is gedaan.

Deze fout heb ik dus net gemaakt. :oops: Al doende leer je! :x
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door Arie Kabaalstra »

En daarmee heb je dus geleerd hoe het eigenlijk hoort!..

Als je een Toolsetter hebt.. dan gebruik je die dus in eerste instantie om de lengte van je gereedschap te bepalen, en pas daarna!.. de Z0 van je werk vast te leggen..

Op mijn draaibankje heb ik nog geen toolsetter, gaat wel komen.. maar als ik met een nieuwe klus begin, dan is het eerste wat ik doe, een stukje vlakdraaien.. gewoon 1 beiteltje in de Turret, spindel aan, en met Hand Jog een stukje vlakken..

Dan, G49 (Lengtecomp uit), en dan met een Eindmaatje (stukje 10x 10 toolbit), tussen werk en Toolplaate net klemmend.. (gereedschapslengte 0) het werstuk oppervlak Z0 maken (Offset), door Z10 (de dikte van mijn toolbitje) in te geven.. (zo werkt dat met freesjes ook prima.. )
Dan is de voorkant van mijn werkstukje Z0, ik zet G43 weer aan.. en dan kan ik met het toolbitje elke beitel kalibreren, dus toolbitje klem.. Kalibratie Subroutine aanroepen, Z Coordinaat 10 ingeven.. volgende tool..
Diameters doe ik dan door een stukje te draaien, dat op te meten, en die waarde in te geven in de Kalibratie subroutine voor de X
(Let wel!.. X offsets.. dat doe je dus NOOIT op een draaibank.. want dan schuift ALLES op, en staat er geen gereedschap meer op maat.. )

Vanaf dat moment kan ik gewoon mijn Code inkloppen.. en automagisch draaien.. heerlijk!
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Ja, zo leert men. :roll:
Gebruikersavatar
Arie Kabaalstra
Berichten: 10523
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door Arie Kabaalstra »

Moet je je voorstellen.. ik ben één van de weinigen die een compleet leeg Macro bestand gezien hebben.. en ik was de eerste die em helemaal volgeplempt heeft met allerhande bewerkingen voor de freesbank.. en dat draait alweer 10 jaar
Gebruikersavatar
andrefc101
Donateur
Berichten: 3165
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door andrefc101 »

Arie Kabaalstra schreef: 04 feb 2021 16:59 Moet je je voorstellen.. ik ben één van de weinigen die een compleet leeg Macro bestand gezien hebben.. en ik was de eerste die em helemaal volgeplempt heeft met allerhande bewerkingen voor de freesbank.. en dat draait alweer 10 jaar
Geweldig!
Kjelt
Donateur
Berichten: 4202
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: Tool setter aanroepen bij toolwissel

Bericht door Kjelt »

Arie Kabaalstra schreef: 04 feb 2021 13:41 een Commodore C16, niet te vergeljken met hedendaagse PC's.. mijn telefoon is al vele malen krachtiger dan mijn Commodore,
Understatement van het jaar.
Een Apple iPhone anno 2021 heeft meer rekenkracht dan ALLE supercomputers in de wereld bij elkaar in begin jaren 80.
chimaerion
Berichten: 241
Lid geworden op: 28 nov 2017 19:50
Locatie: Oost-vlaanderen

Re: Tool setter aanroepen bij toolwissel

Bericht door chimaerion »

andrefc101 schreef: 04 feb 2021 18:55
Arie Kabaalstra schreef: 04 feb 2021 16:59 Moet je je voorstellen.. ik ben één van de weinigen die een compleet leeg Macro bestand gezien hebben.. en ik was de eerste die em helemaal volgeplempt heeft met allerhande bewerkingen voor de freesbank.. en dat draait alweer 10 jaar
Geweldig!
Waarom zo venijnig en cynisch?
Gebruikersavatar
andrefc101
Donateur
Berichten: 3165
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door andrefc101 »

chimaerion schreef: 04 feb 2021 20:30 Waarom zo venijnig en cynisch?
Ik vind het echt geweldig, ben er eerlijk ook heel benieuwd naar!
Maar helaas hebben we er in die tien jaar nog nooit iets van gezien, ik bedoel hier absoluut niet mee dat het gedeeld moet worden, maar wat praktijkvoorbeelden zouden toch wel fijn zijn toch?
Van alleen verhalen kan je niet eten.
Gebruikersavatar
serum
Donateur
Berichten: 4257
Lid geworden op: 08 mar 2008 20:37
Locatie: Zwolle

Re: Tool setter aanroepen bij toolwissel

Bericht door serum »

Vind het met name interessant om te zien hoe je naast het dialoogvenster ook voorbeelden kan zien van de plaatjes als instructie voor de operator. Daar was je ook mee bezig, toch Arie?
foto's uploaden op cnczone.nl Let op, maximale grootte is 2,5MB, geen restricties op resolutie
chimaerion
Berichten: 241
Lid geworden op: 28 nov 2017 19:50
Locatie: Oost-vlaanderen

Re: Tool setter aanroepen bij toolwissel

Bericht door chimaerion »

andrefc101 schreef: 04 feb 2021 20:34
chimaerion schreef: 04 feb 2021 20:30 Waarom zo venijnig en cynisch?
Ik vind het echt geweldig, ben er eerlijk ook heel benieuwd naar!
Maar helaas hebben we er in die tien jaar nog nooit iets van gezien, ik bedoel hier absoluut niet mee dat het gedeeld moet worden, maar wat praktijkvoorbeelden zouden toch wel fijn zijn toch?
Van alleen verhalen kan je niet eten.
Ok dan heb ik je verkeerd begrepen. Excuses.
Gebruikersavatar
andrefc101
Donateur
Berichten: 3165
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: Tool setter aanroepen bij toolwissel

Bericht door andrefc101 »

chimaerion schreef: 04 feb 2021 20:46 Ok dan heb ik je verkeerd begrepen. Excuses.
Niet nodig, zulke lange tenen heb ik niet :P
Plaats reactie