Interactie met EdingCnc

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

Moderator: Moderators

Plaats reactie
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Interactie met EdingCnc

Bericht door afc »

Een jaar verder. De oude freesmachine is omgebouwd naar cnc en er is een extra Z-as geplaatst voor hogere snelheden dan de originele Z-as. Nadat ik wat kleine onderdelen voor een half afgemaakte MINI stoomtractor gemaakt heb, ben ik aan het programmeren van een gcode generator begonnen. In eerste instantie heb ik dit via de eding macro taal gedaan(zoals in Shopfloor progammer wordt gedaan) maar dat is voor mij te moeilijk. Vooral het gebruik van nummers voor variabelen en de zeer beperkte dlgmsg voor het opvragen van parameters(userinterface in jargon). Ook het debuggen in deze omgeving vind ik behoorlijk lastig.
Inmiddels heb ik een set oplossingen voor bij mij veel voorkomende bewerkingen voorzien van meer uitgebreide user interfaces.
Nu mijn vraag:
dlgmsg heeft de mogelijkheid via ok/cancel de gebruiker runtime een vraag te stellen en parameter waarden terug te geven. Erg elegant is dit niet maar ik doe het er maar mee.

Voor het communiceren gebruik ik een externe dialoog die gestart wordt met de exec opdracht.
Hiermee kan ik dynamisch info aan de gebruiker van een gcode bestand doorgeven maar helaas mis ik dan de mogelijkheid om variabelen door te geven zoals dlgmsg dat doet. Alleen het binnen de opgegeven tijd sluiten van het programma wordt door edingcnc herkent en het bestand gcode bestand vervolgt zijn weg. Te laat het programma stoppen levert een error op . Wie weet of er in de diepere krochten van Edingcnc een mogelijkheid is om vanuit een extern programma, dat is gestart met de exec opdracht van edingcnc , parameter waarden door te geven aan EdingCnc waarop dan getest kan worden in het verdere verloop van een gcode bestand.
erikkate
Berichten: 60
Lid geworden op: 23 jan 2007 23:01

Re: Interactie met EdingCnc

Bericht door erikkate »

hoe ziet je externe dialoog eruit, heb je dat zelf geprogrammeerd of kun je het programma zelf aanpassen?
als je dat zelf geprogrammeerd hebt in bijv. visual studio dan kun je met de cncapi variabelen lezen en schrijven.

als je zelf niet in staat bent om je externe dialoog aan te passen qua software dan wordt dat al een stuk lastiger.
So many projects, so little time.
keesfrees
Berichten: 3110
Lid geworden op: 08 jan 2008 20:25
Locatie: Grönnen

Re: Interactie met EdingCnc

Bericht door keesfrees »

Hier ben ik me ook wel eens verdiept maar dan om een heel ander reden :

systeem tijd ed in macro gebruiken
viewtopic.php?f=39&t=9841

Ik ben er nooit verder meegekomen, maar misschien heb je er toch wat aan.

Ik stuur alles als Gcode naar de machine, ik noem de machine ook wel een printer, als uitleg hoe het cnc-proces in z'n werk gaat.
Laatst gewijzigd door keesfrees op 12 dec 2017 20:04, 1 keer totaal gewijzigd.
handig aanhalen (citeren, quoten) : https://cnczone.nl/viewtopic.php?f=37&t=12599
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Re: Interactie met EdingCnc

Bericht door afc »

Hallo Eric,
Het hele spul is inderdaad in ms visual studio(vb.net) geschreven.
Ik kan de api gebruiken maar ik hoopte dat iemand anders dit kunstje al eens had gedaan en bereid was de code te delen. Overigens is mijn code beschikbaar voor iedereen die er belangstelling voor heeft.
Bedankt voor je reactie,
groeten Anton
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Re: Interactie met EdingCnc

Bericht door afc »

Hallo Kees,
Ook ik gebruik de route om een Gcode bestand aan Edingcnc de door mijn toepassing gegenereerde gcode aan te bieden. Deze bestanden worden in een file structuur bewaard (samen met de parameters)zodat eerder gebruikte gcode opnieuw gegenereerd kan worden eventueel aangepast aan nieuwe eisen.
Dit is geen reclame voor deze software. Ik wil de broncode delen met iedereen die er belangstelling voor heeft echter zonder ondersteuning.
groeten,
anton
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Interactie met EdingCnc

Bericht door Arie Kabaalstra »

voor zover ik weet wordt de DOTNETAPI.DLL Niet meer ondersteund, mogelijk (als je C# kunt schrijven, kun je eens kijken naar de QT Developer GUI.. Daar kun je allerhande zaken zo in gooien.. zoals dat vroeger ook kon met de DOTNET API..

Ik heb eens een GUI gebouwd voor een machine die alleen met X en Y Coordinaten werkte ( een Ponsmachine ), de coordinaten kon je programmeren door een tabel uit Excel in de Gui te laden door em te kopiëren in Excel, en op een button te klikken in de GUI, wat ik daarmee deed in de achterliggende code was gewoon de inhoud van het klembord in een DatagridView gooien.. de besturing las dan regel voor regel af, en positioneerde de machine op die coordinaten..

Parameters kun je vanuit een eigen GUI ook zo "inschieten"..

een "Trucje" wat ik gebruik op mijn draaibank (ik moet de freesbankversie nog schrijven) is middels DLGMSG's mijn bewerkingen programmeren, en dan de Parameters wegschrijven naar een NC File middels LOGMSG, die file waar ik de data heen schrijf is een file die bij opstarten automatisch wordt geladen, en bij wizinging automatisch wordt Herladen.. , dan leest de besturing de actuele waarden van de parameters, en past ze meteen toe..

op die manier krijg ik namelijk meteen een preview van wat de machine gaat doen met de parameters die ik in de dialoog heb ingegeven..

Mijn Dialogen zijn losse subroutines die verder niets doen.. het uitvoerende gedeelte zit in mijn Macro, mijn NC programma bestaat alleen uit een reeks Parameters, en wat M-Codes.. er zit geen regel G-Code in..

als je met een extern bestand Parameters wilt doorgeven, dan zou je dat programma via de API moeten koppelen met de GUI van EdingCNC lijkt me.. ik zit daar ook wel eens over te piekeren.. maar ik kom er niet echt aan toe.. veel andere dingen te doen zeg maar.
Zee&Zee
Donateur
Berichten: 900
Lid geworden op: 07 mar 2012 11:24

Re: Interactie met EdingCnc

Bericht door Zee&Zee »

Minder piekeren Ari, kom je er nog eens aan toe :mrgreen:
Geintje bekend probleem als het geen hobby meer is maar werk, dan blijven veel wensen,wensen. Plan er tegenwoordig een middag in de maand voor in, is veel te weinig, maar dan hangt de luchthaspel eindelijk op de handige plek, zitten er handige ophangbeugels voor de toorts en slijpers op de lastafel etc etc. Maar to do is nog steeds veels te lang... mijn ik ben klaar met frezen sms service code hapert ook nog steeds halverwege
Anyways... backontopic ( en snel verder met werken :roll: )
CNC you later
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Interactie met EdingCnc

Bericht door Arie Kabaalstra »

't ellendige is.. als je met software bezig bent.. en je kijkt er alleen maar ééns in de maand naar.. dan weet je niet meer waar je gebleven bent.. Daarom ligt het bij mij stil.. soms.. frommel ik er nog een paar uurtjes tussen als ik een bestaande cyclus op de draaibank kan aanpassen/verbeteren, of als ik een nieuwe Cyclus nodig heb.. maar doorgaans worden die "on the fly" geschreven.. er moeten munten verdiend worden.. gevolg.. eigenlijk moet ik de hele Macro.CNC voor de draaibank weer eens onder handen gaan nemen.. hetgeen betekent : de hele mikmak opnieuw gaan schrijven.. Ok.. ik kan veel kopiëren.. maar er moeten nog zat dingen bij.. zoals kopse groeven steken, en afrondingen en afschuiningen aan de "achterkant" met een steekbeitel.. dit vanwege allerhande profielvormen die in horlogekasten met bijvoorbeeld een duikring zitten, of kleine onderdeeltjes die je "op zijn kop" moet draaien, vanwege nabewerkingen of nauwkeurigheid.. zoals naafjes voor wijzers.
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Re: Interactie met EdingCnc

Bericht door afc »

Hallo Arie,
Zelfs als je niet meer het dagelijkse brood moet verdienen is programmeren in horten en stoten lastig. Ik heb inmiddels Qt geladen en ik denk dat ik daarmee wel uit de voeten kan. Toch wat langer nagedacht en ik denk niet dat ik daarmee mijn probleempje oplos. Runtime twee interfaces gebruiken zal waarschijnlijk problemen kunnen geven. Je moet dan steeds omschakelen onder programma controle. De Edingcnc server zal dan in de problemen komen. Ik zou dan de volledige functionaliteit van de Eding interface in de "nieuwe" interface moeten opnemen en deze uitbreiden met wat ik al heb geprogrammeerd. Ik kan niet overzien of de api dit toelaat. Ik denk eigenlijk van niet. Dan maar behelpen met de "dlgmsg" mogelijkheid om tijdens een run met de user(dus mezelf) te praten. Wellicht kan in een nieuwe versie de functionaliteit van dlgmsg wat worden uitgebreid.
Bijvoorbeeld: een macro (met een probe actie) koppelen die runt als een knop op de "dlgmsg nieuwe stijl"" wordt geactiveerd terwijl de dialoog blijft staan en wacht op het einde van de macro en een volgende actie van de gebruiker(klaar/waarde van een parameter opgeven e.d.).
vriendelijke groeten,
Anton
Plaats reactie