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 »

Kars-cnc schreef: 01 feb 2021 18:23
Kjelt schreef: 01 feb 2021 16:35 dan moet je ook nog goed opletten dat de systeem parameters/variabelen uit de reeks #27 t/m 4999 goed bijgehouden worden zodat je die niet dubbel gebruikt voor andere doeleindes en daarmee de boel naar de gallemiezen helpt.
Zou het niet zoiets kunnen zijn? Het zou toch raar zijn als een tool setter macro zich gaat bemoeien met hoe de assen toegewezen zijn?

Misschien kan Serum er iets over zeggen, hij kent de Sorotec macro goed heb ik begrepen.
'tis niet dat de Toolsetter macro zich gaat bemoeien met de as toewijzing, maar.. als je de hele macro vervangt.. tja..

Daarom ben ik niet echt een liefhebber van het her en der verspreiden van Macro's.. met een macro die niet geschikt is voor jouw specifieke machine kun je meer schade veroorzaken dan je kan betalen..
Blindelings code van een ander gebruiken, terwijl je er zelf geen verstand van hebt.. is gewoon niet slim.. men kan wel zeggen "tis een heel goede macro!" kan zijn.. maar als ie niet geschreven is voor het type machine wat je hebt.. dan kan het zijn dat bepaalde instellingen die in de oorspronkelijke goed stonden met de nieuwe teniet gedaan worden.. Klabam!..

EdingCNC heeft 2 Macro's .. en totnogtoe kan iedereen zelf bepalen waar ze wat inzetten.. op zich kan dat handig zijn.. maar het brengt ook risico's met zich mee.. zoals hierboven te lezen is.
Ik hou zelf mijn Macro's zoveel mogelijk gescheiden, mijn draai-macro kan ik zo op een andere draaibank gooien.. die veranderd niets aan de macro die het homen van de machine regelt.. echter.. de Toolchange macro.. die maakt deel uit van de "machine macro" als ik mijn Toolchange macro zou willen delen met anderen, dan moet ik die echt "uit mijn macro" kopiëren, en aan de ander aangeven waar ie em in zijn Macro moet invoegen.. anders gaat het mis..
P1-Engineering
Berichten: 103
Lid geworden op: 27 aug 2019 23:28

Re: Tool setter aanroepen bij toolwissel

Bericht door P1-Engineering »

TomAndKobus schreef: 01 feb 2021 15:23 Oei, :shock: :shock:
Het ging net goed denk ik, maar met de macro van Sorotec, die dus je complete originele macro van Eding vervangt, ging het homen bijna fout. De x-assen bleken niet meer gekoppeld te zijn, of in ieder geval niet goed. Mijn brug werd scheef getrokken. Op tijd de noodstop indrukken voorkwam hele vervelende dingen. :| :|

Dus, die Sorotec macro weer verwijderd, ook al wordt deze macro bijzonder handig genoemd. De schrik zit er bij mij wel in.

Alles werkt weer. Alleen ik weet nog steeds niet waar in de macro.cnc ik de tool setter moet aanroepen. Graag zou ik hier hulp bij willen hebben. Zover ik weet gaat het erom dat wanneer je een M6Tx aanroept, dat daar in de buurt dan "gosub sub m_tool" moet staan en ik denk dat dat ergens in "change_tool" moet zijn, maar waar?
Standaard staat dat uit, voor de betreffende as het ; teken weghalen om het actief te maken. Weet niet of dit ook in de handleiding van Sorotec staat?.

Zie hieronder voor het te wijzigen deel:


Gallerij Link
P1-Engineering
Berichten: 103
Lid geworden op: 27 aug 2019 23:28

Re: Tool setter aanroepen bij toolwissel

Bericht door P1-Engineering »

Caesar schreef: 01 feb 2021 18:07 Hoi Tom,

Ik sta zelf op het punt om dit te implementeren in mijn machine.

Ik ga me daar komende 2 weken mee bezig houden denk ik, en ik zit voor dezelfde uitdaging. Ik ben al in bezit van de sorotec macro en heb delen daarvan al in mijn macro.cnc zitten.l voor het gebruik van hun taster. Ik moet zelf eerst de hardware aan de praat krijgen om te kunnen testen, om meerdere toolsetters/proces op dezelfde Ingang te zetten.

Als ik verder ben post ik hier meer informatie, maar heel moeilijk is het niet. Als je inmiddels al gerichte vragen hebt stuur me een pb, dan geef ik je z.s.m. gericht antwoord, al dan niet via de telefoon!

Uiteraard wordt hier e.e.a uitgekristalliseert voor het nageslacht.

Minste wat ik terug kan doen na al je hulp met de koolmist!
Mocht je assistentie nodig hebben om bijvoorbeeld de toolsetter en 3d-probe op dezelfde ingang te zetten kan ik daarbij assisteren. Ik heb ze beide via het Hotplug kastje van Sorotec zodat ik de 3d-probe simpelweg kan inpluggen wanneer ie nodig is.
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 »

P1-Engineering schreef: 01 feb 2021 18:41 Mocht je assistentie nodig hebben om bijvoorbeeld de toolsetter en 3d-probe op dezelfde ingang te zetten kan ik daarbij assisteren. Ik heb ze beide via het Hotplug kastje van Sorotec zodat ik de 3d-probe simpelweg kan inpluggen wanneer ie nodig is.
Kan je niet gewoon een andere ingang aan zo’n ding toekennen?
Heb zelf ook een toolsetter en een 3D probe, beiden op verschillende ingangen. Hoef je niets te wisselen, nog gemakkelijker.
P1-Engineering
Berichten: 103
Lid geworden op: 27 aug 2019 23:28

Re: Tool setter aanroepen bij toolwissel

Bericht door P1-Engineering »

Nee, helaas is Eding daar vrij beperkt in. De standaard kaarten hebben echt alleen het minimale qua aansluitingen. Als je iets meer wilt moet je gelijk naar de 760 kaart waar je er volgens mij wel twee apart kan aansluiten.
Achteraf had ik uiteraard gelijk die moeten kopen, maarja achteraf is altijd makkelijk... :lol:
Gebruikersavatar
Kars-cnc
Berichten: 790
Lid geworden op: 07 okt 2015 05:33
Locatie: Heerde (Gelderland)

Re: Tool setter aanroepen bij toolwissel

Bericht door Kars-cnc »

Arie Kabaalstra schreef: 01 feb 2021 18:30 'tis niet dat de Toolsetter macro zich gaat bemoeien met de as toewijzing, maar.. als je de hele macro vervangt.. tja..
Aha... ik dacht dat een Tool setter macro een los iets was, een aparte file-tje zeg maar die je vanuit de software kan aanroepen...
Tja, waar bemoei ik mij ook mee, ik heb nog helemaal geen Eding, ik ben me alleen nog maar een beetje aan het oriënteren :oops:
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Ik weet dat jullie mij goed willen helpen, daar ben ik dus heel blij mee, maar als het zo simpel is, zeg dan hoe ik in de eding macro moet zetten dat hij de tool setter moet gebruiken. De toolsetter werkt, als ik user F3 indruk, dan gaat de machine een tool meten en schrijft hij de data weg in de tool bibliotheek. Wat moet ik nu waar in de eding macro doen om bij elke tpool wissel ook een tool height meting te doen.
Dus zeggen, dat is makkelijk en dan moet je gewoon :
Quote
in je tool call een verwijzing naar je meetmacro zetten.. meer dan dat is het niet.
End Quote.
Wat moet ik dan doen?

Het was dom van mij om de Sorotec macro zomaar over te nemen. Dit was niet goed doordacht. En ik heb nog even terug gekeken in de Eding macro, en inderdaad moet ik daar het tendem homen aan zetten. Helemaal niet moeilijk, maar wel vergeten. En dan was misschien ook alles gewoon goed gegaan. Maar Eding moet het ook zelf gewoon kunnen. Maar wat moet je dan doen? Waar moet ik wat in de macro zetten?

En Arie, ik moet zeker gaan leren wat macros doen, want dan kwam ik er zelf misschien ook wel uit. Hier moet ik een keer tijd voor vrij maken. Maar ik heb nu heel lang gezocht op het forum (en daar buiten) maar meerdere personen hebben hier problemen mee gehad, maar de oplossing staat nergens omdat de oplossing telefonisch of via prive berichten zijn door gegeven.

Dus alsjeblieft...HELP :shock:

PS, ik ben wel heel blij dat forumleden hun best voor mij doen. Ik uit niet meer dan een noodkreet. ;-)
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

uiteindelijk wil ik ook 2 toolsetters aansluiten. Aangezien ik een normal closed sensor heb, betekent dit dat er continue 24 volt door de sensor gaat. Dus op de kaart ingang staat 24 volt en bij het meten wordt de 24 volt onderbroken. Als ik 2 toolsetters in serie zet, dan is het net als bij de noodschakelaars, als één van de toolsetters wordt ingedrukt, dan gaat de 24 volt er van af en dit wordt gedetecteerd.
Bij normal open kan je de sensoren parallel zetten met het zelfde effect.

Of vergis ik mij hier?

Groeten, Tom.
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Ik heb heel erg het idee dat ik in onderstaand stukje van de: "sub change_tool" iets moet doen. Hier wordt M6T aan geroepen. Maar er staat ook G43; we use tool-length compensation.

If [[#5015] == 1]
msg "Tool "#5008" Replaced by tool "#5011" G43 switched on"
m6t[#5011]
if [#5011 <> 0]
G43 ;we use tool-length compensation.
else
G49 ;tool length compensation off for tool 0.
endif
else
errmsg "tool change failed"
endif

Hier de gehele sub change_tool:

Code: Selecteer alles

sub change_tool
    ;Switch off guard for tool change area collision
    TCAGuard off 

    ;Check ZHeight comp and switch off when on, remember the state in #5019
    ;#5151 indicates that ZHeight comp is on    
    #5019 = #5151
    if [#5019 == 1]
        ZHC off
    endif
    
   ;Switch off spindle
    m5

    ;Use #5015 to indicate succesfull toolchange
    #5015 = 0 ; Tool change not performed

    ; check tool in spindle and exit sub
    If [ [#5011] <> [#5008] ]
        if [[#5011] > 6 ]
            errmsg "Please select a tool from 1 to 6." 
        else
            ;Drop current tool
            If [[#5008] == 0] 
                GoSub DropTool0
            endif
            If [[#5008] == 1] 
                GoSub DropTool1
            endif
            If [[#5008] == 2] 
                GoSub DropTool2
            endif
            If [[#5008] == 3] 
                GoSub DropTool3
            endif
            If [[#5008] == 4] 
                GoSub DropTool4
            endif
            If [[#5008] == 5] 
                GoSub DropTool5
            endif
            If [[#5008] == 6] 
                GoSub DropTool6
            endif
            
            ;Pick new tool
            if [[#5011] == 0]
                GoSub PickTool0
            endif
            if [[#5011] == 1]
                GoSub PickTool1
            endif
            if [[#5011] == 2]
                GoSub PickTool2
            endif
            if [[#5011] == 3]
                GoSub PickTool3
            endif
            if [[#5011] == 4]
                GoSub PickTool4
            endif
            if [[#5011] == 5]
                GoSub PickTool5
            endif
            if [[#5011] == 6]
                GoSub PickTool6
            endif

        endif
    else
        msg "Tool already in spindle"
        #5015 = 1 ;indicate tool change performed
    endif    
                
    If [[#5015] == 1]   
        msg "Tool "#5008" Replaced by tool "#5011" G43 switched on"
        m6t[#5011]
        if [#5011 <> 0]
            G43  ;we use tool-length compensation.
        else
            G49  ;tool length compensation off for tool 0.
        endif
    else
        errmsg "tool change failed"
    endif
        
    ;Set default motion type to G1   
    g1
    
    ;Switch on guard for tool change area collision
    TCAGuard on
    
    ;Check if ZHeight comp was on before and switch ON again if it was.
    if [#5019 == 1]
        ZHC on
    endif
        
EndSub      
     
Gebruikersavatar
serum
Donateur
Berichten: 4257
Lid geworden op: 08 mar 2008 20:37
Locatie: Zwolle

Re: Tool setter aanroepen bij toolwissel

Bericht door serum »

Je kan je homing deel uit de Eding macro combineren met de Sorotec. Volgens mij zit dat redelijk 'behapbaar' in elkaar. Wat heb je aangepast in je eding macro om dat tanden-homen te gebruiken? dat zou ik ook in die sorotec macro aanpassen, volgens mij zit die macro identiek in elkaar?

Ik gebruik persoonlijk geen tandem-homing, (wist ook niet dat jij dat gebruikte) omdat ik het onnodig vind door een mechanische oplossing, mijn voorkeur is een parallel geschakelde uitgang, je hebt dan een uitgang over voor een 4e as.
foto's uploaden op cnczone.nl Let op, maximale grootte is 2,5MB, geen restricties op resolutie
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 Arie, ik moet zeker gaan leren wat macros doen, want dan kwam ik er zelf misschien ook wel uit. Hier moet ik een keer tijd voor vrij maken. Maar ik heb nu heel lang gezocht op het forum (en daar buiten) maar meerdere personen hebben hier problemen mee gehad, maar de oplossing staat nergens omdat de oplossing telefonisch of via prive berichten zijn door gegeven.

Dus alsjeblieft...HELP :shock:
Even vanaf het begin.. de code voor je toolsetter staat in een Subroutine.
De Macro-file is een bestand met alleen maar Subroutines, die je naar believen kan aanroepen, vanuit de besturing zelf (middels een User-Functie), via MDI, of vanuit een Programma.

Een Subroutine is niet meer of minder dan een stukje programma dat dus aangeroepen kan worden.

Hoe roep je ze aan?.. de meest eenvoudige manier is in je programma GOSUB (subroutine) te typen.
Voorbeeldje :

Code: Selecteer alles

Gosub M_tool
Roept de subroutine M_tool op, of dat nou vanuit MDI is, of vanuit een programma, of met een Userfunctie, dat maakt voor EdingCNC geen verschil.

Als je met een gereedschapswissel ook een meting wilt doen, dan moet je gewoon daar waar je de meting wilt uitvoeren, vanuit de Subroutine voor de gereedschapswissel dus gewoon Gosub M_Tool neerzetten..

(even ervanuitgaanden dat de meetmacro de naam M_tool heeft, ik weet dat niet uit mijn hoofd.. maar zoiets was het wel.. zo heb ik em ooit genoemd toen ik em schreef, en Bert Eding heeft em zo overgenomen van me.. hij durft dat wel.. macro's van anderen gebruiken :lol:

Wat nog wel even opletten geblazen is.. de Gereedschapslengte compensatie (G43) die MOET aanstaan.. anders heb je er nog niets aan.. en.. dan moet na het meten van de gereedschapslengte ook het gereedschap opnieuw opgeroepen worden, zodat ook de nieuwe lengte geladen wordt.

ik las iets over de Sorotec Macro waar je kon kiezen of je de lengte wegschreef naar de tooltabel, of niet.. Eerlijk gezegd vind ik dat KNOEIWERK!, NATUURLIJK schrijf je de gemeten waarde naar de Tooltabel.. daar hoort ie.. en dan weet je tenminste zeker waar je em terug kan vinden.. sommige gereedschappen hebben tenslotte een vaste lengte (zoals een frees die je altijd tot helemaal achterin de spindel kan doorschuiven.. omdat ie zo lang is.. dan hoef je die niet altijd te meten, als het niet op 0.01 mm komt, en als de lengte niet vast ligt.. nou en.. als je em meet, dan toont de Dialoog, als ik het goed heb de opgeslagen lengte.. en overschrijft ie em na de meting.. in elk geval staat die lengte er dan ook altijd in..
Daar komt nog bij.. dat als je een beetje creatief bent met het schrijven van Macro's, en je bepaald je gereedschapslengte tenopzichte van de spindelmoer, dan heb je met de gegevens uit de Tooltabel meteen een waarde waarmee je kan bepalen of een bepaald gereedschap wel lang genoeg uitsteekt.. Ja.. da's mogelijk, en niet eens moeilijk.

Het lastige is, de Macro's die "meegeleverd" zijn, die zijn geschreven met de nodige uitbreidingen in het achterhoofd.. zoals een ATC, eigenlijk, ben ik van mening.. moet dat er gewoon uit.. als je slim en handig genoeg bent om een ATC te bouwen, dan kun je die Code ook wel schrijven.. kun je dat niet?.. dan moet je er geen ATC op zetten.. (klinkt bot, ik weet het.. maar als je niet weet hoe een CNC Machine "werkt" moet je er ook gewoon afblijven)
Dit heeft tot gevolg dat de huidige macro vol staat met "Dead code" code die niets doet, tevens zijn er 2 macro's voor een "toolsetter" , een om de lengte te bepalen, en een om je werkstuk te nullen.. ben ik ook totaal geen voorstander van.. een Toolsetter hoort VAST op de machine, en niet los op je werkstuk..

Als Ik het bij EdingCNC voor het zeggen zou hebben.. dan zou ik EdingCNC op de site zetten met een LEGE macro, (ok.. de "User macro" voorzien van 20 User-Subs die verder ook leeg zijn), en een bibliotheek met macro's...die je kunt downloaden.. je moet ze dan wel zelf even in je eigen macro zetten.. maar dan kun je je macro tenminste opbouwen met alleen datgene wat je nodig hebt..

Samenvattend, de Macro die je gebruikt voor het meten van je tools, middels "Gosub" aanroepen vanuit je sub Change_tool.

Kijkend naar de standaard Sub Change_tool.. daar zit heel veel dead code in.. eigenlijk zou ik daar eens naar moeten kijken, en dan gewoon een "Kale" routine moeten posten... zolang je geen ATC op je machine hebt.. dan heb je al die code ook niet nodig.. en dat maakt het zoeken en eventueel aanpassen zoveel eenvoudiger..
Laatst gewijzigd door Arie Kabaalstra op 23 apr 2021 17:28, 1 keer totaal gewijzigd.
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Bedankt Arie, Ik gebruik de Eding macro's zoals ze geleverd zijn. Ik moet dus gosub m_tool in de sub change_tool zetten. Duidelijk!

De sub change_tool begint met: TCAGuard off . Dit is logisch, anders kan je niet bij de tool setter komen.
Vervolgens

Code: Selecteer alles

;Check ZHeight comp and switch off when on, remember the state in #5019
    ;#5151 indicates that ZHeight comp is on    
    #5019 = #5151
    if [#5019 == 1]
        ZHC off
    endif
    
   ;Switch off spindle
    m5
Hier snap ik niet veel van behalve dan dat op een gegeven moment de spindel uitgezet wordt. En dat is wel zo fijn!

dan komt

Code: Selecteer alles

    ;Use #5015 to indicate succesfull toolchange
    #5015 = 0 ; Tool change not performed
snap ik ook niet, maar tool change not performed, dat klopt wel op dit moment in de code.

Dan komt er een heleboel waar ik volgens mij niet mee doe, zoals drop tool etc. Dat heeft denk ik te maken met een ATC.

Vervolgens komt

Code: Selecteer alles

 If [[#5015] == 1]   
        msg "Tool "#5008" Replaced by tool "#5011" G43 switched on"
        m6t[#5011]
        if [#5011 <> 0]
            G43  ;we use tool-length compensation.
        else
            G49  ;tool length compensation off for tool 0.
        endif
    else
        errmsg "tool change failed"
    endif
        
    ;Set default motion type to G1   
    g1
    
    ;Switch on guard for tool change area collision
    TCAGuard on
Hier zal ik ergens die gosub m_tool moeten toe gaan voegen.
Ik denk dat ik op de volgende plek gosub m_tool moet toevoegen:

Code: Selecteer alles

 m6t[#5011]
        if [#5011 <> 0]
            G43  ;we use tool-length compensation.
            gosub m_tool
        else
            G49  ;tool length compensation off for tool 0.
        endif
    else
        errmsg "tool change failed"
    endif
        
    ;Set default motion type to G1   
    g1
    
    ;Switch on guard for tool change area collision
    TCAGuard on
IS dit juist, staat gosub m_tool hier juis?
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 »

Ja.. Volgens mij kan ie daar prima staan..

je ziet het nu zelf ook.. er staat heel veel code in die hoewel volkomen juist, ook volkomen nutteloos is, zolang je geen Toolchanger (ATC) hebt.

Je G43 ( gereedschapslengtecompensatie ) staat daar aan, wel zo fijn.. dan weet je machine ook hoe lang ie is..

Nou moet je alleen Na de gereedschapslengtemeting nog (opnieuw) M6 T[#5011] erin zetten (onder Gosub M_tool), omdat je je gereedschap dan opnieuw aanroept, met de gemeten lengte.. anders staat de oude lengte er nog in.. en boem=ho.
Gebruikersavatar
TomAndKobus
Berichten: 384
Lid geworden op: 12 feb 2020 12:43
Locatie: Gouda

Re: Tool setter aanroepen bij toolwissel

Bericht door TomAndKobus »

Heel erg bedankt Arie!

Dus de code moet als volgt worden:

Code: Selecteer alles

m6t[#5011]
        if [#5011 <> 0]
            G43  ;we use tool-length compensation.
            gosub m_tool
            m6t[#5011]
        else
            G49  ;tool length compensation off for tool 0.
        endif
    else
        errmsg "tool change failed"
    endif
Ik moet zeker code gaan begrijpen. Coderen zelf, dat ligt mij niet, maar ik moet het wel kunnen begrijpen.

Ik ga er morgen mee aan de slag, ik laat wel weten of het is gelukt.

Iedereen verder bedankt voor de tijd en moeite.
Plaats reactie