Creazione software OPEN - cerco collaboratori -

Sezione riservata ai sofware sviluppati in proprio
Rispondi
Avatar utente
g_federico_g
Senior
Senior
Messaggi: 723
Iscritto il: mercoledì 31 ottobre 2007, 13:53
Località: Termoli

Creazione software OPEN - cerco collaboratori -

Messaggio da g_federico_g » giovedì 5 novembre 2015, 8:20

Avevo iniziato questo topic da un'altra parte ma ho pensato di evidenziare in qualche modo la cosa.
Sto realizzando, senza pretese e come sfida con me stesso, un piccolissimo software per il taglio/fresatura.
Ripeto, per chi non avesse capito, senza pretese !!! :)
Il software è OPEN e metto a disposizione il codice sorgente. Per eseguirlo, aprire il programma ed eseguire la macro (MenuPrincipale).

Il software è ancora BETA e per ora, legge il file FileCNC.tap nella cartella di esecuzione e lo visualizza a video. Il file al momento deve essere pulito da tutto quello che non è codice, ovvero commenti e simili. Piu' in la implementero' il controllo degli errori.

Cerco collaboratori che mi aiutino, per quanto possibile, in questo progettino.
Assegnero' compiti facili :)

Per chi volesse, puo' vedere il progetto (per ora molto BETA) e se vuole mi puo' aiutare implementando tutte quelle cose che per mancanza di tempo ancora non ho fatto.
oltre ai vari teste che sto eseguendo,prove,controlli ecc..ecc....

- Manca un FORM per la scelta dei FILE CNC da visualizzare
- Manca implemetare nel form dei settaggi già creato, tutto quello che rigurada i parametri delle velocità del file VelocitaMotori.txt, che pero' sto vedendo di implementare io.


Se qualcuno volesse darmi una mano, sarà il benvenuto.

Come base della mia idea, c'è il pensiero ricorrente ad EMC2 per LINUX. Li c'è una comunità che lavora ad un potente progetto open, mentre noi windowxiani, non abbiamo niente a disposizione, se non demo o programmi a pagamento.
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
Motoclub - www.roadeaters.it - Motoclub

Avatar utente
walgri
God
God
Messaggi: 4735
Iscritto il: giovedì 13 gennaio 2011, 18:37
Località: Cagliari

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da walgri » giovedì 5 novembre 2015, 9:58

Ciao,

se mi posso permettere un commento: avere una dipendenza così grossa, e soprattutto costosa e closed source come Excel, è un fenomenale deterrente alla collaborazione open.

Se proprio non mi volessi staccare dal Basic, troverei implementazioni alternative (chessò: FreeBasic) che siano altrettanto opensource, mi assicurerei poi che possano gestire le DLL e che ci si possa costruire un minimo di interfaccia grafica.

Il tuo è sicuramente un bel progetto di studio e apprendimento, sono sicuro che ti stai divertendo e ti divertirai moltissimo !
Go ! Go ! GO !
...stop chasing shadows, just enjoy the ride.
Aìna pantografoTelemetria per KFlopBlenderCAM STL + DXF

torn24
God
God
Messaggi: 5046
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da torn24 » giovedì 5 novembre 2015, 10:17

Mi è capitato di voler partecipare ad un progetto fatto da non professionisti, mi sono fatto l'opinione che da obbisti si può realizzare qualche piccolo progetto individualmente, ma per collaborare in più persone bisogna avere conoscenze professionali di sviluppo in team, anche un laureato in informatica deve imparare dopo la laurea, tramite esperienza, come lavorare in team.
Non sempre due teste sono meglio di una, immagina di guidare un automobile in collaborazione, tu usi volante e pedaliera e un altro il cambio, occorre esercitarsi per anni per ottenere lo stesso risultato di guida autonoma :wink: :D
CIAO A TUTTI !

Alex_live
God
God
Messaggi: 17068
Iscritto il: giovedì 30 luglio 2015, 12:06
Località: Milano

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da Alex_live » giovedì 5 novembre 2015, 12:54

Come già detto nell'altro forum con Excel hai pochissimi oggetti da utilizzare e senza un timer non saprei come controllare la velocità dei motori.
In form per la lettura dei file è facilissimo da fare con visual basic (puoi scorrere tutti i dischi alla ricerca del file con Excel devo controllare come poterlo fare.
Come suggerito sarebbe meglio uscire da Excel ed utilizzare un altro linguaggio.
Ad esempio visual basic.net versione base è gratuito per scopi non commerciali.

Avatar utente
walgri
God
God
Messaggi: 4735
Iscritto il: giovedì 13 gennaio 2011, 18:37
Località: Cagliari

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da walgri » giovedì 5 novembre 2015, 14:14

Alex, si può accedere in maniera affidabile (anche in relazione al timing) ai pin della parallela in un ambiente managed come .net ?

Edit: http://www.codeproject.com/Tips/441815/ ... Csharp-NET immagino si possa adattare a vb.net.
...stop chasing shadows, just enjoy the ride.
Aìna pantografoTelemetria per KFlopBlenderCAM STL + DXF

Alex_live
God
God
Messaggi: 17068
Iscritto il: giovedì 30 luglio 2015, 12:06
Località: Milano

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da Alex_live » giovedì 5 novembre 2015, 17:24

Controllo se con net si può accedere.
Con calma do un occhio anche al programma.

Avatar utente
g_federico_g
Senior
Senior
Messaggi: 723
Iscritto il: mercoledì 31 ottobre 2007, 13:53
Località: Termoli

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da g_federico_g » giovedì 5 novembre 2015, 17:34

Si in effetti mi sono buttato su excel per una questione di licenze, visto che ce l'ho.

Per il visual basic FREE ... quale sarebbe, quello EXPRESS ??



Per il mio progettino in excel sono riuscito a fare delle cose eccezionali... mi avevano detto che con Excel non si poteva fare invece, al momento, riesco a leggere
un file linguaggio macchina e ad abbozzare il disegno, (già di per se una vittoria) .. ed inoltre, ho anche inserito un timer che funziona con i millisecondi.
Ora sto cercando il modo di vedere come utilizzarlo, la lettura dei caratteri da tastiera ecc...ecc... io ci provo :) :)
Motoclub - www.roadeaters.it - Motoclub

Alex_live
God
God
Messaggi: 17068
Iscritto il: giovedì 30 luglio 2015, 12:06
Località: Milano

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da Alex_live » giovedì 5 novembre 2015, 17:46

Ho guardato il progetto per accedere alla parallela in C#. Se si può fare con C# si può fare anche con visual basic.net.
Il programma in C# sembra, dall'interfaccia del sito, un demo per inviare dati alla parallela. Nel programma proposto in questa discussione si va oltre all'assegnamento di un 1 o 0 alla parallela occorre temporizzare un invio di dati per far girare i motori.
Vado a memoria. Si è la versione Express.

Avatar utente
walgri
God
God
Messaggi: 4735
Iscritto il: giovedì 13 gennaio 2011, 18:37
Località: Cagliari

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da walgri » giovedì 5 novembre 2015, 18:09

Il dubbio, prevalentemente, era sulla reale predicibilità del timer in un ambiente managed. Non per nulla ormai si fa quasi sempre riferimento ad hardware dedicato per la generazione di step/dir. Ma non voglio fare il cacadubbi, secondo me è un progetto interessante !
...stop chasing shadows, just enjoy the ride.
Aìna pantografoTelemetria per KFlopBlenderCAM STL + DXF

gino
Senior
Senior
Messaggi: 1774
Iscritto il: domenica 11 ottobre 2009, 18:12

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da gino » giovedì 5 novembre 2015, 18:40

..a che sosa servirebbe il tutto ??
sembra piu un ritorno in preistoria.
senza voler comandare con G-code , in automazione ci sono gia
molteplici componenti PLC, da Siemens a Mitsubischi programmabili .
https://de3a.mitsubishielectric.com/fa/ ... s/cnt/plc/
che ho usato gia 20 anni fa in automazione ,ed ora saranno di sicuro molto piu evoluti.
.se si descrivesse il traguardo da raggiungere sarebbe anche piu comprensibile.
ma la necessita` e difficile da individuare.

Avatar utente
g_federico_g
Senior
Senior
Messaggi: 723
Iscritto il: mercoledì 31 ottobre 2007, 13:53
Località: Termoli

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da g_federico_g » giovedì 5 novembre 2015, 19:50

Come ho scritto prima, è un progetto "MIO" senza pretese e mi piacerebbe potesse essere utile ad altre persone, e quindi lo rendo pubblico con il sorgente aperto per chi lo volesse valutare, implementare o usare.
E' facile, sborsare centinaia di euro per qualcosa di già fatto, ma pensando che questo è un forum di "persone che fanno" pensavo potesse interessare ... tutto qua.
Se non ineteressa, posso anche non pubblicare nulla e continuare nel mio progetto da solo per il mio utilizzo... invece, se trovo persone interessate o che magari hanno qualche minuto da dedicare valutando il mio lavoro o implementando quelle parti che mancano ... ben venga.
Non dico che sarà il nuovo MACH4, ma almeno avremo un software fatto con le nostre mani. Tutto qua.


Sto valutando come diceva Alex, di passare i sorgenti su Visual Studio per avere un ambiente un po piu' open.

Ci aggiorniamo.
Motoclub - www.roadeaters.it - Motoclub

Alex_live
God
God
Messaggi: 17068
Iscritto il: giovedì 30 luglio 2015, 12:06
Località: Milano

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da Alex_live » venerdì 6 novembre 2015, 8:40

walgri ha scritto:Il dubbio, prevalentemente, era sulla reale predicibilità del timer in un ambiente managed. Non per nulla ormai si fa quasi sempre riferimento ad hardware dedicato per la generazione di step/dir. Ma non voglio fare il cacadubbi, secondo me è un progetto interessante !
Io ho fatte delle prove sull'utilizzo della parallela con windows xp e programma in visualbasic 6 ottenendo buone velocità di risposte anche su computer un po datato (sui nuovi non è presente la parallela).
Basti pensare che con la parallela si collegano vecchi oscilloscopi digitali fino a 50 Mhz (gli ultimi sono tutti collegati tramite usb.
Ovviamente per ottenere la massima risposta devono essere eliminati tutti i programmi non utili che girano in background. Anche utilizzando la usb ci potrebbero essere gli stessi problemi.
Con le versioni di windows successive alla XP l'accesso alla parallela è bloccato e va attivata con appositi programmi da ricercare in rete.
Io continuerò con i miei test con XP visto che il pc non permette l'istallazione di sistemi operativi più aggiornati.
Federico visualbasic.net non è open ma microsoft, per rendere dipendenti dal suo programma le persone (vedi tempo necessari per imparare un nuovo linguaggio di programmazione), lo distribuisce in forma gratuita (se non sbaglio la versione express non permette l'accesso a data base e altro. Per chi fosse interessato alle differenze base andare sul sito di microsoft direttamente.
Attualmente è disponibile la versione di visual studio 2015 (non so se posso mettere il link. Versione ovviamente legale da scaricare dai server di Microsoft).

syntronik
Senior
Senior
Messaggi: 1056
Iscritto il: giovedì 16 settembre 2010, 10:44
Località: Parma
Contatta:

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da syntronik » domenica 8 novembre 2015, 19:28

Hai mai pensato di abbandonare un PC, fare qualche cosa con una FPGA, programmata in VHDL???
Poi se vuoi fare delle cose superlative, con alcuni componenti, trovi anche dei core a 32 bit, gia pronti,
a zero euro, sei completamente indipendente e ci fai fare tutto quello che vuoi.
Se ti fermi, sei una cosa inutile.
http://www.syntcncsrl.com

Alex_live
God
God
Messaggi: 17068
Iscritto il: giovedì 30 luglio 2015, 12:06
Località: Milano

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da Alex_live » lunedì 9 novembre 2015, 10:21

Di seguito alcune osservazioni sul codice.
Quando leggi i file di configurazione tipo pin.txt.

Do While Not EOF(1)
Line Input #1, testo
conta = conta + 1
If conta = 7 Then
PinAsseX_Dir = Right(testo, 2)
End If
If conta = 8 Then
PinAsseX_Step = Right(testo, 2)
End If
If conta = 10 Then
PinAsseY_Dir = Right(testo, 2)
End If
If conta = 11 Then
PinAsseY_Step = Right(testo, 2)
End If

If conta = 13 Then
PinAsseZ_Dir = Right(testo, 2)
End If
If conta = 14 Then
PinAsseZ_Step = Right(testo, 2)
End If

If conta = 16 Then
PinAsseC_Dir = Right(testo, 2)
End If
If conta = 17 Then
PinAsseC_Step = Right(testo, 2)
End If

If conta = 18 Then
PinServiziVari = Right(testo, 2)
End If
If conta = 19 Then
PinAcqua = Right(testo, 2)
End If
If conta = 20 Then
PinAria = Right(testo, 2)
End If
If conta = 21 Then
PinStopEmergenza = Right(testo, 2)
End If

Loop
Close #1 ' chiudo il file e libero la memoria

sostituire perchè più leggibile e veloce con:

Do While Not EOF(1)
Line Input #1, testo
conta = conta + 1
Select case conta
case 7
PinAsseX_Dir = Right(testo, 2)
case 8
PinAsseX_Step = Right(testo, 2)
case 10
PinAsseY_Dir = Right(testo, 2)
case 11
PinAsseY_Step = Right(testo, 2)
case 13
PinAsseZ_Dir = Right(testo, 2)
case 14
PinAsseZ_Step = Right(testo, 2)
case 16
PinAsseC_Dir = Right(testo, 2)
case 17
PinAsseC_Step = Right(testo, 2)
case 18
PinServiziVari = Right(testo, 2)
case 19
PinAcqua = Right(testo, 2)
case 20
PinAria = Right(testo, 2)
case 21
PinStopEmergenza = Right(testo, 2)
End select

Loop
Close #1 ' chiudo il file e libero la memoria

idem per la lettura del file:
ActiveWorkbook.Path & "\VelocitaMotori.txt"

Private Sub TestMotoriPP_Click()
countit = 100
Do While countit > 0
Out 888, 0
Out 888, 255
Call Sleep(2)
Out 888, 0
countit = countit - 1
Loop

Qui è meglio scriverlo così perchè alla seconda lettura del codice Out 888, 0 viene eseguita 2 volte rallentando l'esecuzione

Private Sub TestMotoriPP_Click()
countit = 100

Out 888, 0

Do While countit > 0
Out 888, 255
Call Sleep(2)
Out 888, 0
countit = countit - 1
Loop

La stessa cosa va fatta nei cicli WHILE simili dove viene essere attivo un solo motore.

Con questo codice non leggi quale sia la porta della parallela corretta:

Stato = Inp(888) ' ‘lettura del byte in ingresso verso il registro Dato; si ricordi che l’input all’indirizzo &H379 coinvolge i bit: b3, b4, b5, b6 e b7 negato
If Stato <> 255 Then
MsgBox "Porta oparallela 889"
End If
Stato = Inp(632)
If Stato <> 255 Then
MsgBox "Porta oparallela 632"
End If
Stato = Inp(956)
If Stato <> 255 Then
MsgBox "Porta oparallela 956"
End If
Stato = Inp(636)
If Stato <> 255 Then
MsgBox "Porta oparallela 636"
End If
Stato = Inp(620)
If Stato <> 255 Then
MsgBox "Porta oparallela 620"
End If
Stato = Inp(616)
If Stato <> 255 Then
MsgBox "Porta oparallela 616"
End If

Altro errore:

Private Sub ComandoGotoHome_Click()
.........
If PosizioneXCrescente.Text > 0 Then ''SE il valore di X>=0 allora decresci fino a zero
'MsgBox "PosizioneXCrescente.Text >= 0 uso pin x " & PinAsseX_Dir

Do While countit > 0
'Out 888, 0
Out 888, PinAsseX_Dir
Call Sleep(AsseX_RitardoMovimentazione)
Out 888, 0
countit = countit - 1
Loop
ElseIf PosizioneXCrescente.Text < 0 Then
'MsgBox "PosizioneXCrescente.Text <= 0 uso pin x " & PinAsseX_Step

Do While countit < 0
'Out 888, 0
Out 888, PinAsseX_Step
Call Sleep(AsseX_RitardoMovimentazione)
Out 888, 0
countit = countit + 1
Loop
Else

Non puoi assegnare un valore alla direzione di rotazione e poi azzerarla
D0 è il verso di ritazione
D1 è la velocità
facendo un esempio sul motore asse X va scritto così per un verso di rotazione

Do While countit ....
'Out 888, 0
Out 888, PinAsseX_Step + PinAsseX_Dir 'dove PinAsseX_Dir =0 definisce il verso di rotazione con bit D0 = 0
Call Sleep(AsseX_RitardoMovimentazione)
Out 888, 0
countit = countit + 1
Loop

Per l'altro verso di rotazione va scritto così

Do While countit .....
'Out 888, 0
Out 888, PinAsseX_Step + PinAsseX_Dir 'dove PinAsseX_Dir =1 definisce il verso di rotazione inverso con bit D0 = 1
Call Sleep(AsseX_RitardoMovimentazione)
Out 888, 0
countit = countit + 1
Loop

Anche in altre parti di codice è presente lo stesso errore. 1 vale per l'asse X per gli altri assi il valore è da calcolare in base al peso binario del pin D assegnato.
Come collegi i motori alla parallela? Interponi una scheda esterna?

Private Sub SpinButtonPerMovimentazionAsseX_Change()
.........
If a > b Then
Out 888, PinAsseX_Step
Else
Out 888, PinAsseX_Dir
End If
Out 888, 0

Anche qui non si può assegnare separatamente la direzione e la velocità (vedi caso precenente). Se ho capito le tue intenzioni va scritto così


If a > b Then
PinAsseX_Dir=0 'invertire 0 e 1 se la rotazione è errata
Else
PinAsseX_Dir=1
End If
.... qui scrivi il codice per avviare il motore
Out 888, 0

Avatar utente
g_federico_g
Senior
Senior
Messaggi: 723
Iscritto il: mercoledì 31 ottobre 2007, 13:53
Località: Termoli

Re: Creazione software OPEN - cerco collaboratori -

Messaggio da g_federico_g » venerdì 7 ottobre 2016, 8:27

Beh, come avrete capito ho abbandonato il progetto, anche se sono arrivato piu' in la di quanto mi ero ripromesso.
Purtroppo ho avuto una serie di difficoltà in famiglia che mi hanno portato via tanto tempo e ora, dover riniziare tutto dal principio, sinceramente non me la sento.
Volevo solo dimostrare che, se un neofita come me, è riuscito a fare quello, penso che davvero un programmatore in poco tempo, possa offrire a noi CNCisti, un software bello e libero da utilizzare .... forza ragazzi !!
Motoclub - www.roadeaters.it - Motoclub

Rispondi

Torna a “Home Made”