Het "Bouwen" van Macro's voor USBCNC

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

Moderator: Moderators

Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

bartL schreef: 11 okt 2021 18:22
hugo stoutjesdijk schreef: 11 okt 2021 08:55 (ik heb daarom 3 ijlgang keuze's, G0 niet interpolerend, G0*1 met positioneer logica, dus als het eindpunt naar Z- beweegt, eerst XY en dan Z, als het eindpunt naar Z+ beweegt eerst Z en dan XY (reuze handig), en een G0*2 die lineair interpoleert (gebruik ik nooit))
Dat is wel een interessante! Mag ik vragen hoe je dit in de praktijk doet? Ik heb geen ervaring met "custom made Gcodes".

En hoe werk je met een niet interpolerende G0? Ik dacht ergens gelezen te hebben dat je met Eding werkt, deze software doet dit toch al standaard bij een G0?
Helaas ik werk met een antieke grundig besturing. Is niet meer beschikbaar. Niks customs aan.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Perkeo schreef: 11 okt 2021 20:20 Arie, gaan we op de CNCzone dag nog meer Macro, GCode magie in een lezing van je horen?

Ja, das wel de bedoeling. . Als er mensen zijn die bepaalde trucjes willen weten, schriftelijk het op, dan kan ik wat voorbereiden.

Ik beschouw macro's als software, en zo benader ik het dan ook, daarom hou ik heelc bewust vast aan de door mijzelf opgestelde syntaxis, niet in de laatste plaats omdat getoond dan in notepad++ ook zo lekker werkt..

Ik hoop voor die tijd ook mijn dxf macro klaar te hebben.. zodat een tastroutine een dxf bestand kan genereren
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Ik heb het vaker geschreven.. en ik blijf het schrijven.. Manuals zijn er niet voor niets...
Zelfs ik ontkom er niet aan.. momenteel ben ik een nieuwe Draaibank Macro aan het schrijven.. en dan is een Manual een goede om als naslagwerk ernaast te hebben..
nou heb ik de luxe van 3 19"beelschermen op mijn Buro, en da's wel lekker.. Ik schrijf mijn Macro op het rechtse scherm, ik heb EdingCNC op het middelste scherm, en ik heb de Manual op het Linkerscherm..

de Parameters #1 tm #26:
Bert Eding schreef:Variable 1-26 match with the letter of the alphabet, #1 will get the value
of parameter A, #26 will get the value of parameter Z.
Dus... de X as Correspondeert met #24, en Z met #26...meer assen heb je op de draaibank niet nodig.. op de Freesbank wel.. maar dat is makkelijk genoeg uit te breiden..

Code: Selecteer alles

SUB M99
	G00 X#24 Z#26
	MSG"OPERATION CHECK"
    	IF [#3999==1]
        	GOSUB 1101
    	ENDIF
    	IF [#3999==2]
        	GOSUB 1102
    	ENDIF
 ENDSUB
met de regel "G00 X#24 Z#26" gaat de machine als je G00 X30 Z2 M99 uitvoert naar die positie, en voert ie M99 uit.. bij mij (en waarschijnlijk vele anderen) is M99 de code voor de Cyclusoproep, NIels heeft dat bij het schrijven van de Shopfloorprogrammer van mij overgenomen.. we hadden toendertijd veel contact.
En mensen die met een Heidenhain Controller kunnen werken.. die kennen M99 ook.. (het zou té mooi zijn als ik ook M89 kan maken.. die blijft elke regel de Cyclus oproepen tot je M99 programmeert.. maar laten we niet te veel willen..
Dit is in elk geval DE manier om je zelf geschreven MCode aan het eind van een regel te zetten.. en dat scheelt weer een boel regels..

dus.. Kort en goed:

G00 X30 Z2 M99 werkt. maar G00 M99 X30 Z2 werkt ook!..al geef ik persoonlijk de voorkeur aan M99 aan het eind... omdat M99 in E++ een andere kleur heeft.. en dus meer opvalt.
Hoe dan ook.. Doe er je voordeel mee!
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

Ik lees toch echt iets anders, maar misschien zie ik nog een beetje dubbel na gisteren.
2023-04-28 08_11_57-Window.jpg
Of het M99 of M999 is boeit me niet zo,
Maar die G00 X30 Z2 M99 of G00 M99 X30 Z2 is natuurlijk onzin. Daarin laat je lijken alsof het om een beweging gaat in ijlgang. Dat kan niet zo zijn als je wilt dat die parameters in je Mxxx als waarde gebruikt worden.
Dus die M99(9) moet gewoon vooraan staan, en daar geef je 2 parameters aan mee in het jasjes van de adressen X Z.
Die regel met je sub aanroep mag nl. GEEN beweging uitvoeren, anders is het hele idee van cyclus aan roep overboord en zou onderstaand voorbeeld een lijn onder 45 graden moeten geven.

Code: Selecteer alles

M99 X40 Y50

SUB M99
	G00 X#25 Y#24
 ENDSUB
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

hugo stoutjesdijk schreef: 28 apr 2023 09:04 Ik lees toch echt iets anders, maar misschien zie ik nog een beetje dubbel na gisteren.
jij mag niet meer drinken..🤪
hugo stoutjesdijk schreef: 28 apr 2023 09:04 Maar die G00 X30 Z2 M99 of G00 M99 X30 Z2 is natuurlijk onzin. Daarin laat je lijken alsof het om een beweging gaat in ijlgang. Dat kan niet zo zijn als je wilt dat die parameters in je Mxxx als waarde gebruikt worden.
Nee.. Jij ziet dat als onzin, of je begrijpt nog niet hoe het grapje werkt.
Ik programmeer een Cyclus, dus een reeks parameters geef ik een waarde, en die klinknagel ik ergens in mijn programmaatje. waar?.. boeit eigenlijk niet zo, als het maar de laatst geprogrammeerde cyclus is voordat ik em aanroep..

het zelfgeschreven M99 Commando kijkt van oorsprong alleen naar de waarde van #3999, voorheen #1100, en gaat aan de hand daarvan naar de juiste Subroutine, die dus de benodigde bewegingen uitvoert aan de hand van de zojuist ingeklinknagelde Parameters.
Dat is de oude situatie (voor ik dit Foefje in de Manuals ontdekte), om voor te positioneren moest ik eerst de machine naar de juiste plek sturen, en daar (op de volgende regel) M99..

maar.. door het gebruik te maken van de Parameters #1-#26 kan ik nu de geprogrammeerde X en Z Coordinaten uitlezen, en de machine daarheen sturen..
Dus, Dientengevolge, niet tegenstaande dat, rekening houdend met, enzovoorts, en zoverder..Kan ik Nu
G00 X30 Z2 M99 schrijven.. , die M99 Hoeft dus niet meer op een aparte regel..zodra EdingCNC nu een regel tegenkomt met M99 erop.. dan gaat ie dus even kijken in de Code, en daar treft ie de regel G00 X#24 Z#26. dus gaat ie in IJlgang naar de geprogrammeerde positie, ongeacht de waarden van #24 en #26.. die overschrijft ie direct.., ze worden ook niet in de Mxxx gebruikt, behalve op de Positioneer regel
hugo stoutjesdijk schreef: 28 apr 2023 09:04 Dat kan niet zo zijn als je wilt dat die parameters in je Mxxx als waarde gebruikt worden.
zoals ik al zij, ze worden, en mogen niet in de verdere routine worden gebruikt.. er staat ook niet voor piet snot in de manual dat ze voor dit doel gereserveerd zijn.. derhalve zijn het halve Systeem parameters.. (klusje voor de volgende versie E++, Deze reeks ook een andere kleur geven)
hugo stoutjesdijk schreef: 28 apr 2023 09:04 Daarin laat je lijken alsof het om een beweging gaat in ijlgang.
nee.. dat laat ik niet.. dat IS precies wat het is.. een beweging in IJlgang.. immers.. je staat ergens in de machine.. dus ga je in IJLGANG naar je werk toe (op veilige afstand), en daar roep je deze Cyclus aan.. Heidenhain doet het niet anders.. en ik heb jaren zonder problemen gewerkt met die besturing.. ik zou niet weten wat daar mis mee is, behalve de hoeveelheid knoppen zonder Functie.. maar die heb ik er in E++ ook al inzitten..
hugo stoutjesdijk schreef: 28 apr 2023 09:04 Die regel met je sub aanroep mag nl. GEEN beweging uitvoeren, anders is het hele idee van cyclus aan roep overboord en zou onderstaand voorbeeld een lijn onder 45 graden moeten geven.

Code: Selecteer alles

M99 X40 Y50

SUB M99
	G00 X#25 Y#24
 ENDSUB
Ik zou niet weten waarom dat onder 45 graden is, en nogmaals, waarom mag ik dat niet?.. een Ijlgang beweging maken en een Cyclus aanroepen?.. en waarom mag Heidenhain het dan wel?, en waarom mag je in een ijlgang beweging dan wel de spil aan of uit zetten, de koeling aan of uit, of welke andere M Code dan ook?.. maar geen cyclus aanroep?... nee.. dat klinkt me niet zinnig in de oren..

en leg me dan ook even fijntjes uit waarom dat een lijn onder 45 graden is?

Code: Selecteer alles

L x10 Y15
CC
LP PA45 PR 40 R0 FMAX M99
DAT is een lijn onder 45 graden.. en in jouw voorbeeld blijkt wel dat je de Manual niet goed gelezen hebt, en ook mijn Quote uit diezelfde Manual, want waarom in Godesnaam gebruik je #25 voor de X as positie, en #24 voor de Y as?.. terwijl het juist andersom moet zijn..
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

Die #24 en #25 had ik bewust verwisseld om het kromme van het verhaal te laten zien.
Ik weet heel goed hoe het doorgeven van parameters werkt.
Als jij hier vrolijk van wordt, ga gerust door. Ik heb over sommige zaken een andere mening.

Line polar, polar angle 45, polar radius = lengte 40 zo lastig is dat niet hoor.
Verder ben ik niet zo van het ver plassen.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Code: Selecteer alles

SUB M99
    IF[#6>0]
		IF [#7==1]
			G01 X#24 Z#26 F#6
		ENDIF
		ELSE
			G00 X#24 Z#26 
	ENDIF
    IF [#3999==1]
        GOSUB 1101
    ENDIF
    IF [#3999==2]
        GOSUB 1102
    ENDIF
ENDSUB
Zooo.. zo kun je dus kiezen.. G01 of G00.. je kunt ook M99 X.. Z... programmeren.. dan is #6 (F) per definitie -1e+10, en dus <0..en kiest ie G00..
hugo stoutjesdijk schreef: 28 apr 2023 20:46 Die #24 en #25 had ik bewust verwisseld om het kromme van het verhaal te laten zien.
A=#1, B=#2,...Z=#26.. Ik kan daar met de beste wil van de wereld niets kroms in zien.. dat zijn dingen die waar je één keer over moet nadenken, als je de Macro inknopseld.. en daarna heb je er geen omkijken meer naar...
't enige wat ik Graag nog eens zou zien in EdingCNC is een "Return Statement" omdat dat makkelijker is met Foutdetectie en dergelijke.. Je kunt nu wel met M2 uit een routine stappen..en voor Foutdetectie werkt dat prima, maar als je echt flink moet gaan zitten filteren met diverse Parameters, omdat je met 1 SUB als het even kan bewerkingen in 4 kwadranten wilt uitvoeren, zonder daar speciale subs voor hoeft te schrijven.. dan zou het een verademing zijn...
Ik heb dat al gemaild.. dus nu gewoon geduld hebben.. :lol:
intussen ga ik gewoon verder met het "vervolmaken" van mijn Macro.. want ik wil ook Cirkelbogen aan kunnen lopen en dan een Cyclus aanroepen.. (Voor de Freesbank, als je op een rond werkstuk gaten wilt boren, maar je hebt een opstaande rand aan de binnenkant..
bij de Heidenhain besturing deed ik dat gewoon Zo:

Code: Selecteer alles

L X0 Y0 Z20 R0 FMAX
CC
LP PA 0 PR 60 R0 FMAX M3
G00 Z-23 FMAX M99
CP IPA 60 IPR0 R0 F6000 M99
CP IPA 60 IPR0 R0 F6000 M99
CP IPA 60 IPR0 R0 F6000 M99
CP IPA 60 IPR0 R0 F6000 M99
CP IPA 60 IPR0 R0 F6000 M99
L Z50 R0 FMAX
En dat wil ik op mijn eigen machines ook kunnen
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Net even wat uitgeprobeerd.. vraag me niet waarom.. maar in Talen als C# kun je in een "IF THEN" beslissing besluiten om er op een bepaald moment uit te stappen..

Code: Selecteer alles

    ...
    GOSUB CDOC
	IF [#3002==0] (FINISH PASS ONLY)
		GOSUB 1103_FINISH
		RETURN
	ENDIF
	IF[#1603<#1003] (DETECT LEFT TO RIGHT, REVERSE FACING)
	...
De eerste Controle die ik doe is kijken of de Snedediepte op 0 staat.. zo ja.. dan hoeft ie alleen de Finishing pass maar te lopen.. voor Nadraaien dus..
Als dat klaar is.. dan hoef ik de andere controles niet meer af te lopen.. met Return stap je dus uit die reeks..en laat ie alle verder controles verder achterwege.. dat scheelt aanzienlijk in het inknopselen van code.. voldoe je aan een bepaalde voorwaarde.. dan loop je dat stuk af.. en dan geloof ik het verder wel.."
Hij gaat dan verder in het programma.. M99 Stuurt em naar die subroutine.. en zodra de Term "Return" gelezen wordt.. springt ie terug..
Dit foefje was al te gebruiken in Commodore Basic V3.0 van de Commodore 16, waar je in een programma Gosub 100 kon programmeren en dan een Reeks IF THEN's vanaf regel 100, en diverse Returns om terug te springen..
in C# heb ik er ook gretig gebruik van gemaakt in E++, en nu zoals blijkt, kan het ook in EdingCNC..Maar in de Manual of in de Releasenotes ben ik het nog niet tegengekomen.. moet ik morgen toch eens even over bellen...

In elk geval, zoals ik nu heb gemerkt.. werkt het.. en daar wordt Arie vrolijk van.. een dansje van vreugde gaat nog even niet lukken.. maar ik zal zo proberen om van blijdschap even te huppelen naar de keuken.. als ik daar mijn biertje ga inschenken!..
Doe er je voordeel mee!
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

We hebben hier onlangs een topicje mogen verwelkomen van iemand die er klaarblijkelijk niets van snapt, en ook de manuals niet napluist als ie een vraag heeft.. Dat was weliswaar iemand met een LinuxCNC besturing.. maar dat maakt feitelijk geen bal uit, omdat ze min of meer dezelfde G-Code interpreter gebruiken..

Het ging om het "afsnijden van hoeken in een geprogrammeerd pad.. hij wilde dat ie het exacte pad volgde, of in elk geval geen grote stukken afsneed.. Nou.. Daar is G61 voor... Exact Stop., en als je het nou prettig vindt om juist wel een stukkie af te snijden (omdat het sneller gaat, of.. om juist een haartje materiaal te laten staan voor't nasnijden).. dan knopsel je G64 P in je Code.. en zodra je weer exacte paden wilt lopen.. dan zet je G61 weer aan..

24860

zoals in bovenstaand voorbeeldje.. Ik heb een subroutine die vlakt tot aan de schuine kant.. , en daarna dezelfde subroutine die de schuine kant voorbewerkt , maar dit keer met G64 P#3002 (#3002 is de snedediepte), dus snijdt ie de bocht eenb eetje af.. op die manier blijft er net een haartje materiaal op de schuine kant staan voor de laatste snede, de tweede subroutine die ik afloop.. maar voor dat ie aangeroepen wordt.. staat G61 alweer aan..

Zodoende kun je dus handig gebruik maken van G61 en G64.. da'je't maar effe weet.. :lol:
Gebruikersavatar
serum
Berichten: 5396
Lid geworden op: 08 mar 2008 20:37
Locatie: Zwolle

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door serum »

G61 is toch alleen nodig als je machine onder de 5000mm/s2 accelereert? :mrgreen:
Gebruikersavatar
andrefc101
Donateur
Berichten: 3702
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door andrefc101 »

serum schreef: 06 mei 2023 15:26 G61 is toch alleen nodig als je machine onder de 5000mm/s2 accelereert? :mrgreen:
Moet jij het weer ingewikkeld maken 🤪
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

serum schreef: 06 mei 2023 15:26 G61 is toch alleen nodig als je machine onder de 5000mm/s2 accelereert? :mrgreen:
Of.. juist boven de 5000mm/s²... want dan zal de machine ook stevig moeten afremmen..

Maar het gaat erom dat je met G64 juist bewust iets materiaal kan laten staan.. zodat je beitel altijd wat materiaal te snijden heeft..
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door hugo stoutjesdijk »

Arie Kabaalstra schreef: 04 mei 2023 23:06 in C# heb ik er ook gretig gebruik van gemaakt in E++, en nu zoals blijkt, kan het ook in EdingCNC..Maar in de Manual of in de Releasenotes ben ik het nog niet tegengekomen.. moet ik morgen toch eens even over bellen...
Nou lekker dan, heb je net de hele manual binnenste buiten gekeerd, had dat lezen van de manual ook al weer geen nut. :lol:

Ik programmeer al een beetje sinds 1981 geloof ik, en ben echt nog nooit 1 taal tegen gekomen die GEEN if then else had (al heb ik het vermoeden dat ze er wel zijn, Forth ?). Dus ja logisch dat het in C# ook zit, en al die voorgangers. Maar dat hat een zekere schaker je vast wel kunnen vertellen, want die heeft dáár nu weer veel meer verstand van. ;-)
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Het "Bouwen" van Macro's voor USBCNC

Bericht door Arie Kabaalstra »

Het gaat in deze niet zo zeer over het IF argument.. dat heeft EdingCNC zeker wel.. en het beschikt over de volgens mij amper gebruikte AND en OR statements...

het ging in deze over "RETURN".. en dat, zo blijkt nu is wel een heel handige.. Ik ben momenteel bezig met een nieuwe draaimacro, één die veel minder rekening houdt met verplaatsingen, omdat je een "Begin coordinaat" in de Cyclus moest programmeren in de oude versie..
nu ga ik gewoon naar een bepaald coordinaat, geprogrammeerd in E++, en als ik mijn Cyclus aanroep, dan gebruik ik DAT coordinaat als "entry point" van de Cyclus.. zo werkt het op de EMCOtronic TM02 besturing ook, en ik vind dat wel een fijne manier van programmeren..

Maar goed.. het RETURN Statement dus.. Ik ben er inmiddels in geslaagd een VlakdraaiCyclus te schrijven met een Chamfer achter in het hoekje..

Code: Selecteer alles

T2 M6 ( "MESBEITEL RUW" )
G00 X80 Z25 M3 S500
M100
;CYCLE CHAMFER
    #1001=60      (X1)
    #1003=-10      (Z1)
    #1011=70      (X2)
    #1013=-15      (Z2)
    #4001=500      (FEED)
    #4002=1.8      (DOC)
    #3999=3      (CYCLE INDEX)
;ENDCYCLE
G00 Z1 M99
M101
M2
Uit bovenstaande Kun je opmaken dat: de machine naar X80 gaat, en vervolgens naar Z1, om aldaar de cyclus aan te roepen
Nu heb ik de diameter van het stuk tot aan de schuine kant vastgelegd met #1001 op X60, en de schuine kant begint op #1003, Z-10
het eind van de schuine kant, op de Coordinaten van #1011 en #1013 te weten X70 en Z-15, en van daar naar X80

Nu is dit een bewerking die ten opzichte van het Startpunt in het 2de kwadrant ligt.. en voor de snedeberekening heb ik 2 Subroutines gemaakt.. voor bewerkingen in het 2de en 3de kwadrant, want die komen het meeste voor, maar ook voor het 1e en 4de kwadrant,

Ik heb dus in de primaire sub voor deze Cyclus een aantal "scenario's" die ik moet uitfilteren.. allereerst.. IF snedediepte == 0, dan hoef ik verder niet uit te vlooien welk kwadrant ik zit.. want.. boeie.. hij loopt gewoon de coordinaten af op het rijtje..maar.. MAAR!.. als ie daarmee klaar is.. dan is het NIET de bedoeling dat ie verder gaat kijken want er zijn meer controles waar de Cyclusparameters aan kunnen voldoen, met snedediepte 0, maar omdat ie net dat stukje Routine heeft afgelopen.. RETURN.. klaar.
en datzelfde staat in de volgende controles.. zodat ie , zodra ie klaar is, terugspringt, en niet meer verder gaat zoeken..

Dit ook in de M99 Sub.. waar ik eerst Voorpostioneer, en dan ga kijken naar de waarde van #3999, en zodra ie een passende waarde gevonden heeft.. roept ie bijbehorende Sub aan.. is ie klaar, en keert ie terug in M99.. RETURN.. en dus stapt ie eruit.. zodat ie niet alle andere controles hoeft af te lopen..

Code: Selecteer alles

SUB M99
    IF[#6>0]
        IF [#7==1]
            G01 X#24 Z#26 F#6
        ENDIF
        ELSE
        G00 X#24 Z#26 
    ENDIF
    IF [#3999==1]
        GOSUB 1101
        RETURN
    ENDIF
    IF [#3999==2]
        GOSUB 1102
        RETURN
    ENDIF
    ....
ENDSUB
Op deze manier dus..Want.. als je eenmaal de juiste Sub aangeroepen hebt.. dan heeft verder zoeken toch geen zin meer.. Dus stap je eruit..
Plaats reactie