cerco aiuto per software per cnc in visual basic

Sezione riservata ai sofware sviluppati in proprio
Rispondi
Avatar utente
niki77
Member
Member
Messaggi: 527
Iscritto il: martedì 27 marzo 2007, 13:42
Località: Tolentino(MC)

Messaggio da niki77 » venerdì 7 dicembre 2007, 9:46

Il fungo di emergenza per quanto sia importante non ha poi la necessità  di un intervento perfettamente sincronizzato, e non ha neanche bisogno di precisione assoluta visto che tanto è legato ad una reazione umana.
Basta che si fermi in un tempo lecito!! :D

Modificato:
Non avevo capito bene la tua situazione luca5 , per gestire il fungo indipendentemente da tutto il resto devi far necesariamente girare il codice di controllo su un thread separato , e gestire lo stop e l'emergenza nel thread principale.
In questo modo hai la possibilità  di bloccare e fermare l'esecuzione in qualsiasi momento senza dover necessariaemente attendere il termine di un iterazione.
Salut.
Meglio non dire una cosa che dirne una sbagliata!

luca5
Newbie
Newbie
Messaggi: 23
Iscritto il: mercoledì 27 giugno 2007, 11:48

Messaggio da luca5 » sabato 8 dicembre 2007, 18:56

Ciao ragazzi, vi faccio vedere cosa ho fatto fino ad ora:
.....
non so come i inseiscono e immagini, così ho allegato un file

Per lo stop, non ho usato un fungo esterno, ma un pulsante sul form. Niki77 puoi spiegarti meglio? Ho fatto diverse prove, ma non riesco a bloccare i cicli in altro modo se non con i doevents.



Ciao ... ti ridotto un po la foto in modo da non portare la pagina fuori dallo schermo ... :D ...Velleca
... (il regolamento sugerisce 540 larghezza - 800 altezza) ...
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
Ciao Luca

turbina

Messaggio da turbina » domenica 9 dicembre 2007, 11:24

vedo che non ti sei limitato al controller ma anche il cad-cam....ambizioso 8)

luca5
Newbie
Newbie
Messaggi: 23
Iscritto il: mercoledì 27 giugno 2007, 11:48

Messaggio da luca5 » domenica 9 dicembre 2007, 12:59

la struttura è molto semplice e l'estetica lascia molto a desiderare, però tranne qualche piccolo incoveniente funziona tutto.
Ovviamente i disegni realizzabili a mano non sono un granchè, ma da la possibilità  di inserire un programmino g-code (per ora solo g00-01-02-03) da file.txt. Aspetto ogni vostro giudizio per poterlo migliorare.
Ciao Luca

Avatar utente
niki77
Member
Member
Messaggi: 527
Iscritto il: martedì 27 marzo 2007, 13:42
Località: Tolentino(MC)

Messaggio da niki77 » domenica 9 dicembre 2007, 16:34

luca5 ha scritto: Per lo stop, non ho usato un fungo esterno, ma un pulsante sul form. Niki77 puoi spiegarti meglio? Ho fatto diverse prove, ma non riesco a bloccare i cicli in altro modo se non con i doevents.
E' indifferente che sia un pulsante estrerno o un bottone della form.
Se il risultato che ottieni con i doevents ti è soddisfacente puoi anche lasciarlo così.
Se Intendi lavorare con thread separati bisogna un attimo vedere come è fatto il codice.
Hai fatto una classe per gestire i motori o hai fatto semplici metodi e funzioni sul form?
Fammi sapere se vuoi approfondire che ti posso dare indicazioni su come operare.
Saluti.
Meglio non dire una cosa che dirne una sbagliata!

luca5
Newbie
Newbie
Messaggi: 23
Iscritto il: mercoledì 27 giugno 2007, 11:48

Messaggio da luca5 » domenica 9 dicembre 2007, 17:58

ho usato le classi per definire linee, cerchi, archi e rettangoli e le g0x sono routine delle relative classi. Lo stop non fa altro che settare una variabile "donoting=true" che viene controllata ogni inizio ciclo delle g0x. Forse devo solo riabilitare il pulsante STOP durante i cicli?
Ciao Luca

Avatar utente
niki77
Member
Member
Messaggi: 527
Iscritto il: martedì 27 marzo 2007, 13:42
Località: Tolentino(MC)

Messaggio da niki77 » lunedì 10 dicembre 2007, 0:30

Tralasciando ogni osservazione all'architettura che non può essere valutata se non dopo averla vista e analizzata attentamente, da quello che ho capito controlli quella variabile ad ogni passaggio per g0x di una delle rispettive classi,in questo caso ovviamente non riusciresti in tutti i casi ad arrestare la macchina prima della fine del ciclo.
Per ovviare a questo problema dovresti suddividere il lavoro in 2 layer differenti,uno di calcolo,che può essere rappresentato da quelle classi che usi al momento per linee archi e rettangoli, e l'altro layer invece si occupa solo di comunicare con la porta ,e in questo layer ,che potrebbe essere una semplice classe, e definire all'interno di quest'ultima dei metodi primitivi che non richiedono logica di livello superiore(spindle on-off,e-stop etc etc).
Se invece questo lavoro ti sembra eccessivo per quello che devi fare, puoi limitarti a far girare le tue classi su un thread diverso da quello della form e rendere disponibile(nelle classi linee archi e rettangoli)un metodo adibito allo stop, per poterlo poi richiamare dalla form principale quando necessario.
Meglio non dire una cosa che dirne una sbagliata!

luca5
Newbie
Newbie
Messaggi: 23
Iscritto il: mercoledì 27 giugno 2007, 11:48

Messaggio da luca5 » lunedì 10 dicembre 2007, 8:37

Grazie niki77, ora provo e poi ti faccio sapere. :D
Ciao Luca

Avatar utente
johtheblack
Junior
Junior
Messaggi: 108
Iscritto il: giovedì 22 marzo 2007, 19:41
Località: Germania

Messaggio da johtheblack » domenica 2 marzo 2008, 22:45

Ciao Luca5 ... a che punto sei col software ?
possiamo provarlo anche noi ? :wink:

Un saluto Cordiale :D
Security is not Safety !!!

Rispondi

Torna a “Home Made”