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
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 :
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
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..