================================================================================
Info e consigli
================================================================================
AUTORE: 11
DATA :03/07/2003 - 11:07:28
----------------------------------------
Salve, volevo sapere se esisteva un forum per Teststand.
Come consiglio, inserirei una sezione \"messaggi\" in cui dialogare
con voi moderatori.
Altrimenti messaggi come questi, non legati a Labview, vi riempirebbero
il forum.
Ciao e Grazie.
----------------------------------------
AUTORE: 3
DATA :03/07/2003 - 16:40:32
----------------------------------------
Il forum per Teststand non c'è, però va da sè che se c'è un interesse di qualcuno lo si può fare. Anzi, con estremo piacere, visto che diversi di noi lo usano pesantemente. Giro comunque la palla ad Alessandro, perchè la decisione ultima alla fine è sua, visto che il creatore del forum è lui. Per la sezione messaggi direi una cosa: usiamo per ora \"Supporto Forum\", che è pensato per problemi tecnici e suggerimenti sul forum in sè. Se poi il \"traffico\" diventerà notevole magari faremo un ulteriore forum dedicato.
Ciao,
Charlie
----------------------------------------
================================================================================
PROGRAMMA IN SYSTRAY
================================================================================
AUTORE: 13
DATA :03/07/2003 - 15:23:41
----------------------------------------
salve a tutti , ho ancora bisogno del vostro aiuto
Dovrei fare un applicazione che una volta in esecuzione giri in modalita' systray , se qualcuno sa come fare si faccia avanti
----------------------------------------
AUTORE: 3
DATA :03/07/2003 - 16:48:29
----------------------------------------
Mettere un'icona da un programma LabVIEW nel system tray è possibile. Occorre chiamare una serie di funzioni di sistema, ma si tratta alla fine di semplici chiamate Win32. Ci sono però due problemi intrinseci di LabVIEW:
1. L'interazione con l'icona (il click del mouse) provoca un messaggio di sistema che finsce nella coda dei messaggi della finestra dichiarata owner dell'icona. Siccome in LabVIEW non è possibile intercettare i messaggi inviati alla coda di un VI, è necessario scrivere un piccolo componente in un altro linguaggio che se ne occupi.
2. Occorre in LabVIEW chiudere il pannello frontale del VI top level. Per fare questo va nascosto a livello di sistema operativo, altrimenti se ne ferma anche l'esecuzione. Si può fare usando la funzione ShowWindows dell'API Win32.
Il primo problema è il più vincolante, perchè non c'è una soluzione semplice in LabVIEW. L'architettura più pulita per realizzare la cosa è un piccolo componente ActiveX in Visual C++ o Visual Basic che crei l'icona e gestisca il menu popup di risposta al click del mouse. Non deve avere intelligenza, è sufficiente che notifichi a LabVIEW mediante una coda di eventi ActiveX i click sul menu ed esponga nell'interfaccia ActiveX un metodo Quit mediante il quale LabVIEW possa decidere di chiuderlo.
L'alternativa è realizzare il tutto in una serie di CIN, senza componenti ActiveX, e controllare in polling l'interazione dell'utente. Il codice da scrivere non è molto, ma c'è comunque un livello a cui è necessario disporre di una finestra che sia in grado di gestire la propria coda di messaggi, cosa che un VI non può fare, per cui una parte in codice esterno è essenziale.
Ciao,
Charlie
----------------------------------------
AUTORE: 4
DATA :31/05/2004 - 14:05:53
----------------------------------------
segnalo un link di Lava Forum con una discussione sullo stesso tema
[url:2m8vhrmz]http://forums.lavausergroup.org/index.php?showtopic=146[/url:2m8vhrmz]
Ciao, Alessandro.
----------------------------------------
================================================================================
Controllo sul controllo...
================================================================================
AUTORE: 17
DATA :04/07/2003 - 10:48:31
----------------------------------------
Ciao a tutti,
vorrei sapere se è possibile cambiare i valori di default di un controllo al variare di un altro controllo. Per essere + chiaro faccio un esempio.
Supponiamo che il controllo A sia uno slider con valori interi da 0 a 5 ed il controllo B sia un controllo numerico (double) ed abbia un suo valore di default.
Io vorrei che il controllo B cambiasse il suo valore di default quando A passa da 0 ad 1 o a 2........
Qualcuno ha qualche
?
bye
Federico
----------------------------------------
AUTORE: 3
DATA :05/07/2003 - 05:41:04
----------------------------------------
Cambiare il valore di default di un controllo run-time non è possibile, perchè il default value non è una delle proprietà che possono essere cambiate programmaticamente. È raro però averne la necessità, perchè un controllo di un VI, purchè non venga utilizzato per passare un parametro al VI chiamato come subVI, va al valore di default solo in tre occasioni:
- quando il VI viene caricato in memoria (quindi attenzione, non torna al default se il VI viene chiuso e richiamato un'altra volta, perchè il VI resta in memoria, salvo che non sia chiamato in modo dinamico).
- quando si usa programmaticamente il metodo \"Reset to deault value\" su totto il VI o sul solo controllo mediante il VI server.
- quando si clicca con il tasto destro sul controllo durante l'esecuzione (se è stato lasciato abilitato nel VI il popup menu run-time) e si selezione \"Reset to default value\", oppure se è visibile run-time il menu di sistema del VI si seleziona la medesima opzione per tutto il VI dal menu Operate.
In genere è sufficiente cambiare il valore corrente, non necessariamente quello di default. Cioè insomma quando cambi il valore di un controllo ne cambia automaticamente anche un altro. Basta rilevare il cambiamento del primo, ad esempio con una event structure sul \"Value Changed\", e cambiare di conseguenza il secondo con una variabile locale. Anche se il pannello del VI viene chiuso perchè è un popup e il VI viene poi richiamato, il valore del secondo controllo non sarà cambiato perchè il VI è rimasto in memoria. Fra l'altro ti segnalo che in LabVIEW 7, a differenza di LabVIEW 6.1, è possibile fare reagire una event structure non solo a cambiamenti interattivi dei controlli, cioè fatti dall'operatore, ma anche a cambiamenti programmatici fatti mediante property node.
Spero di avere interpretato bene la tua domanda. Se non è così dammi magari qualche dettaglio in più su ciò che desideri effettivamente fare e cercherò di essere più esauriente.
Ciao,
Charlie
----------------------------------------
AUTORE: 17
DATA :07/07/2003 - 09:12:58
----------------------------------------
Grazie Charlie, sei stato di grandissimo aiuto.
Il forum è molto utile ed io imparo sempre ogni giorno
Alla prossima
bye
Federico
----------------------------------------
================================================================================
USB in LV
================================================================================
AUTORE: 21
DATA :11/07/2003 - 14:59:49
----------------------------------------
Ciao a tutti
è da un pò di tempo che mi domando come mai in LV esiste il supporto per un sacco di protocolli e bus ma non esiste un VI che interfacci il bus USB...come mai? (e scusate l'ignoranza)
...colleghi mi dicono che l'USB è un bus che dipende strettamente dal driver della periferica collegata...mi pare che anche loro abbiano le ideee confuse
Beh....se riuscite ad interfacciare in LV qualcosa che \"viaggia\" su USB....fate un fischio...anzi.....rispondetemi tramite questo BELLISSIMO forum
Grazie a tutti
Fede71
----------------------------------------
AUTORE: 3
DATA :11/07/2003 - 15:19:04
----------------------------------------
LabVIEW 7:
Instrument I/O->VISA->VISA Advanced->Interface Specific->VISA USB
C'è tutto quello che server per gestire da LabVIEW una porta USB. Queste funzioni non esistevano nelle versioni precedenti di LabVIEW.
Charlie
----------------------------------------
AUTORE: 3
DATA :11/07/2003 - 15:22:30
----------------------------------------
Anzi... rettifico e mi scuso, c'erano anche nella 6.1!
Charlie
----------------------------------------
AUTORE: 21
DATA :11/07/2003 - 15:41:56
----------------------------------------
[quote="Charlie":1tmas31p]Anzi... rettifico e mi scuso, c'erano anche nella 6.1!
Charlie[/quote:1tmas31p]
Grazie Charlie per la solerte consulenza
..in effetti nelle sottopalette dei VI esiste pure il \"mitico\" VI per il collegamento tramite USB...a questo punto volevo chiederti se hai anche un esempio da cui prendere spunto visto che in materia sono alquanto ignorante
Grazie ancora
----------------------------------------
AUTORE: 3
DATA :11/07/2003 - 15:58:36
----------------------------------------
Mi spiace ma a questo devo rispondere di no. Non ho mai avuto la necessità di utilizzare direttamente a basso livello porte USB, perchè, essendo l'interfaccia USB specifica dei PC, oltre ovviamente ai Mac, è difficile avere un dispositivo USB che non disponga di driver per il sistema operativo che si usa, e che quindi non fornisca già un'interfaccia di livello più alto anche per l'uso programmatico.
Credo che l'unica possibilità realistica di uso diretto di una porta USB (a parte ovviamente lo sviluppo di un driver di sistema per un dispositivo custom, che però a questo punto è difficile fare in LabVIEW) sia la comunicazione diretta su cavo USB fra due applicazioni, scrivendosi quindi un protocollo proprietario sull'USB. Anche qui, però, esistono cavi USB dotati di driver per emulare sull'USB una connessione di rete, per cui è possibile usare direttamente funzioni di alto livello di comunicazione in rete invece che le chiamate VISA di basso livello.
Si può in ogni ricorrere alla programmazione diretta quando si vuole un controllo stretto sulla costanza e la qualità della comunicazione. Come ti dicevo, non ho mai avuto la necessità di farlo, per cui mi spiace ma non so dirti molto di più, nè indicarti esempi specifici.
Charlie
----------------------------------------
AUTORE: 335
DATA :21/09/2004 - 09:27:44
----------------------------------------
sono anche io interessato ad usare LV con una USB dovrei farci delle aquisizioni di misure da ADC.....cerco un'esempio, ki di voi ne ha???
grazie
----------------------------------------
AUTORE: 335
DATA :21/09/2004 - 09:32:21
----------------------------------------
sono anche io interessato ad usare LV con una USB dovrei farci delle aquisizioni di misure da ADC.....cerco un'esempio, ki di voi ne ha???
grazie
----------------------------------------
AUTORE: 174
DATA :21/09/2004 - 10:26:45
----------------------------------------
Hai provato sul sito di NI ?
----------------------------------------
AUTORE: 335
DATA :21/09/2004 - 10:54:48
----------------------------------------
no
pensavo fosse piu' semplice e immediato qui
----------------------------------------
AUTORE: 335
DATA :21/09/2004 - 18:20:07
----------------------------------------
io sulla6.1 nn trovo nulla sulla gestione usb....potete indirizzarmi?
----------------------------------------
AUTORE: 335
DATA :22/09/2004 - 11:50:55
----------------------------------------
[quote="Charlie":2xr05dtb]LabVIEW 7:
Instrument I/O->VISA->VISA Advanced->Interface Specific->VISA USB
C'è tutto quello che server per gestire da LabVIEW una porta USB. Queste funzioni non esistevano nelle versioni precedenti di LabVIEW.
Charlie[/quote:2xr05dtb]
dici che c'è una cosa analoga sull 6.1......ma dove?
pazientate con me
----------------------------------------
================================================================================
reti neurali
================================================================================
AUTORE: 34
DATA :21/07/2003 - 15:27:30
----------------------------------------
ciao a tutti!!!
per favore qualcuno sa qualcosa sulle reti neurali per LW?
soprattutto siamo interessati all'applicazione nel riconoscimento di immagini e di andamenti di funzioni...
grazie a tutti
ciao ciao
----------------------------------------
AUTORE: 3
DATA :21/07/2003 - 18:23:25
----------------------------------------
Ciao e benvenuto!
Prova questo documento:
http://zone.ni.com/devzone/conceptd.nsf ... endocument
Non è che voglia essere un trattato esaustivo, ma c'è di che iniziare a giochicchiare. C'è anche un esempio da cui partire per costruire qualcosa di un po' più strutturato.
Ciao,
Charlie
----------------------------------------
================================================================================
Porte Seriali
================================================================================
AUTORE: 35
DATA :21/07/2003 - 16:02:52
----------------------------------------
Per cortesia, qualcuno avrebbe notizie sulla gestione della porta seriale?
Il problema che mi si è presentato è il seguente:
non riesco a sincronizzare due strumenti; o meglio li riesco a sincronizzare solo se la stringa che vado a leggere ha un numero di caratteri inferiore a 53.
Come posso fare? Provando con dei portatili il problema non sussiste! Può essere problema della scheda madre? O è problema del LV.
Aspetto vostre notizie nel frattempo vi pongo i miei distinti saluti.
----------------------------------------
AUTORE: 3
DATA :21/07/2003 - 18:30:44
----------------------------------------
Ciao e benvenuto.
LabVIEW non ha limitazioni di questo genere, si possono gestire buffer seriali di dimensioni ben più grandi senza problemi. Non saprei dirti dalle informazioni a disposizione di cosa si tratti, però non è sicuramente una limitazione che dipenda intrinsecamente da LabVIEW. Non mi è nemmeno chiaro però cosa intendi dire con \"Sincronizzare due strumenti\".
A naso, se usi le funzioni della seriale vecchio stile, ti direi di controllare che nella \"Open Serial Port\" il buffer di ricezione non sia troppo piccolo. Se invece usi le VISA, assicurati che il timeout VISA non sia settato a un valore che, alla velocità a cui tu ricevi i dati, si avvicini troppo al tempo di ricezione dei 53 caratteri. In questo caso aumenta il timeout.
Ciao,
Charlie
----------------------------------------
AUTORE: 35
DATA :25/07/2003 - 14:44:46
----------------------------------------
Ti ringrazio della tua risposta ma nella subvi che ho creato inizializzo, imposto (ad un valore molto alto) in buffer e lo cancello sempre quindi non sara problemi di buffer. Cmq il sistema mi funziona in maniera random ovvero se mando una acquisizione continua (ovvero faccio leggere i dati dalla seriale anche quando non mi servono) non perde il sincronismo se invece non mando una acquisizione continua (non acquisisco quando non mi deve acquisire) mi perde il sincronismo. Sarà come abbiamo pensato problema di scheda madre del mio PC? Ho testato il programma con due portatili e la seriale non mi ha dato nessun problema. P.s. Ho un collegamento seriale normale non Visa. Per sincronismo dei due sistemi intendo che il segnale che viene trasmesso dal primo sistema non è letto bene dal secondo sistema. Ti faccio un esempio:
il primo sistema invia la stringa:
Mario Rossi oggi è andato a mare
il secondo sistema in modalità continua legge sempre:
Mario Rossi oggi è andato a mare
se invece uso la modalità non continua fino a quando non fermo la acquisizione legge:
Mario Rossi oggi è andato a mare
da quando riprendo la acquisizione mi legge:
io Rossi oggi è andato a mare☺☺☺
o altre stringhe similari.
Grazie per i tuoi consigli
----------------------------------------
AUTORE: 35
DATA :25/07/2003 - 14:45:25
----------------------------------------
Ti ringrazio della tua risposta ma nella subvi che ho creato inizializzo, imposto (ad un valore molto alto) in buffer e lo cancello sempre quindi non sara problemi di buffer. Cmq il sistema mi funziona in maniera random ovvero se mando una acquisizione continua (ovvero faccio leggere i dati dalla seriale anche quando non mi servono) non perde il sincronismo se invece non mando una acquisizione continua (non acquisisco quando non mi deve acquisire) mi perde il sincronismo. Sarà come abbiamo pensato problema di scheda madre del mio PC? Ho testato il programma con due portatili e la seriale non mi ha dato nessun problema. P.s. Ho un collegamento seriale normale non Visa. Per sincronismo dei due sistemi intendo che il segnale che viene trasmesso dal primo sistema non è letto bene dal secondo sistema. Ti faccio un esempio:
il primo sistema invia la stringa:
Mario Rossi oggi è andato a mare
il secondo sistema in modalità continua legge sempre:
Mario Rossi oggi è andato a mare
se invece uso la modalità non continua fino a quando non fermo la acquisizione legge:
Mario Rossi oggi è andato a mare
da quando riprendo la acquisizione mi legge:
io Rossi oggi è andato a mare☺☺☺
o altre stringhe similari.
Grazie per i tuoi consigli
----------------------------------------
AUTORE: 3
DATA :27/07/2003 - 06:15:40
----------------------------------------
Ci sono ancora un po' di cose che non mi tornano:
1. Mi spiace ma non ho ancora capito come è fatto il tuo sistema. Nel primo post hai parlato di due strumenti che non si sincronizzano, ora però parli invece di primo e secondo sistema, uno dei quali è il tuo PC. Si tratta di due strumenti con cui parla separatamente un PC cercando di sincronizzarli fra loro (pero' non ho capito in questo caso cosa vuol dire sincronizzarli) o è semplicemente un PC che legge dati da un singolo strumento? Proseguirò in questa seconda ipotesi.
2. Non mi è chiara l'idea di \"cancellare\" il buffer. Quando usi una \"read from Serial Port\", la funzione cancella automaticamente dal buffer di seriale quello che legge, non ci sono altri modi di cancellarne il contenuto. Ipotizzerò che tu intenda il metodo che descrivo poco più avanti.
Se ho capito bene, quindi, hai uno strumento che spedisce continuamente dati e tu li leggi in maniera asincrona solo quando ti servono. A questo punto dovresti essere tu a sincronizzarti con la stringa che arriva dallo strumentom altrimenti se ti limiti a leggere il numero previsto di caratteri prenderai in maniera casuale un pezzo terminale di un messaggio e l'inizio del successivo (che potrebbe essere peraltro proprio il motivo per il quale leggi quelle stringhe strane).
La procedura più corretta da seguire in questo caso, cioè quando si legge con tempi \"casuali\" ma comunque lenti un data stream continuo da una porta seriale è la seguente:
1. Ad ogni ciclo, per prima cosa leggere tutto il buffer per svuotarlo. Questo vuol dire usare la funzione \"Bytes at Serial Port\", vedere quanti caratteri ci sono, leggerli tutti e buttare via la stringa. Se non fai così, e se per via del fatto che leggi sporadicamente il buffer è in pratica sempre pieno, rischi che la seriale ti stia sovrascrivendo la parte del buffer che stai leggendo.
2. Sincronizzarsi con l'inizio del messaggio. Questo vuol dire buttare via tutto quello che arriva finchè non si riconosce l'inizio di una trama valida. Per maggiore efficienza, questo si può fare a blocchi di caratteri anzichè un carattere alla volta.
3. Riconosciuto l'inizio di una trama, aspettare il numero di caratteri previsto e leggerli tutti per poi interpretarli. Questo vuol dire aspettare che \"Bytes at Serial Port\" ritorni un numero di caratteri maggiore o uguale a quelli previsti e poi leggerli.
E poi si ripete. Tieni presente che il discorso di sincronizzarsi con l'inizio della trama in realtà è una buona norma anche in caso di lettura continua, perchè se c'è un errore di trasmissione e non lo fai, rischi di non allinearti più con l'inizio di un messaggio.
Ciao,
Charlie
----------------------------------------
================================================================================
gestione webcam con labview
================================================================================
AUTORE: 33
DATA :22/07/2003 - 10:15:38
----------------------------------------
ciao a tutti!
Per la mia tesi devo acquisire immagini nel modo piu' veloce possibile utilizzando il labview che gestisca una webcam (cavo USB), conosco 2 modi:
-1 richiamando una DLL che a sua volta si appoggia sui drive della webcam, ho gia' fatto il programma ma arrivo max a 14 fps (troppo poco per il mio sistema)
-2 acquisire filmati in formato .avi utilizzando l'activex . Ma che cos'e' precisamente l'activex? c'e' gia' un programma di gestione della webcam simile? ed inoltre posso in questo modo acquisire in modo veloce? ed infine, ci sono altri modi per interragire con la webcam tramite il linguaggio labview?
Vi prego di aiutarmi grazie!!!
Ciao ciao
----------------------------------------
AUTORE: 3
DATA :22/07/2003 - 13:00:59
----------------------------------------
Ciao Fabrizio, e benvenuto anche a te.
Premetto che per l'argoimento specifico della webcam ti rimando ad Ale (il papà del nostro forum) perchè so che lui ha già giocato abbastanza con la sua webcam e LabVIEW, per cui è inutile reinventare l'acqua calda. Oggi non c'è, per cui non sono certo di quando leggerà il tuo post. Posso però rispondere alle tue domande di carattere più generale.
ActiveX è il nome moderno per la tecnologia OLE, nata con Windows 3.1 e sviluppata poi attraverso gli anni negli ambienti Win32 fino a diventare quella attuale. Il concetto di ActiveX è quello di trasformare un'applicazione in una vera e propria libreria di programmazione per altri applicativi. Un programma, in sostanza, esporta verso l'esterno variabili (\"proprietà\", nella terminologia ActiveX) e funzioni (\"metodi\") che altri programmi possono rispettivamente leggere/scrivere e chiamare come se fossero del proprio codice.
L'interfaccia ActiveX, a differenza delle tradizionali librerie di programmazione, ha diversi vantaggi fra cui l'indipendenza dal linguaggio, nel senso che il sistema operativo fornisce tutto uno strato di interfaccia intermedia con il quale le modalità di chiamata dei metodi e quelle di accesso alle proprietà non dipendono in nessun modo dai linguaggi in cui sono scritti i due applicativi: l'ActiveX Server (l'applicazione che esporta proprietà e metodi) e l'ActiveX client. Questo non avviene quando si esegue il link ordinario di librerie statiche o DLL.
Gli ActiveX server possono essere costruiti in diverse forme, fra cui applicazioni stand-alone (cioè eseguibili che girano per i fatti loro in Windows) e custom control (cioè applicazioni che non hanno una propria finestra di interfaccia, ma girano solo come \"ospiti\" all'interno della finestra di un'altra applicazione). Il secondo caso è tipicamente quello usato da chi produce telecamere e fornisce un controllo ActiveX che un programmatore può piazzare sull'interfaccia di una propria finestra per visualizzarvi l'immagine proveniente dalla telecamera.
L'argomento è naturalmente complesso e ci vorrebbe ben altro che un post di risposta in un forum anche solo per introdurlo, comunque questi sono i concetti basilari.
Nel tuo caso specifico, è possibile che chi fornisce la webcam ti metta a disposizione anche un ActiveX server per programmare, ma non è una regola generale, dipende da chi ha fatto il software. Può anche darsi che sia disponibile separatamente come software addizionale. Tipicamente però c'è, perchè anche l'Internet Explorer è un ActiveX client, cioè può fare girare un server ActiveX all'interno della propria finestra, ed è proprio questa tecnica che viene sfruttata di solito dai produttori di telecamere per offrire in modo semplice la visualizzazione di un video attraverso un browser internet.
Per quanto riguarda infine la velocità, è impossibile dare a priori una risposta alla tua domanda. La velocità di acquisizione e salvataggio dipende in questo caso dall'applicazione ActiveX server, che ha le funzionalità e le prestazioni date dal modo in cui il codice è stato scritto, e non dal modo in cui tu la usi. Insomma, non dipende dall'interfaccia ActiveX in sè, ma dalle prestazioni che è stato in grado di ottenere chi ha scritto il codice dell'ActiveX server, cioè dal produttore della webcam. Naturalmente il risultato finale dipende anche dalla potenza della CPU su cui gira il codice.
Se tra il software fornito c'è anche un componente ActiveX da usare nelle tue applicazioni, è abbastanza probabile che il frame rate ottenibile sia dichiarato nella documentazione. Se non è così, la cosa migliore da fare è costruire una semplice applicazione di prova e misurare il risultato.
Se intendi accostarti in modo un po' pesante alla programmazione ActiveX, ti consiglio comunque di prendere uno dei tantissimi libri introduttivi sull'argomento che si trovano nelle librerie. Anche se si può programmare in ActiveX senza avere un'idea precisissima della struttura sottostante, una conoscenza anche sommaria dei concetti che ci stanno alla base aiuta parecchio.
Ciao e a presto.
Charlie
(Nicola)
----------------------------------------
AUTORE: 4
DATA :23/07/2003 - 09:49:59
----------------------------------------
Ciao Fabrizio, benvenuto anche da parte mia.
Come diceva Charlie in passato ho giocato con Webcam e LV.
Il SW della mia Webcam (una Trust) non mi metteva a disposizione un ActiveX così ho cercato su internet e girando ho trovato questa pagina da cui è possibile scaricare una libreria che permette di acquisire immagini da webcam con LV.
I VI LV della libreria sfruttano una DLL per acquisire le immagini e non un ActtiveX, nel download otre ai VI ci sono anche i sorgenti della DLL quindi è possibile customizzarli.
Tra i VI ce ne sono alcuni che permettono di \"convertire\" le immagini da Flat a \"IMAQ\" e viceversa, quindi è possibile sfruttare le potenzialità delle funzioni IMAQ con le immagini acquisite da webcam
Per quanto riguarda la velocità viene dichiarata di 7fps ma dalle mie prove sono riuscito a salire fino a circa 20fps riducendo la risoluzione.
Questo il link:
[url:2p1j66p5]http://www.mindofpete.org/labview_webcam.shtml[/url:2p1j66p5]
Leggi bene le FAQ soprattutto quelle riguardanti le impostazioni del driver della webcam.
Ora non ho sottomano i VI di prova che avevo fatto quindi non posso darti informazioni in più cmq appena posso li rivedo e posto altre info.
Spero di esserti stato utile.
Ciao, Ale.
----------------------------------------
AUTORE: 278
DATA :15/12/2005 - 18:22:01
----------------------------------------
Ciao,
All'utile ed iteressante link postato da Ale, aggiungo questo:
http://sine.ni.com/apps/we/niepd_web_di ... 0020E74861
Anche la NI mette a disposizione dei driver generici per webcam USB, non li ho provati personalmente ma funzionano benissimo.
Ciao Ciao
P.S Questo package è per LV 7.1
----------------------------------------
================================================================================
Manuale Lab View
================================================================================
AUTORE: 30
DATA :22/07/2003 - 14:42:57
----------------------------------------
Ciao a tutti, sono Gaetano un nuovo acquisto del forum
Sto lavorando per la mia tesi di laurea con LV7 (ed è la prima volta in assoluto che lavoro con LV
)
Vorrei chiedere se esiste da qualche parte in rete una versione in taliano del manuale utente di LV, oppure se qualcuno di voi ha già tradotto delle parti.
Grazie e ciao
Gaetano[/code]
----------------------------------------
AUTORE: 3
DATA :22/07/2003 - 17:35:54
----------------------------------------
Ciao Gaetano, un benvenuto anche a te.
Onestamente non sono al corrente di traduzioni italiane del manuale, anche se ricordo di avere letto da qualche parte (forse nel vecchio forum, ma non sono riuscito a trovarlo) di qualcuno che parlava di una versione italiana in PDF, anche se di una versione vecchia di LabVIEW, forse era la 6.0. Mi pare dicesse che si trovava cercando \"manuale\" e \"labview\" in qualche motore di ricerca, ma a una prima occhiata non mi pare di vedere nulla.
Al di là di questa notizia approssimativa, ci sono traduzioni italiane di alcuni libri stranieri su LabVIEW. In più sono disponibili a listino NI i manuali dei corsi LabVIEW istituzionali, che sono ottimi testi e possono essere acquistati anche senza partecipare ai corsi. Costano però decisamente di più di un normale libro e non è ancora disponibile la traduzione italiana dei testi per i corsi di LabVIEW 7, anche perchè il primo corso basato su LabVIEW 7 si terrà a settembre.
Ciao,
Charlie
----------------------------------------
AUTORE: 30
DATA :23/07/2003 - 11:41:02
----------------------------------------
Grazie Charlie, mi metto in cerca
----------------------------------------
AUTORE: 30
DATA :23/07/2003 - 12:02:32
----------------------------------------
Giusto perchè magari puo' essere utile anche ad altri
L'ho trovato, ecco il link:
http://www.geocities.com/Athens/Thebes/3657/htm/FPG.pdf
Speriamo che ora vada meglio...
----------------------------------------
AUTORE: 41
DATA :13/08/2003 - 16:28:42
----------------------------------------
Ciao a tutti ed a te Gaetano (sono nuovissimo....1 ora).
Ho trovato in rete un testo (pdf) di 205 Pagg., mi sembra OK.
Cerca Piero Pardini N.I.C.I. Educational,se non lo trovi fammi sapere.
Ciao
----------------------------------------
AUTORE: 30
DATA :13/08/2003 - 18:52:31
----------------------------------------
Grazie Tigullio.
Il manuale che avevo trovato e di cui ho postato il link e' proprio di Pardini ma per ora ho trovato solo il manuale della versione 6.
Comunque è veramente ok.
----------------------------------------
================================================================================
Problema con LabVIEW 7 e Application Builder
================================================================================
AUTORE: 3
DATA :23/07/2003 - 05:48:47
----------------------------------------
Desidero segnalarvi un problema che si verifica con l'Application Builder di LabVIEW 7, perchè si tratta di una cosa piuttosto comune e purtroppo molto pericolosa.
In un'applicazione costruita con l'Application Builder di LabVIEW 7, tutte le costanti e i controlli collegati a un typedef perdono il valore di default, se questo era stato cambiato rispetto a quello standard, perche' l'ottimizzatore dell'Application Builder li riporta allo stato di normali controlli sostituendoli con la loro versione normale, non più collegata a un typedef. Questo vale sia per i controlli sui pannelli sia per le costanti nei diagrammi. Il problema e' particolarmente subdolo perche' ovviamente non si manifesta finche' non si fa il kit di installazione.
Il tutto succede ovviamente anche portando vecchie applicazioni sviluppate sotto versioni precedenti, per cui in pratica l'effetto è che qualunque applicazione che contenga un custom control, typedef o struct typedef, come costante nel diagramma o su un pannello, a cui sia stato cambiato il valore di default, non funziona più. Il problema è particolarmente insidioso perchè è molto difficile identificarlo, visto che si presenta solo negli eseguibili e dunque quando non c'è più possibilità di debug, mentre il codice torna a funzionare perfettamente appena si rientra nell'ambiente di sviluppo.
Per evitare che l'Application Builder si comporti in questo modo e' necessario aggiungere al file LabVIEW.ini la seguente riga:
BldApp.RemovePolyVIsandTypedefs=False
Con questa riga non vengono rimossi i controlli typedef. La modifica ha effetto alla partenza successiva di LabVIEW.
Nota dettagliata NI all'url
http://digital.ni.com/public.nsf/3efedd ... enDocument
La riga descritta disabilita in realtà anche un'altra ottimizzazione fatta dall'Application Builder, che normalmente sostituisce ogni occorrenza di un VI polimorfo con la particolare istanza che viene usata in quel punto, ma questa ottimizzazione non genera malfunzionamenti.
Ciao a tutti,
Charlie
----------------------------------------
================================================================================
LabVIEW 7 e Visual SourceSafe
================================================================================
AUTORE: 3
DATA :23/07/2003 - 09:48:12
----------------------------------------
Vi segnalo un problema che capita con LabVIEW 7 se si usa come strumento di Source Code Control Visual SourceSafe della Microsoft.
Se SourceSafe è l'unico SCC Provider installato sul PC, la scelta di SourceSafe nel pannello di configurazione di LabVIEW del provider SCC dà come risultato un errore con una falsa segnalazione del fatto che Visual SourceSafe non è installato sul PC.
Il problema è noto e c'è una soluzione. Occorre sostituire un VI di sistema di LabVIEW con uno modificato fornito da NI. Tutti i dettagli sul problema (in inglese) e il link per scaricare il patch sono sul sito NI alla pagina
http://digital.ni.com/public.nsf/3efedd ... enDocument
Occorre scaricare il VI \"Source Code Control Options.vi\" fornito nel patch e sostituirlo a quello con lo stesso nome presente all'interno della directory di installazione di LabVIEW 7, in \"project\Source Code Control\".
Il problema si presenta solo se si utilizza Visual SourceSafe e non se si usa lo strumento di Source Code Control integrato in LabVIEW.
Ciao a tutti,
Charlie
----------------------------------------
================================================================================
LV e menù tasto destro
================================================================================
AUTORE: 4
DATA :23/07/2003 - 16:24:26
----------------------------------------
Attualmente il menù contestuale del tasto destro non è previsto in LV, nemmeno nell'ultimissima versione 7.
Secondo voi qual'è il modo migliore per \"aggirare l'ostacolo\" di questa mancanza?
Ciao, Ale.
----------------------------------------
AUTORE: 3
DATA :23/07/2003 - 17:00:34
----------------------------------------
Ricordo un articolo di un vecchio numero di LTR, di circa un paio di anni fa, in cui era descritto un meccanismo per realizzare in LabVIEW un menu di contesto, ma era un'implementazione piuttosto macchinosa.
Io ho lavorato proprio un paio di settimane fa a un'implementazione flessibile usando direttamente le funzioni Win32 relative ai menu di popup, ma ancora non gira correttamente. Non ho avuto molto tempo da dedicare al debug, comunque credo che prima o poi ci trornerò su con un po' di tempo a disposizione.
Charlie
----------------------------------------
================================================================================
labview e asp
================================================================================
AUTORE: 36
DATA :25/07/2003 - 14:28:40
----------------------------------------
Ciao a tutti! volevo chiedere se qualcuno sa se è possibile con labview creare dei collegamenti a delle pagine asp. Sto creando un applicazione che mi consente di utilizzare un videoserver sviluppato con tecnologia embedded touchscreen il quale mi consente di gestire delle telecamere.
----------------------------------------
AUTORE: 3
DATA :27/07/2003 - 06:22:07
----------------------------------------
Ciao e benvenuto.
Un supporto diretto in LabVIEW non esiste. Si possono escogitare tante soluzioni intemedie, tipo generare all'interno di LabVIEW il codice .asp e scriverlo come file di testo, oppure scrivere dati in un database che viene poi letto dal codice asp esistente, ma un supporto diretto non c'è.
Tieni però presente che LabVIEW include un web server che può essere utilizzato, oltre che per la normale visualizzazione di pagine HTML statiche, anche per avere visualizzazione remota all'interno di un browser del pannello di qualunque VI dell'applicazione. Opzionalmente è anche possibile prenderne il controllo, cioè operare sul VI dal browser remoto. Molte volte questo strumento è sufficiente per questo genere di applicazioni.
Ciao,
Charlie
----------------------------------------
AUTORE: 36
DATA :28/07/2003 - 13:26:12
----------------------------------------
Grazie per la tua risposta! Ora questa applicazione che dovrò creare è ancora in fase di progettazione e quindi non ho ancora iniziato niente. Spero che in seguito quando inizierò la fase di programmazione vera e propria possa chiederti dettagli tecnici su questo particolare delle pagine asp ma anche su altri argomenti sempre di labview. C'è una cosa che vorrei chiederti in particolare, è possibile creare un bottone in LV che mi consenta di aprire il browser con un indirizzo ip fisso?in modo che quindi mi apra la pagina iniziale in asp? e poi ci sono dei problemi per i percorsi?
Ciao
Roberto
----------------------------------------
AUTORE: 3
DATA :28/07/2003 - 14:37:54
----------------------------------------
Beh, direi che la cosa più semplice da fare è probabilmente utilizzare il web browser control di Microsoft all'interno di un ActiveX container nel pannello frontale del VI. Equivale a una finestra di Internet Explorer \"depurata\" di tutta l'interfaccia. A questo punto ci sono a disposizione tutti i metodi e le proprietà dell'interfaccia ActiveX, incluso un metodo Navigate con cui si può aprire una qualsiasi url in modo programmatico.
Per i percorsi... temo di non avere capito bene il senso della domanda. Ma se si tratta di ordinarie url http, il percorso è virtuale rispetto alla home page nel sito, per cui non ha nulla a che vedere con il path assoluto dei file su disco.
Le domande sono sempre benvenute. A volte non riesco a guardare il forum proprio tutti i giorni, ma se appena posso (e se sono in grado) rispondo.
Ciao,
Charlie
----------------------------------------
AUTORE: 36
DATA :29/07/2003 - 07:38:06
----------------------------------------
Grazie per la tua risposta è stata molto esauriente. Per quanto riguarda le activeX non riusciresti a darmi qualche link che mi spieghi il loro funzionamento e la loro creazione in LV? precisamente non so cosa sono e quindi vorrei saperne di più visto che dovrò utilizzarle.
Grazie ancora
Ciao
Roberto
----------------------------------------
AUTORE: 3
DATA :29/07/2003 - 08:13:59
----------------------------------------
Beh... purtroppo non è così semplice, ActiveX è una tecnologia di programmazione di una notevole complessità. Sulla creazione di componenti ActiveX esiste una enorme bibliografia che si trova in qualunque libreria che venda libri di programmazione. Anche la MSDN di Microsoft contiene una serie di articoli introduttivi che possono essere molto utili.
L' utilizzo di componenti ActiveX nei vari linguaggi è invece un argomento un po' più semplice ma anch'esso abbastanza corposo: tieni presente che all'utilizzo di componenti ActiveX in LabVIEW è dedicato un intero giorno del corso avanzato di LabVIEW, presupponendo che gli studenti abbiano una sommaria conoscenza dei concatti di base. Per quanto riguarda nello specifico l'utilizzo di ActiveX in LabVIEW, proprio il manuale del corso avanzato è un testo fatto piuttosto bene. Però non è disponibile online, perchè si tratta di un prodotto a listino NI.
Ciao,
Charlie
----------------------------------------
AUTORE: 36
DATA :30/07/2003 - 14:57:39
----------------------------------------
Ciao,
volevo chiederti dove andare a prendere i metodi e/o le proprietà che tu mi hai detto, soprattutto quella navigate.
Ciao e grazie,
Roberto
----------------------------------------
AUTORE: 3
DATA :31/07/2003 - 04:12:26
----------------------------------------
Devi inserire il controllo di tipo web browser in un ActiveX container su un pannello frontale, cliccando con il tasto destro sul container vuoto e selezionando dalla lista ottenuta con \"Insert ActiveX object\" il controllo da inserire. Dopo di che proprietà e metodi sono accessibili nel diagramma rispettivamente mediante property node e invoke node, che sono nella palette delle funzioni ActiveX. Perchè il menu dropdown del nodo si popoli con proprietà o metodi del controllo, devi prima collegare al nodo il reference che ottieni dall'icona dell'ActiveX container.
È sicuramente più semplice da fare che da spiegare in un mail, conviene prendere come riferimento uno degli esempi di uso dell'interfaccia ActiveX distribuiti con LabVIEW.
Ciao,
Charlie
----------------------------------------
AUTORE: 36
DATA :31/07/2003 - 10:36:21
----------------------------------------
Ciao,
sto provando a fare quello che mi hai detto. Ho creato un activeX container all'interno del quale ho inserito l'oggetto Microsoft Web Browser nel pannello utente. Fatto questo nel pannello diagramma ho generato il metodo navigate ho collegato l'activex webbrowser a reference e ho generato una stringa con un url collegandola all'apposita proprietà (URL). In questo modo la pagina web viene visualizzata ma non posso navigarci all'interno come mai? credo di sbagliare nell'ambito dell'error in ed error out non so dove collegarli, ho utilizzato un ciclo while loop e forse anche questo è sbagliato!
----------------------------------------
AUTORE: 4
DATA :31/07/2003 - 11:05:29
----------------------------------------
Ciao Roberto,
visto che riesci a vedere la pagina l'ActiveX l'hai usato correttamente, il problema della \"mancata navigazione\" credo dipenda dall'uso che hai fatto del wile loop come tu stesso supponi. Non dici cosa gestisci nel while, se l'ActiveX, un tasto di stop o altro ma secondo me, per crearti un veloce e funzionale esempio devi fare così:
1. crea una strutture sequenza con 2 frame
2. nel primo frame porti tutta la parte ActiveX (il reference e il metodo \"navigate\" con relativa URL, in pratica lo hai già fatto...)
3. nel secondo frame crea un while loop temporizzalo a 200ms e crea, al suo interno, un tasto di stop da collegare alla condizione di uscita del while.
Spero di essere stato chiaro è *molto* più facile a farlo che a dirlo
Ciao, Ale.
----------------------------------------
AUTORE: 36
DATA :31/07/2003 - 11:43:56
----------------------------------------
Grazie mille Ale!
Gira tutto alla perfezione. Devo proprio farvi i complimenti tu e Charlie siete proprio dei profondi conoscitori di Labview.
Alla prossima, Roberto
----------------------------------------
AUTORE: 36
DATA :01/08/2003 - 09:07:46
----------------------------------------
Ciao,
forse sto esagerando, ma vorrei chiedervi se potreste darmi qualche dritta per fare una tastiera a video con labview. Io ho creato una matrice contenente dei bottoni booleani ma non riesco ad assegnare ad ognuno di loro una lettera che deve essere scritta in un indicatore di stringa.
Grazie,
Roberto
----------------------------------------
AUTORE: 3
DATA :01/08/2003 - 09:14:46
----------------------------------------
Faccio una doverosa premessa: Windows 2000 e XP hanno già, fra gli accessibility tool, una tastiera virtuale (il file è system32\osk.exe) che può essere usata anche da LabVIEW.
Detto ciò, non puoi assegnare singolarmente il boolean text agli elementi di un array, perchè le proprietà sono uiguali per tutti gli elementi. Hai due soluzioni:
- realizzi la tastiera con un cluster
- usi come elemento base dell'array un cluster che contiene tre elementi sovrapposti:
1. la figura in bitmap di un tasto della tastiera.
2. una stringa con il bordo trasparente (nei controlli classici) in cui scrivi il nome del tasto come valore e quindi non come proprietà.
3. un pulsante trasparente che copre il tutto e che alla fine è quello che premi davvero.
Ottieni un array di cluster di due elementi (la figura non ha valore), di cui la stringa è la \"label\" del tasto e il boolean il tasto vero e proprio.
Ciao,
Charlie
----------------------------------------
AUTORE: 36
DATA :01/08/2003 - 10:43:45
----------------------------------------
Grazie Charlie,
lo so che in win2000 e winxp c'è già questa funzione, ma l'applicazione che sto creando gira su windowsnt embedded e purtroppo non so se c'è integrata la funzione di tastiera a video, comunque cercherò di farne una mia personalizzata.
Grazie ancora,
Roberto
----------------------------------------
AUTORE: 36
DATA :01/08/2003 - 11:43:02
----------------------------------------
Ho creato l'array come mi ha detto. Ora come posso fare affinchè mi scriva ad esempio la lettera A in una stringa vuota?
Grazie,
Roberto
----------------------------------------
AUTORE: 3
DATA :01/08/2003 - 14:08:47
----------------------------------------
Beh... semplicemente scrivendo l'array di cluster con una variabile locale, come si fa con qualsiasi altro controllo.
Se posso, vorrei permettermi però un consiglio che do in genere a tutti quelli che finiscono i corsi base. Prima di avventurarsi in un vero e proprio progetto, è bene prendere un minimo di pratica, e soprattutto di confidenza, con la programmazione di base in LabVIEW. Ai corsi, per mille motivi fra cui il primo è sicuramente il tempo, si segue solo una parte del manuale e si fa solo una parte degli esempi che esso riporta.
Proprio per questo motivo, riprendere da zero in modo organico e sistematico il manuale quando si hanno ancora freschi i concetti basilari appresi è una cosa utilissima che purtroppo pochissimi fanno. In compenso consente di familiarizzare con le tecniche fondamentali di programmazione e consente di evitare tanti vicoli ciechi.
Non è un invito a non proseguire con il lavoro, ci mancherebbe altro, ma soprattutto all'inizio è fondamentale guardarsi indietro e ripercorrere i primi passi, in modo da non trovarsi poi spaesati quando si affronta qualcosa di appena più complesso.
Un saluto,
Charlie
----------------------------------------
AUTORE: 3
DATA :02/08/2003 - 09:41:08
----------------------------------------
Solo un'aggiunta. Costruirsi una tastiera virtuale per LabVIEW è sicuramente divertente ed è anche un simpatico esercizio di programmazione. Se però ci sono esigenze strette di tempo, o se si è interessati alla funzionalità più che all'aspetto tecnico di programmarsi lo strumento, ci sono prodotti già fatti a prezzi più che accessibili. Ne cito uno:
http://www.bettervi.com/Pages/pricing.html
Il prodotto di interesse, verso la fine della pagina, è:
LabVIEW Touch Screen Toolkit
che include una tastiera virtuale completa, ben fatta anche graficamente. C'è anche una versione demo da scaricare. La licenza di sviluppo e ridistribuzione costa solo 50 dollari.
Charlie
----------------------------------------
AUTORE: 36
DATA :06/08/2003 - 11:29:13
----------------------------------------
Ciao,
ho appena configurato il webserver su labview e volevo chiedervi se era consentita una sola connessione al server da remoto oppure fosse possibile gestirne di più attraverso delle licenze o altro.
Grazie,
Roberto
----------------------------------------
AUTORE: 3
DATA :06/08/2003 - 17:20:33
----------------------------------------
Dipende dalla modalità di pubblicazione e dalla versione di LabVIEW. In modalità Snapshot o Monitor non ci sono licenze o limiti di connessioni contemporanee. La modalità embedded (cioè i remote panel veri e propri) è invece soggetta a licenza.
LabVIEW 6.1, sia FDS che PDS, include una licenza per pannelli remoti. LabVIEW 7 FDS ne include una, LabVIEW 7 PDS ne include cinque. Per numero di licenze si intende il numero di client che possono connettersi contemporaneamente a pannelli remoti dello stesso server.
Pacchetti addizionali di licenze sono disponibili a listino NI. I prezzi sono sul sito:
5 utenti: 365 euro
20 utenti: 1495 euro
50 utenti: 3695 euro
Una volta installate, le licenze addizionali vanno attivate mediante il license manager. Quelle incluse nel pacchetto sono già attivate.
Ciao,
Charlie
P.S. Una nota, non solo per te ma per tutti: quando si pone una domanda che non c'entra nulla con l'argomento della discussione (nel nostro caso si trattava di \"LabVIEW e ASP\") è buona norma aprire una discussione nuova. Questo semplifica la ricerca a futuri visitatori che magari sono interessati a un argomento ma probabilmente non guarderanno una discussione il cui titolo nulla ha a che vedere con quello che stanno cercando.
----------------------------------------
AUTORE: 36
DATA :07/08/2003 - 10:23:09
----------------------------------------
Grazie,
e scusa per le domande che non centrano con il topic!
Ne terrò conto.
Ciao,
Roberto
----------------------------------------
================================================================================
Labview e plc
================================================================================
AUTORE: 24
DATA :03/08/2003 - 19:14:35
----------------------------------------
Sono un programmatore di plc e vorrei con labview acquisire i dati dalla porta mpi o profibus di plc Siemens.
Sapete se con qualche adattatore connesso al plc ed alla seriale del pc sia possibile farlo.
Grazie
----------------------------------------
AUTORE: 3
DATA :03/08/2003 - 22:07:57
----------------------------------------
Ciao e benvenuto al nostro forum.
Sì, naturalmente quello che chiedi è possibile. Ciò che ti serve dipende dal tipo di connessione che intendi utilizzare. Se vuoi utilizzare direttamente il bus profibus, occorre una scheda a bordo del PC. Applicom è il produttore più noto di dispositivi di questo tipo, ma non è l'unico. Utilizzare una scheda tipo quelle Applicom ti dà anche il vantaggio di avere a disposizione un OPC server con cui ti puoi interfacciare direttamente attraverso Datasocket o l'engine LabVIEW/DSC. In alternativa si possono anche usare come OPC server i Lookout Protocol driver di NI, se già possiedi un CD degli Industrial Automation server.
Se invece intendi collegarti alla porta mpi attraverso la porta seriale del PC, ti occorre un addatatore esterno. Questi vengono normalmente forniti dalla stessa Siemens. In questo caso si possono ancora usare i Lookout Protocol driver, oppure un OPC server di Siemens o di terze parti, ma non occorre più una scheda dedicata sul PC.
Sul sito NI ci sono un paio di pagine che descrivono in dettaglio questo tipo di connessioni e soprattutto riportano in dettaglio i part number dei vari adattatori disponibili. Ecco le url:
http://zone.ni.com/devzone/conceptd.nsf ... endocument
http://digital.ni.com/public.nsf/3efedd ... enDocument
Ciao,
Charlie
----------------------------------------
AUTORE: 24
DATA :04/08/2003 - 07:44:28
----------------------------------------
Grazie molte.Utilizzerò l'adattatore seriale siemens che già posseggo.
Complimenti per il forum.
----------------------------------------
================================================================================
labview e subvi
================================================================================
AUTORE: 36
DATA :07/08/2003 - 10:28:01
----------------------------------------
Ciao,
volevo chiedere se in Labview c'è un numero massimo di subvi creabili per ogni applicazione.
Grazie
----------------------------------------
AUTORE: 3
DATA :07/08/2003 - 18:03:21
----------------------------------------
No, o quanto meno ce n'è soltanto uno teorico (uno di quei numeri tipo 2^32). In ogni caso finiscono sicuramente molto prima memoria e disco rigido.
Charlie
----------------------------------------
AUTORE: 36
DATA :08/08/2003 - 07:39:41
----------------------------------------
Grazie,
ciao
Roberto
----------------------------------------
================================================================================
Build Array
================================================================================
AUTORE: 3
DATA :07/08/2003 - 18:15:24
----------------------------------------
Vi segnalo una curiosità. Si tratta a mio avviso di un baco, che è presente in LabVIEW da molti anni e che ho segnalato più volte a NI senza esito.
Create un VI con due controlli di tipo di array (di numeri ad esempio, ma il tipo di dato non conta). Il primo a 2 dimensioni - una matrice - e il secondo a 1 dimensione - un vettore. Nel diagramma inserite una funzione Build Array che concatena i due array e create un indicatore, cioè ancora un array a 2 dimensioni, per visualizzare il risultato.
Inserite a mano nel primo array a 2 dimensioni un qualunque set di valori, purchè l'array non sia vuoto. Lasciate invece vuoto l'array monodimensionale. Eseguite il VI.
Personalmente, mi aspetterei che il risultato fosse uguale al primo array, non che avesse una fila di zeri aggiunta in fondo. Lo stesso capita se si uniscono (non concatenandoli) un array a 1 dimensione contenente dei dati e uno a 1 dimensione ma vuoto. Il risultato, anzichè essere un array bidimensionale 1xN, è 2xN con una riga di zeri.
La curiosità, in realtà, è che c'è stata finalmente una risposta ufficiale da National Instruments su Info-LabVIEW: questo è il comportamento voluto e non verrà modificato.
Vi assicuro che non sono il solo a pensare che si tratti di un errore (anzi, ad essere sincero non ho ancora trovato nessuno che lo consideri giusto), ma evidentemente per NI non è così, per cui non c'è da aspettarsi un fix, nè ora nè in futuro. Ve lo segnalo perchè scontrarsi con questo comportamento senza esserne a conoscenza può fare perdere parecchio tempo di debug.
Ciao,
Charlie
----------------------------------------
AUTORE: 43
DATA :20/08/2003 - 15:23:06
----------------------------------------
Carissimo Charlie,
grazie per aver segnalato questa curiosità.
Non ci avevo mai fatto caso, però vorrei essere il Primo, che considera corretto il comportamento della simpatica funzione \"Build Array\" e che ritiene che National faccia assolutamante BENE a non cambiarne il comportamento.
La questione, nel modo in cui è posta, mette in evidenza, in realtà, 2 comportamenti della BuildArray:
1) l'aggiunta di un elemento in un array comporta, SEMPRE, l'incremento della dimensione dello stesso array e, il conseguente inserimento di un nuovo elemento sia esso vuoto o nullo.
In soldoni se io \"costruisco\" un array, gli elementi vengono comunque messi, e questa è una certezza buona e giusta.
2) se l'array è multidimensionale, l'array che si otterrà dalla funzione, avrà tutte le dimensioni \"massime\" rispetto agli elementi in ingresso alla funzione stessa.
Questa è una scelta, ma anche questa va bene, dato che non privilegia un ingresso alla funzione rispetto ad un altro, secondo me.
L'es. che vorrei sottoporti è questo:
Da diagramma crea un array mono dim. (1D) di interi, vuoto.
Inserisci una funzione \"Build Array\" e trascina il lato inferiore o superiore in modo che gli ingressi siano parecchi, una decina per esempio.
Unisci l'array creato in precedenza a tutti gli ingressi della BuildArray
Sull'uscita della BuildArray esegui da popup Create->Indicator
Ora inserisci un \"Array Size\"
Unisci l'uscita della BuildArray all'ingresso dell'ArraySize.
Sull'uscita della ArraySize esegui da popup Create->Indicator
Risultato : La Build array crea una matrice vuota, ma, pur avendo 0 colonne, ha 10 righe!!!
(n. righe = a n. degli ingressi della funz. BuildArray, no??!!??)
A me sembra una cosa giusta, anche se la matrice puo' sembrare strana...
Se poi, dopo aver eseguito il VI, da pannello modifichi l'elemento 0,0 della matrice, automaticamente verranno inseriti degli 0 nelle altre 9 righe successive della matrice.
Perfetto!
Vediamo il secondo punto:
Da diagramma crea una costante formata da una matrice di interi 2 x 3 per esempio.
Aggiungi un'altra funz. BuildArray
Unisci al primo ingresso BuildArray la matrice costante appena creata ed al secondo unisci la matrice generata dall' altra BuildArray
Sull'uscita della nuova BuildArray esegui da popup Create->Indicator.
Risultato: una matrice 3D di dimensione 2 x 10 x 3.
Cioè
2 come gli ingressi della build array (OK)
10 come il max n. di righe delle matrici in ingresso
3 come il max n. di colonne delle matrici in ingresso
Beh!!! + bello di così....
Ciao
Alla prossima
P.S.: come si fa ad aggiungere dei file in allegato
----------------------------------------
AUTORE: 3
DATA :20/08/2003 - 15:55:32
----------------------------------------
Beh, che dire... mi spiace ma posso solo continuare a non essere d'accordo.
Sul primo punto, dire che il concatenamento di un array deve sempre aumentare la dimensione di quello originale mi sembra un po' come dire che sommare un numero a un altro deve sempre aumentare il risultato (anche se si somma zero). In termini di algebra lineare l'array nullo è per la nostra operazione l'elemento identità, come lo zero lo è per la somma.
Il concatenamento di due array bidimensionali dovrebbe dare un array bidimensionale con tante righe quanto è la somma delle righe dei due array concatenati, quindi se uno dei due ha zero righe non vedo onestamente perchè dovrebbe contribuire al risultato come se fosse un array con una riga.
Sarebbe un po' come dire che giustapponendo, senza concatenazione, gli array (1 2 3) e (), cioè il secondo è vuoto, il risultato fosse (1 2 3 0), mentre invece perfino LabVIEW concorda che il risultato è (1 2 3).
E poi scusa, nella tua ottica come si spiega questo fatto:
- concatenando un array 2x3 e un array *monodimensionale* vuoto si ottiene un array 3x3
- concatenando un array 2x3 e un array *bidimensionale* vuoto, si ottiene un array 2x3 identico al primo.
Dove starebbe qui la regola che l'aggiunta di un elemento deve SEMPRE aumentare la dimensione? Io resto sempre più dell'idea che sia un baco.
Quanto al secondo punto, ovviamente fila tutto, se si assume di partire da un array 10x0. Ma non è un array 0x0. Il punto di partenza ancora sbagliato è la prima Build Array, dopo di che è chiaro che la seconda è coerente.
Comunque sia, temo che disquisirne possa portare a ben poco, tanto così è e così rimane. Quello che posso dirti è che l'ho fatto vedere ormai a una decina di persone del supporto tecnico italiano di NI e tutti sono rimasti esterrefatti. Se ne è parlato parecchio anche su Info-LabVIEW e proprio lì ho scoperto che già diverse altre persone l'avevano segnalato come baco esattamente come me, ma ovviamente senza esito.
Se fosse facile costruire una funzione alternativa alla Build Array non mi turberebbe molto, ma purtroppo non è così, perchè la Build Array ha tre livelli di polimorfismo: dimensioni degli array in ingresso, concatenazione piuttosto che no, tipo di dato base dell'array (inclusi i cluster, quindi con variabilità infinita). Per di più è una fuzione ridimensionabile, per cui costruire un VI equivalente è assolutamente impossibile.
Continuerò a scrivere un codice di check preventivo ogni volta che esiste il rischio di un incremento indesiderato di un array... pazienza!
Ciao,
Charlie
P.S. Al momento non esiste alcun supporto per allegati. In futuro vedremo.
----------------------------------------
AUTORE: 43
DATA :21/08/2003 - 07:28:07
----------------------------------------
>Beh, che dire... mi spiace ma posso solo continuare a non essere d'accordo.
Non volevo certo farti cambiare idea, ma solo convincerti che può essere logico anche accettare il comportamento attuale della
fantastica ultra-polimorfica BuildArray...
>Sul primo punto, dire che il concatenamento di un array deve sempre aumentare la dimensione di quello originale mi sembra un po' come
>dire che sommare un numero a un altro deve sempre aumentare il risultato (anche se si somma zero).
>In termini di algebra lineare l'array nullo è per la nostra operazione l'elemento identità, come lo zero lo è per la somma.
Secondo me questo tipo di paragone non è calzante.
[CUT]
>Sarebbe un po' come dire che giustapponendo, senza concatenazione, gli array (1 2 3) e (), cioè il secondo è vuoto, il risultato fosse
>(1 2 3 0), mentre invece perfino LabVIEW concorda che il risultato è (1 2 3).
Giusto!! LabVIEW si comporta correttamente!
>E poi scusa, nella tua ottica come si spiega questo fatto:
>- concatenando un array 2x3 e un array *monodimensionale* vuoto si ottiene un array 3x3
>- concatenando un array 2x3 e un array *bidimensionale* vuoto, si ottiene un array 2x3 identico al primo.
>Dove starebbe qui la regola che l'aggiunta di un elemento deve SEMPRE aumentare la dimensione?
>Io resto sempre più dell'idea che sia un baco.
La regola c'è e si applica correttamente.
Facendo riferimento alla tua successiva spiega dei polimorfismi dalla BuildArray, butti lì un \"concatenazione piuttosto che no\",
come appunto se, questa funzione facesse in verità 2 diverse \"azioni\" sugli array che io sintetizzerei in questo modo:
- funzione che concatena un array monodimensionale dello stesso tipo di quello in uscita alla funzione.
- funzione che AGGIUNGE un elemento di un dato tipo all' array monodimensionale dello stesso tipo in uscita alla funzione.
Tra l'altro, queste 2 diverse funzionalità sono evidenziate dal \"simbolo\" grafico che appare nel punto della \"BuildArray\"
in cui viene collegato l'ingresso:
-se è un singolo quadratino, verrà fatta una AGGIUNTA di un elemento all'array
-se i quadratini sono 2, verrà concatenato un array dello stesso tipo di quello in uscita alla funzione, per cui non verra concatenato
nulla se l'array è vuoto.
In questa ottica avresti qualcosa da ridire sulla funzionalità di \"aggiunta\", perciò permettimi di tentare un parallelo con una ipotetica funzione C :
Supponi di avere una funzione C che
ha in ingresso
-un puntatore ad un array di puntatori a stringhe;
-un puntatore a stringa.
La funzione restituisce un puntatore ad un array di puntatori a stringhe
Supponi che che questa funzione riallochi l'array in memoria affinchè possa essere accodato il nuovo puntatore a stringa passato per
argomento.
Tu vorresti che, se fosse passato un NULL come argomento \"puntatore a stringa\", non fosse aggiunto nulla all'array di puntatori.
Secondo me invece, sia che il valore passato sia un NULL sia che si tratti di un puntatore ad una stringa nulla oppure no, ciò non debba
fare nessuna differenza, per cui, la funzione dovrebbe allocare lo spazio per un nuovo puntatore, nel quale verrà copiato il valore
passato per argomento.
Spero di essermi fatto capire.
Soprattutto di aver chiarito che considero gli array N-dimensionali usati nella Build array alla stregua di:
- singole variabili nel caso di AGGIUNTA ad un array (N+1)D (oppure di\"concatenate input\" disabilitato).
Cioè: IN array (N)D - OUT array 1D di array (N)D
- array (1D) di array (N-1)D, nel caso di concatenamenti fra array dello stesso tipo con \"concatenate input\" abilitato.
Cioè: IN array (N)D - OUT array (N)D
[CUT]
> Comunque sia, temo che disquisirne possa portare a ben poco, tanto così è e così rimane. Quello che posso dirti .....
Hai perfettamente ragione. Anzi, chiedo scusa per averti rubato del prezioso tempo per una discussione sterile.
>Se fosse facile costruire una funzione alternativa alla Build Array non mi turberebbe molto, ma purtroppo non è così,
>perchè la Build Array ha tre livelli di polimorfismo: dimensioni degli array in ingresso, concatenazione piuttosto che no,
>tipo di dato base dell'array (inclusi i cluster, quindi con variabilità infinita). Per di più è una fuzione ridimensionabile,
>per cui costruire un VI equivalente è assolutamente impossibile.
StraVero.
[CUT]
Grazie ancora per il tempo che mi hai dedicato.
Ciao
----------------------------------------
AUTORE: 43
DATA :21/08/2003 - 07:35:00
----------------------------------------
Non capisco perchè il mio messaggio è stato troncato
nell'anteprima appariva correttamente!!
Cmq questa è la parte rimanente
------------------------------------------
>Se fosse facile costruire una funzione alternativa alla Build Array non mi turberebbe molto, ma purtroppo non è così,
>perchè la Build Array ha tre livelli di polimorfismo: dimensioni degli array in ingresso, concatenazione piuttosto che no,
>tipo di dato base dell'array (inclusi i cluster, quindi con variabilità infinita). Per di più è una fuzione ridimensionabile,
>per cui costruire un VI equivalente è assolutamente impossibile.
StraVero.
[CUT]
Grazie ancora per il tempo che mi hai dedicato.
Ciao
----------------------------------------
AUTORE: 3
DATA :21/08/2003 - 07:35:44
----------------------------------------
In realtà non sarebbe sterile, la è solo nel senso che se anche uno di noi cambiasse idea questo non servirebbe a nulla, perchè tanto non siamo noi a decidere come si comporta LabVIEW.
Mi spiace, ma comunque anche stavolta non condivido per nulla le tue argomentazioni. In ogni caso non credo sia il caso di prolungare una \"querelle\" che probabilmente a questo punto agli altri utenti del forum non credo interesserà un gran che. Continueremo entrambi a gestire questo \"problema/non problema\" come abbiamo sempre fatto.
Ciao,
Charlie
----------------------------------------
================================================================================
labview webserver e application builder
================================================================================
AUTORE: 36
DATA :08/08/2003 - 09:27:31
----------------------------------------
Ciao,
Ho creato l’eseguibile di un’applicazione LabView.
Come si può far diventare un web server tale applicazione ?
Far diventare un web server un’applicazione non compilata l’ho già fatto in modo positivo.
Grazie
Roberto
----------------------------------------
AUTORE: 3
DATA :13/08/2003 - 20:12:17
----------------------------------------
Per replicare in un'applicazione i settaggi di LabVIEW nel momento in cui è stata scritta occorre fare quanto segue:
- copiare il proprio file LabVIEW.ini e cambiargli nome perchè si chiami come l'applicazione (ad esempio, se l'eseguibile è pippo.exe, pippo.ini)
- rinominare come l'applicazione la sezione [LabVIEW] del file così ottenuto (nel nostro esempio [pippo])
- distribuire il file ottenuto con l'applicazione, installandolo nella stessa directory in cui viene installato l'eseguibile.
Charlie
----------------------------------------
AUTORE: 36
DATA :02/09/2003 - 13:48:07
----------------------------------------
Ciao,
volevo sapere se era possibile con labview effettuare la registrazione degli accessi al webserver.
Grazie
Roberto
----------------------------------------
AUTORE: 21
DATA :02/09/2003 - 14:36:21
----------------------------------------
Ciao
Sebbene la configurazione del web server di LV sia un'argomento avanzato al momento dell'attivazione dello stesso probabilmente non ti sei accorto del check box \"Use Log File\" alla voce Tool->Option->Web Server Configuration. Tale opzione attiva la scrittura su file delle informazioni sulla connessione fra cui gli accessi effettuati.
P.S. Non vorrei sembrare scortese ma per rispetto per tutti coloro che partecipano al forum e immagino si rivolgano a questo dopo aver almeno tentato di risolvere il problema, sarebbe opportuno le domande fossero un po più \"ricercate\"
....sarà una mia opinione, ma penso sia volontà un pò di tutti che il forum non diventi un duplicato dell'help in linea di LV
Bye
----------------------------------------
AUTORE: 36
DATA :03/09/2003 - 10:24:53
----------------------------------------
Grazie per la risposta.
Ho notato con piacere che mi segue sul forum e terrò conto della sua critica per il futuro.
Sperando di non aver rubato troppo tempo alle persone che mi hanno risposto e di non aver approfittato del forum in maniera esagerata (se lo ho fatto spero che gli amministratori me lo facciano sapere così mi comporterò di conseguenza) auguro a tutti buon lavoro.
Roberto
----------------------------------------
AUTORE: 3
DATA :03/09/2003 - 11:45:28
----------------------------------------
Mi permetto di intervenire, perchè credo sia necessario un chiarimento. Il concetto espresso da Federico è corretto, ma non vorrei che fosse frainteso.
Non è un problema che una domanda sia - senza offesa - \"ingenua\", perchè tutti abbiamo iniziato un giorno e tutti, chi più chi meno, abbiamo un giorno chiesto aiuto a qualcuno che avrà sicuramente pensato: \"Ma guarda che domande fa questo qui!\".
Come tutti avranno visto, di norma tutte le domande ottengono una risposta su questo forum, naturalmente se siamo in grado di fornirle. È chiaro in ogni caso che le domande sono tanto più benvenute quanto più espongono un problema comune ed offrono lo spunto per una discussione fra più persone, piuttosto che un semplice \"Come si fa?\", \"Si fa così.\"
Quello che inviterei però a fare è evitare di correre a testa bassa sul forum quando non si sa una cosa, per la \"pigrizia\" di guardarla sulla documentazione. Faccio un esempio:
La domanda originale di questa discussione (come si fa ad abilitare un web server in un'applicazione fatta con l'Application Builder) è lecitissima, perche' come riportare le impostazioni di LabVIEW in un'applicazione è un'informazione non facile da reperire e tutti ci abbiamo sbattuto la testa almeno una volta. ragion per cui è sicuramente utile anche per molte altre persone che esista il riferimento nel forum.
Già diverso è per la domanda \"Come si fa da abilitare il log del web server?\". Quanto meno se chiesto da una persona che, avendo precedentemente abilitato il web server di LabVIEW, sa che c'è una pagina di opzioni dove quella del log è in bella vista, e non ha pensato di darci un'occhiata. Ho provato fra l'altro per curiosità ad aprire l'help di LabVIEW e a cercare \"web server\". La prima pagina di help della lista spiega esattamente come abilitare il log degli accessi.
È un po' simile chiedere se in LabVIEW si può visualizzare la data e l'ora di sistema. Anche qui senza offesa, ma al di là dell'avere fatto o meno un corso base, basta una velocissima passata delle funzioni di sistema nella palette per trovare la categoria \"Time and Dialog\". Una domanda del genere onestamente fa pensare che uno abbia direttamente chiesto qui senza nemmeno aprire LabVIEW una volta per dare un'occhiata se esiste qualcosa del genere.
Quello che voglio dire, insomma, è che questo forum non dovrebbe diventare una scorciatoia per l'help di LabVIEW. È nato come un centro di discussione fra utenti e tutti noi vorremmo tanto che restasse tale, mentre tante volte si sta trasformando un po' in una sorta di HelpDesk in cui ci sono due o tre persone volenterose che rispondono e nessun altro che partecipa alla discussione.
Non è un invito a non sottoporre quesiti tecnici, ci mancherebbe altro. È solo un suggerimento a provare prima da soli a capire e apprendere le funzionalità essenziali dell'ambiente, secondo me è anche un po' più divertente che non chiedere a qualcun altro ad ogni minimo dubbio. Dopo di che, per carità, se c'è un problema apparentemente insormontabile e qui c'è qualcuno che è in grado di dare una mano, tutte le richieste sono più che benvenute.
Nicola
----------------------------------------
AUTORE: 36
DATA :15/10/2003 - 13:40:27
----------------------------------------
E' possibile creare due applicazioni che girano sulla stessa macchina e far si che entrambe fungano da webserver ? mi spiego meglio io creo due applicazioni che vengono eseguite su una macchina e le faccio girare assieme contemporaneamente, è possibile collegarsi da remoto prendendone il controllo (non so attribuendo una porta http distinta???) oppure non è possibile.
Grazie
Roberto
----------------------------------------
================================================================================
LabView + OPC Server
================================================================================
AUTORE: 40
DATA :13/08/2003 - 16:37:33
----------------------------------------
Devo collegarmi ad un OPC server con Labview.
Ho provato inizialmente tra Excel ed OPC server e funziona usando la seguente istruzione: =NCDCS|pippo!c1
dove NCDCS è il server, pippo l'item, c1 la variabile.
Con LabView non ci riesco. Ho usato l'esempio allegato \"Multiple OPC Items Monitor.vi\" sostituendo ad uno dei 4 url il mio: \"opc:/NCDCS/pippo:c1\".
Ma non si collega al server.
Dove sbaglio ?
Grazie,
Alberto.
----------------------------------------
AUTORE: 3
DATA :13/08/2003 - 20:09:13
----------------------------------------
Ci sono un paio di cose che non mi tornano, in particolare la seguente.
Normalmente il nome di un server OPC è del tipo \"nomeproduttore.nomeserver\" (ad esempio \"National Instruments.LookoutOPCServer\". NCDCS mi torna un po' strano come nome. Non è che per caso è il nome dato in Visual Basic alla variabile che istanza l'oggetto DCOM dell'OPC server? In questo caso non c'entra nulla. Il nome da usare è la stringa passata come parametro alla funzione VB CreateObject, non il nome della variabile.
Non posso dire molto di più, purtroppo il tuo mail non entra in dettagli, ma mi sembra l'errore più probabile. Prova però a usare l'esempio di LabVIEW \"Browse to OPC item\", che ti darà una lista di tutti i server OPC installati sulla macchina. Se l'errore è quello che ipotizzo dovrebbe essere evidente.
Charlie
----------------------------------------
AUTORE: 40
DATA :14/08/2003 - 08:56:04
----------------------------------------
Grazie della risposta.
In effetti con il server attivo il programma di esempio \"Browse to OPC Item\" non lo riconosce.
Vede soltanto \"National Instruments.OPCDemo\".
----------------------------------------
AUTORE: 3
DATA :14/08/2003 - 10:51:25
----------------------------------------
Se è così devi in primo luogo registrarlo, come qualunque compnente DCOM in ambiente Windows. Questo viene fatto di solito dal programma di installazione dell'OPC server, in alternativa si può usare il programma regsvr32 che si trova nella directory di sistema di Windows. Mi è un po' difficile dirti di più, perchè non ho idea di che OPC server sia nè di come si installi e funzioni.
Charlie
----------------------------------------
AUTORE: 40
DATA :26/08/2003 - 16:47:05
----------------------------------------
Ho dovuto aspettare la riapertura della ditta che mi ha fornito l'OPC.
In realtà era come mi avevi detto.
Si erano semplicemente \"dimenticati\" di dirmi che per attivare l'OPC dovevo eseguire una determinata operazione.
Fatto ciò funziona tutto correttamente.
Grazie ancora.
Alberto
----------------------------------------
================================================================================
LABVIEW e DAQ Advantech
================================================================================
AUTORE: 41
DATA :13/08/2003 - 17:31:14
----------------------------------------
Ciao a Tutti sono nuovo.
Chi mi puo' aiutare affinche' possa usare la scheda (data logger) della Advantech PCL-812PG (compatibilita' accertata) con Labview ?.
Grazie se mi spiegherete il percorso da seguire.
----------------------------------------
AUTORE: 3
DATA :13/08/2003 - 20:22:19
----------------------------------------
Ciao e benvenuto.
Non è che possa dirti un gran che al proposito, perchè non ho mai utilizzato schede Advantech con LabVIEW, comunque sul sito Advantech parla di un driver LabVIEW che sembra essere fornito direttamente con la scheda. Immagino che a questo punto avrai una serie di VI da utilizzare al posto delle funzioni standard di acquisizione dati di LabVIEW. Ovviamente con hardware non NI si perdono l'integrazione con MAX, il channel wizard e tutti gli automatismi inclusi in LabVIEW.
Il sito Advantech parla però di compatibilità con LabVIEW 6i e non fa cenno alle versioni 6.1 e 7. Il documento è vecchiotto (marzo 2001), non so se abbiano rilasciato versioni più recenti. Dal sito non sembra.
Ciao,
Charlie
----------------------------------------
AUTORE: 41
DATA :14/08/2003 - 10:07:20
----------------------------------------
Grazie,CHARLIE
ho gia' scaricato sia l'apposito driver per LV sia un device manager aggiornato a Luglio 2003 sempre per la stessa scheda e per lo stesso SW.
Quello che (scusa la mia ignoranza) non capisco e' come \"dire\" a LV di andare a leggere quella scheda,mi spiego meglio ...quale menu' (a tendina,o altro) devo seguire per il settaggio.Sui manuali che girano in rete si parla di LW e su come si costruiscono i VI ma mai di DAQ,ne' NI ne' altre (vedi ad esempio il manuale di PIERO PARODI N.I.C.I. Educational Cap. 3-12 ove si dice........utilizzando il dispositivo DAQ interno al vostro computer !!!???) .Eppure sia LV che altrettanto i vari costruttori di LOGGER evidenziano IN PRIMO PIANO e se ne vantano la piena compatibilita' HW/SW.
Ovviamente,come dici,non sara' compatibilita' al 100%, ma se ne puo' fare a meno.
Spero di essermi spiegato.
Ciao.
----------------------------------------
AUTORE: 3
DATA :14/08/2003 - 11:01:19
----------------------------------------
Immagino che ci sarà un programma generale di configurazione esterno a LabVIEW per la configurazione generale della scheda, dopo di che dovrai usare i VI forniti con il driver per la sua gestione. Non so se abbiano un loro programma di installazione. Se non ce l'hanno e vuoi che compaiano nelle palette standard di LabVIEW, basta copiarli nella directory user.lib e compariranno nella palette fra le librerie utente.
Se questo non basta, prova a verificare con attenzione la documentazione allegata al software. Sicuramente anche chi ti ha venduto la scheda potrà darti qualche informazione sul suo utilizzo.
Quanto al manuale che ormai in molti hanno citato, non si tratta della traduzione del manuale di LabVIEW. Si tratta del manuale del corso base I di LabVIEW che si tiene presso la sede di NI e di cui se non vado errato proprio Piero Pardini cura le traduzioni in italiano. Come tale copre solo una piccola parte degli argomenti, perchè resta fuori tutto ciò che riguarda i corsi base II, Advanced e DAQ. Peraltro è un po' strano che sia disponibile così su Internet, perchè si tratta di un prodotto a catalogo NI, che può essere ordinato anche senza seguire un corso, ma che non viene distribuito gratuitamente come succede invece per i manuali dei prodotti.
Charlie
----------------------------------------
================================================================================
Presentazione
================================================================================
AUTORE: 40
DATA :14/08/2003 - 09:27:53
----------------------------------------
Ciao a tutti.
Sono Alberto, sono un programmatore purtroppo non più giovanissimo.
Ho usato per anni LabWindows-CVI.
Da pochissimo tempo sono passato a LabView e sto sviluppando il mio primo applicativo.
Ho preso parte al corso base 1 in National e posseggo la versione 7.0 del LabView.
Abbiate pazienza riguardo alle domande che vi farò, in quanto devo abituarmi al tipo di programmazione grafico del LabView.
Allo stesso tempo cercherò di mettere a disposizione la mia piccola esperienza, che spero aumenti nel tempo, agli altri partecipanti al forum.
Un saluto ancora a tutti e buon lavoro.
----------------------------------------
================================================================================
presentazione Lucio
================================================================================
AUTORE: 42
DATA :16/08/2003 - 13:31:56
----------------------------------------
Ciao a tutti, sono Lucio un insegnante di laboratorio di elettrotecnica e ho cominciato con labview con la versione 4 per gioco e me ne sono appasionato. Mi interessa l'acquisizione dati e il collegameto con gli strumenti tramite seriale-Gpib e ho molto da imparare. Spero vivamente di trovare qui un aiuto Ciao e buon lavoro a tutti.
----------------------------------------
================================================================================
tariffe sviluppo sw
================================================================================
AUTORE: 45
DATA :20/08/2003 - 17:00:51
----------------------------------------
Ciao a tutti!
Mi sono appena registrato e ho dato uno sguardo in giro, il tutto sembra bello... ma poco affollato..sic!
Volevo sapere se qlcuno mi sa dire quanto è la tariffa oraria di uno programmatore in LV con meno di un anno di esperienza, ma con molti anni di esperienza nella programmazione in C/C++. Tenete conto che spesso un programmatore in LV ha a che fare con HW ( piccole schede di interfaccia condizionamenti segnali etc...).
Grazie a tutti.
----------------------------------------
AUTORE: 3
DATA :21/08/2003 - 13:49:20
----------------------------------------
Che sia per ora poco affollato è vero, per di più è agosto... però dovresti essere contento: meno affollamento, meno concorrenza, no?
Per la tua domanda, potrei risponderti che una tariffa standard non esiste, anche perchè come dici tu un programmatore LabVIEW, soprattutto se lavora da solo, non è di solito soltanto un programmatore.
Dipende da tante cose: dalla preparazione e dall'esperienza (che sono due cose molto diverse), dal livello di autonomia, dal tipo di applicazione, dal livello di responsabilità che viene richiesto rispetto al prodotto finale. Un conto è se uno viene messo davanti a una specifica completa ed esauriente che ha solo bisogno di essere codificata, un altro se la specifica è incompleta e deve essere espansa, un altro se sono richieste anche scelte chiave di architettura di cui uno si assume la responsabilità, un altro ancora se è richiesta anche una vera e propria attività di progetto.
L'esperienza con il C/C++, per quanto posso dirti da 12 anni di attività nella mia azienda, è qualcosa che sicuramente viene utile anche per la programmazione in LabVIEW, ma in genere non è qualcosa che puoi \"rivendere\" al cliente finale. Di solito, se è lui che ha scelto LabVIEW, è proprio perchè di ambienti C/C++ non vuole sapere nulla. A meno che naturalmente non si tratti di un progetto in cui ci sono anche componenti realizzati in altri linguaggi.
Poi dipende anche dalla localizzazione geografica, dal fatto di lavorare presso la propria sede o quella del cliente, dal livello di supporto che l'azienda o il professionista, al di là della mera attività di codifica, è in grado di fornire prima, durante e dopo l'avviamento del sistema.
Del resto, anche guardandosi attorno, le tariffe che circolano sono estremamente differenziate, spesso anche all'interno della stessa azienda. E il più delle volte un motivo c'è.
Scusa per la \"non-risposta\".
Ciao,
Nicola
----------------------------------------
AUTORE: 45
DATA :22/08/2003 - 16:26:22
----------------------------------------
Ciao Charlie!
Grazie per la tua \"non risposta\" !
Me lo aspettavo una risposta \"diplomatica\" ma era solo una domanda per sapere come comportarsi difronte a certe richieste. Mi sipego:
il mio cliente vuole il programma sviluppato solo in LV, e siccome lui paga rupinho si adatta all' esigenza! Però quello che voglio far capire a lui è che ( come hai detto tu ) ci sono delle responsabilità da prendere da parte mia, tali responsabilità sono oltre che quello del prgrammatore anche le responsabilità di un tecnico hw, cioè c'è da mettere su qlc pcb di interfaccia segnali, scelta strumentazione ( il + delle volte sono migliaia di $), quindi io penso che la tariffa debba essere senz'altro + alta di un semplice programmatore di DB!!
Sbaglio??!
N.B.
GRAZIE!!!! per il link GOOP increbile in tlkt GOOP Endevo, una svolta!!
----------------------------------------
================================================================================
Classi in LabVIEW
================================================================================
AUTORE: 3
DATA :21/08/2003 - 09:48:18
----------------------------------------
In risposta alla domanda di Franco \"rupinho\" posta nella discussione di presentazione.
LabVIEW non è un linguaggio object oriented. Come tale non possiede il concetto di classe, se non per utilizzare come client oggetti esterni (tipo oggetti ActiveX) che invece sul concetto di classe sono basati.
Esistono tuttavia pacchetti di terze parti che consentono, in un modo ovviamente un po' \"sporco\" visto che il supporto nel linguaggio non è nativo, di implementare in LabVIEW tecniche di programmazione object oriented. Le estensioni di questo tipo di LabVIEW prendono il nome di GOOP (G Object Oriented Programming).
Una di queste inziative è del gruppo OpenG, che include nel proprio progetto un pacchetto chiamato OpenGOOP. Questo è il link.
http://openg.org/tiki/tiki-index.php?page=OpenGOOP
Ci sono poi pacchetti commerciali, tra cui questo è probabilmente il più noto:
http://www.endevo.com/default.asp?lang=eng
Infine, potrai trovare sul sito NI parecchi riferimenti. Basta semplicemente andare sul sito e cercare la stringa \"GOOP\".
Va da sè che, non avendo LabVIEW il supporto nativo per estensioni OO, tutti questi pacchetti operano su strutture tradizionali incapsulando in qualche modo il linguaggio. Quindi, anche se realizzano meccansimi come protezione o ereditarietà, questi sono in realtà simulati e possono essere aggirati programmando a basso livello. Inoltre, come credo sia ovvio, un programma realizzato in questo modo è sicuramente molto meno efficiente, per via dell'overhead di realizzazione di tutti i meccanismi di base che il linguaggio in sè non ha.
Ciao,
Charlie
----------------------------------------
AUTORE: 45
DATA :21/08/2003 - 12:08:40
----------------------------------------
ciao Charlie
Grazie del commento!
Volevo solo dirti che però in Lv c'è il Property Node, method node, quindi mi pare che sia possibile definere propietà e metodi, adesso penso anche gli eventi siano possibili implementare. Quindi mi chiedevo come potevo definire un \"qualcosa\" che avesse otre che una struttura dati anche dei metodi e delle proprietà.
Grazie ancora
----------------------------------------
AUTORE: 3
DATA :21/08/2003 - 12:41:34
----------------------------------------
No, non è così. Esistono property node, invoke node ed eventi, ma non sono quello che pensi. Servono in particolare per:
- gestire proprietà, metodi ed eventi di un server ActiveX, in modalità client
- cambiare programmaticamente le proprietà dei controlli dei pannelli frontali (quelle che si settano normalmente con il tasto destro in fase di editing dei VI)
- gestire programmaticamente le proprietà dei VI e dell'applicazione. Questo supporto è più comunemente chiamato VI Server e costituisce essenzialmente un wrapper dell'interfaccia ActiveX di LabVIEW. Le stesse proprietà e metodi sono accessibili tramite un qualunque client ActiveX utilizzando LabVIEW come ActiveX server.
- Gestire le proprietà di alcuni specifici driver, tipo VISA, che esportano mediante proprietà le proprie impostazioni.
Questo non significa che sia possibile definire proprie classi, proprietà e metodi. Per questo non è previsto supporto. come unica eccezione, solo recentemente è stato introdotto in LabVIEW 7 il concetto di eventi user-defined, ma non si tratta di eventi associati a classi, come in un linguaggio object oriented. Si tratta di eventi globali che è possibile scatenare programmaticamente e a cui si può associare una gestione all'interno di una event structure oppure un VI di callback (quest'ultima cosa non è documentata ufficialmente ma funziona, in teoria i callback VI sono previsti solo per eventi ActiveX).
In parole povere (questo era quello che intendevo nella risposta originale) property e invoke node sono previsti per gestire oggetti esistenti, ma non possono essere personalizzati per definire nuove proprietà e metodi. Non sono previsti meccanismi per definire proprie classi od oggetti e non ci sono nemmeno i concetti di base dei linguaggi object oriented (ereditarietà, protezione di oggetti privati, incapsulamento dei dati, overloading di funzioni e operatori, ecc.). Nè si può intervenire sul set di classi che LabVIEW esporta nella propria interfaccia ActiveX server. Anche questa è fissa e non può essere modificata.
Ciao,
Charlie
----------------------------------------
================================================================================
Cicli di ritardo inferiori al millisecondo
================================================================================
AUTORE: 46
DATA :21/08/2003 - 15:04:31
----------------------------------------
Salve a tutti
Mi chiamo Claudio e per la prima volta ho avuto l'occasione di imbattermi in questo forum: a prima vista mi sembra molto interessante e popolato di persone competenti.
Perciò ne approfitto per porre un problema: esiste la possibilità di introdurre ritardi nell'esecuzioni di cicli con tempi inferiori al millisecondo, senza sfruttare alcun tipo di risorsa hardware del PC o National ?
Immagino che si possa ricorrere alle risorse CIN, ma prima di immergermi in quest'avventura, mi piacerebbe sapere se ne può valer la pena.
Grazie per l'attenzione
Claudio
----------------------------------------
AUTORE: 3
DATA :21/08/2003 - 15:38:19
----------------------------------------
Un saluto e un benvenuto.
Introdurre un ritardo programmatico inferiore al millisecondo in LabVIEW non è direttamente possibile, nel senso che in tutte le funzioni di Wait previste in LabVIEW la risoluzione del ritardo è appunto di un millisecondo. Un ciclo senza ritardi può girare ovviamente ben più velocemente, ma in questo caso la frequenza dipende solo dalla velocità del processore e dal suo carico, senza alcun controllo. E naturalmente diventa un codice che porta subito il carico di CPU al 100% quando il ciclo sta girando.
La possibilità teorica di introdurre un ritardo inferiore esiste, perchè Windows mette a disposizione dei contatori (si chiamano high resolution counter) con la risoluzione di un microsecondo. Non sono funzioni direttamente disponibili in LabVIEW, ma si possono utilizzare con chiamate di sistema Win32, tramite appunto CIN o DLL.
La possibilità, tuttavia, è solo teorica, perchè il sistema operativo di per sè non è deterministico e latenze dell'ordine del millisecondo sono comuni. Anche una temporizzazione fissata a un millisecondo non è in realtà deterministica in situazioni in cui girano pesanti servizi a livello kernel, oppure c'è una pesante interazione a livello di interfaccia grafica (tipo quando si sta trascinando una finestra con il redraw istantaneo abilitato), oppure ancora quando ci sono latenze di driver legate a risorse hardware, accessi pesanti e continuati al disco rigido, partenze di servizi onerosi in termini di risorse (come ad esempio scansioni degli antivirus), servizi di interrupt onerosi che girano periodicamente (tipo il tick del clock di sistema che gira ogni 55 millisecondi), ecc.
In sostanza, quando si temporizza un loop in modo abbastanza veloce, quello che avviene è che \"di regola\" la temporizzazione viene rispettata, ma in pratica ogni tanto un loop ha un ritardo maggiore, legato alle latenze di sistema. È una caratteristica intrinseca dei sistemi operativi non real-time, come Windows. È da notare che la cosa succede anche se ci si appoggia - per esempio utilizzando le DAQ occurrences - a una temporizzazione hardware data da una scheda. In questo caso la latenza non è ovviamente data dall'hardware, ma dalla catena software (interrupt, messaggio Win32, gestore di LabVIEW) che c'è fra l'evento e il suo riconoscimento.
Insomma: se basta che statisticamente un loop giri più o meno alla frequenza voluta e si può accettare che ogni tanto ci sia un certo jitter nel periodo, allora tutto va bene. Se invece si vuole che il ciclo rispetti rigorosamente la temporizzazione impostata, Windows non va più bene, almeno alle frequenze di cui stiamo parlando. In questo caso è necessario utilizzare un sistema operativo real-time.
Proprio per questo tipo di esigenza NI ha rilasciato qualche anno fa LabVIEW Real Time, che non gira sotto Windows ma sotto il sistema operativo real-time della Pharlap. In LabVIEW RT un ciclo può essere agganciato in modo deterministico a una temporizzazione software con la risoluzione di un millisecondo, oppure a una risorsa hardware di una scheda DAQ, quindi con una risoluzione maggiore. Il tutto avviene senza che il sistema operativo aggiunga le latenze proprie dei sistemi non real-time.
Anche con un sistema operativo real-time, ovviamente, c'è un limite alla velocità massima di esecuzione di un loop, che dipende dalla potenza della CPU e da quantità e tipo di operazioni che vengono effettuate in ogni ciclo. Il determinismo resta garantito se queste operazioni, valutate nel caso pessimo, impegnano la CPU del sistema per un tempo non superiore al periodo teorico impostato per il ciclo.
Spero che il tutto sia abbastanza chiaro, ma immagino che lo sarà per chi ha un'esperienza ventennale di programmazione di microprocessori e microcontrollori. Se posso essere utile per chiarire qualche dettaglio... a disposizione!
Nicola
----------------------------------------
AUTORE: 46
DATA :21/08/2003 - 15:44:19
----------------------------------------
Ringrazio moltissimo per la tempestività e per la precisione della risposta.
In effetti non è che mi occorra una precisione altissima nella temporizzazione, per cui mi posso accontentare delle imprecisioni derivanti dal sistema operativo.
Non vogio recare altri disturbi: adesso vado immediatamente a ricercare ulteriori informazioni a proposito di quelle particolari DLL citate.
Grazie ancora: farò conoscere ulteriori sviluppi, se arriverò a maturarne qualcuno.
Ciao e buon lavoro
----------------------------------------
AUTORE: 201
DATA :20/04/2005 - 16:29:18
----------------------------------------
In questo momento sto cercando anche io una soluziona di questo tipo, mi serve infatti avere una temporizzazione inferiore al millisecondo.
per Claudio: se sei arrivato a qualcosa di concreto potresti dimri come hai fatto?
grazie
----------------------------------------
AUTORE: 201
DATA :20/04/2005 - 16:48:30
----------------------------------------
Ho visto che un contatore con risoluzione inferiore al msec si può ricavare manipolando opportunamente la dll Kernel32.dll, ma nn sn riuscito a ricavare nulla di funzionate con labview....
come si faaaaaaaaaaaaaaaaaa
----------------------------------------
================================================================================
Presentazione
================================================================================
AUTORE: 46
DATA :21/08/2003 - 15:20:14
----------------------------------------
Ciao a tutti
Mi chiamo Claudio.
Sono docente da laboratorio elettronica presso un ITIS di Modena.
Oltre all'ormai ventennale attività scolastica ho avuto modo di curare diverse collaborazioni con enti quali Università di Modena, INFN, INFM, in qualità di esperto per l'interfacciamento e la gestione di apparecchiature.
In quest'ottica ho maturato conoscenze in microprocessori e microcontrollori (Z80, 6502, 8088, ST6, PIC), linguaggi di programmazione (Assembler, Pascal, C, Builder, LabView), PLC (Siemens e Omron).
Ho tenuto corsi per docenti e per studenti inseriti nei piani di formazione tecnica superiori su argomenti quali PLC, sensori e attuatori, LabView, utilizzo di pacchetti CAD per la progettazione e la simulazione di circuiti elettronici.
Collaboro alle attività dei siti plcforum.it e softwareplanet.net
Utilizzo LabView da alcuni anni anche se abbastanza saltuariamente, nell'ottica di collegare e gestire strumentazione e di realizzare sistemi di controllo per piccli impianti industriali.
Grazie ai moderatori del forum per la loro bella idea; un saluto a tutti i partecipanti.
Ciao
Claudio
----------------------------------------
================================================================================
GOOP wizard
================================================================================
AUTORE: 45
DATA :23/08/2003 - 18:14:34
----------------------------------------
Ciao a tutti!
Volevo sapere quanti di voi usano il tool GOOP wizard della Endevo, e se lo ritenete utile.
Ciao a tutti coloro che invece del abbrozatura del mare preferiscono l'abbrozatura del propio 21\".
----------------------------------------
AUTORE: 45
DATA :24/08/2003 - 16:59:55
----------------------------------------
[quote="rupinho":1o716eb1]Ciao a tutti!
Volevo sapere quanti di voi usano il tool GOOP wizard della Endevo, e se lo ritenete utile.
Ciao a tutti coloro che invece dell' abbronzatura del mare preferiscono quella del proprio 21\".
[/quote:1o716eb1]
N.B. per Charlie
Ho capito che tu non lo preferisci, però programmando in questa maniera il codice, secondo me, è un pò più organizzato, e il top VI si riduce a quattro blocchetti dentro una while.
----------------------------------------
AUTORE: 3
DATA :24/08/2003 - 20:48:36
----------------------------------------
Beh, vorrei chiarire una cosa. Io programmo da 13 anni in LabVIEW, e da 20 in C, però anche da 11 in C++ e da 7 o 8 in Visual Basic. Al di là di altri linguaggi che ho usato più saltuariamente per scopi professionali e non. Insomma, utilizzo abitualmente linguaggi objected oriented e sarei il primo ad essere felice di una decisa \"sterzata\" di LabVIEW in questo senso.
Quello che non mi va nei vari wizard GOOP sono diverse cose, che sono poi le stesse per le quali non utilizzo i vari generatori di codice C che implementano in C ANSI le primitive della programmazione objected oriented:
- le strutture non sono native, perchè si appoggiano comunque su dati in memoria tradizionali. Di conseguenza, tutti i meccanismi di protezione relativi non esistono. E questo è un problema serio quando si fa codice che va in mano ad altre persone per la manutenzione. Forse tu non hai questo problema, ma io sì.
- l'efficienza decresce, a volte in modo drammatico. Nel campo dell'automazione e del trattamento di segnali si fanno spesso i conti con problematiche di tempistiche ben precise, e più il codice è ottimizzato e deterministico meglio è. Anche se meno elegante. È un po' come sui microcontrollori, se no come si spiegherebbe che il 99% dei compilatori usati per i micro sono C e non C++?
- nel caso specifico di LabVIEW subentra un altro problema: i tool di terze parti specifici di una versione sono un grosso rischio quando, come in questo caso, non sono una libreria specifica per una particolare applicazione ma degli strumenti integrati per l'ambiente di sviluppo. Per di più in questo caso condizionano anche pesantemente le modalità di programmazione. Cosa succede se a un certo punto l'azienda smette di produrlo e uno si trova con una montagna di codice che, per essere portato sotto la nuova versione, deve a questo punto essere modificato ed espanso a mano anzichè con il suo wizard? Nel 90% dei casi finisci per riscriverlo in modo tradizionale. Forse anche questo per te non è un problema, ma per me, con codice che ha cicli di vita di molti anni e una ventina di persone che devono metterci mano, lo è. Oltre tutto, almeno i generatori di codice C/C++ generano file sorgente di testo, ma nel caso di LabVIEW, in cui il formato è proprietario e binario, il problema si aggrava.
Insomma: quando NI dovesse mai decidere di introdurre un supporto simile direttamente all'interno dell'ambiente di sviluppo, quindi con una garanzia di continuità (e verosimilmente anche con una migliore efficienza), sarei il primo a felicitarmene. Ma finchè la struttura resterà così, purtroppo gli svantaggi nell'uso di un tool di questo genere sono per me molti di più dei vantaggi.
Ciao,
Nicola
----------------------------------------
AUTORE: 45
DATA :25/08/2003 - 11:22:23
----------------------------------------
Ciao Charlie!
Ho capito bene adesso, effettivamente c'è un pericolo di rimanere \"scoperti\" utilizzando tali tools.
Però...NI petrebbe fare qualcosa di suo !!
Communque anche a me non piacciono i generatori di codice, infatti il micro SH hitachi solo con il make e gcc, l'IDE hitachi insomma.
----------------------------------------
================================================================================
trend storici
================================================================================
AUTORE: 47
DATA :26/08/2003 - 13:57:21
----------------------------------------
Salve a tutti,
Ho appena iniziato ad usare il labview, quindi vi prego di scusare la mia domanda\"stupida\".
In pratica quello che mi serve è realizzare dei grafici storici di
alcune misure lette da un plc.
Vorrei se è possibile programmare il tempo di registrazione di tale misure,
e far spuntare nelle ascisse quindi ora e data di registrazione. Tutti questi
valori devono essere poi salvati in file per essere rielaborati con excell.
E' possibile fare tutto ciò con gli strumenti messi a disposizione da labview, e se si che strumenti devo usare? O mi serve qualche plug-in o software aggiuntivo ?
Grazie per l'attenzione e complimenti per il magnifico forum.
Nello
----------------------------------------
AUTORE: 3
DATA :26/08/2003 - 14:21:46
----------------------------------------
Ciao e benvenuto anche a te.
La risposta ovviamente è sì, il come dipende dal modo in cui i dati vengono letti.
Se l'interfaccia verso il PLC è un OPC server e i dati vengono letti mediante le funzioni DataSocket di LabVIEW, da un item OPC è possibile leggere anche il timestamp di acquisizione, in modo da avere l'istante in cui il dato è stato letto dal PLC e non quello in cui è stato successivamente letto da LabVIEW. In questo caso un buon riferimento è l'esempio
examples\comm\opc.llb\OPC Quality and Timestamp Attributes.vi
Se invece il dato viene letto con qualche altro tipo di driver, è sufficiente aggiungere un dato in testa ad ogni \"riga\" utilizzando la funzione \"Format Date/Time String\" di LabVIEW, che dà già l'ora sotto forma di stringa con un formato selezionabile liberamente.
Per salvare i dati in modo da poterli rileggere con Excel, basta usare le funzioni di formattazione dei numeri in stringhe e costruire ogni riga concatenando i singoli dati separati da un tabulatore, aggiungendo un fine linea in fondo e scrivendo poi direttamente la stringa nel file.
Volendo leggere i dati in Excel, è probabilmente consigliabile salvare data e ora in due colonne separate. La funzione è sempre la stessa, basta usarla due volte specificando una prima volta il solo formato di data e la seconda il solo formato di ora.
Ciao,
Nicola
----------------------------------------
AUTORE: 47
DATA :26/08/2003 - 14:44:35
----------------------------------------
Ti ringrazio per la tua immediata risposta vado subito a provare,
tutto quello che mi hai detto.
Grazie Nello
----------------------------------------
================================================================================
Pannelli VI sempre attivi
================================================================================
AUTORE: 40
DATA :26/08/2003 - 16:59:35
----------------------------------------
Ho creato un pannello VI che legge dei dati da un OPC server e li deposita su delle variabili globali.
Questo pannello dovrebbe essere sempre attivo indipendentemente dal pannello in cui mi trovo e dovrebbe lavorare nascosto all'utente.
Il problema è che non so come fare. Ho provato con le priorità dei pannelli ma sembra non funzionare.
In C++ usavo una funzione che veniva richiamata da un interrupt ogni 'n' ms impostati. Con il LabView non so come fare.
Ringrazio anticipatamente per l'aiuto.
Alberto.
----------------------------------------
AUTORE: 3
DATA :26/08/2003 - 17:07:13
----------------------------------------
Beh, direi il modo più semplice è mettere un ciclo while in parallelo a tutto il resto dell'applicazione, temporizzato a una frequenza opportuna con un ritardo, che chiami ad ogni loop il tuo VI, senza cambiare nulla a livello di priorità. In questo modo il codice continua a girare alla frequenza volta indipendentemente da quello che succede al programma principale.
Ciao,
Nicola
----------------------------------------
================================================================================
cin
================================================================================
AUTORE: 47
DATA :28/08/2003 - 14:39:58
----------------------------------------
Salve,
ho letto che è possibile creare del codice C all'interno di labview,
il mio problema è che dovrei scrivere un protocollo per una strumentazione che non ha driver per il labview, questo dispositivo ha
la porta 485 con tutta una sintassi d'indirizzamento.
Mi potreste indicare i passi fondamentali ( come se fossi un bambino )per creare questo \"cin\", l'ho letto in un documento pdf ma non ci ho capito molto.
Un'altra cosa, esiste qualcosa di pronto in labview per quanto riguarda invece il protocollo modbus RTU?
Grazie
Nello
----------------------------------------
AUTORE: 3
DATA :28/08/2003 - 18:11:42
----------------------------------------
Spiegare rapidamente in questo forum come fare un CIN e quali regole seguire nella sua scrittura è decisamente impossibile. Faccio solo un elenco di punti, ma per una spiegazione dettagliata occorre rifarsi al manuale \"Using External Code in LabVIEW\", che è installato anche in versione PDF nel LabVIEW bookshelf. Giusto per dare un'idea, nel corso LabVIEW Advanced ai CIN era dedicata quasi una giornata intera (ora non si fanno più, perchè pare non interessino molto a chi viene ai corsi).
I passi sono nell'ordine:
1. Inserire un Code Interface Node in un VI e definire i suoi parametri di ingresso e di uscita.
2. Dal menu di contesto del nodo, creare lo scheletro del programma C (Create .C file)
3. Creare il resto del codice del CIN seguendo tutte le regole previste nella documentazione e utilizzando gli header file e le librerie fornite con LabVIEW. Il Visual C++ o LabWindows/CVI vanno benissimo
4. Compilare il codice ed eseguire il passo di postprocessing previsto con il programma LVSBUTIL.EXE fornito con LabVIEW. Si ottiene un file con l'estensione .LSB
5. Dal menu di contesto del nodo CIN, caricare il file LSB ottenuto.
Se mi posso permettere un consiglio, non affronterei l'uso dei CIN prima di avere una notevole dimestichezza con la programmazione in LabVIEW e soprattutto con le problematiche collegate al memory maneger di LabVIEW, perchè nei CIN si accede direttamente alle variabili interne del programma e se si usano variabili strutturate (tipo gli array) occorre interagire appunto, direttamente nel codice C, con il memory manager di LabVIEW.
Insomma: non è un caso che si affrontassero nel corso avanzato e che alla fine siano stati considerati un argomento un po' complicato anche per chi veniva a seguire quel corso.
Non voglio scoraggiare nessuno, ci mancherebbe, ma affrontare i CIN quando si ha appena iniziato a programmare in LabVIEW non è forse la scelta migliore.
Volendo interagire con codice esterno scritto in C, la scelta migliore per chi ha un'esperienza limitata in LabVIEW ed è invece un buon programmatore in C è probabilmente scrivere una DLL.
Nicola
----------------------------------------
AUTORE: 3
DATA :28/08/2003 - 18:17:03
----------------------------------------
Dimenticavo: per quanto riguarda il modbus, la scelta più semplice è utilizzare gli Industrial Automation OPC server di NI, che contengono un server OPC (i Lookout Protocol Driver) dotato di una serie di driver per vari protocolli industriali fra cui ovviamente il modbus. Da LabVIEW si accede poi ai dati mediante le funzioni DataSocket.
In alternativa, ci sono diversi prodotti di terze parti che forniscono la stessa funzionalità. Uno dei più noti è l'OPC server della Matrikon. Ci sono poi anche aziende che hanno sviluppato e vendono interfacce software per modbus scritte direttamente in LabVIEW. Non ho però al momento riferimenti sotto mano.
Nicola
----------------------------------------
AUTORE: 3
DATA :28/08/2003 - 20:50:06
----------------------------------------
Per inciso, un'altra precisazione: se lo strumento arriva già con una serie di librerie C contenenti funzioni di alto livello, può essere utile scrivere una DLL o un CIN per gestirle, ma se tutto quello che si ha in mano è un manuale di programmazione con la sintassi da usare per comandare lo strumento, è molto più semplice scrivere il tutto direttamente in LabVIEW.
Una porta 485 a bordo del PC, dotata di driver per Windows, viene normalmente vista dal punto di vista del software come una porta seriale qualsiasi. In questo caso tutto quello che occorre per scrivere un driver in LabVIEW sono le funzioni di formattazione/parsing delle stringhe e le funzioni VISA di gestione delle porte seriali. Lo stesso vale se si usa una normale porta RS232 e un convertitore 232/485 esterno. La grandissima maggioranza dei driver per strumentazione disponibili sul sito NI sono scritti esattamente in questo modo.
Nicola
----------------------------------------
AUTORE: 3
DATA :29/08/2003 - 10:33:52
----------------------------------------
[quote="Charlie":268eg8n4]Ci sono poi anche aziende che hanno sviluppato e vendono interfacce software per modbus scritte direttamente in LabVIEW. Non ho però al momento riferimenti sotto mano.
[/quote:268eg8n4]
Ecco alcuni link:
http://www.ewebsite.nl/eng/html/modbus.html
http://www.cardiac.no/English/Products/ ... usLink.asp
http://www.citeng.com/english/producten/Modbus.htm
Questi sono alcuni prodotti abbastanza noti, ma cercando con qualsiasi motore di ricerca se ne trovano molti altri. L'unico che conosco direttamente è quello della CIT Engineering, è fatto per LabVIEW 5 ma a quanto ne so gira ancora correttamente sulle versioni successive.
Da tutti i punti di vista, la scelta di un OPC server è oggi probabilmente preferibile, soprattutto perchè è un'architettura più aperta ad eventuali evoluzioni verso un vero e proprio sistema SCADA. Anche i costi sono abbastanza simili.
Nicola
----------------------------------------
================================================================================
Data e ora di sistema
================================================================================
AUTORE: 36
DATA :01/09/2003 - 09:57:36
----------------------------------------
Ciao,
Volevo chiedere se era possibile con LabView visualizzare la data e l'ora di sistema.
Grazie
Roberto
----------------------------------------
AUTORE: 4
DATA :01/09/2003 - 10:06:21
----------------------------------------
Ciao.
Si può, ci sono diverse funzioni nella paletta \"Time & Dialog\" per esempio \"Get date/Time string\"
Ale.
----------------------------------------
AUTORE: 21
DATA :01/09/2003 - 11:37:37
----------------------------------------
Ciao Roberto
Scusami per l'osservazione ma mi sono dispiaciuto nel vedere il testo di quest' ultima domanda
Visto che recentemente hai partecipato al corso Base 1 di LV ti ricordo che il pomeriggio del secondo giorno hai realizzato un piccolo applicativo che fra le altre cose visualizzava data e ora
.....forse avevamo mangiato troppo ed era calata l'attenzione...giusto?
Bye bye
P.S. ovviamente l'istruttore di quel corso ero io
----------------------------------------
================================================================================
SEMINARIO NATIONAL NAPOLI
================================================================================
AUTORE: 13
DATA :02/09/2003 - 08:24:15
----------------------------------------
CHI DI VOI SEGUIRA' IL SEMINARIO DELLA NATIONAL IL 2 OTTOBRE A NAPOLI , MI FACCIA SAPERE COSI ' OLTRE CHE CONOSCERCI VIA RETE , SI PUO' FARLO ANCHE DAL VIVO......
E MAGARI CI SCAPPA ANCHE QUALCHE CONOSCENZA PER CAMBIARE LAVORO
NON SONO AMMESSI MARCONIANI CHI LA SA LA CAPISCE
----------------------------------------
================================================================================
Invio documento
================================================================================
AUTORE: 12
DATA :04/09/2003 - 12:55:42
----------------------------------------
Salve ragazzi,
innanzitutto complimenti per il forum!
Posso chiedervi come potrei fare ad inviare un documento ad un indirizzo di posta elettronica da un vi in modo automatico?
Grazie.
Ele
----------------------------------------
AUTORE: 3
DATA :04/09/2003 - 19:47:06
----------------------------------------
Ciao e benvenuto.
In LabVIEW 7 il supporto per la spedizione di email è integrato, con supporto di attachment. Le funzioni relative si trovano in Communication->SMTP-Email. Vista la domanda, posso però ipotizzare che tu stia usando una versione diversa. In questo caso ci sono due opzioni:
- utilizzare l'Enterprise Connectivity Toolset di LabVIEW, che è un pacchetto add-on che include quello che una volta si chiamava Internet Toolkit. INclude gli stessi VI che oggi sono compresi in LabVIEW 7, quindi con supporto SMTP completo, inclusi gli attachment.
- utilizzare un pacchetto add-on freeware o LGPL. Il più noto è \"Internet Connectivity Tools\", incluso in OpenG. Ecco il link:
http://www.openg.org/tiki/tiki-index.ph ... vity+Tools
Anche questo supporta attachment. Il pacchetto include fra le altre cose anche un client POP per leggere la posta che invece LabVIEW non supporta direttamente nemmeno nella versione 7.
Ciao,
Nicola
----------------------------------------
AUTORE: 12
DATA :05/09/2003 - 09:12:07
----------------------------------------
Grazie Nicola!
Effettivamente non ho ancora a disposizione la versione 7 e non sapevo più cos'altro provare.
Ele
----------------------------------------
AUTORE: 3
DATA :06/09/2003 - 06:42:35
----------------------------------------
Solo un'avvertenza. Se hai intenzione di usare OpenG e intendi distribuire il tuo codice in un prodotto commerciale, leggi però con attenzione la licenza. OpenG è soggetto alla licenza LGPL (Lesser GNU Public License). È meno restrittiva della GPL, che richiederebbe al tuo codice distribuito di essere completamente Open Source, ma obbliga ugualmente a ridistribuire la libreria OpenG utilizzata, completa di sorgenti. Il codice dell'applicazione deve quindi chiamare dinamicamente le librerie OpenG, non staticamente, e le librerie utilizzate devono essere distribuite nella forma originale. I dettagli precisi sono nel testo della licenza.
Nicola
----------------------------------------
AUTORE: 12
DATA :08/09/2003 - 08:23:57
----------------------------------------
Grazie ancora per il suggerimento.
Ciao.
Ele
----------------------------------------
================================================================================
Aprire un Sub VI utilizzando metodi e proprieta'
================================================================================
AUTORE: 46
DATA :05/09/2003 - 08:36:21
----------------------------------------
Ciao a tutti
Il mio quesito e' un po' particolare e orientato a soli scopi didattici.
E' possibile, utilizzando LW 6.0, comandare l'apertura di su sub VI in modo che di quest'ultimo sia solamente visibile il pannello frontale, senza che per l'operatore vi sia la possibilita' di andare a modificare i valori in in esso contenuti, impostati in precedenza ?
Mi piacerebbe, ma non so se e' possibile e per questo chiedo il parere agli esperti, se cio' potesse essere ottenuto usando metodi e proprieta'.
Grazie per l'attenzione
Claudio
----------------------------------------
AUTORE: 3
DATA :05/09/2003 - 19:47:54
----------------------------------------
Certamente sì. Ci sono almeno due modi diversi.
- Triviale ma velocissimo: mettere una decoration trasparente (quella dei Classic Control però, quelle nuove funzionano in modo diverso) grande come tutto il VI sopra ai controlli. Non si vede, ma impedisce di manipolarli. Se l'effetto deve essere abilitabile e disabilitabile programmaticamente durante l'esecuzione, basta usare invece un LED trasparente e renderlo visibile/invisibile con un property node.
- Meno triviale e più elegante, ma più complesso: usare la proprietà \"Disable\" di ciascun controllo e settarla a 1, che vuol dire disabilitato ma di aspetto normale. cioè non in grigetto. Può essere fatto con un ciclo for. Basta aprire un reference al VI con il VI server, prendere la proprietà \"Front Panel\", che restituisce un refnum. Collegare il refnum a un altro property node e prendere la proprietà \"Controls[]\". Passare questo array in un ciclo for e con un property node settare la proprietà \"Disable\".
Il secondo metodo ha il vantaggio di potere abilitare l'effetto selettivamente per i controlli che interessano.
Ciao,
Nicola
----------------------------------------
AUTORE: 46
DATA :07/09/2003 - 13:01:29
----------------------------------------
Innanzitutto grazie per la risposta Charlie.
Ho cercato di seguire le indicazioni relativamente al modo più elegante, ma ho avuto problemi sicuramente derivati dalla mia scarsa capacità. In particolare, non sono riuscito a vedere l'apertura del front panel se non aggiungendo la proprietà FP.Open e dichiarandola true; dopodichè effettivamente il front panel si apre ed effettivamente i controllii in
esso presenti risultano essere disailitati e in grigetto (ho impostato 2 nella proprietà Disable).
Però succedono due cose strane: se clicco dentro ai controlli mi viene data la possibilità di modificarli come se niente fosse e, infine, non sono in grado di eliminare barre di scorrimento, riga dei menù, titolo, pulsanti di avvio, arresto, ecc. dal sub VI appena aperto.
A dire il vero, lavorando un po' sulle proprietà, ho notato che la Edit mode consente di aprire il VI con solo il front panel, però sussiste il problema di riuscire ugualmente a modificare i controlli con l'aggravante che poi non riesco più a chiudere il VI una volta analizzato i dati in esso presenti.
Ciao.
----------------------------------------
AUTORE: 3
DATA :07/09/2003 - 14:38:51
----------------------------------------
Allora torniamo un po' indietro perchè qui manca un passo fondamentale.
Quasi tutto ciò di cui hai bisogno si trova nelle impostazioni del VI, a cui si accede con un click destro sull'icona in alto a destra e selezionando \"VI Properties\", oppure dal menu \"File->VI Properties\", o ancora semplicemente con Ctrl-I. Qui, nella categoria \"Window Appearance\", selezionando \"Customize\", si possono settare tutte le proprietà di cui hai bisogno. In particolare il fatto che il VI apra automaticamente il proprio pannello frontale quando viene chiamato da un altro VI e che lo richiuda al termine della sua esecuzione, la visibilità dei menu, delle scrollbar e della toolbar.
Se infine i controlli risultano disabilitati ma possono essere modificati, significa che il VI non è in esecuzione. Tutto quanto sto dicendo si applica a un VI che è in esecuzione all'interno di un'applicazione, non a un VI aperto in Edit Mode per modificarlo nell'ambiente di sviluppo. D'altronde non è questo ovviamente il modo in cui il VI va presentato all'utente di un'applicazione finale.
Giusto per capicrci, un esempio di come settare un VI perchè funzioni come un popup quando viene chiamato da un altro VI in esecuzione è negli esempi di LabVIEW:
examples\general\viopts.llb\Dialog Box Demo.vi
Nicola
----------------------------------------
AUTORE: 46
DATA :09/09/2003 - 07:48:04
----------------------------------------
Ciao Nicola
Grazie per l'attenzione e per la risposta.
In realta' cio' che avevo in mente era proprio qualcosa di didattico; mi sarebbe piaciuto introdurre i concetti di priorita' e metodi usufruendo dell'esempio sul quale stiamo ragionando, ed e' per questo motivo che vorrei evitare di utilizzare le possibilita' di configurazione del sub VI.
Comunque devo dirti che dopo qualche ulteriore prova sono riuscito nel mio intento.
Pero' mi e' venuto un nuovo dubbio, che cerchero' di illustrarti anche se chiedo scusa fin d'ora per l'imprecisione del linguaggio.
Ho notato che se apro il sub VI nel modo \"classico\" (senza utilizzare il VI server) il VI dal quale viene lanciato (nel caso specifico un'acquisizione da una mia scheda) smette di girare, riprendendo il funzionamento solo al termine dell'esecuzione del sub-VI.
Invece aprendo il sub-VI con il VI server il VI principale continua nel suo funzionamento come se niente fosse; ho dato una letta al manuale utente di LW nel capitolo dedicato al VI Server, ma non mi sembra di aver letto niente a proposito della possibilita' di far funzionare due VI in contemporanea sulla stessa macchina.
Cosa mi pui dire in proposito ?
Grazie
Claudio
----------------------------------------
AUTORE: 3
DATA :09/09/2003 - 08:37:16
----------------------------------------
Beh, in realtà non è il VI che smette di girare, è solo il loop in cui si trova la chiamata al subVI. Poi chiaramente se si tratta dell'unico loop nel VI, è il VI stesso a sembrare fermo.
Il modo semplicissimo di non fare \"smettere\" di girare il VI chiamante e di fare girare in parallelo un numero arbitrario di VI (o di porzioni di uno stesso diagramma) è quello di usare loop paralleli. Utilizzando due o più cicli while in paralleo, quello che chiama il VI si ferma nella chiamata, ma gli altri continuano a girare. Il bello di LabVIEW è proprio in questa possibilità nativa e intrinseca di parallelismo, che non esiste in modo così semplice nei linguaggi di programmazione procedurali.
Il fatto che la chiamata sia asincrona non è intrinseca del VI server. Con il VI server ci sono due modi di chiamare un VI:
- utilizzare il metodo Run, nel qual caso c'è l'opzione di non fare attendere il VI che ha eseguito la chiamata. Questo però non è equivalente alla chiamata di un subVI, perchè equivale ad aprire il VI e premere la freccia di esecuzione, facendolo quindi girare come VI top level.
- utiulizzare un Call By reference node, nel qual caso il tutto equivale a una normale chiamata di subVI, tanto è vero che si possono passare parametri di ingresso e leggere i parametri di uscita. In questo caso il nodo termina solo quando è terminata la chiamata del subVI.
L'avvertenza importante, nel caso si utilizzino cicli paralleli, è quella di proteggere con semafori di mutua esclusione risorse che non consentano accesso contemporaneo, in modo da non generare corse critiche. Questo vale sia per risorse hardware (ad esempio porte seriali) che per variabili globali o locali del programma scritte in più punti. In LabVIEW ci sono opportune funzioni di sincronizzazione, inclusi i semafori, oppure si possono realizzare semafori di mutua esclusione impliciti utilizzando subVI non rientranti che incapsulano le funzionalità non condivisibili. Qui, naturalmente, il discorso si fa un pochino più complesso.
Nicola
----------------------------------------
AUTORE: 46
DATA :10/09/2003 - 10:28:15
----------------------------------------
Sto continuando a fare delle prove con il mio sub-VI didattico ed ho trovato molto interessante la considerazione inerente i due modi di chiamare il VI tramite il VI server.
Nella tua precedente risposta non mi è però chiaro cosa significa \" non è che il VI smette di girare, è solo il loop in cui si trova la chiamata al subVI\".
D'altra parte penso che (probabilmente errando) considerando che un subVI si comporti come una subroutine di un linquaggio tradizionale, nel momento in cui il sub-VI viene posto in esecuzione questo prende il controllo e finchè non termina la sua esecuzione il processo principale non può riprendere.
Ciao
Claudio
----------------------------------------
AUTORE: 4
DATA :10/09/2003 - 14:05:01
----------------------------------------
Ciao Claudio, provo a chiarire io quello che intendeva dirti Charlie.
Nel tuo VI principale ci possono essere diversi While Loop che girano parallelamente, quando chiami il tuo Sub-VI di prova solo il While Loop da cui viene chiamato si \"ferma\" e aspetta la fine dell'esecuzione del Sub VI, gli altri Loop paralleli continuano a girare anche mentre il Sub VI è in esecuzione.
Spero di essermi spiegato bene.
Ale
----------------------------------------
AUTORE: 3
DATA :11/09/2003 - 08:11:59
----------------------------------------
Al di là dei parecchi esempi che si possono trovare nella developer zone del sito NI contenenti loop paralleli, ecco un link a un'Application Note che, anche se un po' avanzata, chiarisce abbastanza bene i concetti di base nella realizzazione del parallelismo in LabVIEW.
http://zone.ni.com/devzone/conceptd.nsf ... 2AA4FBE586
256A37005541D3?opendocument
La stessa application note è anche installata da LabVIEW sul PC nel LabVIEW bookshelf.
Nicola
----------------------------------------
================================================================================
Conversione da Picture a IMAQ
================================================================================
AUTORE: 50
DATA :06/09/2003 - 07:39:24
----------------------------------------
Ho scaricato la libreria per l'uso della webcam che consgliavate proprio in questo forum...
Però le procedure che usano IMAQ non vanno con LabVIEW 7... ho scaricato il NI-IMAQ nuovo... ma nulla... sicuramente i VI sono differenti.
Come posso fare per rimediare a questo?
Oppure... come convertire le strutture picture in IMAQ?
----------------------------------------
AUTORE: 4
DATA :22/09/2003 - 15:18:35
----------------------------------------
Sono riuscito a ricreare solo ora la condizione per fare anch'io la prova, ho installato LV 7 e NI Vision 7 ed effettivamente i VI della libreria di conversione da IMAQ a \"webcam\" e viceversa non funzionano (freccia rotta).
Il problema è dovuto al fatto che tra versione LV6 e relativo IMAQ vision e LV7 il tipo di dato \"IMAQ\" è stato modificato: metre prima era un cluster contenente una stringa e un U32 ora è un nuovo tipo di dato \"IMAQImage\" di conseguenza le funzioni della libreria per la webcam hanno problemi di \"different data types\" cmq basta solo sostituire nei VI di conversione gli ingressi e le uscite \"vecchio stile\" con altre di nuovo tipo \"IMAQImage\" e \"dovrebbe\" funzionare tutto, dico dovrebbe perchè non ho ancora provato con una webcam.
Ciao, Ale.
----------------------------------------
================================================================================
NIspy per GPIB
================================================================================
AUTORE: 51
DATA :06/09/2003 - 08:48:59
----------------------------------------
Bungiorno ho trovato il vostro Forum molto interessante; essendo la prima volta che scrivo altre ai saluti colgo l'occasione per sottoporvi un mio problema
Sono un utente Labview, da poco tempo; l'ho utilizzato per interfacciarmi con strumentazione di misura. Sto usando NIspy per vedere il flusso di comandi tra uno sturmento di misura e una scheda GPIB.
I comandi che NIspy \"cattura\" sono però limitati a 64Bytes e perdo gran parte dele informazioni che contengono in quanto il software provvede a abbreviarli.
Come posso fare a leggere l'intero comando caturato senza che NI spy lo abbrevi?
P.S. Ho provato a settare la dimensione delle DATA MODE BUFFER a 64Kbytes, ma ottenendo lo stesso risultato con buffer settatoa 64Bytes
Grazie
----------------------------------------
AUTORE: 3
DATA :06/09/2003 - 09:16:56
----------------------------------------
Grazie e benvenuto a bordo!
Non sono sicuro di avere capito bene qual è l'esatto campo che risulta \"tagliato\" fra quelli visualizzati. In ogni caso la lunghezza del buffer settabile nelle opzioni di NI Spy non riguarda la lunghezza della linea che è visualizzata nella finestra principale, ma la visualizzazione del buffer nella finestra di dettaglio, cioè quella a cui si accede mediante il comando Properties dopo avere selezionato una specifica linea di cattura (o semplicemente battendo un Return). Se il messaggio include anche il trasferimento di un buffer di dati, nella finestra che si apre compare un tab \"Buffer\" che visualizza il buffer corrispondente, altrimenti no. Questo è il buffer a cui si applica il settaggio nelle opzioni, e che è limitato a 64 byte se non si cambia l'impostazione di default.
Tutto questo si applica a NI Spy 2.0, ma credo fosse identico anche in versioni precedenti. Non so se ho risposto alla domanda, in ogni caso ricordo di avere cambiato l'impostazione almeno in qualche occasione e sono sicuro che funzionasse.
Nicola
----------------------------------------
AUTORE: 51
DATA :08/09/2003 - 15:34:12
----------------------------------------
Grazie mille era proprio quello che mi serviva; in più ti confermo che funzione sul mio NI spy 1.5.0
----------------------------------------
AUTORE: 100
DATA :18/11/2003 - 14:22:25
----------------------------------------
Ciao a tutti, vi chiedo un grosso favore:
dovendo incominciare a lavorare con l'interfacciamento di labview con strumenti di misura via IEEE488, volevo sapere se avete un pò di documentazione utile a questo scopo.
grazie 1000!
----------------------------------------
================================================================================
DRIVER in LABVIEW
================================================================================
AUTORE: 52
DATA :07/09/2003 - 22:43:12
----------------------------------------
Cualkuno puo aiutarmi. Cherko lo driver del oshiloscope HM 507 in LABVIEW 6.1.
----------------------------------------
AUTORE: 3
DATA :08/09/2003 - 07:54:52
----------------------------------------
Hello Aleksander.
I am replying in English, in case it's a bit easier for you, but please let me know if you prefer to have a reply in Italian.
I had a look at the Hameg web site, and they provide a serial LabVIEW driver for the HM 507, but it's written in LabVIEW 5.0 and the VIs don't include the diagrams, so there's no way to convert them to a newer version. Anyway, the direct link is
http://www.hameg.de/_downloads/labview/HM507_RS232.zip
I also had a look at the NI web site, and the instrument driver area provides several Hameg drivers. Although none of them is specifically for the 507, you may probably find a quite similar one and modify it for your model. In case it may help, here's the link:
http://search.ni.com/query.html?lk=1&co ... yout=IDNet
I couldn't find any additional references to existing drivers. Another possible hint is posting the question to Info-LabVIEW. Most companies providing software and hardware products related to LabVIEW are subscribers of this list, and there's a chance that someone has an available driver, even if it isn't published on the Internet.
In case you are interested, the web page to subscribe the list is:
http://www.info-labview.org
I would also suggest to directly contact Hameg. They provide the serial drivers available on the web site for free, but they might be selling different driver versions. Even if they don't, they could be able to provide the same version which is on the web site converted to LabVIEW 6.1.
I hope this may help. Just out of curiosity, where are you from? Visitors from different countries are always most welcome in our little forum.
Regards,
Nicola Chiari
----------------------------------------
================================================================================
Cosa vi piace di LV?
================================================================================
AUTORE: 21
DATA :08/09/2003 - 09:28:19
----------------------------------------
Ciao a tutti
L'altra sera stavo discutendo di sviluppo SW in contesti industriali con un mio amico imprenditore, produttore di macchine a controllo numerico.
Sebbene siano evidenti i punti di forza di LV, il mio interlocutore sosteneva che il tempo da spendere in formazione prima di poter introdurre LV in azienda era tale da sconsigliarne l'acquisto.
L'unico motivo che lo poteva spingere verso LV, era il fatto che lo sviluppo software è indipendente dal sistema operativo, caratteristica di suo interesse in quanto si stava tentando di introdurre Linux in azienda.
Detto questo vorrei da voi sapere quali siano le esigenze o le peculiarità che vi hanno spinto ad usare LV, e se per caso qualcuno di voi lo usa in ambienti di produzione industriale, quale sia stato il motivo della sua introduzione in azienda.
Vorrei che questo messaggio non sia il solito \"botta e risposta\" fra 2 soli utenti, ma diventi spunto di riflessione e partecipazione per più utenti ..... in fin dei conti vi chiedo solo cosa vi piace di LV
Bye bye
----------------------------------------
AUTORE: 3
DATA :08/09/2003 - 09:46:22
----------------------------------------
E anche, se posso intomettermi, cosa NON vi piace e in quali situazioni ne sconsigliereste l'utilizzo. È per tanti versi un'informazione non meno interessante.
Nicola
----------------------------------------
AUTORE: 15
DATA :08/09/2003 - 16:38:02
----------------------------------------
Quando prendo appunti faccio schemini con frecce e simboli, quando spiego qualcosa ad un collega ho bisogno di un foglio o una lavagna per disegnare, persino quando penso mi si disegnano degli schemini in mente.
Quando devo esprimenre in modo formale il mio pensiero trovo molto più semplice utilizzare un linguaggio grafico piuttosto che un linguaggio tradizionale, composto da una sequenza di parole e simboli.
Ad esempio in un linguaggio come il C si usano indentazioni, righe di asterischi, alcuni modi di andare a capo, come espedienti grafici per rendere più leggibile il codice.
Con questi espedienti il programmatore tenta di disegnare gli schemi che ha in mente, di delimitare parti di codice e di evidenziare le relazioni tra varie parti di codice.
Purtroppo i linguaggi tradizionali non consentono di disegnare, e il programmatore usa spazi e asterischi dove in realtà vorrebbe mettere un insieme o una linea.
Labview è un linguaggio di programmazione grafico semplice flessibile e potente me ne sono innamorato a prima vista (ormai parecchi anni fa).
Romualdo
----------------------------------------
AUTORE: 4
DATA :24/09/2003 - 11:43:26
----------------------------------------
Concordo completamente con le idee \"pro LV\" espresse da Rom, credo però che la preferenza tra un linguaggio tradizionale e uno grafico, come LV, sia solo una questione di abitudine e che non c'è un linguaggio migliore degli altri in assoluto, tutto dipende da quello che devi realizzare ma nel campo della misura del controllo e dell'automazione LV non ha rivali.
LV7 presenta molte novità utili a un programmatore ma mi da' l'idea che NI stia spingendo di piu' verso la facilitazione \"estrema\" di LV (vedi VI express) per allargarne la commerciabilità verso un utente \"meno esperto\", piuttosto che svilupparlo maggiormente per chi lo usa a livello professionale.
Ale.
----------------------------------------
================================================================================
PCI 1411
================================================================================
AUTORE: 53
DATA :08/09/2003 - 10:26:55
----------------------------------------
Ciao a tutti.
Ho installato una scheda PCI 1411 a cui ho collegato una videocamara Urmet Sideltronic (CCIR).
Avviando MAX e facendo il grab visualizzo solo linee bianche e nere alternate e dopo una decina di secondi (dipende dalla grandezza della finestra di acq) ho l'errore DMA TImeout.
Versione MAX: 2.2.0.3010
Versione NI-IMAq Sotware: 2.5.2.
Qualsiasi suggerimento è apprezzato.
Mauro.
----------------------------------------
AUTORE: 3
DATA :08/09/2003 - 19:17:02
----------------------------------------
Non so dare una risposta precisa, ma so che si tratta di un problema non raro. Ricordo in passato schede che richiedevano di essere inserite in uno slot con bus mastering abilitato. In questo caso l'indicazione era normalmente quella di inserire la scheda in uno slot PCI con la numerazione più bassa possibile, ovvero quello più vicino alla CPU. Questa situazione non portava però alla visualizzazione di un'immagine come quella che descrivi.
L'errore di DMA timeout è normalmente indicazione di una quantità di dati proveniente dalla scheda inferiore a quella attesa. Ho visto suggerimenti di vario tipo sul sito NI al proposito. L'indicazione di massima come prima diagnostica è quella di ridurre la dimensione della finestra e vedere se questo elimina il problema.
Se l'inglese non è un problema, qui sotto c'è il link al sito NI con alcune discussioni sull'argomento e alcune risposte da parte del supporto tecnico. Siccome il link è lungo più o meno dieci righe (!), nel caso che nel messaggio non risultasse corrattamente cliccabile si tratta del risultato della ricerca, fatta su tutto il sito, della stringa
+\"dma timeout\"
Mi spiace non potere essere più preciso di così.
Nicola
http://search.ni.com/query.html?tx0=&op ... &ql=a&si=0
----------------------------------------
================================================================================
jpeg su front panel
================================================================================
AUTORE: 45
DATA :08/09/2003 - 15:55:07
----------------------------------------
Ciao a tutti.
Scusate l'ingnoranza che mi sovrasta, volevo chiedere a qlc di come si fa
ad aggiungere un immagine .jpeg sul front panel per decorazione del pannello.
Un grazie a tutti e scusate ancora.
P.S. In relazione alla discussione \" cosa vi piace e cosa non vi piace in lv\":
Mi piace: la facilità di utilizzo del lv soprattutto con l'HW.
Non mi piace: il debbuger, la mancanza di possibilità di creare applicazioni MDI.
----------------------------------------
AUTORE: 45
DATA :08/09/2003 - 16:03:32
----------------------------------------
Scusate ci sono riuscito!
Avolte mi dimentico del copia/incolla!!!!
Ciao!
----------------------------------------
================================================================================
Fatal error con HiQ
================================================================================
AUTORE: 10
DATA :09/09/2003 - 07:33:41
----------------------------------------
Ciao,
prima di tutto mi presento: sono Massimo, di Brescia, lavoro c/o una azienda di componentistica per automobili.
Sono venuto a conoscenza del forum attraverso un corso di data acquisition tenuto da Charlie c/o NI lo scorso giugno, e trovo che questo sia uno strumento molto utile. Credo di essere stato uno degli utenti \"storici\" di LV visto che lo utilizzo dalla versione 3.0. Nonstente ciò, la mia conoscenza del pacchetto è ancora piuttosto superficiale, utilizzandolo occasionalmente.
Veniamo al problema di cui parlavo nel titolo: ho un semplice programma di acquisizione dati scritto in LV 5.1 (e che gira sotto WIN 2000) che produce attraverso HiQ un report che poi viene stampato. Fin qui tutto chiaro, no? Sarebbe tutto chiaro se non fosse che da un po' di tempo la stampa non funziona più senza che nessuno abbia apportato modifiche al programma e HiQ restityuisce un messaggio di \"Fatal error in line -1\" quando tenta di eseguire un semplicissimo script che aggiorna la visualizzazione del grafico.
A complicare ulterioremente la cosa, aggiungo che LO STESSO IDENTICO PROGRAMMA CON LE STESSE VERSIONI SIA DI LV CHE DI HIQ GIRA SENZA PROBLEMI SU DI UN ALTRO PC SEMPRE CON WIN 2000 A BORDO.
Ho già provato a disinstallare e reinstallare Hiq, ma il problema rimane.
C'è qualcuno che ha qualche idea?
Grazie in anticipo
----------------------------------------
AUTORE: 3
DATA :09/09/2003 - 08:47:44
----------------------------------------
Ciao Massimo, e naturalmente benvenuto! È sempre un grande piacere quando qualcuno che ho visto a un corso si rifa vivo.
Mi spiace però che la domanda mi colga un po' perplesso. Non ho mai sentito di un simile errore. Non che abbia mai utilizzato pesantemente HiQ, onestamente, ma non mi è mai capitato un errore del genere. Ho appena dato un'occhiata anche sulla knowledge base di NI e non ho trovato nulla di simile.
In primo luogo verificherei, per quanto banale possa essere, che lo script giri se lanciato direttamente all'interno di HiQ. Se gira, il problema è verosimilmente a livello di LabVIEW o di ActiveX. In questo caso, personalmente farei i seguenti due tentativi, nell'ordine:
- reinstallare LabVIEW, invece di HiQ
- aggiornare Windows 2000 all'ultimo service pack, in modo da ripristinare eventuali componenti mal configurati dell'interfaccia ActiveX di sistema
Per scrupolo farei anche una scansione del sistema con un antivirus aggiornato, prime di scoprire che c'è un problema di sistema derivante da qualche intruso.
L'altro dubbio che mi viene, ma ora non ho HiQ sul mio PC per verificarlo, è che HiQ torni un errore di quel genere quando si cerca di eseguire uno script che non esiste. In questo caso potrebbe essere un problema di path, magari derivante dal fatto che le directory di installazione e quella dell'applicazione sono diverse fra i due sistemi. In questo caso il problema dovrebbe essere facile da identificare.
Spero che nel tutto ci sia qualche spunto utile.
Un saluto,
Nicola Chiari
----------------------------------------
AUTORE: 10
DATA :09/09/2003 - 11:25:38
----------------------------------------
Ciao,
ho verificato i tuoi suggerimenti e:
lo script, ma non soltanto quello, tutti gli script anche creati al momento NON girano all'interno di HiQ che restituisce sempre Fatal error.
Inoltre ho reinstallato sia LV che HiQ,
Ho verificato che i 2 sistemi avessero la stessa versione di WIN 2000 e stesso SP.
La scansione dei virus viene fatta automaticamente da server ogni venerdì, pertanto escludo ci possa essere un virus nel sistema.
Inoltre, vorrei specificare bene che il tutto ha funzionato bene sulla stessa macchina fino al 31/7/03 e che da quella data nessuno ha fatto modifiche di qualsiasi genere al programma nè alla macchina.
Prorpio non riesco a capirci più un accidente.
Grazie per la tua cortese quanto rapida risposta.
Massimo
----------------------------------------
AUTORE: 3
DATA :09/09/2003 - 12:53:41
----------------------------------------
Onestamente non saprei cos'altro dire, ma a questo punto se tutti gli script non vanno, temo ci sia anche qualche problema a livello di sistema operativo. Personalmente ho sempre diffidato un po' delle situazioni in cui un PC, \"senza toccare nulla\", smette di funzionare all'improvviso. Specialmente quando, come mi pare di capire, ci sono di mezzo le ferie estive. Alla base di comportamenti di questo genere alla fine trovo in genere qualche intervento di cui non si era a conoscenza, oppure un antivirus non aggiornato, anche se fa scansioni periodiche. Cosa quest'ultima che, per scrupolo, per quello che costa controllerei comunque, anche perchè in agosto c'è stata una proliferazione insusuale di virus imparentati con il famoso Blaster e che vengono rilevati solo con le ultime definizioni degli antivirus più diffusi.
Al di là di questo temo di non potere dire molto di più. Quando ho questo genere di problemi e non li risolvo in breve tempo, in genere prendo il toro per le corna e reinstallo il sistema operativo. Un'avvertenza importante è anche effettuare dopo l'installazione un Windows Update e aggiornare almeno i componenti critici. Purtroppo la vulnerabilità di Windows è ormai legata non solo alla presenza di un antivirus ma anche all'esecuzione degli aggiornamenti previsti da Microsoft.
Con questo non intendo insistere per forza sul discorso virus, ma terrei presente la cosa nel caso non ci fossero alternativa valide alla reinstallazione.
In ogni caso, prima di ricorrere a misure drastiche. sentirei anche il supporto NI. Magari c'è un CAR aperto al proposito anche se non c'è nulla nella parte pubblica del sito.
Un'ultima cosa, per quanto banale: oggi non è più disponibile, ma mi pare di ricordare che esistesse tempo fa una versione dimostrativa di HiQ limitata nel tempo, che si poteva scaricare dal sito. HiQ è stato installato dal CD originale di LabVIEW 5.1, oppure non è che per caso.....?
Nicola
----------------------------------------
AUTORE: 10
DATA :11/09/2003 - 13:30:14
----------------------------------------
Ciao,
credo che purtroppo non ci sia nulla da fare, infatti dopo averne fatte di tutti i colori sono riuscito a risolvere il problema solo utilizzando una macchina con win NT.
Effettivamente non c'è scritto da nessuna parte che HiQ \"gira\" sotto win2000, ma solo sotto 95, 98 e NT.
Quello che mi lascia restare un poco perplesso è il fatto che lo stesso programma gira su di un'altra macchina con WIN 2000. Sicuramente è un problema di protezione, o di una qualche DLL che differisce da una macchina all'altra. In ogni caso credo di aver risolto il problema e di averne creato contemporaneamente uno più grosso: visto che HiQ ha problemi a girare sotto win2000, che cosa uso per fare report un po' più decenti?
Grazie comunque per il supporto.
Massimo
----------------------------------------
AUTORE: 3
DATA :11/09/2003 - 14:15:18
----------------------------------------
Beh, a dire la verità che gira sotto Windows 2000 è detto:
http://sine.ni.com/apps/we/nioc.vp?cid=1004&lang=US
Però bisogna vedere la versione. Non ricordo a memoria quale versione di HiQ ci fosse nel CD di LabVIEW, per cui che sia un problema di versione è possibilissimo, anche perchè quella inclusa in LabVIEW 5 è sicuramente precedente al rilascio di Windows 2000.
Per i report, dipende. Le opzioni sono tante. Le principali - diverse per sforzo di programmazione e costo - sono:
- usare programmaticamente un qualunque pacchetto di presentazione/word processing/stampa che fornisca un'interfaccia ActiveX
- salvare file dati e utilizzare supporto per macro o template in un programma di reportistica esterno caricandovi i dati salvati
- utilizzare il Report Generation Toolset per Microsoft Office
- Diadem
Gli ultimi due sono ovviamente prodotti NI. Di Diadem esiste anche una versione di valutazione che si può scaricare liberamente dal sito NI.
Naturalmente dipende anche molto dal \"taglio\" che deve avere il report. È inutile usare Diadem se si vogliono stampare tabelle, così come è inutile usare il solo Word se si vogliono grafici tridimensionali con ricalcolo automatico di formule.
Nicola
----------------------------------------
AUTORE: 10
DATA :11/09/2003 - 14:50:31
----------------------------------------
Effettivamente NI dice che HiQ è compatibile con WIN2000 nella pagina dove ti dice anche quanto costa, ma poi, nela scheda prodotto trovi solo win 95/98/NT...
In più ho chiesto a NI quale fosse l'ultima versione, considerando che nel CD di LV5.1 c'è la versione 4.1 di HiQ e che nel CD di LV6.0 c'è la 4.5.
Sono tutti caduti dalle nuvole dicendomi che la 4.5 non l'avevano mai sentita!
In ogni caso credo che prenderò una delle strade alternative da te tracciate per i report che devo confezionare.
Non sò ancora quale, però. Io sarei più propenso per l'utilizzo di Office, anche per ragioni economiche e perchè credo che le funzioalità incluse possano bastare.
Massimo
----------------------------------------
AUTORE: 3
DATA :12/09/2003 - 09:10:30
----------------------------------------
Caduti dalle nuvole per la versione 4.5? Questa è bella, è anche citata più e più volte sul sito in documenti pubblicati nel 2000! Forse chi ha risposto non aveva una grande dimestichezza con il prodotto.
Ho girovagato un pochino ioeri sera fra forum e articoli tecnici. Anche se nella documentazione di HiQ 4.1 non compare Windows 2000 - per ovvi motivi essendo stata rilasciata prima - ci sono varie pagine che parlano esplicitamente della versione 4.1 usata su Windows 2000. Però si parla sempre di HiQ versione 4.1 update 1, che è un patch pubblico rilasciato da NI nel 2001, quindi non esistente nel CD di LabVIEW 5.1 e successivo anche al rilascio di Windows 2000.
Non vorrei che questo update fissasse proprio problemi di compatibilità con Windows 2000. Forse varrebbe la pena di provare. È disponibile sul sito ftp di NI:
ftp://ftp.ni.com/support/hiq/win32/Updates/
Nicola
----------------------------------------
AUTORE: 10
DATA :25/09/2003 - 08:00:47
----------------------------------------
Ciao,
non ti far trarre in inganno dal titolo, semplicemente provando e riprovando varie volte a reinstallare HiQ, ripulendo il registro, ecc. sono giunto alla conclusione che [b:38lkh38h]HiQ 4.5 non è in grado di lavorare con LV5.1 su piattaforma WIN2000[/b:38lkh38h].
L'inconveniente del fatal error sparisce eseguendo una pulizia del registro, ma solo fino a quando si usa HiQ 4.5 da solo. Alla prima chiamata di LV5.1, l'inconveniente ricompare.
La soluzione trovata consiste nell'usare la versione 4.1 anzichè la 4.5. Con quest'ultima non ci sono problemik. L'unico inconveniente è che ora devo rifare tutti i report nella versione 4.1 perchè non esiste il modo di salvarli nel formato della versione precedente sotto Hiq4.5.
Ti ringrazio ancora per la gentile e rapida consulenza.
Ci sentiamo presto
Max
----------------------------------------
================================================================================
LabVIEW e Neural Network
================================================================================
AUTORE: 16
DATA :09/09/2003 - 11:07:49
----------------------------------------
Ciao a tutti,
Qualcuno mi sa dire se esiste qualche VI di \"neural network\" (l'equivalente in labVIEW della toolbox Matlab, ad esempio) ? E, in tale caso, dove li posso trovare ?
Grazie.
David
----------------------------------------
AUTORE: 4
DATA :09/09/2003 - 12:34:33
----------------------------------------
Ciao Davide,
guarda in questa discussione [url:2lvprgx6]http://forum.ilvg.it/viewtopic.php?t=77[/url:2lvprgx6]
Ciao,
Ale.
----------------------------------------
AUTORE: 16
DATA :09/09/2003 - 13:26:48
----------------------------------------
Grazie Ale !!
----------------------------------------
================================================================================
Eseguire un vi da web
================================================================================
AUTORE: 12
DATA :09/09/2003 - 14:25:06
----------------------------------------
Scusate magari la banalità: e' possibile far eseguire un vi attraverso un account da server web? Premetto che il vi non gestisce solo delle pagine web. Se sì, mi sapreste suggerire come fare?
Grazie,
Ele
----------------------------------------
AUTORE: 3
DATA :09/09/2003 - 14:36:22
----------------------------------------
È possibile prima di tutto fare il monitoraggio remoto di un VI attraverso un browser web in modo \"statico\", cioè con il refresh nudo e crudo di uno screenshot di un pannello in esecuzione. Per questo è sufficiente un browser senza nulla di aggiuntivo installato.
Inoltre, in LabVIEW 6.1 o successivo esistono i panneli remoti, che consentono di controllare un'applicazione remota anche attraverso un browser. In questo caso, occorre avere installato il run-time di LabVIEW. Se non c'è sul PC, come qualunque componente per IE, viene automaticamente scaricato (12 MB...) e installato dal sito NI.
Per pubblicare un pannello dell'applicazione basta scegliere dal menu \"Tools->Web Publishing Tool\" e seguire le istruzioni. La modalità embedded corrisponde ai pannelli remoti, Snapshot costruisce una pagina che visualizza una \"foto\" di un pannello, la modalità Monitor crea invece una pagina statica di tipo snapshot che però si rinfresca automaticamente a una frequenza voluta.
Dettagli più esaurienti sono nell'help e nella documentazione. I pannelli remoti sono soggetti a licenza. LabVIEW 6.1 include già la licenza per un singolo client remoto, LabVIEW 7.0 Full pure, LabVIEW 7.0 Professional ne include 5. Licenze aggiuntive possono essere acquistate da NI. Le altre due modalità non sono soggette a licenze di nessun tipo.
Nicola
----------------------------------------
AUTORE: 12
DATA :11/09/2003 - 09:16:07
----------------------------------------
Innanzitutto grazie per il suggerimento. Temo pero' di dover trovare un'altra soluzione, anche se l'idea di lanciare l'applicazione da remoto mi piacerebbe. Fondamentalmente ho bisogno di far lavorare piu' persone contemporaneamente su un vi che non controlla nessuna macchina. Ho a disposizione una LAN. Hai qualche idea?
Grazie.
Ele
----------------------------------------
AUTORE: 3
DATA :11/09/2003 - 10:16:20
----------------------------------------
Temo di non capire del tutto. Cosa vuol dire esattamente \"far lavorare più persone contemporaneamente su un vi\"? Vuol dire:
- che più programmatori ne modificano il pannello e il codice?
- che più utenti ne fanno un \"telecontrollo\" remoto, operando sui controlli mentre è in esecuzione?
- che più utenti remoti lo guardano mentre è in esecuzione senza fare attuazioni di sorta?
Comunque con i pannelli remoti non si lancia l'applicazione da remoto, ma si fa il monitoraggio e si prende opzionalmente il controllo di un'applicazione già in esecuzione su un altro PC. Si può accedere in solo monitoraggio a un VI da più browser contemporaneamente, limitatamente al numero di licenze, e uno solo alla volta può prenderne il controllo remoto.
Nicola
----------------------------------------
AUTORE: 12
DATA :15/09/2003 - 13:49:15
----------------------------------------
Ciao Nicola,
quello che mi sarebbe piaciuto fare era poter creare un eseguibile, metterlo su un server e far sì che più utenti contemporaneamente potessero lanciare il programma. Con programma intendo quindi un vi in cui attraverso dei controlli, gli utenti dovrebbero selezionare delle risposte.
Sostanzialmente si tratta di far fare dei test didattici ad una classe di studenti e mi chiedevo se si poteva evitare di copiare l'eseguibile su tutti i pc.
Grazie,
Ele
----------------------------------------
AUTORE: 3
DATA :15/09/2003 - 15:00:16
----------------------------------------
Adesso ho capito.
La risposta è sì, certamente. Nessuno vieta che lo stesso programma eseguibile venga caricato da PC diversi, cosa che peraltro vale per qualunque eseguibile, non solo per un programma LabVIEW. In ogni caso, anche se un programma viene caricato da un disco di rete (che si tratti di LabVIEW o no), gira comunque sulla CPU del PC che l'ha caricato, non su quella del \"server\". Bisogna naturalmente che su tutti i PC che lo useranno sia installato il run-time di LabVIEW.
Occorre però prestare attenzione a come è scritto il codice del programma per quanto riguarda ad esempio l'accesso al file system. Se ad esempio il programma scrive un file di dati nella stessa directory in cui è installato, tutti i PC che lo usano cercheranno di scrivere sullo stesso file. In questo caso occorrerà prevedere, a seconda di ciò che si desidera fare, che il software salvi i dati comunque sul disco locale del PC che lo usa, oppure che ogni utente (identificato per esempio da un login) abbia una propria directory di lavoro sul server, oppure ancora che l'accesso sia davvero a un file comune, ma con gli opportuni meccanismi di condivisione e file locking.
L'eventuale problema, insomma, non è il caricamento in sè, ma le logiche interne del programma se questo prevede accesso a risorse comuni non condivisibili.
Nicola
----------------------------------------
AUTORE: 12
DATA :15/09/2003 - 15:43:11
----------------------------------------
Mi sai suggerire un modo per poter accedere all'esegiubile senza connettere l'unità di rete, ma usando ad esempio un browser? Io avevo provato a creare un nuovo sito web collegato all'eseguibile, ma forse sbaglio nella sua configurazione perchè non mi visualizza nulla. Come prova avevo collegato il sito all'apertura di un filmato o un di un documento e non mi ha dato problemi. Immagino che per collegarlo a dei file *.exe sia necessario qualcos'altro.
Grazie,
Ele
----------------------------------------
AUTORE: 3
DATA :15/09/2003 - 15:55:28
----------------------------------------
Non consiglierei una cosa del genere. L'Internet Explorer farebbe il download del file e poi lo eseguirebbe, il che vuol dire direttamente dalla directory della cache del browser. In questo modo è fra l'altro impossibile fargli leggere il file .ini associato (perchè assume sia sempre nella stessa directory dell'eseguibile) ed è anche impossibile sapere dall'interno del programma la directory originale del server.
Per di più il fatto che davvero il prpgramma venga eseguito dipende dalla configurazione dell'Internet Explorer, che può essere configurato per scaricare comunque un file eseguibile e salvarlo su disco, eseguirlo direttamente, oppure chiedere all'utente cosa vuole fare. Il fatto che non succeda nulla dipende probabilmente anche da questo.
Comunque non ho mai fatto una cosa del genere con applicazioni LabVIEW, per cui si può anche provare, ma personalmente mi sentirei di sconsigliarla caldamente. Non capisco però quale possa essere il problema nel lanciare l'eseguibile mediante un path expresso in UNC:
\\server\share\app.exe
dove server è il nome Netbios del PC su cui è il programma, share il nome della directory condivisa, app.exe il nome dell'eseguibile. Non occorre mappare l'unità di rete, basta creare uno shortcut.
Nicola
----------------------------------------
AUTORE: 12
DATA :15/09/2003 - 16:17:11
----------------------------------------
Grazie Nicola per il suggerimento.
Scusa la mia ignoranza, ma operativamente come si fa l'UNC ?
Grazie ancora,
Ele
----------------------------------------
AUTORE: 3
DATA :15/09/2003 - 16:24:51
----------------------------------------
Esattamente come ho scritto sopra:
\\server\share\app.exe
UNC sta per \"Universal Naming Convention\", è soltanto un nome pomposo per definire la sintassi di cui sopra. È impiegato da Microsoft per usare una sintassi comune nell'accesso a una risorsa condivisa su una rete.
Per creare uno shortcut basta digitare direttamente nella dialog box il path completo in sintassi UNC, oppure fare un browse, andare sotto le risorse di rete e navigare fino a trovare la directory condivisa o il file che interessa. Il risultato è lo stesso. Oppure ancora si può navigare nelle risorse di rete con l'Explorer fino a trovare l'oggetto che interessa e da lì, con il tasto destro, creare uno shortcut. Naturalmente la macchina server deve avere precedentemente condiviso la directory ed eventualmente assegnato gli opportuni permessi di accesso.
Anche se magari è ovvio, la sintassi si usa anche per accedere a server non Microsoft, a patto naturalmente che sia installato il necessario supporto di rete.
Nicola
----------------------------------------
AUTORE: 12
DATA :16/09/2003 - 11:15:47
----------------------------------------
Ciao Nicola,
volevo ringraziarti per l'infinita pazienza e le delucidazioni che mi hai dato. Ho provato a mettere in pratica i tuoi suggerimenti. Ora devo rivedere tutti i collegamenti che avevo nel programma...
Grazie ancora,
Ele
----------------------------------------
AUTORE: 129
DATA :09/01/2004 - 10:29:24
----------------------------------------
Perchè non usare il datasoket server.Mi sembra che si voglia comunque controllare il pannello di un VI in esecuzione.Datasoket permette di fare questo.....Ho capito bene?
Nicola
----------------------------------------
AUTORE: 12
DATA :15/01/2004 - 10:16:00
----------------------------------------
Ciao Nicola,
non ho mai usato i datasoket. Mi sapresti indicare come fare?
Grazie,
Ele
----------------------------------------
AUTORE: 129
DATA :16/01/2004 - 17:00:43
----------------------------------------
Ciao Ele
Non è così facile da riassumere in 2 righe ma ci provo:
Sul controllo (nel VI SERVER) che vuoi monitorare/controllare,selezionadata operation/datasocket connection/browse measurement, troverai la lista dei canali come DAQ,OPC o quello che hai sul PC.
Stessa cosa devi fare nel VI client.
Si può anche personalizzare la comunicazione da prg con i controlli in FUNCTION PALETTE/COMMUNICATION/DATASOCKET.
Guarda gli esempi forniti in LV.
Se mi giri un recapito ti invio un pdf più esplicativo.
Nicola
----------------------------------------
AUTORE: 384
DATA :20/12/2007 - 12:09:08
----------------------------------------
[quote="nicola":1plljxgj]Se mi giri un recapito ti invio un pdf più esplicativo.[/quote:1plljxgj]
Perchè non lo posti qui (oppure nell'area download del forum) così che tutti gli interessati possono guardarlo?
----------------------------------------
================================================================================
Errore 63 quando uso IrDA...
================================================================================
AUTORE: 50
DATA :13/09/2003 - 10:57:17
----------------------------------------
Ho provato ad implementare la connessione IrDA con il mio Nokia 6610.
La funzione \"IrDA Discover\" va a buon fine, mentra già dall'apertura connessione ricevo errore 63... perchè?
----------------------------------------
AUTORE: 3
DATA :19/09/2003 - 12:04:13
----------------------------------------
Non so molto di IrDA, per cui non potrò aiutarti un gran che. Però poco fa, facendo l'abituale \"Backup\" del mio Nokia 6210 e avendo finalmente installato LabVIEW 7 anche sul notebook, ho provato (con lo stesso risultato).
L'errore 63 ha due significati, uno collegato alla seriale (buffer overflow), uno invece di rete (chiusura della connessione da parte del server remoto). A una porta IrDA si applicano tutti e due i concetti, per cui non so con esattezza quale dei due si applichi, ma a naso direi che mi sembra più probabile il secondo. Ho la sensazione che tutto stia nel parametro \"Service\" della IrDA Open Connection. Non so che tipo di richieste vadano indirizzate a un cellulare Nokia e non ho idea di cosa ci si vada messo.
Tu dove hai recuperato le specifiche sui servizi messi a disposizione dai cellulari Nokia sulla connessione IrDA? Non so se Nokia le pubblichi, se le hai interesserebbero anche a me. Io ho messo come \"Service\" una stringa a caso giusto per provare, ma ovviamente non va bene così. Se hai le informazioni del caso, posso divertirmi a investigare un po'.
Ciao,
Nicola
----------------------------------------
AUTORE: 50
DATA :19/09/2003 - 17:51:08
----------------------------------------
Purtoppo ho provato anche io con un \"service\" a caso!
Io ho la lista dei comandi da inviare ad Nokia... ma non ho le specifiche per la connessione via IrDA!
Comunque... tu dici che il Nokia mi stia rifiutando la connessione?
----------------------------------------
AUTORE: 3
DATA :19/09/2003 - 18:05:28
----------------------------------------
A naso direi di sì, credo che la stringa \"Servizio\" corrisponda a una richiesta spedita al \"server\" remoto. Windows vede un cellulare esattamente come se fosse un computer collegato attraverso la porta IrDA (tanto è vero che ti offre di spedire un file al PC remoto nel balloon che salta fuori nella taskbar).
La stringa che si definisce nel servizio dovrebbe in teoria rappresentare il tipo di servizio che si richiede al dispositivo remoto: file transfer, data stream, stampa, invio di comandi e quant'altro di standard è previsto dal protocollo. Dopo di che immagino che ci siano anche servizi con nomi proprietari che possono essere usati per comunicazioni con protocolli non pubblici. D'altronde immagino che la Nokia PC Suite faccia proprio qualcosa del genere. Immagino anche sia facoltà del dispositivo rifiutare una particolare richiesta di servizio se non è tra quelli da lui riconosciuti, che è probabilmente quello che fanno i nostri Nokia quando ricevono qualcosa di ignoto. Se è così, il fatto cherisulti un errore di connessione rifiutata non sarebbe sorprendente.
Dopo tutti questi \"Immagino\" un po' troppo privi di basi solide, *immagino* che dedicherò mezz'oretta nel weekend a capire un po' meglio dalla documentazione Microsoft che convenzioni ci sono per la dichiarazione dei servizi IrDA nella connessione. Se vengo a capo di qualcosa, mi farò vivo.
Nicola
P.S. Non è che non voglia rispondere alla tua altra domanda sulla webcam, ma al di là di averle una volta indicate perchè le conoscevo da Ale non ho mai usato personalmente quelle librerie, per cui non so davvero cosa risponderti. Mi spiace sempre quando una domanda qui sul forum resta senza risposta, ma purtroppo...
----------------------------------------
AUTORE: 50
DATA :19/09/2003 - 19:45:02
----------------------------------------
Figurati... sei fintroppo gentile!
...a questo punto mi sono \"preso\" anch'io nel campo IrDA
e quindi cercherò di reperire informazioni a riguardo!
----------------------------------------
AUTORE: 3
DATA :21/09/2003 - 15:13:32
----------------------------------------
In pratica è come pensavo. Due applicazioni (client e server) che comunicano su una porta IrDA devono essere concordi sui nomi dei servizi che usano. Ho dato un'occhiata agli esempi forniti con il modulo PDA di LabVIEW, in cui ci sono anche vari esempi di comunicazione via IrDA con un PC. Quando il PC usa un servizio standard del sistema operativo del PDA (Beam, file transfer), il programma PC usa dei nomi di servizi predefiniti. Quando invece anche il lato PDA è sotto controllo di un software utente, i due software usano un nome di servizio comune e privato per la connessione e poi utilizzano la porta IrDA a loro piacimento come fosse una seriale.
I cellulari Nokia hanno una serie di servizi predefiniti che mettono a disposizione di un dispositivo esterno che apra una connessione sulla loro porta IrDA, per trasferire fra le altre cose nomi, numeri, entry dell'agenda, e per mandare o ricevere SMS. In più c'è il servizio modem, che però è normalmente gestito da un driver a livello del sistema operativo su PC.
Ho guardato in giro e ho trovato questa pagina che dà qualche piccola informazione al riguardo. Oggi non ho tempo, ma partendo da qui penso si trovi qualcosa di più preciso.
http://homepage.mac.com/alvinmok/nokia/ ... pport.html
A me personalmente interesserebbe scrivere un codice da usare su PC o palmare che attraverso la porta IrDA potesse usare un Nokia per inviare un SMS. Lo so che lo fa già la Nokia PC Suite in modo interattivo, ma vorrei poterlo fare io programmaticamente. Mi sarebbe utile in diverse applicazioni.
Se nei prossimi giorni trovo qualche informazione più dettagliata mi faccio vivo. Se capita magari anche a te...
Ciao,
Nicola
----------------------------------------
AUTORE: 50
DATA :21/09/2003 - 16:00:21
----------------------------------------
Ok... intanto sembra qualocosa di interessante.
Anche io nelle mie ricerce ho sentito parlare di LsapSel... ma ancora non ho ben focalizzato.
Io vorrei scrivere un'applicazione che comanda il PC tramite SMS, forse troppo comune, ma comunque divertente.
----------------------------------------
AUTORE: 50
DATA :21/09/2003 - 16:26:07
----------------------------------------
Ho trovato un documento Microsoft qui...
[url:bpysm2i6]http://www.microsoft.com/whdc/hwdev/tech/network/infrared/win-irda.mspx[/url:bpysm2i6]
----------------------------------------
AUTORE: 3
DATA :21/09/2003 - 16:28:28
----------------------------------------
In realtà ho già lavorato a cose del genere, solo che finora ho usato modem GSM, non cellulari, anche perchè non è che si possa pensare di avere sempre un cellulare a disposizione, men che meno dedicato a un impianto. I comandi dei modem GSM sono ordinari comandi AT, fra l'altro il set di comandi è piccolo e semplice, anche se alcuni sono specifici dei modelli. Si inserisce una SIM nel modem e si usa come un modem normale attraverso la porta seriale. Si fanno così in modo relativamente semplice sistemi in grado di segnalare eventi e ricevere comandi attraverso SMS.
In impianti industriali la ritengo finora la soluzione più semplice. Quello che in realtà mi interesserebbe di più è automatizzare la spedizione e la lettura di SMS in un mio programma scritto per PalMOS. Su un PC, finchè si lavora interattivamente, non ci sono problemi: si apre la Nokia Suite e si fa un copy and paste, oppure si scrive direttamente il messaggio. Su un Palm, anche se esistono programmi equivalenti alla Nokia suite per scrivere SMS, l'input richiede tempo e passare dal clipboard è più macchinoso, per cui l'ipotesi di gestire direttamente il cellulare attraverso la ports IrDA mi interessa molto di più.
Vediamo un po'...
Ciao,
Nicola
----------------------------------------
================================================================================
Context Help in LabVIEW 7
================================================================================
AUTORE: 3
DATA :16/09/2003 - 07:46:54
----------------------------------------
È solo una curiosità, ma mi è venuto in mente di segnalarla anche qui mentre rispondevo a una domanda al proposito su una mailing list. C'è un comportamento un po' anomalo in LabVIEW 7 e mi piacerebbe sapere se è sistematico o deriva da qualche particolare modalità di uso o installazione.
Se si apre una palette di funzioni o di controlli con un click del tasto destro - cioè insomma nella modalità popup in cui la si apre \"al volo\" e poi si richiude automaticamente - Ctrl-H non apre l'help di LabVIEW. L'help in realtà si può aprire, ma solo premendo Ctrl-H una seconda volta. Il tutto succede solo mentre è aperta una palette in modo popup, altrimenti è tutto normale. Questo non capitava in LabVIEW 6.1 e nelle versioni precedenti, in cui Ctrl-H apriva sempre e comunque il context help.
La cosa sembra essere sistematica, per cui la domanda è: c'è per caso qualcuno a cui la cosa NON succede? Mi aspetto che non sia così, ma non si sa mai...
Grazie mille.
Nicola
----------------------------------------
================================================================================
Oscilloscopio virtuale
================================================================================
AUTORE: 58
DATA :17/09/2003 - 12:37:05
----------------------------------------
Qualcuno sa dirmi dove posso trovare un oscilloscopio virtuale con generatore d'onda in modo da poter vedere come costruirne uno mio???
Io ne ho trovati alcuni ma purtroppo sono solo degli eseguibili e quindi non posso vedere come sono collegati i vari componenti...
----------------------------------------
AUTORE: 3
DATA :17/09/2003 - 13:58:35
----------------------------------------
Fra gli esempi di LabVIEW ci sono oscilloscopi, generatori di funzione, e ogni sorta di strumentazione virtuale in genere. Basta selezionare \"Find Examples\" dal menu Help e cercare \"oscilloscope\" o \"function\" (nel tuo caso specifico).
Se hai LabVIEW 6.1 o precedente, selezionando nel menu \"Tools->Data Acquisition->DAQ Solution Wizard\" parte un vero e proprio wizard che consente di navigare fra la selezione di strumenti disponibili e creare al volo in MAX gli eventuali canali virtuali necessari per utilizzarli.
Nicola
----------------------------------------
AUTORE: 58
DATA :17/09/2003 - 14:07:42
----------------------------------------
[quote="Charlie":1uobarn0]Fra gli esempi di LabVIEW ci sono oscilloscopi, generatori di funzione, e ogni sorta di strumentazione virtuale in genere. Basta selezionare \"Find Examples\" dal menu Help e cercare \"oscilloscope\" o \"function\" (nel tuo caso specifico).
Se hai LabVIEW 6.1 o precedente, selezionando nel menu \"Tools->Data Acquisition->DAQ Solution Wizard\" parte un vero e proprio wizard che consente di navigare fra la selezione di strumenti disponibili e creare al volo in MAX gli eventuali canali virtuali necessari per utilizzarli.
Nicola[/quote:1uobarn0]
Purtroppo gli esempi presenti in labview riguardano oscilloscopi che si interfacciano con uno strumento esterno io invece ho gia' realizzato un generatore di forme d'onda e anche un oscilloscpopio...purtroppo non riesco a capire come variare l'asse delle Y dell'oscilloscopio (Volt Division)... ;-(
----------------------------------------
AUTORE: 3
DATA :17/09/2003 - 14:16:31
----------------------------------------
No, non è così. Negli esempi di LabVIEW ci sono sia esempi di comunicazione con strumentazione esterna sia esempi di strumenti virtuali che usano una scheda DAQ per acquisire o generare e realizzano lo strumento interamente sul pannello del VI.
Giusto per capirci:
examples\DAQ\solution\benchtop.llb\2 Channel Oscilloscope.vi
è un esempio di un oscilloscopi a due tracce realizzato con una scheda DAQ a bordo del PC che, fra le altre cose, include proprio un controllo a video per cambiare i Volt per divisione sull'asse verticale del display.
Il path fa riferimento a LabVIEW 7, ma questo specifico esempio esiste almeno da LabVIEW 5.
Nicola
----------------------------------------
AUTORE: 58
DATA :17/09/2003 - 14:31:59
----------------------------------------
Scusa forse mi sono spiegato male...l'oscilloscopio che serve a me non deve interagire ne' con strumentazione esterna ne' con la scheda DAQ del PC (almeno per il momento) deve solo ricevere in ingresso un onda generata da LabView. Nel file da te citato viene utilizzato un blocco che richiede in ingresso un numero di canale e un numero di device (AI WaveForm Scan).
Grazie comunque per l'interessamento
Marco
----------------------------------------
AUTORE: 3
DATA :17/09/2003 - 14:47:51
----------------------------------------
Se è così immagino sia sufficiente prendere l'esempio così com'è e sostituire il VI che acquisisce dalla scheda con un VI che generi un segnale simulato - ad esempio usando le funzioni di Signal Generation nella palette di analisi - oppure con una funzione che legge i dati da file o da qualsiasi altra fonte questi vengano resi disponibili nell'applicazione finale. Se quello che ti interessa (da quanto credo di avere capito) è la logica di programmazione dell'interfaccia utente, la sorgente del segnale è soltanto un subVI da sostituire con un altro. Dopo di che l'esempio resta comunque un riferimento per tutto il resto.
... Ho capito male?
Nicola
----------------------------------------
AUTORE: 58
DATA :17/09/2003 - 15:01:56
----------------------------------------
Purtroppo non e' cosi' semplice...il blocco utilizzato nell'esempio di LabView, utilizzabile solo per sorgenti esterne, prevede l'ingresso degli \"input limits\" mentre il blocco utilizzato da me per visualizzare un onda generata da LabView non prevede gli \"input limits\".
Grazie per l'attenzione!
Marco
----------------------------------------
AUTORE: 3
DATA :17/09/2003 - 15:07:26
----------------------------------------
Va bene, ma il parametro \"Input Limits\" serve solo all'NI-DAQ per scegliere il guadagno da impostare sui vari canali. Se al tuo VI il parametro non l'ha, non attaccarglielo. Non è necessario che i due VI siano \"pin-to-pin compatibili\" (spero sia chiara l'analogia) per usare l'esempio come scheletro di un programma.
Nicola
----------------------------------------
AUTORE: 58
DATA :17/09/2003 - 15:20:03
----------------------------------------
Da quello che avevo capito io gli input limits erano collegati alla manopola del Volt Division dell'oscilloscopio di LabView...se non e' cosi' come posso collegare la manopola VoltDiv al visualizzatore di onda???
----------------------------------------
AUTORE: 3
DATA :17/09/2003 - 15:40:51
----------------------------------------
L'esempio usa gli input limits solo perchè il VI di acquisizione ritorna i valori di tensione già normalizzati rispetto alla scala del grafico. Se vuoi seguire la stessa logica puoi fare esattamente lo stesso, cioè normalizzare i valori forniti dal tuo VI di \"acquisizione\" al fondo scala del grafico su cui i valori vengono visualizzati. Se non vuoi introdurre i parametri nel tuo VI, lo puoi fare direttamente nel VI che lo chiama sui valori in uscita.
Se no puoi fare alla rovescia: ritorni dal tuo VI i valori non normalizzati e usi un property node del grafico per settare il valore minimo e massimo della scala. Se vuoi mantenere gli indicatori così come sono e 5 divisioni per semiasse, i valori sono ovviamente -5N e +5N rispettivamente, dove N è il numero di Volt per divisione. L'effetto è lo stesso, a parte la possibilità che guadagni di visualizzare sulla scala i valori reali di tensione invece che sempre -5/+5. L'esempio è fatto così, con la scala fissa e invisibile, perchè emula il più possibile lo schermo reale di un oscilloscopio, dove non ci sono tipicamente scale numeriche integrate, ma nulla impedisce di cambiarne la logica e migliorarne la visualizzazione.
Nicola
----------------------------------------
AUTORE: 58
DATA :19/09/2003 - 10:36:56
----------------------------------------
scusa se ti rispondo solo ora,ma sono impedito con Labview, grazie mille x il consiglio: mi è stato molto utile.
Avrei un'altro problema:
non so come gestire il numero di campioni e la frequenza di campioni in relazione al time division, ovvero quando uso frequenze alte (nell'ordine dei 100 Khz fino al Mhz) non vedo +nulla, e se tento di aumentare il numero di campioni e la frequenza di campioni, chiaramente il sistema rallenta esponenzialmente; esiste qualche relazione tra #campioni e Fs che ignoro? o anche un sistema banale x rappresentare una sinusoide con frequenze che arrivano fino al Mhz?
Grazie ancora, Marco
----------------------------------------
================================================================================
presentazione e prima domanda
================================================================================
AUTORE: 59
DATA :18/09/2003 - 14:56:44
----------------------------------------
Ciao sono Serena,
sono una laureanda in ingegneria informatica, per lo
svolgimento della tesi sto usando LabVIEW, sono riuscita a risolvere diversi problemi, ma ce n'è uno che non so proprio come affrontare!
La tesi consiste nello studio di un segnale attraverso dei filtri digitali,
ho usato i filtri giá presenti in LV, adesso devo crearne dei nuovi, per
esattezza Shelving e Peak, come si procede? Ne va della mia laurea!
Per favore rispondete presto
Grazie a tutti in anticipo
Serena
----------------------------------------
AUTORE: 3
DATA :18/09/2003 - 23:27:28
----------------------------------------
Ciao Serena, e naturalmente benvenuta.
A costo di sembrare il solito galletto italiano, mi permetto di inviarti un saluto particolare, perchè se non vado errato sei la prima presenza femminile (quanto meno attiva) che ravviva il nostro forum, per cui il minimo che possa augurarmi è che la tua partecipazione continui. Detto ciò tenterò di raccogliere, per quel poco che so, l'accorato appello. Non sono sicuramente un esperto di filtri digitali per applicazioni audio, ma forse posso darti almeno qualche indicazione.
LabVIEW fornisce direttamente VI per il calcolo dei cofficienti di filtri IIR e FIR dei tipi più comuni, in funzione delle caratteristiche desiderate di banda, guadagno, ripple e attenuazione, e per l'applicazione diretta del filtro ottenuto a un segnale digitalizzato. Esiste però una funzione più generale, nella palette Analyze->Signal Processing->Filters->Advanced IIR Filtering, a cui puoi passare direttamente i coefficienti già calcolati per il filtro con qualche metodo esterno. Lo stesso vale per i filtri FIR, ma i filtri Shelving e Peaking sono normalmente implementati come filtri IIR. Avendo un algoritmo per il calcolo diretto dei coefficienti, è possibile utilizzare direttamente questa funzione per il filtraggio.
In questa palette trovi una funzione \"IIR Filter.vi\", che serve a realizzare un filtro nella sua forma più generale passandole direttamente gli array dei coefficienti diretti e inversi, e una serie di funzioni addizionali si supporto. La funzione prevede anche un parametro booleano di inizializzazione, che va passato la prima volta a True e poi a False, il che ti consente di filtrare un \"pezzo\" alla volta un segnale acquisito in modo progressivo senza cancellare la memoria del filtro fra una chiamata e l'altra.
Per quanto riguarda i due filtri specifici, sia i filtri Shelving che i filtri Peaking sono realizzabili come filtri IIR del secondo ordine. Come ti ho detto non sono un esperto al proposito, ma so che vengono usati molto frequentemente in equalizzatori grafici digitali per la loro buona selettività in frequenza nonostante l'ordine abbastanza basso del filtro, il che permette di ricalcolarne in tempo reale i coefficienti con basso costo di elaborazione anche per segnali di notevole dinamica.
Immagino che sarai ben più esperta di me al proposito, per cui mi limito a citarti questo documento che riporta per entrambi i tipi di filtri, in modo succinto ma abbastanza completo, le modalità di calcolo dei relativi coefficienti per la loro implementazione come filtri IIR del second'ordine.
http://www.apogeeddx.com/901-000006.PDF
Se non ricordo male ho anche a casa in formato PDF un documento un po' più esaustivo a livello teorico sull'uso dei vari tipi di filtri negli equalizzatori. Sono abbastanza certo che parli in modo dettagliato quanto meno dei filtri Shelving. Posso verificarlo nel weekend. Non so se e quanto possa interessarti, o se ti interessino solo le modalità pratiche di implementazione in LabVIEW, ma nel caso fammelo sapere e te lo manderò volentieri.
Sulle generalità di questo tipo di filtri non credo di poterti dire molto di più, se invece ti serve qualche consiglio sull'uso delle funzioni di filtraggio digitale in LabVIEW, sarò felice (se posso) di aiutarti.
Ciao,
Nicola
----------------------------------------
AUTORE: 59
DATA :19/09/2003 - 08:38:39
----------------------------------------
Ciao Nicola,
grazie mille del benvenuto e per avermi risposto con questa rapiditá, quasi non mi sembra vero!
Adesso provo a vedere se ce la faccio con le notizie che mi hai dato te a fare questi beati filtri. Le pagine della APOGEE relative a ció ce le ho giá, ma grazie comunque. Ti sarei grata se mi spedissi anche quel documento in formato pdf, una parte della tesi vorrei dedicarla ai filtri, anche se, mi dispiace dirtelo, non ne so poi cosà tanto, infatti io studio Ing. Informatica ramo Automatica, mentre queste cose si studiano nel ramo delle Telecomunicazioni. Una domanda sorge spontanea, che ci faccio con queste cose, beh, sono in Germania ed inizialmente non sapevo come spiegargli che io determinate cose non le avevo studiate, ora sono ad un buon punto, spero e credo, e non mi posso piú tirare indietro!
Grazie, sei stato molto gentile!
Ciao Serena!
----------------------------------------
================================================================================
dBgain
================================================================================
AUTORE: 59
DATA :19/09/2003 - 16:07:22
----------------------------------------
Ciao a tutti,
vorrei fare un'altra domanda.
Per l'implementazione dei filtri Shelving e Peak devo conoscere il valore del dBgain, qualcuno di voi sa se va calcolato e come, oppure se è un valore giá predefinito?
Grazie da ora!
Serena!
----------------------------------------
AUTORE: 3
DATA :19/09/2003 - 16:31:47
----------------------------------------
Se come immagino stai facendo riferimento al documento di Apogee, è una specifica. È il guadagno (o l'attenuazione, a seconda del tipo di filtro) che vuoi che abbia il filtro in corrispondenza della frequenza di taglio. Nel caso di un filtro Shelving è la frequenza a centro banda. Non è da calcolare, è una specifica che dai tu in funzione delle prestazioni che desideri dal filtro. Nel caso di un equalizzatore puoi disegnare la curva di risposta in frequenza che vuoi ottenere e da quella puoi ricavare il guadagno che devi avere ad ogni frequenza.
Ciao,
Nicola
P.S. Guarda la posta se puoi, ti ho mandato un mail attraverso il sistema di mailing del forum a proposito del documento di cui si parlava ieri.
----------------------------------------
AUTORE: 59
DATA :22/09/2003 - 12:33:17
----------------------------------------
Ciao Nicola, non so se ti arrivano le e-mail, comunque il documento di cui mi avevi parlato non è arrivato, peró sono interessata, molto.
Ciao
serena!
----------------------------------------
AUTORE: 212
DATA :27/04/2004 - 14:54:39
----------------------------------------
ciao
se ancora siete da queste parti. mi potreste dire dov'è il VI che consente di realizzare questo filtro Shelving di cui parlate per l'equalizzazione del segnale...io non lo trovo e farebbe proprio al caso mio.....
ciao grazie
----------------------------------------
================================================================================
Aprire un front panel da un altro vi in esecuzione
================================================================================
AUTORE: 30
DATA :19/09/2003 - 23:02:12
----------------------------------------
Provo a spiegare un po' meglio l'oggetto.
Vorrei riuscire ad aprire (e chiudere) il front panel di un vi che ho creato, agendo dal pannello di un altro vi.
Fin ora sono solo riuscito a lanciare l'esecuzione del vi da un altro front panel ma il problema è che, in questo modo, non appare a video il pannello frontale del vi in esecuzione.
Grazie
----------------------------------------
AUTORE: 3
DATA :20/09/2003 - 07:41:55
----------------------------------------
Apri un VI reference al VI che ti interessa e setta con un property node la proprietà \"Front Panel Window->Open\" a True. Se usi LabVIEW 7 puoi anche usare la proprietà \"Front Panel Window->State\" o il metodo \"Open FP\".
Attenzione a una cosa: se il VI che vuoi aprire è incluso in un'applicazione costruita con l'Application Builder, questo non può riconoscere automaticamente che aprirai programmaticamente il pannello frontale e nell'applicazione salverà il VI con il pannello frontale rimosso, a meno che naturalmente non ci siano altre funzioni che hai usato nel programma che ne richiedano la presenza. In questo caso il property/invoke node fallirà con errore 15 (A required resource is missing). Per sistemare la cosa, vai nel tab \"VI settings\" quando costruisci l'applicazione e rimuovi il check \"Remove Front Panel\" dal VI che ti interessa.
Nicola
----------------------------------------
AUTORE: 30
DATA :20/09/2003 - 23:37:16
----------------------------------------
Grazie Nicola, ci sono riuscito.
[/quote]
----------------------------------------
================================================================================
Campionamento
================================================================================
AUTORE: 58
DATA :23/09/2003 - 10:13:24
----------------------------------------
Aiuto!!
non so come gestire il numero di campioni e la frequenza di campioni in relazione al time division, ovvero quando uso frequenze alte (nell'ordine dei 100 Khz fino al Mhz) non vedo +nulla, e se tento di aumentare il numero di campioni e la frequenza di campioni, chiaramente il sistema rallenta esponenzialmente; esiste qualche relazione tra #campioni e Fs che ignoro? o anche un sistema banale x rappresentare una sinusoide con frequenze che arrivano fino al Mhz?
Grazie ancora, Marco
----------------------------------------
================================================================================
salvare un graph in jpeg o bmp in automatico
================================================================================
AUTORE: 61
DATA :23/09/2003 - 10:51:46
----------------------------------------
Ciao a tutti,
sono Jacopo, neoiscritto di 28 anni, lavoro nel campo della ricerca e uso LabVIEW da circa 3 anni, ora ho la versione 6.1
Volevo chiedervi se sapete come si fa a salvare in automatico (formato jpeg o bmp) un grafico.
In pratica io vorrei fare uno screen dump dell'onda che sto acquisendo da un oscilloscopio.
Fin'ora sono riuscito solo a salvare un file ASCII con due array di dati, cioè x e y.
Attendendo nuove, vi ringrazio
Ciao
sonica
----------------------------------------
AUTORE: 4
DATA :23/09/2003 - 13:01:41
----------------------------------------
Ciao Sonica, benvenuto.
Ci sono diversi modi per fare quello che ti serve, secondo me il più comodo è creare un InvokeNode del grafico di cui vuoi fare il dump e selezionare il metodo Get Image, collegare le uscite dell'InvokeNode alla funzione: Functions>>Graphics & Sounds>>Graphics Format>>Write JPEG File.vi, questa ti permette di salvare su un file, in formato JPEG, l'immagine estratta dal grafico col metodo Get Image.
Ciao, Ale.
----------------------------------------
AUTORE: 61
DATA :23/09/2003 - 13:06:56
----------------------------------------
Lo stavo giusto provando....
Vuol dire che è la strada giusta.
Grazie mille
----------------------------------------
================================================================================
Compiler error
================================================================================
AUTORE: 59
DATA :23/09/2003 - 10:58:24
----------------------------------------
Ciao!
Quando vado a lanciare il mio vi, oppure vado per salvarlo, anche se prima non c'era alcun errore, me ne viene fuori uno che dice cosÃ:
\"Compiler error. Report this error to National Instruments Tech Support.
naryop, out subarr not ip? ip=0x4\"
Non c'è nessun codice per vedere che tipo di errore è e non fa vedere da dove salta fuori, qualcuno sa cosa significa e come si puó risolvere?
Ciao a tutti!
Serena!
----------------------------------------
AUTORE: 4
DATA :23/09/2003 - 13:42:04
----------------------------------------
L'errore vuol dire che LV non riesce a compilare il codice del tuo VI, una causa possibile è un bug della tua versione di LV.
Che versione usi? Se è la 5.x prova ad upgradare alla 5.1.1 se è la 6.0 upgradala con la 6.0.2 o meglio con la 6.1.
Se ciò non dovesse servire prova a ricordare qual'è l'operazione che hai fatto sul tuo VI appena prima che LV ti desse l'errore in modo da poter isolare la parte di VI che lo genera, controlla bene formula node e operazioni su array che spesso mi hanno dato problemi simili.
Se riesci a individuare la parte che provoca l'errore prova a sostituire il codice \"difettoso\" con altre funzioni che ti diano lo stesso risultato.
In bocca al lupo
Ciao, Ale.
----------------------------------------
AUTORE: 59
DATA :25/09/2003 - 18:30:20
----------------------------------------
Ciao, scusami per il ritardo con cui ti scrivo, sono veramente una gran villana, è che c'ho da fare un sacco e le devo provare tutte!
Ho fatto come hai detto tu, la versione del LV non la potevo cambiare, causa incompatibilitá della mia DAQ con altre versioni, quindi sono andata alla radice del problema ed ho tolto le cose che mi sembravano piú complesse e che avevo fatto appena prima dell'errore!
Ora va, i problemi ora sono altri, vedo se riesco a risolverli, altrimenti riscrivo, c'è poco da dire, avete sempre la risposta giusta!
Ciao
Serena!
----------------------------------------
================================================================================
uso di occurrence
================================================================================
AUTORE: 63
DATA :25/09/2003 - 14:13:40
----------------------------------------
salve..
mi chiedevo se qualcuno di voi fosse in grado di aiutarmi con l'occurrence.mi piacerebbe che il mio occurrence funzionasse per ogni iterazione del ciclo..invece capita che una volta che wait for occurrence riceve il via, si sente autorizzato ad andare sempre..come dire..non si resetta ..io vorrei che tornasse nel suo stato di default ad ogni iterazione..
non vi ho fatto capire niente?
grazie a chi tentera' di rispondermi.
turi
----------------------------------------
AUTORE: 4
DATA :01/10/2003 - 15:04:46
----------------------------------------
Ciao Arturo e benvenuto.
Da quello che ho capito credo che ci sia qualcosa che non va nel modo in cui hai implementato il codice però mi dovresti fonire dei dettagli in più sul come hai implementato del tuo VI.
Intanto, se non l'hai già fatto, dai un'occhiata agli esempi di LV sulle occorrenze.
Ciao, Ale
----------------------------------------
AUTORE: 63
DATA :01/10/2003 - 15:47:08
----------------------------------------
[quote="Ale914":153eaeqd]Ciao Arturo e benvenuto.
Da quello che ho capito credo che ci sia qualcosa che non va nel modo in cui hai implementato il codice però mi dovresti fonire dei dettagli in più sul come hai implementato del tuo VI.
Intanto, se non l'hai già fatto, dai un'occhiata agli esempi di LV sulle occorrenze.
Ciao, Ale[/quote:153eaeqd]
Ciao Ale,
Ho capito l'errore. Avevo disposto bene i vari pezzi di occurrence ma avevo disposto male una serie di strutture while.
Grazie per la risposta
Ciao Arturo
----------------------------------------
================================================================================
creazione eseguibile
================================================================================
AUTORE: 47
DATA :29/09/2003 - 16:43:21
----------------------------------------
Vorrei sapere come realizzare un eseguibile di un'applicazione LabView v.6 in cui utilizzo i security vi per effettuare la login. Dopo aver creato l'eseguibile con l'Application Builder, infatti, il vi Programmatic login genera l'errore 7. Nell'help file del LabView ho letto che quando si usano dei moduli DSC occorre usare il DSC Run-Time System: potrebbe essere questo il problema?
Grazie
----------------------------------------
AUTORE: 4
DATA :30/03/2004 - 13:14:33
----------------------------------------
[code:1nkylbmf]Error 7 occurred at an unidentified location.
Possible reasons:
LabVIEW: File not found.
or
NI-488: Non-existent board.[/code:1nkylbmf]
non credo che l'errore dipenda dal modulo DSC ma piuttosto dalla ricerca di un file in un percorso sbagliato.
Il path ritornato dalla funzione in labview cambiano a seconda che il codice sia un eseguibile o no
Se per esempio creo un VI \"prova.vi\" che ritorna il suo path, il suo output sarà [code:1nkylbmf]"d:\prova.vi" [/code:1nkylbmf]
se dello stesso vi creo un eseguibile exe, l'output sarà [code:1nkylbmf]d:\Application.exe\prova.vi[/code:1nkylbmf] dove \"application.exe\" è il nome dell' eseguibile risultante dal build.
E' chiaro che per tutte le operazioni fatte sui path come \"strip\" o \"build\" bisogna tenere conto della cosa in quanto si rischia di avere un codice che funziona perfettamente e che una volta compilato in exe smette di funzionare.
Per risolvere il problema puoi scaricare la funzione [url=http://www.ilvg.it/download.html:1nkylbmf]\"Relative Path\"[/url:1nkylbmf] che si occupa di capire se stà \"girando\" come exe o meno e quindi di ritornarti il path relativo corretto.
Ciao, Alessandro.
----------------------------------------
================================================================================
LabVIEW Drivers for Norma 5155 power analyzer
================================================================================
AUTORE: 66
DATA :01/10/2003 - 08:41:52
----------------------------------------
I have several questions concerning a GPIB LabVIEW driver for the power analyzer NORMA 5155 (NORMA is now part of LEM company). Perhaps this device is also common in Italy
1- Has anybody programmed a GPIB driver specially for this device so far ?
2- Is it possible to use other similar drivers (LEM/NORMA 4000..6000) for it?
3- How would you approach building a suitable driver? (Instrument I-O Assistent ...,)?
Any answer could be helpful.
Andreas, Germany\"
----------------------------------------
AUTORE: 129
DATA :11/05/2004 - 16:50:49
----------------------------------------
Hi andreas i don't speak english but
if you want to build a driver in Labview for the norma 5155,
I maked a basic driver witch send a unit measure with write VISA and after i read the response with read VI. Th ebyte count is 100.
The string you must send is [U;I;P;F;X\
]
Bie Nic
----------------------------------------
================================================================================
Station Options -> Localization -> Language
================================================================================
AUTORE: 67
DATA :01/10/2003 - 09:58:10
----------------------------------------
Ciao,
ho notato che all'interno della finestra delle [i:2z90bozg]Station Option[/i:2z90bozg], nella cartella [i:2z90bozg]Localization[/i:2z90bozg] esiste il menù a tendina [i:2z90bozg]Select a Language[/i:2z90bozg]. Domanda 1: cambiando la lingua che effetto si ottiene? Domanda 2: è possibile aggiungere nuove lingue, visto che è presente solo la lingua inglese, a questo menù tendina (italiano, francese, tedesco, spagnolo) ed eventualmente dove si possono reperire? Grazie
----------------------------------------
AUTORE: 15
DATA :01/10/2003 - 15:29:34
----------------------------------------
[quote="Bennet":2i3xt1d9]Ciao,
ho notato che all'interno della finestra delle [i:2i3xt1d9]Station Option[/i:2i3xt1d9], nella cartella [i:2i3xt1d9]Localization[/i:2i3xt1d9] esiste il menù a tendina [i:2i3xt1d9]Select a Language[/i:2i3xt1d9]. Domanda 1: cambiando la lingua che effetto si ottiene?
Tutte le stringhe che Testand visualizza, ad esempio le voci di menu del sequnce editor, i messaggi di errore, come pure le stringhe utilizzate nel report o nella Operator interface, provengono da una serie di files ini situati nella cartella Teststand\components\NI\language\
Il cambiamento di lingua influisce su tutte le stringhe sopra elencate.
Domanda 2: è possibile aggiungere nuove lingue, visto che è presente solo la lingua inglese, a questo menù tendina (italiano, francese, tedesco, spagnolo) ed eventualmente dove si possono reperire? Grazie
[/quote:2i3xt1d9]
Aggiungere una nuova lingua in teoria è facile ma si deve disporre della traduzione delle varie stringhe, basta copiare il contenuto della cartella:
Teststand\components\User\language\English (anche nella mia versione l'unica lingua presente è l'inglese)
Copiare ad esempio in:
Teststand\components\User\language\Italiano
Non vi resta che (si fa per dire......) sostituire le stringhe nel file con le corrispondenti traduzioni italiane.
Dato il numero di stringhe il lavoro di traduzione è veramente improbo.
So che esistono altre lingue supportate da NI (ad esempio il Giapponese) ma temo che l'Italiano non sia fra queste.
Ciao Rom
----------------------------------------
================================================================================
Visualizzazione VI su monitor touch screen
================================================================================
AUTORE: 36
DATA :02/10/2003 - 11:26:05
----------------------------------------
Vi sottoponiamo un problema che riguarda la creazione di un applicativo attraverso labview che presuppone l’utilizzo di due monitor touch screen, il primo da 12 pollici e il secondo da 6.4 pollici.
In particolare vogliamo che lo stesso vi che viene visualizzato a video sul secondo monitor, che ha una risoluzione di 640x480, venga visualizzato sul primo, che ha invece una risoluzione di 800x600, nella stessa maniera.
E’ possibile far ciò? e se è possibile, come posso realizzarlo?
Grazie
Roberto
----------------------------------------
AUTORE: 36
DATA :09/10/2003 - 11:14:14
----------------------------------------
problema risolto, comunque spero che ritorniate presto sul forum perchè avrei bisogno di alcune delucidazioni.
A presto
Roberto
----------------------------------------
AUTORE: 4
DATA :09/10/2003 - 12:54:32
----------------------------------------
Mi fà piacere che tu abbia risolto il tuo problema. Mi potresti spiegare in due righe in che modo ci sei riuscito visto che interessa anche me?
Se hai bisogno di \"dritte\" sarò felice di aiutarti.
Ciao, Ale.
----------------------------------------
AUTORE: 36
DATA :14/10/2003 - 11:42:40
----------------------------------------
Ho settato entrambe i monitor con la risoluzione 640 x 480 e ho creato dei vi ( giocando un pò con il loro ridimensionamento) che visualizzavano pressochè al centro tutto ciò che mi serviva. Diciamo che ho fatto una cosa un pò artigianale ma ho raggiunto ciò che volevo.
A presto
Roberto
----------------------------------------
================================================================================
Video proiettore comandato con LabVIEW
================================================================================
AUTORE: 16
DATA :09/10/2003 - 12:52:52
----------------------------------------
Ciao,
Qualcuno è in grado di dirme se è possibile comandare un video proiettore con LabVIEW ? (sicuramente, si)
Quale video proiettore utilizzare ? Dove si possono trovare i VIs ?
Grazie !!!
David
----------------------------------------
================================================================================
64bit double precision floating point
================================================================================
AUTORE: 51
DATA :15/10/2003 - 11:19:04
----------------------------------------
Ciao,
Ho una \"parola\" di 8byte double precision floating point (segno=1bit, esponente=11bit, mantissa=52bit).
Ho bisogno di mettere i 32 bit meno significativi al posto di quelli più significativi e viceversa e poi convertila in nel valore decimale.
Come posso fare in Labview 6.1?
Es:
a partire da una stringa (hex): 000000002A759541
inverto a 32 bit: 4195752A00000000
convrtito in decimale: 90000000.0
Grazie ciao
----------------------------------------
AUTORE: 4
DATA :15/10/2003 - 13:32:37
----------------------------------------
Io procederei così
- Converti la stringa A in un array 1 di U8 usando la funzione >> String to Byte Array
- Fai il \"Reverse\" dell'array 1 usando la funzione >> Reverse 1D Array
- converti l'array 2 di U8 ottenuto in una stringa B con la funzione >> Byte Array to String
- Fai un \"Type Cast\" della stringa B ottenuta usando la funzione \"Type Cast\" specificando come \"Type\" un DBL.
Spero di essermi spiegato...
Ciao, Ale.
----------------------------------------
AUTORE: 61
DATA :17/10/2003 - 10:46:52
----------------------------------------
Sarò stupido, ma non ho capito.
Io ho un dato float da 4 byte e vorrei avere un valore numerico.
Naturalmente io riesco a trasformare la mia stringa in un array di byte senza segno...
Ma adesso, sarà la mia poca familiarità con le funzioni di cast, ma non riesco a capire.
esempio, io ho una stringa in HEX 00000040, mi prendo i 4 byte, ma per tasformarlo in float???
Grazie mille, sono un po' in crisi, ciao
Jacopo
----------------------------------------
================================================================================
leggere un float
================================================================================
AUTORE: 61
DATA :17/10/2003 - 10:21:09
----------------------------------------
Ciao a tutti,
sto cercando di leggere dei dati numerici e non da un file salvato in binario.
Finora con int e char non ho avuto problema...il problema mi si pone ora con i dati float.
Purtroppo io trasformo il file in un spreadsheet file e poi prendo il pezzo di stringa di interesse, la trasformo in un array di byte e su quelli lavoro...
Con int e char non è difficile, ma se ho un dato float come faccio a trasformare un [u8] in un float???
Grazie mille a tutti, ciao
Jacopo
----------------------------------------
AUTORE: 61
DATA :17/10/2003 - 10:29:13
----------------------------------------
Chiedo scusa,
mi era sfuggita la domanda precedentemente posta sempre su float...
Provo a lavorare su quella...
Grazie, ciao
Jacopo
----------------------------------------
================================================================================
Esame di CLD
================================================================================
AUTORE: 4
DATA :17/10/2003 - 17:41:49
----------------------------------------
Il 28 di novembre a Milano ci sarà l'esame per diventare CLD Certified LabVIEW Developer.
Mi chiedevo se qualcuno ha intenzione di dare l'esame e se ha informazioni riguardo \"l'orientamento\" dell'esame cioè se sarà su più su LV6 o più su LV7.
Per chi non avesse info e fosse interessato, ecco il link sul sito di NI:
[url:r7dmrb52]http://digital.ni.com/worldwide/italy.nsf/we/802567E00081C5CD80256D6D007ED5EE?OpenDocument&node=164563_i[/url:r7dmrb52]
Ciao, Ale.
----------------------------------------
AUTORE: 32
DATA :04/11/2003 - 16:35:33
----------------------------------------
Anch'io dovrei dare quell'esame.
National afferma che sarà ancora su LW 6, ma chi può dirlo?
Ma tu non sei molto vicino al GURU Charlie?? Lui che dice??
----------------------------------------
================================================================================
Studente in crisi
================================================================================
AUTORE: 76
DATA :21/10/2003 - 16:03:03
----------------------------------------
Devo fare una relazione su dei circuiti fatti in labview.
Chi può darmi informazioni utili su lab view è pregato di mandarmele al mio indirizzo e-mail
----------------------------------------
AUTORE: 30
DATA :22/10/2003 - 09:06:49
----------------------------------------
Scusa ma perchè non specifichi un po' meglio? informazioni di che tipo?
----------------------------------------
================================================================================
Come chiudere un eseguibile
================================================================================
AUTORE: 77
DATA :23/10/2003 - 09:16:35
----------------------------------------
Ciao a tutti.
Avrei una domanda che riguarda gli eseguibili realizzati con l'Application Builder.
Premetto che ho LabVIEW 7, con relativo AppBuilder.
Vorrei sapere come effettuare la chiusura dell'eseguibile che ho creato, senza tornare al Front Panel.
Mi spiego meglio: nella VI ho inserito un pulsante STOP che arresta l'esecuzione della VI stessa.
Quando genero l'eseguibile (tipo Dialog), la pressione di questo tasto arresta l'esecuzione, ma compare il Front Panel di LV.
Quello che vorrei è che, invece, la pressione del tasto STOP arrestasse l'applicazione e la chiudesse completamente.
Spero di aver chiarito il mio problema ...
----------------------------------------
AUTORE: 4
DATA :23/10/2003 - 12:29:44
----------------------------------------
Ciao e benvenuto.
Per risolvere il tuo problema basta chiamare la funzione \"Application Control >> Quit LabVIEW\" al verificarsi della condizione d'uscita del tuo VI.
Ciao, Ale.
----------------------------------------
================================================================================
Calcolo Checksum
================================================================================
AUTORE: 79
DATA :24/10/2003 - 10:25:40
----------------------------------------
Qualcuno sa dirmi se esiste un VI che calcola una checsum di una stringa di byte.
Grazie antcipate a chi mi risponderà
----------------------------------------
AUTORE: 73
DATA :27/10/2003 - 13:40:04
----------------------------------------
Purtroppo ogni checksum è diverso dall'altro perchè ogni strumento vuole il suo di conseguenza non esiste un driver unico
Ciao
----------------------------------------
================================================================================
presento
================================================================================
AUTORE: 80
DATA :27/10/2003 - 09:19:19
----------------------------------------
salve,
sono umberto, tesista in ing meccanica, e proprio x la tesi sto utilizzando labview, da un paio di settimane. x ora mi sto occupando dell'acquisizione del segnale di estensimetri, mediante DAQ.
vabè
buon lavoro a tutti
----------------------------------------
================================================================================
ops, cmq local var e latch action - dati waveform
================================================================================
AUTORE: 80
DATA :27/10/2003 - 10:12:14
----------------------------------------
salve,
mi sarebbe servita la variabile di un controllore booleano, con latch action, ma nn è possibile, utilizzolabview 6.
esiste un modo x ovviare?
visto che ci sto ne approfitto:
devo salvare su file dei dati di tipo waveform, sto usando write to spreadsheet, il problema è che vorrei inserire, x ogni riga, un numero progressivo, ad esempio, o il tempo, ma sinceramente nn so come fare.
qualcuno può aiutarmi, x favore?
grazie e buon lavoro
umberto
PS
complimenti a chi ha creato il forum e l'ha portato avanti; probabilmente sarò di passaggio, il tempo della tesi, quindi grazie a chi, utilizzando labview x lavoro e/o piacere frequenta questo luogo e da una mano a noi studenti.
ciao
----------------------------------------
AUTORE: 4
DATA :27/10/2003 - 13:35:57
----------------------------------------
Ciao e benvenuto,
per quanto riguarda la variabile locale con controlli \"latch\" ci sono diversi modi di ovviare all'uso uno è quello di creare un indicatore del tuo controllo e usare la variabile locale dell'indicatore oppure usare un controllo \"switch\" e le sue locali per farlo funzionare come un latch cioè settandogli il valore a seconda delle situazioni ma il metodo migliore sarebbe quello di NON usare variabili locali. Se mi fai un esempio dell'utilizzo che ne devi fare ti posso dare un consiglio più efficace...rimango in attesa.
Per salvare una waveform con i tempi puoi usare la funzione Waveform>>Waveform file I/O>>Export Waveforms to Spreadsheet file
che fa proprio al caso tuo.
Grazie per i complimenti
Ciao, Ale.
----------------------------------------
AUTORE: 80
DATA :27/10/2003 - 17:47:15
----------------------------------------
ciao,
grazie x la risposta - ho beccato il gestore?
cmq cercherò di essere chiaro e conciso:
il controllo con latch mi serve, unito al \"run when execute\", x eseguire il VI all'apertura e, se stoppato, x rieseguirlo con un solo click, su run appunto. esiste un'alternativa?
ho seguito il tuo consiglio, usare la var dell'indicatore e funziona, riesco cioè ad interrompere un ciclo controllato da un altro interruttore, però dovrei cambaire anche lo stato di questo, immagino tramite le proprietà ma, a causa del latch mi si incasina tutto. mi sa che il latch nn è stata una buona idea.
in sostanza ho questi 2 controlli, uno che stoppa il VI ed uno che agisce sull'acquisizione del segnale, vorrei poter stoppare tutto il VI solo tramite il primo controllo.
a parte che nn so perchè dici che nn è consigliabile usare le var [forse x i casini di cui sopra?], ma ti credo, parli dei controlli switch come diversi dagli altri - è così?
x il waveform, ora nn sono all'uni e nn posso controllare, ma lo farò. però la funzione che mi hai consigliato mi sembra che permatta solo di inserire il tempo - io vorrei il controllo completo della stringa. è possibile?
ciao e grazie
umberto
----------------------------------------
AUTORE: 80
DATA :27/10/2003 - 18:50:28
----------------------------------------
ok
aggiornamento
ho il ciclo while principale con il suo controllo, A, all'interno un case, con il controllo B e un while, la cui condizione è la var di B; questo è l'unico modo che ho trovato x avere 2 cicli while nidificati.
con il tuo suggerimento, la condizione del secondo while è un \"not or\" tra la var di B e la var dell'indicatore di A, perchè A è latch [il while è impostato su continue if true].
x quanto riguarda l'indicatore del secondo ciclo, in realtà vorrei che si accendesse solo se effettivamente entra nel ciclo while, e nn, x esempio se si ferma all'if, x un motivo qualsiasi - una sorta di segnale di errore - però, ovviamente nn so come collegarlo.
come avrai capito queste nn sono condizioni fondamentali x il funzionamento del VI, un pò ancora nn sono entrato nel vivi della tesi, un pò cerco di capire come \"ragiona\" labview e capire cosa posso fare e cosa no, x cui se su questo puoi darmi un consiglio, altrimenti nn fa niente
ciao
garzie
umberto
----------------------------------------
AUTORE: 4
DATA :31/10/2003 - 17:55:33
----------------------------------------
Mi scuserai ma non ho capito fino in fondo la tua situazione nello specifico ma credo di aver capito il tipo di problema con cui ti stai confrontando.
Prova a dare un'occhiata qui [url:1jdudqjy]http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3E42F56A4E034080020E74861&p_node=DZ52030&p_source=external[/url:1jdudqjy] ...dovrebbe chiarirti qualche dubbio e poi fammi sapere.
Ciao, Ale.[/url]
----------------------------------------
AUTORE: 80
DATA :07/11/2003 - 09:46:05
----------------------------------------
ciao
innanzitutto ti ringrazio;
cmq ho implementato il codice usando i primi consigli che mi avevi dato. il link l'ho visto ed è stato cmq interessante.
ora ho quasi finito il VI x l'acquisizione del segnale degli estensimetri, ultimi test e rifiniture, poi passerò all'analisi, quindi avrò sicuramente altre domande x voi.
un'ultima cosa:
come da tuo consiglio ho utilizzato la var locale dell'indicatore di un controllo x cambaire valore ad un secondo controllo, booleani.
quindi avevo collegato la var al property del controllo di cui volevo cambaire valore; ho realizzato che ottengo la stessa cosa collegando la var dell'indicatore alla var del controllo da cambiare, in modalità write.
volevo sapere, pensi che i due sistemi sono totalmente equivalenti?
ciao
grazie
buon lavoro
umberto
----------------------------------------
================================================================================
presentazione
================================================================================
AUTORE: 73
DATA :27/10/2003 - 13:37:12
----------------------------------------
Ciao sono Marco,
ingegnere di 26 anni che ha fatto la tesi utilizzando labview per il controllo automatico dei sistemi e ora lavoro in un azienda che mi richiede l'uso un po' + spinto del programma per automatizzare tutti i processi di misura e monitorizzazione, quindi avrò bisogno dell'aiuto di tutti e vi darò il mio quando possibile....Marco
----------------------------------------
================================================================================
Conversione tensione in numero di giri.
================================================================================
AUTORE: 42
DATA :31/10/2003 - 09:09:28
----------------------------------------
Devo acquisire una tensione proveniente da una dinamo tachimetrica ho utilizzato il VI ai mult pt e lo collegato a un gauge questo però non è stabile ma salta in continuazione, sapete dirmi dove sto sbagliando o come fare per leggere i numeri di giri corrispondenti alla tensione ? ho una scheda di aquisizione PCI 6025E grazie.
----------------------------------------
AUTORE: 4
DATA :31/10/2003 - 17:43:51
----------------------------------------
Credo che il problema dipenda dall'uso della funzione AI Acquire Waveform (AI Mult pt) preche se usata in un loop (per es. un While) viene inizializzata ogni volta che viene chiamata e questo potrebbe generare l'effetto che descrivi.
Comunque è solo un ipotesi, dovresti fornirmi dettagli maggiori come i valori a cui hai imostato il SampleRate, il Number of Sample e il tempo di ciclo del loop in cui è inserita la funzione AI Acquire Waveform.
Ciao, Ale.
----------------------------------------
================================================================================
Modificare un POPUP
================================================================================
AUTORE: 11
DATA :03/11/2003 - 10:52:53
----------------------------------------
Vorrei sapere se è possibile modificare i popup di teststand 2.0, sia come font che come colori,magari con delle properties.
Ciao e Grazie.
----------------------------------------
AUTORE: 4
DATA :30/03/2004 - 13:00:00
----------------------------------------
Purtroppo non è possibile.
Ciao, Alessandro.
----------------------------------------
================================================================================
Web Server e subVI
================================================================================
AUTORE: 40
DATA :03/11/2003 - 18:22:57
----------------------------------------
Ho creato un'applicazione costituita da un pannello VI principale che chiama dei sub-VI.
L'applicazione gira su una rete locale intranet e deve essere utilizzata da almeno 4 utenti.
Ho abilitato e gestito il Web Server tramite i comandi presenti in \"Tools>>Options>>Web Server\",
cioè \"Configuration\", \"Browser Access\" e \"Visible VIs\".
Ho creato il documento HTML del solo pannello VI principale attraverso il comando \"Tools>>Web Publishing Tool\".
Ho comprato ed installato il \"Kit remote panel servers - 5 user\".
Il mio problema è il seguente:
utilizzando Internet Explorer da ogni PC e puntando alla pagina che contiene il primo pannello, tutti i PC vedono la pagina
e, giustamente, uno solo la può gestire. Se un altro PC vuol prendere il comando clicca col pulsante destro del mouse e lancia il comando
relativo di controllo.
Ma se il PC che ha il controllo entra in un sub-VI ed un altro cerca di prenderne il possesso, quest'ultimo non lo ottiene finchè il primo non
torna nel VI principale. E' corretto un comportamento del genere ?
L'applicativo è costituito da più VI in cascata chiamati l'un l'altro attraverso dei pulsanti; tutti i VI visualizzano soltanto dei dati
non effettuano dei comandi (salvo l'ultimo in cascata).
Inoltre ogni utente deve poter accedere ad un VI qualsiasi in contemporanea ad altri utenti che magari analizzano (non comandano) un suo sub-VI.
E' possibile far ciò ?
Dove sbaglio ?
Ringraziandovi anticipatamente dell'aiuto porgo un saluto a tutti i partecipanti al forum.
Ciao da Alberto.
----------------------------------------
AUTORE: 645
DATA :14/12/2005 - 08:38:22
----------------------------------------
Io ho letto sul sito della National (www.ni.com) che è possibile controllare il VI remoto tramite WebServer un utente alla volta. Quindi credo che la tua situazione sia normale, nel senso che finchè un utente non ha terminato tutte le operazioni nessun altro utente può prendere il controllo dell'applicazione. Tu dici che i subVi hanno il compito di visualizzare dei dati (ho capito bene?): in teoria dovrebbe essere possibile assumere il controllo del VI remoto solo dopo che l'utente precedente ha visualizzato i dati. Accade questo?
Tra l'altro è un argomento che sto affrontando anche io perciò qualsiasi nuova indicazione scopro mi torna utile...
----------------------------------------
AUTORE: 796
DATA :15/12/2005 - 10:46:47
----------------------------------------
Ciao ragazzi , anche io ho implementato una applicazione per essere sesguita in modalita webserver, il problema dei subvi è veritiero e all'epoca (un anno fa piu o meno ) alla national mi hanno detto (vedi ache documentazione su NI) che non esiste una gestione dei subvi in modo da condividere l'applicazione main fra piu utenti .
Io ho optato per 2 strade:
1 sviluppare l'applicazione su un unica pagina con i sub panel
2 oppure inserire un timeout automatico di x minuti su ogni pagina in modo che se l'utente sta utilizzando la pagina e si sconnette (oppure chiude il browser !) la pagina dopo x time comunque torni alla pagina principale
3 forse la soluzione più ok : creare un main che lanci in esecuzione su un ciclo while a parte tutti i vi separati che si vogliono poi utilizzare e poi modificare il file html che crea labview in modo da puntare ai singoli VI in esecuzione parallela (una sorta di web server che quando si avvia apre in memoria tutti i file da utilizzare)
NB: attenzione ad utilizzare controlli Active-x in ambiente web server non funzionano come dice NI o funzionano male a seconda delle piattaforme utilizzate.
NB 2: ho provato ad aprire i subvi utilizzando application reference ma in modalita web-server purtroppo non funziona e me ne sono reso conto dopo che avevo fatto il lavoro
Spero di non essere stato troppo incasinato.
Saluti Luigi
----------------------------------------
================================================================================
Bachi LabVIEW 7.0
================================================================================
AUTORE: 67
DATA :04/11/2003 - 10:01:55
----------------------------------------
Evidenzio i seguenti bachi in LabVIEW 7.0 (MAX 3.0) Se qualcuno ha dei suggerimenti per risolverli o aggirarli gliene sarei grato!!
Baco 1 : il kit d'istallazione di un programma realizzato con Appl.Buil. non registra i fonts che gli si dice d'istallare all'interno della cartella FONTS di Windows (prova eseguita su Win 2000-XP Pro-NT4 Sp6-98SE). E' necessario, una volta istallati i fonts, aprire tale cartella a programma EXE fermo, per renderli attivi.
Baco 2 : non è possibile, mentre il programma creato è in esecuzione, modificare un file *.IAK attraverso il MAX (FielPoint 4.0.0/1) e poi ricaricarlo nel programma. Le modifiche diventano attive solo al riavvio del programma (senza necessariamente chiudere LV).
Baco 3 : non è possibile comandare l'apertura di un file *.IAK da LabVIEW, ossia l'apertura di MAX con l'esplosione dell'albero del sistema FieldPoint configurato. Il massimo che sono riuscito a fare è l'apertura di MAX.
Baco 4 : (forse presente anche in versioni precedenti) In un VI nuovo posizionare un Waveform Graph sul pannello. Duplicare la scala delle ascisse. Spostare la nuova scala sul lato destro del grafico. Far scomparire le scale delle ascisse mediante la voce \"Visible\" del menù rapido dell'oggetto. Far ricomparire le scale delle ascisse. La scala di dx ora si troverà all'interno del grafico.
Grazie anticipatamente
----------------------------------------
================================================================================
Programmi in esecuzione
================================================================================
AUTORE: 32
DATA :04/11/2003 - 16:39:07
----------------------------------------
Qualcuno è a conoscenza di un .VI già esistente per poter conoscere quali programmi sono in esecuzione in particolare istante sulla macchina che si vuole analizzare.
Possibilmente senza ricorrere a API, o anche utilizzando queste, ma comunque qualcosa di già più, o meno, pronto.
Ciao a tutti e grazie
----------------------------------------
================================================================================
Come comunicare col Plc
================================================================================
AUTORE: 24
DATA :04/11/2003 - 19:31:51
----------------------------------------
Salve a tutti. Nel voler comunicare con un plc tipo Siemens 300 e nell'aver
configurato lookout protocol driver come opc server s7_hmi, disponendo dell'adattatore per la comunicazione , riscontrando che lookout protocol driver comunica correttamente col plc, come faccio a far vedere il plc a Labview.
Cioè come faccio a leggere e scrivere in labview tramite opc server di lookout protoc driver.
E' necessario lookout, dove e come procurarlo visto che nell'istallare i vari cd di labview , mi ha istallato solo il lookout protocol driver opc server 4.5?
Grazie
----------------------------------------
AUTORE: 4
DATA :17/11/2003 - 13:53:13
----------------------------------------
Devi usare le funzioni Comunications>>DataSocket.
Trovi diversi esempi direttamente tra gli esempi di LV e sul sito di NI.
Ciao, Alessandro.
----------------------------------------
================================================================================
Memorizzare variabili global. Come farlo al meglio?
================================================================================
AUTORE: 91
DATA :05/11/2003 - 10:32:46
----------------------------------------
Salve,
avrei una domanda!
Devo memorizzare dei parametri di uno strumento (per es. canale, guadagno, frequenza, ecc.) utilizzati in diverse vi. Ho utilizzato le variabili global, sono circa una ventina.
Vorrei sapere se esiste un sistema migliore per eseguire la memorizzazione dei parametri rispetto allo schema seguente:
Al caricamento della main vi vengono letti da un file i parametri e trasferiti nelle variabili global.
Per modificare e salvare i parametri viene aperta una sub vi che carica i parametri in d ei control. Da quì è possibile modificare i parametri dal pannello. Premendo un bottone sul pannello si trasferiscono i parametri alle variabili global e si risalvano su file per essere riletti alla successiva apertura del programma.
Il sistema anche se semplice è molto ingarbugliato a livello di diagramma. Il file in cui sono memorizzati i parametri è di tipo byte stream. Di conseguenza a bisogno per leggerlo di un ingresso byte stream type. Una volta letto bisogna fare un unbundle del cluster e collegare ogni componente alle variabili global corrispondente. Tutto l'inverso per la scrittura. Il risultato è chiaramente una miriade di fili e non vi dico il lavoro per aggiungere una altro parametro.
Sono convinto che c'è un metodo migliore magari anche per trattare la memorizzazione dei file. Chi può aiutarmi?
Grazie a tutti!
Ciao.
Gianluca.
----------------------------------------
AUTORE: 4
DATA :11/11/2003 - 08:10:39
----------------------------------------
Potresti usare un unica variabile globale contenente tutte le informazioni di cui hai bisogno includendo tutti i tuoi controlli in un cluster per il salvataggio7lettura puoi usare una soluzione simile con la differenza che non avresti più una miriade di fili per ogni controllo ma un unico filo per il cluster.
Se ti interessa esiste un modo per leggere e salvare il contenuto di un cluster in dei file INI in modo \"automatico\" utilizzando le funzioni OpenG che trovi qui [url:jaj7d4n4]http://www.openg.org[/url:jaj7d4n4] il vantaggio consiste nel non dover scrivere codice e nel fatto che il file sono \"in chiaro\".
Ciao, Ale.
----------------------------------------
================================================================================
Leggere un CD Audio con LabVIEW ?
================================================================================
AUTORE: 16
DATA :06/11/2003 - 15:30:11
----------------------------------------
Ciao,
C'è un VI che permette di leggere un CD audio con labview ?
Grazie.
David
----------------------------------------
AUTORE: 4
DATA :25/11/2003 - 11:41:02
----------------------------------------
Non esiste un VI che ti permetta di leggere un CD con tracce audio direttamnete mentre invece ne esiste uno per leggere e riprodurre dei file Wave. Per leggere un CD audio potresti usare l'ActiveX di WindowsMediaPlayer.
Ciao, Ale.
----------------------------------------
AUTORE: 16
DATA :04/12/2003 - 08:28:46
----------------------------------------
Ho trovato un esempio [url=http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000066F0000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=I+want+to+play+an+audio+CD+through+a+labview+VI&USEARCHCONTEXT_QUESTION_S=0:1te60o55]qui[/url:1te60o55].
Il VI commanda la [i:1te60o55]winmm.dll[/i:1te60o55].
Grazie.
----------------------------------------
================================================================================
array di waveform / gestione errori
================================================================================
AUTORE: 80
DATA :11/11/2003 - 17:22:00
----------------------------------------
salve,
come estraggo le waveform da un array di waveform?
x quanto riguarda gli errori, ho notato che i property node hanno l'uscita x l'errore, oltre che l'ingresso.
se quest'ultimo nn è previsto ha senso collegare error out al gestore dell'errore?
spero di essere stato chiaro
ciao grazie
buon lavoro
----------------------------------------
AUTORE: 4
DATA :12/11/2003 - 16:20:05
----------------------------------------
Con gli array di waveform, essendo degli array, si possono usare tutte le funzione per gli array quindi nel tuo caso la Index Array
Se il property ti da' errore ha senso controllarlo.
Ciao, Alessandro.
----------------------------------------
AUTORE: 80
DATA :13/11/2003 - 17:55:26
----------------------------------------
grazie x la risposta
nel basic I course ho trovato quello che cercavo; però lì i canali sono costanti, nel mio caso è un controllo, quindi dovrei leggere la stringa [ perchè è uan stringa giusto?] verificare quanti*, e nn quali canali sono in suo e passarli ad un ciclo FOR, in modo da estrarre le singole waveform e poterle analizzare.
vi sembra giusto questo modo di procedere? qualcuno ha già avuto lo stesso problema? ho cercato un pò in rete ma nn ho trovato neinte.
anche qui mi sembra un bel casino, perchè ci sono 2 modi per inserire i # dei canali, separati da uan virgola o come range di #, mettendo tra il primo e l'ultimo :
per quanto riguarda la gestione errori, ho dimenticato di specificare che le proprietà dei property node, sono tutte Value di controlli booleani; nn riuscendo ad immaginare che tipo di errore si possa verificare mi chiedevo se era necessario colegare error out dei property node al gestore dell'errore.
ciao grazie
buon lavoro
----------------------------------------
================================================================================
dll in VB 6.0 per LabVIEW
================================================================================
AUTORE: 95
DATA :12/11/2003 - 08:03:54
----------------------------------------
Mi sono appena iscritto al ILVG perchè ho questo grave problema:
non conosco Visual Basic, ma vorrei creare una dll da utilizzare in LabVIEW 7.0. Leggendo un po' l'help di VB ho visto che è possibile creare un progetto con DLL Actvie X. Le funzioni che però ho inserito in questo progetto non sono visibili da LabVIEW.
Grazie per l'aiuto,
paolo.
----------------------------------------
AUTORE: 4
DATA :23/04/2004 - 16:07:06
----------------------------------------
prova a leggere questo articolo
[url:1etyjtdb]http://zone.ni.com/devzone/conceptd.nsf/webmain/5CF9A9FFD774028586256869005FF2ED?opendocument[/url:1etyjtdb]
ciao, Alessandro.
----------------------------------------
================================================================================
Manuali
================================================================================
AUTORE: 73
DATA :12/11/2003 - 13:27:20
----------------------------------------
Qualcuno conosce un buon manuale(libro) di Labview a livello avanzato, nel senso che tralasci le indicazioni su cos'è un controllo etc. ma che spieghi quali siano i modi migliori per fare un prgramma snello che utilizzi la memoria al meglio. Vi ringrazio per le informazioni
----------------------------------------
AUTORE: 67
DATA :17/11/2003 - 12:11:57
----------------------------------------
Ciao.
Esiste un manuale di LabVIEW avanzato che ti permette di gestire al meglio le risorse del PC sia nell'uso della memoria sia nell'uso del microprocessore e si chiama \"LabVIEW Advanced I\".
Per poterlo avere, però, devi contattare la National in quanto è dato in dotazione con l'acquisto di un corso di LabVIEW avanzato e non so se si possa acquistare il manuale solamente.
Bennet
----------------------------------------
================================================================================
Aumentare le performance di Labview con Windows 2000
================================================================================
AUTORE: 73
DATA :13/11/2003 - 13:56:29
----------------------------------------
Ho letto un' application note della national instrument(Performance considerations for Labview on windows 2000) dove dice di cambiare le opzioni di performance in windows 2000 da applicazioni a programmi in background io con labview 6.0.2 non ho notato nessun miglioramento provate anche voi poi fatemi sapere
----------------------------------------
AUTORE: 4
DATA :25/11/2003 - 11:34:21
----------------------------------------
Ho provato con LV 6.1 ma non ho trovato nessuna differenza apparente.
Ciao, Ale.
----------------------------------------
================================================================================
Field point
================================================================================
AUTORE: 73
DATA :14/11/2003 - 16:54:56
----------------------------------------
Ho un problema strano:
ho un programma che funziona su un computer e acquisisce tramite field point, ma questo computer verrà sostituito quindi ho provato il programma su un altro computer (stesso sistema operativo win2000,stessa versione di Labview6.0.2,stessa versione del field point explorer3.0.2)ma il programma non funziona nel senso che da errore nei blocchi advise dei field point(error code 33162).
Preso da scrupolo ho provato anche con un esempio di Labview che legge un dispositivo digitale DI 301 e mi dà lo stesso errore con però il blocco read.
Avete mai avuto problemi simili o avete mai ricevuto quell'error code?
Ciao e grazie
----------------------------------------
AUTORE: 4
DATA :30/03/2004 - 12:58:48
----------------------------------------
[code:34n74212]Error 33162 occurred at an unidentified location.
Possible reasons:
FieldPoint: Unable to connect to the data item on the module. Possible causes: (1) A connection is broken, or (2) the network module is not powered on.[/code:34n74212]
non ho mai avuto un problema simile, l'unica cosa che mi viene da dirti è di ricontrollare bene la configurazione dei moduli nel file iak e poi fare una prova usando il server explore di NI collegandoti all'OPC serve Field Point.
Ciao, Alessandro.
----------------------------------------
AUTORE: 129
DATA :30/03/2004 - 13:14:01
----------------------------------------
Ciao delpi, problemi simili li ho avuti anche io, se provi a leggere/scrivere il canale direttamente dall'explorer, ti restituisce q.che errore?.
A me addirittura è capitato su un'applicazione che già girava correttamente,un bel giorno mi dava errore di lettura del canale,sul Explorer diceva che il canale non era del tipo dichiarato(non vero) .Mbè ho scambiato due moduli fra di loro e Eureka ha funzionato...
Ciao
----------------------------------------
================================================================================
presentazione
================================================================================
AUTORE: 99
DATA :17/11/2003 - 13:28:15
----------------------------------------
Ciao a tutti! mi chiamo Valentina, sono una dottoranda in fisica. Ho iniziato da poco a usare labview e...beh, ogni tanto la mia immaginazione non è sufficiente a scoprire come risolvere certi problemi!! spero di trovare aiuto..
----------------------------------------
================================================================================
creare una mappa
================================================================================
AUTORE: 61
DATA :18/11/2003 - 14:19:25
----------------------------------------
Ciao,
volevo sapere come fare per creare una mappa 256x256 dove ad ogni coppia di coordinate corrisponde un'intensità di colore a seconda del valore di quel punto...
Posso usare solo le funzioni draw o ci sono altri modi??
Grazie mille, ciao
Jacopo
----------------------------------------
AUTORE: 4
DATA :25/11/2003 - 11:28:38
----------------------------------------
Puoi usare altre soluzioni come una matrice di indicatori \"Color Box\" ma usare le funzioni di Draw è il modo più semplice e flessibile.
Ciao, Ale.
----------------------------------------
================================================================================
acquisizioni via MIDI
================================================================================
AUTORE: 100
DATA :18/11/2003 - 14:30:06
----------------------------------------
Ciao a tutti,
vorrei avere info relative alla possibilità di acquisire stringhe di dati da strumenti musicali via midi.
Sapete dirmi qualcosa...???
Grazie.
----------------------------------------
AUTORE: 4
DATA :25/11/2003 - 11:31:09
----------------------------------------
Ho provato a fare delle ricerche su SearchVIEW ma ho trovato poco... comunque, se vuoi dare un'occhiata direttamente tu, il link è [url:gd51946u]http://www.searchview.net/[/url:gd51946u]
Ciao, Ale.
----------------------------------------
AUTORE: 4
DATA :27/11/2003 - 13:56:38
----------------------------------------
Ho trovato una LLB sul mio PC ma non ricordo più da dove l'ho scaricata.
L'LLB in questione permette di generare dei suoni MIDI, per farlo utilizza la DLL winmm.dll.
Se ti interessa ti mando i file via e-mail.
Ciao, Ale.
----------------------------------------
AUTORE: 98
DATA :02/12/2003 - 13:04:08
----------------------------------------
questo è un file di esempio trovato sul sito della NI.
Non gli ho ancora dato un'occhiata ma dovrebbe fare al caso tuo.
This example shows how to use the Windows Multimedia DLL to communicate with a MIDI device.
Use the top-level VI to select a MIDI device, channel, patch, volume, and pitch, and to play the note for one second. Intermediate-level VIs include Patch Select, Note On, and Note Off. Low-level VIs include midiOutOpen, midiOutShortMsg, and midiOutClose.
This example is not intended to be a complete MIDI toolkit; its purpose is to help you get started. To extend these VIs, you might need to refer to other Web sites for more information about the MIDI specification and the Microsoft Windows MIDI programming interface.
ftp://ftp.ni.com/contrib/epd/B123AE0CBB ... xample.llb
----------------------------------------
AUTORE: 100
DATA :03/12/2003 - 14:38:35
----------------------------------------
Grazie dell'interessamento ragazzi...
L'esempio di applicazione della NI lo avevo già scaricato, e ci sto lavorando...
Cmq se vi capita qualcosa di interessante sul dialogo via midi fatemelo sapere.
Grazie.
----------------------------------------
AUTORE: 141
DATA :21/01/2004 - 05:52:48
----------------------------------------
ciao a tutti,
anche io sono molto interessato all'acquisizione midi tramite labview, mi chiedevo solo se c'erano novità riguardo a questa lib, non riesco a trovarla ed su ni.com è presente solo midi-out...
----------------------------------------
AUTORE: 645
DATA :04/05/2007 - 11:01:16
----------------------------------------
Ciao a tutti, ho letto questo topic solo adesso... Qualcuno di voi ha continuato a cercare o è riuscito a sfruttare il midi in LabView per qualcosa di simpatico?
----------------------------------------
================================================================================
SCXI 1221 e 1321 con DAQ serie E
================================================================================
AUTORE: 80
DATA :20/11/2003 - 20:33:54
----------------------------------------
salve,
qualcuno lavora con l'hardware in oggetto?
x' avrei alcune domande x chiarire dei dubbi.
ciao grazie
buon lavoro
----------------------------------------
AUTORE: 4
DATA :23/04/2004 - 16:03:52
----------------------------------------
forse intendevi 1121, comunque io ho fatto qualche esperienza con tali schede... se hai bisogno...
Ciao, Alessandro.
----------------------------------------
================================================================================
ActiveX Windows Media Player
================================================================================
AUTORE: 16
DATA :21/11/2003 - 11:04:20
----------------------------------------
Ciao a tutti,
Qualcuno a gia' provato a utilizzare gli ActiveX di Windows Media Player con LabVIEW ? Avrei bisogno di informazioni sul argomento...
Grazie...
----------------------------------------
AUTORE: 100
DATA :03/12/2003 - 14:44:05
----------------------------------------
Se vai al topic \"acquisizioni via MIDI\" trovi il link per scaricare un esempio di applicazione dove viene utilizzato il winmm.dll di windows che racchiude tutte le funzioni multimediali di Windows Media Player.
Può esserti d'aiuto come punto di partenza.
Cmq anche io sto cercando info relativamente a questo argomento, in particolare relativamente all'interfaccia MIDI.
Ciao, Daniele
----------------------------------------
================================================================================
Icone per Labview
================================================================================
AUTORE: 51
DATA :25/11/2003 - 08:59:16
----------------------------------------
Qualcuno potrebbe indicarmi un software per fare icone, che vada bene con l'application Builder di Labview 7 express?
Grazie
----------------------------------------
AUTORE: 4
DATA :25/11/2003 - 11:24:48
----------------------------------------
Puoi usare un qualsiasi programma per creare e gestire file .ico, io trovo facile e fatto bene MicroAngelo, lo trovi quì [url:1sqzx5it]http://www.microangelo.us/[/url:1sqzx5it]
Ciao, Ale.
----------------------------------------
================================================================================
Pop-up menu in labview
================================================================================
AUTORE: 104
DATA :25/11/2003 - 14:06:29
----------------------------------------
Vorrei sapere se qualcuno ha sviluppato un VI per gestire pop-up menu a più livelli (con sottomenu) utilizzando le API di windows.
Grazie mille per le vostre risposte..
Alex
----------------------------------------
AUTORE: 104
DATA :26/11/2003 - 11:41:09
----------------------------------------
Sono riuscito a farlo da me.....
Ciao a tutti
----------------------------------------
AUTORE: 4
DATA :26/11/2003 - 12:50:40
----------------------------------------
ma intendi un menu di tasto destro?
se è così spiegami come hai fatto
Ciao, Ale.
----------------------------------------
AUTORE: 104
DATA :11/12/2003 - 14:24:36
----------------------------------------
Si, un menu con quanti sottolivelli vuoi, da poter legare con un event ad un pulsante o alla pressione del tasto destro del mouse. Per intenderci un menu identico a quello che si vede cliccando con il tasto destro su un controllo di labview.
Lo si può fare utilizzando le funzioni API di windows, tipo, CreateMenu, TrackPopupMenu etc.....
Spiegarne il funzionamento in un post è impossibile.
Bye Alex
----------------------------------------
AUTORE: 13
DATA :12/12/2003 - 13:40:23
----------------------------------------
Ciao
Anche io sono alle prese con la creazione di un popmenu , ho dato uno sguardo all'uso delle API DI WINDOWS , ma ho ricevuto solo errori da parte dell'ambiente.
potresti in qualche modo mandare o sul forum o magari cia E-MAIL il .vi che richiama le corrette chiamate alla libreria (user32.dll , sperando di averci azzeccato con la libreria
) , mi sarebbe veramente utile, sto sviluppando un programma per la mia azienda e una chicca del popup-menu non sarebbe proprio male. ti lascio anche il mio indirizzo di posta nel caso in cui decida di mandarmelo. Ti ringrazio in anticipo.... fioreg@inwind.it ciao
----------------------------------------
AUTORE: 4
DATA :12/12/2003 - 13:47:27
----------------------------------------
E' chiaro che non si può spiegaare in un post ma se fossi così gentile da mettermi a disposizione il codice che hai sviluppato te ne sarei molto grato e non solo io a quanto vedo
Siamo nelle tue mani.
Ale.
----------------------------------------
AUTORE: 13
DATA :14/01/2004 - 11:04:59
----------------------------------------
Perso le speranze ...........
----------------------------------------
AUTORE: 129
DATA :01/06/2004 - 14:34:00
----------------------------------------
Ho trovato qualcosa su [url=http://forums.lavausergroup.org/index.php?showtopic=345:1ghf74w3]LAVA[/url:1ghf74w3]
----------------------------------------
AUTORE: 235
DATA :01/06/2004 - 15:11:58
----------------------------------------
Se a qualcuno interessa ho sviluppato qualcosina puramente in LV (senza API), sono menu ad un livello ed è possibile associare un diverso menu
(right click) ad ogni controllo/indicatore.
Bye P.
----------------------------------------
AUTORE: 129
DATA :02/06/2004 - 14:30:54
----------------------------------------
Si se magari puoi dettagliare,hai usato anch etu la event structure?
Ciao
----------------------------------------
AUTORE: 235
DATA :03/06/2004 - 08:45:12
----------------------------------------
Si, event structure e listbox che viene riempita ogni volta da un
diverso menu in base al controllo su cui si è clickato.
L'idea è come quella esposta su LAVA, con qualche differenza.
Bye P.
----------------------------------------
AUTORE: 235
DATA :28/04/2005 - 11:24:08
----------------------------------------
Allego il VI
----------------------------------------
================================================================================
LabVIEW 7 e MS Access
================================================================================
AUTORE: 77
DATA :26/11/2003 - 08:41:49
----------------------------------------
Salve a tutti.
Vorrei realizzare un'applicazione che sia in grado di interfacciarsi con MS Access per gestire un database (in particolare mi occorre che legga dal DB).
Ho trovato una VI del genere sul sito Developer Zone della NI, ma è necessario che il file mdb venga aperto con Access, prima di potervi accedere.
Qualcuno ha sviluppato qualcosa del genere o ha suggerimenti?
Grazie in anticipo.
Ciao,
Stefano
----------------------------------------
AUTORE: 129
DATA :08/01/2004 - 16:01:34
----------------------------------------
Ciao, percaso è DAOexample?L'ho pubblicato io ma è molto generico e banale.
Io utilizzo il DAO engine per semplicità.
Il limite è che funziona solo con ACCESS o DB Microsoft.
Per aprire il file Mdb basta usare il metodo [b:12ztxyba]Open Current DataBase[/b:12ztxyba], dove bisognerà specificare il percorso e la modalità di accesso.
Inviami un dettaglio del lavoro che vuoi fare,ho capito che vuoi aprire il database,inserire dati da LV o da Access?con i metodi e le proprietà DAO puoi agire su tutti gli oggetti di Access.
Comunque in linea di massima potresti aprire il DB,inserire i dati e quindi continuare con l'inizializzazione dell'applicazione(puoi usare una sequence o una StateM.)
Fammi sapere
----------------------------------------
================================================================================
attesa alla fine di una subvi
================================================================================
AUTORE: 73
DATA :26/11/2003 - 08:43:52
----------------------------------------
Non riesco a risolvere il problema che mi è nato in un programma che ho fatto:
questo programma funziona tutto se non fosse per il fatto che una volta finite tutte le sequenze che deve fare si ferma in attesa di non so cosa.
Procedendo passo passo si nota che il programma fa quello che gli è richiesto e quando arriva in fondo si ferma proprio nella schermata bianca di fondo dove non c'è nulla.......
Grazie a chi risponde Ciao
----------------------------------------
AUTORE: 16
DATA :10/12/2003 - 13:42:12
----------------------------------------
Non è che hai messo un [i:22rph8gz]breakpoint[/i:22rph8gz] nel [i:22rph8gz]block diagram[/i:22rph8gz] ? Guarda se c'è un quadro rosso attorno al tuo [i:22rph8gz]diagram [/i:22rph8gz]; se c'è levalo usando il [i:22rph8gz]set/clear breakpoint[/i:22rph8gz] (punto rosso) della [i:22rph8gz]Tools palette[/i:22rph8gz] (devi cliccare sul fondo bianco del [i:22rph8gz]diagram[/i:22rph8gz]).
----------------------------------------
================================================================================
LPT con labview 7
================================================================================
AUTORE: 106
DATA :29/11/2003 - 11:11:27
----------------------------------------
Non riesco a scrivere su LPT utilizzando out port; se c'è qualche modifica da effettuare vi sarei grato se me la comunicaste, grazie fra
----------------------------------------
AUTORE: 4
DATA :16/12/2003 - 10:05:59
----------------------------------------
Trovi delle informazioni utili e dei link sul sito NI [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/72C6FC6CE4AD4D1386256B1800794596?opendocument:3ttaj3r2]qui.[/url:3ttaj3r2]
Ciao, Alessandro.
----------------------------------------
AUTORE: 91
DATA :18/12/2003 - 20:59:28
----------------------------------------
Anche a me servirebbe la stessa informazione oltre che per scrivere o leggere sulla porta parallela anche per la seriale, ma il link che hai indicato mi da errore:
Error
HTTP Web Server: Unknown Command Exception
Dove posso guardare?
Ciao e grazie
Gianluca
----------------------------------------
AUTORE: 106
DATA :19/12/2003 - 09:38:03
----------------------------------------
Ho avuto lo stesso problema di Gianluca, il link da consultare mi dà errore, come posso fare?
grazie, fra
----------------------------------------
AUTORE: 4
DATA :19/12/2003 - 13:01:55
----------------------------------------
Scusate non so che sia successo... cmq il link giusto è il seguente
[url:2l67hnlv]http://zone.ni.com/devzone/conceptd.nsf/webmain/72C6FC6CE4AD4D1386256B1800794596?opendocument[/url:2l67hnlv]
Ciao, Ale.
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 16:50:22
----------------------------------------
ciao!
sono un \"forumendolo\" nuovo, e sto tirando scemo col topic di questo 3d...
allora, uso LV 6.1 sotto win2000 , e ho bisogno di muovere dei relè con la parallela (giustamente...
) , quindi output di 1 byte x volta (velocità bassissima, 1 byte/sec o anche meno...) senza input....
ora, quelle info sul sito NI le avevo beccate pure io...e alla fin fine, riguardo il mio caso, mi dice che posso usare le VISA nella sola funzione di write, avendo cura di collegare i pin 11 e 12 a GND, x \"fregare\" l'handshake tipico della porta (che tramite Bios ho provveduto a settare come SPP, lo standard più semplice...)...
E NON VA !!!!! succede una cosa stranissima, con una demo che fa un loop di questo genere (VISA write 0xFF - delay 100ms - VISA write 0x00 - delay 100 ms) devo aspettare ceh il ciclo luppi 64 voltel, prima di iniziare a vedere i pin della parallela che si muovono.....bbbbho....
sembra che la \"simpaticona\" bufferizzi il tutto, cosa che potrebbe proprio evitare di fare, almeno x quel che ci devo fare io....
la mia riconoscenza eterna a chi saprà darmi una zampa!
ciau....
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 16:52:54
----------------------------------------
idiota che sono, mi son fatto un OT alla prima uscita qui sopra, scusate....
il 3d era x LV 7 , io invece uso LV 6.1 ...ancora x poco...
cmq se qualcuno può essermi d'aiuto....THANXXX!!!
----------------------------------------
AUTORE: 4
DATA :02/02/2004 - 16:57:47
----------------------------------------
Non fa niente anzi per quanto ne so' non ci dovrebbero essere differenze nell'utilizzo della LPT con LV 6.1 e con LV 7 cmq mi documenterò meglio e magari in futuro ti faccio sapere più precisamente.
Ciao, Ale
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 17:05:02
----------------------------------------
stika, manco sul forum di snowboard riesco ad avere risp + veloci !
grande!!!
e tra l'altro pure quello usa phpbb ... devo dire al capo (alle mie spalle...) che NON SEMPRE cazzeggio quando vede sta schermata qui...
hehe, torniamo seri....
cmq sto cercando info pure io...da un pò...appena riesco a districarmi in quel £$&$%&£$&/%$& che è il sito di national , e se trovo qc di positivo, ti farò sapere!
byezz...
----------------------------------------
AUTORE: 129
DATA :02/02/2004 - 17:05:12
----------------------------------------
Sicuramente hai già provato, ma se vai a questo link puoi scaricare delle utilities in C che risolvono il caso dell'utilizzo dell'OUT e INPORT in w2000 e NT. [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DEBD56A4E034080020E74861&p_node=DZ52058&p_submitted=&p_rank=&p_answer=&p_source=External:1e1li76d]accessHW[/url:1e1li76d]
Io le ho usate con successo(non dopo aver dato due o tre craniate),Nicola
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 17:12:01
----------------------------------------
ehmm....le ho scaricate, poi ho letto la parolina magica \" CVI \"
e ho pensato \"ma stanno fuori quelli là, io uso LV.....\"
...infatti mentre te postavi, io me le installavo...azzz....
appena finito l'inst....che praticamente installa poco e niente, ma vabbè...
scusa se rompo, ma tu cosa fai?
sotto win2000/LV6(7) installi sto AccessHW, poi fai OutPort normalissimi su 0x378 ? e la parallela (messa come SPP , lo standard più semplice e vecio) ha sempre i pin 11 e 12 (Busy e PaperEnd) a GND ?
io ho messo in corto tutte le linee gnd della porta, spero di non aver fatto una cazz....ehm...
cmq adesso provo...muchas gracias anche a te!
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 17:13:18
----------------------------------------
\"quelli là\" intendo National eh....
voi siete i miei super-eroiiiiii ehhehe!
p.s. ma non si possono modificare i post di questo forum?
cia!
----------------------------------------
AUTORE: 129
DATA :02/02/2004 - 17:33:23
----------------------------------------
Praticamente il giochino è questo quando tu installi le librerie, te le mette in C:AccessHV, tu le sposti in User Library o quello che vuoi oppure meglio le lasci li, select a VI e quindi vai a selezionare la llb che ti ha generato sull'indirizzo sopra.
ORA Hai le OUTPORT (USA OUTPORT E INPORT)che fanno al caso tuo,ricordati che l'indirizo deve essere in esadecimale,quindi guarda il format della costante che colleghi in adress.
Spero di esserti stato di aiuto
Nicola
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 17:44:50
----------------------------------------
[quote="nicola":2rvdymwn]
Spero di esserti stato di aiuto
Nicola[/quote:2rvdymwn]
di più nicola, di più!
ke testone, manco avevo visto che mi aveva creato delle LLB in quella cartella....
non ho ancora provato il tuo giochino
xkè stavo pacioccando con una mini-demo scaricata [url=http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/c80752c53094c296862565f3007ac765?OpenDocument
]qui[/url] :
credo che alla lunga faccia più o meno la stessa cosa tua (solo che le inport e outport modificate ce le ha dentro la demo...)
e FUNZIONA !!!
adesso provo a modificare il mio programmino sulla base dei tuoi consigli preziosi...
grazie mille ancora!!!!
cià...
----------------------------------------
AUTORE: 156
DATA :02/02/2004 - 18:13:12
----------------------------------------
bbbboh, alla fine della fiera,
ho seguito i tuoi consigli \"bit a bit\" e.....
IT WORKSSSSSSS !!!!
....quanto alta la vuoi la statua??? hehe...
no xkè la cosa malata era che venerdì ero riuscito a far funzionare l'accrocchio pure con le VISA...ovvero...
mi dava il problema già descritto, poi andando sul bios avevo messo la parallela da ECP a SPP , tornando in LV non c'era più sto casino che la porta funzionava solo dopo 64 output...
e bho, torno lunedì e il problema c'era di nuovo, tale e quale, xò stavolta pure con la porta messa come SPP...bbbho, già vedevo il monitor volare fuori dalla finestra.....
adesso coi tuoi consigli sempbre di nuovo funzionare tutto alla perfezione...
GRANDE NICOLAAAA!!!
a presto!
----------------------------------------
AUTORE: 428
DATA :01/12/2004 - 22:32:57
----------------------------------------
Dopo aver installato le librerie AccessHW come faccio per richiamarle all'interno del programma?
.......scusate se vi rifaccio una domanda a cui avete già dato una risposta ma a seguito della loro istallazione non so come procedere per utilizzarle e quindi per far funzionare i blocchi IN Port.vi e Out Port.vi.......
grazie
----------------------------------------
AUTORE: 428
DATA :02/12/2004 - 07:43:56
----------------------------------------
...
penso di aver risolto....neanche io avevo cercato bene quelle librerie nel menù dei tools.....meglio così....cmq grazie lo stesso perchè ho \"sfruttato\" i vostri suggerimenti.....alla prossima
----------------------------------------
AUTORE: 129
DATA :02/12/2004 - 07:51:09
----------------------------------------
Ciao Alby,
Innanzitutto vorrei fare una precisazione, su LV7.x i port IN/OUT girano su W2000/XP.
Il problema era per la versione 6.1 con w2000/xp.
Se sei in queste condizioni allora devi fare riferimento alla AccessHW che se guardi i topic sopra spiegano che:[quote:3uifnjhm]Praticamente il giochino è questo quando tu installi le librerie, te le mette in C:AccessHV, tu le sposti in User Library o quello che vuoi oppure meglio le lasci li, select a VI e quindi vai a selezionare la llb che ti ha generato sull'indirizzo sopra.
[/quote:3uifnjhm]
Comunque se vuoi vedere sulla palette i vi bisogna che sposti il file .llb nella cartella user sotto C:\Programmi\National Instruments\LabVIEW 7.1\user.lib.....
Buon lavoro Nicola
----------------------------------------
AUTORE: 428
DATA :02/12/2004 - 09:01:06
----------------------------------------
...si mi riferivo alla versione 6.1...
le ho spostate ed ora tutto ok
grazie!!
----------------------------------------
AUTORE: 428
DATA :04/12/2004 - 18:43:27
----------------------------------------
ciao ragazzi mi serve un altro aiutino......sapete sono alle prime armi con labview e siete gli unici che potete aiutarmi:
Come faccio a decidere il periodo di tempo in cui un dato bit del data register deve rimanre basso o alto?
insomma vorrei mettere un temporizzatore o roba del genere e settarlo volta per volta.
E' possibile?
grazie
----------------------------------------
AUTORE: 201
DATA :08/12/2004 - 15:26:37
----------------------------------------
i bit una volkta settati rimangono tali fino a nuova valore, in pratica se tu metti a '1' il bit D0 quello ci rimane finkè nn lo rimetti a '0'.Diventa quindi semplice fare quello ke kiedi.
ciao
----------------------------------------
AUTORE: 129
DATA :08/12/2004 - 20:24:20
----------------------------------------
[quote="alby":unr9y06b]Come faccio a decidere il periodo di tempo in cui un dato bit del data register deve rimanre basso o alto?
insomma vorrei mettere un temporizzatore o roba del genere e settarlo volta per volta.[/quote:unr9y06b]
Puoi realizzarlo con una sequenza oppure con uno shift register, ti mando due immagini del diagramma,vedi se ti danno uno spunto...
----------------------------------------
AUTORE: 201
DATA :09/12/2004 - 19:59:23
----------------------------------------
esatto.
Cmq io come indirizzo devo usare 778, ho guardato un po in rete e il fatto si spiega xkè è settata con un protocollo avanzato.
Se metto 378 nn manda una cippa alla parallela
----------------------------------------
AUTORE: 129
DATA :09/12/2004 - 20:49:30
----------------------------------------
[quote="blow":2wp2whq5]Cmq io come indirizzo devo usare 778, ho guardato un po in rete e il fatto si spiega xkè è settata con un protocollo avanzato.
Se metto 378 nn manda una cippa alla parallela
[/quote:2wp2whq5]
Questa non la sapevo, potresti dirmi di più, mi interessa, l'argomento lpt.
Grazie
----------------------------------------
AUTORE: 428
DATA :10/12/2004 - 09:14:04
----------------------------------------
...grazie mille ragazzi mi metto subito all'opera e vi faccio sapere!
----------------------------------------
AUTORE: 428
DATA :13/12/2004 - 20:59:35
----------------------------------------
purtroppo non va!! non riesco a scrivere nulla sulla porta. Ho utilizzato gli esempi del sito della NI e quelli di Nicola sopra.
Per testare ho collegato un led tramite resistore ai piedini della parallela beh l'1 il 2,3,4,10,23,24,25, sono sempre alti.
ora provo a connettere 2 pc e vedo che succede......
Ps anch'io nel pannello di controllo ho 2 indirizzi per la com: 378 e 778!!!
Gli ho provati entrambi ma il risultato non cambia nn riesco a scrivere sulla porta!!
----------------------------------------
AUTORE: 129
DATA :08/12/2005 - 10:42:39
----------------------------------------
vi giro un link interessante sulla parallela.
[url=http://www.fapo.com/1284int.htm:1tya6io4]warp nine[/url:1tya6io4]
Nel rileggere il topic mi viene in mente, nnè che l'indirizzo che metti (Alby) è in decimale quando il 378 a cui ci riferiamo è Esadecimale?
----------------------------------------
AUTORE: 680
DATA :08/12/2005 - 12:05:20
----------------------------------------
l'errore potrebbe essere sull'indirizzo che è 378 in esadecimale che corrisponde a 888 in decimale.....
ciao..
----------------------------------------
AUTORE: 1669
DATA :27/04/2007 - 08:34:18
----------------------------------------
Ciao a tutti
anche io sto usando output port
Ma cosa devo definire sui collegamenti (dato che non c'è l'help per questo subvi)
1) Register address = 378 ?
2) Write a byte or a word = il valore booleano che mi aziona il relais ?
3) value = il valore di default (cioè normalmente aperto o normalmente chiuso)
Vi ringrazio come sempre
Fatemi sapere
A presto
----------------------------------------
AUTORE: 1669
DATA :27/04/2007 - 08:52:56
----------------------------------------
[quote="jurij":2xzbrqt9]Ciao a tutti
anche io sto usando output port
Ma cosa devo definire sui collegamenti (dato che non c'è l'help per questo subvi)
1) Register address = 378 ?
2) Write a byte or a word = il valore booleano che mi aziona il relais ?
3) value = il valore di default (cioè normalmente aperto o normalmente chiuso)
Vi ringrazio come sempre
Fatemi sapere
A presto[/quote:2xzbrqt9]
ciao
allora in register address ho messo 378 che è l'indirizzo della porta
write a byte ho messo l'ho collegato al valore booleano per parire o chiudere il relais
in value ho messo il numero del pin
Ho fatto bene ?
Come posso verificare il corretto funzionamento senza collegare l'integrato con il relais ?
Rischio il PC se collego qualcosa di errato.
P.S. L'integrato lo alimento con un alimentatore a 12 V
Quale pin devo collegare GROUND?
ATTENDO RISPOSTA E VI RINGRAZIO
----------------------------------------
AUTORE: 129
DATA :27/04/2007 - 11:46:14
----------------------------------------
Puoi usare PORT IN per leggere sullo stesso indirizzo (378 per D0-D7).
Per quanto riguarda i tipi di dato devi usare un controllo in esadecimale (il 378 infatti è in esad.) per l'indirizzo.
value può essere un numero o un byte array, direi che va bene anche come hai fatto tu.
Ti allego un esempio.
----------------------------------------
AUTORE: 1669
DATA :27/04/2007 - 12:01:28
----------------------------------------
ciao
a me serve solo output port.
devo comunicare un valore booleano all'integrato..il quale poi gestisce il relais.
ma è possibile testare il funzionamento senza collegare la porta con l'integrato?
attendo risposta e ringrazio
----------------------------------------
AUTORE: 1669
DATA :27/04/2007 - 12:22:31
----------------------------------------
[quote="jurij":r99luyho]ciao
a me serve solo output port.
devo comunicare un valore booleano all'integrato..il quale poi gestisce il relais.
ma è possibile testare il funzionamento senza collegare la porta con l'integrato?
attendo risposta e ringrazio[/quote:r99luyho]
ma perche non si riesce ad aprire nessun vi con di labview 8 con labvew 7.1 ?
----------------------------------------
AUTORE: 927
DATA :02/05/2007 - 08:45:26
----------------------------------------
Puoi usare il programmino gratuito PortMon per verificare cosa succede sulla porta, senza collegarla (lo trovi su google)
----------------------------------------
AUTORE: 1669
DATA :05/05/2007 - 13:20:05
----------------------------------------
Ciao a tutti
devo utilizzare la porta LPT per mandare un bit per aprire o chiudere un valvola (tramite integrato con relè).
Vi allego un subvi che ho trovato da utilizzare con labview 8.2
mi dite se va bene e come si utilizza ?
cioè cosa devo mettere ai vari ingressi di questo subvi ?
vi prego fatemi sapere presto
vi ringrazio
in allegato la jpeg del subvi
----------------------------------------
AUTORE: 1669
DATA :05/05/2007 - 13:27:03
----------------------------------------
[quote="jurij"]Ciao a tutti
devo utilizzare la porta LPT per mandare un bit per aprire o chiudere un valvola (tramite integrato con relè).
Vi allego un subvi che ho trovato da utilizzare con labview 8.2
mi dite se va bene e come si utilizza ?
cioè cosa devo mettere ai vari ingressi di questo subvi ?
vi prego fatemi sapere presto
vi ringrazio
SCUSATE NON SONO RIUSCITO AD ALLEGARE DA LABIVIEW 8.2 IL SUBVI SI CHIAMA (OUTPORT) ED HA I SEGUENTI INGRESSI
1. ADDRESS
2. WRITE VALUE
3. ERROR IN
IN USCITA
1. ERROR OUT
Cosa devo mettere per questi controlli?
Grazie
----------------------------------------
AUTORE: 129
DATA :05/05/2007 - 14:44:53
----------------------------------------
Questo è un argomento molto sentito, stiamo preparando una presentazione per il primo ILVG meeting a Pavia (approfittatene per iscrivervi).
Vi rinnovo inoltre alcune regole per trovare materiale prima di postare la vostra domanda:
- Cercare nel forum sfruttando l'apposita casella di ricerca.
[url=http://www.ilvg.it/gsearch.html?cx=007266463114908589647%3Arvkpqmatq-q&cof=FORID%3A11&q=parallela#1018:l83hmoj6]esempio di ricerca pèer parallela[/url:l83hmoj6]
- Cercare nelle sezioni di ILVG (es. articoli o sez. notizie):
[url=http://www.ilvg.it/forum/download.php?id=298:l83hmoj6]Accesso alle risorse I/O[/url:l83hmoj6]
[url=http://www.ilvg.it/index.php?option=com_content&task=view&id=50&Itemid=97:l83hmoj6]Tutorial on line[/url:l83hmoj6]
- Seguire lo spirito di condivisione che accomuna i partecipanti di ILVG, ovvero condividere le proprie idee e progetti, per svilupare codice migliore, per avere una mano e dare una mano etc etc.
Vedrete che seguendo questi link troverete il materiale che vi occorre.
----------------------------------------
AUTORE: 1669
DATA :05/05/2007 - 16:58:39
----------------------------------------
si ma non ho ancora capito come funziona.
il bit al pin deve darlo direttamente il mio vi...quindi 1 se tenere la valvola aperta e 0 se deve chiudere la valvola.
con valvola normalmente aperta ..quindi (valore 1)
mi aiutate?
----------------------------------------
AUTORE: 129
DATA :05/05/2007 - 22:18:27
----------------------------------------
Premesso che in questa stessa discussione c'è in allegato un esempio che utilizza sia port IN che port OUT, provo a risponderti allegandoti l'immagine del diagramma per settare 1 solo pin della parallela con un controllo boolean.
----------------------------------------
AUTORE: 1669
DATA :06/05/2007 - 08:56:52
----------------------------------------
ok
ti ringrazio tantissimo e che non sapevo che si inseriva anche INSERT TO ARRAY.
Ma come faccio a dirgli che il bit deve mandarlo sul pin che voglio io ?
supponiamo che voglia mandarlo su pin 2 (D0 - 378), come faccio ?
Ti ringrazio moltissimo
----------------------------------------
AUTORE: 129
DATA :06/05/2007 - 13:29:03
----------------------------------------
Semplice, io nel mio vi non ho inserito per semplicità(tu mi hai chiesto il pin 0); ma si può aggiungere un controllo al terminale "INDEX", che provvede proprio a selezionare l'elemento dell'array.
Se non viene collegato (come nell'esempio)( l'elemento è sempre il primo dell'array).
Per esempio se su index colleghi un controllo o costante numerica (I32) e lo setti a 2, ti restituisce il terzo elemento dell'array(perchè inizia a contare da 0).
----------------------------------------
AUTORE: 1669
DATA :06/05/2007 - 14:23:37
----------------------------------------
ok vediamo se ho capito.
se metto il controllo a index...quello conta da 0..praticamente inizia a contare i pin partendo da 0.
se il controllo lo setto a 2..quello mi conta..pin 0, pin1, pin2 e su questo pin mi manda il bit, giusto?
fammi sapere se cosi..GRAZIEEE
----------------------------------------
AUTORE: 129
DATA :06/05/2007 - 14:43:14
----------------------------------------
Giusto.
----------------------------------------
AUTORE: 1669
DATA :06/05/2007 - 16:57:51
----------------------------------------
ok benissimo
quindi questo bit mi comanda il relè ed avrò bit 0 = valvova aperta e bit 1 = valvola chiusa.
Ora questo bit viene inviato in maniera atuomatica una volta che il mio subVI ha controllato il livello del liquido.
Quindi è come se considero la valvola quando faccio partire tutto il VI, come normalmente aperta (bit 0).
Se invece volessi avere un controllo manuale che mi permetta di iniziare il procedimento tramite un interrutore tale da considerare la valvola normalmente chiusa e poi di aprirla con questo in terrutore e successivamente quindi far comandare la chiusura del VI che mi controlla il liquido...posso utilizzare lo stesso subVI per l'uscita alla porta o devo metterne un altro ?
grazie mille
----------------------------------------
================================================================================
LabVIEW reset comandi in uscita
================================================================================
AUTORE: 108
DATA :03/12/2003 - 17:18:26
----------------------------------------
Un saluto a tutti, questo è il mio primo post.
Sto lavorando su un'archittetura composta da un PC in cui gira LV, collegato tramite profibus ad un cestello con una serie di I/O della Wago.
Se durante l'emissione di un comando io fermo l'applicazione LV che lo sta generando, esso continua ad uscire verso il campo ugualmente. Il suo reset avviene solo se spengo il PC.
Non è simpatico che un comado continui ad uscire verso l'impianto in caso di arresto dell'aplicazione che lo genera...
Cosa devo fare per poter azzerare questo comando?
Grazie a chi avrà la pazienza di aiutarmi.
----------------------------------------
AUTORE: 4
DATA :23/04/2004 - 16:00:02
----------------------------------------
Probabilmente il tuo HW funziona in modalità di generazione continua,
per fermare la generazione hai bisogno di un comando di stop o di reset dell'HW da inviare da LV.
----------------------------------------
================================================================================
stampare un grafico
================================================================================
AUTORE: 109
DATA :04/12/2003 - 15:34:11
----------------------------------------
Ciao a tutti
il mio problema è quello di stamapare in un file il contenuto di un grafico...con la versione 5.1!!!!!!!!!!
avete qualche soluzione??
Grazieeee
ciao
----------------------------------------
AUTORE: 4
DATA :04/12/2003 - 16:14:04
----------------------------------------
Ciao e benvenuta.
Tu per stampare intendi salvare l'immagine del grafico così come appare sulla tua applicazione in un file?
Se è così puoi creare un VI con il grafico e usare il metodo del VI \"Get Panel Image\", il metodo ti ritorna l'immagine del pannello sotto forma di array di U8, a questo punto devi salvare il un file JPEG l'array ritornato dal metodo usando la funzione \"Graphics Format>>Write JPEG File\".
Ciao, Ale.
----------------------------------------
AUTORE: 109
DATA :04/12/2003 - 16:34:39
----------------------------------------
GGGGGRRRRRRRRRRAAAAAAAAAAAAAZZZZZZZZZZZIIIIIIIEEEEEEEEEEE
ci provo subitissimo
anche se devo dire ci avevo un po' aggeggiato ieri!!!
Forse nn sto facendo le conversioni giuste e mi scrive un file di una sola colonna con colori sfumati
----------------------------------------
================================================================================
LabWindows e LabView
================================================================================
AUTORE: 110
DATA :04/12/2003 - 21:25:06
----------------------------------------
Vorrei sapere se è possibile progettare ei Vi in LabWindows ed importarli in labView o viceversa da VI in LabView si puo estrapolare un programma in LabWindows
----------------------------------------
AUTORE: 4
DATA :23/04/2004 - 15:57:49
----------------------------------------
LabVIEW non puo generare o importare codice CVI.
So che CVI può importare i \"pannelli\" cioè solo la grafica di VI LV non so se può anche esportare verso LV.
Ciao, Alessandro.
----------------------------------------
================================================================================
EKKOMI
================================================================================
AUTORE: 109
DATA :05/12/2003 - 12:19:47
----------------------------------------
Welàaàaàaà
ciao a tutti , io sono Claudia, sono laureata in ingegneria elettronica e lavoro nel settore della compatibilità elettromagnetica a Pisa.
Utilizzo LabView per creare degli strumenti virtuali da usare nel laboratorio dove lavoro...sapete per semplificarmi la vita!!!!
eheheh
Anche se l'inzio mi ha un po' scombussolato..ora devo dire che l'ambiente mi aggarda...mi ci trovo bene..anche se fra fili e filetti e connessioni certe volte perdo il lume della ragione!!!!!
Sono felice di avervi trovato...sarete la mia miniera di informazioni!!!!
Se posso aiutarvi...con piacere......
Un bacissimo a tutti e viaaaaaaaaaaa
a lavorare
Ciao alla prossima
----------------------------------------
================================================================================
Visual Basic DLL
================================================================================
AUTORE: 115
DATA :12/12/2003 - 10:15:03
----------------------------------------
Buongiorno, vorrei sapere come (e se è possibile) creare una standard DLL (non ActiveX) con Visual Basic 5 da poter poi utilizzare con LabView.
Grazie.
----------------------------------------
AUTORE: 4
DATA :16/12/2003 - 09:27:00
----------------------------------------
Non sto a dirti come creare una DLL con VB perchè il luogo non è il più adatto e sicuramente potrai trovare informazioni su altri forum dedicati, cmq per utilizzare una DLL in LV devi sfruttare la funzione ADVANCED >> CALL LIBRARY FUNCTION NODE. Facendo doppio click sull'icona della funzione ti si aprirà un pannello in cui potrai decidere quale DLL usare e definere i suoi parametri di ingresso e uscita.
Puoi trovare informazioni direttamente sull'help di LabVIEW.
Ciao, Alessandro.
----------------------------------------
================================================================================
Ciao a tutti...
================================================================================
AUTORE: 121
DATA :16/12/2003 - 15:09:10
----------------------------------------
...ma guarda quanto è piccola la rete......quante facce conoscute....eheheh
un ciao a tutti
Bye bye
----------------------------------------
================================================================================
Input Output "contemporanei"
================================================================================
AUTORE: 30
DATA :16/12/2003 - 22:32:44
----------------------------------------
Ciao a utti,
sto lavorando con una daq 6062E (16 input 2 output) (e LV 7) e vorrei sapere, ammesso che sia possibile, se qualuno ha mai generato un segnale e acquisito lo stesso \"simultaneamente\", le virgolette sono doverose.
Fin ora ho provato a fare un vi con la generazione (sul canale zero) e l'acquisizione (canale uno) ma non funziona; ho anche provato a fare due vi separati e lanciarli entrambi ma il risultato è sempre lo stesso:
prima genera e, una volta terminato, passa all'acquisizione, ma a quel punto non legge più nulla.
Grazie
----------------------------------------
AUTORE: 4
DATA :17/12/2003 - 08:44:11
----------------------------------------
Prova a guardare negli esempi di LV, cerca la parola \"simultaneous\" e guarda il codice di \"Simul AIAO BufTrig(E-Series).vi\"
Credo faccia al caso tuo.
Ciao, Alessandro.
----------------------------------------
AUTORE: 30
DATA :17/12/2003 - 18:25:32
----------------------------------------
Ti ringrazio tantissimo.
E' proprio quello che cercavo
Effettivamente non avevo cercato con simultaneous
Ciao Gaetano
----------------------------------------
================================================================================
maledetti 50Hz
================================================================================
AUTORE: 80
DATA :20/12/2003 - 12:10:53
----------------------------------------
salve,
devo elikminare il disturbo della tensione di alimentazione;
tramite media tutt ook tranne che, essendo vincolato a mediare su cicli interi della frequenza, ho una risoluziome massima effettiva di 50 punti al sec.
esiste un modo x ovviare al problema?
ho provato anche con i filtri, ma, a parte che ottengo solo una riduzione dell'ampiezza del disturbo (butterworth lowpass), ho problemi con i canali successivi al primo; ho seguito acnhe le indicazioni della guida online, mettendo il filtro in un ciclo for x estrarre le waveform dall'array di w.
beh ogni consiglio o indicazione è ben accetto
ciao grazie
buon lavoro
----------------------------------------
AUTORE: 198
DATA :03/05/2004 - 15:44:01
----------------------------------------
Beh l'unico modo per eliminare da dio la 50hz è fare un bel filtro passabasso che tagli a 4hz tipo RC o ancora meglio LC così nn hai attenuazione. Se poi vuoi andare ancora sul sofisticato fai un filtro attivo del secondo ordine ad operazionale che tagli 4hz. così la 50hz è tutta segata.
Se puoi potresti prendere il segnale in differenziale..... ma dipende se usi le le schede DAQ.....
In generale un bel filtro fisico funziona sempre meglio di ogni filtro software. Almeno per la 50hz....
----------------------------------------
AUTORE: 80
DATA :13/05/2004 - 18:04:26
----------------------------------------
ciao
si, il segnale è in differenziale
cmq ho usato, tra i filtri di labview il butterworth, passabasso,
ma volewvo chiederti perchè dici 4 Hz.
il segnale mi proviene da estensimetri montato su un provino sottoposto a carico ciclico a 10Hz
ciao
grazie
umberto
----------------------------------------