E++, Custom EdingCNC Editor

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

Moderator: Moderators

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

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

'k zit weer te tobben met die vermaledijde Regex...
omdat de Parameters #1 tm #26 staan voor de Letters A tm Z wil ik die ook afzonderlijk een kleurtje geven..
Gebruikersavatar
andrefc101
Donateur
Berichten: 3733
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door andrefc101 »

Arie Kabaalstra schreef: 07 aug 2023 15:49 'k zit weer te tobben met die vermaledijde Regex...
omdat de Parameters #1 tm #26 staan voor de Letters A tm Z wil ik die ook afzonderlijk een kleurtje geven..
Dacht dat jij zo’n hekel had aan die ‘flipperkast’ toestanden… en nu wil je het er zelf in bouwen, of mis ik iets…
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

andrefc101 schreef: 07 aug 2023 17:16 Dacht dat jij zo’n hekel had aan die ‘flipperkast’ toestanden… en nu wil je het er zelf in bouwen, of mis ik iets…
'k heb zeker geen hekel aan Flipperkasten.. maar dat staat los van SyntaxMarkeringen.

'k heb wel Virtuele Flipperkasten gemaakt, met Visual Pinball.. maar zelf een Flipperkast bouwen, da's iets wat ik nog wel op mijn "ooit nog doen-lijstje" heb staan..
Omdat je in Visual Pinball je eigen Code moet schrijven voor het functioneren van de lampjes, de flippers, de Gates, Ramps, Bumpers en dergelijke.. kan ik dat ook in een Arduino frituren natuurlijk..dan hoef ik alleen het Fysieke ding nog maar te bouwen.. :lol:

Maar.. Los daarvan.. momenteel zit ik in de "Afrondingsfase" van E++ 2.0, en daar zit een boel extra in.. zo zijn er 13 "Custom Code" Softkeys, waarmee je 13 gekoppelde bestandjes rechtstreeks in kan voegen, denk aan Sneltoetsen voor Code "Snippets", al is het maar voor "G00" of "G01" maar ook dingen als "Sub"en "Endsub" , "If" en "Endif", "While" en "EndWhile" om snel algoritmen op te stellen..

Ook komt er een Softkey om hele stukken programma in te voegen, zoals bijvoorbeeld patronen die je in meerdere onderdelen nodig hebt..Ook kun je Stukken Code Selecteren, en als apart bestand opslaan.. zo kun je bij meerdere delen met een identiek patroon, het eerste programma schrijven, en dan het patroon selecteren, en opslaan, om het later weer in een volgend programma in te voegen..

Momenteel heb ik ook 20 Softkeys gereserveerd voor 20 Dialogen, zodat je die zelf toe kan voegen naar smaak..
Voor mijn Draaibank heb ik dan de mogelijkheid om Vlakken, Langsdraaien, Chamfer, Fillet, Grooving, Drilling en wat ik verder nog verzin, gewoon in te voegen..

Hoe dat in zijn werk gaat?.. de bedoeling is dat je een bestandje maakt met de Dialogen in "gewone" EdingCNC Code, dus :

Code: Selecteer alles

DLGMSG "Facing" "X" 1001 "Z"1003 "Feed" 4001 "Depth of Cut" 4002 "Cycle Index"39999
#3999=1
Waarbij #3999 dan "read only" is, die kun je in de Dialoog dus niet wijzigen. de parameter op de 2de regel is dan de "Read Only"parameter"
'k moet nog even verzinnen dat ie die dan NIET in de Dialoog weergeeft.. anders zit je weer met een zichtbare Regel in je Dialoog, waar je verder niets mee kan.. waarom zou ik em dan weergeven?.. ;-)

de Tooltabel moet ook nog gemaakt worden, maar die kan ik vrij makkelijk Kopiëren uit de vorige versie, Ik ben namelijk vanwege de vele uitbreidingen opnieuw begonnen.. ook is de Menustructuur flink op de schop gegaan.., Meer menu's, waarvan sommige meerdere Softkey balken hebben.. vergelijk het maar met de 2 User Menu's in EdingCNC, maar dan met een wezenlijk verschil.. in EdingCNC moet je terug naar Main, en dan de andere Menubalk kiezen, bij E++ heb ik F12 als "Toggle" tussen de menubalken, en F1 als "terug naar Main", en in de KeyDown_Events wil ik Esc ook nog toevoegen om met 1 druk op de knop terug te keren naar "Main", en F1 wordt daar de "Naar EdingCNC"knop.., dus vanuit elk menu kun je dan met Esc - F1 naar EdingCNC overschakelen..

Dan de Setup nog.. Daar wil ik met F2 je Profiel kiezen.. dat wil zeggen welke machine je gebruikt.. elke machine krijgt dan zijn eigen INI bestandje, dat bijhoudt welke iconen er getoond moeten worden op de Toetsen (mogelijk maak ik ook de mogelijkheid om gewoon teksten op de toetsen weer te geven, da's makkelijker dan Icoontjes maken)
F3 komt er dan om een profiel te bewerken, zoals het kiezen van de Mappen met Iconen en DialogImages, werkmap,CNC.Ini en Tool.Ini, en die op te slaan in de Map van de gekozen Versie, F4 wordt dan voor het aanmaken van nieuwe profielen..

Da's nog een bak werk.. maar ik kan dat durven..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Ik zit momenteel weer lekker te knopselen, en ik heb 't volgende in mijn hoofd:
Heb je 1 machine, dan heb je ook 1 "machineprofiel", Dus valt er weinig te kiezen, en gaat E++ bij het opstarten direct dat profiel laden.
Heb je er meer (stel je wilt op je "Kantoortje" voor elke machine een programma kunnen schrijven) dan valt er wel wat te kiezen..

E++ komt in dat geval met een Keuzevenstertje, met alle profielen die je hebt aangemaakt, de laatst gebruikte wordt dan Highlighted weergegeven.
Wil je door met het vorige gebruikte profiel?.. dan mep je op Enter, of je heit op je scherm, of met de #$#%Muis..(ik haat die dingen) op Ok, Wil je echter met een ander profiel aan de gang?.. Kan.. pijltje omhoog of omlaag, of met de ²¤¥€Muis Dubbelklikken op het gewenste profiel.
Zodat E++ Opstart met het door jou gekozen profiel.

Dat was een Feature die er nog in moest, maar het gaat gestaag, 't keuzevenstertje is gemaakt, en ik heb 't ook voor elkaar dat ik de Variabelen tussen die 2 vensters heen en week kan pingpongen..
'k heb ook al een Dialoogje klaar, er moet alleen nog een Parameter toegevoegd worden als Cycle Index, maar die is "Read only" dus die heb ik apart in het Dialoogbestandje staan, en die toon ik niet in de Dialoog, 'k voeg em alleen toe aan het eind, als ik em in de code zet.
Icoontjes en Dialoogafbeeldingen werken ook, en je kunt de locatie van de mappen waar ze instaan ook gewoon zelf kiezen, wel zo fijn als je voor een draaibank en een Freesbank een profiel hebt, dan staan er geen Draaibank icoontjes en dialoogjes in je Freesprofiel..

Om dat allemaal te maken, moet ik nog even wat Gefingerpoken, de .MAC bestandjes, met daarin de machinegegevens moeten in E++ gemaakt kunnen worden, door gewoon FolderBrowserDialogen te gebruiken om de Mappen met Iconen en Dialoogplaatjes te kiezen.Het pad van die mappen wordt dan weggeschreven in de .MAC (MachineFile), zodat ik ze er bij een volgende keer starten van E++ uit kan peuteren.. en dat doe ik dan in de achtergrond in het Selectievenstertje, de gekozen machine verwijst naar een MACFile, en die wordt dan uitgelezen om alle paden in E++ in Variabelen te zetten, en deze te gebruiken om het pad naar de plaatjes aan te wijzen..

We komen er wel.. niet heel snel, maar 't is een boel werk.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

'k ben ook maar een beginneling.. maar!
in eerste instantie "las" ik de INI bestanden op "index" , maar ik maak mijn INI bestanden nu volgens het "ini Formaat" dus een "Key" met daaronder de betreffende variabele..
DUS:

Code: Selecteer alles

[Machine]
EMCOturn 120
[CycleFile]
C:\CNC4.03\cycle.epp
[ToolBox]
C:\CNC4.03_62\emco5cnc.ini
[E++ Dialogs]
C:\C# Projects\E++\V2.1\bin\Debug\dlg.txt
[E++ DialogPictures]
C:\C# Projects\E++\V2.1\bin\Debug\DialogPictures
[E++ icons]
C:\C# Projects\E++\V2.1\bin\Debug\Icons\EMCOturn120
[LastFile]
C:\CNC4.03\E++Dialogtest.nc
[Toolname]
1
Op die manier.. Nu, in plaats van "Index 1" eruit te peuteren om de machinenaam te vinden, Ga ik nu zoeken naar "[Machine]" en dan Index+1 binnenhalen.. op die manier maakt het niet uit waar wat staat.. Dus, kan ik in de toekomst nog allerhande zaken toevoegen en de volgorde maakt geen bal meer uit..
Dat maakt het wijzigen van de INI door E++ ook makkelijker.. als ik nu afsluit, vraag ik de huidig geopende Filename op, en zet die weg door te zoeken naar de sleutel "[LastFile]" en dan de volgende Regel te vervangen door het pad van de huidige File..

Wel fijn dat het nu zo werkt, want dat betekent ook dat ik de CustomCode Files gewoon kan toevoegen waar ik dat wil, en dat moet er ook nog in..want.. CustomCode stelt je in staat om middels een Functietoets een "Snippertje Code" in je programma in te voegen, te denken valt aan "G00 of G01" of een "Lege Subroutine" middels "SUB [ENTER] ENDSUB" , 't enige wat je dan nog moet doen is pijltje omhoog, en de Naam van de Sub intypselen, Enter Heien, en je Sub gaan schrijven..
Heb je een logootje wat je graaf overal in graveert?.. Geen probleem.. je kunt de hele Code daarvoor ook in een "Custom Code Toets" zetten..of.. je slaat dat op als apart bestandje, en voegt em in met "insert File"
Ook heb ik het al voor elkaar dat je een programma kan schrijven, met daarin een Subroutine die je vaker wilt gebruiken, die Selecteerje, en dan Sla je dat op met "Save Clip"

Nu ik zo bezig ben met het lezen van Allerlei bestanden, en ze daarna te gebruiken in E++ gaat dat me ook steeds beter af.. zeker nu ik in de INI zoek naar een bepaalde "Sleutel" en dan de waarde eronder of 2 regels eronder eruit pik..

Code: Selecteer alles

[Dialog 1]
DLGMSG"FACING-TURNING" "X"1001 "Z"1003 "FEED"4001 "DOC"4002 "DIRECTION"3999
#3999=1
[Dialog 2]
DLGMSG "CHAMFER" "X1" 1001 "Z1" 1003 "X2" 1011 "Z2" 1013 "FEED" 4001 "DOC" 4002 "DIRECTION" 3999
#3999=2
[Dialog 3]
DLGMSG "FILLET" "X1" 1001 "Z1" 1003 "X2" 1011 "Z2" 1013 "RADIUS" 4003 "CONCAVE / CONVEX 0/1" 1201 "FEED" 4001 "DOC" 4002 "DIRECTION" 3999
#3999=3
Zo is nu ook het Dialoogbestandje vormgegeven.. druk je in het Dialoogmenu op F2, dan zoekt E++ naar "[Dialog 1]" (want F1 is terug naar Hoofdmenu, en F12 is vooruit naar de volgende Menubalk met Dialogen), zo heb je 20 Dialogen die je er zo in kan zetten.. en in de toekomst kan ik dat nog uitbreiden..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Afbeelding

Zo.. weer wat verder.. Inmiddels Lees ik de E++.ini file bij het opstarten meteen al, zodat je een keuzescherm krijgt om een bepaalde machine te kiezen..
Maar nu, ik werk aan de Setup tab van E++, komen daar ook alle gegevens uit het machinebestandje (*.mac).
En.. omdat ik me daar meer en meer vertrouwd mee voel, heb ik de gegevens weer in een DataGridview gezet.
deze DataGridview is "Read Only" zodat een gebruiker er niet in kan gaan zitten Knopselen.. maar!.. zodra je (tot nu toe) met de muis op een Regel klikt, dan moet gewoon het FileBrowser-venstertje openen, zodat je daarmee naar de gewenste File, of Folder kan zoeken, klik je dan op Ok, dan zet ie het gekozen pad in de Tabel, en als je de Setup verlaat, moet ie de boel opslaan..

't lijkt een hoop instellingen. maar dat klopt ook.. vergeleken met versie 1.0 komt er nog al wat bij:
Dialogen: deze zitten nu in E++, in een bestand, dus in het machinebestand..je schrijft ze net als in EdingCNC.. dus heb je al dialogen gemaakt, kun je ze zo kopiëren..
Dialoogplaatjes.. die horen er natuurlijk ook bij.. zijn de Dialogen gekopiëerd uit de EdingCNC macro, dan kun je ook gewoon die map gebruiken.. anders moet je even een nieuw mapje maken.. waar?.. maakt eigenlijk niet uit.. als je het maar in de .mac file zet
Toolbox, spreekt eigenlijk voor zich.. het bestand met de Gereedschapsgegevens.. in EdingCNC v4 staan die gegevens nog in de CNC.ini, in V5 in de Tool .ini..
Icoontjes.. de afbeeldingen op de knoppen..Die kun je ook opslaan waar je wilt, als je ze maar opslaat in .mac
de CycleFile heb je nodig als je met dialogen IN EdingCNC werkt.. want dat blijft zo werken, naast de "ingefrituurde Dialogen", en ook om vanuit EdingCNC terug te gaan naar E++
CustomCode.. Da's een nieuwe.. gewoon een mapje met 13 Textbestandjes, met daarin een regel code die je vaker wilt gebruiken, en met 1 druk op de knop in wilt voegen..je kunt daar ook een "Header" inzetten.. dus alle standaard startCodes zoals G21, G90, G54, maar je kunt daar ook een complete lege Subroutine in zetten. (zoals LBL SET bij Heidenhain), maar ook IF/ENDIF of WHILE/ENDWHILE, je hebt er straks 13.. even een icoontje erbij maken.CustomCode voor die knop in het juiste bestandje mikken.. en gaan..
Toolname tenslotte.. is ie nul dan komt er na het kiezen van een tool uit de tabel geen omschrijving achter..is ie één.. dan zet ie er wel de omschrijving bij.. vond ik wel een lollige toevoeging.

Nu dus nog een paar File- en Folderbrowsers programmeren.. en dan een stukje Code Knopselen om de boel netjes op de juiste plek te zetten..
dat doe ik met een Listbox waar de .mac file ook in geladen wordt, maar daarin kan ik makkelijk zoeken, immers als ik op een regel in de tabel klik, dan toont ie nu nog de waarde van de 2e Kolom, de eerste kolom heeft de "sleutel" dus zoek ik naar die sleutel in de ListBox, en haal de volgende regel eruit, om em te vervangen door het nieuwe gekozen pad naar de file of de Folder.
Dat is wel iets meer programmeerwerk dan gewoon die waarde staat op die regel, maar als ik in de toekomst nog dingen toe ga voegen, hoef ik alleen maar die zoeksleutel toe te voegen aan de routine om het bestand aan te passen..en dan mep ik bij het verlaten van de Setup Tab gewoon die hele Listbox in die .mac file... "eitje"

Waarom ben ik nou zo blij met die DataGridview?.. nou.. het vullen, en gegevens eruit peuteren is redelijk simpel (alleen een Listbox is makkelijker want dat is eigenlijk gewoon één kolom met gegevens), en.. als je em NIET ReadOnly zet, dan is het voor het invullen van een Dialoog veel makkelijker te schrijven dan wat EdingCNC nu heeft.. want dat zijn allemaal losse text labels en TextBoxen..zelfs de Tooltabel van EdingCNC bestaat uit een paar honderd losse TextBoxen, en niet gewoon één simpele DataGridview.. qua uiterlijk maakt het op het eerste gezicht weinig verschil, maar een DataGridview kun je met de Cursortoetsen en Enter gewoon lekker doorheen bladeren..Daarom ben ik zo blij met DataGridviews.. en eerlijk?.. ik snap werkelijk niet waarom men bij EdingCNC niet meer gebruikmaakt van deze optie..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Oh wat ben ik toch Blij met DataGridViews..

24966

Ik heb een Kolom toegevoegd, de "Verplichte" velden zijn nu gemarkeerd met een !
Als je voor het eerst E++ opstart, dan toont het een Lege tabel, je moet dan de namen, paden en mappen opgeven.. hoe?.. gewoon → drukken, en dan verschijnt er een Dialoogje.
Je kunt er ook met de Muis op klikken natuurlijk.

Vorige week ben ik overnieuw begonnen, nu eerst met de Setup, eigenlijk gewoon de volgorde aangehouden die je normaliter ook volgt bij het opstarten..

Dus!.. start je voor het allereerst op, dan krijg je de Setup Pagina, met een lege tabel die je in moet vullen, Heb je dat gedaan, dan kun je de Setup Verlaten (F12), en het "mac bestand" wordt opgeslagen, en meteen in de INI gezet.

Bij de volgende keer opstarten (je hebt 1 "profiel" aangemaakt, opent E++ meteen met de Editor.
wil je dan dingen toevoegen aan je profiel (omdat je de eerste keer alleen de Verplichte velden hebt ingevuld) dan kun je naar Setup Gaan (F1, F1, F11)
zo kun je dan de map met CustomCodes toevoegen, dit is een map met 13 Textbestandjes (Custom1.txt t/m Custom13.txt) waar je "Custom Code" in kan zetten.. denk bijvoorbeeld aan de standaard reeks codes die je bij het begin van een bestand invult (G90 G21 G54), die zet je in een bestandje, bijvoorbeeld Custom1.txt, en dat bestandje is dan gekoppeld aan F3 in de eerste menuBalk, F3-F7 zijn CustomCodes in menubalk 1, en F2 t/m F8 in MenuBalk 2..

Wil je hele stukken van een programma opslaan, zoals bijvoorbeeld een Subroutine met een Gatenpatroon, dan kun je dat als "Clip" opslaan als apart bestandje (menubalk 2 F11), in een volgend programma dat hetzelfde gatenpatroon gebruikt, kun je dan met Menubalk 2 F10 het bestand kiezen en invoegen..

Voor het Setupgedeelte moet ik nog wat "kleine dingetjes" in orde maken.. zoals het aanpassen van de E++Profiles.INI nadat je een wijziging gedaan hebt, het Kiezen van een ander profiel en het verwijderen van een profiel.
Ik moet het tenslotte niet hebben dat men in de INI-File gaat zitten Gefingerpoken..

Dan.. als dat klaar is, moet ik alleen nog "even" de SyntaxMarkering erin zetten, en de CodeFolder om code in te kunnen klappen, het deel om Code op te frissen, want als je een stuk Code erin plakt vanuit een andere toepassing, dan kan het gebeuren dat de Indentatie niet meer klopt,en dan moet dat even "opgeschudt" worden.
Verder FileSave, het overschakelen naar EdingCNC, het lezen van de CycleFile vanuit EdingCNC, en daarmee het "terugspringen" vanuit EdingCNC, om, als je een Dialoog in EdingCNC hebt gebruikt, die in te voegen in E++
Het lezen van dialogen uit het Dialoogbestand, met de daarbij behorende plaatjes, de Iconen op de knoppen moet ook nog, en dan hebben we het wel zo'n beetje.

ooit was er iemand die op CNCzone.Com opmerkte:
If you want familiar buy a pre-made machine.
Nou... Not exactly..
Ik antwoordde met "Of.. je gaat samenwerken met iemand die het kan maken zoals jij het wilt hebben"
Bert Eding dus..
Door de GUI van EdingCNC zo te maken dat je geen Muis nodig hebt, kun je ook een Compactere BesturingsConsole maken, zonder een uithangbord voor een muis.. een "Streeltegeltje" voldoet prima..
en sindsdien heb ik VisualBasic en C# geleerd, en schrijf ik nu mijn eigen software om de machine te programmeren.
Lijkt het op Heidenhain?.. JAZEKER!.. omdat dat een besturing was waar ik in een vloek en een zucht mee heb leren werken, en als ik het snap, dan kan iedereen het snappen.
En.. het betekent ook dat ik voor het schrijven van de Manual grote stukken uit de Heidenhain Manual kan kopiëren :lol:

Dus.. wat E++ Gaat worden is een "iSPE" een "integrated Shopfloor Programming Environment dat je in staat stelt, middels een goede EdingCNC macro, een paar plaatjes, een Dialoogbestand voor E++ (voor 20 Dialogen), je machine te programmeren alsof E++ een deel van EdingCNC is, met een Code die inderdaad sterk lijkt op Heidenhain, maar hoe simpel wil je het hebben?..

een bewerking zoals een rechthoekige kamer wordt een "Cyclusdefinitie" met de parameters voor die kamer, dan programeer je een beweging naar het startpunt, en voert daar de bewerking uit..
en dat oproepen van de laatst geprogrammeerde bewerking kan met een M-Functie; ik heb daar (afgekeken van Heidenhain) M99 voor gemaakt in EdignCNC, en die code in een CustomCode gezet, de bijbehorende knop in E++ toont "Cycle Call"

het leuke daarvan is dat je:

Code: Selecteer alles

Header(G90 G21 G40)
ToolCall
	Cyclus Centerboren
	Roep Subroutine Gatenpatroon
ToolCall
	CyclusGatboren
	Roep Subroutine Gatenpatroon
ToolCall
	Cyclus Rondkamer Frezen
	Roep Subroutine Gatenpatroon
verplaatsen naar veilige afstand
M2
Subroutine Gatenpatroon
	posities van alle gaten met M99
endsub
kan schrijven.. en om dat M99 de Laatst geprogrammeerde Cyclus uitvoert, gaat ie eerst Centeren, dan boren, en dan een Rondkamertje Frezen..
en zo heb je dus in een paar regels een programma dat een aantal gaten centert, boort en uitkamert voor de boutkopjes.
"even een programmaatje aan de machine induimen" wordt zo een makkie.. en laten we eerlijk zijn.. Tegenwoordig is alles CAM, maar moet dat nou echt?.. in elk geval heb ik het veel meegemaakt dat ik of een onderdeel moest aanpassen, of "on the fly" even iets maken waar nog niet eens een tekening voor was.. alleen een snelle schets..
Dat soort dingen klopte ik dan aan de machine in, maakte terwijl de machine stond te peddelen op een stuk staal even een nette schets, en bracht die naar de Tekenkamer, met de mededeling "Dit is voor Machine/Stempel zoveel, zet em even netjes op tekening en in het systeem.. Thanks!..

En die Functionaliteit wil ik beschikbaar maken voor iedereen!
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Arie Kabaalstra schreef: 11 sep 2023 15:47 Tegenwoordig is alles CAM, maar moet dat nou echt?
Ik ben pas begonnen met het CNC frezen. Dat is zoveel bewerkelijker en fout gevoeliger dan het CNC draaien. Het Teach-In systeem van de draaibank mis ik behoorlijk.
Voorlopig moet ik het doen met FreeCad, een Grbl controller en UGS. Misschien kan (een aangepaste) E++ ook werken met Grbl. UGS laad "automatisch" een aangepaste file. Daarmee is al een heel klein stukje van het probleem opgelost.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

hfjbuis schreef: 11 sep 2023 16:07
Arie Kabaalstra schreef: 11 sep 2023 15:47 Tegenwoordig is alles CAM, maar moet dat nou echt?
Ik ben pas begonnen met het CNC frezen. Dat is zoveel bewerkelijker en fout gevoeliger dan het CNC draaien. Het Teach-In systeem van de draaibank mis ik behoorlijk.
Voorlopig moet ik het doen met FreeCad, een Grbl controller en UGS. Misschien kan (een aangepaste) E++ ook werken met Grbl. UGS laad "automatisch" een aangepaste file. Daarmee is al een heel klein stukje van het probleem opgelost.
Wat er nodig is:
de CNC besturing moet middels een Functie een Bestandje kunnen wijzigen, teneinde E++ weer de Focus te geven, en naar de voorgrond te halen.
de CNC besturing moet de mogelijkheid hebben om Macro's te schrijven, en dus Parameters kunnen gebruiken.

E++ kan nu Dialogen weergeven en aan de hand daarvan de ingevulde parameters in het bestand zetten.
Hoe andere besturingen dan EdingCNC daarmee omgaan, dat zou ik uit moeten vlooien..
EdingCNC gebruikt #(nummer) voor de parameters, als dat bij andere besturingen ook zo werkt, dan zou je het kunnen gebruiken.. Ik zou dat moeten testen als ik de Applicatie zover klaar heb dat ik em voor EdingCNC kan releasen.

het "Teach In"gedeelte. dat is eigenlijk het sterke punt van E++ het IS teach in.. Immers, je maakt een bestandje met een bewerking, en die moet dan automagisch geladen worden in de besturing (en dat doet jouw besturing volgens jouw beschrijving) en dan is het niet meer dan Op de grote groene knop rossen en Koffie drinken
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Arie Kabaalstra schreef: 11 sep 2023 18:32 EdingCNC gebruikt #(nummer) voor de parameters, als dat bij andere besturingen ook zo werkt, dan zou je het kunnen gebruiken.
Grbl ondersteund geen parameters, geen macro's alleen een subset gcodes. Hoe het bij andere besturingen geregeld is, weet ik ook niet.

Het kan met een "tussen programma" dat Eding codes vertaalt naar Grbl codes. Dat is ook de manier waarop programma's van verschillende leveranciers met elkaar kunnen communiceren. Elk systeem (leverancier) dient de "Eding codes" te vertalen (in twee richtingen) naar codes die het systeem begrijpt. In de interface wordt vastgelegd wat en hoe er gecommuniceerd wordt.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Dan wordt het een lastig verhaal.. een besturing waar je geen parameters in kan gebruiken, daar kun je geen Cycli in schrijven..

Wat is een Subset G-Code?..

bij Heidenhain werkt het eigenlijk net zo als bij EdingCNC.. een Cycle Definition is niet meer of minder dan en "Doos" parameters met een bepaalde waarde, en een "identifier" die aangeeft aan de besturing welke Cyclus er bedoeld wordt:

Afbeelding

Zoals hier vanaf BLok 5 te zien is.. "Cycle Def 233.. Juist. Cyclus Identifier is 233, en dan krijgen we een hele reeks beginnend bij Parameter Q215 (parameters in Heidenhain Hebben een Q met een Nummer, waar EdingCNC een # heeft..de teksten erachter. allemaal met ;, dus opmerkingen waar de machine verder niets mee doet..


Bij E++ ziet zoiets er zo uit, met dien verstande dat het hier een Draaiprogramma betreft:

24967

maar.. zoek de overeenkomsten.. :lol:
Ja.. bij mijn Code staat er een ";ENDCYCLE" aan het eind van een CyclusDefinitie, om het opvouwen van de Code makkelijker te maken.. Ik ben nog zoekende naar een methode om dat automagisch te doen, zodra je naar beneden gaat met de Cursor dat ie dan als de volgende regel ":Cycle" bevat de boel open te klappen, en als je verder naar beneden gaat bij ";EndCycle" de boel weer in te klappen, en andersom, dus als je naar boven beweegt, en de Volgende regel bevat ";Cycle" dat ie dan ook de boel openklapt.. maar dat is voor Versie 3...

't komt hier op neer.. E++ is een Programmeerapplicatie om bewerkingen die in de besturing zitten te programmeren.. het slimme zit em erin dat E++ met zelf geschreven dialogen kan werken, en dat het de Tooltabel van EdingCNC leest, van die machine waar je op dat moment voor zit te programmeren, het Intelligente zit in EdingCNC, met de Macro met alle Code voor die bewerkingen.. en bij Heidenhain werkt het niet anders..

En Ohja, bij E++ staan de omschrijvingen van de Functie van een parameter tegenwoordig ook netjes onder elkaar..
Het Teruglezen van een Cyclus, dus de reeds geprogrammeerde Cyclus weer in een DIaloog Frommelen, daar moet ik ook nog "even" wat op verzinnen..
hfjbuis
Donateur
Berichten: 3094
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Arie Kabaalstra schreef: 11 sep 2023 23:56 Wat is een Subset G-Code?..
- alleen g54...g59
- alleen g43.1
- geen boor cyclus
- geen wachten op input signal
- etc
Arie Kabaalstra schreef: 11 sep 2023 23:56 Dan wordt het een lastig verhaal
Nee, een uitdaging :mrgreen:
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

hfjbuis schreef: 12 sep 2023 00:35
Arie Kabaalstra schreef: 11 sep 2023 23:56 Wat is een Subset G-Code?..
- alleen g54...g59
- alleen g43.1
- geen boor cyclus
- geen wachten op input signal
- etc
Arie Kabaalstra schreef: 11 sep 2023 23:56 Dan wordt het een lastig verhaal
Nee, een uitdaging :mrgreen:

'k heb er even een nachtje over geslapen, maar wat jij in dit geval nodig hebt is een programma dat alle Code dus omzet naar de meest basale G-Code die je maar kunt bedenken..

EdingCNC kan dat.. dat wil zeggen.. je kunt een Macro schrijven die in plaats van bewegingen naar de machine stuurt, de Code naar een bestandje stuurt.
Da's wel te verzinnen.

Je kunt dan gewoon de Dialogen in E++ zetten, EdingCNC gebruiken voor een Preview, en het genereren van de Code.
In wezen gebruik je EdingCNC dan als "Geautomatiseerd Cam systeem.. Immers, je maakt een leeg bestand, laadt dit in EdingCNC, en elke wijziging wordt automatisch zichtbaar.. en zodra je op Start heit.. dan spuugt ie de G-Code uit.. die je dan weer in je besturing Frommelt..

Ik denk zelf ook aan een dergelijke oplossing voor mijn EMCOturn 120, immers, dat is een oude besturing, die geen Grafische weergave kent, en ook niet met parameters kan werken.. Maar.. op die machine maak ik veel gebruik van de G84 Cyclus voor langs of Vlakdraaien..Voor EdingCNC heb ik M84 gemaakt.. die precies hetzelfde werkt.. en het is "At Runtime" makkelijk genoeg om een tegelijkertijd een bestandje eruit te rossen waarbij M84 wordt veranderd in G84
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13536
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Dat Setup gebeuren is wel een pittige klus.. van alles kanten kan er van alles veranderd worden... en dat moet je dan in goede banen leiden om ervoor te zorgen dat alles op de juiste plek wordt opgeslagen...

Maar!.. Ik heb nu en Setup Tabel waar je alle instellingen kan aanpassen.. en bij het verlaten van de Setup Pagina wordt alles netjes opgeslagen, en de wijzigingen doorgevoerd in E++

Nu ook toegevoegd, de knop om een ander profiel te kiezen, zodat je makkelijk van de ene naar de andere machine kan overschakelen.. alle variabelen worden gewijzigd, en dus ook de icoontjes op de knoppen krijgen meteen een nieuwe afbeelding..

Nu de rest nog..
Plaats reactie