Het "Bouwen" van Macro's voor USBCNC

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

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

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

Bericht door Arie Kabaalstra »

Zo.. da's een flinke lap.. ik ga er binnenkort even in grasduinen..

Ik weet even niet welke functionaliteit de Sorotec macro biedt, die EdingCNC niet biedt?

in elk geval weet ik dat de EdingCNC Macro WEL zijn gereedschapslengtes in de tabel zet.. Ik vraag me dus af hoe de Sorotec macro de gereedschapslengte dan compenseert?.. (ik heb er nog niet naar gekeken)

Bij EdingCNC gaat dat in elk geval Automagisch, en is ie voorbereid voor Gereedschapswisselaars
hfjbuis
Donateur
Berichten: 3056
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

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

Bericht door hfjbuis »

Arie Kabaalstra schreef: 09 apr 2019 19:57 zoals ik al schreef.. toen ik ontdekte hoe krachtig Gosub was.. heb ik sindsdien geen Goto meer gebruikt.. helaas heb ik niet meer dan 1 jaartje les gehad met TurboPascal, en hadden we het niet voor thuis.. dat was wel jammer.. anders had ik thuis lekker verder kunnen "klooien"..
TurboPascal heb ik in de jaren 85..95 ook gebruikt. De boeken heb ik jaren terug in de papierbak gedaan maar de installatie bestanden staat vast nog op een oude back-up. Als je wilt, haal ik die van de zolder en kijk of ik hem kan restoren.

C, C++ of C#, het is allemaal C. Ik gebruik het zowel voor het programmeren van de controllers (C, C++ met Atmel studio) als voor de PC programma's (C# met Visual studio). Het is zeker niet meer zo'n linke taal als in de begin jaren 80. C# en VisualStudio (nu versie 2019) is al 15 jaar mijn favoriete ontwikkelomgeving.
Als je kunt programmeren in basic, dan kun je ook Visual Basic gebruiken. Tegenwoordig lijken die functioneel heel sterk op elkaar en je kunt ze ook samen binnen een project gebruiken.
Vergis je niet, ontwikkeling van software kost best veel tijd, zeker als je behalve de gebruikers interface ook nog iets aan besturing moet/wilt doen.
Arie Kabaalstra schreef: 09 apr 2019 19:57 Ik zou nu graag nog eens C++ willen leren.. zodat ik op de API van EdingCNC software kan bouwen.
Ik wist niet dat EdingCNC open software was, ik heb daar een paar jaar geleden eens naar gekeken!

Zo te horen en gezien je projecten, heb je toch geen tijd meer om te werken....
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

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

Bericht door Arie Kabaalstra »

Na wat zoekwerk ben ik erachter gekomen dat de Sorotec macro de tooltable niet gebruikt.

Code: Selecteer alles

IF [#3501 == 1] 		; (Wurde Werkzeug bereits Vermessen? 1=JA)
          			#4502 = [#4501]		; Alte Werkzeuglänge speichern
              		#4501 = [#5021]		; Aktuelle Werkzeuglänge eintragen
              		#3502 =	[#4501 - #4502] ; Werkzeuglängenunterschied ausrechnen
              		G92 Z[#5003 - #3502] 	; Z-Nullpunkt ermitteln
            		;Werkzeuglaenge und Werkzeugdurchmesser in Tabelle speichern
        			;#[5400 + #5016] = [#5053 - #4527]	;Berechnete Werkzeuglänge in Tabelle speichern
        			;#[5500 + #5016] = #5018			;Werkzeugdurchmesser in Tabelle speichern
       			 	;msg "Gemessene Werkzeuglaenge="#[5400 + #5016]" gespeichert in Werkzeugnr. "#5016
				ELSE
              		#4501 = [#5021]		; Aktuelle Werkzeuglänge eintragen
            	ENDIF
't zit er wel in, maar het is "Commented" als je de Puntkomma's weghaalt, en het deel wat de G92 Z toepast voorziet van puntkomma's.. dan zet ie je waarde gewoon in de tabel..

'k heb het niet getest.. maar na de meting nogmaals je huidige tool oproepen, maakt dat ie de nieuwe gemeten waarden ook toepast.. en zolang G43 actief is, wordt de gereedschapslengte ook verrekend.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
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 wist niet dat EdingCNC open software was, ik heb daar een paar jaar geleden eens naar gekeken!
Eding CNC is als zodanig niet "open", maar er is een API die je in staat stelt om een Applicatie te koppelen met de Kernel van EdingCNC.
een hele poos geleden heb ik "om te proberen" eens wat kleine applicaties gemaakt die naast EdingCNC draaiden, en bepaalde dingen stuurden.
Later, middels die koppeling met die API, toen nog de DOTNETAPI.DLL, heb ik 2 speciale GUI's gemaakt voor een graveermachine en een Ponsmachine..
je bouwt een GUI, en in de Code maak je de koppeling met de API, en dan kun je daaruit de functies "trekken" die je nodig hebt in je programma.
Zo te horen en gezien je projecten, heb je toch geen tijd meer om te werken....
't kan aan mij liggen.. maar ik snap die opmerking niet.. wat bedoel je daarmee te zeggen?
hfjbuis
Donateur
Berichten: 3056
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

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

Bericht door hfjbuis »

Arie Kabaalstra schreef: 16 jun 2020 13:28 't kan aan mij liggen.. maar ik snap die opmerking niet.. wat bedoel je daarmee te zeggen?
Jij bent met zoveel (leuke) dingen bezig dat er om te werken (voor de boterham) niet veel tijd meer over kan blijven. Blij vooral zo bezig, dat houd de hersenen fit.

edit:

Ik heb nog eens gezocht, dit staat vermeld bij hun software CPU5A: "SDK for building customized UI's."

Blijkbaar wordt er toch noch wat ondersteund.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

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

Bericht door Arie Kabaalstra »

al die leuke dingen die ik aan het doen ben.. hebben als doel een boterham te verdienen..
ik heb geen "Baan" ik heb een bedrijf.. ik zit nog in de startfase, maar er begint al wat werk binnen te druppelen.. en dat geeft de burger moed..

'k heb een tijd geleden een heel uitgebreide macro geschreven voor mijn draaibank, dat kostte me een maand.. maar die heeft zichzelf, na een dikke 150 titanium horlogekasten inmiddels wel terugverdiend..

Mijn Freesbank is een leuk ding, maar titanium verspanen, daar heeft ie niet de meest optimale spil voor.. een Draadvonkmachine is dan een leuke optie om 't freeswerk te omzeilen.. zeker gezien het feit dat die machine me minder gekost heeft dan de spil die ik op mijn Freesbank zou moeten hebben.. :lol:
Gebruikersavatar
P1-Engineering
Donateur
Berichten: 429
Lid geworden op: 27 aug 2019 23:28
Locatie: Haarlem

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

Bericht door P1-Engineering »

Arie Kabaalstra schreef: 15 jun 2020 20:01 Zo.. da's een flinke lap.. ik ga er binnenkort even in grasduinen..

Ik weet even niet welke functionaliteit de Sorotec macro biedt, die EdingCNC niet biedt?

in elk geval weet ik dat de EdingCNC Macro WEL zijn gereedschapslengtes in de tabel zet.. Ik vraag me dus af hoe de Sorotec macro de gereedschapslengte dan compenseert?.. (ik heb er nog niet naar gekeken)

Bij EdingCNC gaat dat in elk geval Automagisch, en is ie voorbereid voor Gereedschapswisselaars
Er zitten een aantal handige tools in zoals een spindel opwarm routine, verschillende opties wat de machine moet doen na een toolwissel etc.
En ik heb mijn machine bij Sorotec vandaan dus eigenlijk automatisch hun macro geïnstalleerd. :)
Arie Kabaalstra schreef: 16 jun 2020 12:23
Na wat zoekwerk ben ik erachter gekomen dat de Sorotec macro de tooltable niet gebruikt.

Code: Selecteer alles

IF [#3501 == 1] 		; (Wurde Werkzeug bereits Vermessen? 1=JA)
          			#4502 = [#4501]		; Alte Werkzeuglänge speichern
              		#4501 = [#5021]		; Aktuelle Werkzeuglänge eintragen
              		#3502 =	[#4501 - #4502] ; Werkzeuglängenunterschied ausrechnen
              		G92 Z[#5003 - #3502] 	; Z-Nullpunkt ermitteln
            		;Werkzeuglaenge und Werkzeugdurchmesser in Tabelle speichern
        			;#[5400 + #5016] = [#5053 - #4527]	;Berechnete Werkzeuglänge in Tabelle speichern
        			;#[5500 + #5016] = #5018			;Werkzeugdurchmesser in Tabelle speichern
       			 	;msg "Gemessene Werkzeuglaenge="#[5400 + #5016]" gespeichert in Werkzeugnr. "#5016
				ELSE
              		#4501 = [#5021]		; Aktuelle Werkzeuglänge eintragen
            	ENDIF
't zit er wel in, maar het is "Commented" als je de Puntkomma's weghaalt, en het deel wat de G92 Z toepast voorziet van puntkomma's.. dan zet ie je waarde gewoon in de tabel..

'k heb het niet getest.. maar na de meting nogmaals je huidige tool oproepen, maakt dat ie de nieuwe gemeten waarden ook toepast.. en zolang G43 actief is, wordt de gereedschapslengte ook verrekend.
Ah, dat zou top zijn!. Onwijs bedankt voor de moeite. Ik ga dit morgenavond even testen.
Had vandaag wat tijd om er verder in te duiken, ben er inmiddels achter dat de variabelen naar de .ini file worden geschreven, haha. Begint allemaal wat duidelijker te worden. Nu kan ik daar ook de Z-offset van de 3D-finder aan toe voegen en dan zou ook de Z-hoogte meetfunctie moeten werken.
Enige issue is dat de gereedschap inmeet routine van Eding gebruik maakt van Tool 99 voor de toe te passen offset, de macro van de 3D-finder doet dat ook dus denk dat dit een conflict gaat geven.
Komende dagen eens kijken of het mij lukt om dit bij één van beide te wijzigen naar Tool 98.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

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

Bericht door Arie Kabaalstra »

dat moet niet al te moeilijk zijn..
Ik heb indertijd voor Tool 99 gekozen, omdat dat de laatste tool in de tabel is.. daar kom je normaliter nooit aan.. eigenlijk is het een simpele paspen met een vaste uitsteeklengte..

Ik was toendertijd de eerste die een 3D Taster had, en een Toolsetter, dus ik heb die code voor mijn eigen machine moeten bouwen.. Later heb ik voor de lengtemeting een verbeterde versie gemaakt, die uiteindelijk in de EdingCNC macro terechtgekomen is.

In mijn werk als gereedschapmaker heb ik te maken gehad met Meettasters en Toolsetters, vandaar dat ik wist hoe dat gekalibreerd moet worden..
Die "Tool 99" had ik op mijn werk op de Heidenhain gestuurde Bridgeport ook.. een Weldonhouder met een 12 mm Paspen erin die "Exact" 50 mm uit de spilneus stak.. Exact tussen aanhalingstekens, want met de rolmaat gemeten.. maar als je in de Tooltabel zet dat ie precies 50 mm lang is dan is dat ook zo voor de machine.. daarmee kon ik als ik de tafel Z0 maakte met dat tool, de hoogte van de Toolsetter meten, en de lengte van de 3D Taster kalibreren
Gebruikersavatar
P1-Engineering
Donateur
Berichten: 429
Lid geworden op: 27 aug 2019 23:28
Locatie: Haarlem

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

Bericht door P1-Engineering »

Duurde allemaal iets langer dan gepland...
Ben eerst bezig geweest om de 3D-finder en de Z-finder in serie aan te sluiten. Was al 1 keer vergeten de stekker om te steken......

Maar het goede nieuws, met de aangegeven aanpassing van Arie aan de Sorotec Macro schrijft deze inderdaad de waardes naar de tabel. 8)
Heb ook de Eding toolset routine toegevoegd en deze als T98 in de tabel laten schrijven voor de kalibratie waarde.
Daarnaast de routine aangepast en geactiveerd wanneer er om een toolchange gevraagd wordt. Komt nu vanzelf naar een handige positie om de nieuwe houder erin te plaatsen en weer door.
xander janssen
Berichten: 599
Lid geworden op: 08 jan 2009 08:53
Locatie: België

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

Bericht door xander janssen »

Kent EdingCNC ook een "For-loop"?

Is wel handig als je iets een x-aantal keren wil doen. Dat kan natuurlijk ook met while-loop, maar For-loop is soms net wat handiger/inzichtelijker om te voorkomen dat je iet net een keer teveel/weinig doet omdat je check niet goed staat.

Voorbeeld wat Arie ergens in het begin aanhaalt mbt een kamer op diepte frezen i.e. haalt hij het wel of niet :lol:

Groeten,

Xander
Kjelt
Donateur
Berichten: 6259
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

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

Bericht door Kjelt »

xander janssen schreef: 06 okt 2020 09:05 Kent EdingCNC ook een "For-loop"?
Is wel handig als je iets een x-aantal keren wil doen. Dat kan natuurlijk ook met while-loop, maar For-loop is soms net wat handiger/inzichtelijker om te voorkomen dat je iet net een keer teveel/weinig doet omdat je check niet goed staat.
:?:
Enigste verschil tussen een for en while loop is puur pragmatisch.
Als je een hulpvariabele initialiseert voor de while loop.
En in de while conditie checkt of deze variabele nog aan de grensconditie voldoet, om vervolgens deze variabele aan het einde of begin van de while loop op te hogen, dan heb je een identiek gedrag.

Als je beiden ter beschikking hebt dan is het handig om een for loop te gebruiken voor een loop waar je vantevoren al weet hoeveel iteraties je nodig hebt, terwijl je dan een while loop gebruikt als je dit niet van tevoren weet. Maar beiden zijn met gelijk resultaat te gebruiken.
xander janssen
Berichten: 599
Lid geworden op: 08 jan 2009 08:53
Locatie: België

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

Bericht door xander janssen »

Kjelt schreef: 06 okt 2020 10:01 Als je beiden ter beschikking hebt dan is het handig om een for loop te gebruiken voor een loop waar je vantevoren al weet hoeveel iteraties je nodig hebt
Dat is exact de achtergrond van mijn vraag. Wil een aantal macro's maken waar ik vantevoren weet hoeveel slagen ik wil maken.

Zoals je zegt, het kan ook met While-loop en dat gaat me ook lukken gezien mijn programmeer ervaring, maar als For-loop in EdingCNC zit gaat mijn voorkeur daar naar uit.
Kjelt
Donateur
Berichten: 6259
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

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

Bericht door Kjelt »

Geloof niet dat het er in zit, kan het niet 1,2,3 in de manual terug vinden.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13370
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

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

Bericht door Arie Kabaalstra »

Nee, zit er niet in.. je zult een While loop moeten gebruiken.

eerlijk gezegd heeft dat ook mijn persoonlijke voorkeur..
Plaats reactie