Da C++ a Labview

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

Da C++ a Labview

Messaggioda kono » mer mag 23, 2012 7:03 pm

Salve a tutti,
sono nuovo del forum e sono alle prime armi con labview.
Mi trovo a dover interfacciare un detector via usb. Inizialmente utilizzavo le api fornite dal costruttore, ma con il nuovo firmware va tutto riscritto. Purtroppo nel cd di installazione non vi è più nessuna dll, ma vi è un Software Developer's Kit (SDK) in cui vi sono degli esempi scritti in c++. mi chiedo come posso utilizzare queste funzioni?
Grazie a tutti
kono
Nuovo Utente
Nuovo Utente
 
Messaggi: 6
Iscritto il: mer mag 23, 2012 6:46 pm

Re: Da C++ a Labview

Messaggioda paracarro » gio mag 24, 2012 7:22 am

kono ha scritto:Salve a tutti,
sono nuovo del forum e sono alle prime armi con labview.
Mi trovo a dover interfacciare un detector via usb. Inizialmente utilizzavo le api fornite dal costruttore, ma con il nuovo firmware va tutto riscritto. Purtroppo nel cd di installazione non vi è più nessuna dll, ma vi è un Software Developer's Kit (SDK) in cui vi sono degli esempi scritti in c++. mi chiedo come posso utilizzare queste funzioni?
Grazie a tutti


deve esistere una .dll o un activeX.
il Linguaggio C è un linguaggio procedurale, mentre il C++ è piuttosto orientato agli oggetti, quindi probabilmente a corredo del Tuo"scatolotto"USB, non avrai una libreria di funzioni (.dll), ma un oggetto con proprietà e metodi (.ocx)

tra l'altro l' argomento ActiveX in genere è parecchio trattato anche in questo forum

L'alternativa potrebbe essere che l'interfaccia USB del Tuo "detector" (marca, modello?), simuli una connessione seriale.
In questo caso in qualche documento .pdf del CD nella confezione, dovresti trovare una descrizione dettagliata del protocollo di comunicazione.

bye
Ti ringrazio per la domanda...
Come Tu mi insegni...
M.Marassi
Il futuro è già passato.
Il presente non esiste
C.Russo
paracarro
Moderatore
 
Messaggi: 700
Iscritto il: lun ago 18, 2003 3:04 pm
Località: MILANO

Re: Da C++ a Labview

Messaggioda kono » gio mag 24, 2012 10:19 am

paracarro ha scritto:
kono ha scritto:Salve a tutti,
sono nuovo del forum e sono alle prime armi con labview.
Mi trovo a dover interfacciare un detector via usb. Inizialmente utilizzavo le api fornite dal costruttore, ma con il nuovo firmware va tutto riscritto. Purtroppo nel cd di installazione non vi è più nessuna dll, ma vi è un Software Developer's Kit (SDK) in cui vi sono degli esempi scritti in c++. mi chiedo come posso utilizzare queste funzioni?
Grazie a tutti


deve esistere una .dll o un activeX.
il Linguaggio C è un linguaggio procedurale, mentre il C++ è piuttosto orientato agli oggetti, quindi probabilmente a corredo del Tuo"scatolotto"USB, non avrai una libreria di funzioni (.dll), ma un oggetto con proprietà e metodi (.ocx)

tra l'altro l' argomento ActiveX in genere è parecchio trattato anche in questo forum

L'alternativa potrebbe essere che l'interfaccia USB del Tuo "detector" (marca, modello?), simuli una connessione seriale.
In questo caso in qualche documento .pdf del CD nella confezione, dovresti trovare una descrizione dettagliata del protocollo di comunicazione.

bye


Ciao.
Purtroppo nel cd e sul sito non ho trovato nessun .ocx.
Il detector non l'avevo messo perchè temevo di poter fare pubblicità e non era mia intenzione. Il link del detector è il seguente:
http://www.amptek.com/dp5soft.html
La versione del firmware è la FW6 ed il tool che distribuiscono per le applicazioni custom è il Software Developer's Kit (SDK) scaricabile sul sito Qui ci sono le funzioni scritte in visual basic (mai usato da me) ed in c++ (che conosco un pochino).
Per quanto riguarda la comunicazioni forniscono il programmer guide in cui vi è il formato dei pacchetti dati e tutti i comandi ascii. Ho provato a comunicarci mediante il driver wizard di visa, ma non so come mandare i pacchetti dati e non riesco a trovare nessun esempio di visa usb o manuali.
Come posso simulare una comunicazione seriale con la porta usb?
Forniscono anche un loro software: il dppmca, che utilizza i driver winusb. Finora utilizzavo la usbdrvd.dll per comunicarci, ma con questo nuovo firmware sembra non rispondere più.

Grazie
kono
Nuovo Utente
Nuovo Utente
 
Messaggi: 6
Iscritto il: mer mag 23, 2012 6:46 pm

Re: Da C++ a Labview

Messaggioda paracarro » mar mag 29, 2012 12:04 pm

kono ha scritto:Ciao.
Purtroppo nel cd e sul sito non ho trovato nessun .ocx.
Il detector non l'avevo messo perchè temevo di poter fare pubblicità e non era mia intenzione. Il link del detector è il seguente:
http://www.amptek.com/dp5soft.html
La versione del firmware è la FW6 ed il tool che distribuiscono per le applicazioni custom è il Software Developer's Kit (SDK) scaricabile sul sito Qui ci sono le funzioni scritte in visual basic (mai usato da me) ed in c++ (che conosco un pochino).
Per quanto riguarda la comunicazioni forniscono il programmer guide in cui vi è il formato dei pacchetti dati e tutti i comandi ascii. Ho provato a comunicarci mediante il driver wizard di visa, ma non so come mandare i pacchetti dati e non riesco a trovare nessun esempio di visa usb o manuali.
Come posso simulare una comunicazione seriale con la porta usb?
Forniscono anche un loro software: il dppmca, che utilizza i driver winusb. Finora utilizzavo la usbdrvd.dll per comunicarci, ma con questo nuovo firmware sembra non rispondere più.

Grazie


Nonsi tratta di un dispositivo HID per il quale esistono alcuni VI di esempio e discussioni in tema.

Il dispositivo in questione è di tipo Winusb e francamente anchio non saprei come comunicarci via USB.
Si potrebbe sfruttare l'interfacciamento seriale RS232, che mi sembra sia supportato, ma non so se questo è possibile nel Tuo caso.

Immagino tu abbia già trovato questa discussione:
http://forums.ni.com/t5/LabVIEW/Amptek- ... /td-p/1636

l'MCA8000A non è il tuo DP5 ma forse se riesci ad entrare in contatto con uno di questi che hanno già affrontato il problema, per ottenere delle dritte almeno, se non riesci ad ottenere del codice già pronto.

oppure valuta questa discussione che parla di interfacciamento a device WinUSB

http://www.microchip.com/forums/m440704.aspx

Nellla discussione sono presenti alcuni interessant link da cui potresti ricavare degli spunti
Cmq sia, non mi sembra un lavoretto poi così banale.

bye
Ti ringrazio per la domanda...
Come Tu mi insegni...
M.Marassi
Il futuro è già passato.
Il presente non esiste
C.Russo
paracarro
Moderatore
 
Messaggi: 700
Iscritto il: lun ago 18, 2003 3:04 pm
Località: MILANO

Re: Da C++ a Labview

Messaggioda kono » ven giu 22, 2012 12:42 am

Nonsi tratta di un dispositivo HID per il quale esistono alcuni VI di esempio e discussioni in tema.

Il dispositivo in questione è di tipo Winusb e francamente anchio non saprei come comunicarci via USB.
Si potrebbe sfruttare l'interfacciamento seriale RS232, che mi sembra sia supportato, ma non so se questo è possibile nel Tuo caso.

Immagino tu abbia già trovato questa discussione:
http://forums.ni.com/t5/LabVIEW/Amptek- ... /td-p/1636

l'MCA8000A non è il tuo DP5 ma forse se riesci ad entrare in contatto con uno di questi che hanno già affrontato il problema, per ottenere delle dritte almeno, se non riesci ad ottenere del codice già pronto.

oppure valuta questa discussione che parla di interfacciamento a device WinUSB

http://www.microchip.com/forums/m440704.aspx

Nellla discussione sono presenti alcuni interessant link da cui potresti ricavare degli spunti
Cmq sia, non mi sembra un lavoretto poi così banale.

bye[/quote]

Ti ringrazio per la risposta. Per quanto riguarda l'MCA8000, anche lui aveva una dll già pronta, se non erro si chiama PMCA.dll o qualcosa del genere (adesso non ho il pc di lavoro per controllare); mentre la comunicazione seriale non la posso usare. Adesso leggo meglio i vari link che si trovano in quei forum, anche s ei primi sli ho già affrontati non riuscendo a ricavare molto :(- Sono riuscito a fare il file .inf ed a vederlo come usb e quindi con le visa, ma riesco giusto a leggere il serial number ed il nome dello strumento, ma non riesco proprio a fare la comunicazione. Spero di riuscire a fare qualche passo avanti nei prossimi giorni.Solo un altra domanda: ho letto che se si hanno le varie funzioni in c, si può creare la dll con labview (non so se è così banale come ho letto), però visto che l'Amptek fornisce gli esempi per il c++ se capisco come si fa a trasformarle in c, la posso fare una dll con cui comunicarci?
Non ho mai creato una dll, quindi non so se si ha bisogno di particolari accorgimenti.

Grazie
kono
Nuovo Utente
Nuovo Utente
 
Messaggi: 6
Iscritto il: mer mag 23, 2012 6:46 pm

Re: Da C++ a Labview

Messaggioda paracarro » lun giu 25, 2012 10:16 am

kono ha scritto:... Sono riuscito a fare il file .inf ed a vederlo come usb e quindi con le visa, ma riesco giusto a leggere il serial number ed il nome dello strumento, ma non riesco proprio a fare la comunicazione. Spero di riuscire a fare qualche passo avanti nei prossimi giorni.
Peccato! Avendo del tempo a disposizione, ti consiglierei di continuare a su questa strada.
kono ha scritto: Solo un altra domanda: ho letto che se si hanno le varie funzioni in c, si può creare la dll con labview (non so se è così banale come ho letto), però visto che l'Amptek fornisce gli esempi per il c++ se capisco come si fa a trasformarle in c, la posso fare una dll con cui comunicarci?
Non ho mai creato una dll, quindi non so se si ha bisogno di particolari accorgimenti.

Penso e spero di sì. Spesso può essere necessario, come nel tuo caso, interporre fra LabVIEW e una libreria di funzioni una seconda libreria che funga da "wrapper" della prima.
bye
Ti ringrazio per la domanda...
Come Tu mi insegni...
M.Marassi
Il futuro è già passato.
Il presente non esiste
C.Russo
paracarro
Moderatore
 
Messaggi: 700
Iscritto il: lun ago 18, 2003 3:04 pm
Località: MILANO

Re: Da C++ a Labview

Messaggioda kono » lun giu 25, 2012 8:59 pm

paracarro ha scritto:
kono ha scritto:... Sono riuscito a fare il file .inf ed a vederlo come usb e quindi con le visa, ma riesco giusto a leggere il serial number ed il nome dello strumento, ma non riesco proprio a fare la comunicazione. Spero di riuscire a fare qualche passo avanti nei prossimi giorni.
Peccato! Avendo del tempo a disposizione, ti consiglierei di continuare a su questa strada.
kono ha scritto: Solo un altra domanda: ho letto che se si hanno le varie funzioni in c, si può creare la dll con labview (non so se è così banale come ho letto), però visto che l'Amptek fornisce gli esempi per il c++ se capisco come si fa a trasformarle in c, la posso fare una dll con cui comunicarci?
Non ho mai creato una dll, quindi non so se si ha bisogno di particolari accorgimenti.

Penso e spero di sì. Spesso può essere necessario, come nel tuo caso, interporre fra LabVIEW e una libreria di funzioni una seconda libreria che funga da "wrapper" della prima.
bye


Sinceramente non ho esperienza nemmeno nella creazione di dll. Da quello che ho capito devo prendere tutti quegli esempi in c++ e trasformarli in c e poi prendo la guida che ho trovato sul sito ni e faccio la dll. Come faccio a creare una seconda libreria che faccia da wrapper? Hai per caso qualche esempio o link dove posso prendere spunto ?

Grazie
kono
Nuovo Utente
Nuovo Utente
 
Messaggi: 6
Iscritto il: mer mag 23, 2012 6:46 pm

Re: Da C++ a Labview

Messaggioda paracarro » mar giu 26, 2012 3:31 pm

kono ha scritto:
Sinceramente non ho esperienza nemmeno nella creazione di dll. Da quello che ho capito devo prendere tutti quegli esempi in c++ e trasformarli in c e poi prendo la guida che ho trovato sul sito ni e faccio la dll. Come faccio a creare una seconda libreria che faccia da wrapper? Hai per caso qualche esempio o link dove posso prendere spunto ?

Grazie


mmm... mi sa che non ci siamo capiti. Se non riesci ad interfacciarti da LabVIEW come puoi creare una .dll wrapper in LabVIEW?
Devi prenderti un compilatore C o meglio C++ e, in quell'ambiente di sviluppo creare una dll.

Non a caso nel forum di NI dedicato a Measurement Studio (e perciò NON dedicato a LabVIEW), c'è un link al sito MSDN dove si spiega come creare una .dll a partire dal sorgente scritto in C in ambiante Visual Studio 2005.

http://forums.ni.com/t5/Measurement-Stu ... d-p/866863

Vabbè devi disporre di Visual studio 2005...

bye
Ti ringrazio per la domanda...
Come Tu mi insegni...
M.Marassi
Il futuro è già passato.
Il presente non esiste
C.Russo
paracarro
Moderatore
 
Messaggi: 700
Iscritto il: lun ago 18, 2003 3:04 pm
Località: MILANO

Re: Da C++ a Labview

Messaggioda kono » mer giu 27, 2012 4:15 pm

paracarro ha scritto:
mmm... mi sa che non ci siamo capiti. Se non riesci ad interfacciarti da LabVIEW come puoi creare una .dll wrapper in LabVIEW?
Devi prenderti un compilatore C o meglio C++ e, in quell'ambiente di sviluppo creare una dll.

Non a caso nel forum di NI dedicato a Measurement Studio (e perciò NON dedicato a LabVIEW), c'è un link al sito MSDN dove si spiega come creare una .dll a partire dal sorgente scritto in C in ambiante Visual Studio 2005.

http://forums.ni.com/t5/Measurement-Stu ... d-p/866863

Vabbè devi disporre di Visual studio 2005...

bye

Si questo è il forum di cui parlavo. Nei prossimi giorni provo a realizzare il tutto, speriamo bene!
Grazie per la pazienza :)
kono
Nuovo Utente
Nuovo Utente
 
Messaggi: 6
Iscritto il: mer mag 23, 2012 6:46 pm


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite

Pannello di Controllo Utente

Login

Chi c’è in linea

In totale ci sono 2 utenti connessi :: 1 iscritto, 0 nascosti e 1 ospite (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Google [Bot] e 1 ospite