EdingCncapi Netframework

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

Moderator: Moderators

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

EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Voor de programmeurs onder ons 8)

https://www.oosterhof-design.com/cncapi-netframework/

Deze meneer heeft een API gebouwd waarmee je met de CNCServer van EdingCNC kan verbinden, en vanuit je zelfgeschreven applicatie EdingCNC dingen kan laten doen..

Dus.. kun je in C# programmeren, dan kun je je eigen GUI bouwen.
Ik ben nog maar een beginneling in C#, eigenlijk pas vandaag mijn eerste regels code in C# geschreven, maar programmeren is programmeren.. zolang je in C# maar let op de accolades en puntkomma's. :lol:
'k heb in elk geval van de Consoleapplicatie die er als voorbeeldje in zit een FormsApplicatie kunnen maken, met een knop die een UserSub start, een text box waar je een waarde in kan geven, en na een druk op een knop wordt die waarde naar een parameter weggeschreven, en wordt in EdingCNC de waarde met een MSG weergegeven, Frommel je een tekst in de textbox, dan wordt de parameter niet gewijzigd, en geeft EdingCNC de melding "not an integer"

Wat ik daarmee kan?.. nog niet heel veel, maar.. ik moet nog even uitvlooien hoe ik dat progje vanuit EdingCNC kan focussen, en aan de hand van een bepaalde parameter (bijvoorbeeld mijn Cycle Identifier #1100) een bepaald Form kan tonen uit de applicatie, en daarmee een Dialoog tonen die wat meer opties kent dan wat EdingCNC me momenteel toestaat.

Te denken valt hierbij aan plaatjes die veranderen aan de hand van waarden die je ingeeft.. begin je met het programmeren van een vlakdraaicyclus, en je geeft de einddiameter groter in dan de startdiameter, dan is het inwendig draaien, ik kan dan een aangepast plaatje tonen.

'k ben nog lang niet uitgespeeld..
keesfrees
Berichten: 3112
Lid geworden op: 08 jan 2008 20:25
Locatie: Grönnen

Re: EdingCncapi Netframework

Bericht door keesfrees »

Interessant.

Die site :
https://www.oosterhof-design.com/cncapi-netframework/
Ben ik ook al eens tegengekomen en is op dit forum al eerder door iemand (!) aangehaald :
https://cnczone.nl/viewtopic.php?p=222544#p222544

Ik lees graag mee over alles op het gebied van Edingcnc.
Het draait hier naast een andere besturing op een koop machine, als reserve, ik wil graag over op E-cnc maar ik mis een paar (voor mij) cruciale functies tov. het oude besturingssysteem :
  • Bestandskeuze op de pendant.
  • Logboek van alles wat er gebeurt op de machine.
Dit heb ik al vaker naar voren gebracht hier, het logboek zou moeten kunnen, we hebben het daar al vaker over gehad maar ik kom/kwam er niet verder mee maar dat is al weer een tijd terug dat ik daar mee bezig was. De oude besturing van eind vorig millennium doet het nog steeds, cq was zo zo slecht nog niet, cq was z'n tijd vooruit (blijkbaar).

Ik heb onlangs nog wat ideeën/gedachten naar E-cnc gestuurd, wat was dat ook al weer ? Ik kreeg er na een tijdje wel een positieve reactie op, maar daar heb ik nog weer niet op gereageerd.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Ik lees graag mee over alles op het gebied van Edingcnc.
Het draait hier naast een andere besturing op een koop machine, als reserve, ik wil graag over op E-cnc maar ik mis een paar (voor mij) cruciale functies tov. het oude besturingssysteem :
Bestandskeuze op de pendant.
Logboek van alles wat er gebeurt op de machine.
"bestandskeuze op de Pendant?.. Waarom geen Barcode scanner?.., als je een beetje handig bent.. bouw je de Scanner IN je Pendant..
en.. Logboek... Ik weet dat er al van alles gelogd wordt, maar ik vraag me dan ook weer af.. waarom wil je dat weten?..
ik Denk dat je meer een Log van alle Jobs wil hebben?.. , dat moet volgens mij nog niet eens heel moeilijk zijn..
Dat zou feitelijk neerkomen op een Applicatie die naast EdingCNC opstart, en die gewoon "over de schouders meekijkt, en bij elke nieuwe geladen Job en/of bij elke Start Job, de FIlenaam naar een bestandje wegschrijft, met een Timestamp erbij.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Ik heb net even gekeken, EdingCNC houdt zelf al Logs bij, 't is alleen dat daar ALLES wat de besturing doet in weggeschreven wordt..

als je in de CNCLOG.TXT files zoekt op "load Job" krijg je een overzicht van alle geladen Jobs.
met een paar macrootjes in een Text Editor zijn die Entries er wel uit te tillen..
keesfrees
Berichten: 3112
Lid geworden op: 08 jan 2008 20:25
Locatie: Grönnen

Re: EdingCncapi Netframework

Bericht door keesfrees »

Ja, da's waar ook, daar had ik ook al eens zitten kijken, dat is later toegevoegd.
Het was me even te buiten geschoten, dat komt er van als je/ik het te lang laat liggen.

En wbt die bestandskeuze, ik had al bedacht om (toch) een PC bediening in het stofhok te zetten, alleen toetsenbord / muis, beeld via een projector ?
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

keesfrees schreef: 10 feb 2021 14:19
En wbt die bestandskeuze, ik had al bedacht om (toch) een PC bediening in het stofhok te zetten, alleen toetsenbord / muis, beeld via een projector ?
Heb je een Tablet?.. Ik heb een programmaatje genaamd "Spacedesk" waarmee je je Tablet als extra scherm aan je PC kan koppelen.. draadloos.

In Windows "Clone" je het scherm naar je Tablet, zodat ze hetzelfde weergeven, en dan kun je EdingCNC vanaf je Tablet bedienen, helemaal vlekkeloos is het niet, Joggen via het Jogpad raad ik je af, maar een bestand openen, da's geen enkel probleem.
Gebruikersavatar
DaBit
Donateur
Berichten: 11032
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: EdingCncapi Netframework

Bericht door DaBit »

Ik heb een of ander Ali vloeistofdicht toetsenbord/trackpad combinatieding bij de draaibank liggen. Meer dan 3 letters wil je er niet op tikken want daar is-ie te oncomfortabel voor , maar tot nu toe houd-ie het vol met de lading spanen, snijolie, leibaanolie en koelmelk die er toch regelmatig overheen vliegen. Vooral met messing moet ik 'm ooit uitgraven.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Ik denk dat je ook wel een schermpje bij/in je pendant wilt hebben als je programma's wilt laden als je in de machine staat.. wat ik begrijp is dat de machine waar het hier om gaat nogal groot is, en dat de besturingsconsole buiten de machineruimte staat..

Beetje vergelijkbaar met de machine die ik ooit bij DamenCNC bouwde, die stond in een ruimte, dus een omkasting had ie niet nodig.. je liep gewoon door de vinyl flappendeur naar buiten.. voor het beladen reed je gewoon een pallet materiaal naar binnen.
als je een draadloos klavier hebt, zou ik zeggen.. maak er een houder aan waar je een tablet in kan klikken. dan neem je de hele besturing mee de machine in.. :)
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Ik ben echt nog maar een beginner in C#, maar ik begin er al aardig aan te wennen.
Eigenlijk verschilt het niet heel veel met programmeren in VB.Net, maar de Syntaxis is anders.. maar veel dingen lijken, of zijn bijna hetzelfde.. 't voelt voor mij alsof ik de grens over ga naar 't oosten.. daar spreken ze Duits, maar voor mijn gevoel, verschilt dat niet heel veel met Nederlands, ik ben alleen wat beter in Nederlands 😂

Wat ik net heb uitgevlooid is het volgende, Iemand bracht een poosje geleden "AutoIt" al onder de aandacht.. da's een scripttooltje waarmee je bijvoorbeeld andere applicaties kan activeren.
Nou.. da's leuk.. want.. als ik een UserSub start, dan is het enige wat ik nog moet doen, een bepaalde parameter "Setten", en mijn Dialogenapplicatie "Wakker schudden"
Zodra dat gebeurt, gaat die applicatie kijken wat de waarde is van #1100 in EdingCNC (dit kan omdat ie via de EdingCncapi verbinding heeft met de CNCServer)
en dan doet ie dit:

Code: Selecteer alles

private void Form1_Activated(object sender, EventArgs e)
        {
            Double Cycle = G_VariableAccess.GetVariable(1100);
            if (Cycle == 1)
            {
                label1.Text = "Facing";
            }
            if (Cycle == 2)
            {
                label1.Text = "Turning";
            }
            if (Cycle == 3)
            {
                label1.Text = "Fillet";
            }
            if (Cycle == 4)
            {
                label1.Text = "Chamfer";
            }
             if (Cycle == 5)
            {
                    label1.Text = "Grooving";
            }
        }
Voor wie kan programmeren is dit helder als glas, voor diegenen die C# niet machtig zijn:
Zodra de Applicatie (en daarmee Form1 (mijn venster) geactiveerd wordt, kijkt ie met "G_VariableAccess.GetVariable(1100)" wat de waarde is van #1100, en kent die toe aan de "Double" variabele "Cycle".. met een rijtje If's kijkt ie naar de waarde, en geeft aan de hand daarvan met Label 1 de tekst van het venster.
't zou met een CASE statement ook wel gaan.. maar zover ben ik nog niet.. 'k ben allang blij dat ik met 2 dagen ervaring in C#, zonder enige vorm van scholing al zover ben..
benkr
Donateur
Berichten: 7774
Lid geworden op: 16 jun 2012 16:32
Locatie: Valkenswaard

Re: EdingCncapi Netframework

Bericht door benkr »

DaBit schreef: 10 feb 2021 14:53 Ik heb een of ander Ali vloeistofdicht toetsenbord/trackpad combinatieding bij de draaibank liggen. Meer dan 3 letters wil je er niet op tikken want daar is-ie te oncomfortabel voor , maar tot nu toe houd-ie het vol met de lading spanen, snijolie, leibaanolie en koelmelk die er toch regelmatig overheen vliegen. Vooral met messing moet ik 'm ooit uitgraven.
Ik heb naast mijn BF25 een normaal keyboard en muis staan, soms is het keyboard flink bedekt met spanen maar even afkloppen en afzuigen zorgt er voor dat het ding nog steeds goed werkt.
Jantje2k
Berichten: 173
Lid geworden op: 15 aug 2020 17:28
Locatie: Hardinxveld-Giessendam

Re: EdingCncapi Netframework

Bericht door Jantje2k »

Arie Kabaalstra schreef: 10 feb 2021 18:46 Ik ben echt nog maar een beginner in C#, maar ik begin er al aardig aan te wennen.
Eigenlijk verschilt het niet heel veel met programmeren in VB.Net, maar de Syntaxis is anders.. maar veel dingen lijken, of zijn bijna hetzelfde.. 't voelt voor mij alsof ik de grens over ga naar 't oosten.. daar spreken ze Duits, maar voor mijn gevoel, verschilt dat niet heel veel met Nederlands, ik ben alleen wat beter in Nederlands 😂

Wat ik net heb uitgevlooid is het volgende, Iemand bracht een poosje geleden "AutoIt" al onder de aandacht.. da's een scripttooltje waarmee je bijvoorbeeld andere applicaties kan activeren.
Nou.. da's leuk.. want.. als ik een UserSub start, dan is het enige wat ik nog moet doen, een bepaalde parameter "Setten", en mijn Dialogenapplicatie "Wakker schudden"
Zodra dat gebeurt, gaat die applicatie kijken wat de waarde is van #1100 in EdingCNC (dit kan omdat ie via de EdingCncapi verbinding heeft met de CNCServer)
en dan doet ie dit:

Code: Selecteer alles

private void Form1_Activated(object sender, EventArgs e)
        {
            Double Cycle = G_VariableAccess.GetVariable(1100);
            if (Cycle == 1)
            {
                label1.Text = "Facing";
            }
            if (Cycle == 2)
            {
                label1.Text = "Turning";
            }
            if (Cycle == 3)
            {
                label1.Text = "Fillet";
            }
            if (Cycle == 4)
            {
                label1.Text = "Chamfer";
            }
             if (Cycle == 5)
            {
                    label1.Text = "Grooving";
            }
        }
Voor wie kan programmeren is dit helder als glas, voor diegenen die C# niet machtig zijn:
Zodra de Applicatie (en daarmee Form1 (mijn venster) geactiveerd wordt, kijkt ie met "G_VariableAccess.GetVariable(1100)" wat de waarde is van #1100, en kent die toe aan de "Double" variabele "Cycle".. met een rijtje If's kijkt ie naar de waarde, en geeft aan de hand daarvan met Label 1 de tekst van het venster.
't zou met een CASE statement ook wel gaan.. maar zover ben ik nog niet.. 'k ben allang blij dat ik met 2 dagen ervaring in C#, zonder enige vorm van scholing al zover ben..
Ja, ik weet dat we hier niet op een programmeerforum zitten, maar ik heb informatica gestudeerd, dus ik wil toch iets zeggen over dit stukje code :lol:

Je zegt dat je nog niet zo ver bent dat je switch en case kunt gebruiken, maar meerdere van deze if statements achter elkaar is wat minder efficiënt. Als Cycle 3 is kan die geen 4 of 5 zijn, maar er wordt nu wel alsnog gecheckt of Cycle 4 of 5 zijn. Als je gebruik maakt van

Code: Selecteer alles

else if(Cycle == 3){
	... voer code uit
}
wordt de beslisboom afgebroken zodra er een voorwaarde true was. Zodra Cycle dus bij 2 de tekst op Turning is gezet hoeft in dat geval dus niet meer de rest van de code te worden afgelopen om te zien of Cycle misschien 3, 4 of 5 was. Dat gebeurt nu wel. ;-)
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EdingCncapi Netframework

Bericht door Arie Kabaalstra »

Klopt, maar EdingCNC heeft ook geen Case.. dus moet het daar met een reeks if's gedaan worden.. en als het werkt, dan werkt het.

Als ik dan ook Edsger Wiebe Dijkstra mag citeren:
Edsger.W.Dijkstra schreef:The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
Niet dat een CASE-statement een "Clever trick" is, of misschien juist wel, maar dan bedacht door mensen met een "wat grotere schedel" dan de mijne.. Maar ik moet dus gewoon "even uitzoeken" hoe je een Case Statement in C# gebruikt, in VB.Net heb ik het wel gebruikt, met name in de Menustructuur van mijn Programmeerapplicatie voor de Beagle..

en.. "please be gentle".. want:
Edsger.W.Dijkstra schreef:It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
.

"k ben nog aan het "revalideren" ok?..Vroeger heel veel geschreven in Commodore Basic 2.0, 3.5 en 7.0, en Quickbasic.. dat is nog niet helemaal uit mijn systeem, VB.Net is eigenlijk al geen Basic meer, omdat je daar wel gestructureerd MOET werken.. zomaar in het wilde weg code kloppen ging wel op die Commodoortjes, maar met VB gaat je dat niet meer lukken
Gebruikersavatar
hilberth
Berichten: 264
Lid geworden op: 08 sep 2010 09:40
Locatie: Omgeving Amsterdam
Contacteer:

Re: EdingCncapi Netframework

Bericht door hilberth »

Arie Kabaalstra schreef: 10 feb 2021 19:53 Klopt, maar EdingCNC heeft ook geen Case.. dus moet het daar met een reeks if's gedaan worden.. en als het werkt, dan werkt het.

Als ik dan ook Edsger Wiebe Dijkstra mag citeren:
Edsger.W.Dijkstra schreef:The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
Niet dat een CASE-statement een "Clever trick" is, of misschien juist wel, maar dan bedacht door mensen met een "wat grotere schedel" dan de mijne.. Maar ik moet dus gewoon "even uitzoeken" hoe je een Case Statement in C# gebruikt, in VB.Net heb ik het wel gebruikt, met name in de Menustructuur van mijn Programmeerapplicatie voor de Beagle..

en.. "please be gentle".. want:
Edsger.W.Dijkstra schreef:It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
.

"k ben nog aan het "revalideren" ok?..Vroeger heel veel geschreven in Commodore Basic 2.0, 3.5 en 7.0, en Quickbasic.. dat is nog niet helemaal uit mijn systeem, VB.Net is eigenlijk al geen Basic meer, omdat je daar wel gestructureerd MOET werken.. zomaar in het wilde weg code kloppen ging wel op die Commodoortjes, maar met VB gaat je dat niet meer lukken
Als het werkt maar het is niet goed dan is het niet goed. Met dat soort code zou je bij mij op de afdelig het risico gelopen hebben de virtuele neus van een even virtuele veiligheidsschoen tussen je virtuele billen te krijgen, je kent dat wel. Virtueel kan ook pijn doen.

Een goeie plek om te revalideren zou hier kunnen zijn: https://www.programiz.com/csharp-progra ... -statement
Kan je nog veeeeeel meer vinden dan dit alleen.
Think it, draw it, make it.
Kjelt
Donateur
Berichten: 6308
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: EdingCncapi Netframework

Bericht door Kjelt »

Arie lees nog eens wat Jantje schrijft en pashet eens toe.
Als iemand hier G code post waarbij de eerste 50 regels materiaal weghaalt en de volgende 100 regels staat te luchtfrezen ben jij de eerste die met zijn vingertje staat te wijzen.

Nou je laat nu jeprocessor kostbare millisecondes luchtfrezen en het vingertje is terecht. ;-)
Plaats reactie