================================================================================ Problemi con gli array ================================================================================ AUTORE: 438 DATA :03/01/2005 - 13:40:27 ---------------------------------------- \":oops:\" Ciao a tutti!! Ho un problemino con un'array... La situazione è questa: ho un array di float, con sequenze di zeri e di num diversi da zero! Ora, quando ho gli zeri voglio che il mio array scorra avanti fino al primo numero diverso da zero; da questo momento in avanti voglio che mi tenga memoria di questi numeri letti fino al prox zero e coi numeri memorizzati mi indichi media somma e altre cose.Lo scorrimento quando l'elemento è uguale a zero e la memorizzazione degli elementi diversi da zero con tutte le altre operazioni devono essere eseguite a ciclo finchè non ho terminato l'intero array. Ho inserito l'immagine sviluppato da me, ma è errato, non gira correttamnete e vorrei sapere se qualche esperto riesce a spiegarmene il motivo e a trovarmi una soluzione... Grazie e spero di essermi fatto capire.. Ciao a tutti ---------------------------------------- AUTORE: 113 DATA :03/01/2005 - 14:19:56 ---------------------------------------- Ciao stressato..., ti mando una vi di esempio che dovrebbe risolvere il tuo problema. Se hai domande chiedi. Tanti saluti, Alberto ---------------------------------------- AUTORE: 247 DATA :03/01/2005 - 21:54:26 ---------------------------------------- Ciao, Alberto.L ha trovato sicuramente una soluzione che ti andrà bene, cmq penso che, come infatti chiedi, sia importante anche capire perchè il tuo VI non funziona ovvero…imparare dai propri sbagli. Considerando giusta la soluzione di Alberto.L, ovvero che tu volessi proprio un VI con tale comportamento, provo ad elencarti gli errori più grossi che hai commesso; per facilità li numero ed indico in figura: Problema 1: Il ciclo FOR verrà eseguito un numero di volte pari alla dimensione dell’array di float come da te desiderato, punto 1, però i dati disponibili in ingresso ad ogni iterazione, ovvero l’array di float, punto 2, sarà sempre lo stesso visto che lo accetti come array senza indicizzarlo, quindi alla fine eseguirai n cicli for sempre sugli stessi dati…inutile no?; se non è questo il comportamento che desideravi hai principalmente due possibilità: 1- Tasto dx sul nodo 2->enable indexing se vuoi processare un elemento dell’array ad ogni iterazione del FOR. 2- Rimpiazzare il nodo 2 con uno shift register se vuoi avere in ingresso tutto l’array, avere la possibilità di modificarlo e riottenere per l’iterazione successiva l’array modificato. Problema 2: I due shift registers, quattro frecce n°3, che hai aggiunto non vengono in realtà mai utilizzati perchè non vai mai a leggerne il contenuto sui terminali di SX e l’array Occorrenze conterrà l’ultimo valore assunto dalla variabile i per ogni iterazione del ciclo FOR. Inoltre lo shift register esterno non è inizializzato, dubito che anche quello interno si inizializzato come vuoi tu, e manterrà l’ultimo valore registrato tra un avvio e l’altro del VI o tra una chiamata e l’altra se lo utilizzi come subVI, ma non andando a leggerli non te ne accorgi. Problema 3(non so se tu l’abbia fatto apposta cmq meglio precisare): Il ciclo WHILE si ferma quando nell’array viene riconosciuto uno zero tra gli elementi dell’array e quando “finisce” l’array visto che zero è il valore di default che viene fornito quando richiedi un elemento con un indice maggiore dell’attuale dimensione dell’array; quello che volevo farti notare è che la stessa tecnica non funzionerebbe se tu stessi cercando ad esempio un uno anzichè uno zero…in questo caso o viene trovato l’uno oppure si va avanti senza fine. Problema 4: Evita di utilizzare la funzionalità \"use default if unwired\", in questo caso, punto 5, viene sempre aggiunto uno zero all'array che hai in uscita dal WHILE dato che questo è il valore fornito dal terminale quando hai trovato uno zero e termini il ciclo. I risultati sono errati per questi problemi e anche se non ho fatto girare il tuo VI mi aspetto che tu abbia alla fine valori tutti uguali negli indicatori dei risultati, proprio perchè analizzi sempre lo stesso array, ed inoltre che il tutto, l'analisi, si fermi al primo zero trovato o alla fine dell’array come detto sopra se non ci sono zeri. BYE. ---------------------------------------- ================================================================================ Applicazioni BLUETOOTH ================================================================================ AUTORE: 445 DATA :05/01/2005 - 08:24:37 ---------------------------------------- Ciao a tutti..... Volevo sapere se qualcuno di voi aveva già provato qualche applicazione/esempio per creare una connessione BLUETOOTH. Io ho Labview 6.1 e ho visto che le librerie per la gestione del bluetooth sono solo nella versione 7.1. Secondo voi posso convertire le librerie del 7.1 per utilizzarle con il 6.1? ---------------------------------------- AUTORE: 113 DATA :05/01/2005 - 17:40:50 ---------------------------------------- Il protocollo Bluetooth utilizza funzioni native di LV 7.1 che non possono essere utilizzate con versioni precedenti. Tuttavia tempo fa ho fatto alcune prove per mandare/ricevere sms con un cellulare Nokia tramite connessione Bluetooth; il dispositivo BT veniva visto come una risorsa di interfaccia seriale (nel mio caso COM3), quindi sono riuscito a comunicare con il cell. inviando i classici comandi seriali. Ovviamente il tutto funzionava perchè il cell. Nokia prevede l'interfacciamento seriale con il suo protocollo. Questo esempio poteva tranquillamente funzionare con qualsiasi versione di LabVIEW. Alberto ---------------------------------------- AUTORE: 445 DATA :06/01/2005 - 13:47:54 ---------------------------------------- Quindi in definitiva non posso creare applicazioni bluetooth con LV6.1. Si portebbero crare exe con la versione 7.1 e poi lanciarli da VI del 6.1?... Cmq in breve vi spiego quello che dovrei fare con il bluetooth... La cosa è molto semplice, ho una chiavetta dongle usb che utilizza driver della widcomm, con questa come server dovrei lanciare tramite lv una scansione per trovare tutti i dispositivi bluetooth in zona e sempre tramite lv leggere l'ID dei dispositivi trovati e confrontarli con un database..... Avete qualche suggerimento? Grazie mille... ---------------------------------------- AUTORE: 113 DATA :07/01/2005 - 09:25:51 ---------------------------------------- Riguardo alla prima domanda, ti confermo che puoi lanciare un exe di LV 7.1 tramite LV6.1 ed ovviamente scambiarci dei dati tramite ad esempio: VI Server, Datasocket, TCP/IP.... Per la necessità di monitorare i dispositivi BT attivi nella rete, LV7.1 ha la funzione Bluetooth Discover, utilizzabile solo in Windows. Ti allego la schermata dell'help. ---------------------------------------- AUTORE: 645 DATA :07/11/2005 - 10:54:39 ---------------------------------------- Ciao a tutti. Qualcuno sa dirmi come si comporta esattamente la porta seriale Bluetooth? Mi spiego: se collego due pc con il cavo seriale riesco a spedire e leggere stringhe alfanumeriche. Se faccio la stessa cosa con la porta seriale Bluetooth non riesco! ---------------------------------------- ================================================================================ Posizionamento del cursore sul „digital control“ ================================================================================ AUTORE: 238 DATA :05/01/2005 - 08:55:42 ---------------------------------------- Da un Vi viene aperta una finestra di popup (altro Vi) dove l’ operatore deve immettere un valore numerico. Problema: non riesco a posizionare (da programma) il cursore sul “digital control” \":?:\" Ciao ---------------------------------------- AUTORE: 247 DATA :05/01/2005 - 10:56:18 ---------------------------------------- Ciao, devi usare semplicemente una proprietà del digital control, ti allego una coppia di VI di esempio, se non fanno quello che vuoi tu dimmelo che provvediamo \":D\" BYE. P.S. Sono in versione 7.1, al massimo io te li posso convertire in 7 se non riesci ad utilizzarli. ---------------------------------------- AUTORE: 238 DATA :05/01/2005 - 14:22:51 ---------------------------------------- Innanzitutto grazie Non sono riuscito ad aprire i tuoi Vi (ho la 6.1) però penso di aver capito: Creare una “Property node” per il primo “Digital control” impostando “Key focus” su “true” e in “edit” → “Set tabbing order” impostare l’ ordine voluto ! Ok Domanda: 1) possono sorgere dei problemi con i Vi creati con la 6.1 passando alla 7.x ? 2) bisogna acquistare dei run-time nuovi (per i clienti) o esiste un upgrade ? Ciao e grazie ---------------------------------------- AUTORE: 247 DATA :05/01/2005 - 15:56:53 ---------------------------------------- Ciao, mi dispiace che tu non possa vederli in 6.1, se trovi qualche buona anima che te li converte...(appello a tutti i partecipanti al forum che abbiano sia la 6.1 che la 7.1 installate!). Intanto ti allego le immagini dei block. [quote:4qm3whv7]1) possono sorgere dei problemi con i Vi creati con la 6.1 passando alla 7.x ? [/quote:4qm3whv7] Grossi problemi non ce ne sono, per quanto ne so potrebbero sorgerti problemi solo con i driver della seriale che sono stati cambiati. Generalmente quindi quando riapri il VI con la 7.x, LV ricompila il VI utilizzando i nuovi riferimenti e poi lo salvi in LV7.x (consigliatissimo cmq copiarsi il vecchio VI che viene riscritto). Per andare sul sicuro e scovare tutti i problemi noti leggi le [url=http://digital.ni.com/manuals.nsf/websearch/E8D86CD680B0753D86256D2C005D8EA0:4qm3whv7]LabVIEW Upgrade Notes[/url:4qm3whv7] e quelli aggiunti dalla [url=http://digital.ni.com/manuals.nsf/websearch/01EBC700D61FD51B86256E4500684BCD?OpenDocument:4qm3whv7]7.1[/url:4qm3whv7] e provvedi. [quote:4qm3whv7]2) bisogna acquistare dei run-time nuovi (per i clienti) o esiste un upgrade ? [/quote:4qm3whv7] Non ne so nulla e aspetto sempre prima di parlare di licenze... \":o\" BYE. ---------------------------------------- AUTORE: 113 DATA :05/01/2005 - 17:15:53 ---------------------------------------- Una buon anima l'avete trovata! Ho convertiro il tutto in LV 6.1. Tuttavia ho dovuto modificare leggermente la Pop-up.vi per ottenere il funzionamento corretto, come era in LV 7.1. Il motivo è che in 6.1 gli eventi hanno un comportamento diverso dalle versioni successive (neanche io lo sapevo). Quello che succede è che il valore del controllo viene passato all'indicatore solo alla generazione del primo evento, nel caso quando si inizia a modificare il valore del controllo (KeyDown). Nei successivi eventi, quando si preme Enter, il valore non viene più passato. Quindi il funzionamento non è quello che ci si attende. Nelle versioni 7.x di LV la cosa è stata corretta! Devo investigare meglio, in ogni caso ho scoperto accidentalmente qualcosa di nuovo! Tanti saluti, Alberto ---------------------------------------- AUTORE: 113 DATA :05/01/2005 - 17:25:26 ---------------------------------------- Dimenticavo, se hai degli eseguibili distribuiti con la versione 6.1 e vuoi aggiornarli alla 7.1 devi aggiornare il codice (verificare che tutto funzioni), ricreare i nuovi eseguibili ed installare il run-time engine aggiornato. Quest'ultimo non richiede il pagamento di alcuna licenza, è gratuito! ---------------------------------------- AUTORE: 247 DATA :05/01/2005 - 17:42:39 ---------------------------------------- Grazie per la conversione! Ovviamente del problema con la 6.1 non ne so nulla \":o\" \":o\" \":o\" All'inizio avevo anche io utilizzato l'evento <value change> sul controllo ma poi ho constatato che se veniva aperto il popUP era per forza necessario modificare il valore per chiuderlo...altrimenti nada tranne X o esc. Questo comportamento non mi piaceva visto che se voglio mantenere il valore che ho già salvato(classico ripensamento), sono cmq costretto a riscriverlo, quindi ho usato il riconoscimento della battitura del tasto enter per uscire. Per risolvere il problema dell'update prova magari a spostare semplicemente fuori dal while loop l'indicatore numeric 2 del popUP.vi: l'update verrebbe fatto una volta sola all'uscita ...e vedi se l'errore persiste. BYE. ---------------------------------------- AUTORE: 113 DATA :05/01/2005 - 17:52:00 ---------------------------------------- Si, questo l'ho provato e non risolve il problema. Anche in questo caso il valore del controllo viene passato al tunnel dell'event solo alla prima generazione dell'evento. Quando ho tempo ci ragiono un po' sopra e faccio ancora qualche prova. Beh, perlomeno è stato risolto con LV 7.x... ---------------------------------------- AUTORE: 238 DATA :07/01/2005 - 09:27:46 ---------------------------------------- Ringrazio tutti ! Poichè nella mia applicazione l’ operatore deve per forza immettere un valore \":arrow:\" il comportamento del “case” non mi da fastidio \":!:\" Tuttavia e´ interessante notare come delle funzioni banali possono complicare la vita. \":?\" ---------------------------------------- ================================================================================ visualizzare + grafici ================================================================================ AUTORE: 201 DATA :07/01/2005 - 14:35:10 ---------------------------------------- Sto cercando di visualizzare + grafici su una stessa tavola ma senza risultato, come posso fare? Dovrei riuscire a visualizzare anke funzion abb complesso tipo la campana di gauss...ci si riesce? ---------------------------------------- AUTORE: 247 DATA :07/01/2005 - 22:21:19 ---------------------------------------- Caio, prova a dare un'occhiata a questo vecchio post:[url=http://www.ilvg.it/forum/viewtopic.php?t=417&start=0&postdays=0&postorder=asc&highlight=multi+grafico:3uf9b9t5]Più curve su un grafico[/url:3uf9b9t5], dovrebbe fare al caso tuo e contiene anche un esempio. Se il grafico che devi realizzare è molto più complicato devi utilizzare per forza un grafico di tipo XY di cui trovi molti esempi nell'help di LV. BYE. ---------------------------------------- AUTORE: 201 DATA :08/01/2005 - 13:29:58 ---------------------------------------- grazie! \":D\" Gia che ci sono vi faccio un altra domandina. E' possibile con labbview aprire e manipolare documenti di Word, ho guardato sul sito NI ma quel poco che ho trovato quando vado a scaricarlo mi dice ke il documento non esiste \":cry:\" ---------------------------------------- AUTORE: 129 DATA :08/01/2005 - 15:43:08 ---------------------------------------- [quote="blow":31326615]grazie! \":D\" Gia che ci sono vi faccio un altra domandina. E' possibile con labbview aprire e manipolare documenti di Word, ho guardato sul sito NI ma quel poco che ho trovato quando vado a scaricarlo mi dice ke il documento non esiste \":cry:\"[/quote:31326615] La risposta è certamente si utilizzando la tecnologia active-X più discussa su excel in questo forum.... Ti chiedo però di creare nuovi topic,se hai nuove richieste.. \":wink:\" ---------------------------------------- AUTORE: 201 DATA :10/01/2005 - 20:51:40 ---------------------------------------- Sono riuscito a visualizzare + grafici usando il grafico XY, solo che sorge un problema. Se ad esempio ho un grafico a forma di onda triangolare formato da N punti, e devo sapere il valore di Y dando una certa X, come faccio?Visto che nell'array che fisicamente crea il grafico suddetto non esiste questo punto, ma solo i 5 che lo compongono. E' possibile quindi? ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 08:07:38 ---------------------------------------- Se lo vuoi solo visulaizzare sul grafico puoi creare un cursore (visible/cursor legend) quindi spostarlo semplicemente nel punto desiderato e visualizzarne le coordinate....Puoi usare anche la property cursor position per avere le coordinate su programma.... Buon lavoro ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 13:37:06 ---------------------------------------- No quello lo sapevo, a me serve che venga fatto in automatico, ovvero do una X al programma e ootengo una Y.Si spostando a mano il cursore lo so. Vi spiego meglio quello che mi serve. Ho realizzato una vi che permette di disegnare con il mouse un multigrafo usando il grafico XY.Fin qui tutto bene si riesce a disegnare sia come se fosse paint che punto x punto.Questo mi servirà in futuro x realizzare un controllo automatico che sfrutta la logica fuzzy e x quindi creare le inferenze fuzzy.Solo che nn riesco a terminare la fase di defuzzificazione xkè, x ora, non ho trovato un metodo che in base ad una X data dall'utente ricavo in automatico la corrispondente Y. Un modo che ho pensato sarebbe quello di convertire ogni grafo in una funzione, questo va bene se sono delle rette ma quando sono un po' + complesso diventrebbe tr lungo da fare...spero di essermi fatto capire un po' \":)\" ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 14:22:46 ---------------------------------------- [quote="blow":3vatr4qc]No quello lo sapevo, a me serve che venga fatto in automatico, ovvero do una X al programma e ootengo una Y.Si spostando a mano il cursore lo so. [/quote:3vatr4qc] OK, ma perchè non modifichi in write qualcosa quindi usi la property cursor lock style, ti allego un immagine della mia proposta. ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 14:55:22 ---------------------------------------- Perchè mi salta di punto in punto. Se ad esempio ho un grafico del genere, con il tuo metodo mi salta di punta in punta e di estremo in estremo, a me servirebbe ad esempio sapere il valore della Y di una X \"intermedia\". Non mi so far capire lo so... \":cry:\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 16:57:26 ---------------------------------------- No stavolta sei stato chiaro ma la property cursor lock ha tre possibilità se 0 è libera se 1 è snap to point e se 2 è lock to plot, penso che tu devi usare 0, c.que l'help della property recita così: [quote:31u5cayb]Cursor Lock Style Property Property of Cursor. Sets the way in which a cursor locks. 0-Free, 1-Snap to point, 2-Lock to plot. Remarks The following table lists the characteristics of this property. Settable when the VI is running Yes Need to authenticate before use No Requires the block diagram to be loaded No Available on local LabVIEW only No Requires the front panel to be loaded No Must wait until user interface is idle No Available with control VIs No Available with global VIs No Available with strict type definitions No Available with polymorphic VIs No Available in Run-Time Engine Yes (Read/Write) Permissions Read/Write [/quote:31u5cayb] ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 17:06:15 ---------------------------------------- Per completezza di informazione la matrice su cui lavora è sempre quella che hai inserito nel grafico, quello che puoi fare usando il cursor lock su free(0) e avendo la tua funzione ,inserire la x e ricavarti la y corrispondente.......In bocca a lupo ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 17:19:34 ---------------------------------------- e ma se sposto il cursore settato su free spostando solo la X, nn mi segue il grafico, ma sis sposta solo sull'asse delle ascisse. ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 17:21:53 ---------------------------------------- Quindi in \"automatico\" non è possibile fare nulla in questo senso? Cioè o il grafico ha moltissimi infinitesimi punti e quindi grosso modo riesco ad avvicinarmi al punto ke voglio senza troppo errore, oppure mi attacco al tram come si suol dire! ---------------------------------------- AUTORE: 113 DATA :12/01/2005 - 07:43:25 ---------------------------------------- Se ho ben capito, una volta ottenuta l'array dei valori Y, dovresti utilizzare la funzione Interpolate 1D Array per estrarne valori ad indici frazionali intermedi. Tieni presente che esegue un'interpolazione lineare, se ad esempio hai i valori (2,4) e (3,5) a x=2.5 il risultato è y=4.5. Vi sono tuttavia altri metodi più complessi per interpolazioni, vedi la palette Curve Fitting. ---------------------------------------- AUTORE: 201 DATA :17/01/2005 - 14:14:15 ---------------------------------------- Grazie mille! ho guardato un po' in rete e il metodo matematico migliore per funzioni lineari è la interpolazione spline, ho utlizzato quella infatti, e funziona benissimo. ---------------------------------------- ================================================================================ Aprire e manipolare un documento di Word ================================================================================ AUTORE: 201 DATA :08/01/2005 - 16:53:29 ---------------------------------------- Apro un nuovo topic per charezza \":D\" Devo risucire ad aprire, e successivamente manipolare dei file .doc con labview, sul forum ho trovato solo come interagire con excel ma nulla su word.Qlc mi da una manina? \":lol:\" ---------------------------------------- AUTORE: 445 DATA :10/01/2005 - 07:48:38 ---------------------------------------- Io ho usato il REPORT GENERATION FOR MICROSOFT OFFICE e devo dire che si può fare di tutto sia con Word che con Excel.... ---------------------------------------- AUTORE: 129 DATA :10/01/2005 - 09:47:14 ---------------------------------------- Come per excel puoi usare un controllo activeX sull'applicazione word. DA questa puoi accedere a tutti i metodi e le proprietà dell'applicazione. Puoi guardare quindi l'help di word per capire come lavorano e trovare la soluzione migliore per il lavoro che devi fare.... Il report toolkit è sicuramente una scelta comoda e completa ma costa qualcosina... ---------------------------------------- AUTORE: 113 DATA :10/01/2005 - 15:33:45 ---------------------------------------- A supporto di quanto già detto da Nicola, puoi trovare un esempio di controllo di Word tramite gli activeX sulla Developer Exchange: http://sine.ni.com/apps/we/niepd_web_di ... e=external ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 15:23:39 ---------------------------------------- Grazie a tutti, Ora guardo un po' l'esempio per vedere se capisco qlc \":D\" ---------------------------------------- ================================================================================ Colorare il diagramma dei VI programmaticamente ================================================================================ AUTORE: 4 DATA :10/01/2005 - 11:03:08 ---------------------------------------- Partendo dal codice svilupato da Michael Aivaliotis e pubblicato su LAVA, ho realizzato questo piccolissimo toll che permette di colorare i diagrammi dei VI, secondo una ben determinata tabella di colori, programmaticamente. E' solo una versione preliminare e mi piacerebbe se qualcuno la prendesse in mano per migliorarla. ---------------------------------------- AUTORE: 247 DATA :10/01/2005 - 11:55:46 ---------------------------------------- Grazie mille Ale, te lo rubo subito!!! P.S. Hai gà in mente qualche tipo di miglioria che sarebbe particolarmente utile e che non hai fatto in tempo a sviluppare? ---------------------------------------- AUTORE: 4 DATA :12/01/2005 - 11:01:29 ---------------------------------------- Non sono riuscito a colorare il bordo delle strutture, cosa che io uso moltissimo, perchè non ho trovato il reference al colore del bordo ma solo un reference color che però si riferisce all'interno della struttura. Inoltre si potrebbe includere la funzione nel Tool Create Project che trovate [url=http://sourceforge.net/projects/lvdevtools:3l0b78zm]qui[/url:3l0b78zm] in modo da \"colorare\" tutti i VI del progetto. ---------------------------------------- ================================================================================ Salvare su file un array di cluster ================================================================================ AUTORE: 201 DATA :10/01/2005 - 22:29:36 ---------------------------------------- Non riesco propio a farlo, ho guardato sul forum ma i metodi proposti in passato non funzionano essendo un array di cluster ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 07:58:45 ---------------------------------------- E così? Per leggere i file salvati usa il byte stream type per indicare al vi read il tipo di dati che vuoi leggere. ---------------------------------------- AUTORE: 201 DATA :11/01/2005 - 15:19:13 ---------------------------------------- Grazie mille! Funziona alla grande! ---------------------------------------- ================================================================================ Clonare uno stesso vi e aprire diverse istanze dello stesso. ================================================================================ AUTORE: 463 DATA :11/01/2005 - 10:31:12 ---------------------------------------- Mi sono trovato ad affrontare il problema della clonazione di un vi in modo tale che un front panel di uno stesso vi venga aperto più volte quando ad esempio clicco un pulsante sul vi principale. Sono riuscito a realizzare qualcosa di simile con le referenze e i vi template , l'unico problema è che per aprire contemporaneamente N front panel del vi clonato ho bisogno di N strutture while nel vi principale che chiama i cloni (all'interno del clone c'è a sua volta un ciclo while). Mi chiedo se c'è la possibilità di ottenere lo stesso risultato utilizzando un solo ciclo while nel vi principale e da questo aprire le n istanze dei cloni, in modo da visualizzare i rispettivi n front panel contemporaneamente (e tutti in esecuzione in modo parallelo) e non in modo mutuamente esclusivo (o una istanza o l'altra). Spero che qualcuno abbia già affrontato il problema!! ---------------------------------------- AUTORE: 129 DATA :11/01/2005 - 10:56:00 ---------------------------------------- Non sono sicuro di aver capito il problema, in sostanza vorresti aprire un clone del tuo vi, da un vi master (dove c' è un while)? Se è così potresti crearti il primo VI ,a questo vai a spuntare la casella reentrant nelle proprietà/execution, lo salvi e poi ti fai n copie di questo VI. NEl main devi realizzare un visualizzatore, che puoi realizzare seguendo l'indicazione sotto.... puoi anche eseguire i vi inserendo un metodo RUN nel codice sotto... ---------------------------------------- AUTORE: 247 DATA :11/01/2005 - 22:51:44 ---------------------------------------- Ciao, anche secondo me la soluzione più facile è crearti prima i VI se sai già quanti te ne servono e poi richiamarli, ovviamente un solo ciclo while nel main è sufficiente come nell'esempio che ti posto (N.B. Non l'ho fatto io e chiedo scusa all'autore per l'appropriazione indebita via WEB \":D\" \":D\" \":D\" ) Se proprio non sai quanti VI ti servono potresti crearteli programmaticamente copiando il prototipo ogni volta che vuoi una nuova istanza ed avviare quella; alla fine quando non ti servono più li cancelli (questa proposta te la faccio cmq sottovoce..). Cmq aspetta il parere di Ale914! BYE. ---------------------------------------- AUTORE: 4 DATA :12/01/2005 - 10:47:14 ---------------------------------------- Ciao e Benvenuto! Io ti consiglio di usare una funzione di [url=http://www.openg.org:1gr3knnr]OpenG.org[/url:1gr3knnr] ToolKit \"open Vi Clone reference\" ad ogni chiamata crea una copia del VI da clonare, apre un riferimento al clone e cancella il VI clone, la puoi usare come se fosse un normale open VI reference. ---------------------------------------- AUTORE: 463 DATA :12/01/2005 - 15:30:22 ---------------------------------------- \":D\" Grazie a tutti per le numerose indicazioni, ho già provato a metter in pratica i vostri consigli e ho già ottenuto i primi risultati. Spero di poter presto ricambiare il vostro supporto!!! ---------------------------------------- ================================================================================ Houston we got a problem!!! ================================================================================ AUTORE: 334 DATA :12/01/2005 - 15:40:30 ---------------------------------------- Ciao gente! ho un grossissimo problema e non è dii programmazione! Purtroppo il mio HD è andato e così ho perso il sorgente del programmino che avevo fatto. Ora io sono in possesso però dell'eseguibile, non c'è nessun modo per risalire al sorgente dall'eseguibile? Madò sto in crisi, come un cretino non avevo nemmeno fatto copia di backup del sorgente, lo so sono uno scemo per non dire peggio, ma ora il sol pensiero di dovermi rimettere a lavorare da zero mi terrorizza \":cry:\" Ciao e grazie ---------------------------------------- AUTORE: 129 DATA :12/01/2005 - 17:14:20 ---------------------------------------- Se hai fatto un installer del programma, puoi decomprimere la cartella data.cab e all'interno dovresti trovare i vi dell'applicazione....Con l'eseguibile mi sa che fai poco.... Prova con qualcuno che ti riesce a recuperare i dati da HD (sono molto pubblicizati sulle riviste di IT).... In bocca al lupo ---------------------------------------- AUTORE: 334 DATA :12/01/2005 - 18:04:12 ---------------------------------------- si nicola ho fatto installer!ora provo così come hai detto tu allora!:D:DD: GRAZIE MILLE!!!!!!!^____^ ---------------------------------------- AUTORE: 334 DATA :12/01/2005 - 18:06:31 ---------------------------------------- argh nicola nel data.cab ci sono tutti file con nomi strani, come faccio a sapere quali sono quelli corretti??? ---------------------------------------- AUTORE: 238 DATA :13/01/2005 - 07:57:48 ---------------------------------------- Ti invio l´ indirizzo di una ditta per recupero dati che ho gia utilizzato una volta http://www.savedata.com/ Ciao ---------------------------------------- AUTORE: 129 DATA :13/01/2005 - 09:40:22 ---------------------------------------- [quote="dreamstar":xokbipet]nel data.cab ci sono tutti file con nomi strani[/quote:xokbipet] \":cry:\" Purtroppo il mio suggerimento era basato su un applicazione che avevo realizzato che si trascinava dietro anche la .llb del programma.... Se non dai istruzioni all'installer di copiarti anche la .llb non hai appunto nessun vi disponibile. Sono spiacente, però tempo fa in LAVA mi ricordo di aver letto q.sa a proposito....prova a vedere.... Ciao Nicola ---------------------------------------- ================================================================================ Conversione Byte to Float ================================================================================ AUTORE: 438 DATA :13/01/2005 - 14:05:39 ---------------------------------------- Ciao a tutti. Ho un piccolo problema con un'acquisizione dati e magari qualcuno mi saprebbe dare una mano. sono connesso ad una scheda tramite seriale.Questa scheda elabora alcuni dati e mi deve inviare dei float a 32 bit sottoforma di 4byte. Io devo ricevere questi byte e ricostruirmi il float. Ora per la connessione prima setto l'oggetto VISA, poi utilizzo VISARead per leggere i dati ed inserirli in una stringa, e poi .... bho , da qui non so come gestirmi le cose! devo concatenare i valori e farli apparire come caratteri appartenenti alla stessa stringa e poi cercare, se esiste, un oggetto che mi fa la conversione da stringa a byte e da byte a float? O è più complicato?? Scusatemi se la questione vi sembra banale, ma non conosco neppure un manuale che mi spieghi con precisione gli oggetti di LabView. Se può esser utile io adopero la versione 7.1. Ciao e grazie a tutti ---------------------------------------- AUTORE: 247 DATA :13/01/2005 - 21:25:59 ---------------------------------------- Ciao, all'interno della stringa di caratteri che leggi dalla seriale, in risposta probabilmente alla tua richiesta di lettura dati, devi riuscire a riconoscere i dati di tuo interesse ed a processarli per recuperarne le informazioni contenute. Devi controllare il protocollo di comunicazione/scambio dati proprio dello strumento che stai utilizzando e decifrare la stringa sulla base di quest'ultimo, ti faccio un esempio: Sto utilizzando uno strumento al quale, secondo il protocollo di comunicazione prestabilito, io devo inviare la stringa di 6 caratteri RDCH01 per leggere il canale numero uno della scheda contenuta al suo interno (RD=leggi CH=canale 01=numero del canale da leggere). Sempre secondo il protocollo di comunicazione io so che lui deve rispondere inviando a sua volta una stringa di risposta alla mia richiesta costruita nel seguente modo: RDCH01xxxxOK (RDCH01= ripetizione del comando richiesto per accertarsi che sia esattamente la risposta alla mia precedente richiesta, xxxx= rappresanta un campo di 4 byte, come nel tuo caso \":D\" , contenente il valore del dato richiesto codificato secondo una convenzione propria dello strumento OK=chiusura del comando). A questo punto tu, dopo aver fatto la richiesta, controlli i caratteri che ti vengono inviati sulla seriale aspettando esattamente la stringa di risposta alla tua domanda e cioè una stringa di 12 caratteri che inizia per RDCH01 continua con quattro caratteri non definiti, visto che riguardano il valore letto, e finisce con OK. Per essere sicuro di riconoscere tutte le risposte io di solito analizzo il contenuto di un buffer che creo per la lettura contenente gli ultimi 2*n caratteri che ho letto dalla seriale se n è la dimensione della risposta che sto aspettando; se trovo una risposta nel buffer elimino i caratteri riconosciuti (la risposta) e poi continuo ad attendere nuovi caratteri se sto aspettando altre risposte. Una volta letta e riconosciuta la risposta devi estrapolarne il campo numerico di tuo interesse(xxxx) e decifrarlo secondo la convenzione di codifica utilizzata dallo strumento e qui le possibilità di decodifica sono infinite. Se la codifica è semplice e la precisone della misura scarsa, il valore può essere restituito ad esempio sotto forma di caratteri: xxxx=1255 e se tu sai che la prima cifra rappresenta le unità ed il resto la parte decimale ottieni per la misura un valore di 1,255[unità di misura] che poi converti formattando la stringa (cerca nella palette string). La codifica può essere anche molto più complessa se i byte che ricevi non rappresentano il carattere corrispondente al valore decimale e devono essere trattati come rappresentazioni esadecimali o binarie con codifiche magari standard tipo IEEE 745(Single precision - 32 bits), nella figura sotto ho messo un'immagine della rappresentazione dei float 32 bit di LV che trovi nell'Application Note \"LabVIEW Data Storage\". Se hai problemi con lettura/scrittura della porta seriale prova a cercare nei vecchi post o chiedi.\":D\" \":D\" \":D\" BYE. ---------------------------------------- AUTORE: 438 DATA :14/01/2005 - 01:06:43 ---------------------------------------- Ti ringrazio delle tue precisazioni sempre molto esaurienti!!(mi è venuto il dubbio che non l'abbia inventato tu LabView) \":wink:\" Cmq avevo pensato di inserire i 4 byte che ricevo in un array e di passarlo all'oggetto Code Interface Nodes, ma anche qui nn comprendo perchè non possa caricarmi il file creato in precedenza! Me ne fa creare uno, lo apro col blocco note e inserisco il mio codice al posto del commento \"Inserisci qui il codice\", salvo e chiudo il file, torno a labview e nn mi fa eseguire la VI perchè nn trova il codice!!! \":evil:\" Bho...è bello labview, ma devo ancora capire tantissime cose!!! Cmq grazie mille della risposta!!! ---------------------------------------- AUTORE: 247 DATA :14/01/2005 - 11:16:31 ---------------------------------------- [quote:1it4hnrw](mi è venuto il dubbio che non l'abbia inventato tu LabView) Wink [/quote:1it4hnrw] Purtroppo devo proprio deluderti, LabVIEW non l'ho inventato io! \":wink:\" Io sono decisamente il newbie per eccellenza rispetto agli altri dello staff di ILVG (Ale914, nicola, Alberto.L..), uso LabVIEW da solo sei mesi, e infatti sul CIN non so aiutarti, per ora mai usato, posso solo consigliarti il relativo manuale: [url=http://digital.ni.com/manuals.nsf/websearch/8D930295FFBF9F7686256D2C00624728?OpenDocument&node=132100_US:1it4hnrw]Using External Code in LabVIEW[/url:1it4hnrw] ed augurarti buona fortuna. \":D\" \":D\" \":D\" BYE. ---------------------------------------- ================================================================================ SOS Tabelle ================================================================================ AUTORE: 468 DATA :14/01/2005 - 08:50:23 ---------------------------------------- Ciao a tutti..... Ho un problemone con le tabelle..... Riesco a leggere i dati da una tabella e a scriverli in un file . dat o .txt però non riesco proprio a riprendere questi dati per scriverli in un'altra tabella..... Se qualcuno ha un'idea..... sto impazzendo.... Grazie \":D\" ---------------------------------------- AUTORE: 113 DATA :14/01/2005 - 10:41:14 ---------------------------------------- Ciao Lulù, per la scittura su file dei dati contenuti in tabella devi prima creare una spreadsheet string delle stringhe di dati; quindi la puoi salvare come una normale stringa di testo. Per la lettura leggi la stringa di testo e la converti in array 2D con la funzione Spreadsheet String To Array, se la tabella è un controllo, creane una variabile locale per inserirci i dati letti. Fai riferimento all'help di LV per una spiegazione dettagliata delle funzioni utilizzate. Ti allego il diagramma di esempio. Saluti, Alberto P.S. esistono altri metodi per fare quello che chiedi, questo è il più semplice ---------------------------------------- ================================================================================ Velocità di esecuzione ================================================================================ AUTORE: 201 DATA :14/01/2005 - 12:43:59 ---------------------------------------- Vorrei sapere cosa influisce negativamente sulla velocità di esecuzione di una VI.Cioè cosa la rende \"pesante\"? Io per esempio utilizzo molti property node, ad esempio se ho un controllo nn lo collego direttamente ma uso il suo Value del property node.Questo rallenta il tutto? Voi che regole usate per ottenere un codice ordinato e \"leggero\"? ---------------------------------------- AUTORE: 129 DATA :14/01/2005 - 13:33:53 ---------------------------------------- [quote="blow":2k03p12o]Voi che regole usate per ottenere un codice ordinato e \"leggero\"?[/quote:2k03p12o] Io cerco di utilizzare il più possibile il filo (dataflow), chiudere i refnum quando non servono. Ormai con i computer moderni, i problemi legati all'uso di global e local è strettamente legato al loro impiego che può creare ambiguita se non controllato. Nella mia esperienza ho trovato veramente negativo l'uso smodato di property e invoke nei loop , oppure la creazione di array sui loop,senza fissargli le dimensioni(allocando una marea di memoria),l'uso di loop non temporizzati(banale ma capita). Sul sito NI trovi moltissimi articoli che possono indirizzarti sull'ottimizzazione dei VI, anche su questo forum sono presenti molti topic in materia..... prova [url=http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/732cec772aa4fbe586256a37005541d3?OpenDocument:2k03p12o]qui[/url:2k03p12o] Se vuoi, puoi aiutarci a stendere una linea guida sulla programmazione LV, sarebbe interessante. Se vuoi puoi contattare Ale914, ti aspettiamo. ---------------------------------------- AUTORE: 201 DATA :17/01/2005 - 14:16:55 ---------------------------------------- Scusate una cosa che non capisco è perchè utlizzando un timed while loop al posto di uno normale, il prog giri più velocemente. La mia vi è composta da un while loop, che a sua volta contiene vari IF e altri while loop, gli IF a sua volta contengono dei while loop. Se non ritardo il ciclo, la vi gira lentissima, è un controsenso o no? Ho pensato quindi, per migliorare ancora l'esecuzione, è necessario che temporizzi anche tutti gli altri while loop e gli IF? ---------------------------------------- AUTORE: 129 DATA :18/01/2005 - 13:06:44 ---------------------------------------- la temporizzazione è indispensabile per controllare i loop. Senza timerizzazione il loop sfrutta tutte le risorse per andare alla massima velocità di elaborazione provocando un rallentamento,conseguente a blocchi del S.O.. Inoltre la timerizzazione regola le attività dei vari loop paralleli in una situazione di multithread. Timerizzare è indispensabile. Per quanto riguarda il timerloop effettivamente facendo un test ogni tanto misura un conteggio diverso rispetto ad un loop, ma a me risulta più lento, o meglio il numero di conteggi è inferiore per il tied loop che per il loop. Il timer loop comunque è più deterministico ed è stato realizzato per essere usato anche in aplicazioni RT (infatti compatibilmente alle risorse, può essere settato ad una risoluzione di microsecondi),gestisce le priorità ecc. rispetto ad altri. In definitiva per me è meglio il timerloop, ma bisogna fare attenzione a come si configura... Allego confronto Timer loop/Loop ---------------------------------------- AUTORE: 247 DATA :18/01/2005 - 13:21:18 ---------------------------------------- [quote:jdhz17wi]Vorrei sapere cosa influisce negativamente sulla velocità di esecuzione di una VI.Cioè cosa la rende \"pesante\"? Io per esempio utilizzo molti property node, ad esempio se ho un controllo nn lo collego direttamente ma uso il suo Value del property node.Questo rallenta il tutto? [/quote:jdhz17wi] Questi sono un paio di estratti dalla Newsletter INFO-LabVIEW che trattano i pro e contro del'utilizzo di property nodes e di gestione della memoria...have a nice day. [color=red:jdhz17wi][b:jdhz17wi]-----------1-------------[/b:jdhz17wi][/color:jdhz17wi] Subject: Re: buffer allocation with reference? From: \"Rolf Kalbermatter\" <rolf.kalbermatter@citeng.com> Date: Mon, 17 Jan 2005 10:02:10 +0100 \"Erdmann, Ralf\" wrote: >To get the pieces I used a local variable of the array. >CPU usage of the application grows as fast as the array. >I think this is because of the buffer allocation for the local variable of >the huge array. (Please correct me, if this makes no sense) Yes basically every global/local read will create a copy of the data in the front panel control. LabVIEW with its inherent multithreading and dataflow paradigma can't use simple pointer references here as this would be highly unsafe to do. >What I would like to ask is, can I avoid the buffer allocation when I >use a reference to the array instead of the local variable ? No, this will result in even worse performance in almost every case. > Or does Labview use buffer allocation with references too ? Yes, a LabVIEW reference is not a pointer but more like an object reference to the control. As such the data gets copied over and over again but in addition to that is the access to the Value property of a control through control references always executed in the UI thread for safety. So every access to the control reference Value property will cause your block diagram to go through two thread context switches and in the case of a write also force the UI to be updated before the code can continue. Local variable access will copy the data as well but execute in the same thread as the calling diagram and it will not wait until the UI thread has eventually drawn the new data. That said those data copies are killing you here and the solution for your problem is to use a LV2 style global (a VI with a loop with shift register to store that data). You can create very sophisticated \"intelligent globals\" this way with all the logic where, when and how to add data or retrieve it inside that VI. Just put a case inside that loop and wire its selector to an enum control on the front panel which is also connected to the connector pane. Now you can add as many \"methods\" to this enum as you like to perform different operations on that data such as \"init\",\"write\", \"read\", \"clear\" etc. A very good approach is to preallocate the maximum size in an \"init\" method and on write only replace the elements in the buffer with the new ones and maintain an internal pointer to the length and for a circular buffer also the start of the actual data. Rolf Kalbermatter CIT Engineering Nederland BV tel: +31 (070) 415 9190 Treubstraat 7H fax: +31 (070) 415 9191 2288 EG Rijswijk http://www.citengineering.com Netherlands mailto:rolf.kalbermatter@citeng.com [color=red:jdhz17wi][b:jdhz17wi]--------------2--------------[/b:jdhz17wi][/color:jdhz17wi] Subject: Re: buffer allocation with reference? From: \"Uwe Frenz\" <uwe.frenz@getemed.de> Date: Mon, 17 Jan 2005 11:07:53 +0100 Ralf, you asked on Sun, 16 Jan 2005 11:53:09 +0100: > I'm writing an application in which I slice pieces out of an fast growing > array at runtime. > To get the pieces I used a local variable of the array. > CPU usage of the application grows as fast as the array. > I think this is because of the buffer allocation for the local variable of > the huge array. (Please correct me, if this makes no sense) Fast growing huge arrays take huge amounts of RAM. Take that into consideration when designing your app. > What I would like to ask is, > can I avoid the buffer allocation when I use a reference to the array > instead of the local variable ? > Or does Labview use buffer allocation with references too ? A ref to an arry itself does not yet allocate an extra buffer. But if you access the array data it does. It may even create an extra temporarily buffer in order to transfer that data (depending on in what thread the array runs). So the best way is to slice your subarray at that position where your complete array exists, so avoiding buffer allocation. Depending on the array size and the machine it is intended to run your app on, it might be better to safe your array on disk and to have just parts of it in memory at any given time. To do so, use the write_file.vi node with a data type similar to your array content data type. HTH and Greetings from Germany! -- Uwe Frenz ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dr. Uwe Frenz Entwicklung getemed Medizin- und Informationtechnik AG Oderstr. 59 D-14513 Teltow Tel. +49 3328 39 42 0 Fax +49 3328 39 42 99 Uwe.frenz@getemed.de WWW.Getemed.de ---------------------------------------- AUTORE: 247 DATA :18/01/2005 - 14:15:22 ---------------------------------------- Ciao Nicola, ho fatto qualche prova con il tuo VI e non mi risulta assolutamente lo strano comportamento del Timed Loop che dichiari. Secondo i risultati delle mie prove il Timed Loop ha sempre giustamente ottenuto la priorità di esecuzione rispetto al loop normale eseguito in parallelo ottenendo alla fine un numero di esecuzioni/iterazioni uguale al Loop normale in assenza di scarsità di risorse(cicli ci CPU disponibili e temporzzazione non critica) e maggiore in caso di scarsità (ricordo che ogni TimedLoop ha priorità maggiore rispetto a qualsiasi altro loop normale...a prescindere dalla priorità impostata che viene considerata solamente in presenza di altri TimedLoop paralleli). Come vedi dall'immagine in tutte e otto le prove il Timed Loop è stato eseguito più volte del loop normale; per evidenziare l'attribuzione di priorità al Timed Loop nelle ultime tre prove ho caricato il sistema in modo sempre più pesante richiedendo la visualizzazione del menù di Windows ogni due secondi per la prima prova, circa due volte al secondo nella seconda e il maggior numero di volte consentito dalla mia abilità di schiacciatasti/fraggatore nell'ultima...circa 4/5 al secondo stando alla mia ultima prestazione videoludica cronometrata \":D\" \":D\" \":D\" ). Elementi degli array in figura con lo stesso indice contengono il numero di iterazioni eseguite ddel tipo di loop indicato dal nome mentre l'ultimo array contiene la differenza in cicli. Come vedi in caso di mancanza di risorse il Timed Loop detta decisamente legge sul loop normale parallelo. BYE. [quote:2obpt8as]La mia vi è composta da un while loop, che a sua volta contiene vari IF e altri while loop, gli IF a sua volta contengono dei while loop. Se non ritardo il ciclo, la vi gira lentissima, è un controsenso o no? [/quote:2obpt8as] P.S. Mi piacerbbe ricreare anche le condizioni del tuo strano caso; riesci a spiegare meglio come è strutturato il VI? ---------------------------------------- AUTORE: 129 DATA :18/01/2005 - 15:41:41 ---------------------------------------- SI è chiaro il concetto delle priorità, ma ripetendo il test mi viene questo risultato.... Il timer è impostato a 200ms Onestamente anche io mio aspettavo un numero maggiore di conteggi per il Tloop che non nel vecchio, mbo??? ---------------------------------------- AUTORE: 129 DATA :18/01/2005 - 16:16:26 ---------------------------------------- Allora ho provato lo stesso Test con due loop OLD. Ho fatto ancora un test di confronto aumentando il tempo e ho situazione variabili, a volte il Timed loop è inferiore a volte maggiore(conteggi)... Nei due while invece anche modificando il Timer non ho variazioni....???? Tranne se escludi il timer come mi aspettavo... Io ho ottenuto: loop VS loop _ risultati identici loop VS Tloop _ risultati diversi (ma non seguono una logica) Tloop VS Tloop _ risultati identici Tutti con timer a 0 _ risultati diversi... ---------------------------------------- AUTORE: 201 DATA :18/01/2005 - 18:27:10 ---------------------------------------- [quote="apollon":46cggxwd]P.S. Mi piacerbbe ricreare anche le condizioni del tuo strano caso; riesci a spiegare meglio come è strutturato il VI?[/quote:46cggxwd] Allora in pratica la vi è composta da un Timed loop principale, esso contiene una event structures e alcuni while loop concatenati, nel senso che l'uscita dell'uno sarà l'ingresso dell'altro. Poi ci sono degli IF e alcuni di questi contengono while loop a se stanti. Se nn timerizzo nulla va lentissimo mentre al contrario se ci metto un \"wait until\" anke settato a 0, va discretamente veloce. Considerando che questo programma deve realizzare un controllore automatico in logica fuzzy, quindi la velocità è necessaria! ---------------------------------------- AUTORE: 201 DATA :18/01/2005 - 18:31:19 ---------------------------------------- se sostituisco ai while loop concatenati, dei timed while loop con un tempo 1ms e con una priorità via via sempre minore secondo voi è meglio? Per esempio ho 2 while loop, uno mi genera un array e l'altro mi elabora quell'array, mettendo il secondo while loop con priorità minore del primo è meglio? Altrimenti se ho capito bene vengono elaborati contemporanemante giusto? ---------------------------------------- AUTORE: 201 DATA :18/01/2005 - 18:43:53 ---------------------------------------- Ho provato a fare un esempietto ---------------------------------------- AUTORE: 247 DATA :19/01/2005 - 00:45:47 ---------------------------------------- Ciao, non ho capito il tuo esempietto! E' un errore o lo shift register non l'hai inizializzato volutamente? Quale sarebbe la misura che consente di fare? [quote:3g2vmrak]Allora in pratica la vi è composta da un Timed loop principale, esso contiene una event structures[/quote:3g2vmrak] Penso che quello che ci sia di sbagliato sia che stai utilizzando una struttura sincronizzata (Timed Loop) condizionata da una struttura completamente asincrona come l'Event Node... [quote:3g2vmrak]Per esempio ho 2 while loop, uno mi genera un array e l'altro mi elabora quell'array, mettendo il secondo while loop con priorità minore del primo è meglio? [/quote:3g2vmrak] Non è meglio perchè il secondo loop non parte fino a quando non ha ricevuto i dati dal primo che ha concluso la sua esecuzione (LabVIEW dataflow programming), la priorità non farebbe nessuna differenza. [quote:3g2vmrak]Altrimenti se ho capito bene vengono elaborati contemporanemante giusto?[/quote:3g2vmrak] Non vengono elaborati contemporaneamente ma parallelamente. BYE. ---------------------------------------- ================================================================================ Query su oscilloscopio con GPIB ================================================================================ AUTORE: 366 DATA :14/01/2005 - 14:50:56 ---------------------------------------- SAlve a tutti. qualcuno di voi ha idea di come eseguire Query e quindi avere a disposizione la risposta, colloquiando con l'oscilloscopio tramite GPIB? Ho provato di tutto, ma proprio non riesco. Fatemi sapere, grazie!!! \":(\" ---------------------------------------- AUTORE: 4 DATA :24/01/2005 - 17:04:45 ---------------------------------------- Puoi usare le funzioni generiche VISA (intrument I\O >> VISA) oppure quelle GPIB (intrument I\O >> GPIB) per maggiori dettagli riferisciti agli help delle funzioni (CTRL + H). Per i comandi specifici da inviare riferisciti al sito del produttore del device Prova anche negli esempi di LV o cerca sul sito del produttore del device se esistono i driver LV già fatti ---------------------------------------- AUTORE: 479 DATA :27/01/2005 - 11:00:20 ---------------------------------------- Puoi provare anche con il driver network sul sito della national instruments per la ricerca del driver adatto. Altrimenti scegli un modello simile (magari più aggiornato) e manuale dell'oscilloscopio alla mano vai a sostituire i comandi GP-IB con quelli del tuo strumento. Che oscilloscopio hai? ---------------------------------------- ================================================================================ Licenze Run-Time ================================================================================ AUTORE: 238 DATA :17/01/2005 - 08:39:44 ---------------------------------------- Qualcuno sa dirmi in due parole ,quando un applicativo creato con l´application builder deve essere consegnato al cliente con una licenza Run-Time \":?:\" ---------------------------------------- AUTORE: 129 DATA :17/01/2005 - 09:14:45 ---------------------------------------- Non capisco cosa intendi puoi spiegarti meglio? Il run time è gratuito e non ha limiti di licenza, quindi compilando un applicazione con AB, puoi distribuire a chi vuoi il tuo applicativo che ovviamente ha bisogno del RT della versione corretta. Puoi creare un installer che comprende già il Run time. ---------------------------------------- AUTORE: 238 DATA :17/01/2005 - 10:27:12 ---------------------------------------- Allora una licenza (a pagamento) serve solo se vengono usate le funzioni DSC (tipo readTag ecc) \":?:\" ---------------------------------------- AUTORE: 248 DATA :17/01/2005 - 20:56:57 ---------------------------------------- Secondo me tu non puoi lasciare il sistema su cui hai sviluppato l'applicazione al cliente altrimenti decade il fatto che tu possa ancora lavorarci. Devi dotarti di application builder (a pagamento) che ti consente di creare un eseguibile indipendente dal sistema di sviluppo stesso. Una volta in possesso dell'application builder puoi farti tutti gli eseguibili che vuoi senza limiti. Credo (col beneficio di inventario) che le run-time sono richieste solo se usi lookout. Ciao ---------------------------------------- AUTORE: 238 DATA :18/01/2005 - 17:53:35 ---------------------------------------- E logico che bisogna essere in possesso dell´ application builder per poter creare degli eseguibili. Il problema stava solo nel definire quando un cliente (finale) deve acquistare una licenza Run-Time (a pagamento) per l´installazione del applicativo. Da una telefonata con NI mi e´stato confermato che la licenza e´necessaria solo se si usano le funzioni OPC di NI (Licenza Run-Time DSC) ---------------------------------------- ================================================================================ ENUM property strings BUGS? ================================================================================ AUTORE: 129 DATA :19/01/2005 - 13:25:19 ---------------------------------------- Forse è un baco o forse no comunque provando a riempire un enum,sfruttando la property strings mi restituisce [quote:1rs8j9f4]Error 1073 occurred at an unidentified location Possible reason(s): LabVIEW: This property is writable only when the VI is in edit mode, or this method is available only when the VI is in edit mode.[/quote:1rs8j9f4] Come starete già pensando ho subito guardato se ero in edit mode (ero in edit mode). Allora un pò curioso un pò per risolvere, ho provato con MENURING e MENUTEXT e tutti edue funzionavano correttamente.... Allego il VI per vstre verifiche... Secondo voi è un baco, o un errore mio? \":roll:\" ---------------------------------------- AUTORE: 113 DATA :19/01/2005 - 15:55:49 ---------------------------------------- Ciao Nicola, non è un baco, ti allego la schermata dell'help della proprietà Strings[]. Come puoi vedere non è possibile modificare le stringhe dell'enum durante l'esecuzione. Nel tuo esempio effettivamente sei in Edit mode, ma quando lanci la vi passi in Run mode e quindi ti ritorna l'errore. ---------------------------------------- AUTORE: 129 DATA :20/01/2005 - 08:18:22 ---------------------------------------- [quote:1auu0rau]If the string is an enumerated type control, you cannot write this property when the VI is running.[/quote:1auu0rau] Ciao Alberto, è vero quello che dici tant'è che utilizzo altri controlli, ma proprio non riesco a capacitarmi su: \":arrow:\" Se non lo posso usare in RUN, quando lo posso usare? \":arrow:\" ALtre property che non possono essere scritte non sono proprio disponibili in scrittura, questa invece essendo disponibile viene utilizzata, generando poi l'errore \":|\" . \":)\" Grazie ---------------------------------------- AUTORE: 113 DATA :20/01/2005 - 09:00:07 ---------------------------------------- Hai perfettamente ragione Nicola! Sarebbe stato più 'saggio' se questa proprietà fosse stata disponibile solo come read per questo controllo, visto che come write è praticamente inutilizzabile... Il motivo di questa caratteristica l'ho capito facendo una ricerva più approfondita nell'help di LV. In pratica: per un enum type control il data type contiene le informazioni relative sia ai valori numerici del controllo che alle labels associate (le labels sono le stringhe inserite); a differenza degli altri ring controls dove il data type è semplicemente numerico. A questo punto è ovvio che non è possibile modificare programmaticamente le labels perchè non è possibile modificare il data type di un controllo in run mode. Ti allego la schermata che mi ha chiarito i miei dubbi: ---------------------------------------- AUTORE: 129 DATA :20/01/2005 - 09:09:59 ---------------------------------------- Perfetto Alberto, ora anche io ho chiarito i miei dubbi. Mille Grazie \":wink:\" ---------------------------------------- ================================================================================ Esempio interesante: "LEDDONI" ================================================================================ AUTORE: 278 DATA :19/01/2005 - 20:40:35 ---------------------------------------- Curiosando tra i file che ho nel mio archivio personale, ho trovato un esempio davvero strano...... già dal nome!!! \":o\" \":o\" Lo allego al post, provate a farlo girare sulle vostre macchine selezionando prima il led 1 e poi il led 2, noterete una cosa interessante..... Il programma esegue un ciclo di 1000 accensioni/spegnimenti del led, noterete che selezionando il led 1 impiegherà un tempo nettamente inferiore a led 2, come mai? Osservate il codice, è perfettamente identico per tutti e due i led, dove sta il trucco \":?:\" (p.s, mi diverto a fare il presentatore dei quiz-show...) Il trucco sta proprio nelle dimensioni dei led in questione, provate a ingrandire o rimpicciolire il Led 1 o 2, noterete notevoli differenze nel tempo di esecuzione, dipendenti, appunto, dalle dimensioni del led!! Ma anche dalla forma fisica, LV impiega di + a eseguire 1000 cicli con il led rotondo che con il led quadrato. Nel riquadro denominato x-y viene riportata la differenza di tempo trascorsa tra il momento iniziale e quello finale del VI. Nel mio caso, con le dimensioni originali dei led e con LV 7.1, ho ottenuto risultati di 176-144 con il led 1 e di 2894-2867 con il led 2. Il tempo trascorso, se non erro, è espresso in centesimi di secondo. Provate il VI allegato e fatemi sapere che risultati ottenete con le vostre macchine e con diverse versioni di LV, potremmo fare un Benckmark, non credete? Ciao e a presto ---------------------------------------- AUTORE: 278 DATA :19/01/2005 - 20:51:24 ---------------------------------------- Ah! Dimenticavo, Noterete che i led no si spengono e si accendono interamente, come mai? (stasera è quella dei quiz.... SANTUCCIII!!!!!) Dipende dalla frequenza di refresh del monitor.... il led quadrato, in circa un secondo e mezzo nel mio Pc, riceve il comando per accendersi e si spegnersi 1000 volte, qundi ha una frequenza di 1000/1.5~ 666Hz, ben oltre la frequenza di refresh del monitor!!! Come risultato otterrete uno sfarfallio nel led, come tante righe verticali. Ovviamente, l'effetto dello sfarfallio è legato al tempo di esecuzione del VI, infatti, + il led è grosso, meno si vede questo effetto. Ciao ciao ---------------------------------------- AUTORE: 247 DATA :19/01/2005 - 23:12:29 ---------------------------------------- Interessante.... \"8)\" \"8)\" \"8)\" beh, comunque visto che parliamo di prestigiribiridizzazione (chiedo scusa a Raul Cremona se ho cannato, come probabile, la citazione...), testando il tuo VI ho colto al volo l'occasione per sapere quanto ci fosse di vero in un vecchio monito di Ale914, ovvero: I LED e i controlli 3D sono una m...., io quando posso uso sempre i controlli classici. (più o meno le parole sono giuste con beneficio di memoria...) Effettivamente prova il VI che ho modificato..... \":o\" \":o\" \":o\" P.S. Tieni a mente per dopo: \"No, LV funziona e lo schermo non è rotto...\" P.P.S. Qualcuno trova il tempo di testare anche altro tipo aggiornamento controlli numerici, indicatori di vario tipo, indicatore con update o property? (OK, per l'ultimo si sa chi vince ma di quanto?) BYE. ---------------------------------------- AUTORE: 129 DATA :20/01/2005 - 08:49:18 ---------------------------------------- Anche nei numerici sembrano esserci delle differenze. Allego il mio test, ho osservato differenze (dimensione e funzionalità) solo per il round 3D. Ho messo anche 2 chart (per foryuna nessuna differenza tra i due) ---------------------------------------- AUTORE: 247 DATA :20/01/2005 - 10:11:41 ---------------------------------------- Ciao, anche secondo le mie prove l'unico che rallenta è il 3D round; le cose vanno un pò meglio se elimini il digital display associato ma non di tanto, e poi il digital display viene effettivamente quasi sempre visualizzato quindi è meglo fare preove nelle codizioni di utilizzo. Penso che di rallentamento soffrano ovviamente un pò tutti i controlli elaborati graficamente...è la vita, che ci vuoi fare?:D BYE ---------------------------------------- AUTORE: 482 DATA :28/01/2005 - 09:52:23 ---------------------------------------- ..ma ciao a tutti! ..beh...la questione è risolvibile forse usando labview per Linux. Nel senso che i problemi di esecuzione legati ai controlli tondeggianti è dato dalla gestione della grafica di windows. per ragioni non note, le figure tonde non sono gestite come tali ma come una continua sequenza di rettangoli..di conseguenza la lentezza e lo sfarfallio. Onestamente non ho provato questa cosa su Linux ma credo che in qualche misura possa migliorare! ..ma ciao! ---------------------------------------- AUTORE: 201 DATA :28/05/2005 - 17:39:19 ---------------------------------------- scusate se ritiro su questo post, cmq con linux la situazione peggiora addirittura... ---------------------------------------- AUTORE: 482 DATA :30/05/2005 - 08:03:49 ---------------------------------------- sti cazzi! ...cmq...Apollon!!!..tu bari!..nel tuo VI modificato, gli indicatori classici non hanno il synchronous dysplay!!! Se togli quell'opzione anche da quelli nuovi e tondeggianti il risultato è quasi lo stesso..un applicazione velocissima! Quindi qual'e' la definizione corretta del \"synchronous Dysplay\"? (Leddone->tasto destro->advanced)Viasto che questo topic è partito pieno di indovinelli! \":wink:\" Una cosa interessante è scrollare il vi lasciando i led parzialmente in evidenza o completamente nascosti ed osservare quanto questi tempi (con synchronous dysplay acceso) siano dipendenti dalla grafica. Detto questo...chi mai potrebbe avere bisogno di vedere 1000 lampeggi alla massima velocità?? Che scopo puo' avere la visualizzazione di un dato aggiornato cosi' velocemente?? \":?:\" ---------------------------------------- AUTORE: 247 DATA :01/06/2005 - 09:14:13 ---------------------------------------- [quote="gepponline":1tle0001] ...cmq...Apollon!!!..tu bari!..nel tuo VI modificato, gli indicatori classici non hanno il synchronous dysplay!!! [/quote:1tle0001] ...a parte che prima di dare del baro a qualcuno io ci penserei dieci volte...cmq la tua osservazione è DOVEROSA! Non avevo nessuna intenzione di barare, ho modificato il VI di esodar1981 aggiungendo i controlli classici, il tutto senza accorgermi, perchè non sono andato a controllare, che i primi fossero settati su Sync. display mentre i secondi no; di default entrambi sono settati senza Sync. display, mentre quelli di esodar1981 che ho \"riciclato\" avevano l'impostazione di aggiornamento del controllo modificata. BYE. ---------------------------------------- AUTORE: 482 DATA :01/06/2005 - 11:29:50 ---------------------------------------- \":wink:\" ---------------------------------------- ================================================================================ Simulation Interface toolkit ================================================================================ AUTORE: 367 DATA :20/01/2005 - 15:39:41 ---------------------------------------- Ciao a tutti, qualcuno ha usato il simulation interface toolkit? Volevo avere un giudizio sul toolkit, cosa può fare, limitazioni ecc... Grazie ---------------------------------------- AUTORE: 251 DATA :28/01/2005 - 23:17:11 ---------------------------------------- Ciao Mau, Simulation Interface Toolkit e' molto interessante ma dipende da quali sono i tuoi scopi. Per darti una idea, quello che si puo' fare con il SIT ad esempio e' importare modelli di Simulink in LabVIEW ad utilizzarli su piattaforme RT per implementare loop di controllo e simulazione. Io personalmente lo utilizzo in questo modo e abbiamo realizzato una stazione di test dove viene inserito l'hardware da testare in un loop di simulazione dell'ambiente in cui questo hw andra' ad essere inserito. Sono a disposizione per altri chiarimenti sulla mia esperienza, ciao \":idea:\" \":idea:\" ---------------------------------------- AUTORE: 367 DATA :29/01/2005 - 08:10:11 ---------------------------------------- Ciao Porsenna. E' esattamente quello che in ditta volevano fare. Purtroppo chi era coinvolto nel progetto, mi ha detto che non riusciva a creare un looop chiuso. Mi spiego meglio: Il nostro prodotto ha degli input e output che dovrebbero essere acquisiti e stimolati da un programma LabView interfacciato al Sit in cui girano modelli di simulazione ambientale creati in matlab. Mi hanno detto che attraverso il sit riuscivano a far vedere a Labview i valori delle variabili cambiati da matlab, ma non riuscivano a fare il contrario (cioè cambiare attraverso LabView una variabile in ingresso di un modello matlab). Avevano ache detto che chiedendo alla NAtional gli avevano confermato questa limitazione. A me sembra stranissimo!!! Volevo delle conferme. ---------------------------------------- ================================================================================ Visulizzazione dati su grafico ================================================================================ AUTORE: 36 DATA :21/01/2005 - 08:37:34 ---------------------------------------- Ciao, volevo chiedere se potevate aiutarmi riguardo un problema che ho riscontrato con LV. Sto cercando un modo per raccogliere dati dal mio PLC e tramite variabili globali salvarli su un file di testo (Questo lo faccio già con successo). Il mio problema sta nella gestione di questi dati che dovrei scrivere ogni mezz'ora su questo file (non riesco ad appendere i dati solo a sovrascriverli, come si fa?) e costruire un grafico che sull'asse delle x abbia la temporizzazione (registrazione ogni mezz'ora) e sull'asse delle y i valori che ottengo da PLC (variabili globali). Soprattutto non riesco a trovare un modo per registrare tali dati con la data e l'ora relativi alla registrazione stessa. Sperando di essere stato abbastanza chiaro ringrazio anticipatamente chiunque riesca a darmi una mano. Ciao \":wink:\" ---------------------------------------- AUTORE: 129 DATA :21/01/2005 - 13:07:23 ---------------------------------------- Ciao, Roberto. Per appendere ad un file, guarda l'immagine e usa i terminali segnalati. Per ottenere data e ora della registrazione puoi pescarle dalla funzione \"Get Date/Time String\" poi puoi per esempio trasformare in numerico la stringa ora e inserirla in una matrice X di un grafico X/Y.. Spiegaci magari meglio come hai organizzato i dati ora (magari un vi), sicuramente si può fare q.sa. ---------------------------------------- AUTORE: 36 DATA :25/01/2005 - 13:22:42 ---------------------------------------- Sono riuscito ad organizzare il tutto sia ad appendere i dati che a scrivere la data e l'ora in cui sono stati creati. Ora vorrei che si riuscisse a creare una routine che mi eseguisse questo vi ogni mezz'ora ed inoltre si riuscisse a creare un grafico con i dati acquisiti sul file di testo. (x=ora di registrazione , y=variabili globali) Ecco di seguito il vi che ho fatto... ---------------------------------------- AUTORE: 129 DATA :25/01/2005 - 15:39:46 ---------------------------------------- Per salvare ogni n minuti potresti ricorrere a questo esempio(spero tu abbia la versione 7.1 di LV). Per il grafico devi trasformare le stringhe in numeri,Su questo non posso aiutarti perchè bisogna conoscere come è la stringa per prelevarne la parte numerica. Se non è necessario salvare in un file di testo, potresti fare un file binario, leggibile da labview, come nell'esempio che ti mostro(supponendo che hai già convertito le stringhe in numeri. ---------------------------------------- AUTORE: 36 DATA :28/01/2005 - 08:03:30 ---------------------------------------- Purtroppo non ho labview 7.1 ho solo la versione 7.0...se riusciresti a farmi avere un vi con questa versione te ne sarei grato.. per il resto scriverò più avanti...poco tempo.. \":wink:\" Grazie ciao Roberto ---------------------------------------- AUTORE: 247 DATA :28/01/2005 - 10:07:31 ---------------------------------------- Questa è il VI convertito in 7.0, non sono sicuro che funzioni perchè mi da un errore in fase di conversione, ma poi riesco ad aprirlo regolarmente con LV7.0. BYE. ---------------------------------------- AUTORE: 36 DATA :10/02/2005 - 08:47:24 ---------------------------------------- Grazie innanzitutto per la conversione del VI... \":D\" funziona! In secondo luogo volevo dirvi che riesco a salvare i miei dati ogni mezz'ora sul mio file di testo... Quello che nn riesco a fare è la realizzazione del grafico estrapolando i dati che salvo sul file... Ho capito che devo convertire le stringhe in numeri ma poi questi valori convertiti come faccio a inserirli nel grafico? Ecco di seguito il vi leggermente modificato.. Grazie Ciao ---------------------------------------- AUTORE: 201 DATA :14/02/2005 - 19:49:49 ---------------------------------------- Ciao non ho ben capito come vuoi visualizzare i dati sul grafico, cioè tu parli di mettere sulle X le ore sulla Y il valore delle variabili universali, ma in questo modo difficilmente riesci anche a suddividere per giorni. Cmq per ora ho provato a modificarti il Vi in modo che legge il file da te salvato e ti visualizza il grafico come da te chiesto, ma senza i giorni, solo ore e minuti. Fammi sapere [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 36 DATA :16/02/2005 - 08:18:41 ---------------------------------------- Grazie mille...ora do un occhiata al vi poi vi faccio sapere... \":wink:\" ---------------------------------------- AUTORE: 36 DATA :16/02/2005 - 16:46:48 ---------------------------------------- Allora ho controllato il vi..tutto ok per quanto riguarda la visualizzazione dei dati giornalieri..che consigli mi dareste per la questione della visualizzazione anche delle date? bisognerebbe stavolgere il vi? Vi voglio ringraziare davvero molto, siete davvero molto competenti..io conosco labview da circa un anno ma non sono sicuramente al vostro livello.. \":wink:\" ---------------------------------------- AUTORE: 201 DATA :16/02/2005 - 18:22:23 ---------------------------------------- E' un po' complicato, ci penso un po' su. ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 07:11:41 ---------------------------------------- Ciao, se vuoi inserire un formato data/ora sull'asse dei tempi, puoi modificare l'asse andandoci su e clik dx, quindi formatting e in format e precision puoi selezionare absolute time, quindi personalizzare il formato inserendo anche la data. ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 12:29:35 ---------------------------------------- [quote="nicola":kdcllf27]Ciao, se vuoi inserire un formato data/ora sull'asse dei tempi, puoi modificare l'asse andandoci su e clik dx, quindi formatting e in format e precision puoi selezionare absolute time, quindi personalizzare il formato inserendo anche la data.[/quote:kdcllf27] Questo nn lo sapevo, quindi allora nn devi nemmeno fare come ho fatto io per trasformare le ore in decimali! E io che mi stavo già facendo dei viaggi su usare excel.. ---------------------------------------- ================================================================================ rappresentazione grafica particolare ================================================================================ AUTORE: 441 DATA :21/01/2005 - 20:27:07 ---------------------------------------- Ragazzi rieccomi alla carica... Avrei due piccoli problemi tecnici....(ho fatto passi avanti,eh??). Vorrei sapere come realizzare un grafico in cui aggiungo una retta orizzontale (costante) sovrapposta allo spostamento in real time letto da un potenziometro. E' possibile poi visualizzare la retta e la posizione con un'interfaccia per l'utente simile a questa???? GRAZIE ---------------------------------------- AUTORE: 278 DATA :25/01/2005 - 19:06:00 ---------------------------------------- Ciao Virtuale, vedo che non demordi! \":D\" Molto bene!!!! Allora, ti allego un esempietto semplice semplice che ha la presunzione di fare quello che chiedi \":o\" \":o\" \":o\" \":o\" Scherzi a parte, non fa proprio un bell'effetto stile videogioco come quello che hai raffigurato tu ma fa quello che chiedi. In sostanza ti permette di visualizzare su di un garfico una serie di valori casuali ed un valore \"fisso\" variabile dall'utente. Ho eseguito la stessa cosa in 3 modi diversi, a seconda del tipo di dato che intendi manipolare. L'esempio 1 e 2 sono + o - equivalenti, per il terzo non vengono utilizzati gli array ma solo la funzione Bundle del menù cluster. Noterai che è molto più lenta degli altri 2 solo perchè ha meno dati da visualizzare (o meglio, si aggiorna con la stessa frequenza delle altre due, ma dato che non piazza 100 punti sul grafico la vedi piuttosto lenta). Spero di esserti stato d'aiuto, se qualcun'altro conoscesse altre tecniche o \"trucchetti\" sono i benvenuti!!!! \":wink:\" Ciao e a presto ---------------------------------------- AUTORE: 247 DATA :25/01/2005 - 23:38:31 ---------------------------------------- Caio, se riesci a ridurre e ad adattare le tue esigenze grafiche prova a dare un'occhiata a quello che abbiamo \"realizzato\", o meglio \"combinato\" in [url=http://www.ilvg.it/forum/viewtopic.php?t=455&start=0&postdays=0&postorder=asc&highlight=:11aee48d]questa discussione[/url:11aee48d] nicola ed io. Se invece hai necessità grafiche serie, ovvero vuoi ottenere proprio grafica interattiva del livello che esemplifichi con l'immagine che hai allegato, devi cominciare ad utilizzare le picture e la relativa palette. Cmq per capire come funziona la grafica in LV ti consiglio di scaricare un paio di videogames in LV dal sito NI: [url=http://www.ni.com/devzone/lvzone/games.htm:11aee48d]LabVIEW Zone Resource Games[/url:11aee48d], sono esempi anche troppo avanzati, per me...\":D\" , di grafica. BYE. ---------------------------------------- AUTORE: 129 DATA :01/02/2005 - 14:13:27 ---------------------------------------- In preda ad un momento artistico ci ho provato, cosa ne pensi si avvicina un pò alla tua idea? Sono sicuro che lavorandoci un pò su puoi realizzare un controllo molto vicino a quello che volevi...... ---------------------------------------- AUTORE: 441 DATA :05/02/2005 - 22:20:24 ---------------------------------------- grazie... Ma ho un piccolo problema nella visualizzazione... mi costringono ad utilizzare la versione 6.1....come faccio a far girare il tuo file??? ---------------------------------------- AUTORE: 129 DATA :06/02/2005 - 08:43:18 ---------------------------------------- Sorry, bisogna che un anima pia, te lo converta dalla versione 7.1.... ---------------------------------------- AUTORE: 441 DATA :08/02/2005 - 22:35:15 ---------------------------------------- Cercherò l'anima pia..... Nessuno piò aiutarmi nella conversione??? Avrei per voi altri due quesiti. Come posso importare un'immagine e farne uno sfondo per l'utente?? Inoltre il labview è in grado di comandare aperture e chiusure di elettrovalvole con logica di tipo on-off,arrivando a chiudere lui stesso un ciclo?? Ovvero 1lettura posizione 2 confronto con target 3apertura valvole per allineamento della massa al target 4...grazie ---------------------------------------- AUTORE: 129 DATA :09/02/2005 - 08:29:55 ---------------------------------------- Ciao, [quote:30504yrq]Come posso importare un'immagine e farne uno sfondo per l'utente?? [/quote:30504yrq] Se intendi un immagine statica da inserire sul pannello come sfondo, puoi dal menu edit, selezionare import picture from file, scegli l'immagine dal browse; fai quindi incolla sul pannello e la tua immagine è pronta. [quote:30504yrq]Inoltre il labview è in grado di comandare aperture e chiusure di elettrovalvole con logica di tipo on-off,arrivando a chiudere lui stesso un ciclo?? [/quote:30504yrq] Certamente si. Un metodo veramente economico per fare questo, è pilotare direttamente una scheda a relais interfacciata alla porta parallela. Puoi controllare i pin della parallela in ingresso e in uscita, con i VI port IN e port OUT......Altri metodi più professionali sono basati su schede di I/O digitale (NI ne propone moltissime).....In questo caso agiresti direttamente sui driver delle schede... ---------------------------------------- AUTORE: 441 DATA :14/02/2005 - 13:33:05 ---------------------------------------- Grazie di cuore per l'informazione... \":D\" \":D\" al modo d'importare i file c'ero arrivato ma non funge....boh!! Per la gestione dell'elettrovalvole non ho ben capito. \":oops:\" \":oops:\" Ti faccio un riepilogo: labview legge da potenziometro posizione di massa rispetto a target; l'utente comanda apertura elettrovalvole per allineare massa con target stesso. Posso eliminare l'utente umano e comandare allineamento (e quindi apertura e chiusura elettrovalvole) con Lab.???? Come faccio??? NON SO CHE STRUTTURA DATI UTILIZZARE PER DARE DIFFERENZA DI POSIZIONE......E LOGICA ON-OFF ALLE ELETTROVALVOLE... \":?\" \":?\" \":?\" aNCORA GRAZIE ---------------------------------------- AUTORE: 129 DATA :14/02/2005 - 14:24:22 ---------------------------------------- Se il tuo problema è quello di creare una logica di attivazione ON/OFF rispetto a determinati comportamenti numerici, puoi utilizzare le funzioni di comparazione e gli operatori booleani. Se invece il problema è come fare a gestire un Output che piloti le elettrovalvole devi utilizzare e quindi gestire due output digitali che sono pilotati appunto dalla logica di controllo che realizzi. La struttura dati è uno shift register direi. ---------------------------------------- ================================================================================ giochino in lan ================================================================================ AUTORE: 201 DATA :23/01/2005 - 14:26:43 ---------------------------------------- Sto cercando di realizzare un giochino da fare in lan, è semplicissimo, il mio problema è che non ho idea di come fare per gestire più di un giocatore(fino a 5). Si tratta di un giochino a turni, ogni volta che tocca ad un giocatore devo mandare un array come posso fare? ---------------------------------------- AUTORE: 201 DATA :23/01/2005 - 15:38:45 ---------------------------------------- Se i giocatori devono mandare dei dati al server e poi i server spedirli a tutti i giocatori connessi, come faccio a far sapere al server da chi ha ricevuto un determinato pacchetto di dati? ---------------------------------------- AUTORE: 201 DATA :23/01/2005 - 16:46:01 ---------------------------------------- Ho guardato gli esempi e l'unico che potrebbe fare a caso mio sarebbe quello con un server e 2 client, il fatto e che in quel caso il server manda un dato a tutti i client ma nn riceve nulla, invece io ho bisogno che il server riceva regolarmente un dato da ogni client sapendo anche da chi lo ha ricevuto. ---------------------------------------- AUTORE: 401 DATA :25/01/2005 - 07:59:49 ---------------------------------------- Presumo che tu stia usando i DataSocket, hai controllato la configurazione del DataSocket Server? Dal problema che hai descritto mi viene da pensare che sul DS Server i client non hanno il permesso di scriverci. Se fosse così devi: -) aprire il DS Server Manager -) selezionare la voce \"Default Writers\" sotto il gruppo \"Permission groups\" -) ed aggiungere \"everyhost\" (oppure gli host dei singoli client) Ciao! ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 09:02:24 ---------------------------------------- Uso il protocollo TCP, dalla palette comunication TCP. A cosa serve e come si usa il DataSocket? grazie ---------------------------------------- AUTORE: 401 DATA :25/01/2005 - 09:53:55 ---------------------------------------- Diciamo che serve per far condividere a più applicazioni, che possono risiedere su pc remoti, uno o più oggetti. Consulta questo link: http://zone.ni.com/devzone/conceptd.nsf ... endocument Ciao ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 12:37:10 ---------------------------------------- Allora ho guardato un po' di esempi e sembra che possa fare al caso mio, ma è possibile creare un eseguibili che sfrutti il datasocket? In lan che indirizzo bisognerebbe poi usare? al posto di localhost basterebbe metterci l'ip del computer da cui si riceve? grazie ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 13:18:17 ---------------------------------------- [quote="blow":16jqxobo]Allora ho guardato un po' di esempi e sembra che possa fare al caso mio, ma è possibile creare un eseguibili che sfrutti il datasocket? In lan che indirizzo bisognerebbe poi usare? al posto di localhost basterebbe metterci l'ip del computer da cui si riceve? grazie[/quote:16jqxobo] Alla domanda se si può creare un eseguibile con datasocket mi rispondo da solo, si. Ora è possibile creare anche un installer per installare la mia VI in una macchina dove non è presente labview, e utilizzare il datasocket server, o esso viene installato solo installando labview? grazie ---------------------------------------- AUTORE: 401 DATA :25/01/2005 - 16:18:19 ---------------------------------------- Se il datasocket viene installato solo con labview, non lo so. Comunque il DataSocket Server deve girare in un solo PC, tutti gli altri fanno riferimento a quello. Invece di usare localhost puoi usare l'indirizzo URL del PC dove risiede il DataSocket Server: dstp://computer1.mylan/socket1 L'importante è che usi il collegamento dstp:// ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 19:46:22 ---------------------------------------- grazie della pazienza mais76 \":)\" C'è un modo per ricavare l'ip del del computer dove gira il server? ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 20:36:43 ---------------------------------------- si riesce a risalire al numero di processi connessi al server, da codice? ---------------------------------------- AUTORE: 247 DATA :25/01/2005 - 20:41:38 ---------------------------------------- Ciao, per sapere le impostazioni di rete (indirizzo, DNS...etc) utilizzate dal tuo server, ma anche da qualsiasi altro PC connesso in rete, utilizza un classicissimo comand dos \"ipconfig\" chiamandolo da labview come illustrato in figura; ti basta far girare il VI sul PC del quale vuoi ottenere le informazioni. Nella stringa in uscita ottieni le informazioni che ti servono, ti basta solo scegliere quella che ti interessa, nel tuo caso IP Address. BYE. ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 20:53:18 ---------------------------------------- Ma per ricavare l'IP da quella stringa c'è da diventar matti \":)\" ---------------------------------------- AUTORE: 247 DATA :25/01/2005 - 20:54:06 ---------------------------------------- Opss..., rileggendo il tuo post penso di aver sbagliato risposta... Credo che la tua domanda assomigliasse più a questa: Come faccio a recuperare l'indirizzo del server DataSocket, al quale sono connesso, dal PC client? La risposta dipende da come apri la connessione con il server, cmq è facile in tutti e due i casi, guarda l'immagine el block diagram. BYE. ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 21:02:18 ---------------------------------------- Ho paura di non aver capito. Allora ti espongo il mio problema. Visto che il pc che farà da server non è fisso, ma può benissimo cambiare, come faccio a far sapere ai vari client dove si trova il server? Avevo pensato ad inserire l'IP manualmente tutte le volte, ma è una soluzione che vorrei evitare... Una altro problema è come fare a sapere in quanti sono connessi al server, questo dato è d'obbligo iperchè devo stabilire il numero di giocatori. E poi rimangono sempre le domande che ho fatto sopra \":D\" ---------------------------------------- AUTORE: 247 DATA :25/01/2005 - 21:22:11 ---------------------------------------- Ciao, [quote:2fyv9vsw]Ma per ricavare l'IP da quella stringa c'è da diventar matti[/quote:2fyv9vsw] L'indirizzo IP lo ricavi con con il VI in figura. [quote:2fyv9vsw]si riesce a risalire al numero di processi connessi al server, da codice?[/quote:2fyv9vsw] Essendo un socket, ovvero un tipo di connessione \"pubblica\", ho paura che sia impossibile sapere quanti client tu stia servendo cmq mi rileggo le Application Notes e ti faccio sapere di sicuro. Così su due piedi io penserei ad una variabile numerica in scrittura da parte dei client presente sul server. Ogni client deve modificare periodicamente la variabile incrementandola, giusto per far sapere che è ancora connesso, mentre il server ogni tanto la fa tornare al valore di default; in questo modo sapresti quanti client si stanno servendo del socket attualmente, anche se non ne sapresti l'IP. [quote:2fyv9vsw]Visto che il pc che farà da server non è fisso, ma può benissimo cambiare, come faccio a far sapere ai vari client dove si trova il server? Avevo pensato ad inserire l'IP manualmente tutte le volte, ma è una soluzione che vorrei evitare...[/quote:2fyv9vsw] Tutta questa modularità ti costerà parecchia fatica! La connessione automatica ad un server specifico è facile ma senza server fisso è un'altra storia. Non mi vengono in mente soluzioni immediate ora... \":|\" ---------------------------------------- AUTORE: 201 DATA :25/01/2005 - 21:35:40 ---------------------------------------- Bhe che dire grazie mille! sei davvero gentile cmq devo risucire a realizzare il giochino più per soddisfazione personale che per altro anche se mi costerà molta fatica! Io all'inizio ero interessato anche ad utilizzare il classico protocollo TCP, con quello mi complico solo la vita? Intanto grazie comunque!!! ---------------------------------------- AUTORE: 247 DATA :25/01/2005 - 21:53:13 ---------------------------------------- [quote:1zk7vuju]Io all'inizio ero interessato anche ad utilizzare il classico protocollo TCP, con quello mi complico solo la vita? [/quote:1zk7vuju] Il protocollo TCP è enormemente più leggero, sicuro e non ha bisogno di server esterno...però lo devi saper gestire creando un tuo server e i vari client, devi utilizzare un protocollo per scambiare i dati visto che, a differenza del DataSocket, i dati comunicati non hanno informazioni di tipo esplicite legate al valore trasmesso visto che tutto è una stringa..etc. Secondo me ti conviene continuare con il DataSocket visto che è più semplice , soprattutto con l'ottica di server non fisso che vuoi ottenere, e che, probabilmente, per un giochino in LAN non hai problemi di risorse. BYE. ---------------------------------------- AUTORE: 201 DATA :26/01/2005 - 12:59:34 ---------------------------------------- Ho realizzato una VI che mi dice quanti client sono connessi ad un server, o almeno teoricamente dovrebbe farlo, ma in pratica non lo fa! Allora ogni client appena si connette manda un 1 al server il quale lo inserisce in un array, nel programma principale del client, esso manda sempre sullo stesso \"canale\" uno 0 in modo che il server non lo inserisca nell'array, all'uscita della VI prima di chiudere il client manda un -1 al server che lo inserisce nell'array. Il server fa la somem degli elementi dell'array e questa dovrebbe restituire il numero di client connessi. Questo in teoria perchè come ho detto sopra invece non accade, funziona solo con un client, se ne aggiungo altri il server non riesce a ricevere nulla e non capisco perchè! Sicuramente sbaglio qualcosa nei tempi perchè non ho ben chiaro come funziona realmente il datasocket. ---------------------------------------- AUTORE: 113 DATA :26/01/2005 - 13:28:54 ---------------------------------------- Ciao, se scegli di utilizzare la strada del TCP/IP come ti è stato consigliato; allora devi dare un'occhiata agli esempi di LV riguardo TCP/IP. In particolare guarda Multiple Connections - Server /Client; fa quello che vuoi tu: in pratica il server resta in ascolto su un socket (port) tramite un while loop separato che ingloba la funzione TCP Wait on Listener. Il server registra tutti i client collegati ai quali invia l'informazione, in questo caso data e ora. Credo che sulla base di questo metodo tu possa risolvere il problema, ovviamente i client ed il server devono condividere uno stesso socket. ---------------------------------------- AUTORE: 201 DATA :26/01/2005 - 13:43:15 ---------------------------------------- Si ma in quel caso non saprei da chi sto ricevendo il dato e quindi non posso usarlo. Se riuscissi a risolvere questo potrei usarlo! ---------------------------------------- AUTORE: 113 DATA :26/01/2005 - 15:54:32 ---------------------------------------- Potresti fare in modo che il client invii alla prima connessione il proprio nome tramite un comando di TCP Write. Il server dovrebbe poi associare alle Connection ID i nomi dei client collegati. Richiede qualche modifica all'esempio, ma è fattibile. ---------------------------------------- AUTORE: 401 DATA :27/01/2005 - 09:22:46 ---------------------------------------- Immagino che il canale che usano i client per inviare 1,0 e -1 è lo stesso per tutti. Se fosse così devi assicurarti che su tale socket sia permesso l'accesso multiplo in scrittura, altrimenti ci scrive solo il primo. Ciao ---------------------------------------- AUTORE: 201 DATA :27/01/2005 - 10:51:18 ---------------------------------------- [quote="mais76":1i8cvl1d]Immagino che il canale che usano i client per inviare 1,0 e -1 è lo stesso per tutti. Se fosse così devi assicurarti che su tale socket sia permesso l'accesso multiplo in scrittura, altrimenti ci scrive solo il primo. Ciao[/quote:1i8cvl1d] Si esatto il canale è lo stesso. Ho settato come mi hai consigliato ma non è cambiato nulla, solo il rpimo che avvio mi scrive l'1 e solo l'ultimo che stacco mi scrive il -1! Raga mi potete spiegare come funziona il meccanismo del TCP con connessioni multiple che per quanto mi sforzo di capire l'esempio proposto, non ci salto fuori! \":(\" ---------------------------------------- ================================================================================ Temporizzatori ================================================================================ AUTORE: 24 DATA :24/01/2005 - 14:15:27 ---------------------------------------- Avrei bisogno di comandare un boleano dopo un tempo scaduto dal cambio di stato di un altro boleano. Cioè i classici temporizzatori ritardati alleccitazione ealla diseccitazione. Qualcuno può aiutarmi. ---------------------------------------- AUTORE: 247 DATA :27/01/2005 - 23:27:13 ---------------------------------------- Ciao, ti suggerisco questa soluzione anche se mi sembra troppo semplice... Se hai necessità particolari prova a descriverle e poi provvediamo; personalmente mi sono venute in mente soluzioni molto più complicate ma la cose semplici sono sempre le migliori (quando funzionano...) BYE. ---------------------------------------- AUTORE: 24 DATA :28/01/2005 - 08:47:24 ---------------------------------------- Innanzitutto ti ringrazio per l'interessamento. IL temporizzatore funziona , ma ha un problema: ritarda l'uscita bool come impostato nel numeric, sia nello cambio stato dl boleano da 0 ad 1 che da 1 a0. Normalmente il temporizzatore ritarda quando il bool cambia da 0 ad 1 e mette immediatamente il boleano temporizzato a 0 quando il bool di ingresso va a 0. Penso che sia facilmente risolvibile questo problema, il problema maggiore però è che utilizzando questo vi come sub in un altro vi , quando il sub vui va in eleborazione, mi arresta il ciclo while principale, arrestando per il tempo impostato nel numer l'esecuzione di altre parti di programma nel vi principale. Come possiamo fare a creare un temporizzatore che non arresti l'esecuzione dei vi? ---------------------------------------- AUTORE: 113 DATA :28/01/2005 - 10:12:14 ---------------------------------------- Sulla strada spianata da Apollon e visto le tue richieste, ti ho fatto un esempio che dovrebbe risolvere il problema. Come vedi il while loop principale non viene bloccato dalla generazione del ritardo. ---------------------------------------- AUTORE: 24 DATA :28/01/2005 - 13:40:25 ---------------------------------------- Ok centrato il bersaglio.Il vi ritardo funziona a dovere. Quindi questo è un relè che ritarda l'eccitazione di un bool. Come lo trasformiamo in un relè ritardato alla diseccitazione? Mi spiego meglio : con un bool di ingresso, mando ad uno il bool di uscita, quello temporizzato.Quindi bool di in ad 1 e bool di out ad 1. Ora metto a zero il bool di in, dopo un certo tempo il bool di out deve tornare a zero, cioè ritardo alla diseccitazione. Grazie molte . ---------------------------------------- AUTORE: 247 DATA :28/01/2005 - 20:49:33 ---------------------------------------- Ciao, non volevo modificare il VI di Alberto.L per adattarlo alle tue richieste, quindi ho fatto qualcosa di mio. Dovrebbe fare esattamente quello che chiedi, però ti avviso, ho il brutto vizio di usare le portaerei per schiacciare le formiche (è solo un modo di dire, io non vado in giro a schiacciare formiche e non ho una portaerei \":D\" \":D\" \":D\" )...tutto questo per dire che forse la mia soluzione è troppo complicata per quello che deve fare alla fine, cmq io mi diverto così...decidi tu, le spiegazioni le ho aggiunte nel codice. BYE. IL VI E' STATO MODIFICATO! VEDI POST SUCCESSIVO! ---------------------------------------- AUTORE: 24 DATA :29/01/2005 - 18:29:16 ---------------------------------------- Veramente grandioso, soluzione complessa , ma efficace. Molte grazie per la collaborazione, c'è sempre da imparare su questo forum. ---------------------------------------- AUTORE: 247 DATA :30/01/2005 - 00:39:23 ---------------------------------------- Ciao, ho modificato il VI che avevo proposto precedentemente perchè in realtà, come era prima, funzionava solo con un pulsante invece che con n pulsanti; questa nuova versione funziona a dovere con quanti pulsanti vuoi. Sorry per la \"svista\" o \"cannata\" che dir si voglia. BYE. P.S. Giusto per \"curiosità\": mi è venuto in mente che il VI poteva essere, ed era errato, stasera mentre bevevo al pub...mah...cmq terribile angoscia \":o\" e nuda e cruda realtà. \":D\" ---------------------------------------- AUTORE: 24 DATA :05/02/2005 - 11:07:17 ---------------------------------------- Scusate il ritardo sono stato fuori in germenia per un corso su alcune nuove macchine con un nuovo controllo numerico cnc. Molte grazie dell'interessamento , apprezzo di questo forum la serietà e professionalità di ogni singolo componente del gruppo. \":lol:\" ---------------------------------------- ================================================================================ CHIUSURA VI COME APPLICAZIONI WINDOWS ================================================================================ AUTORE: 437 DATA :25/01/2005 - 12:42:57 ---------------------------------------- Salve, Sto creando un v.i. e l'ho impostato come Windows apparance (Dialog) , pero' ho visto che se chiudo il front panel tramite la X in alto a destra non si chiude l'esecuzione del VI stesso. Si puo' far in modo di terminare l'esecuzione di un vi tramite la X (in alto a destra come i programmi classici di windows) della finestra di dialogo ? GRazie ---------------------------------------- AUTORE: 129 DATA :25/01/2005 - 14:30:08 ---------------------------------------- Io ho fatto qualcosa del genere utilizzando l'evento close panel? della event structure. Ti allego un immagine del diagramma.. ---------------------------------------- ================================================================================ Formattazione numero in stringa ================================================================================ AUTORE: 238 DATA :25/01/2005 - 15:26:15 ---------------------------------------- Eccomi di nuovo con un piccolo problema: Non riesco a formattare (senza un casino di passaggi) un valore numerico, per esempio -1234,56 in formato stringa “-1.234,56” con numero di decimali settabili ? (-1.234,5) Devo dire che non trovo delle spiegazioni chiare per quel che riguarda “format string” ---------------------------------------- AUTORE: 247 DATA :26/01/2005 - 08:19:21 ---------------------------------------- Ciao, per ottenere un numero di decimali definito utilizzando la funzione format string devi utilizzare questa stringa di formattazione: %.Xf dove X sono i numeri dopo la virgola che vuoi mantenere. Attualmente non so però come si faccia ad inserre in automatico il punto per separare le terne di potenze di 10 (migliaia, milioni etc..) \":D\" BYE. P.S. l'help non è in effetti molto chiaro, io ad esempio provo ad impostare qualche parametro nel pannello di creazione automatico della stringa e ragiono sulla stringa di formattazione che mi fornisce, a posteriori, per capire come la costruisce e poi modificarla a mio piacimento. ---------------------------------------- ================================================================================ Report tempi SubVI ================================================================================ AUTORE: 295 DATA :26/01/2005 - 09:34:53 ---------------------------------------- Ciao, \":D\" devo velocizzare il più possibile un VI piuttosto grosso che ho scritto, ma non so bene su cosa agire. Vorrei capire quali subVI assorbono +' tempo, ma evitare di inserire funzioni tipo \"Tick count\" per ogni subVI. \":?\" Esiste un modo di creare un file del tipo \"data.log\" in cui vengono riportate le istruzioni eseguite ed i loro tempi? Grazie, e ciao a tutti. \":D\" ---------------------------------------- AUTORE: 247 DATA :26/01/2005 - 10:24:43 ---------------------------------------- Ciao, l'unico tool disponibile in ogni versione di LV che ti consenta di ottenere informazioni sui tempi di esecuzione di ogni subVI e VI è [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/732CEC772AA4FBE586256A37005541D3?opendocument#1:190w3skw]VI Profile[/url:190w3skw] (lo trovi in Tools»Advanced»Profile VIs); anche se [url=http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/b77a6691d8fdb17e86256e2b007cfe09?OpenDocument:190w3skw]qui[/url:190w3skw] viene riportato un suo PICCOLISSIMO difetto... I risultati dell'analisi sono salvabili in un file .txt. Cmq ti fornisce informazioni sul tempo di esecuzione dei vari VI, non conosco tool che arrivino a determinare il tempo di esecuzione di ogni singola istruzione; il più preciso cmq è il tool a pagamento chiamato [url=http://sine.ni.com/apps/we/nioc.vp?cid=13746&lang=US:190w3skw]Execution Trace Toolkit[/url:190w3skw], ma non penso che tu debba arrivare a tanto. BYE. ---------------------------------------- AUTORE: 295 DATA :27/01/2005 - 08:46:06 ---------------------------------------- Grazie, è ciò che mi serviva!! \":D\" ---------------------------------------- ================================================================================ Raccomanda ILVG ad un Amico! ================================================================================ AUTORE: 4 DATA :26/01/2005 - 16:20:09 ---------------------------------------- [b:1z2kw4ni]ILVG ti piace? ILVG ti è utile?[/b:1z2kw4ni] Allora [url=http://www.ilvg.it/forum/recommend.php:1z2kw4ni][b:1z2kw4ni]Raccomandalo ad un Amico![/b:1z2kw4ni][/url:1z2kw4ni] Bastano pochi secondi. ---------------------------------------- AUTORE: 624 DATA :24/03/2005 - 18:33:01 ---------------------------------------- Ok, lo farò \":lol:\" ---------------------------------------- AUTORE: 480 DATA :14/04/2005 - 12:26:27 ---------------------------------------- Appena fatto!!! ---------------------------------------- AUTORE: 963 DATA :07/12/2005 - 07:54:04 ---------------------------------------- Appena fatto.. \":P\" ---------------------------------------- ================================================================================ Esistono Driver di webcam per l'Imaging? ================================================================================ AUTORE: 482 DATA :28/01/2005 - 10:06:11 ---------------------------------------- ..ma ciao! ...allora devo riciclare una telecamera ad infrarossi con l'uscita video PAL normalissima... La questione è che 650€ per prendere un frame grabber e acquisire ste immagini non me li danno. Quindi volevo utilizzare una scheda o di acquisizione TV oppure realizzare qualcosa in modo tale da far risultare la telecamera come una webcam e poi andare a riprenderla in Labview. Per prendere una webcam in abview si deve lavorare sulle API di windows ma nonsaprei da dove partire per trovare la procedura giusta. quindi la domanda è: Conoscete dei produttori di framegrabber VERAMENTE lowcost con driver per labview?? Oppure avete idea di come acquisire in labview una sorgente video che non arriva da un framegrabber? (meglio se non è un continuo salvataggio di immagini singole \":o\" \":lol:\" ) ---------------------------------------- AUTORE: 247 DATA :28/01/2005 - 12:27:22 ---------------------------------------- Ciao e benvenuto! Penso che la soluzione giusta per te, e veramente LOW COST, sia quella di utilizzare un convertitore PAL-usb o PAL-Firewire per rendere disponibili al PC le immagini senza frame-grabber e poi utilizzare alcuni VI di LV per gestire le immagini. Il convertitore non penso che possa costarti più di 100 euro (cacchio, un game cube costa 99!!!:D ) I VI per acquisire immagini con quelle che vengono viste come \"webcam\" usb o firewire li puoi trovare, GRATIS o a buon prezzo, seguendo i link qui sotto: [url=http://www.cs.unc.edu/~parente/labview/index.shtml:2cv5lldx]LabVIEW Webcam Library[/url:2cv5lldx] (Free) [url=http://www.hytekautomation.com/Products/IVision.html:2cv5lldx]IVision Package[/url:2cv5lldx] (pay ma consente di acquisire da moltissime fonti, anche TV tuner...funzionerebbe con subito con la tua PAL?) Inoltre potrebbero tornarti utili questi link: [url=http://www.bettervi.com/mlink/niweek/ML_DIP_Overview.pdf:2cv5lldx]Digital Image Processing using Mathematica Link for LabVIEW[/url:2cv5lldx] [url=http://labview.epfl.ch/QT/QTVis.html:2cv5lldx]QuickTime VIs[/url:2cv5lldx] Personalmente per \"provare in modo casalingo\" l'acquisizione e analisi di immagini avevo pensato alle nuove webcam firewire tipo [url=http://www.orangemicro.com/ibot.html:2cv5lldx]iBOT FireWire Web Cam[/url:2cv5lldx]che dovrebbero garantire una resa decente a prezzi irrisori. BYE e facci sapere come và, magari se hai temo scrivici un articolo sulla tua esperienza, saremmo felici di poterlo pubblicare! \":D\" P.S. Hack the Planet! \":D\" ---------------------------------------- AUTORE: 113 DATA :11/02/2005 - 18:11:16 ---------------------------------------- Buone notizie! Ho scaricato la libreria QuickTime VIs, dai primi test ho ottenuto buoni risultati. Ho installato QuickTime versione 6.5.2 e WinVDIG (vedi link della pagina web relativa). Utilizzo una webcam USB Creative. Ho provato la vi Demo_Grab.vi: le immagini vengono acquisite a 30fps con risoluzione 320X240. Sono visualizzate in un picture control di LV, quindi ci si può fare tante belle cosine... L'immagine è abbastanza fluida, solo un piccolo ritardo, tipico delle webcam. I controlli per la correzione dell'immagine sembra non abbiano effetto, da investigare meglio. Oltre alla vi provata ci sono tante altre vi interessanti per il controllo dei filmati e delle immagini. NOTA DOLENTE: praticamente non c'è documentazione, bisogna arrangiarsi! Il primo approccio è stato dunque positivo, spero che qualcun'altro abbia voglia di fare qualche prova e condividerne le esperienze! Sarebbe inoltre interessante contattare l'autore di tutto ciò per avere informazioni riguardo gli sviluppi del progetto. Alberto ---------------------------------------- AUTORE: 247 DATA :11/02/2005 - 19:22:10 ---------------------------------------- Ciao, proprio oggi pomeriggio ho provato le due librerie con una webcam della Trust (380 USB2.0 SPACEC@M) accreditata dal produttore di connessione usb 2.0 e 30 frame/s a 640x480: La Webcam Library mi dà qualche problema: - Non riesco a fargli vedere la webcam nonostante sia sicuro che la risoluzione ed il driver utilizzati siano giusti. (grab di una singola immagine). - Se provo ad avviare l'acquisizione di immagini video invece fà saltare direttamente LV. La QuickTime VIs library invece, dopo aver installato WinVDIG e aver controllato la presenza di QuickTime (stessa tua versione 6.5.2), ha funzionato a meraviglia al primo avvio della demo che hai provato anche tu (Demo_Grab.vi) e a me funzionano benissimo anche i vari controlli immagine. Unica dota dolente è che se apro QuickTime funziona ma non riesco più a chiuderlo, probabilemente LV si riserva qualcosa... Confermo e sottolineo la nota dolentissima della mancanza di documentazione, se provi a capire qualcosa dai VI..ti perdi nel milione di impostazioni video disponibili...mah, magari divento regista. BYE. ---------------------------------------- AUTORE: 113 DATA :11/02/2005 - 22:39:03 ---------------------------------------- Ciao Apollon, in effetti la Webcam Library anche a me da dei problemi, non mi fa saltare LV, ma mi fa vedere l'immagine come composizione di tre immagini molto piccole, anche cambiando la risoluzione. Ricordo però di averla provata parecchio tempo fa con la stessa webcam, ed allora funzionava correttamente; forse c'è qualche problema con i drivers per XP (quelli che sto usando ora). Comunque sul sito relativo viene fatto presente che chi ha creato questi esempi non ha più intenzione di aggiornarli... Per quanto riguarda il problema con QuickTime, a me stranamente non succede: mentre acquisisco le immagini, posso tranquillamente aprire QT e mandare in play un filmato; mah, misteri... Invece ti confermo che con la mia webcam i controlli dell'immagine non hanno effetto. Ho sfogliato un po' il codice e ho visto che in pratica il cuore di tutto è una CIN chiamata in QT_WinCall.vi. Certo che hanno fatto un gran bel lavoro! P.S. Hai visto la Demo_TransformImage.vi? Non male, no? Ciao, Alberto ---------------------------------------- AUTORE: 482 DATA :10/07/2007 - 09:23:47 ---------------------------------------- allora: 1) La wecam library nonmi acquisisce un bel niente...avevo dei dubbisul numero da mettere nel driver, ma poi ho messo un while che continuava ad incrementarlo e in nessuno dei casi la webcam funzionava. 2)Ho provato col Quicktime Vi ma il WinVDIG è irreperibile, non è che qualcuno riesce a passarmelo? (Quicktime invece ho la versione 713 3) Possibile che non esista una cacchio di libreria ufficiale e funzionante per le webcam USB senza dover intallare software esterni??!! tanto ormai quelle scrause usano tutte lo stesso chip. ---------------------------------------- AUTORE: 482 DATA :10/07/2007 - 09:35:46 ---------------------------------------- ma ma... \":o\" \":o\" \":o\" \":o\" \":o\" Perchè nessuno aveva messo questo link in questo topic?!?!?! http://sine.ni.com/devzone/cda/epd/p/id/5030 adesso si che si ragiona! \":wink:\" ---------------------------------------- ================================================================================ LabView e DataBase MS-ACCESS ================================================================================ AUTORE: 437 DATA :28/01/2005 - 12:32:41 ---------------------------------------- Salve a tutti, Sto tendando di sviluppare in labview 7.1 un VI che legga dei dati in un Database Access in remoto ( anche in locale) . Qualcuno mi puo' dare un'introduzione al problema e indicare qualche VI di esempio ,oppure della documentazione da seguire in merito? Cosa mi occore per gestire Database Access? labview 7.1 prevede gia' questa possibilita' ? Grazie ---------------------------------------- AUTORE: 482 DATA :28/01/2005 - 13:10:11 ---------------------------------------- ..ma ciao! beh per accedere ad un database di access basta usare gli activeX o Automation come si chiamano in Labview. L'alternativa è guardare negli esempi e c'e' un file che si chiama \"Retrieving data from access.vi\" e con quello riesci a prendere tutti i dati che vuoi. \"8)\" ---------------------------------------- AUTORE: 367 DATA :28/01/2005 - 14:11:53 ---------------------------------------- Ciao. Secondo me la cosa più sempolice è usare il database connectivity toolkit. Io lo uso spesso per salvare dati sia in locale che in remoto. Ogni tanto ci sono un pò di problemi per la sintassi delle query, ma nel complesso funziona discretamente. Saluti Mizio ---------------------------------------- AUTORE: 437 DATA :28/01/2005 - 16:31:43 ---------------------------------------- Dove posso trovare il database connectivity toolkit ? grazie ---------------------------------------- AUTORE: 247 DATA :28/01/2005 - 17:44:27 ---------------------------------------- Ciao, il LabVIEW Database Connectivity Toolkit è un toolkit a pagamento venduto da National Instruments; questo è il link alla pagina italiana dove, se vuoi puoi acquistarlo: [url=http://sine.ni.com/apps/we/nioc.vp?lang=US&cid=6429:cu9woskq]LabVIEW Database Connectivity Toolkit[/url:cu9woskq] BYE. ---------------------------------------- AUTORE: 129 DATA :30/01/2005 - 13:34:58 ---------------------------------------- Usare l'active-X ADO è quello che ti consiglierei io, gratuito e puoi connetterti a quanti database vuoi sfruttando i driver odbc a cui i maggiori sviluppatori di DB si allinenano. Puoi trovare un articolo su accesso a DB Mysql[url=http://lavausergroup.org/archives/ON/files/Using_MySQL_with_LabVIEW.pdf:336sc5kv]LAVA[/url:336sc5kv]. Oppure ti consiglio di scaricare le [url=http://www.jeffreytravis.com/lost/labsql.html:336sc5kv]librerie SQL di jeffrey travis[/url:336sc5kv] Con un pò di lettura risparmi un pò di soldini. ---------------------------------------- ================================================================================ Grafica LV ================================================================================ AUTORE: 247 DATA :01/02/2005 - 13:35:55 ---------------------------------------- Caio, se a qualcuno interessa sapere cosa è possibile realizzare in LV dal punto di vista grafico e senza sforzi eccezionali, consiglio di fare un giro su questo sito: [url=http://members.lycos.co.uk/sgctek/:zcehe8m8]SGCTek[/url:zcehe8m8]; si possono trovare esempi di fan, motori, display alfanumerici a 7 segmenti LED ...etc. BYE. ---------------------------------------- AUTORE: 129 DATA :01/02/2005 - 14:19:03 ---------------------------------------- Per il display, essendo protetto da password vi allego un vi di come secondo me lo hanno realizzato.... Perchè non lanciamo una sezioni Custom Controls dove i più creativi possono cimentarsi????MAgari possiamo anche fare il concorso \"Il miglior controllo di ILVG\" ....... \":wink:\" ---------------------------------------- AUTORE: 201 DATA :01/02/2005 - 17:08:44 ---------------------------------------- il display l'avevo già fatto pure io \":lol:\" :mibullo: \":P\" ---------------------------------------- AUTORE: 201 DATA :01/02/2005 - 17:17:08 ---------------------------------------- cavolo son davvero carini grazie x il link!!!! ---------------------------------------- AUTORE: 129 DATA :01/02/2005 - 17:18:28 ---------------------------------------- Ma anche tu l'hai fatto così oppure hai usato un altro metodo, postaci il tuo se vuoi. Vi allego il Joystik... Aspetto di vedere i vostri controlli ragazzi..... ---------------------------------------- AUTORE: 201 DATA :01/02/2005 - 18:56:03 ---------------------------------------- Ho realizzato la clessidra per simulare quando il pc è occupato. Non è chissà che ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 08:05:25 ---------------------------------------- \":wink:\" Grande Blow... Dai ragazzi, partecipate a questa gara artistica, postate il vostro controllo. Aspettiamo fiduciosi....... \"8)\" ---------------------------------------- AUTORE: 480 DATA :02/02/2005 - 08:24:18 ---------------------------------------- Scusate l'ignoranza, ma questa mi manca... parlo della realizzazione della clessidra!!! Chi mi da qualche chiarimento? Ho visto che la base di partenza è un indicatore di interi, ma poi come si fa ad associare ad ogni valore una immagine? Mi spiego meglio: se volessi avere ad esempio 4 posizioni ognuna con una sua immagine... cosa devo fare?!? Grazie! P.S.: va bene anche una spiegazione rapida... ad assegnare due immagini diverse per un controllo booleano ad esempio ci arrivo! ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 09:12:13 ---------------------------------------- Bene similmente al booleano, basta che utilizzi una picture ring o text & pict ring. Prendi l'immagine desiderata, o copiandola con ctrl-c oppure dal menu con impurt picture from file..... Ora tasto destro sul controllo e dal popup selezioni import picture, ripeti la cosa per gli altri fotogrammi della sequenza animata che vuoi realizzare, ovviamente per i successivi devi premere import picture after.... Ora con il pennello decolori tutte le parti che non vuoi visualizzare e il gioco è fatto.... Ci sono molti programmi che ti estraggono i fotogrammi dalle gif animate, oppure fai un bel lavoro di copia e incolla con il paint e il tasto stamp.... \":wink:\" Adesso ti puoi divertire ed inviarci i risultati del tuo talento grafico.... \":P\" Ah dimenticavo, ad ogni immagine è associato un numero, quindi inserendo quattro immagini realizzi un controllo da 0 a 4...... ---------------------------------------- AUTORE: 480 DATA :02/02/2005 - 09:15:16 ---------------------------------------- Ti ringrazio... mi mancava solo il passo della scelta del picture ring!!! Grazie! ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 12:26:34 ---------------------------------------- Ecco a voi una nuova creazione! un lled blu con luminosità variabile...almeno in teoria... \":D\" ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 12:33:18 ---------------------------------------- riprovo. ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 12:54:13 ---------------------------------------- Non ci sono allegati, Blow. Se hai provato ad allegare un .ctl, non è diposnibile, quindi devi zipparlo.... aspettiamo, fiduciosi \":D\" ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 13:03:42 ---------------------------------------- ah ho capito è che forse ho esagerato con la grandezza perchè sono 580 kb di vi \":P\" come posso fare? sono le immagini del leddone che occupano tanto ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 13:08:05 ---------------------------------------- le immagini che carichi sul controllo, le hai già compresse in gif? guarda anche la risoluzione che non sia troppo esagerata per un controllo che al massmo sarà 200x200px... ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 13:09:46 ---------------------------------------- no sn in psd, formato di photoshop, sn grandicelle in effetti ora le rifaccio spero non perdano troppo ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 13:49:49 ---------------------------------------- ecco l'ho modificato [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :02/02/2005 - 16:59:11 ---------------------------------------- una specie di potenziometro fatto a ruota \":)\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 247 DATA :07/02/2005 - 20:01:53 ---------------------------------------- Ciao, sempre per quanto riguarda la modifica grafica di controlli da utilizzare in LV consiglio questi due link a pagine del sito NI: [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/578A4B3772EC6EB1062569DF0063270F?opendocument:5xzj3ugo]Customizing Controls Using a Picture Ring[/url:5xzj3ugo] (Realizzazione di una scacchiera) [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/A9FBCAA7A3D7922186256A3000652B56?opendocument:5xzj3ugo]LabVIEW Custom Controls, Indicators, and Type Definitions[/url:5xzj3ugo] (\"teoria\" sulla customizzazione) E [u:5xzj3ugo]caldamente[/u:5xzj3ugo] questo: [url=http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B123AE0CBB78111EE034080020E74861&p_node=DZ52036&p_submitted=N&p_rank=&p_answer=&p_source=External:5xzj3ugo]Animating LabVIEW Controls[/url:5xzj3ugo] Scaricate il VI che trovate come esempio e provate ad aprirlo; con la mia versione di LV7.1 e 7.0 il VI, immediatamente, benchè non ancora in esecuzione, presenta i controlli animati nonostante sia in modalità edit! La cosa mi sembra molto strana e mi spaventa un pò; in più guardando il block diagram non me lo spiego...sarà che ho installato la maintenance release 7.1.1...o capita anche a voi? (P.S. L'indicatore high-low giustamente reagisce all'alzamento od abbassamento del controllo di soglia, cambiando stato, solo quando il VI è in esecuzione). BYE. ---------------------------------------- AUTORE: 201 DATA :07/02/2005 - 20:57:25 ---------------------------------------- Hanno usato una gif, ho fatto una prova guarda. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :07/02/2005 - 20:58:56 ---------------------------------------- Si possono inserire delle gif, anke comstumizzando dei controlli, come i pulsanti. ---------------------------------------- AUTORE: 247 DATA :07/02/2005 - 23:21:13 ---------------------------------------- Hai ragione, e io che già pensavo a qualche trucchetto da mago-G! ---------------------------------------- ================================================================================ popolamento listbox ================================================================================ AUTORE: 498 DATA :01/02/2005 - 22:27:39 ---------------------------------------- ciao a tutti, sono un neofita. Qualcuno sa dirmi come popolare una listbox a partire da un array? grazie \":D\" ---------------------------------------- AUTORE: 4 DATA :02/02/2005 - 08:07:26 ---------------------------------------- Ciao e benvenuto su ILVG! Ci sono diversi metodi quello più semplice è utilizzare la proprietà della listbox : \"ItemNames\". Tasto DX sulla listbox Create > Property Node Seleziona dal property node \"ItemNames\" Tasto DX sulla property node Seleziona 2CHange to Write\" Ora collaga il tuo array al property node ed il gioco è fatto. ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 08:09:55 ---------------------------------------- Ciao e benvenuto, devi usare la proprietà \"Item names\" e se vuoi i simbolini la \"item symbols\". Per creare la proprietà fai tasto destro sul controllo listbox e dal popup selezioni \"create property\" \":wink:\" ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 08:17:57 ---------------------------------------- Scusa Ale, ma ci siamo accavallati ..... Per info aggiungo solo che i simboli possono essere presi dalla costante listbox symbol ring, che si trova nella palette numerici. ---------------------------------------- AUTORE: 498 DATA :02/02/2005 - 15:32:32 ---------------------------------------- grazie a tutti per l'aiuto ---------------------------------------- ================================================================================ Esperienze con GOOP ================================================================================ AUTORE: 4 DATA :02/02/2005 - 11:36:11 ---------------------------------------- Avete mai provato a utilizzare il GOOP per i vostri progetti? In purtroppo non ho ancora avuto modo di metterlo sul campo tranne che per qualche piccolo esperimento. Mi piacerebbe sapere se qualcuno di voi l'ha mai utilizzato e che parere ne ha. Ciao, ---------------------------------------- AUTORE: 367 DATA :02/02/2005 - 12:42:28 ---------------------------------------- \":o\" Cos'è GOOP?? ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 13:04:18 ---------------------------------------- Goop= Graphical Object-Oriented Programming. vedi post [url=http://www.ilvg.it/forum/viewtopic.php?p=335&highlight=goop#335:35ab7og4]qui[/url:35ab7og4]. Potrai trovare una descrizione a questo indirizzo [url=http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/5d7db42c91f392fc86256aae00463d78?OpenDocument:35ab7og4]NI&Endevo Goop[/url:35ab7og4] e [url=http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&AC58A7633833CFF58625687E006C3B90:35ab7og4]qui[/url:35ab7og4] oppure su [url=http://www.openg.org:35ab7og4]openG[/url:35ab7og4] Io non ho mai utilizzato Goop, se qualcuno può inserire la sua esperienza, grazie \":wink:\" ---------------------------------------- AUTORE: 129 DATA :04/02/2005 - 17:20:31 ---------------------------------------- Volevo segnalare questo [url=http://forums.lavausergroup.org/index.php?showtopic=1109:2kx2et2y]post su LAVA[/url:2kx2et2y] in cui si discute di GOOP. In particolare mi è sembrato interessante il [url=http://forums.lavausergroup.org/index.php?act=Attach&type=post&id=897:2kx2et2y]change class Enum text.vi[/url:2kx2et2y] per modificare il testo degli enum da un altro VI.... ---------------------------------------- AUTORE: 554 DATA :22/02/2005 - 22:35:07 ---------------------------------------- Uso GOOP da molto tempo e devo dire mi trovo molto bene. Ti aiuta a pensare ed ad organizzare il tuo lavoro. Inoltre, se provi ad analizzare il software di qualcun'altro che usa GOOP la comprensione è molto più facile. ---------------------------------------- AUTORE: 4 DATA :28/02/2005 - 16:53:18 ---------------------------------------- mi potresti dire in breve per che tipo di applicazioni lo usi? e anche che tool utilizzi, quello semi-NI, quello VISTA o l'OpenGOOP? Io ho provato un pò tutti, il VISTA mi sembra il più completo (mooolto utile la possibilità di avere anche gerarchie di classi) ma anche il più costoso quindi mi sarei orientato a opengoop ma secondo me non è all'altezza... I problemi maggiori che riscontro (con tutte le versioni) sono quelli legati al debug i tool messi a disposizione non sono sufficienti e alla generazione delle classi il wizard per quanto buono (VISTA) si vede che è una cosa \"traballante\" e poco intuitivo. Per quanto mi sforzi di apprezzare questi tool continua a vedersi che sono \"appiccicati\" a LV e non nativi, secondo me la soluzione sarebbe che NI decidesse di supoportare definitivamente l'architettura GOOP in modo nativo all'interno di LV... sarebbe una bella rivoluzione ma l'apprezzarei molto e trasformerebbe LV in un ambiente di sviluppo moderno. Ciao ---------------------------------------- AUTORE: 554 DATA :28/02/2005 - 22:36:52 ---------------------------------------- Sono d'accordo con il tuo ultimo punto. Avere GOOP nativo, sicuramente sarebbe molto positivo. Inoltre NI usa GOOP in moltissimi VI interni. La versione che uso io è quella di NI. Io la trovo semplice e ben fatta. Forse le altre versioni sono più potenti, ma questa versione, secondo me, va bene in moltissimi casi. ---------------------------------------- AUTORE: 4 DATA :01/03/2005 - 16:10:48 ---------------------------------------- [quote:3d8j884y]Sono d'accordo con il tuo ultimo punto. Avere GOOP nativo, sicuramente sarebbe molto positivo. Inoltre NI usa GOOP in moltissimi VI interni. [/quote:3d8j884y] Finalmente trovo qualcuno che la pensa come me! ormai moltissimi VI seguono più una filosofia OO piuttosto che la \"vecchia\" DataFlow quindi sarebbe comodissimo avere la possibilità di programmare OO in LV (intendo dire creare i propri oggetti oltre ad usare quelli LV). A me personalmete il DataFlow inizia a stare stretto, sicuramente andava bene hai tempi in cui labview è nato e per i tipi di utilizzi a cui era dedicato ma ora, dopo 15 anni di sviluppo, LV è più simile ad un linguaggio di programmazione generico piuttosto che a un gestore di strumenti da laboratorio... inoltre tutti i linguaggi moderni sono a oggetti e i vantaggi di una simile filosofia sono ormai chiari a tutti infine l'accoppiamento di programmazione visuale e OO renderebbe LV uno strumento potentissimo, speriamo che un giorno o NI si decida a intergrare il GOOP nativamente in LV. \":wink:\" Ciao, ---------------------------------------- AUTORE: 531 DATA :31/03/2005 - 10:28:56 ---------------------------------------- interessante questo post \":-)\" Personalmente ho provato il goop di lv (quello che si scarica dal sito gratuitamente), ma l'ho trovato un po' complesso, o meglio non di immediata comprensione. Condivido con voi comunque che per applicazione un po' complesse una mentalità OO comincia ad essere necessairia. però mi domando: la maggior parte delle applicazioni sono veramente complesse o richiedono funzionalità che possono essere implementate tranquillamente anche con il DataFlow (ovvero un linguaggio imperativo)? ciao a tutti. Daniele ---------------------------------------- AUTORE: 15 DATA :01/04/2005 - 13:14:53 ---------------------------------------- \":!:\" [quote:1769tc1d] la soluzione sarebbe che NI decidesse di supoportare definitivamente l'architettura GOOP[/quote:1769tc1d] Parole sante! sarebbe veramente un enorme passo avanti. Nella classifica dei desideri sulle modifiche da fare a labvio io lo metto al numero 1 \":?:\" [quote:1769tc1d]Inoltre NI usa GOOP in moltissimi VI interni. [/quote:1769tc1d] mitico, dove ad esempio? sarebbe bello poter attingere ad una serie di oggetti ed esempi Goop già fatti. Vista la grande riciclabilita di questo tipo di codice. Per animamea e altri che volessero provare Goop non posso far altro che rimandare ai link segnalati da Nicola, visitateli!! risparmierete tempo, dato che i vari tool hanno ancora qualche aspetto poco intuitivo ed è bene basarsi sull'esperienza di chi li ha già usati. Ciao Rom ---------------------------------------- ================================================================================ aiuto sui semafori ================================================================================ AUTORE: 387 DATA :02/02/2005 - 15:00:56 ---------------------------------------- salve a tutti \":)\" mi è capitato piuttosto spesso di imbattermi in VI che fanno uso di semafori; per saperne di + sono andato a vedere l'esempio di labview Semaphore with SubVIs \":?:\" Ciò che non mi è chiaro è l'ordine di esecuzione dei 3 vi. Poniamo che uno di loro sia in esecuzione, finchè è in esecuzione gli altri 2 sono in attesa; quando il vi rilascia il semaforo quale degli altri 2 se lo aggiudica? Non riesco a capire come venga stabilita la sequenza. E' forse lo stesso LV che tiene il conto delle chiamate e permette di eseguire tutti e 3 i vi senza tornare 2 volte sullo stesso? ringrazio chiunque abbia suggerimenti o materiale da consigliare Ciao ---------------------------------------- AUTORE: 4 DATA :03/02/2005 - 13:29:57 ---------------------------------------- Ciao, Semplicemente non puoi saper quale delle due funzioni in attesa eseguirà perchè le funzioni semaforo non gestiscono il concetto di sequenzialità degli accessi ma gestiscono solo il muto accesso. Se guardi l'esempio di LV sui semafori i 3 VI che plottano un grafico eseguono in sequenza casuale perchè non c'è nessuna gestione della sequenza e loro sono 3 loop paralleli e indipendenti. Per implementare una sequenzialità ti consiglio di usare le occorrenze, il primo VI che deve eseguire genera l'occorrenza attesa dal secondo. Ciao, ---------------------------------------- ================================================================================ Comandi GP-IB di uno strumento senza manuale ================================================================================ AUTORE: 479 DATA :02/02/2005 - 16:18:55 ---------------------------------------- Sto cercando di utilizzare uno scrambler di polarizzazione della E-TEK oramai fuori produzione di cui è andato perso il manuale. Non conosco quindi i comandi GP-IB dello strumento. C'è qualcuno che sa come poter ricavare questi comandi magari con qualche query allo strumento? Grazie, ciao ---------------------------------------- AUTORE: 129 DATA :02/02/2005 - 16:37:42 ---------------------------------------- Prova ad utilizzare READ? o DATA? ---------------------------------------- ================================================================================ Cpu 100% ================================================================================ AUTORE: 499 DATA :03/02/2005 - 10:00:52 ---------------------------------------- Salve a tutti, ho realizzato un programma di supervisione e testato il tutto all'interno dell'ambiente di sviluppo (LV 7.1). Tutto OK con percentuali di lavoro della cpu molto basse. Ho costruito l'eseguibile e, una volta installato il software sul pc di test ho notato che la cpu lavora al 100 % (contrariamente a quanto succede nell'ambiente di sviluppo). Puntualizzo che non sto utilizzando nè il DSC nè driver VISA o DAQ. Grazie a tutti e spero in qualche suggerimento... \":)\" ---------------------------------------- AUTORE: 482 DATA :03/02/2005 - 10:49:10 ---------------------------------------- ...non è che c'e' qualche ciclo in parallelo temporizzato male? mi pare che nell'esecuzione in ambiente di sviluppo questa cosa viene compensata dal debugger.... ---------------------------------------- AUTORE: 201 DATA :04/02/2005 - 17:31:31 ---------------------------------------- Ne approfitto perchè ho un problema anche io. In pratica ho un while loop temporizzato, nel while loop ho diversi registri shift di array di cluster di array.Quando si riempiono un po' questi array, mi sale il lavoro della cpu a 100% come mai? non penso faccia così fatica ad elaborare quei dati, che per lo più non vengono toccati se non quando si ha un particolare evento, visto che c'è un event structure. ---------------------------------------- ================================================================================ recupero vi corrotti ================================================================================ AUTORE: 129 DATA :03/02/2005 - 11:17:25 ---------------------------------------- Mi è capitato di aprire un vi, e non riuscirlo ad aprire. vi allego messaggio di errore. Qulacuno ha delle dritte da darmi per riuscire a recuperarlo? Grazie ---------------------------------------- AUTORE: 129 DATA :03/02/2005 - 11:32:32 ---------------------------------------- Anche questo msg, dopo ---------------------------------------- AUTORE: 247 DATA :03/02/2005 - 11:32:51 ---------------------------------------- Ciao, in [url=http://forums.ni.com/ni/board/message?board.id=170&message.id=71409:3mogfd2e]questo post[/url:3mogfd2e] sul forum ufficiale di LV d'oltre oceano, un Application Engeneer di NI, proprio nel caso in cui si riceva un \"error 16\" all'apertura di un VI, consiglia di: 1- provare ad aprirlo con un'altra versione di LV. 2- provare ad inserirlo come come subVI in un'altro e poi tentare di aprirlo con un doppio click sull'icona del subVI nel block diagram. 3- provare l'apertura su un'altra macchina. ...Ultima soluzione proposta se nulla funziona nulla di quanto precedentemente proposto: prova a spedirlo ad NI che tentano di scardinarlo loro! BYE. ---------------------------------------- AUTORE: 129 DATA :03/02/2005 - 11:38:34 ---------------------------------------- Grazie,mille Tutte provate ma nessuna funziona, il bello che i subVI si aprono tutti... Mando il file a NI e speriamo bene.... \":oops:\" ---------------------------------------- ================================================================================ OCR: Salvataggio parametri multi-sessione ================================================================================ AUTORE: 295 DATA :03/02/2005 - 11:27:20 ---------------------------------------- Ciao, ho un probrelma pratico con l'OCR. Da quanto ho capito tutti i caratteri che devono essere letti devono essere prima trainati e salvati in un file .acb. Il problema è che non ho la possibilità di avere da subito l'intero alfabeto, ma solo una parte. Può passare anche un mese e diverse centinaia di prodotti prima che riesca a coprire tutto l'alfabeto (alfanumerico). Oltre a questo c'è anche il pb che se rifaccio il train epr le rimanenti lettere non riesco ad appendere i parametri trainati in coda a quelli salvati nel file .acb. Pertanto per non sovrascrivere l'intero file dovrei creare un nuovo file per ogni aggiunta (molto scomodo). Soluzione alternativa è quella di fare un patch tra le immagini salvate tagliando ed incollando tutte le lettere in un'unica immagine, fare il train e salvare tutto in un file .acb. Questo però implica di avere un escape del test elevato fintanto che non copro tutto l'alfabeto e creo il patch delle immagini. Qualcuna ha idea di come uscirne? Grazie e ciao a tutti. ---------------------------------------- ================================================================================ Creare file di Excel solo se non esiste gia ================================================================================ AUTORE: 471 DATA :03/02/2005 - 14:39:47 ---------------------------------------- Ciao a tutti!!! Sono nuovo qui... e anche come utente di LV quindi sto un pò inguaiato!!! \":D\" Il mio problema è il seguente: ho usato gli Activex per creare un file di excel in una VI che sistematicamente va ad aggiornarlo. Il problema è che ogni volta che avvio la VI il prog cerca di crearmi il file, che se già esiste mi fa comparire il dialog \"The file do you want to create already exsists. Do you want to replace it?\" Vorrei fare in modo che la prima volta mi crei il file, mentre se gia esiste semplicemente non lo crea senza che mi esca il dialog tutte le volte. C'è un modo (un metodo o proprietà del worksheet) che mi permette di fre ciò?? Vi avviso che nn mi intendo molto di activex........ Allego la VI che crea il file e ci scrive qualcosa... mi dite come modificarla?? Grazie raga!!! ---------------------------------------- AUTORE: 129 DATA :03/02/2005 - 15:41:24 ---------------------------------------- Hai usato il metodo Add, non puoi usare il metodo open?, quindi utilizzare e gli inserisci la path? Non sapendo che versione di LV usi ti allego un immagine del codice modificato... ---------------------------------------- AUTORE: 471 DATA :04/02/2005 - 14:43:30 ---------------------------------------- Grazie per l'aiuto ma sembra che il problema stranamente si ripresenta più avnti nel programma. Ho usato la modalità debug (la lampadina!) per vedere quale blocco mi dava il prompt e ho visto che è il blocco salva a chiedermi se voglio sostituire il file. Poi il blocco successivo di quit mi richiede di salvare.... .. è un bel casino! \":?\" In ogni caso io uso LV 7.1.. ti rinvio la VI così se puoi darci un occhio... \":wink:\" Scusa se rompo!!! Grazie ---------------------------------------- AUTORE: 129 DATA :04/02/2005 - 15:22:37 ---------------------------------------- Ti ho dovuto fare un pò di modifiche perchè se no da me non funzionava... Se ti può essere di aiuto guarda anche questa [url=http://www.ilvg.it/forum/viewtopic.php?t=532:39a71hgv]discussione[/url:39a71hgv] ---------------------------------------- AUTORE: 482 DATA :07/02/2005 - 09:32:44 ---------------------------------------- ..ma ..e se provi usando le normali funzioni di read e write spreadsheet file e lo salvi come .xls? ---------------------------------------- AUTORE: 129 DATA :07/02/2005 - 10:04:13 ---------------------------------------- Anche io ti consiglierei di utilizzare queste funzioni, tranne se devi inserire in celle specifiche. ---------------------------------------- AUTORE: 471 DATA :07/02/2005 - 10:40:38 ---------------------------------------- Nicola grazie dell'aiuto! Purtroppo non posso vedere se la VI funziona bene perchè sono fuori citta momentaneamente e riprendo a lavorare solo lunedì prox. Non posso usare un semplice spreadsheet file perchè l'azienda mi ha chiesto un format preciso per l'uotput dei dati....... In ogni caso ti faccio sapere appena possibile!!! \":D\" ---------------------------------------- AUTORE: 482 DATA :07/02/2005 - 11:31:42 ---------------------------------------- ..non sose hai il Repot Toolkit. Se ce l'hai puoi usare quello utilizzando le funzioni per inserire dati in un template in alternativa. ---------------------------------------- ================================================================================ finestre popup ================================================================================ AUTORE: 498 DATA :03/02/2005 - 20:12:05 ---------------------------------------- Ciao a tutti, è possibile creare finestre di popup con labview? ---------------------------------------- AUTORE: 247 DATA :03/02/2005 - 20:50:33 ---------------------------------------- Ciao, è senz'altro possibile realizzare finestre pop-up in LV; leggi questo vecchio post: [url=http://www.ilvg.it/forum/viewtopic.php?t=539&start=0&postdays=0&postorder=asc&highlight=:290o0kb2]Posizionamento del cursore sul „digital control“[/url:290o0kb2] , trovi in allegato un esempio di finestra PopUp utilizzata per far inserire un valore numerico in un controllo ad un operatore tramite proprio una finestra visualizzata come popup. Se hai esigenze particolari chiedi pure. BYE. ---------------------------------------- AUTORE: 498 DATA :17/02/2005 - 21:20:47 ---------------------------------------- Ho fatto un semplice esperimento con il pop up, ma xchè non funziona il pulsante di stop? ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 21:32:44 ---------------------------------------- Non funziona perchè l'event structure impostato così blocca il ciclo while, il quale esegue un ciclo solo quando si verifica l'evento, quindi o inserisci un timeout (colleghi l'ingresso con la clessidra) in modo che il while loop funzioni anche senza il verificarsi dell'evento, o inserisci nell'event structure un altro evento, precisamente il cambio di valore di STOP. ciao ---------------------------------------- ================================================================================ Personalizzare le voci della legenda di un grafico ================================================================================ AUTORE: 481 DATA :07/02/2005 - 16:49:53 ---------------------------------------- Salve a tutti, avrei bisogno di sapere se vi risulta sia possibile editare le voci della legenda di un plot o un chart, utilizzando le proprietà dell'oggetto ossia da property node. Da una prima analisi mi sembrerebbe di no. Lo chiedo perchè dovrei impostare quelle voci a valori ben definiti (ad esempio \"Water Temp\" per il rpimo plot e \"Gas Pressure\" per il secondo). In alternativa qualcuno conosce un metodo per ottenere un risultato analogo??? Grazie in anticipo per l'attenzione e l'eventuale risposta Massi \":o\" ---------------------------------------- AUTORE: 4 DATA :07/02/2005 - 17:01:44 ---------------------------------------- Ciao e Benvenuto. Certo, i nomi dei plot possono essere modificati programmaticamente e in fase di editing. Puoi utilizzare un codice del genere, in pratica devi utilizzare la proprietà \"Active Plot\" per specificare su quale plot vuoi agire e poi la proprietà \"Plot Name\" per modificare il nome del plot attivo. Ciao, ---------------------------------------- AUTORE: 481 DATA :08/02/2005 - 11:14:43 ---------------------------------------- [quote="Ale914":2yluno7a]Ciao e Benvenuto. Certo, i nomi dei plot possono essere modificati programmaticamente e in fase di editing. Puoi utilizzare un codice del genere, in pratica devi utilizzare la proprietà \"Active Plot\" per specificare su quale plot vuoi agire e poi la proprietà \"Plot Name\" per modificare il nome del plot attivo. Ciao,[/quote:2yluno7a] Grazie e complimenti per l'iniziativa. Appena finisco di installare le patch e di mass compilare tutto faccio subito una prova. Mi hai dato una bella salvata appena prima che comunicassi al cliente che non era possibile personalizzare la legenda \":P\". Spero di poter intervenire anche io prossimamente in modo altrettanto proficuo. Grazie ancora ---------------------------------------- ================================================================================ Principiante : Come avere in un grafico °C e Volt ================================================================================ AUTORE: 272 DATA :08/02/2005 - 17:57:45 ---------------------------------------- premessa : ho appena finito di installare l'hw e lab view. Sono in assoluto alla mia prima esperienza con questa tipologia di sw.. per cui non date per scontato nessun concetto \";)\" Come prima \"applicazione\" voglio creare un semplicissimo datalogger per registrare segnali da termocoppie, 0-10Vdc e 0-20 mA. Vista la mia ignoranza mi sono affidato totalmente al DAQAssistant per creare l'acquisizione delle termocoppie. Fin qui nessun problema... peccato che non riesca ad aggiungere un segnale acquisizione di un segnale 0-10 Vac nello stesso \"assistente\". Se creo un secondo DAQAssistant per le tensioni 0-10Vac il VI non funziona (Error 50103 The specified resurce is reserved). Le termocoppie e gli ingressi 0-10 Vdc sono collegati tutti sulla SCXI1102. Utilizzo LabView 7.1 con DAQmx + PCI6024E + SCXI1102 Scusate per la banalità... e grazie in anticipo per il tempo che mi dedicate. ---------------------------------------- AUTORE: 247 DATA :09/02/2005 - 12:36:30 ---------------------------------------- Ciao e benvenuto! [quote:2g053bsj]... peccato che non riesca ad aggiungere un segnale acquisizione di un segnale 0-10 Vac nello stesso \"assistente\"[/quote:2g053bsj] Per risolvere questo problema dovresti dire che versione di NI-DAQ stai utilizzando: la versione 7.2 infatti non consente di avere all'interno dello stesso task acquisizioni di segnali di tipo diverso(voltage e temperature son due \"tipi diversi\"), ovvero con il 7.2 non puoi aggiungere al task delle tue termocoppie di tipo \"temperature\", l'acquisizione del segnale di tipo \"voltage\" Vac. Puoi risolvere il problema aggiornando il driver alla versione 7.3 scaricandola seguendo questo link, sempre che tu non abbia CD che la contengono: [url=http://search.ni.com/query.html?col=alldocs&qp=+%2BProductLine%3A41+%2BDownloadType%3A%22NI-DAQ%22+%2BVersion%3A%227.3%22+%2BOSType%3A%22Windows+XP%22+%2Bcontentformat%3Asoftwarelib&layout=SoftLib:2g053bsj]NI-DAQ[/url:2g053bsj] Dopo l'installazione dovresti esser in grado di aggiungere l'acq. Vac al task delle termocoppie. [quote:2g053bsj]Se creo un secondo DAQAssistant per le tensioni 0-10Vac il VI non funziona (Error 50103 The specified resurce is reserved)[/quote:2g053bsj] L'inserimento del secondo DAQ-Assistant non funziona e dà errore perchè ogni DAQ-Assistant, quando viene \"chiamato\" o mandato in esecuzione, si riserva le risorse hardware di cui ha bisogno in toto, ovvero rende la scheda indisponibile all'utilizzo da parte di altri, eventuali altri DAQ-Assistant paralleli compresi (Error 50103 The specified resurce is reserved...appunto). La cosa funzionerebbe invece se li mettessi in serie (consigliata la dipendenza tramite error cluster) ed eseguissi il secondo solo quando sei sicuro che il primo abbia finito e rilasciato tutte le risorse: per rilasciare le risorse devi stoppare il task in modo corretto aggiungendo un controllo all'ingresso di stop, nel tuo VI non lo hai utilizzato (aggiungilo come nell'immagine sotto). Sul sito NI c'è questo esempio che può esserti di aiuto: [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=CA272F2D99585A8AE034080020E74861&p_node=200509&p_source=External:2g053bsj]NI-DAQmx: Creating an Analog Input Task with Multiple Measurement Types[/url:2g053bsj] Questa è la descrizione dell'errore che ottieni: [color=darkblue:2g053bsj] Error code: - 50103 Description: The specified resource is reserved. The operation was completed by ignoring or overriding the specified resource. Possible cause: The device is in use by another program/VI, or a previous DAQ task did not release the device resources. Solutions: Make sure you have freed the device for use by another program or task instance. For example, you might not have wired a stop condition to a DAQ Assistant Express VI configured for single point acquisition.[/color:2g053bsj] E queste sono le pagine che puoi consultare se hai ancora dubbi o qualcosa non funziona: [url=http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/04bedd9e9e91ed3486256d180048116d?OpenDocument:2g053bsj]Why Do I Get Error -50103 When Using Multiple DAQ Assistant Express VIs?[/url:2g053bsj] [url=http://digital.ni.com/public.nsf/websearch/4D2E6ABCF652542186256F04004FDAC3?OpenDocument:2g053bsj]DAQ Assistant in NI-DAQ 7.3 Allows Channels in One Task to Have Different Types of One Class of Measurement[/url:2g053bsj] Buona fortuna. BYE. ---------------------------------------- AUTORE: 272 DATA :09/02/2005 - 14:38:03 ---------------------------------------- grazie mille per il tempo che mi hai dedicato.... appena trovo un po' di tempo vedo anche di \"capire\" cosa mi hai scritto e di metterlo in pratica. Per il momento GRAZIE. ciao sandroz ---------------------------------------- AUTORE: 272 DATA :10/02/2005 - 17:40:10 ---------------------------------------- ho provato come mi hai suggerito a \"collegare gli errori\" e a terminare il task con la versione attuale dei driver NIDAQmx in mio possesso (7.2) e... FUNZIONA! Adesso ho tre DAQAssistant che funzionano assieme allegramente \";)\" Domani scarico i driver 7.3 e provo la seconda soluzione... Per il momento grazie mille di nuovo per le informazioni... mi sei stato MOLTO d'aiuto. Se poi ho qualche altro dubbio... cercherò di non approffitare troppo della tua (e vostra) pazienza! ciao ---------------------------------------- AUTORE: 272 DATA :17/02/2005 - 16:38:41 ---------------------------------------- ho provato anche scaricando i driver 7.3.1... e FUNZIONA! \";)\" grazie mille di nuovo. Alle prossime domande.. ciao ---------------------------------------- ================================================================================ Problema con acquisizione e controllo ================================================================================ AUTORE: 511 DATA :09/02/2005 - 09:05:43 ---------------------------------------- Sono un utente alle prime armi ed il mio problema potrà sembrare banale... Utilizzo la versione 6.0 di LabVIEW per la gestione di sensori ed attuatori ( fondamentalmente relè ) in un banco prova allestito in Università. Inizialmente, ho programmato l'acquisizione di ogni singolo sensore e attuatore senza riscontrare problemi. una volta che vado ad \"assemblare\" le varie parti del programma ho riscontrato dei problemi nel controllo dei relè: questi, invece di rimanere sempre attivati, si aprono e chiudono, credo a causa del refresh del ciclo (ho adottato un While loop). come posso fare? ---------------------------------------- AUTORE: 482 DATA :09/02/2005 - 14:20:37 ---------------------------------------- ...beh..direi che nel tuo Vi cisono dei problemi di accessoalle risorse. non mi torna una cosa...tu lascitutti gli ingressi dei moduli di lettura e srittura come default tranne il nome del canale. Il problema è che quando vaia leggere o scrivere su uncanale automaticamente lo setti in lettura o scrittura. Penso che l'ideale sia prendere l'uscita da una porta diversa rispetto a quella degli ingressi (per porta si intende ogni gruppo di 8canali).Se già lo fai, per sicurezza setta la porta in scrittura o lettura prima di cominciare il ciclo. Alternativamente puoi mettere una sequenza in cui prima leggi i canali epoi li scrivi, collegando sempre al canale iteration uno zero cosi' ogni volta ti viene settata in base all'operazione che vuoi fare. Inoltre quando leggi lo stato dei digitali, o gli dai una sequenzialità o meglio ancora, anzichè leggere utilizzando il \"read digital line\" gli dai un \"read digital port\" cosi' ottieni lo stato di tutta la porta dal quale estrapoli solo i due dati che ti interessano. Ultima cosa, come dicevi tu, sarebbe meglio inserire nel ciclo un wait until next multiple per fare in modo che il vi non si succhi tutte le risorse disponibili. Spero di esserti stato utile, purtroppo non possoallegarti il VI perchè ho la versione 7.1 e non riusciresti a leggerlo. ---------------------------------------- ================================================================================ Chiamata property node programmatica ================================================================================ AUTORE: 482 DATA :10/02/2005 - 08:09:13 ---------------------------------------- ...ma ciao! ..sono incappato in un problemuccio. Ho un VI nel quale in base a determinate condizioni faccio blinkare degli indicatori. Sono 20 indicatori per 20 condizioni diverse. Siccome serve la stampa dello schermo quandoquesti blinkano, mi è stato chiesto di cambiargli lo sfondo anzichè farli lampeggiare in modo che la stampa sia \"statica\" cio' si è sicuri di stampare mentre l'indicatore segna l'errore. Fin qui nessun problema, anzichè la proprietà blinking uso la Num.Text.BGColor. soloche essendo 20 indicatori per 4 tipologie diverse di programma, mi chiedevo se non c'era un modo di fare una stringa combinata che mi dia il nome dell'indicatore ed usare poi un solo property node per tutte le operazioni. Che dite? E' fattibile? ---------------------------------------- AUTORE: 482 DATA :10/02/2005 - 08:33:26 ---------------------------------------- Inalternativa mi basterebbe un modo per cambiare 20 property node tutti in una botta anzichè dover andare a cercare la giusta proprietà per ogni singolo indicatore! \":roll:\" ---------------------------------------- AUTORE: 247 DATA :10/02/2005 - 08:58:54 ---------------------------------------- Ciao, non ho capito bene cosa inteni con \"fare una stringa combinata\" quindi ti propongo solo un metodo per cambiare \"di botto\" il valore scelto di un gruppo di indicatori. BYE. ---------------------------------------- AUTORE: 129 DATA :10/02/2005 - 17:12:03 ---------------------------------------- Il fatto che appartengano a classi diverse, ti rende difficile unificare la property color che è gestita in modo diverso. Io averi fatto qualcosa del genere. ---------------------------------------- AUTORE: 482 DATA :11/02/2005 - 07:33:32 ---------------------------------------- effettivamente son stato poco chiaro. Quello che intendevo io era uan cosa tipo: Ho 20 controlli che si chiamano ang n dove n è il numero del controllo (da 1 a 20). Mi chiedevo (ma dubito) se fosse possibile creare un unica proprietà color e poi fare un \"link to\" programmatico in modo tale che in un ciclo FOR ad esempio io metto ang+i (i è l'indicedel ciclo) e questo dica al property node a quele controlloappartiene. E' piu' chiaro? \":roll:\" \":roll:\" ..mmhh...mah... \":)\" ---------------------------------------- AUTORE: 129 DATA :11/02/2005 - 07:55:29 ---------------------------------------- Premettendo che i controlli siano dello stesso tipo (puoi definirlo dal TIPO DI REFNUM)... ti allego un esempio.... ---------------------------------------- AUTORE: 482 DATA :11/02/2005 - 13:03:00 ---------------------------------------- ...mmhha..allora innanzituto grazie pe rilVI. A quanto ho capito dal tuo VI cambi il colore a tutti i controlli booleani e poi li salvi. La mia idea era piu' qualcosa del genere (non mi ricordo i linguaggi testuali quindi passatemeli per buoni): For X=0 to 10 angX.BGcolor=red ..una cosa del genere è fattibile in labview? Considerando che nello stesso VI ci sonoanche dei controlli uguali che pero' non devono essere toccati perchè hanno unaltro nome. grasssie! ---------------------------------------- AUTORE: 129 DATA :11/02/2005 - 13:49:21 ---------------------------------------- forse così va meglio? \":wink:\" ---------------------------------------- AUTORE: 247 DATA :11/02/2005 - 14:20:26 ---------------------------------------- Ciao, ci stavo riprovando anche io e come ha fatto Nicola ho scelto di basarmi sul nome che dai al controllo per identificarlo; per ora regge tre tipi di controlli cmq con la stessa tecnica nel case puoi aggiungere quello che vuoi fino ad averli tutti. Nicola, perchè salvi alla fine? Serve solo per modificare definitivamente la grafica del VI o anche per altro? BYE. ---------------------------------------- AUTORE: 129 DATA :11/02/2005 - 15:17:10 ---------------------------------------- Si banalmente l'ho inserito, ma l'unica finalità era quella di salvare le nuove impostazioni. ---------------------------------------- ================================================================================ step 7-labview ================================================================================ AUTORE: 409 DATA :10/02/2005 - 13:39:14 ---------------------------------------- ciao a tutti vorrei sapere se c´´e´´ una interfaccia tra step7 e labview che mi permetta di simulare il programma fatto in step7 con plcsim e visualizzare i dati su labview senza passare per l´hadware del plc. Ovvero una connessione del tipo Plcsim--------interfaccia-------labview grazie a tutti! davide ---------------------------------------- AUTORE: 251 DATA :20/02/2005 - 19:18:57 ---------------------------------------- ciao, non so molto di step7 e PLCsim... lasciando fuori dalla scena per il momento LV, come comunica il tuo PC con il PLC? Se hai un OPC Server che permette di connettersi al PLC allora sei a posto. In LV usi le funzioni datasocket e ti agganci agli item OPC per leggere, scrivere e....far di conto!!!! ciao ---------------------------------------- ================================================================================ WEBCAM ================================================================================ AUTORE: 516 DATA :10/02/2005 - 21:45:11 ---------------------------------------- Ciao a tutti E' la prima volta che scrivo aquesto forum , vorrei chiedervi come posso visualizzare tramite labview delle immagini che ricevo tramite una webcam collegata sulla porta usb del pc Grazie Mille Sergio ---------------------------------------- AUTORE: 247 DATA :10/02/2005 - 22:00:52 ---------------------------------------- Ciao e benvenuto, guarda questo [url=http://www.ilvg.it/forum/viewtopic.php?t=581&start=0&postdays=0&postorder=asc&highlight=:1gl25z75]vecchio post[/url:1gl25z75], dovrebbe contenere tutti i riferimenti che ti servono, se manca qualcosa chiedi pure. BYE. ---------------------------------------- AUTORE: 516 DATA :11/02/2005 - 09:13:25 ---------------------------------------- Ciao Grazie mille per la tua risposta . Ho dato un'occhiata al vecchio post il programma free lo avevo scaricato e l'ho provato ma non funziona correttamente nel senso che invece di vedere una sola immagine ne vedo 4 . Devo anche dirti però (cosa che ieri ho dimenticato) che la webcam non e' collegata direttamente alla porta usb del pc , in realtà ho un modulo (Cinergy200usb della terratec , che mi permette di vedere anche la tv) al quale ho collegato una telecamera ora non so se è lui che mi crea questi problemi con labview (se lancio il programma della casa il tutto funziona) . Vorrei chiederti ancora una cosa io uso labview 7.1 ho visto che esiste il controllo IMAQ ma se ho ben capito devo avere la scheda della national per poter usare questo controllo giusto ? , inoltre potresti consigliarmi un sito o un libro dove labview sia ben spiegato o per lo meno ti diano delle solide basi. Inoltre come quale procedura devo usare per creare gli exe ? (ho la versione completa del 7.1) Ciao e GRAZIE MILLE Sergio Ciao Sergio ---------------------------------------- AUTORE: 247 DATA :12/02/2005 - 18:43:37 ---------------------------------------- Ciao, purtroppo devo dirti che in campo acquisizione immagini ne so veramente poco, anzi nulla, come ho scritto nell'altro post a cui ti ho rimandato sopra, conto di fare delle prove in un futuro prossimo, tempo permettendo. Comunque provo lo stesso a puntualizzare qualcosa sperando che serva: [quote:xz9w6cx5]non funziona correttamente nel senso che invece di vedere una sola immagine ne vedo 4[/quote:xz9w6cx5] 1- Ottieni 4 immagini uguali o sono 4 immagini successive l'una all'altra in sequenza? Prova ad accertarti che la risoluzione che richiedi sia settata in modo uguale per la webcam e per il VI, ovvero apri il software della webcam, controllo i parametri di acquisizoine, se necessario cambiali (ad es: risoluzione 320x240, 10 frame/sec), e poi setta gli stessi perametri per il VI di acquisizione immagini. [quote:xz9w6cx5]in realtà ho un modulo (Cinergy200usb della terratec , che mi permette di vedere anche la tv) al quale ho collegato una telecamera ora non so se è lui che mi crea questi problemi con labview (se lancio il programma della casa il tutto funziona)[/quote:xz9w6cx5] Controlla che venga utilizzato il driver consigliato per la Webcam Library (WinVDIG) e non quello che utilizza solitamente il tuo dispositivo per permetterti di guardare la TV che può non essere supportato dalla libreria di VI. Se ancora il tutto non funziona a dovere prova i Vi basati su QuickTime, Alberto.L ed io li abbiamo provati proprio in questi giorni con molto successo e sinceramnte ci sembrano ben fatti. (vedi post [url=http://www.ilvg.it/forum/viewtopic.php?t=581&start=0&postdays=0&postorder=asc&highlight=:xz9w6cx5]Esistono Driver di webcam per l'Imaging?[/url:xz9w6cx5]) [quote:xz9w6cx5]ho visto che esiste il controllo IMAQ ma se ho ben capito devo avere la scheda della national per poter usare questo controllo giusto ?[/quote:xz9w6cx5] Per utilizzare le funzioni IMAQ non devi \"avere la scheda NI\" ma devi avere i driver di LabVIEW della telecamera che vuoi utilizzare in modo che questa sia riconosciuta dal MAX (Measurement and Automation Explorer) ed utilizzabile in LV. Le schede della National alle quali vengono collegate le telecamere forniscono molte funzionalità aggiuntive, come la memoria on-board, che permettono di ottenere ottime prestazioni e facilità di utilizzo. Cmq se non ti servono prestazioni particolari puoi caricare direttamente il PC del \"peso\" del dialogo con la telecamera. [quote:xz9w6cx5]inoltre potresti consigliarmi un sito o un libro dove labview sia ben spiegato o per lo meno ti diano delle solide basi.[/quote:xz9w6cx5] Il problema non sta nel consigliarti qualcosa ma nell'UN...ovvero le risorse riguardanti LabVIEW sono molte e molto sparse in manuali ed Application note o siti internet; inoltre dovresti dirmi a che livello sei, o ti senti, nella programmazione LV e se hai o meno un background informatico per tarare meglio i consigli. Comunque sia io consiglio sempre di esaurire i manuali e le Application Note già presenti nell'help di LV (menù Help->Search LabVIEW Bookshelf->...) per apprendere i concetti generali e capire come funziona LV, poi passare a, purtroppo, leggersi l'help in linea dei comandi più utilizzati...anche se questo è da suicidio. Molto utili e interattivi sono inoltre le risorse che trovi sul sito NI, comprendente presentazioni e WebEvents (il tutto in inglese); proprio in questi giorni Ni li ha riorganizzati ripresentandoli in una pagina di facile accesso e successo direi, io li sto leggendo, rileggendo e riguardando tutti: [url=http://www.ni.com/labview/power:xz9w6cx5]Looking for information on LabVIEW as a programming language?[/url:xz9w6cx5] (p.s. notare come il link sia ni.com/labview/[color=red:xz9w6cx5]power[/color:xz9w6cx5]..) [quote:xz9w6cx5]Inoltre come quale procedura devo usare per creare gli exe ? (ho la versione completa del 7.1)[/quote:xz9w6cx5] Per realizzare eseguibili devi possedere l'Application Builder, controlla di averlo, dato che è un toolkit venduto a parte, e poi segui le istruzioni che trovi qui: [url=http://digital.ni.com/manuals.nsf/websearch/F91E5E2E84F8EDEB86256D2C0065460D?OpenDocument&node=132100_US:xz9w6cx5]LabVIEW Application Builder User Guide[/url:xz9w6cx5] e post come questo: [url=http://www.ilvg.it/forum/viewtopic.php?t=381&start=0&postdays=0&postorder=asc&highlight=application+builder:xz9w6cx5]Application builder![/url:xz9w6cx5]. BYE. P.S. Dividi le domande in più post, please! \":mrgreen:\" ---------------------------------------- AUTORE: 516 DATA :12/02/2005 - 20:18:25 ---------------------------------------- Ciao Grazie Mille per le tue spiegazioni . Per rispondere alle tue domande le immagini sono le stesse , e a livello di programmazione in Labview sono all'inizio , generalmente programmo in Visual Basic e in assembler per l'8051 . Grazie anche per il consiglio di dividere i post Ciao Sergio ---------------------------------------- AUTORE: 15 DATA :15/02/2005 - 12:54:54 ---------------------------------------- In passato ho fatto qualche esperimento con webcam e labview. Solitamente succede che la webcam permette varie impostazioni: risoluzione bianco/nero framerate Il driver della casa che la produce interpreta in modo corretto i frames che gli arrivano in tutti i casi, mentre le librerie di importazione in labview in alcune condizioni funzionano e in altre danno strani risultati. Hai provato altri settaggi di definizione o gamma di colori? A mio parere le quattro immagini che ottieni potrebbero essere in realtà le componenti scomposte in colori di un solo frame, ad esempio se inquadri un oggetto titalmente rosso solo una delle immagini dovrebbe apparire bianca, quella è l'immagine relativa al rosso. Tieni presente che i ccd \"a colori\" in realtà sono composti da quartetti di pixel che assorbono luce rossa verde blu e bianca. Comunque ricordo che smanettando con le funzioni imaq avevo ottenuto dei risultati decenti. Ciao Rom ---------------------------------------- AUTORE: 516 DATA :18/02/2005 - 09:58:52 ---------------------------------------- Ciao Grazie per il consiglio , ora provo a smanettare con le funzioni imaq anche se non ho trovato molta documentazione in giro e anche i manuali che forniscono insieme al labview non trattano l'argomento . Comunque se riesco a ottenere dei risultati te lo faccio sapere Ciao Sergio ---------------------------------------- ================================================================================ Memorizzazione dati numerici in un campo ================================================================================ AUTORE: 520 DATA :12/02/2005 - 18:39:26 ---------------------------------------- Premetto che ho iniziato ora a documentarmi su questo programma e sono molto ignorante, fra i vari problemi avrei necessità di memorizzare in alcune caselle dei dati numerici al momento in cui la casella è selezionata e si chiude uno switch. Vi ringrazio anticipatamente \":oops:\" ---------------------------------------- AUTORE: 129 DATA :13/02/2005 - 07:23:10 ---------------------------------------- Ciao e benvenuto, [quote:otq7bopp]fra i vari problemi avrei necessità di memorizzare in alcune caselle dei dati numerici al momento in cui la casella è selezionata e si chiude uno switch.[/quote:otq7bopp] Caselle come?Tipo stringa? Lo switch è sul pannello o è un input da esterno? In ogni caso si può fare, ma devi venirci incontro dettagliando il problema..... ---------------------------------------- AUTORE: 520 DATA :13/02/2005 - 20:10:48 ---------------------------------------- Ti ringrazio per avermi risposto così rapidamente, sarò più preciso. Ho ordinato una scheda alla N.I. che mi deve ancora arrivare, a questa collegherò un sensore di pressione atmosferica ed uno switch. Devo registrare varie misure che mi arrivano dal sensore e registrarle al momento in cui mi si chiude questo switch esterno. A seconda delle condizioni del test che eseguo vorrei che mi andasse a memorizzare la misura rilevata in una casella numerica che seleziono precedentemente con il mouse. \":oops:\" ---------------------------------------- AUTORE: 129 DATA :14/02/2005 - 08:23:03 ---------------------------------------- Ciao, ho provato a farti un esempio, basandomi su quello che dicevi, ho simulato il segnale misurato con un random 0-20 e lo switch con un pulsante..... Non ti ho messo la parte di salvataggio, che magari guarderemo in seguito. LA stessa cosa si può fare usando una event structure....In pratica, se ho capito bene, supponendo che il tuo switch esterno va in ON, selezionando l'indicatore, questo si aggiorna, con la lettura istantanea.... Aspetto tue nuove. ---------------------------------------- AUTORE: 201 DATA :14/02/2005 - 12:32:07 ---------------------------------------- Ciao! Ho provato a fare un esempietto anke io, ho usato una tabella dove vanno memorizzati i dati, tu selezioni uno slot della tabella, premi lo switch, e il valore viene scritto in quello slot. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- ================================================================================ aliasing con acquisizione analog input da CompactRio 9201 ================================================================================ AUTORE: 515 DATA :14/02/2005 - 09:33:51 ---------------------------------------- Buongiorno a tutti. Sono un principiante alle prime armi, quindi può darsi che questa domanda appaia o sia ingenua, nel caso scusatemi in partenza... \":wink:\" Sto utilizzando un sistema CompactRIO con, tra gli altri, un modulo ANALOG INPUT 9201, congiuntamente al modulo labview 7.1 FPGA e a quello real time. Quello che sto cercando di realizzare è un semplice multicampionamento, in cui l'FPGA si occupa di gestire gli input e vettorializzarli, una VI time critical che gira sul compact rio si preoccupa di pilotare l'FPGA, campionando ad una frequenza variabile un determinato canale di input. Il modulo Time critical comunica mediante FIFO con un modulo RT a priortà normale, che si occupa di impacchettare i campioni in gruppi di 1000 e spedirli via TCP, secondo un particolare protocollo, a un client che gira su labview PC. Dal client imposto il numero di Kcampioni e la frequenza di campionamento. Il sistema, di per sè, funziona. Il problema è che l'onda che interpolo sul client PC con un waveform graph è bruttina: anche con frequenze di campionamento che soddisfano AMPIAMENTE il criterio di Nyquist, ho dei gran brutti aliasing, assolutamente inaccettabili. Giocando sulle frequenze dell'onda che cerco di campionare, e sulle frequenze di campionamento, anche tenendomi molto largo ottengo dei risultati scadenti. Avrò fatto qualche passaggio sbagliato? O omesso di usare qualche accorgimento particolare?? Grazie mille per il tempo che vorrete dedicarmi!! Mèt ---------------------------------------- AUTORE: 251 DATA :20/02/2005 - 19:26:04 ---------------------------------------- mèt, di tempo te ne posso anche dedicare ma mi piacerebbe vedere un esempio di questo aliasing e il codice che ti ritorna questo tipo di problema. Cosi' in prima battuta \"aliasing\" e' un pelo oscuro \":?\" ---------------------------------------- AUTORE: 515 DATA :21/02/2005 - 08:44:27 ---------------------------------------- Quello che vorrei fare è una semplice acquisizione temporizzata di un elevato numero di campioni. L'avevo fatta \"a modo mio\" ma dava risultati inaccettabili. Ho oprovato allora a farla con questo metodo molto simile ad un analogo esempio di NI, ma il risultato, se possibile, è peggiore... La specifica principale è che la temporizzazione sia fedele alla frequenza di sampling che imposto manualmente... Il problema è che, persino utilizzando due VI (una sull'FPGA, un'altra sul modulo realtime con massima priorità) ottengo un campionamento schifoso dell'onda. Questo, anche per onde a frequenza davvero bassa, e anche rispettando con margini larghissimi il teorema di Nyquist. Allego l'esempietto... Usa un CompactRio 9102 e un modulo analog input 9201, con un'onda sul canale 1... L'FPGA e il modulo RT si passano valori utilizzando un handshake attraverso interrupt. ---------------------------------------- AUTORE: 515 DATA :21/02/2005 - 08:47:06 ---------------------------------------- ... Non l'aveva allegato... eccolo! Grazie ancora!! \":)\" ---------------------------------------- AUTORE: 251 DATA :25/02/2005 - 08:39:59 ---------------------------------------- mèt, dai un occhio a questa pagina sul sito NI. http://sine.ni.com/apps/we/niepd_web_di ... e=External E' un esempio che fa vedere come implementare acquisizione continua bufferizzata da cRIO e fa uso del metodo splendido chiamato Synchronous Display (proprieta' dei controlli sul front panel). ciao ---------------------------------------- AUTORE: 4 DATA :25/02/2005 - 09:26:24 ---------------------------------------- [quote:2v3ga42i] e fa uso del metodo splendido chiamato Synchronous Display (proprieta' dei controlli sul front panel). [/quote:2v3ga42i] sinceramente non capisco cosa ci sia di splendido nel fatto che usando Synchronous Display funzioini meglio che usando gli interrupt e la memoria... tempo fà ho sviluppato un'acquisizione continua bufferizzata su FPGA paretendo dal metodo IRQ+Memoria ma ho ottenuto pessimi risultati (non compilava o andava molto piano nel trasferimento dei dati all'HOST) poi ho appreso dal sito NI che il metodo Synchronous Display era molto più performante ho provato ed effettivamente è così ma continuo a pensare che sia un controsenso che una proprietà di un oggetto grafico su un pannello sia preferibile a delle funzioni dedicate al traferimento dei dati come IRQ e memoria ---------------------------------------- AUTORE: 515 DATA :01/03/2005 - 13:10:20 ---------------------------------------- Ciao Porsenna! Grazie della risposta, ma questo è uno dei due esempi che ho usato come template... e che semplicemente non funzionano bene come dovrebbero. Il collo di bottiglia c'è, indipendentemente dal sync display. Per rispondere ad Ale, in realtà a me il sync sembra leggermente più lento del sistema a interrupt... ma comunqe sono lenti entrambi... \":?\" Mah... ---------------------------------------- ================================================================================ creare ed acquisire una dll ================================================================================ AUTORE: 489 DATA :14/02/2005 - 16:54:23 ---------------------------------------- Ciao a tutti , ho un quesito da principiante da porre. Piu' che una dritta avrei bisogno di vere e propie istruzioni per il seguente problema: Devo creare una dll da acquisire con LV ,in questa dll devo inserire alcune delle funzioni dichiarate nell 'header che ho allegato che controllano un banco funzionale della yelo che originariamente veniva controllato in c++, le funzioni vere e propie (credo) sono contenute in altri file di tipo .lib a cui l'header fa riferimento.Ho trovato vari esempi su come crere la dll ma non su come crare una dll che faccia riferimento ad altri file di tipo.lib . Ci sono delle opzioni di compilazione , ho e' solo questione di scrivere il codice della dll in c++ con le istruzioni appropiate ? cosa che evidentemente non so fare visto che fino ad ora ho provato a creare la dll conme progetto di visual c++ con win32dll , ma nelle varie prove , poi in ambiente labview una volta richiamata la dll, nel menu' a tendina (funcion name) le funzioni non comparivano. ---------------------------------------- AUTORE: 43 DATA :15/02/2005 - 05:12:00 ---------------------------------------- ciao. Osservando il Tuo .h in allegato, e leggendo un po' sul sito http://www.yelo-usa.com/ riguardo il SW a corredo dei loro prodotti, si potrebbe concludere, che l'interfaccia HW verso il tuo strumento è una (o piu') porte seriali, e la dll che vorresti implementare non è altro che il corrispondente protocollo seriale. A 'sto punto mi chiedo: se i signori della yelo forniscono un ambiente di sviluppo http://www.yelo-usa.com/product_details ... Name_ID=48 completo di sorgenti ---> sarebbe bello costruirsi una libreria LabVIEW (.llb) di funzioni, dato che si può estrapolare il protocollo seriale dai sorgenti C++. Se si dispone di dll già fatte, ---> beh allora ci si dovrebbe interfacciare direttamente con il solito vi (premere il tasto destro nel diagramma) Function-->Advanced-->Call Library Function Node Chiariscimi i dubbi, per favore. ---------------------------------------- AUTORE: 489 DATA :15/02/2005 - 10:39:44 ---------------------------------------- Ciao! grazie mille per la tua disponibilita' Il mio yelo e' un tp50 abbastanza vecchiotto e si interfsccia al pc mediante una scheda fornita sempre dalla yelo che si inserisce su i vecchi connettori ISA (infatti l'ho dovuto istallare sul piu' vecchio pc della ditta), quale protocollo di comunicazione utilizzi pero' non ne ho propio idea. provo a vedere se con la funzione call library function node e guardando i link che gentilmente mi hai fornito riesco a tirarci fuori qualcosa . Ciao grazie ancora! ---------------------------------------- AUTORE: 43 DATA :17/02/2005 - 17:17:08 ---------------------------------------- [quote="cristiano.fioroni":33nl7042]...Il mio yelo e' un tp50 abbastanza vecchiotto e si interfaccia al pc mediante una scheda fornita sempre dalla yelo che si inserisce su i vecchi connettori ISA (infatti l'ho dovuto istallare sul piu' vecchio pc della ditta)[/quote:33nl7042] ok. Se si trattasse di una \"strana scheda\", e si volesse scrivere un driver per interfacciarsi con essa, dovresti usare delle funzioni IN PORT e OUT PORT (per intenderci le classiche inp e outp del buon vecchio linguaggio C) utilizzando uno spazio di indirizzamento che dovresti cmq riservare nelle risorse di sistema. Ma non voglio qui insultare la tua intelligenza spiegandoti cosa sono le risorse che puoi e devi allocare per ogni scheda o dispositivo che installi a mano o in automatico (plug&prey). Pero'....... consultando il sito europeo (preso a casaccio) della ditta YELO e osservando le caratteristiche dello YELO 50 (Yelo 50 Key Features) http://www.yelo.co.uk/area3/main3_Yelo%2050.htm si dice chiaramente che: The internal slot must contain a system card to communicate with the PC (PC Comms card included). Ciò significa che la tua scheda ISA non è altro che una scheda di comunicazione. E, se la sua installazione non richiede particolari manovre.... suppongo sia una scheda multiseriale. Non so [b:33nl7042]quante[/b:33nl7042] o il [b:33nl7042]tipo[/b:33nl7042] (RS232, RS422, RS485 a 2 o 4 file, ecc..)di porte, indaga Tu. Magari, se ti iscrivi a questo sito europeo, puoi accedere alle FAQ e chiedere INFO a riguardo. Cmq sia, se disponi dei sorgenti (dubito) delle librerie di funzioni a corredo dell'HW, potresti dargli un occhio per capire in che modo il PC comunica con lo scatolone YELO 50. Se poi disponessi di un \"analizzatore di protocollo\", potresti \"metterti sulla/e linee di comunicazione\" e monitorare lo scambio di pacchetti fra PC e lo YELO 50.... Insomma potresti dare spazio alla Tua fantasia... Pero', a questo punto mi sono incuriosito: che schede collaudi con 'sto YELO50? ciao ---------------------------------------- AUTORE: 489 DATA :18/02/2005 - 07:22:01 ---------------------------------------- Fondalmente ancora dovrei vedre cosa sto benedetto scatolone puo' fare ma la mia intenzione e' usarlo per il funzionale su delle schede per caldaie murali di cui la mia ditta si occupa, quindi fondamentalmente dovrei pilotare rele' e misurare tensioni e correnti continue(controllare accensioni di ventiolatori, pompe,verificare correnti sulla valvola gas ..ecc) . circa un anno fa prima che cominciassi a interessarmi a LV una ditta di SW mi ha creato un applicazione con labview (un sequenziatore che per vari motivi non ho mai utilizzato) e per fare cio' avevano sviluppato una dll di funzioni esportate da i file a corredo del tp50 , ho provato a chiedere i sorgenti sia del progetto delle dll che del sequenziatore fatto con labview ma non li hanno piu' a disposizione tutto cio' che mi hanno fornito e' l'header che ti allego(di cui francamente non so che fare ..). Ora mi dirai giustamente: .. ma allora ste dll ce le hai ; il fatto e' che non mi hanno incluso propio le funzioni che mi servono per fare il funzionale e cioe' funzioni di I/O digitali che vedi nel primo header (logicapply,logicdrive,ecc..) con le quali posso pilotare i miei rele' piu' comodamente,e controllare gli altri input. Ecco perche' seguivo la strada della generazione delle dll perche' non so come hanno fatto ma cosi' loro sono riusciti ad interfacciare il tp50 con labview.... ah.. puoi tranquillamente insultare la mia intelligenza (se cosi' si puo' definire)visto che le mie conoscenze sono veramente terra terra....forse anche sottoterra! . Non ho anlizzatori di protocollo ma forse come mi hai consigliato e' il caso che contatti sti \"yeli\" e mi faccia dare qualche dato in piu'. ciao! ---------------------------------------- ================================================================================ Ringrazio ================================================================================ AUTORE: 520 DATA :14/02/2005 - 22:11:46 ---------------------------------------- Ho visto i vostri esempi sono molto attinenti con quello devo fare, nel frattemposto sto iniziando a leggere un pò di documentazione per iniziare a capirci qualcosa, anche se per ora sono praticamente a zero. Vi ringrazio, tornerò a chidervi consigli non appena avrò le ideee più chiare. \":oops:\" ---------------------------------------- ================================================================================ Esempi motion control ================================================================================ AUTORE: 295 DATA :15/02/2005 - 09:17:55 ---------------------------------------- Un buongiorno a tutti. Ho appena installato una NI 7334 per pilotare stepper motor \":?\" . Non ho alcuna esperienza con le funzioni di Motion Control della NI \":oops:\" , per cui vi chiedo un paio di cose: a) esiste un interfaccia grafica diciamo \"pronta all'uso\" in cui settare parametri come velocità, direzione e numero di step etc. b) Tra gli example di LabView non ho trovato alcun esempio. Qualcuno di voi ha qualche semplice esempio per cominciare a conoscere le varie funzioni del Motion. Grazie e ciao. \":wink:\" ---------------------------------------- AUTORE: 247 DATA :15/02/2005 - 11:16:35 ---------------------------------------- Ciao, prima di tutto felicitazioni per l'installazione! [quote:8r7ixuxt]a) esiste un interfaccia grafica diciamo \"pronta all'uso\" in cui settare parametri come velocità, direzione e numero di step etc. [/quote:8r7ixuxt] Si, esiste una sorta di Assistant (tipo il più famoso DAQ-Assistant se lo conosci) che permette di configurare e poi creare VI \"pronti all'uso\", o almeno così dicono, non l'ho mai provato. Il suddetto Assistant è cmq a pagamento: ([url=http://sine.ni.com/apps/we/nioc.vp?cid=11091&lang=US:8r7ixuxt]NI Motion Assistant[/url:8r7ixuxt]) Puoi trovarne una demo qui (solito fondo pagina): [url=http://www.ni.com/motion/prototyping_profiles.htm:8r7ixuxt]Prototyping Profiles with Motion Assistant[/url:8r7ixuxt] [quote:8r7ixuxt]b) Tra gli example di LabView non ho trovato alcun esempio. Qualcuno di voi ha qualche semplice esempio per cominciare a conoscere le varie funzioni del Motion.[/quote:8r7ixuxt] Gli esempi dovrebbero essere stati installati quando hai installato l'[url=http://sine.ni.com/apps/we/nioc.vp?cid=14234&lang=US:8r7ixuxt]NI SoftMotion Development Module for LabVIEW[/url:8r7ixuxt], cmq dovresti aver trovato un CD di installazione con anche esempi nella confezione della scheda (almeno secondo quest pagina: [url=http://sine.ni.com/apps/we/nioc.vp?lang=US&cid=1397:8r7ixuxt]LabVIEW Motion Control Tools[/url:8r7ixuxt] in cui si dice: [color=darkblue:8r7ixuxt]Fully-functional motion examples; included free of charge with NI motion controllers[/color:8r7ixuxt] BYE. P.S. Comunque il link principale di Motion Control è questo: [url=http://www.ni.com/motion/:8r7ixuxt]Motion[/url:8r7ixuxt] ---------------------------------------- ================================================================================ Display indicatore fuori dal ciclo ================================================================================ AUTORE: 295 DATA :15/02/2005 - 15:09:58 ---------------------------------------- Ciao, mi sono scontrato con un problema che inizialmente mi sembrava banale, ma ora non so come risolverlo. Il punto è come faccio a visualizzare un indicator che risiede in un ciclo su front panel del VI chiamante. In pratica l'indicatore \"cursore\" che risiede in \"Prova_cursore.vi\" all'interno del for, vorrei visualizzarlo sul front panel di \"Prova.vi\" per ogni iterazione del ciclo e non solo alla fine. Semplice, ma non mi viene. Grazie e ciao. ---------------------------------------- AUTORE: 247 DATA :15/02/2005 - 15:28:14 ---------------------------------------- Ciao, se vuoi cambiare il valore di un controllo presente in un Vi quando è in esecuzione un altro VI o un suo subVI devi passare una reference del controllo al Vi in esec. Ho modificato i tuoi VI, dimmi se è questo quello che intendi. BYE. P.S. Come fai a vedere i fili ed i loro colori con quello sfondo!!!!??? \":D\" ---------------------------------------- AUTORE: 295 DATA :15/02/2005 - 17:08:05 ---------------------------------------- Grazie mille, avevo intuito di usare i RefNum ma facevo un errore da pollo \":oops:\" Ciao Re: P.S. è questione di abitudine, se tutto lo sfondo è scuro i fili riesci a vederli bene, non devi avere parti bianche. Inoltre lo sfondo scuro stanca molto meno la vista di quello bianco. ---------------------------------------- ================================================================================ Applicazioni GUI complesse ================================================================================ AUTORE: 531 DATA :16/02/2005 - 11:20:21 ---------------------------------------- Salve a tutti. MI sto cimentando nella programamzione di un'interfaccia per la gestione di strumentazioni di acquisizione. L'applicazione che devo fare è abbastanza complessa, e richiede di poter visualizzare in tempo reale delle informazioni sulle acquisizioni in corso (tempo, il grafico), nonchè immagini acquisite da una webcam o da uno stream su network, e nel frattempo devo poter interagire con la GUI (ovvero premere pulsanti che inneschino o fermino delle azioni) Dopo varie ricerche sui forum di labview mi pare di aver capito che ci sono due tecniche principali per gestire applicazioni: la tecnica della state machine e la tecnica event.handler-task.handler. Ho preferito la seconda tecnica perchè mi sembra sia un reale multi therading (si creano diversi while-loop che comunicano tra loro, di cui uno principale che è l'event.handler). Visto che vorrei impostare in maniera corretta il lavoro, volevo chiedere se qualcuno di voi sa qualcosa di tutto ciò, in particolare se l'utilizzo dell'event.structure è di fatto alternativo, per la seconda tecnica, alla macchina a stati (state machine). grazie! Ciao. ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 09:03:23 ---------------------------------------- Secondo me se hai un architettura così complessa, potresti realizzare un architettura Client/server adottando le tecniche dette VI-Server. In pratica realizzi dei VI \"specializzati\", che gestistocono le acquisizioni, i controlli e l'acquisizione video. La GUI, invece sarà il tuo main VI, che chiama i controlli e gli indicatori del VI specializzato. Ti invio un esempio. ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 09:09:11 ---------------------------------------- Ovviamente non c'è solo questo sistema, puoi utilizzare un sistema cliente server utilizzando il datasocket.(soprattutto se usi due macchine diverse per acquisizione e monitoraggio). Altrimenti puoi utilizzare variabili globali per l'accesso agli indicatori. ---------------------------------------- AUTORE: 531 DATA :21/02/2005 - 11:51:32 ---------------------------------------- grazie mille della risposta. comincerò ad informarmi sulle tecniche vi-server. Purtroppo non sono riuscito a leggere i tuoi allegati perchè qui abbiamo ancora labview 6.1 Potresti rimandarmeli in un formato che posso leggere? A presto. Daniele ---------------------------------------- AUTORE: 4 DATA :28/02/2005 - 17:02:13 ---------------------------------------- [quote:2vpe66xk]Visto che vorrei impostare in maniera corretta il lavoro, volevo chiedere se qualcuno di voi sa qualcosa di tutto ciò, in particolare se l'utilizzo dell'event.structure è di fatto alternativo, per la seconda tecnica, alla macchina a stati (state machine). [/quote:2vpe66xk] l'event handler non è secondo me alternativo alla macchina a stati \"classica\" o almeno potrebbe esserlo ma complicandosi la vita. l'architettura ideale è una macchina a stati che legge gli stati da gestire da una coda in cui altri codici accedono scrivendo le loro richieste si ottiene un'architettura client-server il vantaggio è la semplicità di gestione delle code e la maggiore semplicità di associare a ogni stato dei dati aggiuntivi riguardo la sua esecuzione, gli eventi sono più indicati per gestire eventi di interfaccia grafica. Discussione interessante mi piacerebbe approfondire il confronto, a presto. Ciao, ---------------------------------------- AUTORE: 27 DATA :01/03/2005 - 09:35:10 ---------------------------------------- Il metodo proposto da Nicola è molto potente, credo comunque che nei casi in cui si voglia un \"sincronismo\" tra più task, o comunque non si debba correre il rischio di \"perdere dati\" prodotti da un task di acquisizione, si debba ricorrere a meccanismi aggiuntivi (Dynamic Event, semafori, code). Ale, non pensi che forse si possano combinare egregiamente una macchina a stati classica con la struttura ad eventi ? Ciao a tutti. ---------------------------------------- AUTORE: 129 DATA :01/03/2005 - 10:03:06 ---------------------------------------- Finalmente ho reinstallato il 6.1 e vi giro una versione modificata che ha due loop paralleli uno con una macchina a stati che gestisce i compiti Esecuzione-Show e Arresto del VI Specializzato. L'altro loop invece visualizza il valore acquisito dallo specializzato.. Secondo me la struttura di base dovrebbe essere questa (che fra l'altro è espandibile a più subVI), poi bisognerebbe implementare in questa struttura sincronizzazioni dei tsk, come code e semafori..... Aspetto con ansia le vostre proposte. Ciao ---------------------------------------- AUTORE: 4 DATA :01/03/2005 - 10:19:59 ---------------------------------------- [quote:39a23ahs]Ale, non pensi che forse si possano combinare egregiamente una macchina a stati classica con la struttura ad eventi ? [/quote:39a23ahs] certo si può ... dipende da come ti viene più comodo io sinceramente uso gli event Handler solo per l'uinterfaccia utente e la macchina a stati con le code per tutto il resto, credo che dipenda da una questione di abitudine e di comodità cmq riesco a lavorare bene in questo modo e non sento il bisogno di cambiare verso gli eventi ma se mi spuieghi cosa mi stò perdendo magari cambio idea \":!:\" \":wink:\" Ciao, ---------------------------------------- AUTORE: 531 DATA :01/03/2005 - 12:04:24 ---------------------------------------- vi posto una versione di esempio della tecnica che ho utilizzato. Nel mio caso ho preferito usare event structure perchè devo lavorare con una interfaccia grafica in cui ci sono vari pulsanti che innescano varti task che devono necessariamente lavorare in parallelo. Nel .vi allegato creo una coda per ogni task o gruppo di task che possono eseguire in parallelo. poi creo un loop principale, chiamato EVENT HANDLER, che raccoglie tutti gli eventi innescati dalla pressione dei pulsanti (ma potrebbe essere qualsiasi altro tipo di evento). dopodichè creo un loop per ogni task o gruppo di task (TASK1 HANDLER, TASK2 HANDLER ECC.). quando si preme il pulsante relativo ad un certo task (ex. task 1) l'event handler inserisce un elemento nella coda del task appropriato, che viene eseguito per conto suo, mentre il controllo della gui ce l'ha sempre l'event handler. L'unico inconveniente è che bisogna creare tanti while loop quanti sono i task che possono eseguire in parallelo. Ma questo credo sia inevitabile. E' una tecnica che ho letto su una qualche white paper della ni. Inoltre mi pare buona perchè è abbastanza object oriented. Bhè, comunque vi allego l'esempio in lv 6.1. ciao! Daniele ---------------------------------------- AUTORE: 27 DATA :01/03/2005 - 12:10:11 ---------------------------------------- Per Ale: pensavo a qualcosa del genere... ciao ---------------------------------------- AUTORE: 4 DATA :01/03/2005 - 13:21:23 ---------------------------------------- [quote:3dx34mwl]Per Ale: pensavo a qualcosa del genere... ciao[/quote:3dx34mwl] Questa soluzione ha un vincolo: se uno stato ci mette, per esempio, 30 secondi a eseguire l'interfaccia rimane completamente bloccata o meglio (anzi peggio) l'operatore può agire sui controlli che però non danno nessuna risposta immediata ma comunque accodano gli eventi, quando lo stato finirà l'esecuzione avrai una serie di eventi in coda da eseguire l'effetto sarà di vedere l'interfaccia svegliarsi magicamente e servire tutte le richieste in \"una volta sola\" inoltre alcuni di questi eventi potrebbero generare delle situazioni di conflitto a seconda delle logiche dell'applicazione. E' proprio in questi casi che si dovrebbero usare le code: in un loop gestisco l'interfaccia utente con gli eventi che vengono accodati in una coda la quale coda viene poi letta da un secondo loop che si occupa di reagire agli eventi di interfaccia, in questo modo svincoli l'esecuzione dell'inrterfaccia dal resto del SW. Ciao, ---------------------------------------- AUTORE: 27 DATA :02/03/2005 - 13:19:10 ---------------------------------------- Hai perfettamente ragione, infatti una struttura siffatta va bene nel caso tutte le azioni impieghino un tempo \" non percepinile\" dall'operatore che agisce sull'interfaccia utente. Generalmente, l'interfaccia utente dovrebbe essere \"reattiva\", tuti i task che non possono esserlo o che rischiano di non esserlo (acquisizione, controllo di strumentazione, elaborazioni complesse) dovrebbero essere su altri loop (eventualmente su altri vi in esecuzione parallela). A questo punto, come comunicare tra task... è tutto un mondo. In ogni caso, credo anche che, in certi casi, una soluzione del genere possa essere usata anche per implementare vi non legati all'interfaccia utente: invece di tasti, user event specifici, che a questo punto potrebbero svolgere la funzione di \"comunicazione\" tra task. Che ne dite ? Ciao ---------------------------------------- ================================================================================ Labview e Access .. Database remoto ================================================================================ AUTORE: 437 DATA :17/02/2005 - 14:12:32 ---------------------------------------- Salve, Sono alle prime armi per quanto riguarda l'interrogazione di archivi access in remoto tramite labview. Qualcuno sa darmi qualche VI di esempio per accedere ad un archivio access tramite labview? ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 15:12:41 ---------------------------------------- Ciao, ti allego un esempio che utilizza ADO, devi creare una connessione DSN su ODBC al database, il DSN lo utilizzerai per connetterti al DB dal VI estrai tabella o inserisci tabella. Buon Lavoro \":wink:\" ---------------------------------------- AUTORE: 437 DATA :17/02/2005 - 17:21:17 ---------------------------------------- grazie per avermi risposto , pero' francamente il file llb che mi hai inviato per me è di difficile comprensione ...nel senso che non capisco dove va messo, come si usa ,come usarlo all'interno di altri vi..... insomma ci metterei 3 mesi solo a comprendere quello che c'e' dentro a quel file. Non ho nemmeno una guida al riguardo !!!!. Se gentilmente mi puoi spiegare come utilizzarlo (facendo un'esempio banale del tipo: voglio fare un' accesso al database X in remoto ..allora devo fare cio'....ecc). puo' sembare pesante come cosa, ma mi serve solo un'introduzione all'utilizzo; poi apperndo tutto automaticamente , pero' un'inizio semplice per me è importante. Ciao e grazie comunque. ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 17:52:43 ---------------------------------------- Dunque, apri la .llb seleziona il vi estrai tabella.vi Questo VI è autonomo. Adesso prima di fare qualsiasi cosa devi crearti la connessione DSN,come? Apri ODBC da pannello di controllo/strumenti di amministrazione/e quindi Origine dati ODBC. Adesso vai su DSN utente, quindi aggiungi , seleziona dall'elenco driver access.mdb.Ti si apre una finestra con cui devi impostare un nome alla tua connessione (sarà il tuo DSN=nome;), quindi cerchi il percorso del tuo db access.Salva tutto ed esci Ora ritorna in Labview e inserisci il dsn , poi devi impostare se vuoi estrarre nella tabella anche i campi e inserire una query SQL di select per estarre la tabella (tipo Select nome tabella).... Ovviamente questi controlli sono disponibili qualora decidi di inserire questo VI in un Blank.vi tuo ,,, Buon LaVoro ---------------------------------------- AUTORE: 437 DATA :18/02/2005 - 14:07:05 ---------------------------------------- Grazie, ho eseguti i passaggi che mi hai indicato .....tutto ok solo una cosa , puoi darmi qualche dritta sulla finestra Command Text...cosa sono quei comandi ? Grazie cmq. ciao ---------------------------------------- AUTORE: 482 DATA :18/02/2005 - 15:35:00 ---------------------------------------- ...non capisco..ma non basta utilizzare le proprietà activex del database access dandogli come file path il percorso di rete? Io lo faccio regolarmente cosi'... \":o\" \":o\" ---------------------------------------- AUTORE: 437 DATA :18/02/2005 - 16:46:42 ---------------------------------------- ...potresti spiegarmi meglio ? ...grazie ---------------------------------------- AUTORE: 482 DATA :21/02/2005 - 07:51:56 ---------------------------------------- ...ma ciao! ti allego un pezzetto dicodice in cui viene aperto un database remoto e poi con una stringa SQL vengono compilati in un record della tabella BARRE i tre campi serie,esito,storte. Poi smanettando tra le varie proprietà puoi trovare altre funzioni che ti possono magari interessare. ---------------------------------------- AUTORE: 129 DATA :23/02/2005 - 11:38:50 ---------------------------------------- Certo è così, però devi chiudere le istanze aperte altrimenti ti rimane allocata memoria. Comunque il mio è proprio un estensione completa di quello che scrivi, con cui due vi di alto livello riesce a gestire sia l'estrazione di una tabella o una query di comando. Fra l'altro tu usi un activeX Access quindi è limitato ad Access, se usi l'ADO su ODBC puoi accedere a database diversi senza dover cambiare il tuo codice. Per MIKE, la finestra command text è la finestra dove inserisci la stringa SQL(li devi sapere tu ceh tipo di istruzione vuoi implementare). Io utilizzo il VI come subVI, utilizzando la command text, costruita con le funzioni stringa, in base al lavoro che devo eseguire.... ---------------------------------------- ================================================================================ Ordinare Posizione controlli in TabBox ================================================================================ AUTORE: 129 DATA :17/02/2005 - 16:00:44 ---------------------------------------- Ho controllo tabBox con due pagine, che hanno controlli identici come grandezza e posizione, ogni volta che modifico la posizione di uno devo ripristinare anche quello corrispondente. Ho pensato di fare un Vi per controllare la posizione e la grandezza dei controlli. Mi è venuto fuori il VI allegato, ma non riesco ad impostare a true la property Bound, suggerimenti? ---------------------------------------- AUTORE: 113 DATA :17/02/2005 - 22:47:11 ---------------------------------------- Caro Nicola, non c'e' trippa per gatti! La property Bounds è solo e comunque in read mode! E' un vero peccato, non sarebbe male poter cambiare programmaticamente le dimensioni degli oggetti di un pannello... Però la domanda è: e con lo scripting? Da una rapida occhiata a cosa è stato fatto, non mi sembra sia possibile comunque. Se qualcuno ha notizie diverse... ---------------------------------------- AUTORE: 247 DATA :18/02/2005 - 01:59:25 ---------------------------------------- Ciao, [quote:3fan5jlm]Mi è venuto fuori il VI allegato, ma non riesco ad impostare a true la property Bound, suggerimenti?[/quote:3fan5jlm] La property Bound che probabilmente intendi tu è quella generale(quella presentata fra le prime proprietà in alto nella lista per intenderci) e a run time anche per me non è settabile; quindi tu, utilizzando reference a controlli generici, non puoi modificare le dimensioni dei controlli. Puoi farlo utilizzando richieste di modifica delle dimesioni specializzate a seconda del tipo proprio del controllo che vuoi modificare: il subVI dell'esempio che allego,\"digerisce\" la maggior parte dei controlli comunemente utilizzati e se ne manca qualcuno puoi aggiungerlo. [quote:3fan5jlm]E' un vero peccato, non sarebbe male poter cambiare programmaticamente le dimensioni degli oggetti di un pannello... [/quote:3fan5jlm] Cambiare la dimensione di un controllo a pannello a run time è fattibile, basta utlizzare le proprietà giuste, diverse da controllo a controllo, e non la generale proprietà Bound. Vi allego un esempio in LV7.0, se fa quello che volete, anche oggi i gatti mangiano!!!:D \":D\" \":D\" BYE. ---------------------------------------- AUTORE: 129 DATA :18/02/2005 - 07:29:02 ---------------------------------------- I gatti mangiano, complimenti.. \":wink:\" Però i controlli singoli sappiamo essere gestibili, quello che mi sarebbe piaciuto era farlo dalla contol di table..... Metti in conto la pinta che ti offrirò al prossimo incontro.... \"8)\" ---------------------------------------- AUTORE: 113 DATA :18/02/2005 - 07:35:40 ---------------------------------------- Standing ovation per Apollon!!! Incarni la tenacia bergamasca! Con i reference non ci avevo pensato! E' comunque curioso che una proprietà che non puoi utilizzare per un oggetto, la puoi applicare al suo riferimento. Bene, oggi si sa qualcosa in più! Alberto ---------------------------------------- AUTORE: 247 DATA :18/02/2005 - 12:23:14 ---------------------------------------- Ciao, [quote:2dm9qc5a]Però i controlli singoli sappiamo essere gestibili, quello che mi sarebbe piaciuto era farlo dalla contol di table..... [/quote:2dm9qc5a] Non ho capito cosa intendi per control di table cmq ci ho riprovato e questo esempio modifica i controlli presenti nelle tab pages successive alla prima sulla base dei controlli presenti in quest'ultima. PS: Sorry, ti ho rubato l'icona del VI, spero che non sia un problema! \":D\" \":D\" \":D\" ---------------------------------------- AUTORE: 129 DATA :23/02/2005 - 12:20:01 ---------------------------------------- Sono 100 Euro per l'icona.... \":lol:\" ---------------------------------------- ================================================================================ Problema con variabili globali e tabelle ================================================================================ AUTORE: 480 DATA :17/02/2005 - 16:04:49 ---------------------------------------- Cari amici, non so se succede anche a voi (vi scrivo appunto per ascoltare un po' di pareri), ma quando cerco di creare una variabile globale e di inserirci una tabella, con Labview 7.1, il programma si blocca e mi chiude completamente Labview!!! Dobbiamo rivolgerci a National o devo distruggere il mio PC??? Ciao e grazie ---------------------------------------- AUTORE: 480 DATA :17/02/2005 - 16:10:13 ---------------------------------------- mi correggo subito.... non solo si chiude con le tabelle, ma anche con tutti i controlli che poi hanno nel diagramma a blocchi un elemento per la gestione dei tipi! In poche parole si blocca anche con gli XY graph. Tutto ciò che prevede un modulo per la gestione dinamica dei dati blocca l'esecuzione di labview!!! ---------------------------------------- AUTORE: 129 DATA :17/02/2005 - 16:40:42 ---------------------------------------- Dici un controllo table? A me non succede; ma ti capita appena provi ad inserire il controllo o durante l'esecuzione di un Vi? Cosa intendi per gestione dinamica dei tipi, esattamente? \":roll:\" Ti invio il mio esempio prova a vedere se te lo apre, altrimenti ti suggerirei una reinstallazione di LabView... ---------------------------------------- AUTORE: 247 DATA :17/02/2005 - 17:29:52 ---------------------------------------- Nessun problema del genere per me. versione 7.0 e 7.1. BYE. ---------------------------------------- AUTORE: 480 DATA :18/02/2005 - 08:15:13 ---------------------------------------- mi succede con le tabelle che poi hanno nel diagramma a blocchi il VI che converte un segnale in tabella. Ho allegato una figura. Labview si blocca appena cerco di piazzare una tabella di questo tipo in una variabile globale. Sono riuscito a risolvere mettendo una tabella in un VI normale e copiandola poi dal pannello di controllo eliminando il VI che gestisce i tipi che LV predispone automaticamente nel diagramma a blocchi. ---------------------------------------- AUTORE: 129 DATA :18/02/2005 - 08:28:52 ---------------------------------------- \":roll:\" A me lavora bene ---------------------------------------- AUTORE: 4 DATA :18/02/2005 - 08:33:05 ---------------------------------------- Confermo anche a me nessun problema e aggiungo che la tabella è sempre una tabella anche se collegata all'express VI e generata automaticamente da LV ---------------------------------------- ================================================================================ Come eliminare righe duplicate in un array ? ================================================================================ AUTORE: 534 DATA :17/02/2005 - 17:28:11 ---------------------------------------- Ciao, All' interno di un array di stringhe ho delle righe duplicate, in altri termini dei record duplicati, ho usato dei cicli annidati e un operatore di confronto per trovare i duplicati, sono in difficoltà nella programmazione della funzione di eliminazione di questi duplicati, qualcuno può suggerirmi come fare? Grazie per aver letto questo messaggio. Saluti Luigi ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 21:14:32 ---------------------------------------- Ciao, allora se ho capito bene, quando hai 2 o più elementi uguali in un array vuoi cancellare i doppioni e tenerne solo uno.Se è questo che vuoi fare prova a guardare questo esempio e dimmi se fa al caso tuo. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 21:17:32 ---------------------------------------- Mi sn accorto di un piccolo errore. Ecco quello corretto [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 21:20:49 ---------------------------------------- Uff ecco... \":roll:\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :17/02/2005 - 21:24:08 ---------------------------------------- Se nn hai labview 7.1 ecco com'è il block diagram [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 113 DATA :17/02/2005 - 22:11:36 ---------------------------------------- Un approccio alternativo è questo. ---------------------------------------- AUTORE: 43 DATA :18/02/2005 - 04:20:16 ---------------------------------------- Questo è il mio approccio. Per piccoli array userei l'approccio di Alberto ---------------------------------------- AUTORE: 534 DATA :18/02/2005 - 09:03:44 ---------------------------------------- Ciao, grazie per le numerose risposte, l' array di stringhe è formato da 6 colonne e un numero indefinito di righe, ho notato che gli esempi fanno ricerche su array monodimensionali, quindi credo non che non siano adatti allo scopo... Attendo i vostri commenti ---------------------------------------- AUTORE: 129 DATA :18/02/2005 - 10:20:39 ---------------------------------------- Utilizzando le funzioni di Alberto e Paracarro, puoi modificare array a più dimensioni. Ti allego un esempio. ---------------------------------------- AUTORE: 113 DATA :18/02/2005 - 10:50:46 ---------------------------------------- Eventualmente, per limitare un po' i Search 1D Array, puoi anche dare un'occhiata al mio esempio modificato in cui la riga viene convertita in spreadsheet string. ---------------------------------------- AUTORE: 534 DATA :18/02/2005 - 10:51:00 ---------------------------------------- Ciao, Nicola non ho il 7.1, potresti mostrarmi lo screenshot del vi che hai realizzato? grazie! ---------------------------------------- AUTORE: 129 DATA :18/02/2005 - 11:00:35 ---------------------------------------- Si ecco, ---------------------------------------- AUTORE: 2514 DATA :06/06/2018 - 16:09:54 ---------------------------------------- Grazie mille per l'esempio ---------------------------------------- ================================================================================ LV occulto ================================================================================ AUTORE: 113 DATA :17/02/2005 - 22:51:17 ---------------------------------------- Chi vuole giocare un pò? ---------------------------------------- AUTORE: 247 DATA :17/02/2005 - 23:36:55 ---------------------------------------- AhAhAh i vecchi giochetti di magia fatti sotto il naso sono sempre i migliori... \":D\" Io ci sono cascato per ben quattro run. ---------------------------------------- AUTORE: 129 DATA :18/02/2005 - 07:38:34 ---------------------------------------- Questo è uno dei motivi per cui bisognerebbe usare la navigation window. Però confesso di averci tribolato un pò..... \":roll:\" ---------------------------------------- AUTORE: 113 DATA :18/02/2005 - 08:35:04 ---------------------------------------- Ne volete un'altra? ---------------------------------------- AUTORE: 482 DATA :18/02/2005 - 15:26:47 ---------------------------------------- eh no!...eccheccazzo!! Adesso mi spieghi il trucco!! \":o\" \":o\" \":(\" ---------------------------------------- AUTORE: 482 DATA :18/02/2005 - 15:49:27 ---------------------------------------- ...ma vafff!!!! e io pensavo che ci fosse qualche segretostrano di programmazione!!! ..piu' che altro non hocapito la storia della navigation windows..in che modoaiuterebbe?? Io ho usato il solito sistema per trovare gli errori, ho illuminato la strada! ---------------------------------------- AUTORE: 113 DATA :18/02/2005 - 16:49:44 ---------------------------------------- \":D\" \":D\" \":D\" Nicola si riferiva al primo esempio in cui una porzione del diagramma è nascosta. Questi giochini dimostrano come le buone regole di wiring possono fare la differenza nel rendere il diagramma comprensibile. Io che sono geneticamente disordinato, spesso devo forzare la mia natura per tenere i diagrammi liberi da ragnatele... I benefici però ci sono! ---------------------------------------- AUTORE: 201 DATA :19/02/2005 - 19:05:06 ---------------------------------------- Ve ne propongo uno amche io \":)\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 482 DATA :21/02/2005 - 08:07:06 ---------------------------------------- anche io ho dei problemi di disordine geneticamente non modificabili e piu' di una volta ho avuto problemi con dei VI non tanto per il wiring quanto per la smania di guadagnare spazio come in questo esempio!..poi non capivo il perchè.... ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 20:59:17 ---------------------------------------- \":wink:\" ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 21:03:25 ---------------------------------------- \":wink:\" Il 2ndo VI non c'entra con i \"nascondimenti\" nei diagrammi, quanto piuttosto con la sovrapposizione nel Front Panel. ---------------------------------------- AUTORE: 401 DATA :08/03/2005 - 12:45:46 ---------------------------------------- \":(\" come si fa a rendere visibile il filo... non ci riesco, è l'unico che non ho capito. \":(\" ---------------------------------------- AUTORE: 129 DATA :08/03/2005 - 12:49:43 ---------------------------------------- secondo me il filo in realtà è realmente quello che vedi solo che sono due nodi esterni dello stesso filo...Sbaglio? \":?:\" ---------------------------------------- AUTORE: 113 DATA :08/03/2005 - 14:17:09 ---------------------------------------- Quello che apparentemente era il più semplice, si è rivelato il più tosto! \":evil:\" Con un po' di buona volontà... \":wink:\" Devo dire che potrebbe essere un buon metodo per mascherare i diagrammi! ---------------------------------------- AUTORE: 201 DATA :08/03/2005 - 14:40:35 ---------------------------------------- si ci sono dei pannelli bianchi sovrapposti ---------------------------------------- AUTORE: 43 DATA :15/03/2005 - 22:23:07 ---------------------------------------- I \"pannelli bianchi\" non sono altro che ... testi di commento infatti clickando col tasto destro del mouse dentro la sequenza appare il classico menu' dei testi cmq basta clickare e premere [canc] oppure \"size to text\" finchè non appare il filo. P.S.: strano che tutti sapessero il tasto da premere nell'altro esempio... ---------------------------------------- AUTORE: 645 DATA :07/05/2006 - 14:12:06 ---------------------------------------- Eh eh, sono capitato su questa discussione per caso e devo ammettere che è stato divertente provare i VI allegati... ---------------------------------------- ================================================================================ finestra popup ================================================================================ AUTORE: 498 DATA :18/02/2005 - 09:33:35 ---------------------------------------- grazie mille per il suggerimento ---------------------------------------- ================================================================================ Estrarre stringhe da pagine web ================================================================================ AUTORE: 534 DATA :18/02/2005 - 15:57:00 ---------------------------------------- Ciao, E' possibile creare un vi che estragga informazioni dalle pagine web organizzandole successivamente in array di stringhe ? Potreste indicarmi come fare? Grazie anticipatamente Saluti ---------------------------------------- AUTORE: 247 DATA :18/02/2005 - 17:12:05 ---------------------------------------- Ciao, io non conosco metodi particolari per estrarre informazioni da pagine HTML, comunque, se la pagina è piuttosto semplice, non contiene tecnologie varie(flash etc..), ed è scritta in html, puoi considerarla come semplice plain text: ovvero la consideri come un comunissimo file di testo e la analizzi di conseguenza. A patto quindi che l'informazione che vuoi estrarre abbia una attributo univoco, che ti permetta di identificarla all'interno della pagina e distinguerla da tutto il resto, non dovresti avere problemi utilizzando le funzioni base della palette string o all' occorrenza qualche VI fatto da te. BYE. ---------------------------------------- ================================================================================ Aprire file grandi ================================================================================ AUTORE: 201 DATA :18/02/2005 - 18:29:13 ---------------------------------------- Ciao, come faccio ad aprire file di dimensioni notevoli, come 500 o 600 Mb o anche di più? ---------------------------------------- AUTORE: 247 DATA :18/02/2005 - 18:39:04 ---------------------------------------- Ciao, dai un'occchiata qui: [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/6A56C174EABA7BBD86256E58005D9712?opendocument:1iptwhl4]Managing Large Data Sets in LabVIEW[/url:1iptwhl4] Trovi esempi su come strutturare o dividere o diminuire il numero di dati che devi utilizzare quando la loro dimensione totale è critica (fino a qualche Gb). BYE. ---------------------------------------- AUTORE: 201 DATA :19/02/2005 - 14:04:25 ---------------------------------------- il mio problema è che devo memorizzare in un array dei file di grandi dimensioni, ma in questo modo labview mi dice che nn c'è abbastanza memoria per farlo...gli array superano facilemente la dimensione di un milione di elementi ---------------------------------------- AUTORE: 251 DATA :20/02/2005 - 18:52:22 ---------------------------------------- per quale motivo devi fare questo tipo di operazione? Caricare in un array una massa cosi' grande di dati di sicuro non e' la cosa piu' elegante che puoi fare. Se ci spieghi cosa devi fare magari si riesce a trovare una strada alternativa. Devi fare post processing, analisi dei dati....cosa?? ---------------------------------------- AUTORE: 201 DATA :20/02/2005 - 19:01:26 ---------------------------------------- devo comprimerli ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 22:06:03 ---------------------------------------- [quote="blow":10qgy588]devo comprimerli[/quote:10qgy588] Beh anche i programmi compattatori, mica si tengono tutto il malloppo in memoria \":wink:\" \":wink:\" \":wink:\" . Comprimi il tutto, poco per volta, caricando e scaricando dalla RAM blocchi di dimensioni umane!!! E poi, i PC in circolazione non sono poi così \"superdotati\" con tonnellate di RAM e disconi capienti!!!!! ---------------------------------------- AUTORE: 201 DATA :08/03/2005 - 14:44:41 ---------------------------------------- In effetti quel problema era marginale e l'avevo già risolto, ora sto cercando di creare un buon algoritmo di compressione. ciao ---------------------------------------- AUTORE: 384 DATA :20/10/2006 - 17:04:50 ---------------------------------------- Non so che tipo di dati hai, ma le frattali danno rapporti di compressione eccezionali - se usate su dati "adeguati". D'altra parte, sono complesse e molto "computing intensive"... ---------------------------------------- ================================================================================ compilazione fpga e fifo ================================================================================ AUTORE: 515 DATA :21/02/2005 - 11:03:54 ---------------------------------------- Ciao, sto cercando di compilare una VI per FPGA ma invariabilmente da questo errore, indipendentemente dalla dimensione della FIFO (da 12000 elementi a 2, non cambia)... ERROR:HDLParsers:163 - C:/NIFPGA11/srvrTmp/LOCALH~1/CRIO-9~3/rvi_fifo_write_102_30criominus9201_for_criominus9102_fpga.vhd Line 7. Unexpected symbol read: _. ERROR:HDLParsers:163 - C:/NIFPGA11/srvrTmp/LOCALH~1/CRIO-9~3/rvi_fifo_write_102_30criominus9201_for_criominus9102_fpga.vhd Line 7. Unexpected symbol read: _. ERROR:HDLParsers:164 - C:/NIFPGA11/srvrTmp/LOCALH~1/CRIO-9~3/rvi_fifo_write_102_30criominus9201_for_criominus9102_fpga.vhd Line 7. parse error, unexpected IDENTIFIER, expecting COMMA or COLON Qualcuno sa perchè?? \":|\" ---------------------------------------- AUTORE: 251 DATA :25/02/2005 - 08:29:24 ---------------------------------------- mèt, prova a postare il codice che stai realizzando qui che gli do un occhio. ciao ---------------------------------------- AUTORE: 515 DATA :17/03/2005 - 16:50:08 ---------------------------------------- Problema risolto grazie all'helpdesk di NI. Rispondo per chi eventualmente possa avere lo stesso problema: LabView Options --> VIServer --> Exported VIs Nella casella ci deve essere solo e soltanto un asterisco. Il programma di intallazione di labview in alcune versioni scrive \"everything\" e la compilazione delle fifo non funziona. ---------------------------------------- AUTORE: 4 DATA :29/03/2005 - 09:37:39 ---------------------------------------- [quote:1ceb28e2]Problema risolto grazie all'helpdesk di NI. Rispondo per chi eventualmente possa avere lo stesso problema: LabView Options --> VIServer --> Exported VIs Nella casella ci deve essere solo e soltanto un asterisco. Il programma di intallazione di labview in alcune versioni scrive \"everything\" e la compilazione delle fifo non funziona.[/quote:1ceb28e2] Non ho capito cosa c'entrano i permessi del VI server di LV con la compilazione delle FIFO \":|\" programmi senza FIFO li compilava o era un problema generico del compilatore per l'FPGA? Ciao, ---------------------------------------- AUTORE: 515 DATA :30/03/2005 - 08:41:23 ---------------------------------------- compilava tutto MENO le vi fpga con fifo... evidentemente non riusciva ad includersi le subvi correttamente... tutto il resto stranamente sì. Il buffo è che quell'asterisco è un parametro di compilazione che nessuno si è mai sognato di andare a modificare... ---------------------------------------- ================================================================================ Motion control: Find home ================================================================================ AUTORE: 295 DATA :21/02/2005 - 16:39:05 ---------------------------------------- Ciao, mi scontro di nuovo con le funzioni del Motion Control. Il semplice VI che ho allegato trova la posizione di \"home\" per il motore. Quando chiudo a massa il morsetto \"home\" del mio \"mid 7602\" il motore rallenta istantaneamente e fa un paio di avnti -indietro per centrarsi. Domanda: esiste un modo affinchè il motore rallenti graduatamente e non così bruscamente? Tra i vari setting della scheda (7334) sembra ci sia la possibilità di decidere la % della riduzione della velocità, ma oltre a non poter settare la decelerazione il mio VI non tiene conto di questi setting. Ultima domanda: come faccio a leggere lo stato dei vari morsetti della \"limit switch terminal block\" del mid. Besos. ---------------------------------------- ================================================================================ Industrial tool ================================================================================ AUTORE: 248 DATA :21/02/2005 - 18:04:48 ---------------------------------------- Quando c'era la versione 5 di LV c'era anche un tool con i simboli industriali da porre in un sinottico che riguardasse l'utilizzo di pompe, valvole et similia. Per la versione 7 esiste qualcosa di simile? O magari ci sono delle librerie di terze parti che possono andar bene? Chiedo scusa in anticipo se qualche guru si accorge che ciò che ho chiesto si rintraccia facilmente sul manuale. P.S. Vorrei qualcosa che andase al di là della autocostruzione con un editor grafico. Grazie ---------------------------------------- AUTORE: 482 DATA :22/02/2005 - 07:36:14 ---------------------------------------- ....ma ciao! non vorrei dire cazzate ma quello di cui stai parlando credo sia contenuto nel DSC toolkit!Quindi a pagamento... \"8)\" ---------------------------------------- ================================================================================ Modifica data e ora di un file tramite LV6.1 ================================================================================ AUTORE: 445 DATA :22/02/2005 - 13:09:46 ---------------------------------------- Ciao a tutti Ho un piccolo problema che sicuramente la vs esperienza potrà risolvere \":)\" ... Dovrei manipolare un file cambiandone l'ora e la data a mio piacimento, esite una funzione o un vi di esempio per fare questo? Grazie mille Niky ---------------------------------------- AUTORE: 247 DATA :23/02/2005 - 00:45:08 ---------------------------------------- Ciao, io non ho capito quale sia o dove si trova la \"data\" che vuoi modificare: è cotenuta all'interno del file oppure intendi la data assegnata di sistema al file in occasione della sua ultima modifica/salvataggio? BYE. ---------------------------------------- AUTORE: 445 DATA :24/02/2005 - 18:51:51 ---------------------------------------- Intendo la data che il sistema operativo ha assegnato al file dopo l'ultima modifica... GRAZIE ---------------------------------------- AUTORE: 201 DATA :24/02/2005 - 20:39:24 ---------------------------------------- ciao, non penso tu possa cambiare l'ora e la data dell'ultima modifica, perchè questa viene modificata propio quando modifichi un file...al limite puoi aggiornarla secondo me ma non modificarla come vuoi. ---------------------------------------- AUTORE: 247 DATA :25/02/2005 - 14:45:43 ---------------------------------------- No, possibile è possibile, solo che per ora non ho ancora trovato un programma free che lo faccia per poi incorporarlo in LV con magari una semplice chiamata. Programmi che cambiano gli attributi di un file li puoi trovare sul web, io ho provato il trial di Property Cafè che puoi scaricare [url=http://www.download.com/Property-Cafe/3000-2248_4-10299975.html?tag=lst-0-2:po1vojd7]qui[/url:po1vojd7] e funziona perfettamente. Appena trovo una versione gratuita od il codice da utilizzare mi rifaccio vivo. BYE. ---------------------------------------- AUTORE: 129 DATA :25/02/2005 - 16:35:33 ---------------------------------------- la butto così ma non ho provato nulla in merito. E provare le dll di windows? Che so magari si può trovare qualcosa... Ripeto è solo una pista, chissà? \":D\" ---------------------------------------- ================================================================================ Domanda da niubbo ================================================================================ AUTORE: 123 DATA :23/02/2005 - 13:22:43 ---------------------------------------- Ciao a tutti. Ho una domanda forse un po' stupida. Se faccio un plot con labview (ho il 7.1) e poi prelevo il grafico per metterlo in PowerPoint (con il copia-incolla), anche se modifico gli estremi dell'asse delle y (da labview), lui me lo copia con con gli estremi che mi da' in automatico quando ha finito di girare il programma. C'e' un modo perche' mi faccia la copia con gli estremi che voglio io ? ---------------------------------------- AUTORE: 129 DATA :23/02/2005 - 13:51:47 ---------------------------------------- Che tipo di grafico usi? Ti risponderei (forse banalmente), di provare a togliere l'autoscale. In questo modo puoi settare il fondo scala a tuo piaciento e rimarrebbe così anche a fine esecuzione. N.B: Se usi un chart, devi impostare una \"history lenght\" maggiore (attenzione che è tutto buffer che impegni),di default è 1024, quindi la base X è di 1024 punti. Se le cose stanno così ti consiglierei di utilizzare un \"waveform Graph\", togliere l'autoscale e impostare a tuo piacimento il fondoscala. ---------------------------------------- ================================================================================ problemi di trigger... ================================================================================ AUTORE: 593 DATA :23/02/2005 - 15:02:07 ---------------------------------------- Ciao a tutti. Ho iniziato a lavorare con labview da qualche settimana all'interno del laboratorio universitario in cui sto svolgendo la tesi; non ho incontrato particolari problemi, fino a quando..... Vi spiego il mio problema: ho una scheda AT MIO 16E 10, collegata con uno SCXI1000 al cui interno trovano posto alcuni moduli su cui non mi dilungo. Ho visto sul manuale della scheda di acquisizione che posso utilizzare un segnale esterno (applicato su uno qualunque dei terminali PFI della scheda) come segnale \"startscan\". Ma dopo varie prove e ricerche non riesco a capire come impostare all'interno del vi tale informazione. In pratica ho un segnale ad onda quadra generato da un encoder, e vorrei che in corrispondenza di ogni fronte d'onda venisse effettuata l'acquisizione di un valore di pressione. Il sensore di pressione è collegato e funzionante, e non ho alcun problema a fare acquisizioni tramite esso, il problema è sincronizzare gli istanti di acquisizione con il segnale ad onda quadra. Il problema mi sembra molto banale e semplice, ma non riesco a venirne a capo.... spero di essermi spiegato in modo chiaro e ringrazio anticipatamente chi potrà darmi qualunque tipo di informazione per cercare di risolvere la questione sulla quale mi sono un po' impantanato. Ciao Maxsa ---------------------------------------- AUTORE: 129 DATA :23/02/2005 - 15:41:19 ---------------------------------------- [quote:1ok5z0t3]Il sensore di pressione è collegato e funzionante, e non ho alcun problema a fare acquisizioni tramite esso, il problema è sincronizzare gli istanti di acquisizione con il segnale ad onda quadra. [/quote:1ok5z0t3] Il problema è chiaro ma non è chiara la base su cui stai lavorando, se magari riesci a postare la porzione di codice incriminata, magari riusciamo a capirci un pò meglio. Ciao ---------------------------------------- AUTORE: 247 DATA :24/02/2005 - 11:12:50 ---------------------------------------- Ciao, per poterti aiutare avrei bisogno di sapere un paio di cose: - che versione di LabVIEW utilizzi? - utilizzi il Traditional Daq oppure il DAQmx? - devi eseguire del codice(controllo valore letto etc..) per prendere decisioni tra un'acquisizione e l'altra o ti andrebbe bene anche recuperare i valori letti diciamo a \"posteriori\" da un buffer della scheda e visualizzarli anche più d'uno alla volta? - Quale ritardo massimo puoi tollerare tra l'arrivo dello scanclock e l'acquisizione del valore del sensore di pressione? (questo solo se devi effettuare operazioni tra un'acquisizione e l'altra) - Puoi permetterti di perdere qualche lettura \"vecchia\" pur di continuare ad acquisire? - hai già provato ad utilizzare gli esempi contenuti in LabVIEW(Help->Find Examples->..Daq..->Analog input->...uno degli esempi con ExtClk...)? BYE. ---------------------------------------- AUTORE: 593 DATA :24/02/2005 - 13:57:30 ---------------------------------------- [quote="apollon":3dnst9yh]Ciao, per poterti aiutare avrei bisogno di sapere un paio di cose: - che versione di LabVIEW utilizzi?.[/quote:3dnst9yh] Uso la versione 6.1 di labview.[quote:3dnst9yh] - utilizzi il Traditional Daq oppure il DAQmx?[/quote:3dnst9yh] Devo verificare.... [quote:3dnst9yh]- devi eseguire del codice(controllo valore letto etc..) per prendere decisioni tra un'acquisizione e l'altra o ti andrebbe bene anche recuperare i valori letti diciamo a \"posteriori\" da un buffer della scheda e visualizzarli anche più d'uno alla volta?[/quote:3dnst9yh] devo semplicemente acquisire i valori del sensore di pressione in corrispondenza dei fronti di salita dell'onda quadra, in modo da avere il valore di pressione in corrispondenza di ogni grado di rotazione (l'encoder genera un fronte di salita ogni grado di rotazione). il vi che ho fatto usa un buffer circolare per memorizzare i dati acqisiti, non ho problemi nel leggere i dati a posteriori, non dovendo fare al momento altre elaborazioni in tempo reale. mi interessa solo che l'acquisizione sia sincronizzata. addirittura mi interessa solo che venga registrata su file, quindi senza nessun tipo di esigenza di \"velocità\" nella presentazione dei dati acquisiti... [quote:3dnst9yh]- Quale ritardo massimo puoi tollerare tra l'arrivo dello scanclock e l'acquisizione del valore del sensore di pressione? (questo solo se devi effettuare operazioni tra un'acquisizione e l'altra)[/quote:3dnst9yh] Non effettuo nulla tra un'acquisizione e l'altra. non è un punto critico dell'applicazione [quote:3dnst9yh]- Puoi permetterti di perdere qualche lettura \"vecchia\" pur di continuare ad acquisire?[/quote:3dnst9yh] No, non posso perdere dati, ma considera che parliamo di 3600 campioni al secondo... con il buffer circolare acquisisco con il clock interno a 100000 campioni al secondo... [quote:3dnst9yh]- hai già provato ad utilizzare gli esempi contenuti in LabVIEW(Help->Find Examples->..Daq..->Analog input->...uno degli esempi con ExtClk...)?[/quote:3dnst9yh] Ho visto gli esempi, e tramite essi ho capito come far avviare l'esecuzione con un segnale esterno, ovvero l'acquisizione \"parte\" con il primo fronte dell'onda quadra, ma poi la frequenzacon cui vengono acquisiti i dati è quella del clock interno... [quote:3dnst9yh]BYE.[/quote:3dnst9yh] Grazie mille.... ciao ---------------------------------------- AUTORE: 593 DATA :24/02/2005 - 14:13:49 ---------------------------------------- [quote:3616pl1j]Il problema è chiaro ma non è chiara la base su cui stai lavorando, se magari riesci a postare la porzione di codice incriminata, magari riusciamo a capirci un pò meglio.[/quote:3616pl1j] Al momento ho alcune difficoltà a riguardo, appena posso rifaccio il vi in modo da averlo \"pulito\" da tutti i tentativi fatti e lo posto. per descrivere meglio a parole, comunque, preciso meglio alcune cose - ho un canale virtuale con le impostazioni del sensore di pressione. - il vi che sto cercando di fare per ora è il più semplice possibile, in modo da cercare di risolvere il problema. usa AIConfig, AIStart, AIRead con i quali riesco a fare l'acquisizione del segnale del sensore di pressione facendola iniziare con il primo fronte del segnale dell'encoder, ma la frequenza con la quale avviene l'acquisizione non viene sincronizzata con tale segnale. il problema è che non riesco a trovare documentazione circa tale tipo di sincronizzazione, ovvero di uso di un segnale esterno per il trigger dell'acquisizione. ho provato ad inserire un config trigger ma non ha avuto gli effetti desiderati, non so se perchè l'ho usato in modo sbagliato o se non è ciò che va usato.... inizialmente credevo che avrei trovato un terminale su cui collegare una costante che indicasse il terminale (PFIn) da usare per il trigger... ma così non era, o perlomeno non ci sono riuscito.... Appena posso (non so se domani posso andare in laboratorio, altrimenti se ne parla lunedì) posto il vi che ho usato. Ciao e grazie ---------------------------------------- AUTORE: 247 DATA :01/03/2005 - 10:36:14 ---------------------------------------- Ciao, non ho esperienza con il TraditionalDAQ visto che sono sbarcato con la 7.0 ed il DAQmx, comunque rileggendo i tuoi post penso che l'errore che stai commettendo sia quello di confondere il trigger con lo scan clock. Se hai un'acquisizione bufferizzata puoi utilizzare il trigger per far partire la tua acquisizione nel momento in cui si alza il segnale di trigger sul pin da te scelto, ma poi devi far proseguire l'acquisizione sulla base temporale dello scan clock che nel tuo caso sarà esterno e determinato dai fronti di salita dell'onda quadra che ricevi dall'encoder, solo così potrai avere il sincronismo tra acquisizione del segnale di pressione e pulse dell'encoder. Penso quindi che la tua difficoltà di reperire informazioni derivi dal fatto che le stai cercando sulla base di un \"argomento\" sbagliato, prova a cercare nuovamente informazioni questa volta sulla modifica dello scan clock; dovrebbe bastarti semplicemente l'help di LV riguardante il VI \"AI Clock Config\" (e anche molto importante \"AI Clock Config (Continued)\"), in particolare le voci dei parametri \"clock source\" e \"clock source string\" visto che stai utilizzando uno SCXI. \"Reindirizzati\" anche sugli esempi giusti. \":D\" Se alla fine riesci a postare il Vi cmq ci sono utenti mooolto più anziani(:o ) di me che potrebbero sicuramente darci un'occhiata anche se è sempre difficile dare consigli certi al 100% senza avere sotto mano, o già provato, esattamente la combinazione hardware-software che stai utilizzando. BYE. ---------------------------------------- AUTORE: 593 DATA :01/03/2005 - 16:16:10 ---------------------------------------- Grazie mille dei suggerimenti... ora farò dei tentativi in questa direzione. se tutto va ok posto qualcosa per far vedere i risultati \":)\" se non va ok \":(\" posto qualcosa per far vedere quello che ho fatto e che non va..... Ciao e grazie. ---------------------------------------- ================================================================================ statointerruttor ================================================================================ AUTORE: 498 DATA :23/02/2005 - 18:08:55 ---------------------------------------- Ciao a tutti, qualcuno ha idea di come si possa collegare lo stato di un pulsante ad un grafico, in modo da visualizzare lo stato del pulsante on/off su tale grafico? grazie ciao ---------------------------------------- AUTORE: 201 DATA :23/02/2005 - 19:02:06 ---------------------------------------- Ciao, guarda qui, puoi visualizzare lo stato sia su una chart che su un graph. Se nn hai labview 7.1 ecco il block diagram. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- ================================================================================ Segnali biomedici ================================================================================ AUTORE: 561 DATA :23/02/2005 - 19:54:34 ---------------------------------------- Un saluto a tutti. Mi piacerebbe aprire un forum di soli segnali biomedici, per scambiare opinioni. Come fare? Grazie a tutti. ---------------------------------------- AUTORE: 247 DATA :23/02/2005 - 23:42:03 ---------------------------------------- Ciao, [quote:2zftmszm]Un saluto a tutti. Mi piacerebbe aprire un forum di soli segnali biomedici, per scambiare opinioni. Come fare?[/quote:2zftmszm] il \"Come fare?\" si riduce al semplice chiederlo e motivarlo se per \"forum\" intendi una nuova voce all'interno dell'elenco delle nostre discussioni (programmazione, programmazione avanzata...etc) presenti in ILVG.it. Ti chiederei quindi per prima cosa di specificare meglio quale potrebbe essere il range di argomenti che potrebbero venir trattati in questo nuovo topic, giusto per motivare l'apertura di una nuova voce totalmente dedicata a questo argomento al posto che inserirlo in qualche altro topic già presente e per far capire di cosa tratti agli altri iscritti; in particolare ti chiedo di illustrare il suo collegamento con il mondo LabVIEW e con il mondo della strumentazione in genere. Facci sapere, siamo sempre disposti ad accettare i buoni consigli! BYE. ---------------------------------------- ================================================================================ Suggerimenti sulla creazione di controlli personalizzati ================================================================================ AUTORE: 596 DATA :25/02/2005 - 08:53:06 ---------------------------------------- Innanzi tutto ciao a tutti sono uno dei nuovi iscritti a seguito dei NIDays. Vado subito al problema che mi affligge, ho la necessità di creare dei sinottici di banchi di natura idraulica e sto per l'occasione creandomi nuovi controlli. Per i controlli a due stati nessun problema utilizzo il controllo boolen facendogli importare immagini diverse per i due stati in questo modo ho un controllo esattamente come voglio io che [u:36oxccb4]posso ridimensionare a piacimento.[/u:36oxccb4] Il problema sorge quando voglio creare un controllo a tre o più stati, per far ciò le possibilità che ho trovato sono modificando il controllo [i:36oxccb4]picture ring[/i:36oxccb4] o il controllo [i:36oxccb4]slide[/i:36oxccb4], ma con nessuno dei due ho ottenuto il risultato che desideravo Utilizzando lo slide ho un controllo a tre o più stati che posso ridimensionare a piacimento ma con una sola immagine per tutti gli stati (non posso ad esempio colorare diversamente ogni stato) Utilizzando il picture ring ho un controllo a tre o più stati che funziona più o meno come volevo ma che quando ridimensiono anziche scalarele immagini me ne mostra solamente un pezzettino. Grosso problema, in pratica non riesco, forse il modo c'è ma non ne sono capace, partendo dai controlli Labview ad otenere controlli che si comportino esattamente come voglio (tasti a tre stati con tre immagini ridimensionabili una per ogni stato). La soluzione sarebbe credo cquella di creare i controlli da zero specificandone il comportamento senza modificare quelli di Labview, ma ho cercato un po' su Internet e non ho capito neanche se sia possibile e quanto sia difficile. L'ultimo vincolo che mi sono imposto è quello di utilizzare controlli standard, niente controllo sovrapposti, controlli nascosti che appaiono in seuito ad eventi click poichè la gestioni su un sinottico con 30 o 40 controlli appesantirebbe il codice e diventerebbe di difficile gestione. Spero che qualcuno abbia qualche idea o suggerimento o almeno spero di avervi dato qualche sunto su limiti e funzionamento dei controlli ed indicatori in Labview. Ciao a tutti. Riccardo. ---------------------------------------- AUTORE: 247 DATA :27/02/2005 - 19:56:39 ---------------------------------------- Ciao, in ILVG abbiamo tentato un paio di volte di sondare il terreno grafica in LV, ottenendo anche risultati soddisfacenti ma sempre lamentando i difetti da te riscontrati ed utilizzando soprattutto picture rings. Se ti interessa questi sono i precedenti amatoriali grafici di ILVG: [url=http://www.ilvg.it/forum/viewtopic.php?t=588&start=0&postdays=0&postorder=asc&highlight=grafica:2vl9l0bi]Grafica LV[/url:2vl9l0bi] [url=http://www.ilvg.it/forum/viewtopic.php?t=455&start=0&postdays=0&postorder=asc&highlight=grafica:2vl9l0bi]sfarfallio immagini[/url:2vl9l0bi] [quote:2vl9l0bi]L'ultimo vincolo che mi sono imposto è quello di utilizzare controlli standard, niente controllo sovrapposti, controlli nascosti che appaiono in seuito ad eventi click poichè la gestioni su un sinottico con 30 o 40 controlli appesantirebbe il codice e diventerebbe di difficile gestione.[/quote:2vl9l0bi] Spronato dai problemi che hai messo in luce ho provato a fare qualcosa...ma contravvenendo alle tue regole. Ho \"creato\" controlli multistato che ho chiamato \"N-State Button\": questo tipo di controllo, che deve essere costruito di volta in volta o copiato se già presente, cambia stato, visualizzando il successivo quando clikki sul controllo, la visualizzazione degli stati si chiude in loop. Il controllo può avere n stati e si ridimensiona in automatico, utilizzando un sub VI. La gestione di un sinottico con un controllo o con cento controlli non cambia, quindi non avresti problemi di complessità legati al numero di controlli utilizzati. Il funzionamento del tutto si basa, come avrai già capito dal \"quando clikki sul controllo\", sugli eventi,...lo so che non è consentito.. \":D\" , ma la gestione è indipendente dal resto dell'eleborazione, ti basta inserire il sub in parallelo e non dovrebbe disturbarti a meno che non utilizzi gli eventi anche in altri punti; in questo caso dovresti modificare il VI di gestione per restituirti i riferimenti agli eventi dinamici che dovresti aggiungere all'unica stuttura Event che utilizzi. Per ora il tutto è in versione alpha: funziona se fai tutto correttamente, le reference non vengono chiuse, e i sub-vi non hanno gestione degl errori..cmq ho aggiunto i commenti nel codice per spiegare approssimativamente come funziona il tutto. N.B Modificalo quanto vuoi, possiamo anche portarlo avanti insieme se condividi la strada...e se ovviamente ti interessa. \":D\" \":D\" \":D\" BYE. ---------------------------------------- AUTORE: 596 DATA :01/03/2005 - 09:18:55 ---------------------------------------- [quote:cml85lfh]Modificalo quanto vuoi, possiamo anche portarlo avanti insieme se condividi la strada...e se ovviamente ti interessa. BYE. [/quote:cml85lfh] L'idea mi piace anche perchè con i miei vincoli sarebbe stato impossibile! \":D\" Soprattuto avere tutta la gestione per di più dinamica dei bottoni in un sub-vi mi sembra un ottimo compromesso. Dammi qualche giorno e posto la versione 0.2 ho in mente qualche modifica interessante. Ciao e grazie dell'idea. Riccardo ---------------------------------------- AUTORE: 247 DATA :01/03/2005 - 16:53:53 ---------------------------------------- Ottimo!:D Sono venute in mente anche a me un paio di evoluzioni interessanti, cmq aspetto la tua versione per non sprecare lavoro sviluppando parallelamente strade incompatibili. BYE. ---------------------------------------- ================================================================================ Eliminare righe comuni in due array bidimensionali ================================================================================ AUTORE: 534 DATA :25/02/2005 - 13:48:14 ---------------------------------------- Ciao a tutti grazie per i numerosi ed efficaci consigli ricevuti precedentemente. Come fare per confrontare due array bidimensionali e creare un terzo array che contenga soltanto le righe che non sono in comune? Saluti ---------------------------------------- AUTORE: 129 DATA :25/02/2005 - 17:03:59 ---------------------------------------- Prova questo, l'ho fatto in labview 7.0. Il vi principale è confronta array, che volutamente è fatto in variant, non sapendo il tipo di dato che devi trattare, poi il VI untitled, trasforma in stringa, così lo usi come base per trasformare altri tipi di dato. ---------------------------------------- AUTORE: 534 DATA :25/02/2005 - 17:13:35 ---------------------------------------- Ho dimenticato di specificare che si tratta di stringhe di testo... ---------------------------------------- AUTORE: 129 DATA :25/02/2005 - 17:45:50 ---------------------------------------- Immaginavo, infatti ti ho messo il vi che trasforma il variant in stringhe di testo (si chiama untitled2.vi) all'interno della .llb Sei riuscito ad aprirlo?Siccome non mi ricordo che versione LV hai, ti mando lo screenshot. n.b. al posto dei variant puoi usare array text string.... ---------------------------------------- AUTORE: 534 DATA :28/02/2005 - 08:51:37 ---------------------------------------- Si l'ho aperto, grazie, lo sto utilizzando anche se non ho capito perfettamente come funziona, saresti disposto ad illustrarmi il funzionamento? ---------------------------------------- AUTORE: 4 DATA :07/03/2005 - 11:18:13 ---------------------------------------- Nicola: Mi permetto di fare un paio di appunti sul codice che hai postato - funziona solo su array di dimensioni identiche altrimenti il for \"gira\" solo per l'array più piccolo quindi tutti i dati presenti nell' array più grande a partire dall'indice della dimensione di quello piccolo, andrebbero persi. - funziona solo se i dati duplicati sono allo stesso indice nei due array se ho Array 1 [1,2,3] Array 2 [3,5,7] l'array risultante sarà [1,[b:19yt4sg7]3[/b:19yt4sg7],2,5,[b:19yt4sg7]3[/b:19yt4sg7],7] \":arrow:\" tracert: Non ho capito se devi 1 rimuovere i duplicati lasciandone solo uno es. [1,2,3] e [3,5,7] diventa [1,2,3,5,7] 2 rimuovere i duplicati completamente es. [1,2,3] e [3,5,7] diventa [1,2,5,7] se la prima ipotesi è quella corretta questa è la mia soluzione, se non ti è chiaro il funzionamente chiedi pure. Ciao, ---------------------------------------- AUTORE: 129 DATA :07/03/2005 - 11:26:59 ---------------------------------------- Ottimo, Ale. In effetti non avevo considerato questo aspetto, rilevante..... \":lol:\" ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 21:23:11 ---------------------------------------- Giusto Ale. \"Eliminare righe comuni in [u:1rlh3tgi][b:1rlh3tgi]due[/b:1rlh3tgi][/u:1rlh3tgi] array bidimensionali\" si riduce a \"Come eliminare righe duplicate in [u:1rlh3tgi][b:1rlh3tgi]un[/b:1rlh3tgi][/u:1rlh3tgi] array ?\" semplicemente accodando un array (o matrice) all' altro e ripetendo la soluzione già provata. Cmq, anche qua, sarebbe bello capire se i \"doppioni\" possono essere eliminati alla fonte e, a cosa serve quella maledetta matrice di stringhe.. Per \"fonte\", intendo il caricamento da file, oppure l'inserimento da parte di un operatore tramite interfaccia. ciao ---------------------------------------- AUTORE: 534 DATA :11/03/2005 - 16:09:49 ---------------------------------------- Ciao, Devo rimuovere i duplicati lasciandone solo uno es. [1,2,3] e [3,5,7] diventa [1,2,3,5,7] Inoltre gli array NON SONO di dimensioni identiche. ---------------------------------------- AUTORE: 4 DATA :11/03/2005 - 16:19:11 ---------------------------------------- allora la mia soluzione fa' al caso tuo Ciao ---------------------------------------- ================================================================================ problemi nel rilevamento di frequenza di un segnale ================================================================================ AUTORE: 492 DATA :26/02/2005 - 16:17:27 ---------------------------------------- Salve, ho necessità di analizzare un segnale in frequenza, ma utilizzando i seguenti blocchi ho riscontrato vari problemi: 1) \"Timing and Transition Measurements\" 2) \"extract single tone information\" Ho utilizzato, per fare delle prove, il blocco \"simulate signal\" facendo generare delle onde quadre, ma non appena abbasso la frequenza del segnale (es 4 Hz) il blocco 1) scritto sopra mi da errore, mentre il blocco 2) mi da sempre valore infinito. Esiste qualche altro blocco per pter analizzare la frequenza del segnale in ingresso? o magari sbaglio io a sattera qualcosa (ho provato settaggi vari all'interno del \"simulate signal\" andando a variare il \"timing\" ma non ho risolto nulla). Grazie. ---------------------------------------- AUTORE: 247 DATA :26/02/2005 - 18:25:32 ---------------------------------------- Ciao, per prima cosa ti invito a riportare il codice errore che ti viene resituito dal VI \"Timing and Transition Measurements\" e cmq intanto ti invito a fare il seguente cotrollo che penso essere causa del tuo errore(soprattutto perchè dici che ti capita scendendo con la frequenza del segnale generato): Il VI \"Timing and Transition Measurements\" ha bisogno di ricevere in ingresso (signals) come minimo almeno (1,5 periodi completi+2 campioni) dell'onda che deve analizzare; devi quindi settare il VI di generazione in modo che fornisca in uscita almeno i campioni relativi a tale quantità minima perchè il VI seguente possa effettuare l'analisi. 1,5 periodi completi+2 campioni è cmq il limite inferiore. Quindi campionando a 100Hz un'onda a 2Hz devi ottenere per l'analisi almeno (100Hz/2Hz)= 50 campioni per periodo -> (50 campioni*1,5+2)=77 campioni (number of samples). Aggiungo un esempio settato come sopra, cambiando le impostazioni dell'express Simulate Signal puoi notare che impostando meno di 77 campioni il Vi di analisi dà errore, impostando 77 o più campioni, il Vi di analisi esegue correttamente. Scendendo con la frequenza del segnale campionato a parità di frequenza di campionamento, il numero di campioni aumenterà di conseguenza. Se non utilizzi il Vi express ed usi i Vi di generazione classici, puoi fare il calcolo dei campioni da generare automaticamente nel codice evitando così di dover modificare tutte le volte l'express. L'errore del Vi successivo è probabilmente dovuto alla errata esecuzione del Vi precedente. BYE. ---------------------------------------- AUTORE: 492 DATA :27/02/2005 - 10:52:08 ---------------------------------------- La ringrazio infinitamente per la sua disponibilità ma soprattutto per le sue competenze. Grazie a Lei ho risolto un problema che sembrava insormontabile. Un cordiale saluto. ---------------------------------------- ================================================================================ formula node ================================================================================ AUTORE: 73 DATA :28/02/2005 - 09:46:38 ---------------------------------------- Vorrei sapere se c'è qualche controindicazione nell'usare i formula node, cioè in un ciclo che viene effettuato 1 volta al secondo è meglio usare quelli o i blocchetti molt,div etc...? da un punto di vista occupazione memoria e prestazioni è lo stesso ? Grazie a tutti ---------------------------------------- AUTORE: 129 DATA :28/02/2005 - 21:35:23 ---------------------------------------- Secondo me dal punto di vista computazionale il formula node è più pesante di una funzione di somma, ma se devi fare operazioni complesse ti conviene utilizzarla. ---------------------------------------- ================================================================================ Un-Zip da LV ================================================================================ AUTORE: 583 DATA :28/02/2005 - 12:41:02 ---------------------------------------- Qualcuno sa come aprire e manipolare programmaticamente da LV file winzip protetti da psw? Grazie ---------------------------------------- AUTORE: 129 DATA :28/02/2005 - 12:46:51 ---------------------------------------- Ciao, sul sito [url=http://www.OpenG.org:1jhymoem]OpenG[/url:1jhymoem] è disponibile una libreria per file lavorare con librerie zip. Il percorso per trovare i toolkitOpenG completo è [url=http://sourceforge.net/projects/opengtoolkit/:1jhymoem]OpenGPackage[/url:1jhymoem] \":wink:\" ---------------------------------------- AUTORE: 583 DATA :28/02/2005 - 12:52:31 ---------------------------------------- grazie ---------------------------------------- ================================================================================ Cambiare le proprieta' owner di un file ================================================================================ AUTORE: 13 DATA :02/03/2005 - 11:58:57 ---------------------------------------- Mi chiedevo se era possibile con qualche altro metodo visto e considerato che WINZOZ non permette l'utilizzo della libreria (Type and Creator) poter settare a piacere i parametri di owner e type di un qualsiasi File....... La cosa sembra funzionare su piattaforma MAC OS ma non su winzoz \":-(\"((((((((((((((((((((((((((((((((((((((((((( Chi potra' essermi di aiuto ? Grazie e complimenti per il forum ---------------------------------------- ================================================================================ Come Eliminare righe comuni in due array bidimensionali di l ================================================================================ AUTORE: 534 DATA :02/03/2005 - 14:02:37 ---------------------------------------- Ciao a tutti Come fare per confrontare due array bidimensionali composti da un numero di righe differenti e creare un terzo array che contenga soltanto le righe che non sono in comune? Gli array contengono stringhe. ---------------------------------------- ================================================================================ convrtire counts in millimetri ================================================================================ AUTORE: 537 DATA :02/03/2005 - 14:32:42 ---------------------------------------- Qualcuno è in grado di aiutarmi a fare la conversione dei counts, con cui si muove un attuatore (problema motion...), in millimetri?? ---------------------------------------- AUTORE: 482 DATA :02/03/2005 - 15:54:16 ---------------------------------------- ..mmhh... innanzitutto bisogna vedere il rapporto di riduzione tra il motore che trasmette il moto e l'organo in movimento, e poi bisogna sapere il numero di impulsi al giro che restituisce l'encoder. Una volta che hai questi due dati devi semplicemente fare dele equazioni stabilendo a quanti mm equivale un giro e di conseguenza a quanti mm ogni singolo impulso. Es: Encoder=4096 impulsi/giro (caratteristica propria dell'oggetto) Riduzione= 1/10 Movimento= 5mm/giro 45 giri del motore sono 5mm quindi 1 giromotore=5/10mm=0,5mm per cui 0,5mm=4096 impulsi quindi un impulso=(1*0,5)/4096=0,00012 mm Di conseguenza dovrai moltiplicare l'uscita del VI che conta gli impulsi per questo valore per ottenere i mm. \":wink:\" ---------------------------------------- AUTORE: 537 DATA :02/03/2005 - 16:14:47 ---------------------------------------- Grazie per l'aiuto. Sei stato preziosissimo. Spero di darti buone nuove... ---------------------------------------- AUTORE: 482 DATA :02/03/2005 - 16:28:20 ---------------------------------------- scusa, sopra avevo scritto un \"45 giri del motore sono 5mm \" che nonc'entra niente, è che avevo messo come rapporto di riduzione 1/45 all'inizio, poi invece ho cambiato a 1/10 per semplificare i conti! ---------------------------------------- AUTORE: 482 DATA :02/03/2005 - 16:29:46 ---------------------------------------- quindi non è 45 ma 10 giri del motore=5mm !! ---------------------------------------- AUTORE: 537 DATA :02/03/2005 - 19:14:19 ---------------------------------------- ok...ricevuto..ti farò sapere, penso domani sera al massimo grazie ancora ---------------------------------------- AUTORE: 537 DATA :03/03/2005 - 16:50:07 ---------------------------------------- le caratteristiche del motore a 2 fasi vt-80 sono: step angle = 1.8° steps = 200 Pitch = 1mm/rev [OK] resolution/fullstep = 5 micromillimetri encoder = 500 pulse/revolution [OK] con OK ti ho indicato quelli che credo siano i parametri ch mi hai chiesto quello che non ho trovato è la vi che legge gli impusi...potresti aiutarmi in proposito? Grazie!! ---------------------------------------- AUTORE: 537 DATA :03/03/2005 - 16:55:19 ---------------------------------------- non ho le idee chiare sul tipo di vi da utilizzare per contare gli impulsi e sul modo con cui si possono sfruttare le informazioni che ho a disposizione per crearmi un programmino in labview per fare la conversione. Grazie mille anticipate. Marcello ---------------------------------------- AUTORE: 129 DATA :03/03/2005 - 17:08:55 ---------------------------------------- contare gli impulsi? Per mia esperienza con il conteggio di impulsi in win è un serio problema, quindi sarebbe conveniente avere un contatore esterno che ti passa l'informazione numerica del conteggio..... Se fai un contatore software potresti avere seri problemi di conteggi inesatti. Se usi un contatore , questo passa al programma un informazione che poi puoi elaborare senza errori. Co labview fare la conversione sarebbe un giochetto,il problema è sapere il dato di ingresso, (array di int32, Scalare DBl ecc.).... FAcci un esempio su ciò che usi (HW e SW).... ---------------------------------------- AUTORE: 537 DATA :03/03/2005 - 19:12:55 ---------------------------------------- Di conseguenza dovrai moltiplicare l'uscita del VI che conta gli impulsi per questo valore per ottenere i mm mi serve questa vi se esiste ---------------------------------------- AUTORE: 482 DATA :04/03/2005 - 07:50:49 ---------------------------------------- servono idettagli! \":D\" Hai parlato di un problema motion e io ho pensato che tu avessi una scheda assi con la rispettiva UMI o cosa del genere. Confermi questa cosa che io sbagliando ho dato per scontata? Se usi harware motion la risposta è mooooooooolto semplice c'e' il vi che ti restituisce i conteggi precisi dell'encoder, se cosi' non è e usi un counter delle schede Daq la teoria della conversione è sempre la stessa ma a livello di prestazioni è meno efficiente. Inoltre devi tenere presente che i conteggi dell'encoder nel settaggio delle schede motion vanno moltiplicati per 4 se arrivano da un encoder esterno piuttosto che da un resolver(o encoder simulato)già presente sul motore. ---------------------------------------- ================================================================================ file criptato o protetto ================================================================================ AUTORE: 591 DATA :04/03/2005 - 09:43:33 ---------------------------------------- Ciao a tutti, vorrei proporvi il mio problema. Devo salvare su file dei dati (alfanumerici) ma questi devo essere protetti o criptati in modo da non permetterne la modifica da parte di terzi. Sapete se esiste qualche vi che puo' fare al caso mio? Grazie anticipatamente. ---------------------------------------- AUTORE: 591 DATA :04/03/2005 - 09:50:31 ---------------------------------------- ps. cio' che devo proteggere è una tabella. Ovviamente devo essere in grado di ricostruire la tabella dal file per eventuali stampe dei dati acquisiti. ---------------------------------------- AUTORE: 129 DATA :07/03/2005 - 09:42:30 ---------------------------------------- E' un pò banale ma è il meglio che ho tirato fuori dal cilindro.... \":wink:\" ---------------------------------------- AUTORE: 4 DATA :07/03/2005 - 11:01:50 ---------------------------------------- Ciao benvenuto in ILVG Ci sono molti mod per eseguire una criptazione dei dati ti riprto quello classico che esegue lo XOR dei tuoi dati con una chiave fissa. Con questo VI puoi sia decriptare che criptare: se in string in entrano dati criptati vengono decriptati e vice versa, ovviamente non devi rendere nota la chiave di cifratura altrimenti la codifica può essere facilmente forzata. Se vuoi anche che i tuoi file non siano modificabili da nessuno allora devi usare i permessi di accesso ai file del sistema operativo sul quale gira la tua applicazione. Ciao, ---------------------------------------- AUTORE: 129 DATA :07/03/2005 - 13:25:35 ---------------------------------------- La soluzione di Ale mi ha spinto a creare una llb , dove sono disponibili un file per scrivere la tabella dopo averla criptata, e ponendo delle regole di accesso; e un altro per leggere il file dopo averlo decriptato.... Grande Ale, ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 20:45:03 ---------------------------------------- prova questo VI veloce.... se ti piace applica le varianti che piu' preferisci... ---------------------------------------- AUTORE: 43 DATA :07/03/2005 - 20:51:15 ---------------------------------------- trattandosi di tabella ---------------------------------------- AUTORE: 591 DATA :08/03/2005 - 08:46:38 ---------------------------------------- Innanzitutto grazie a tutti per le varie soluzioni. Andiamo con ordine. La soluzione di Nicola va bene ma non permette di inserire una chiave quindi per il mio caso non va bene. Quella di Ale è un ottima idea ma la criptazione è legata alla lunghezza della chiave che si usa nel senso che limita la dimensione della stringa in ingresso (di cio' ci se ne accorge quando si prova a decriptare). Per gli altri devo ancora provarli quindi vi faccio sapere presto. Per conto mio ho provato ad usare un vi fornito direttamente da NI ovvero \"LabVIEW Blowfish Encryption\" (basta fare una ricerca sul sito NI) ma richiedendo l'uso di una dll lo avevo accantonato. Grazie per le risposte sono comunque OTTIMI spunti. ---------------------------------------- ================================================================================ Filtro digitale ================================================================================ AUTORE: 613 DATA :08/03/2005 - 14:01:46 ---------------------------------------- Devo acquisire un segnale dal canale 0 e lo devo filtrare con un filtro digitale. Ho collegato l'uscita del AI sample channel direttamente in ingresso al blocco del filtro. Ma quando mando in esecuzione mi dice: the cutoff frequency,fc, must met: 0 <= fs/2 Avete consigli? ---------------------------------------- AUTORE: 613 DATA :08/03/2005 - 15:08:04 ---------------------------------------- Riformulo la domanda, qualcuno mi sa dire come faccio a filtrare un segnale acquisito con un filtro di tipo fir o iir e visualizzare su schermo il risultato. Ve ne sarei grato, perchè mi laureo tra 15 giorni e solo oggi il professore mi ha chiesto questa cosa e il labview è una parte secondaria della tesi che quindi non ho studiato. Grazie ---------------------------------------- AUTORE: 645 DATA :30/03/2006 - 08:24:19 ---------------------------------------- Penso che ormai sia tardi per rispondere ma provo lo stesso. L'errore che viene segnalato sembra voler dire: la frequenza di campionamento deve essere almeno il doppio della frequenza del segnale da campionare. Non capisco come mai ci sia "0": sembra che il segnale iniziale sia a frequenza nulla. È una forma d'onda continua? Comunque questo errore salta fuori quando la condizione di campionamento non viene rispettata. ---------------------------------------- ================================================================================ download labview per linux ================================================================================ AUTORE: 537 DATA :09/03/2005 - 13:03:42 ---------------------------------------- qualcuno mi può indicare un sito dal quale si può fare il download del labview per linux? grazie ---------------------------------------- AUTORE: 247 DATA :09/03/2005 - 17:32:04 ---------------------------------------- Non è proprio così semplice...LabVIEW for Linux viene venduto da National Instruments come prodotto software normale e quindi lo puoi acquistare tramite il sito NI-Italia ad un prezzo, se non mi ricordo male, uguale a quello di LabVIEW per Windows. BYE. ---------------------------------------- ================================================================================ Qual'e' l'ordine di esecuzione in LV? ================================================================================ AUTORE: 204 DATA :09/03/2005 - 15:45:57 ---------------------------------------- Ciao a tutti, qual'e' l'ordine di esecuzione dei singoli blocchi, loops ecc. all'interno di LV? Es. se ho tre While loop, come vengono eseguiti? Grazie dell'attenzione ---------------------------------------- AUTORE: 482 DATA :09/03/2005 - 16:11:54 ---------------------------------------- Vediamo se riesco a spiegarlo. Pe rutilizzare LabView il concetto di base da tenere presente è il dataflow ovvero il flusso di dati. I singoli blocchi vengono eseguiti in cascata seguendo i file che li collegano. Solitamente questo flusso viene disegnato da sinistra verso destra. I cicli e case vari vengono eseguiti dall'esterno verso l'interno ..e ..direi basta. per quanto riguarda i cicli while paralleli vengono eseguiti \"simultaneamente\" tra virgolette nel senso che vengono eseguiti in contemporanea ma a seconda del quantitativo di memoria che richiedono ecc ci metteranno il loro tempo e di conseguenza potrebbero restare sfalzati. Inoltre nonc'e' garanzia che questi partano contemporaneamente a meno che non si fa uso delle apposite funzioni di sincronismo. Inoltre nelle proprietà di ogni singolo VI c'e' la possibilità di stabilire la priorità concui questi vengono eseguiti a seconda che siano dei vi che abbiano situazioni temporali critiche o che possano essere eseguite coem ultime ruote del carro! \":o\" \":wink:\" ---------------------------------------- ================================================================================ PID ================================================================================ AUTORE: 409 DATA :10/03/2005 - 11:44:59 ---------------------------------------- ciao a tutti, devo crearmi un PID per simulare il controllo di una temperatura agendo su di una valvola. Qualcuno mi sa dare delle dritte su come costruirmi il PID? ho visto gli esempi che ci sono nel programma ma non riesco a capire se il PID me lo devo costruire o se esiste gia´ come funzione. Grazie a tutti davide ---------------------------------------- AUTORE: 482 DATA :10/03/2005 - 16:16:05 ---------------------------------------- ma hai l'add on del PID o vuoi creartelo da zero? ---------------------------------------- AUTORE: 201 DATA :01/04/2005 - 17:40:09 ---------------------------------------- Ciao, creare un PID con labview è relativamente semplice. Chiamiamo E(errore) la differenza tra la temperatura del sistema che analizzi, e quella che tu vorresti (Riferimento). Ti basta quindi creare 3 costanti KP, KI, KD che sono quelle che indicano quanto \"forte\" deve essere il contributo Proporzionale, Integrativo e Derivativo. Detto questo avrai che Y=E*KP+E*KI*t+DE*KD con DE la derivata di E rispetto a t e Y l'azione di regolazione da apllicare alla valvola. ---------------------------------------- AUTORE: 482 DATA :04/04/2005 - 07:11:42 ---------------------------------------- ..alla faccia delrelativamente semplice!!! \":o\" \":o\" \":D\" ---------------------------------------- AUTORE: 248 DATA :05/04/2005 - 09:06:17 ---------------------------------------- Ciao Blow, interessante il tuo approccio...avresti per caso anche un esempietto? ---------------------------------------- AUTORE: 482 DATA :05/04/2005 - 14:28:18 ---------------------------------------- ..ma ciao! avevo aperto un topic chiedendo aiuto su un problema di PID, ma prendo spunto da questa spiegazione di Blow... La logica che segui è ok, ma i valori di queste costanti con che logica li impongo? Se hai una risposta ti prego di dare un occhiata al mio topic per vedere se mi sai aiutare in quel problema che mi assilla! [url:1qjtlzih]http://www.ilvg.it/forum/viewtopic.php?t=692[/url:1qjtlzih] ---------------------------------------- AUTORE: 248 DATA :05/04/2005 - 15:20:40 ---------------------------------------- Ciao Geppo, le costanti non sono molto semplici da trattare a tavolino e solitamente si tarano \"in campo\" in funzione di come risponde il sistema empiricamente. In ogni caso in rete ci sono parecchi tutorial su questo tipo di regolazione e ti permettono di imparare qualche trucchetto in fase di messa a punto di quei parametri. Mi interesserebbe sapere invece come Blow tratta la derivata e la variabile \"t\" con LV. ---------------------------------------- AUTORE: 201 DATA :06/04/2005 - 14:57:20 ---------------------------------------- Eccome come lo vedo io, ho cercato di spiegarlo meglio possibile spero di esserci riuscito. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :06/04/2005 - 14:59:57 ---------------------------------------- [quote="gepponline":35fvs8dy]..ma ciao! avevo aperto un topic chiedendo aiuto su un problema di PID, ma prendo spunto da questa spiegazione di Blow... La logica che segui è ok, ma i valori di queste costanti con che logica li impongo? Se hai una risposta ti prego di dare un occhiata al mio topic per vedere se mi sai aiutare in quel problema che mi assilla! [url:35fvs8dy]http://www.ilvg.it/forum/viewtopic.php?t=692[/url:35fvs8dy][/quote:35fvs8dy] Ciao, come ti hanno già risposto le costanti per far lavorare un PID nel miglior modo possibile vanno trattate sul campo. Così senza conoscere la macchina non saprei propio come consigliarti. ---------------------------------------- AUTORE: 248 DATA :06/04/2005 - 18:02:08 ---------------------------------------- Ciao Blow, grazie per il vi messo a disposizione. Una cosa vorrei chiederti: come mai il blocco matematico tratta la differenza del segnale d'ingresso piuttosto che il differenziale? Ho capito male qualcosa? Grazie. ---------------------------------------- AUTORE: 201 DATA :06/04/2005 - 18:36:25 ---------------------------------------- [quote="Lucky67":c9psgriw]Ciao Blow, grazie per il vi messo a disposizione. Una cosa vorrei chiederti: come mai il blocco matematico tratta la differenza del segnale d'ingresso piuttosto che il differenziale? Ho capito male qualcosa? Grazie.[/quote:c9psgriw] No no dalla fretta ho sbagliato a settarlo, va messo su differential e non difference. Hai fatto bene a farmelo notare, scusate. ---------------------------------------- AUTORE: 67 DATA :12/04/2005 - 11:04:15 ---------------------------------------- Nel caso tu non sia in possesso del PID Control Toolset della NI puoi comunque dare un'occhiata al manuale utente per farti un'idea, eccoti il link: http://digital.ni.com/manuals.nsf/webse ... endocument A pag. 35 di questo manuale ti viene spiegato come eseguire una prova a ciclo aperto per calcolarti i parametri PID da cui partire ad eseguire un'affinamento degli stessi; l'affinamento, come detto da altri in precedenza, va fatto sul campo. A questo link trovi un'altro documento (in italiano) su cui meditare: http://alpha.science.unitn.it/~bassi/Appunti/PID.pdf Ciao ---------------------------------------- AUTORE: 662 DATA :26/04/2005 - 07:20:36 ---------------------------------------- Salve a tutti, sull'argomento PID volevo segnalare un \"tutorial\" in PDF che si trova all'indirizzo http://www.ifac-control.org/publication ... xRuano.pdf E' piuttosto completo, anche se lungo. Tratta anche i PID autotuning che dovrebbero rispondere alle esigenze di chi non sa come fare il \"guess\" delle costanti derivative, integrative e proporzionali. Inoltre, a pg 64, il tutorial cita come implementazione software di un autotuning PID un adds-on di NI dal cui manuale si vede come e' praticamente scritto, essendo il codice visibile. Sul mercato esistono diversi regolatori di processo PID con funzioni autotuning e self-tuning che non necessitano di messe a punto a \"loop\" aperto del sistema..., il problema e' carpirne gli algoritmi ! Saluti e buon lavoro roberto ---------------------------------------- ================================================================================ OBD su Labview ================================================================================ AUTORE: 591 DATA :10/03/2005 - 16:06:00 ---------------------------------------- Ciao a tutti, rieccomi qui con un nuovo problema. Devo leggere da un auto i parametri tramite la presa obd. Essendo questo un protocollo seriale ho costruito una interfaccia (lo schema lo si trova su internet) che permette di adattare i livelli a quelli della seriale rs232. Quello che devo fare è quindi leggere il protocollo obd direttamente dalla seriale senza usare ulteriore hw. Quello che vorrei sapere è se è possibile reperire (gratuitamente) dei vi che fanno al caso mio. Ho trovato qualcosa: http://openg.org/tiki/tiki-index.php?pa ... 0-%20OBDII ma non trovo nessun download. Se qualcuno puo' darmi una dritta.... Grazie. ---------------------------------------- AUTORE: 645 DATA :10/10/2013 - 17:26:04 ---------------------------------------- Riprendo dopo tanto tempo questo post... Qualcuno ha fatto qualcosa in questo ambito? ---------------------------------------- ================================================================================ event structure ================================================================================ AUTORE: 498 DATA :12/03/2005 - 14:34:51 ---------------------------------------- ciao a tutti, ho un problema con un event structure.Con questo esempio sto visualizzando su un chart il cambio di stato di un interruttore, quando cio' avviene compare un messaggio, pero' si blocca lo scorrere del tempo sul grafico , è l'event structure che mi blocca tutto come lo risolvo, in allegato l'esempio che forse è piu' chiaro ---------------------------------------- AUTORE: 247 DATA :12/03/2005 - 14:58:35 ---------------------------------------- Ciao, ho provato a modificare il tuo esempio semplicemente togliendo l'event dal while principale visto che era proprio quella che bloccava giustamente il tutto. Dimmi se così può andare. BYE. ---------------------------------------- AUTORE: 498 DATA :12/03/2005 - 15:48:21 ---------------------------------------- ok adesso sembra funzionare ---------------------------------------- AUTORE: 201 DATA :13/03/2005 - 13:17:27 ---------------------------------------- oppure basta che colleghi alla clessidrina dell'evetn structure una costante di valore zero. ciao ---------------------------------------- AUTORE: 247 DATA :13/03/2005 - 15:20:04 ---------------------------------------- [quote:27es35jf]oppure basta che colleghi alla clessidrina dell'evetn structure una costante di valore zero. [/quote:27es35jf] [size=100:27es35jf][color=red:27es35jf][b:27es35jf]ASSOLUTAMENTE VIETATO!!!![/b:27es35jf][/color:27es35jf][/size:27es35jf] Collegando una costante di valore zero all'event structure forzi la struttura ad eseguire continuamente l'evento di timeout perdendo tutti i vantaggi dell'event structure, principalmente risparmiare risorse eliminando polling inutile, e sovraccarichi la CPU al 100%, controlla con il task manager.., stile ciclo while senza temporizzazione! BYE. ---------------------------------------- AUTORE: 201 DATA :13/03/2005 - 20:01:59 ---------------------------------------- [quote="apollon":10pt5gbm][quote:10pt5gbm]oppure basta che colleghi alla clessidrina dell'evetn structure una costante di valore zero. [/quote:10pt5gbm] [size=100:10pt5gbm][color=red:10pt5gbm][b:10pt5gbm]ASSOLUTAMENTE VIETATO!!!![/b:10pt5gbm][/color:10pt5gbm][/size:10pt5gbm] Collegando una costante di valore zero all'event structure forzi la struttura ad eseguire continuamente l'evento di timeout perdendo tutti i vantaggi dell'event structure, principalmente risparmiare risorse eliminando polling inutile, e sovraccarichi la CPU al 100%, controlla con il task manager.., stile ciclo while senza temporizzazione! BYE.[/quote:10pt5gbm] Scusa ma penso che inserendo la costante o fare come hai suggerito tu si ha la setssa identica situzaione, cioè il ripetere sempre quello che ha nel ciclo while. Ora tu hai solo tolto l'event dal ciclo, ma quel ciclo lo ripete sempre quindi i vantaggi dell'event structure gli hai persi comunque. ---------------------------------------- AUTORE: 247 DATA :13/03/2005 - 22:01:30 ---------------------------------------- Ciao, il mio intervento voleva essere più un monito ed un invito a non utilizzare mai l'event structure con un tempo di timeout uguale a zero, a meno che si sia sicuri al 100% di quello che si sta facendo, che un parere strettamente legato al caso in questione. In particolare però, per l'esempio sopra, hai parzialmente ragione: Se lasci l'event con costante di timeout uguale a zero all'interno dell'unico ciclo while il VI esegue correttamente senza occupare tutto il tempo di CPU grazie alla presenza del temporizzatore. Se scegli questa strada, che cmq non condivido perchè quantomeno \"poco chiara\" a livello di impostazione del codice, devi aggiungere qualche \"accorgimento\": - Il temporizzatore non ti serve più e lo puoi eliminare visto che è possibile ottenere la temporizzazione del ciclo impostando la costante di timeout (a 100 nel caso in esempio) dell'event structure.. - L'event structure viene eseguita tutte le volte inutilmente ed il suo \"peso\", anche se non fa nulla, aumenta con la frequenza di esecuzione del ciclo. - Perdi la possibilità di utilizzare l'evento di Timeout dell'event structure, visto che lo usi \"a sproposito\", a meno che non debba avere esattamente la stessa frequenza di esecuzione del ciclo while in cui metti la struttura. [quote="blow":3gxc3xn3]Ora tu hai solo tolto l'event dal ciclo, ma quel ciclo lo ripete sempre quindi i vantaggi dell'event structure gli hai persi comunque.[/quote:3gxc3xn3] Spostando fuori l'event structure non perdi nessun vantaggio, anzi, li guadagni! Pensa al caso in cui tu voglia gestire anche solo la pressione di un'altro bottone dell'interfaccia per salvare i valori del grafico in un file: se lasci l'event nel while, e l'operazione di salvataggio ha un tempo di esecuzione superiore(sommando anche le altre operazioni) alla costante di temporizzazione del ciclo while, quest'ultimo ciclo salta un'esecuzione passando ad attendere nuovamente la sincronizzaizione con il multiplo successivo della costante utilizzata per il temporizzatore; con l'event parallela/fuori non hai questo problema e l'esecuzione del ciclo while non viene influenzata dalla pesantezza di eventuali operazioni asincrone di interfaccia o meno gestite dall'event structure. [b:3gxc3xn3]P.S. E va bene, per questo piccolo esempio hai ragione tu! \":D\" \":D\" \":D\" [/b:3gxc3xn3] BYE. ---------------------------------------- ================================================================================ MSAccess ================================================================================ AUTORE: 618 DATA :12/03/2005 - 16:26:20 ---------------------------------------- Salve a tutti avrei bisogno di un help. Devo aprire un file .mdb con un pulsante da un'applicazione LabView.Dopo aver provato varie soluzione con ActiveX ho sempre lo stesso errore : Code -2146820422 Impossibile aprire il database. Il database è stato aperto da un altro utente in accesso esclusivo o è mancante.. in NumericChangeColor.vi Cosa devo fare??? Grazie. NB:Sono un principiante autodidatta.Sorry. ---------------------------------------- AUTORE: 247 DATA :12/03/2005 - 17:01:23 ---------------------------------------- Ciao, hai provato a leggere e seguire le indicazioni presenti nell'articolo di Nicola [url=http://www.ilvg.it/forum/viewtopic.php?t=667:z7mnsebf]LabVIEW & Data-base[/url:z7mnsebf]? Prova a controllare di aver fatto tutto correttamente. BYE. P.S. Miiiii...! Ma a che ora ti sei registrato?!?!?!? \":D\" \":D\" ---------------------------------------- AUTORE: 618 DATA :12/03/2005 - 17:32:30 ---------------------------------------- ..............cazzo non avevo notato l'orario della registrazione. Cmq il tuo link non esiste + e la mia applicazione è leggermente + semplice ho bisogno solo di aprire un file *.mdb che contiene dei form x estrarre dati da un database esistente. \":oops:\" ---------------------------------------- AUTORE: 247 DATA :12/03/2005 - 21:52:11 ---------------------------------------- Ciao, scusami ma ti ho linkato un post dello staff che non puoi vedere come utente normale...ottimo... \"8)\". Ci riprovo linkandoti il file giusto che si trova nella sezione articoli che puoi scaricare: [url=http://www.ilvg.it/forum/download.php?id=299:2kpt4vi1]LabVIEW & Data-base[/url:2kpt4vi1]. BYE. ---------------------------------------- AUTORE: 129 DATA :13/03/2005 - 08:11:20 ---------------------------------------- Ciao, sfruttando le indicazioni dell'articolo semplicemente dovresti trovare il metodo opportuno per aprire il file, utilizzando direttamente il controllo activeX. Per risparmiarti un pò di giri ti allego il mio esempio. Questo lavora direttamente con il controllo applicazione, (io ho access 2003) se hai un altra versione di access, devi fare tasto DX sulla reference, application e selezionare browse, seleziona il controllo application dell versione che trovi disponibile. Buon lavoro ---------------------------------------- AUTORE: 618 DATA :14/03/2005 - 09:29:36 ---------------------------------------- Grazie mille ragazzi e in particolare x Nicola. Ora funge mi devo solo informare che versione di Access abbia il mio cliente.Nel caso fosse <> dalla mia 2003 che alternativa ho con LabView??? Chiedo troppo??? Ciao a tutti. \":oops:\" ---------------------------------------- AUTORE: 482 DATA :14/03/2005 - 13:24:04 ---------------------------------------- ...ma ciao! ...allegoanche io un VI pressochè identico a quello di Nicola solo che ho aggiutno il passaggio deicomandi all'utente. Questo perchè io facevo aprire un DB access mentre era già in uso dal software e questo mi creava problemi di accesso perchè quando l'utente lo chiudeva mi restava il file ldb quello che ti indica che il file è aperto in pratica. Questo mi causava poblemi sui diritti diaccessoal file. Facendo cosi' il DB viene chiuso completamente! \"8)\" ---------------------------------------- ================================================================================ lanciare un Vi da un altro VI ================================================================================ AUTORE: 204 DATA :14/03/2005 - 10:26:56 ---------------------------------------- Ciao a tutti, ho la necessita' di lanciare un'interfaccia grafica B, ad es. cliccando su un pulsante di un'altra interfaccia A. E' possibile? A me piacerebbe che nell'interfaccia A ci fosse uno spazio grafico in cui far girare l'interfaccia B. Se ci sono altri modi, mi posso comunque accontentare. Grazie dell'attenzione ---------------------------------------- AUTORE: 4 DATA :15/03/2005 - 08:54:38 ---------------------------------------- Da labview 7.0 (express) è stato introdotto il controllo [b:1gurhwga]sub panel[/b:1gurhwga] si tratta di un controllo molto particolare nel quale è possibile far \"girare\" l'interfaccia di un VI. Quindi ti basta mettere un sub panel nella tua interfaccia A e alla pressione di un tasto su A aprire un riferimento alla tua interfaccia B (usa Open VI Reference) e passarlo in ingresso VI Ref del sub panel. Se non hai LV 7.0 o superiori puoi usare le funzioni child windows di Windows (scusa il gioco di parole) è sicuramente più complicato ma comunque fattibile. Ciao, ---------------------------------------- AUTORE: 482 DATA :15/03/2005 - 11:31:57 ---------------------------------------- se hai una versione vecchia ti basta creare l'interfaccia B mettendo nelle proprietà del VI che il front panel dovrà essere visibile. Dopodichè piazzarlo nel block diagram di A inun case con la pressione di un pulsante. In questo caso (senza cio' visualizzare il pannello in un altro pannello) ci possono essere due versioni: 1) inserire semplicemente il subVI (questo credo sia il concetto che ti manca per realizzare questa cosa) nel diagramma del VI principale; 2) chiamare dinamicamente il VI B. All'atto della visualizzazione le cose sono identiche; Per quanto riguarda la programmazione il caso 2 è sicuramente piu' complicato; Invece per quanto riguarda la memoria, il caso 2 ti permette di non tenere costantemenet in memoria il secondo VI ma richiamarlo solo quando serve. Se non hai particolari esigenze ti consiglio il caso 1. ...ma ciao! ---------------------------------------- ================================================================================ Applicazione PID ================================================================================ AUTORE: 482 DATA :15/03/2005 - 13:05:52 ---------------------------------------- ..ma ciao a tutti! ho un problemino... Devo realizzare un applicazione sfruttandoil PID toolset. Sto realizzando una macchina di prova materiali che deve eseguire dei test a carico cosante. Utilizzo una scheda motion e una lettura da una cella di carico via seriale (con riscontro non proprio immediato). Al momento ho realizzato una semplice applicazione PID utilizzando il PID.vi e il PID Setpoint profile.vi Il problema è che gli devo inserire dei guadagni a priori (sparando a caso) per cercare di fare in modo che la rampa di salita e di mantenimentosiano il piu' simile possibile a quelle impostate. Siccome questa macchina finirà in mano ad utenti finali che non dovranno ogni volta regolare questi guadagni, volevo sapere se c'era un modo per far si che questi guadagni si regolino in automatico in base alla risposta del campione (se è piu' rigido o piu' morbido) durante la prova. Avete qualche consiglio? grasssie! ---------------------------------------- AUTORE: 43 DATA :15/03/2005 - 22:37:37 ---------------------------------------- AUGURI!!! \":wink:\" \":wink:\" \":wink:\" ciao! ---------------------------------------- AUTORE: 645 DATA :18/10/2005 - 16:37:55 ---------------------------------------- Ciao, potresti preparare una serie di guadagni e poi utilizzare quello (o quelli) giusto a seconda dell'intervallo di valori in cui cade la misura fatta sul campione corrente. Per esempio: prepari i guadagni per un campione di 3, 8, 15 mm. Poi misuri lo spessore del campione corrente (per esempio 6) e scegli con una struttura \"if\" quale guadagno usare. Questo è un esempio; dipende quali parametri puoi misurare e come ma la logica potrebbe funzionare! ---------------------------------------- AUTORE: 596 DATA :20/10/2005 - 13:06:24 ---------------------------------------- Dai un occhiata al pacchetto \"Fuzzy\" della NI che dovrebbe fare al caso tuo. Buon divertimento \":?\" Riccardo ---------------------------------------- AUTORE: 482 DATA :20/10/2005 - 14:23:41 ---------------------------------------- Grazie a tutti scusate ma mi son dimenticato di dire che alla fine ho risolto il problema utilizzando delle costanti trovate in modo sperimentale. Ad ogni test precederà un test a velocità costante per valutare le costanti da utilizzare per poi effettuare il vero e proprio test. (che frase di merda che ho scritto... \":roll:\" ) ---------------------------------------- ================================================================================ analog input e CPU ================================================================================ AUTORE: 73 DATA :16/03/2005 - 14:19:05 ---------------------------------------- Ho un problema di occupazione della memoria usando degli analog input. Infatti devo acquisire un determinato n° di campioni prima di un trigger e poi un tot dopo .......tutto funziona a meraviglia se non fosse che a qualsiasi frequenza lo faccio mi occupa tutta la CPU anche a 1Hz...... Come quando ti dimentichi il temporizzatore nei while........CPU 100% Vi allego il semplicissimo vi fatto x una 6071 guardate un po' dove stà la gabbola. Ciao amici ---------------------------------------- ================================================================================ Controllare e dimensionare aut. gli elementi di un claster ================================================================================ AUTORE: 24 DATA :17/03/2005 - 19:01:10 ---------------------------------------- Salve a tutti.Avrei un' esigenza particolare.Devo in pratica dimensionare i n numero i boleani presenti e visibili in un cluster. Cioè ho un numero es 12 che sono gli boleani che mi necessitano , al lancio del vi questi 12 boleani devono essere presenti in un cluster di boleani con 12 elementi. Se successivamente dovessero servirmi 24 boleani, il cluster dovrà visualizzare 24 booleani . Ciò mi serve per configurare il cluster a seconda di quanti input od autput ha l'hardware presente sul computer. Sicuro in un vostro aiuto porgo distinti saluti a tutti. ---------------------------------------- AUTORE: 201 DATA :17/03/2005 - 21:23:52 ---------------------------------------- non riesci ad utlizzare un array al posto di un cluster? in quel caso potresti facilemente scegliere te la dimensione dell'array. ---------------------------------------- ================================================================================ Domande su parallelismo e multithreading ================================================================================ AUTORE: 515 DATA :18/03/2005 - 07:18:51 ---------------------------------------- Ho letto un po' di documentazione ma avrei bisogno di schiarirmi le idee su alcuni concetti base. Qualcuno può aiutarmi? \":)\" 1) Se su un RT Target girano più VI, diciamo una time critical e due a priorità normale, tutte e tre incapsulate in una VI \"contenitore\", i thread saranno uno a priorità critica e due a priorità normale, con i relativi sotto-thread dovuti a parallelismi interni alla VI? 2) In sostanza, un thread è una subVi o sua parte che gira in parallelo ad altre parti? 3) Se in una VI metto diverse volte, in parallelo, la stessa subVI, e la meto REENTRANT in modo da avere effettivo parallelismo, tale parallelismo è vanificato se la setto con priorità subroutine?? 4) In quale caso posso mettere un ciclo all'interno di un altro ciclo, o meglio una VI che cicla all'infinito all'interno di un ciclo infinito? Se temporizzo bene, dovrebbe comunque permettere agli thread in paralleo di girare... Grazie mille, a presto!! Mèt ---------------------------------------- AUTORE: 251 DATA :19/03/2005 - 19:00:36 ---------------------------------------- ciao Mèt, ti sparo una domanda io. Hai a disposizione l' \"Execution Trace Toolkit\" per LabVIEW? Se ce l'hai ti consiglio di imparare ad usarlo. Serve per vedere come vengono eseguiti i tuoi programmi su un target realtime e come vengono creati i thread a bordo del target. Ti assicuro che la validita' didattica di questo strumento e' incredibile. - Puoi vedere come si comporta il tuo programma a livello di priorita' dei vari thread che vengono creati. - Puoi valutare i tempi di esecuzione di ogni singolo subVI che e' presente sul target. Predire il comportamento dei subVI e delle loro relative priorita' non e' cosa facile perche' dipende profondamente dalla programmazione. Molte volte si puo' incorrere in una Priority Inversion che e' comprensibile solo guardando come gira il codice con Execution Trace Toolkit. Per quanto riguarda il parallelismo, tieni presente che questo concetto e' vero e reale sull'FPGA (che ho visto che tu usi). Su un target Realtime quello che si cerca di ottenere e' il Determinismo di una esecuzione software, il parallelismo resta comunque qualcosa di simile a quello che avviene su windows, il processore e' sempre e comunque uno solo. Ciao ---------------------------------------- AUTORE: 515 DATA :21/03/2005 - 10:07:23 ---------------------------------------- Ciao Porsenna! grazie del suggerimento, purtroppo è un add-on che non possiedo. Sembra molto utile, ma è una spesa aggiuntiva... vedremo. Hai perfettamente ragione sul parallelismo dell'RT, che ovviamente è \"simulato\" dal sistema operativo. Continuerò a provare e rirpovare... \":)\" A presto! ---------------------------------------- AUTORE: 4 DATA :21/03/2005 - 15:57:40 ---------------------------------------- Nella sezione articoli c'è la presentazione che ho tenuto all'NIDays sul tema del parallelismo, non riguarda ambienti RT ma windows ma alcuni concetti possono aiutarti (almeno spero) puoi scaricala [url=http://www.ilvg.it/forum/download.php?id=297:1wk7syjo][b:1wk7syjo]qui[/b:1wk7syjo][/url:1wk7syjo] Ciao ---------------------------------------- AUTORE: 515 DATA :22/03/2005 - 11:11:54 ---------------------------------------- grazie ale, molto interessante!! \":D\" ---------------------------------------- ================================================================================ rendere visibile o attivo/disattivo un componente ================================================================================ AUTORE: 622 DATA :19/03/2005 - 16:47:16 ---------------------------------------- Salve a tutti, vorrei capire, come rendere attivo/inattivo e/o visibile/invisibile un comando a secondo lo stato di un altro comando. Ringrazio anticipatamente per i vostri consigli. P.S. Essendo un principiante, vi prego di spiegarlo nel modo più semplice possibile. Ciao ---------------------------------------- AUTORE: 129 DATA :21/03/2005 - 08:02:32 ---------------------------------------- Ciao e benvenuto, ogni controllo in LV può essere modificato programmaticamente. Fai tasto destro sul controllo,quindi create property, ora sul diagramma hai una property del tuo controllo, fai tasto dx sulla property e select property , seleziona la property che desideri. Guarda comunque l'esempio ti chiarirà le idee. Buon Lavoro ---------------------------------------- ================================================================================ VI in multithread... howto ================================================================================ AUTORE: 481 DATA :21/03/2005 - 10:18:46 ---------------------------------------- Salve a tutti, Posto per avere delle tips per realizzare un VI che possa supportare l'esecuzione di altri subVI pur potendo riprendere il controllo dell'esecuzione. Mi spiego meglio. Ho realizzato un VI che ne chiama altri 4 che si occupano della registrazione e visualizzazione dell'input che un utente da al VI tramite dei controlli Knob. La gestione di questi VI è realizzata ad eventi in modo piuttosto rozzo credo (esiste un evento che controlla la variazione di un tick count per far avanzare il grafico ed altri che triggerano in corrispondenza della variazione del controllo numerico il tutto gestito con una architettura notifica per tenere separati gli eventi dal plot anche nell'ottica di poter, in un secondo tempo, separare le due cose). Il VI di interfaccia tra questi 4 subVI, si preoccupa essenzilmente di portare in primo piano uno o l'altro Panel a seconda del tasto che viene premuto sul suo Panel e il tutto è gestito con un Case. Tuttavia una volta che richiamo il primo subVI questo rimane in run impedendomi di switchare tra i vari casi. E' possibile secondo voi sistemare la cosa in modo che funzioni (ho provato a cambiare anche la proprietà Execution ma senza successo)? Devo rinunciare ad usare questa strategia? Come posso eventualmente modificare il tutto perchè funzioni? Grazie a tutti dell'attenzione. Ciao PS Se non sono stato chiaro ditemelo che vi posto i VI (in ufficio non posso \":P\" ) ---------------------------------------- AUTORE: 515 DATA :21/03/2005 - 11:51:28 ---------------------------------------- Caro Max, per prima cosa controlla che le tue subVI non abbiano dei cicli di durata indefinita... se così è, il problema potrebbe essere quello! infatti la VI \"parent\" chiama una figlia la quale continua a ciclare e NON le restituisce il controllo, per quanto il parent cerchi di riottenerlo... O forse non ho capito il problema, in tal caso posta le vi e ci do' un'occhiata, anch'io sto lavorando a problemi simili... Mèt ---------------------------------------- ================================================================================ Acquisizione del segnale da canale digitale ================================================================================ AUTORE: 624 DATA :21/03/2005 - 17:35:24 ---------------------------------------- Ciao ragazzi, sono un nuovo utente. Ho da poco conosciuto LabVIEW, utilizzo la versione 7.0 Ho un problema: non riesco ad effettuare l'acquisizione del segnale da scheda di acquisizione (PCI 6024E) utilizzando i canali digitali (DIO). Sto inviando il segnale nella scheda ( porta DIO 4) e la sua massa (DGND). Credo che questa procedura sia corretta. Purtroppo non riesco a trovare uno strumento virtuale in grado di realizzare la acquisizione del segnale dal canale digitale. Vi chiedo aiuto: fornitemi uno strumento che mi consenta di effettuare la acquisizione del segnale. Grazie \":)\" [/img][/quote] ---------------------------------------- ================================================================================ Come si usano i canali digitali della scheda di acquisizione ================================================================================ AUTORE: 624 DATA :22/03/2005 - 10:04:22 ---------------------------------------- Ciao ragazzi, ho gia scritto ieri e purtroppo nessuno ha saputo rispondermi. Cercherò di spiegare meglio il mio problema. Utilizzo la vers. 7.0 di LabVIEW e vorrei acquisire mediante i canali digitali presenti nella scheda di acquisizione dati (PCI 6024E della National Instruments) un segnale prelevato dalla seriale del PC. Come posso fare? Ho cercato da diverse parti ma non riesco a trovare una soluzione: vi supplico datemi una mano! ---------------------------------------- ================================================================================ Come selezionare i Plot di un Waveform Chart da visualizzare ================================================================================ AUTORE: 272 DATA :22/03/2005 - 17:21:08 ---------------------------------------- Una domanda spero semplice alla quale rispondere. Ho creato un semplice task (8 termocoppie e 1 0-20 mA) con DAQ Assistant. Ho poi collegato un Waveform Chart per visualizzare l'andamento dei valori acquisiti che poi vengono salvati in un file LabView Measurement File. Le termocoppie sono acquisite dal ch0 al ch7 mentre il segnale in corrente su ch25 di una singola scheda scxi 1102. Ho due domande: 1) come visualizzare la legenda plot (e relativi indicatori digitali) dei soli canali acquisiti? Normalmente vedo tutti i plot in ordine consecutivo mentre io vorrei vedere solo quelli relativi ai ch acquisiti. 2) come intestare le colonne del file salvato con i nomi associati ai canali (es. temperatura ingresso, temperatura uscita, portata acqua, ...)? Nella speranza che possiate essermi d'aiuto come già accaduto in precedenza vi saluto. Grazie mille. sandroz ---------------------------------------- AUTORE: 201 DATA :23/03/2005 - 18:17:53 ---------------------------------------- Ciao, allora per visualizzare solo i plot che desideri, basta che crei un property node della waveform chart, e attivi il plot da te voluto, poi sempre con il property node, metti visibile o invisibile a tuo piacere il plot. Visto che mi spiego malissimo eccoti un'immagine. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 272 DATA :24/03/2005 - 17:36:06 ---------------------------------------- grazie per l'informazione... la settimana prossima che ho un po' di tempo da dedicare a labview provo a fare come dici... e poi ti informo. grazie di nuovo ed auguri di buone festività pasquali ---------------------------------------- AUTORE: 272 DATA :14/04/2005 - 17:26:27 ---------------------------------------- Ciao, allora ho provato a capire... ed in parte ho avuto successo. Così facendo vado ad cancellare il plot dal grafico però rimane nella leggenda dei PLOT! In parole provere : per visualizzare i soli canali 1 e 25 la leggenda dei plot (così come quelle degli indicatori digitali del plot) è lunga 26 righe... Io invece vorrei visualizzare solo la legenda dei plot che visualizzo nel grafico. Nel file immagine allegato io non vorrei vedere 25 indicatori e relativi spazi vuoti di plot ma solo quelli relativi ai canali \"Sanitario Fredda\" e \"Plot24\". Ora non metto in dubbio la mia ignoranza... pensavo comunque che i DAQ assistant o Wizard fossero più intuitivi. E' anche vero che non ho molto tempo da dedicare a questo \"giocattolino\". Ora mi trovo di fronte al dubbio se continuare a provare, se utilizzare un consulente esterno o se valutare l'ipotesi di testare il VILogger. In fondo devo fare solo acquisizione. Grazie di nuovo per la vostra pazienza \":wink:\" ---------------------------------------- AUTORE: 482 DATA :15/04/2005 - 08:59:54 ---------------------------------------- ...mmhh..allora... tu puoi dire quanti plot far vedere ma a quanto ne so non quali. Cioè. tramite il property node Legend->plots shown tu puoi dirgli quanti plot vuoi che siano visualizzati nella legenda. Da li se vuoi ad esempio visualizzare l'1 e il 25 ti conviene anzichè nascondere gli altri plot, mandare al grafico solo l'1 e il 25. Praticamente devi creare un vi non che nasconda i plot che non ti interessano ma che non li mandi al grafico. E direi che con ogni plot ti porti dietro la sua label e tutte le caratteristiche che ti serve poi visualizzare nel grafico. ---------------------------------------- AUTORE: 482 DATA :15/04/2005 - 09:49:45 ---------------------------------------- ..ma ciao! ho ipotizzato questa soluzione. Purtroppo per mancanza di tempo ( e anche perchè dovrai pur far qualcosa tu no? \":P\" ) non sono riuscito a recuperare le stringe diretamente dai controlli nell'array e le ho messe singolarmente usando un case. Se riesci a recuperarle mi dici come? Cmq penso che questa soluzione possa andarti bene! ---------------------------------------- AUTORE: 272 DATA :15/04/2005 - 15:33:53 ---------------------------------------- grazie per le info! La settimana prossima dovrei trovare un paio d'ore nelle quale posso provare la tua soluzione. Poi vi dico. grazie mille e buon finesettimana. ciao ---------------------------------------- AUTORE: 272 DATA :19/04/2005 - 17:46:18 ---------------------------------------- grazie mille per le informazioni... purtroppo visto la mia ignoranza in materia ed il mio poco tempo a disposizione non sono riuscito ad utilizzare il tuo aiuto. Ho risolto il problema modificando modificando il cablaggio alla scheda di acquisizione e spostado fisicamente il canale da ch25 a ch8... così sono tutti belli in file \";)\" per il momento va bene così... poi se trovo il tempo ci lavoro sopra! Grazie di nuovo a tutti voi per il vostro aiuto. ciao ---------------------------------------- AUTORE: 591 DATA :15/11/2005 - 14:43:25 ---------------------------------------- anche se con un po' di ritardo rispondo alla domanda su come recuperare le stringhe direttamente dai controlli. Basta creare un property node dal ring control della stringa di ring control. la proprieta' in questione è \"strings[]\" che quindi da un vettore contenente i nomi del ring control. Spero di essere stato chiaro. Ciao a tutti ---------------------------------------- AUTORE: 272 DATA :24/11/2005 - 10:20:49 ---------------------------------------- Grazie pmorea.... questo sw è affascinante... purtroppo non riesco a dedicargli il tempo necessario. Ma piano a piano il mio piccolo acquisitore cresce... anche grazie ai vostri consigli. ciao sandroz ---------------------------------------- ================================================================================ Istallazione librerie visa ================================================================================ AUTORE: 622 DATA :23/03/2005 - 17:55:58 ---------------------------------------- Salve a tutti, vorrei utilizzare la porta rs 232, ho visto alcuni vecchi post, ed ho scaricato alcune demo, ma non riesco ad aprire la porta seriale per mancanza della libreria visa, (almeno mi e parso di capire questo dai post letti) però non sono riuscita a trovare sul cd le librerie visa, chi mi spiega come fare? GRAZIE . ---------------------------------------- AUTORE: 4 DATA :24/03/2005 - 09:09:17 ---------------------------------------- Ciao Per sapere se hai o meno istallate le funzioni VISA (ma anche tutti gli altri SW NI) apri il MAX e vai alla voce Software sulla sinistra nella lista che appare cerca la voce \"NI-VISA\" se c'è vuol dire che hai le librerie installate correttamente quindi il tuo problema dipende da altri fattori, potresti postare il tuo VI così provo ad aiutarti. Se non sono installate puoi farlo utilizzando i CD di installazione di LV e seguendo la procedura di installazione Custom, scegli cosa installare e cosa no nel tuo caso avendo già LV sceglierai solamente le funzioni VISA. Ciao, ---------------------------------------- AUTORE: 645 DATA :16/02/2006 - 10:13:26 ---------------------------------------- Oppure puoi scaricare i VISA dal sito della National! ---------------------------------------- AUTORE: 2129 DATA :29/05/2007 - 14:51:46 ---------------------------------------- come verifico di aver installato le NI-VISA ??? Quel MAX che indicate sopra cos'è ? ---------------------------------------- ================================================================================ Lettura da Keybord ================================================================================ AUTORE: 295 DATA :25/03/2005 - 07:36:30 ---------------------------------------- Ciao, è da qualche ora che mi scorno con un pb apparentemente semplice, ma continua a resitermi. Nell'esempio allegato vorrei scrivere dei caratteri e farli apparire a monitor, ma ho il problema che il dato mi rimane \"congelato\" nella stringa write finchè non clikko da qualche parte con il mouse. Domanda 1: sapete come ovviare a questo problema rendendo disponibile il dato in seguito alla pressione di ogni carattere? Inoltre non la filosofia del vi non mi esalta. Anzichè leggere il dato da una stringa di Text Control preferirei leggerlo direttamente dalla tastiera? Domanda 2: Avete o conoscete dove trovare funzioni che facciano questo tipo di operazioni? Grazie e ciao. Edo. ---------------------------------------- AUTORE: 482 DATA :25/03/2005 - 09:52:03 ---------------------------------------- ..ma ciao! allora..la soluzione è semplice: 1) per passare direttamente ilvalore senz apremere in giro con il mous ebasta che vaisulcontrollostringa,clikki coldestro e selezioni \"update value while typing\". 2) per quanto riguarda l'acquisizione del dato da controllo...volendo potresti utilizzare l'event structure con l'evento \"key down\" e incrementare uncontatore ognivolta che si verifica l'evento (se devi controllare anche quelloche èstato digitato mipare ci sia la proprietà che permette di sapere che tasto è stato schiacciato)tuttavia secondo me la soluzione piu' semplice è quella di tenere il controllo invisibile oppure semplicemente in uno spazio del pannello che non si vede! ..ma ciao!! ---------------------------------------- AUTORE: 295 DATA :25/03/2005 - 10:23:33 ---------------------------------------- Grazie per il suggerimento. In particolare il primo: le cose banali son sempre le +' difficili da trovare. In ogni caso nel divagare nel web ho trovato una serie di funzioni che potrebbero essere utitli a tutti. Ciaoooo ---------------------------------------- AUTORE: 482 DATA :25/03/2005 - 11:21:21 ---------------------------------------- ...ma ciao! l'alternativa alla soluzioen che ti ho proposto prima è questa! E' semplicissima e nonc'e' bisogno diappoggiarsi a librerie esterne! ..ma ciao!! ---------------------------------------- ================================================================================ Eseguibile di una VI contenente Call By Reference Node ================================================================================ AUTORE: 77 DATA :25/03/2005 - 11:19:09 ---------------------------------------- Ciao, volevo chiedervi se nella costruzione di un eseguibile di una VI che richiama alcune subVI mediante Call by Reference Node ci sono delle accortezze da seguire. Infatti non ho nessun problema nel costruire un eseguibile di VI che richiamano subVI in modo statico, ma in caso contrario l'eseguibile non mi funziona ... ovvero premendo i tasti che dovrebbero richiamare le subVI non succede nulla! Qualcuno può aiutarmi? Grazie in anticipo. Stefano ---------------------------------------- AUTORE: 482 DATA :25/03/2005 - 11:23:34 ---------------------------------------- Devo avrelo fatto una volta... non garantisco quindi magari provaci o aspetta risposte da altri.. se non sbaglio devi inserire il VI che richiami dinamicamente come \"support file\" quando crei l'eseguibile. Poi non mi ricordo a livellodi path se devi lasciarlo nella directory dell'eseguibile o se lochiami dandogli il path completo! ...ma ciao! ---------------------------------------- AUTORE: 129 DATA :25/03/2005 - 17:53:41 ---------------------------------------- Devi inserire ogni singolo VI chiamato come dinamic VI, se è un VI con subVI devi quindi inserire tutti i VI (ti consiglio di fare una llb) come support file. ---------------------------------------- ================================================================================ SubVI, tutorial, etc ================================================================================ AUTORE: 633 DATA :30/03/2005 - 20:19:38 ---------------------------------------- Ciao a tutti! Premetto che sono un nuovo utente e che non conosco quasi niente di labview, ma devo impararne le basi per una ricerca di maturità. UQalcuno mi sa indicare un buon tutoril per iniziare? Io devo acquisire dei dati digitali provenienti da un circuito e farne uscire di digitali verso un motorino; il tutto tramite una scheda di cui non ricordo al momento il nome... Nella realizzazione del mio programma volevo realizzare delle \"subVI\", non so se il termine è esatto quindi non sapevo cosa cercare nel forum per trovare argomenti magari già discussi. Ho creato il mio VI (B) e poi l'ho inserito nel block diagram di un altro VI(A), i però vorrei poter passare dei dati a B in modo da ricevere dei risultati tramite dei \"nodi\", come posso fare? per adesso la mia iconcina di B è senza \"nodi\"! Scusate la bruttissima spieazione ma in parole povere vorrei realizzare quella che in programmazione è una semplice function() { } grazie mille ---------------------------------------- AUTORE: 295 DATA :31/03/2005 - 07:43:21 ---------------------------------------- Ciao, ti allego un VI molto semplice che forse fa al caso tuo. Nel sito della National (http://digital.ni.com/manuals.nsf/webse ... endocument) trovi i tutorial ed i manuali. Ciao. ---------------------------------------- AUTORE: 633 DATA :31/03/2005 - 11:40:42 ---------------------------------------- grazie mille, solo che mi sono accorto di avere la versione 7 di LV e se non sbaglio tu hai salvato i file con la 7.1 e adesso io non riesco ad aprirli, potresti rimandarli in versione 7, please? grazie ---------------------------------------- AUTORE: 295 DATA :31/03/2005 - 12:34:05 ---------------------------------------- Prova così.... ---------------------------------------- AUTORE: 633 DATA :31/03/2005 - 12:57:56 ---------------------------------------- grazie, adesso funziona. Era proprio questo che chiedevo,ma come lo si realizza?! ho provato a fare una VI \"identica\" ma non funziona! ---------------------------------------- AUTORE: 295 DATA :31/03/2005 - 13:02:32 ---------------------------------------- mandami quello che non funziona... ---------------------------------------- AUTORE: 633 DATA :31/03/2005 - 16:51:11 ---------------------------------------- ecco il file. però`dovrei capire come si fa, questo era solo un esempio. mi potresti descrivere i passaggi? in teoria ho provato a ricreare quelo che mi avevi mandato, ma quando lo inserisco in una nuova VI non mi permette di \"collegarci\" niente! ---------------------------------------- AUTORE: 633 DATA :31/03/2005 - 17:35:03 ---------------------------------------- mi sa che devo proprio scusarmi, ho guardato solo poco fa il tutorial che mi avevi consigliato e in effetti ho trovato quello che cercavo. in una settimana avevo guardato di tutto a parte l'icone in alto a destra!!! grazie ancora ---------------------------------------- ================================================================================ Impronte Digitali ================================================================================ AUTORE: 482 DATA :31/03/2005 - 09:10:01 ---------------------------------------- ..ma ciao! ..da tempo ho realizzato un applicazione per l'autenticazione degli accessi nella sala server tramite impronte digitali con LabVIEW. Ieri mi son trovato a dover aggiornare questa applicazione per la questione XP/LabVIEW 7.X. L'applicazione è stata realizzata utilizzando il kit apposito trovato su [url:2i4ci910]http://www.jyestudio.com/biometricsview/[/url:2i4ci910] Sicoome sono in ballo ad aggiornare, e siccome c'e' una libreria di confronto tra impronte un po' lenta, mi chiedevo se qualcuno ha mai realizzato qualcosa del genere per sapere se è possibile confrontare due impronte magari utilizzando l'NIVision. ..dite che facendo un semplice pattern matching sulle impronte digitali mi riconosce tutte le impronte come uguali? ...ma ciao! ---------------------------------------- ================================================================================ dato in un Numeric Control senza andarci sopra con il mouse ================================================================================ AUTORE: 635 DATA :31/03/2005 - 15:48:30 ---------------------------------------- Salve,complimenti per il forum! Nel mio programma devo inserire un numero in un numeric Control. Poi il programma va avanti in altre finestre, clicco su altri pulsanti ed ad un certo punto del ciclo devo riaggiornare il dato riinserendo un altro dato nello stesso Numeric Control . Come posso far si che il programma si riposizioni con il Prompt su quella casella senza che io ci clicchi sopra con il Mouse Molte Grazie per qualsiasi aiuto! ---------------------------------------- AUTORE: 201 DATA :31/03/2005 - 17:14:02 ---------------------------------------- Ciao, è molto semplice basta che usi la propietà key focus del controllo che vuoi rendere attivo. Click destro sul numeric --> create property node --> scegli Key focus e la setti write. Devi dargli un true in un ciclo solo altrimenti dopo, anche cliccando fuori con il mose tu potrai scrivere solo lì dentro. ---------------------------------------- AUTORE: 635 DATA :01/04/2005 - 10:04:58 ---------------------------------------- Tante grazie! Era proprio quello che mi serviva. Ciao ---------------------------------------- ================================================================================ Conversione per versioni precedenti ================================================================================ AUTORE: 633 DATA :01/04/2005 - 17:17:56 ---------------------------------------- Ciao, esiste un programma che converte i VI v7.1 in v7.0? ho un amico che lavora su LB 7.1 e ogni volta che mi manda un file devo chidergli di rimandarlo in v7.0, è un po' noioso come procedimento (soprattutto per lui!) possibile che in una versioni 0.1 cambi così tanto da render eil file illeggibile per la versione precedente?! mi sembra un po' poco producente per la NI! ---------------------------------------- AUTORE: 201 DATA :01/04/2005 - 17:29:29 ---------------------------------------- Ciao, usando labview 7.1 c'è la possibilità di salvare una VI apribile anche da labview 7.0, basta che nel momento di salvare la VI si scelga save whit options e la voce for previous. ---------------------------------------- AUTORE: 633 DATA :01/04/2005 - 17:32:55 ---------------------------------------- ma non c'è una soluzione che permetta a me (con LB v7.0) di convertire i VI? magari li trovo in internet e voglio guardarmeli ma non posso perchè in versione superiore alla mia... ---------------------------------------- AUTORE: 201 DATA :01/04/2005 - 17:41:09 ---------------------------------------- Se esiste io nn la conosco...mi spiace non posso aiutarti. ---------------------------------------- ================================================================================ calendario ================================================================================ AUTORE: 498 DATA :04/04/2005 - 13:00:50 ---------------------------------------- ciao a tutti, è possibile implementare un calendario cliccabile in labview? ---------------------------------------- AUTORE: 129 DATA :04/04/2005 - 14:21:11 ---------------------------------------- Si puoi usare l'activeX calendario. Ti invio un esempio a cui ho messo un metodo e una property per darti spunto. Buon Lavoro. ---------------------------------------- AUTORE: 498 DATA :04/04/2005 - 16:33:27 ---------------------------------------- grazie mille ---------------------------------------- ================================================================================ calendario ================================================================================ AUTORE: 498 DATA :04/04/2005 - 17:00:39 ---------------------------------------- ciao e grazie ma mi da un messaggio di errore sull'activex : che non puo' essere caricato ---------------------------------------- ================================================================================ customizzare la menu bar ================================================================================ AUTORE: 201 DATA :04/04/2005 - 21:35:41 ---------------------------------------- Ciao a tutti, volevo sapere se qualcuno di voi è in gradi di spiagarmi come si può customizzare la menu bar, cioè cancellando le voci già presenti e creandone delle nuove con funzioni, sia particolari, sia le classiche copia e incolla undo e redo. Ciao. ---------------------------------------- AUTORE: 482 DATA :05/04/2005 - 14:23:28 ---------------------------------------- Apri il vi che ti interessa, poi vai su Edit-> Run-Time Menu... Li hai la possibilità di creare un menu' tutto tuo partendo da zero o modificare quello normale togliendo quello che non ti interessa. Per inserirlo poi nel vi basta che quando esci lo salvi e gli dai l'ok quando ti chiede di associarlo al VI corrente. Per creare voci del Menu' accessibili con ALT + (tasto) basta che meddi la _ prima della lettera corrispondente al tasto. Fatto questo, per gestire il menu' puoi usare un ciclo parallelo al tuo VI con all'interno un Event Case che prenda le voci del menu' (solo quelle che non sono già implementate in automatico (quelle in grigetto quando editi il menu') ---------------------------------------- AUTORE: 201 DATA :06/04/2005 - 15:47:22 ---------------------------------------- Grazie mille! ---------------------------------------- ================================================================================ I/O dinamico da file ================================================================================ AUTORE: 515 DATA :05/04/2005 - 12:05:49 ---------------------------------------- Ciao a tutti! Sto usando dei file configurazione per caricare dei parametri su PCHOST. In pratica leggo da file un certo numero di coppie chiave=valore e voglio aggiornare i controlli/indicatori della VI in modo dinamico. I problemi sono che: 1) Tra le varie proprietà dei property node, non ce n'è una \"Create\" che crei il controllo/indicatore in modo dinamico (ovvero solo a lettura avvenuta del parametro) 2) Suppondendo che io abbia previsto tutti i possibili parametri (realistico ma scomodo) non c'è una proprietà, eni property nodes, che mi trasformi il valore della stringa \"chiave\" (vedi sopra) in una reference al controllo/indicatore che ha come label il contenuto di \"chiave\". Potendo fare questo, basterebbe invocare il property node usando la reference, quindi aggiornare il campo Value, e il gioco sarebbe fatto. Qualcuno ha dei suggerimenti? \":)\" Mèt ---------------------------------------- AUTORE: 482 DATA :05/04/2005 - 14:33:57 ---------------------------------------- ..mmhh...e se utilizzassi un array bidimensionaleper i tuoi valori? nel senso.. chiave=array(colonna1) valore= array(colonna2) Chiamando il valore delle righe hai associati sia la chiave che il valore... puoi fare le ricerche ecc...la sfiga è che esteticamente non ci puoi fare granchè...al limite puoi utilizzare la conversioen da array a cluster. alla fine dei tuoi conticosi' col cluster puoi fare tutte le modifiche estetiche che vuoi.... \":|\" \":?\" ---------------------------------------- AUTORE: 515 DATA :07/04/2005 - 11:32:51 ---------------------------------------- bè, è sempre un'idea!! \":idea:\" Solo un po' poco leggibile, ma tant'è! \";)\" Grazie Geppo, se non trovo altri escamotage farò così. \":)\" Mèt ---------------------------------------- AUTORE: 4 DATA :07/04/2005 - 12:05:02 ---------------------------------------- [quote:1i34rwuf]1) Tra le varie proprietà dei property node, non ce n'è una \"Create\" che crei il controllo/indicatore in modo dinamico (ovvero solo a lettura avvenuta del parametro) [/quote:1i34rwuf] bhe non è proprio vero... nel senso che tramite le funzioni di scripting si può fare ma non è \"lecito\" e soprattutto non supportato da NI quindi non utilizzabile in progetti da distribuire ai propri clienti. [quote:1i34rwuf]2) Suppondendo che io abbia previsto tutti i possibili parametri (realistico ma scomodo) non c'è una proprietà, eni property nodes, che mi trasformi il valore della stringa \"chiave\" (vedi sopra) in una reference al controllo/indicatore che ha come label il contenuto di \"chiave\". Potendo fare questo, basterebbe invocare il property node usando la reference, quindi aggiornare il campo Value, e il gioco sarebbe fatto. [/quote:1i34rwuf] Una funzione che ricavi la reference tramite la label te la puoi costruire tu ma è un pò scomodo, dovresti creare reference per ogni controllo\indicatore farne una array e utilizzando la propety LABEL avresti l'associazione Reference-Label a quel punti cerchi nell'array label ricavi il reference e a quel punto puoi pèassare il valore al tuo controllo... \":|\" non molto pulito e mantenibbile. \":arrow:\" quello che ti consiglio è di usare le funzioni di OpenG.org hai due possibilità: - usare la read\write INI cluster - usare la read\write Panel la prima prende in ingresso un cluster e lo scrive su un file INI mentre la funzione inversa legge il file e reimposta i valori dei campi, la seconda funzione fà la stessa cosa ma a livello di pannello. Le funzioni sono OpenSource c'è quindi il sorgente che puoi modificare come vuoi per le tue esigenze. Ciao, ---------------------------------------- AUTORE: 515 DATA :07/04/2005 - 15:35:01 ---------------------------------------- [quote="Ale914"]Una funzione che ricavi la reference tramite la label te la puoi costruire tu ma è un pò scomodo, dovresti creare reference per ogni controllo\indicatore farne una array e utilizzando la propety LABEL avresti l'associazione Reference-Label a quel punti cerchi nell'array label ricavi il reference e a quel punto puoi pèassare il valore al tuo controllo... \":|\" non molto pulito e mantenibbile. [/quote] Sei sicuro? Ho provato a fare qualcosa di simile, credo, ma mi pare che la property \"LABEL\", che in effetti è in elenco, si possa solo leggere!! \":cry:\" Grazie per la dritta di openG, adesso la esamino!! \":)\" A presto Mèt ---------------------------------------- AUTORE: 129 DATA :08/04/2005 - 08:06:13 ---------------------------------------- Banale e pesante, ma puoi sempre inserire tutti i controlli di cui pensi dover disporre sulla tua applicazione e tramite i property li rendi visibili o meno(magari li sposti anche)... So che non è il massimo ma come dice Ale, lo scripting in questione per la creazione di oggetti non è ancora supportato in labview. Ciao ---------------------------------------- ================================================================================ active x ================================================================================ AUTORE: 498 DATA :05/04/2005 - 16:49:33 ---------------------------------------- Ciao a tutti, ho provato ad inserire degli activex in labview, ma devo mettere i file ocx in qualche directory particolare, xchè alcuni ocx labview non me li vede ---------------------------------------- AUTORE: 15 DATA :09/04/2005 - 15:07:48 ---------------------------------------- Devi registrare gli ocx! non basta metterli in una directory particolare. lo puoi fare digitando alcuni comandi tramite \"start\esegui\" (i comandi sono del tipo \"regswr32 <path dell' ocx da registrare>\" o qualcosa del genere) o tramite programmi che si occupano proprio di registrare oggetti con interfaccia com... uno di questi si chiama \"com explorer\" credo tu possa scaricare una demo da \"www.download.com\" Ciao ---------------------------------------- ================================================================================ VI compilato e CGI-BIN ================================================================================ AUTORE: 50 DATA :06/04/2005 - 20:13:16 ---------------------------------------- Stò lavorando con i CGI per pubblicare sul web dei valori acquisiti da una scheda DAQ, e devo dire che và tutto a meraviglia... almeno finche lavoro con l'HTTP server dell'internet toolkit ed il VI non compilato. Immaginavo che compilando il VI in un EXE posso pubblicare l'utilità sul server remoto... ma ho notato con tristezza che l'utilità compilata in EXE non riesce a girare nel server remoto e nemmeno con l'HTTP server del toolkit nel mio PC. Qualcuno ci è riuscito? Sà darmi qualche dritta? ---------------------------------------- ================================================================================ Documentazione funzioni ================================================================================ AUTORE: 248 DATA :07/04/2005 - 08:50:53 ---------------------------------------- Spessissimo, quando guardo i vi di persone più esperte noto sempre funzioni e simboletti nuovi. Esiste una versione cartacea o pdf di qualche documento che riassuma in toto tutte le funzioni di LV? ---------------------------------------- ================================================================================ Palette views non editabili ================================================================================ AUTORE: 50 DATA :07/04/2005 - 17:50:27 ---------------------------------------- Quando cerco di customizzare le palette (Advanced >> Edit palette views), mi si apre la schermata classica per modificare le palette, ma quanco clicco con il tasto destro per aggiungere un nuovo sub-menu vedo che il campo insert è in griggetto e non posso selezionarlo... così riesco solamente ad editare l'icona dei menu già esistenti... perchè? ---------------------------------------- AUTORE: 4 DATA :11/04/2005 - 08:10:34 ---------------------------------------- Puoi aggiungere ssotto menu in una tuaa paletta custom e non in quelle di default. Pre crearne una fai Tools>Advanced>Edit Palette views e dal menu \"pallete view\" scegli \"new setup...\" Ciao, ---------------------------------------- AUTORE: 50 DATA :11/04/2005 - 17:12:50 ---------------------------------------- si... già fatto... ma nulla! Sigh! ---------------------------------------- ================================================================================ mysql su mac os x ================================================================================ AUTORE: 633 DATA :08/04/2005 - 12:10:48 ---------------------------------------- Ciao a tutti, qualcuno ha esperienza nella connessione a database mysql con labview? è possibile tramite mac os x? __________ BrainBurner ---------------------------------------- ================================================================================ Processi attivi e kill di processi ================================================================================ AUTORE: 480 DATA :08/04/2005 - 13:45:46 ---------------------------------------- Ciao a tutti, qualcuno sa per caso come si fa ad avere una lista dei processi attivi (quella che in sostanza esce nel task manager alla voce \"processi\") ed eventualmente come interromperne qualcuno con LabView??? Grazie, Vincenzo ---------------------------------------- AUTORE: 480 DATA :11/04/2005 - 16:03:04 ---------------------------------------- ma qualcuno ha capito la mia domanda??!?! \":o\" Mi sorge il dubbio! ---------------------------------------- AUTORE: 482 DATA :12/04/2005 - 07:25:31 ---------------------------------------- ..mmhh..non saprei, non ho mai fatto niente del genere, ma cosi' ad occhi direi che dovresti usare le api di windows. Dovresti sapere quale libreria gestisce quella cosa e poi andarla a richiamare tramite un call library function. \":roll:\" ---------------------------------------- AUTORE: 480 DATA :12/04/2005 - 09:44:01 ---------------------------------------- \":|\" probabilmente... vedrò di dare un occhiata in giro. Vi farò sapere! ---------------------------------------- AUTORE: 480 DATA :19/04/2005 - 14:33:09 ---------------------------------------- Ho trovato questo in giro per la rete... e devo dire che funziona bene: [quote:1xs2lkbc]Permette di terminare un processo da una shell in base al ID del processo oppure al nome della sua immagine. E' possibile utilizzare questo comando da una shell windows in modo analogo al comonado kill di Unix/Linux. E' disponibile sui sistemi multiuser. Sintassi: taskkill IDprocesso | NomeProcesso [parametri] Parametri: IDProcesso: Indica l'ID del processo da terminare; NomeProcesso: Indica il nome del processo da terminare (puo' essere utillizzato in alternativa all'ID); /server:NomeServer: Specifica il server terminal contenente il processo da terminare. Altrimenti, verrà utilizzato il server terminal corrente. /id:IDSessione: Termina il processo in esecuzione in una sessione particolare; /a: Termina il processo in esecuzione in tutte le sessioni; /v: Modalità verbosa. Visualizza informazioni durante l'operazione; /?: Visualizza l'help del comando; Un Esempio: J:\WINDOWS\system32>tskill /V winword Fine processo(1976)[/quote:1xs2lkbc] \":lol:\" ---------------------------------------- ================================================================================ Problemi con NI Example finder ================================================================================ AUTORE: 639 DATA :08/04/2005 - 19:33:33 ---------------------------------------- Qualcunop di voi mi riesce gentilmente a risolvere il problema seguente: ho installato Labview 7.1 e quando faccio partire gli esempi mi da il seguente messaggio \"Could not find Labview service port from ServiceLocator. You not be able to browse by directory structure.\" Qualcuno mi sa spiegare da cosa è dovuto. Grazie ---------------------------------------- AUTORE: 639 DATA :08/04/2005 - 19:34:20 ---------------------------------------- [quote="robertom":1bml50p8]Qualcuno di voi mi riesce gentilmente a risolvere il problema seguente: ho installato Labview 7.1 e quando faccio partire gli esempi mi da il seguente messaggio \"Could not find Labview service port from ServiceLocator. You not be able to browse by directory structure.\" Qualcuno mi sa spiegare da cosa è dovuto. Grazie[/quote:1bml50p8] \":D\" ---------------------------------------- AUTORE: 251 DATA :17/04/2005 - 14:59:24 ---------------------------------------- Sicuramente e' dovuto a qualche configurazione della rete. Il motivo e' che le porte TCP su cui di default colloquia l'example finder e altri servizi di LabVIEW non sono accessibili e quindi ti viene sputato questo errore. Non credo ci sia un gran che da fare. Gli esempi li trovi comunque sotto la cartella di LabVIEW e sono tutti quelli che ci sono nell'example finder. ---------------------------------------- ================================================================================ LabWindows/CVI ================================================================================ AUTORE: 399 DATA :11/04/2005 - 08:36:43 ---------------------------------------- Ciao a tutti, sono nuovo e scrivo da Torino. Non so usare bene Labview, ma penso sia utile perderci un po' di tempo per impararlo meglio. Sapete se c'è un gruppo simile a questo che parli del CVI, il cugino del Labview? Grazie Ciao a tutti. ---------------------------------------- AUTORE: 251 DATA :17/04/2005 - 14:54:46 ---------------------------------------- Da quello che ho visto puoi provare a sparare le tue domande qui. Gia' altri hanno postato Mstudio e se trovi qualcuno che ti risponde sei a cavallo (io in CVI me la cavo). Altrimenti ti resta www.ni.com/exchange ciao ---------------------------------------- ================================================================================ Lettura con VI Express ================================================================================ AUTORE: 295 DATA :11/04/2005 - 16:27:36 ---------------------------------------- Ciao, ho un problemino con un VI Express (almeno credo si chiamino così). Nell'esempio allegato utilizzo il \"Read LabView Measurment File\" per leggere un file .txt. Il problema è che se posto all'interno di un ciclo esegue una sola lettura (la prima) e poi da errore di EOF. Come faccio a riportare il prompt all'inizio per poter effettuare letture ad ogni ciclo? Grazie mille! Ciaoooo ---------------------------------------- AUTORE: 482 DATA :12/04/2005 - 07:26:08 ---------------------------------------- non è che puoi allegare anche un file .txt di esempio? ---------------------------------------- AUTORE: 295 DATA :12/04/2005 - 07:45:37 ---------------------------------------- Ecco un esempio. Ciao ---------------------------------------- AUTORE: 482 DATA :12/04/2005 - 09:22:26 ---------------------------------------- ..mmhh..questa cosa mi turba... Perchè dovresti continuare a leggere lo stesso file? E in alternativa non potresti utilizzare le normali funzioni di lettura e scrittura su file anzichè l'express? Questo per dire che con l'express non ci son riuscito s enon modificando il codice interno del vi. Probabilmente questi express vi sono stati creati per letture singole...boh... ---------------------------------------- ================================================================================ Multitasking ??? ================================================================================ AUTORE: 77 DATA :12/04/2005 - 12:30:46 ---------------------------------------- Ciao a tutti, ho un dubbio atroce che mi tormenta e che volevo sottoporre alla vostra attenzione, sicuro che qualcuno di voi possa darmi una soluzione. Premetto che programmo con LV 6.1. Quello che vorrei realizzare è un'applicazione costituita da una main che cicla fintantochè non premo un tasto STOP e controlla periodicamente la pressione di un altro tasto (GO): quando viene premuto si lancia una subVI. Banale, no? Ciclo while, all'interno del quale metto un \"case\" controllato dal pulsante booleano ... OK. La mia domanda è: posso fare in modo che quando dalla main lancio la subVI, il controllo torni alla main per eseguire altre operazioni o, eventualmente aprire una nuova window (ovvero un'altra subVI), o qualsiasi altra cosa voglia fare? Il problema è riconducibile ad una sorta di multitasking (da cui il nome del topic) perchè vorrei poter gestire in parallelo due applicazioni, la main e la subVI. E' possibile fare ciò? Come? ---------------------------------------- AUTORE: 641 DATA :12/04/2005 - 14:47:35 ---------------------------------------- Vedi un pò se ho capito il tuo problema, il vi è molto banale, potresti utilizzare le chiamate dinamiche, ---------------------------------------- AUTORE: 77 DATA :12/04/2005 - 16:05:25 ---------------------------------------- No, in effetti non è quello che intendevo. Cerco di spiegarmi meglio con un esempio: supponiamo di voler realizzare un'applicazione che una volta lanciata presenti una schermata con tre pulsanti, AZIONE1 AZIONE2 ed ESCI. Alla pressione del tasto ESCI, logicamente, l'applicazione termina. Alla pressione del tasto AZIONE1 viene lanciata una subVI, che elaborerà alcuni dati (può prendere input dall'operatore, dalla VI chiamante, leggere da variabili globali, non ha nessuna importanza). Supponiamo che questa subVI presenti alcuni risultati all'operatore, per cui vogliamo che tale subVI rimanga aperta fintantochè non premo un tasto \"Chiudi questa finestra\". Ora, il problema è che se l'operatore non chiude questa finestra non potrà accedere alla main per premere il pulsante AZIONE2 che farà ... qualcos'altro. Quindi, quello che vorrei realizzare io è un'applicazione che mi consenta di premere AZIONE1 (si aprirà una nuova finestra, verranno eseguite certe operazioni ... e la finestra rimane aperta in attesa di essere chiusa con un pulsante) e, subito dopo, il tasto AZIONE2 che farà cose analoghe a quanto descritto per il tasto AZIONE1. Spero di non aver creato troppa confusione nel descrivere la cosa ... ---------------------------------------- AUTORE: 482 DATA :12/04/2005 - 16:33:54 ---------------------------------------- Il concetto è lo stesso fatto nel VI di esempio. Devi creare dei cicli paralleli in ognuno dei quali verrà gestita la singola opzione. Un main che elabora i dati ed un ciclo per ogni bottone che deve poter essere eseguito in contemporanea. Se i due tasti azione non si possono aprire in contemporanea puoi usare un ciclo per tuti e due, senno' in ogni caso tu hai un subVI che finchè non viene chiuso, blocca l'esecuzione del ciclo in cui è contenuto. Se ad esempio hai un pannello con 10 bottoni, ognuno dei quali apre una finestra e devi avere la possibilità di avere 10 finestre aperte. In questo caso credo che l'unica opzione sia quella di fare 10 cicli paralleli (ovviamente tutti all'interno di un unico ciclo). ---------------------------------------- AUTORE: 4 DATA :27/04/2005 - 09:20:42 ---------------------------------------- Puoi usare una soluzione simile cioè la chiamata dinamica a un VI. Devi chiamare questo codice alla pressione di vari tasti passandogli il path del VI che vuoi aprire, l'unica nota è che devi settare la proprietà dei vi da lanciare come \"Open When Called\". E' importante anche il settaggio dell'opzione Wait Until Done della proprietà Run, questa settata a true forza la proprietà Run a rimanere in attesa del completamento dell'esecuzione del VI lanciato settata a False invece non aspetta ed esce subito, in questo modo puoi costruire un Main con un singolo while loop con un case che alla pressione dei vari bottoni chiama il codice in oggetto col path corretto, una volta lanciato il Sub-VI vive di \"vita propria\" e il main e libero di girare ed eseguire altre operazioni. Ciao, ---------------------------------------- AUTORE: 77 DATA :29/04/2005 - 10:48:18 ---------------------------------------- Allora ... ringrazio tutti per il contributo e mi scuso per non aver risposto prima. Devo dire che in effetti la soluzione dei cicli paralleli all'interno di un ciclo principale è una soluzione fattibile, ed ero io a non aver colto il suggerimento ... Per Ale914: la tua soluzione è interessante, ma non riesco a trovare la proprietà \"Open when called\" per le VI da lanciare. Ha forse a che fare con la versione di LV (io uso la 6.1)? Non credo ... Ciao a tutti e grazie ---------------------------------------- AUTORE: 482 DATA :29/04/2005 - 11:13:26 ---------------------------------------- La propietà Open when called è una proprietà del VI che devi settare dal VI stesso cliccando col tasto destro sull'icona del vi e facendo \"VI properties..\" Poi vai su \"window appearance\"->\"customize\" e li dentro trovi \"show front panel when called\". \":wink:\" ---------------------------------------- ================================================================================ Propietà dell' oggetto CWAI in visual basic 6 ================================================================================ AUTORE: 649 DATA :12/04/2005 - 21:28:36 ---------------------------------------- Ciao a tutti. Dispongo di una scheda NI pci6221 e dei seguenti software :Measurement Studio for visual studio 6.0 e NI-DAQ 7.3 Il tutto correttamente installato ( credo ) comunque, tramite Measurement e Automation riesco ad effettuare il test della scheda con esito positivo. Il problema sorge quando lasoro in VB6, seleziono l'oggetto CWAI(o qualunque altro oggetto riferito alla scheda della NI ) lo metto sul mio form,lo clicco col tasto dx e seleziono \"propiatà\" ma non ho la possibilità di selezionare nessun canale poichè tutti quelli che mi appaiono in elenco sono associati alla scritta \"none\". Seguendo il tutorial si vede chiaramente che deve essere presente nell'elenco il modello della scheda installata. Qualcuno può aiutarmi ? Grazie anticipatamente. Roberto ---------------------------------------- AUTORE: 251 DATA :17/04/2005 - 14:50:37 ---------------------------------------- caro Roberto, le schede serie M possono essere programmate solo con DAQmx e purtroppo i CW vanno bene solo per Traditional. Con la ver 7.4 trovi un .tlb che ti permette di richiamare le funzioni di DAQmx in VB6. Ti devi programmare l'applicazione con chiamate alla DLL oppure puoi passare a VB.NET e usare assistant in MStudio.NET ciao ---------------------------------------- ================================================================================ integrazione windows ================================================================================ AUTORE: 498 DATA :13/04/2005 - 11:26:19 ---------------------------------------- Ciao a tutti, mi hanno chiesto di integrare labview con outlook, esiste un qualche modo di lanciare programmi esterni all'interno di una finestra labview? ---------------------------------------- AUTORE: 482 DATA :13/04/2005 - 11:32:12 ---------------------------------------- Io ho da poco realizzato un programma che utilizzando gli activeX va a controllare la posta in outlook e se trova messaggi non letti esegue determinate operazioni. Cmq con gli activeX puoi interagire parecchio con outlook e con l'activeX container puoi visualizzare alcune parti della finestra di outlook direttamente nel pannello di LabView. ---------------------------------------- AUTORE: 498 DATA :13/04/2005 - 12:22:47 ---------------------------------------- Ciao, non avresti qualche esempio. grazie ---------------------------------------- AUTORE: 482 DATA :13/04/2005 - 16:31:45 ---------------------------------------- eccolo! In questo programma io vado a verificare se in una delle 4 cartelle c'e' un messaggio non letto. Adesso in uscita ti ho messo un array che ti visualizza se e in qual cartella c'e' un messaggio non letto. Ad ogni cartella Outlook assegna un identificativo numerico, non so conche criterio 8non me lo ricordo) devi solo cambiare i numeri associati e leggere dall'indicatore del nome la cartella a cui corrisponde. ---------------------------------------- AUTORE: 498 DATA :14/04/2005 - 10:19:17 ---------------------------------------- grazie mille ---------------------------------------- AUTORE: 482 DATA :14/04/2005 - 14:40:55 ---------------------------------------- in alternativa puoi mettere sul pannello di labview un ActiveX container e poi scegliere l'oggetto active x chiamato Microsoft outlook view (se non sbaglio). Li hai la replica della cartella posta in arrivo di outlook cosi' come la vedi in outlook ma in un pannello labview! ---------------------------------------- ================================================================================ frequenza massima ================================================================================ AUTORE: 201 DATA :14/04/2005 - 20:36:13 ---------------------------------------- Ragazzi supponiamo che io mandi fuori con la porta parallela un'onda quadra(utilizzando quindi un solo bit), qual'è teoricamente la massima frequenza di quest'onda? ---------------------------------------- AUTORE: 201 DATA :20/04/2005 - 15:48:08 ---------------------------------------- Siccome la tempo di attesa + piccolo + di un 1msec la massima freq è 1khz? è possibile fare cicli di wait minori di 1msec? Da qeesto punto di vista mi sembra molto limitato labview... ---------------------------------------- ================================================================================ Calcolo di un delta ================================================================================ AUTORE: 520 DATA :15/04/2005 - 06:33:30 ---------------------------------------- Data la mia poca esperienza, mi sto perdendo in un problema che penso sia estremamente banale: avrei bisogno di calcolare una variazione di una grandezza in un intervallo di tempo (esempio 1 secondo) in modo continuativo. Mi spiego meglio ho un sensore di pressione atmosferica che con un apposito algoritmo mi da la misura della quota rispetto a terra, avrei necessità di monitorare in modo continuativo questa variazione. Se vi capita segnatatemi magari un esempio dove si fa un delta. Vi ringrazio ---------------------------------------- AUTORE: 482 DATA :15/04/2005 - 08:40:21 ---------------------------------------- ..ma ciao! beh se è un dato singolo che devi acquisire e mi sembra di capire senza un fattore tempo troppo critico, la cosa secondo em migliore è mettere l'acquisizione in un ciclo dopodichè inserire il modulo \"wait until next multiple\" e dai come ingresso il tempo in millisecondi tra un acquisizione e un altra. Questo modulo temporizza il ciclo facendo in modo che questo venga eseguito ogni volta che il counter interno di labview raggiunge un multiplo del valore che hai inserito. ---------------------------------------- ================================================================================ Nominare punti di un Graph ================================================================================ AUTORE: 295 DATA :15/04/2005 - 13:10:42 ---------------------------------------- Ciao, un quesito semplice semplice. Il VI allegato mostra un grafico con dei punti. Accanto ad ogni punto vorrei mettere il nome, ma non riesco a farlo. C'entra qualcosa la Unit Label? Mi rimane disattivata e non posso clikkarla. Suggerimenti?!? Grazie. ---------------------------------------- AUTORE: 4 DATA :19/04/2005 - 10:57:01 ---------------------------------------- Potresti usare i cursori... crei un cursore per ogni punto (immagino non siano più di 100 altrimenti non vedresti comunque i nomi) usando le property dai un nome ai cursori poi li sposti i cursori sui vari punti del grafico, i nomi appariranno accanto ai punti, ricordati di rendere trasparente il colore dei cursori in modo da non visualizzarli sul grafico. Ciao, ---------------------------------------- ================================================================================ Problemi con eseguibile e bluetooth discovery ================================================================================ AUTORE: 653 DATA :18/04/2005 - 12:27:52 ---------------------------------------- Salve a tutti. Ho riscontrato un problema serio con LV 7.1 nell'utilizzo dei VI nativi per comunicazione Bluetooth. In breve: in un VI utilizzo il BLUETOOTH DISCOVERY SERVICE (che esegue l'inquiry bluetooth per la ricerca di dispositivi nel raggio di copertura). Il VI funziona correttamente se lanciato da LabView. Il problema sorge quando creo l'eseguibile con l'application builder. Qui infatti sembra che non sia possibile seguire il DISCOVERY. In un exe molto semplice contenente SOLO il VI BT discovery, questo termina immediatamente senza nemmeno attendere il timeout impostato. Che significa?? Grazie a tutti. ---------------------------------------- AUTORE: 482 DATA :18/04/2005 - 16:30:14 ---------------------------------------- non è che ha bisogno qualche libreria di supporto l'eseguibile? ---------------------------------------- AUTORE: 653 DATA :19/04/2005 - 08:01:55 ---------------------------------------- Non credo; gli altri VIs della bluetooth palette infatti sembrano funzionare correttamente (ad esempio l'OPEN CONNECTION o il READ e WRITE) Grazie per la risposta. ---------------------------------------- AUTORE: 695 DATA :26/05/2005 - 15:17:06 ---------------------------------------- Ciao a tutti mi sono appena registrata al forum. Vi comunico che anch'io ho avuto lo stesso problema nella procedura di discovery per un eseguibile contattando National ho avuto la conferma che è un baco di labview che verrà corretto dalla prossima release. \":(\" Vi chiedo invece se anche voi avete avuto il problema di labview su pda che dopo che effettua la connessione ed inizia una lettura dati rallenta paurosamente facendo cadere la connessione. Questo problema è stato rilevato sia a baud rate di 19200 che 115200 con lettura dati continua. Su pc non ci sono problemi solo su pda grazie elisa ---------------------------------------- AUTORE: 653 DATA :26/05/2005 - 16:02:31 ---------------------------------------- Cara Elisa, Anzitutto grazie per la risposta (almeno ora sò che non è colpa mia...) Per quanto riguarda il PDA personalmente non ho notato problemi di rallentamento una volta effettuata la connessione. Quello che invece mi succede almeno due volte su tre è che il PDA non riesce ad aprire la connessione (con BT OPEN CONNECTION). L'end point BLUETOOTH è settato ad una velocità di 115200. ---------------------------------------- AUTORE: 695 DATA :26/05/2005 - 16:13:58 ---------------------------------------- Ciao AG intanto noto con gioia che le risposte arrivano in tempo reale. Accidenti noi abbiamo proprio il problema inverso si connette e si disconnette al primo colpo se dobbiamo inviare solo una stringa di dati ma quando cominciamo a fargli leggere in continuo non c'è verso prima rallenta poi cade la connessione quando appunto non si blocca....ma misteri di labview bye elisa ---------------------------------------- AUTORE: 653 DATA :26/05/2005 - 16:38:48 ---------------------------------------- Già... misteri di Labview... Comunque se ti può essere utile ho testato alcuni VI su PDA che acquisiscono dati in continuo. L'EP Bluetooth invia pacchetti da 10 bytes ogni 10 msecs. Il VI sostanzialmente è costituito da un ciclo WHILE in cui un BT READ legge i dati quando trova 10 byte disponibili. Non è che il tuo problema di rallentamento sia dovuto più alla scheda video del PDA che non ad una questione di connessione BT? Per caso rappresenti i dati su un graph, chart o simili? Magari ti è utile... Ciao. ---------------------------------------- AUTORE: 695 DATA :26/05/2005 - 16:49:46 ---------------------------------------- \":(\" Ciao purtroppo è la stessa cosa che faccio io un while dove leggo i bytes alla prota seriale e li metto solo su una stringa ancora non li elaboro e tantomeno li metto su un grafico ma il tragico è che dovrò sia spacchettare i dati che metterli su una grafico dove dovrò selezionare una traccia alla volta. Se già ho questi problemi solamente solo nel vedere la stringa non oso pensare se ho i grafici. Inoltre nella versione per pc usavo le VISA e davi le indicazioni su termination char da ignorare per il pDA invece devo usare solo i comandi seriali e non i property node. Non è che qualche carattere gli da fastidio?? bye elisa ---------------------------------------- AUTORE: 653 DATA :26/05/2005 - 17:07:31 ---------------------------------------- Ma perchè la porta seriale? Non usi il BT SERVICE che mette a disposizione il sistema operativo? Chi fa da master (apre la connessione BT) il PDA oppure l'end-point BT? Secondo me se riesci ad utilizzare i VI nativi (BT READ & WRITE) le cose ti si semplificano parecchio... a presto... ---------------------------------------- AUTORE: 695 DATA :26/05/2005 - 17:12:57 ---------------------------------------- Eh sarebbe bello ma devo utilizzare un ipaq 5450 quindi mi serve il tool LV per PDA del 7.0 che non ha i nativi del bluetooth ma solo la seriale che vedo come seriale virtuale. cmq anche l'altro gruppo che usa i nativi bluetooth ha lo stesso problema:-( \":|\" ---------------------------------------- ================================================================================ Controllo streaming VISA ================================================================================ AUTORE: 438 DATA :18/04/2005 - 14:38:46 ---------------------------------------- Ciao a tutti. \":D\" Domandina: tra le pallet VISA c'è una VI che consente di controllare la presenza, o meglio assenza di Bit nello streaming della porta? Spiego meglio: io setto la seriale, la pulisco ( clear VISA ), invio un byte e devo ricevere 20 byte, che sono 4 float, e devo controlare che non ci siano altri bit/byte sulla seriale ( altrimenti significa che c'è stato un errore da parte della scheda che mi invia i dati ). IO ho provato a guardarci un pochino, ma non ho trovato nulla ( forse non ho capito bene l'help in inglese ). ciao e grazie a tutti \":wink:\" ---------------------------------------- AUTORE: 4 DATA :19/04/2005 - 10:47:34 ---------------------------------------- Devi usare le property node e più in dettagio la proprietà \"serial settings>> Number of Bytes at serial port\" Ciao, ---------------------------------------- AUTORE: 438 DATA :19/04/2005 - 11:41:14 ---------------------------------------- \":D\" Ciao e grazie della risposta, siete sempre gentilissimi e veloci a rispondere. Ora volevo chiederti una cosa sul ciclo \"Case Structure\" in riferimento alla situazione esposta col precedente messaggio... Riassumo velocemente: ricevo 5 float a gruppi di 4 byte e dopo questi devo controllare che non ci siano altri bit/Byte: se non ci sono prendo i byte e li inserisco in una matrice,che ad ogni ciclo inserisce i valori in una nuova riga senza cancelare i precedenti, se ce ne sono ritengo inutili i dati ricevuti, e non devo inserire nulla all'interno della suddetta matrice, e rinizio ilmio ciclo while checontiene tutto il programma.. Ora: come posso far sì che nel caso di ricezione di ulteriori bit non mi venga memorizzato alcun valore all'interno della matrice?LV (7.1, ma nn c'entra nulla la versione) mi obbliga ad avere per forza 2 casi, e per forza devo attribuire un valore d'uscita in ambo i casi, invece io voglio che fermi il cicloattuale e ne inizi un'altro.. Spero di essermi spiegato decentemente. Grazie ancora,mi avete risolto già grossi problemi e son certo riuscirete a spiegarmi anche questa volta come muovermi.. CIAOOOOO \":wink:\" ---------------------------------------- ================================================================================ Generare cursori programmaticamente ================================================================================ AUTORE: 295 DATA :20/04/2005 - 07:37:41 ---------------------------------------- Ciao, problema: generare programmaticamente dei cursoni per ogni punto di un grafico. Ho seguito le indicazioni di Ale914 riguardo come nominare i punti di un grafico. L'idea di utilizzare dei cursori è buona, però avendo un numero variabile di punti vorrei poterli generare programmaticamente. Allego un piccolo esempio di quelo che vorrei fare. Grazie. ---------------------------------------- AUTORE: 4 DATA :27/04/2005 - 09:01:11 ---------------------------------------- Devi usare la proprietà del grafico \"Cursor List\" in scrittura, inpratica devi passargli un array di cluster con le proprietà di ogni cursore. Ciao, ---------------------------------------- ================================================================================ Codice sistema operativo PC ================================================================================ AUTORE: 661 DATA :22/04/2005 - 09:55:23 ---------------------------------------- hola, sn nuovo del forum! Ecco l'arcano: avrei bisongo di riuscire a recuperare in qualke modo il codice del PC sul quale viene installato il software, per proteggerlo da eventuali altre installazioni su altri PC. Per intenderci, per trovare il codice da WIndows si devono fare le seguenti operazioni: START->ESEGUI->\"REGEDIT\" poi andare nel percorso: HKEYLOCALMACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION e leggere il codice alla voce: PRODUCTID ma non ho idea di come fare, per aprire il RegEdit ho usato il comando \"SystemExec\", ma non credo sia la soluzione migliore.. per niente proprio.. qualke idea? grazie 1000! \":D\" ---------------------------------------- AUTORE: 4 DATA :22/04/2005 - 11:30:39 ---------------------------------------- ciao benvenuto dalla versiione 6.1 di LabVIEW esistono delle funzione apposite per leggere\scrivere i registry di WINDOWS si trovano in \"function pallete>>advanced>>Windows Registry Access VI\" Ciao, ---------------------------------------- AUTORE: 238 DATA :06/11/2005 - 10:04:04 ---------------------------------------- Ho appena visto il tuo messaggio! Se ti interessa ho creato un VI che crea un codice prodotto legato al nome del PC ; Il cliente deve comunicarti tale codice e tu fornisci il codice di installazione del software per quel PC. ---------------------------------------- AUTORE: 129 DATA :07/11/2005 - 11:35:40 ---------------------------------------- Se hai piacere, perchè non lo posti nella sezione download, così lo metti a doisposizione della community ILVG. Grazie Nic ---------------------------------------- AUTORE: 238 DATA :08/11/2005 - 07:52:42 ---------------------------------------- Ecco i VI \":lol:\" ---------------------------------------- ================================================================================ Incertezza di Labview ================================================================================ AUTORE: 368 DATA :22/04/2005 - 17:50:46 ---------------------------------------- Ciao a tutti, questo è il mio primo messaggio in questo forum e spero tanto mi sia d'aiuto. Devo realizzare un sistema automatico di misura su abbastanza complesso su un alimentatore, che prevede l'utilizzo di diversi strumenti... il punto è che per dare validità al risultato devo riportare l'incertezza di misura. Per quanto riguarda l'incertezza di categoria B c'è qualcuno che sa dirmi che tipo d'incertezza software introduce Labview( se la introduce?!?!?). Spero di essere stato chiaro.Grazie dell'attenzione ---------------------------------------- AUTORE: 672 DATA :14/05/2005 - 14:04:18 ---------------------------------------- Ciao, l'incertezza dello strumento che realizzi la puoi ricavare sapendo l'incertezza con cui acquisisci i segnali (e quindi dipende dai trasduttori che usi) e poi tenedo conto della propagazione dell'incertezza sulle eventuali manipolazioni dei dati che fai prima di visualizzare il risultato (usando la solita formula: se X=f(A,B,C,..) allora DX=|(df/dA)*DA|+|(df/dB)*DA|+.... dove X è l'errore assoluto) Se la misura è diretta, cioè visualizzi solo i valori acquisiti dallo strumento, secondo me non vengono introdotti ulteriori errori. Comunque puoi sempre tarare lo strumento in un centro SIT. ---------------------------------------- ================================================================================ Calcolo di un delta ================================================================================ AUTORE: 520 DATA :25/04/2005 - 19:53:46 ---------------------------------------- Ringrazio del suggerimento ma nonostante questo non sono riuscito a creare un modulo che riesca ad effettuare misurizioni ad intervalli di tempo prestabiliti. avrei bisogno di calcolare una variazione di una grandezza in un intervallo di tempo (esempio 1 secondo) in modo continuativo. Mi spiego meglio ho un sensore di pressione atmosferica da cui leggo sia la pressione in hpa che l'altezza relativa a terra, ma avrei necessità di monitorare [b:3tbquhjr]la variazione di pressione nell'unità di tempo[/b:3tbquhjr]. Se vi è possibile avrei bisogno di un semplice esempio. Vi ringrazio ancora dell'aiuto ---------------------------------------- AUTORE: 201 DATA :25/04/2005 - 23:02:06 ---------------------------------------- Ciao guarda se ti può essere d'aiuto. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 520 DATA :29/04/2005 - 06:38:40 ---------------------------------------- [quote="blow":6up3h1uh]Ciao guarda se ti può essere d'aiuto.[/quote:6up3h1uh] Ti ringrazio, il circuito fa in realtà quello che avevo chiesto, ma provato nella camera ipobarica mi restituisce dei valori con errori troppo elevati, il problema è che facendo la differenza di due misure le oscillazioni della pressione 1-2 HPa introducono una differenza che moltiplicata per 60 (per calcolare la variazione di Feet per minuto) con un errore elevatissimo. Probabilmente la soluzione sarebbe quella di fargli calcalare il delta medio degli ultimi n secondi aggiornato magari ogni secondo. Per ora non ho idea di come farglielo fare. Saluti ---------------------------------------- AUTORE: 201 DATA :29/04/2005 - 13:39:57 ---------------------------------------- Se mi dici di preciso cosa ti serve provo a pensarci su, se ti serve una media delle variazioni di n secondi non è difficile da fare, cmq non ho ben capito cosa vorresti. Se dici che il tuo sensore oscilla quando cambia di valore, significa che fare la differenza tra un avlore e l'altro che distano di un solo secondo è troppo, cioè devi acquisire ogni 3-4 secondi e forse va già meglio o no? Provo a vedere cosa riesco a fare. ---------------------------------------- AUTORE: 201 DATA :29/04/2005 - 13:57:11 ---------------------------------------- Guarda se questo può fare al caso tuo, in pratica te scegli quaante acquisizioni fare in un secondo, la VI fa queste acquisioni e ogni secondo ne fa la media e la confronta con la media fatta il secondo prima. In pratica fa un delta delle medie, questo dovrebbe in un certo senso diminuire l'errore provocato dall'oscillazione dei valori rilevati dal sensore. Prova e fammi sapere! [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 479 DATA :29/04/2005 - 14:15:33 ---------------------------------------- Ciao, potresti indicare la relazione matematica che introduci per passare dalla variazione di pressione alla variazione di feet? Forse si può valutare meglio l'errore passando da una misura all'altra. Luca ---------------------------------------- AUTORE: 1477 DATA :25/09/2006 - 14:49:31 ---------------------------------------- [quote="blow":1tjfoohi]Guarda se questo può fare al caso tuo, in pratica te scegli quaante acquisizioni fare in un secondo, la VI fa queste acquisioni e ogni secondo ne fa la media e la confronta con la media fatta il secondo prima. In pratica fa un delta delle medie, questo dovrebbe in un certo senso diminuire l'errore provocato dall'oscillazione dei valori rilevati dal sensore. Prova e fammi sapere! [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -][/quote:1tjfoohi] Scusate la riesumazione di un così vecchio thread. Devo risolvere due problemi analoghi a quelli presentati qua sopra: 1) Calcolo di una media mobile di un certo numero di campioni presi con una data frequenza di acquisizione (500ms) 2) Dopo ogni intervallo impostabile, anche in minuti, calcolo della differenza tra il valore della media mobile attuale e il valore della media mobile precedente (e utilizzo del risultato come variabile di ingresso di un regolatore fuzzy). 3) Calcolo della variazione nell'unità di tempo (non credo si possa parlare di derivata perchè il dt non è infinitesimale). Purtroppo ho più ruggine io che la torre Eiffel perchè la prima (unica) applicazione l'ho fatta qualche anno fa. Ho cercato un po' nell'help e nei VIs di esempio ma credo che qualche dritta possa essere più utile. Grazie. LV 7.1 ---------------------------------------- ================================================================================ pid per valvole modulanti ================================================================================ AUTORE: 24 DATA :27/04/2005 - 11:43:19 ---------------------------------------- Salve a tutti a proposito di pid. Nei plc comuni esistono funzioni pid per comandare delle valvole on-off. In pratica imposto un setpoint ed ho in ingresso di retroazione la temperatura da un sensore analogico che è in ingresso alla daq. Il pid tiene in ingresso due finecorsa che sono il tutto valvola chiusa e tutta valvola aperta.Il pid regola ad impulsi la valvola con due uscite digitali, una che apre e una che chiude la valvola.In pratica il segnale digitale è tanto più piccolo nel tempo ad 1 quando più si è vicini al setpoint. Esiste qualcosa del genere per Labview? Vi ringrazio per l'interesse. \":)\" ---------------------------------------- ================================================================================ integrazione windows ================================================================================ AUTORE: 498 DATA :27/04/2005 - 12:56:19 ---------------------------------------- Ciao, sto cercando di integrare outlook con labview, mi hanno suggerito come collegarmi ad outlook, esiste poi l'activex view control di outllok, relativo ai messaggi, non c'e' ne uno relativo ai task? ---------------------------------------- ================================================================================ gantt ================================================================================ AUTORE: 498 DATA :27/04/2005 - 16:44:24 ---------------------------------------- qualcuno ha un'idea di come realizzare un semplice diagramma di gantt in labview, grazie ---------------------------------------- AUTORE: 235 DATA :28/04/2005 - 15:26:46 ---------------------------------------- La logica devi programmarla tu (per esempio le parti del progetto che possono andare in parallelo, quelli che si devono mettere in cascata). Io proporrei all'utente un cluster contenente il nome del progetto, quando deve partire e la durata. Per disegnare il diagramma userei un picture control. Bye P. ---------------------------------------- ================================================================================ Conversione da float a bytes ================================================================================ AUTORE: 438 DATA :28/04/2005 - 11:26:41 ---------------------------------------- Ciao a tutti.. \":oops:\" Il problemino che so esser ridicolo, ma non riesco a ricordarmi come funziona la \"trasformazione\"! Ho un float a 32 bit e voglio riscriverlo con 4 byte da 8 bit... non è difficile,ma non mi ricordo la sequenza delle operazioni. Volevo farlo con una libreria scritta in c...ma neppure neppure lì so come si faccia ( non so proprio scrivere il codice ) !! \":(\" Scusatemi se vi sembra una stupidata, ma a volte si hanno dei vuoti di memoria proprio sulle cosepiù banali. Ciao ---------------------------------------- AUTORE: 43 DATA :29/04/2005 - 00:20:22 ---------------------------------------- ... \":D\" ---------------------------------------- AUTORE: 438 DATA :29/04/2005 - 10:14:47 ---------------------------------------- Innanzi tutto GRAZIE MILLE. In verità ignoravo proprio l'esistenza della palette Data Manipulation!!! Cmq sei stato gentilissimo... \":?:\"Domandina: come mai ( nella soluzione 2 suggeritami ) scrivi \"per avere i singoli bytes (anche se penso sia perfettamente inutile)\"? I singoli bytes son quelli che mi interessano, quindi non riesco a capire l'affermazione...HO paura diessermi perso qualcosa e vorrei capire, semplicemente mi ero spiegato male io nel topic precedente...\":oops:\" Grazie ancora e ciao!!! \":D\" \":roll:\" ---------------------------------------- AUTORE: 43 DATA :29/04/2005 - 19:36:47 ---------------------------------------- [quote="stressato":36ojstic] \":?:\"Domandina: come mai ( nella soluzione 2 suggeritami ) scrivi \"per avere i singoli bytes (anche se penso sia perfettamente inutile)\"? I singoli bytes son quelli che mi interessano, quindi non riesco a capire l'affermazione...HO paura diessermi perso qualcosa e vorrei capire, semplicemente mi ero spiegato male io nel topic precedente...\":oops:\" Grazie ancora e ciao!!! \":D\" \":roll:\"[/quote:36ojstic] Dovresti spiegare Tu a che Ti serve fare quell' operazione... Se per es. vuoi scrivere un dato su file e rileggerlo cosí com'è devi convertire il tuo numero/array/cluster (C struct) o altro in una stringa o in un array di byte, non serve altro. I 'byte' sono trattati + spesso, sempre per es., x calcolare delle chksum, ma, anche in quel caso si usano array di U8 o I8 e non i byte presi singolarmente. Cmq, correggetemi se sbaglio, la \"rappresentazione in memoria\" dei numeri (siano essi interi che float/double) viene fatta da LabVIEW seguendo la logica usata dalla famiglia di proc. Motorola cioè il MSB (MostSignificantByte) è posto all'indirizzo + basso e lo LSB a quello + alto. Ora, per le CPU Intel è esattamente l'opposto ====> per cui Se si passano dei dati grezzi (tramite file per esempio) da LabVIEW ad un'altra applicazione scritte in C o VB o altro che gira su uP Intel, si deve far attenzione a \"girare\" i bytes che compongono ogni singolo numero (uso delle funzioni \"Swap bytes\" \"Swap Words\" oppure \"Reverse 1D Array\" di bytes) Ai tempi di LabVIEW 3 e 4 era così..... Vorrei che qualcuno facesse la prova per confermare che la logica non è cambiata... grazie alla prossima ---------------------------------------- AUTORE: 438 DATA :30/04/2005 - 00:20:46 ---------------------------------------- Ok, scusami non mi ero spiegato bene io. Quello che faccio io con labview è ricevere da seriale una serie di byte che ha gruppi di 4 mi rappresentano un float ( non fa solo questo, ma è questo il punto importante ). La struttura che mi hai scritto mi serve per convalidare questo mio programmino. Ho dei dati in un file txt, li voglio convertire ed inviare tramite seriale al programma che ho creato io e vedere se i risultati sono corretti o meno. Cmq grazie anche del suggerimento sulla gestione dei byte MSB e LSB. Ci starò attento e se scoprirò qualcosa lo scriverò. Grazie ancora. Ciao ---------------------------------------- ================================================================================ Ottenere le ... risorse del computer ================================================================================ AUTORE: 77 DATA :29/04/2005 - 11:06:48 ---------------------------------------- Molte applicazioni che si trovano sul web, siano free o meno, rilevano automaticamente le unità presenti nel disco rigido, le unità rimovibili e quelle di rete connesse al pc. Nello sviluppo di una applicazione con LV mi sono imbattuto in un dubbio: se io volessi far scegliere all'utente l'unità dalla quale, per esempio, cercare un file, come posso fare? Ho sviluppato un applicazione che crea, se non è presente, una cartella predefinita nell'HD. Da questa carella caricherà un file di configurazione. Quindi, ho utilizzato la funzione \"New directory\" passandogli come path \"C:\My_dir\". Una volta creato l'exe e distribuito ad un collega, mi sono sentito dire <<Ma se io lo volessi installare in una partizione che si chiama \"Z:\" e non in \"C:\"?>>. Giusto! Di default, l'unità in questione è \"C:\", ma supponendo che avessi una partizione sul disco (\"D:\"), oppure un'unità di rete connessa (\"M:\"), o ancora una USB key (\"F:\") ... etc. quale dll mi restituisce le unità presenti sul sistema? Immagino che tale info sia reperibile grazie ad una dll di windows ... Spero che qualcuno possa aiutarmi. ---------------------------------------- AUTORE: 480 DATA :29/04/2005 - 11:41:05 ---------------------------------------- Ciao Spino, in labview esiste già una funzione che ti permette di aprire, creare o sostituire un file che apre automaticamente una finestra di dialogo (se tu non specifichi alcun percorso in ingresso) dalla quale puoi scegliere il percorso in cui posizionare il file. Utilizza probabilmente una API di Windows. Io uso LV 7.1 e la funzione si chiama \"Open/Create/Replace File\" e si trova nel menù \"file I/O\" delle functions palette. Se non ricordo male dovrebbe essere la stessa anche in LV 6 Ciaooo ---------------------------------------- AUTORE: 77 DATA :29/04/2005 - 13:55:27 ---------------------------------------- \"... in labview esiste già una funzione che ti permette di aprire, creare o sostituire un file che apre automaticamente una finestra di dialogo (se tu non specifichi alcun percorso in ingresso) dalla quale puoi scegliere il percorso in cui posizionare il file ...\" Beh ... si conosco la funzione di cui parli. Quello che vorrei realizzare è una VI che restituisca tutte le risorse disponibili (unità fisse, rimovibili, di rete) con le lettere che le contraddistinguono, senza richiamare la file dialog di windows. Ciao, Stefano ---------------------------------------- AUTORE: 129 DATA :29/04/2005 - 17:34:44 ---------------------------------------- Bè sempre utilizzando le funzioni della palette file/advanced, puoi farti una vi, con tutte le funzioni di accesso e visualizzazione personalizzate. Per renderle interattive puoi usare le listbox o il controllo ad albero... Ovviamente questo è solo uno spunto di lavoro, tra l'altro non immediato e semplice, ma sicuramente molto personalizabile. Good luck ---------------------------------------- ================================================================================ Interfacciamento matlab ================================================================================ AUTORE: 666 DATA :29/04/2005 - 13:49:00 ---------------------------------------- Ciao, vorrei fare un'interfaccia grafica con LV , ma per fare questo avrei bisogno di acquisire delle variabili in forma di array dal workspace di matlab. Inoltre l'applicazione non dico che debba girare in real time, ma quasi.... Sapete per caso se è possibile fare cose di questo genere e con un buon grado di risposta? Grazie Tiro ---------------------------------------- AUTORE: 247 DATA :29/04/2005 - 17:34:28 ---------------------------------------- Ciao, se hai tra le funzioni disponibili il Matlab Scipt Node puoi eseguire lo script Matlab in LV utilizzando un controllo activeX come puoi vedere in figura sotto. La tempistica \"Real Time\" è del tutto incalcolabile a priori, anche perchè non dici qual'è il sistema che utilizzi (HW, SO, SW...) e i limiti di tempo che il tutto deve rispettare. BYE. P.S. Tiro stà per ..tirocinio?? \":o\" \":wink:\" \":wink:\" ---------------------------------------- AUTORE: 666 DATA :01/05/2005 - 15:50:37 ---------------------------------------- Grazie per la risposta. Comunque Tiro sta per tirocinanti.... Ci si vede a macchine! ---------------------------------------- ================================================================================ Controllo parallela e PWM ================================================================================ AUTORE: 201 DATA :29/04/2005 - 18:06:05 ---------------------------------------- Ragazzi vorrei comandare un motore in continua tramita PWM, creandola pero con labview usando la parallela. Il mio scopo è quello di usare un solo bit della parallela solo che ho notate che non è tanto veloce. Vorreri arrivare almeno a 10 khz, solo che la minima temporizzazzione che labview permette è 1msec oppure tramite vie traverse anke 0,1msec ma è assai impreciso... Come è possibile che sia così limitato?? Si riesce ad essere più veloci addirittura con un sistema a microprocessore con Z180(clock di 6Mhz) programmata in assembler che non con labview che gira con processori ben più potenti ed un linguaggio di alto livello... Un altra cosa, la parallela è bidirezionale, ma è possibile fare un ciclo di lettura e scrittura? xkè ho fatto alcune prove e sembra che una volta settata come input non ci si riesca più a scrivere... ---------------------------------------- AUTORE: 129 DATA :02/05/2005 - 09:17:30 ---------------------------------------- mmmm secondo me il problema più grande è windows,ma spero di sbagliare.. [quote:24km38yx]la parallela è bidirezionale, ma è possibile fare un ciclo di lettura e scrittura? xkè ho fatto alcune prove e sembra che una volta settata come input non ci si riesca più a scrivere...[/quote:24km38yx] Una volta settata come input la devi risettare come output. Tu dici di voler utilizzare un solo pin, per leggere e scrivere a 10KHz? quindi dovresti aprire in scrittura, scrivere il bit, chiudere,aprire in lettura,leggere il bit. Labview ha come unità il ms, quindi potresti provare a fargli eseguire, per esempio(ma senza precisione), 10 sequenze per ogni loop da 1ms.... Xò volendo potresti utilizzare un clock esterno per dargli il sincronismo e così bilanci in precisione, dovresti leggerlo su un altro pin, ma otterresti precisione.... Facci sapere. ---------------------------------------- AUTORE: 4 DATA :02/05/2005 - 09:52:06 ---------------------------------------- Ciao blow, per la questione della velocità la soluzione è semplice... basta mandare alla parallela un pattern di bit ogni n ms anzichè 1 bit ogni n ms, la parallela ha infatti un buffer (la dimensione dipende devi documentarti sull'hw che hai a disposizione) e tu puoi scrivi direttamente su quello poi la PP, con un suo clock (dipende dal modello) manda i segnali in uscita svuotando il buffer. Quindi, anche se con LV puoi ciclare solo ogni 1 ms (anche queso non è del tutto esatto in ambienti non RT e soprattutto in WINDOWS...), puoi riempire il buffere della parallela con un parren da 1000 bit e lasciare che sia la PP a generarli in uscita considera che la più veloce dovrebbe avere una capacità di 2 Mbis\sec. Per calcolare dimensione del buffer e ogni quanto ciclare devi sapere clock della porta dimensione del buffer e la f a cui devi pilotare il tuo motore. Ciao, ---------------------------------------- AUTORE: 201 DATA :03/05/2005 - 13:50:31 ---------------------------------------- Grazie raga per le risposte. Molto interessante il fatto del buffer, come posso mandare + di un bit alla parallela? Perchè io ora ci scrivo uno 0 od un 1 quindi 00000000 o 0000001 e quindi mi varia solo il bit0, come posso fare a riempire il buffer? grazie ancora ---------------------------------------- AUTORE: 201 DATA :04/05/2005 - 21:05:29 ---------------------------------------- potreste precisare allora? ---------------------------------------- AUTORE: 201 DATA :08/05/2005 - 10:28:17 ---------------------------------------- [quote="Ale914":6ga6q5l6]Ciao blow, per la questione della velocità la soluzione è semplice... basta mandare alla parallela un pattern di bit ogni n ms anzichè 1 bit ogni n ms, la parallela ha infatti un buffer (la dimensione dipende devi documentarti sull'hw che hai a disposizione) e tu puoi scrivi direttamente su quello poi la PP, con un suo clock (dipende dal modello) manda i segnali in uscita svuotando il buffer. Quindi, anche se con LV puoi ciclare solo ogni 1 ms (anche queso non è del tutto esatto in ambienti non RT e soprattutto in WINDOWS...), puoi riempire il buffere della parallela con un parren da 1000 bit e lasciare che sia la PP a generarli in uscita considera che la più veloce dovrebbe avere una capacità di 2 Mbis\sec. Per calcolare dimensione del buffer e ogni quanto ciclare devi sapere clock della porta dimensione del buffer e la f a cui devi pilotare il tuo motore. Ciao,[/quote:6ga6q5l6] Hai menzionato di riempire il buffer della parallela ora dimmi come si fa \":wink:\" ---------------------------------------- AUTORE: 4 DATA :09/05/2005 - 09:01:16 ---------------------------------------- Devi fare delle prove ma secondo me la cosa è più semplice di come possa sembrare. Usa le funzioni \"classiche\" IN PORT & OUT PORT di cui ormai sei il massimo esperto \"8)\" ( dopo Nicola natularmente \":wink:\" ) chiamandole più volte consecutivamente senza ritardi passadogli ogni volta un pattern (8bit) del tuo buffer, ogni n chiamate consecutive metti una pausa di qualche ms per rilasciare tempo alla CPU. Così facendo dovresti riuscire a rienm,pire il buffer della pp più velocemnete di quando lei riesca a svuotarlo in questo modo ottieni che hai in uscita un flusso di dati regolati dalla f della PP... occhio a non essere troppo più veloce della PP per evitare di riempire completamaente il buffer anche per questo devi inserire delle pause tra le chiamate alla funzione Out Port.. Per calcolare i tempi e gli altri parametri la cosa fondamentale è sapere che frequenza di generazione ti serve in uscita da lì ti ricavi gli altri parametri. Fammi sapere se riesci che è una cosa che interessa anche me. Ciao, ---------------------------------------- AUTORE: 123 DATA :13/05/2005 - 01:06:29 ---------------------------------------- Ma con inport e outport tenete in considerazione o no l'inversione dei bit ? Lo chiedo perche' e' 2 mesi che provo in tutte le salse seguendo le istruzioni in rete di fare l'xor, ma non riesco a far funzionare nulla. ---------------------------------------- AUTORE: 201 DATA :13/05/2005 - 09:37:00 ---------------------------------------- Si va tenuto in considerazione. Riguardo al fatto di rimpire il buffer, ci ho rinunciato, creo la pwm a soli 200 hz poi con un moltiplicatore di freq la porto a 10 khz. @ gnippo: cosa devi fare con la parallela? ---------------------------------------- ================================================================================ vista ad albero ================================================================================ AUTORE: 498 DATA :03/05/2005 - 13:50:57 ---------------------------------------- ciao a tutti, sto cercando di usare il componente labview per la vista ad albero, non riesco a visualizzare nulla, avete qualche esempio od un tutorial? ---------------------------------------- AUTORE: 201 DATA :03/05/2005 - 14:01:28 ---------------------------------------- In generale ci lavori con gli invoke node(click destro sul controllo tre --> crea invoke node), comunque guarda gli esempi che propone labview per capirci meglio. ---------------------------------------- ================================================================================ LISTBOX ================================================================================ AUTORE: 498 DATA :03/05/2005 - 16:01:33 ---------------------------------------- ho un problema con le listbox, ho un'array bidimensionale, devo popolare una listbox in modo da settare gli item names ed associare ad essi un valore che mi salta fuori quando ci clicco sopra ---------------------------------------- AUTORE: 247 DATA :03/05/2005 - 21:00:56 ---------------------------------------- Ciao, cosa intendi di preciso con: [quote="gibbone":3h1pn4o0] \"un valore che mi salta fuori quando ci clicco sopra\"[/quote:3h1pn4o0] Vuoi che ti compaia un'etichetta vicino alla selezione contenente il valore associato alla selezione stessa? Oppure vuoi ottenere una visualizzzione diversa, tipo aggiornare un indicatore con il valore associato alla selezione? Oppure ancora hai bisogno del valore che \"salta fuori\" nel codice perchè devi utilizzarlo? Così a occhio e croce se vuoi questa interattività devi utilizzare gli eventi. BYE. ---------------------------------------- ================================================================================ Creazione menù ================================================================================ AUTORE: 341 DATA :03/05/2005 - 17:45:32 ---------------------------------------- Salve,sono nuovo di labview,ma vorrei creare un programmino con un front panel sul quale inserire dei pulsanti che mi permettano di andare su altri pannelli frontali e da quì poter ritornare all'iniziale.Qualcuno può aiutarmi???? Grazie \":(\" ---------------------------------------- AUTORE: 247 DATA :03/05/2005 - 20:51:23 ---------------------------------------- Ciao, vorrei aiutarti ma non capisco cosa intendi di preciso in particolare con : [quote="Vincenzo":3mgnbjc5]andare su altri pannelli frontali[/quote:3mgnbjc5] intendi dire che hai bisogno: 1- Di avviare più Vi in serie mostrandone il front panel e mandandoli in esecuzione uno in successione condizionata all'altro(sempre cmq con la possibilità di ritornare al principale). 2- Di avviare più Vi in serie, in base alla pressione dei bottoni, e lasciarli eseguire in parallelo (in pratica vuoi solo intervallare la visualizzazione del front panel in base ad una tua scelta fatta tramite i bottoni). 3- Di trovare spazio, che non hai a sufficienza su un unico front, per visualizzare tutte le informazioni che ti servono, generate cmq da un unico Vi. Qeste tre sono le ipotesi più immediate che mi sono venute in mente e che si possono risolvere in tre modi diversi dato che rappresentano esigenze ben distinte; se intendi altro ancora prova a descirvere meglio la tua applicazione e vediamo di risolvere! BYE. \":D\" ---------------------------------------- AUTORE: 341 DATA :05/05/2005 - 17:37:47 ---------------------------------------- Salve Apollon,poichè non sono ancora pratico del forum credo di averti risposto in modo privato.Adesso rimedio. Credo che il mio problema sia quello di avviare più Vi in serie mostrandone il front panel e mandandoli in esecuzione uno in successione condizionata all'altro(sempre cmq con la possibilità di ritornare al principale). Ti ringrazio anticipatamente Vincenzo ---------------------------------------- AUTORE: 247 DATA :07/05/2005 - 21:54:03 ---------------------------------------- Ciao! ...sorry ma non mi è arrivato nessun messaggio privato...indagheremo.. \"8)\" Per il tuo problema ho provato a fare questo esempio in LV 7, è un server che manda in esecuzione n Vi in serie Lasciandoti sempre la possibilità di tornare al principale. ..però non sono convinto che sia quello che cerchi, mi sa che ci siamo fraintesi sul "successione condizionata", per me voleva dire semplicemente "successione condizionata dalla terminazione tramite pulsante o condizione del Vi precedente nella serie" ovvero avvio un vi, questo esegue, termina(bottone o condizione) ed avvio il successivo a meno che non abbia premuto il tasto di richiamo del main, in questo caso termino il vi in esecuzione immediatamente e riavvio il main.. Cmq fai prima a dargli un'occhiata e poi mi dici.. \":D\" BYE. ---------------------------------------- AUTORE: 341 DATA :10/05/2005 - 17:34:56 ---------------------------------------- Ciao Apollon,ti ringrazio del file,ma in effetti non è propriamente ciò che volevo ottenere.Forse non sono riuscito a spiegarmi:riprovo. Vorrei realizzare un pannello frontale (tramite un ciclo while forse) sul quale siano posti più pulsanti;premendone uno dovrei entrare in un sub panel (con relativo sottoprogramma)nel quale ci siano delle operazioni da fare e dopo da quì poter ritornare al pannello principale.Analoga cosa per gli altri pulsanti. Per esempio,un pannello con quattro pulsanti relative alle quattro operazioni;premendo sul pulsante della moltiplicazione dovrei entrare nel sottoprogramma (con relativo pannello frontale) che mi permette di eseguire l'operazione e alla fine da questo ritornare al pannello principale.Spero di essermi fatto capire.Scusami per la lunghezza del messaggio.Aspetto,se possibile,la risposta. Un saluto. Vincenzo ---------------------------------------- AUTORE: 247 DATA :10/05/2005 - 17:48:23 ---------------------------------------- Ciao, ...in effetti quello che ho fatto non si avvicina nemmeno lontanamnte a quello che ti serve, penso infatti che tu stia semplicemente tentando di realizzare quelli che vengono comunemente chiamate finestre di pop up che vengono invocate quando premi un pulsante e poi spariscono quando hai terminato il loro utilizzo; prova a guardare l'esempio di questo post: [url=http://www.ilvg.it/forum/viewtopic.php?t=539&start=0&postdays=0&postorder=asc&highlight=:23xdsve3]Posizionamento del cursore sul „digital control“[/url:23xdsve3] e vedi se è questo l'effetto che vuoi ottenere. BYE. P.S. intanto provo a fare la calcolatrice... \"8)\" ---------------------------------------- AUTORE: 247 DATA :10/05/2005 - 18:20:28 ---------------------------------------- Ciao, questo dovrebbe essere più semplice da capire visto che non utilizza nè property node nè eventi... BYE. ---------------------------------------- AUTORE: 482 DATA :11/05/2005 - 07:23:30 ---------------------------------------- e utilizzare un tabcontrol con le pagine gestite da pulsanti? \":idea:\" ---------------------------------------- AUTORE: 247 DATA :11/05/2005 - 08:13:02 ---------------------------------------- Ciao gepponline, la soluzione che proponi tu funziona molto bene, infatti il risultato di una precedente discussione([url=http://www.ilvg.it/forum/viewtopic.php?t=626&start=0&postdays=0&postorder=asc&highlight=tab:25dxfws3]Ordinare Posizione controlli in TabBox[/url:25dxfws3]) è stato proprio un Vi che riordina i controlli di una tab per simulare un cambiamento di pagina più soft, in cui controlli ripetuti o simili hanno la stessa forma e dimensione per facilitarne l'utilizzo. Io non l'ho proposta dato che è leggermente più complicata dell'utilizzo dei più classici subVi. BYE. ---------------------------------------- AUTORE: 341 DATA :12/05/2005 - 16:26:57 ---------------------------------------- Ciao Apollon,ho trovato utilissimo il metodo (molto semplice ed intuitivo per uno alle prime armi come me) da te utilizzato per la calcolatrice.In effetti era ciò che volevo ottenere,anche se non mi ero fatto ben capire.Grazie molte. Ringrazio anche Gepponline per l'interesse prestasto per questo mio (piccolo per voi ma grande per me) problema. Appena avrò altri dubbi credo proprio che mi farò risentire,visto la gentilezza e la professionalità mostratami. Vincenzo ---------------------------------------- ================================================================================ indicatore stringa a scorrimento ================================================================================ AUTORE: 116 DATA :04/05/2005 - 07:50:49 ---------------------------------------- ciao \":roll:\" ho un piccolo problema: voglio utilizzare un indicatore stringa di piccole dimensioni. Questo non mi permette di visualizzare tutto il testo, anche perchè è variabile. E' possibile forlo scorrere in automatico (in orrizontale)quando la lungnezza del testo supera la capacità dell'indicatore (senza usare il \"scrollbar\")? \":?:\" ---------------------------------------- AUTORE: 129 DATA :04/05/2005 - 12:13:46 ---------------------------------------- Guarda l'esempio, ho utilizzato la property scroll, non è proprio sequenziale, ma il testo gira..... \":wink:\" Se lo migliori, postalo. Nic ---------------------------------------- AUTORE: 116 DATA :04/05/2005 - 13:16:40 ---------------------------------------- Simpatico l’effetto. \":)\" Avevo provato anch’io con il property node ma senza il controllo lunghezza stringa. Grazie per il VI proverò ad inserirlo nella mia applicazione. Strano che non ci sia questa funzione da applicare alle stringhe, non ti pare!? \":|\" Ciao e grazie ancora ---------------------------------------- AUTORE: 129 DATA :06/05/2005 - 09:53:50 ---------------------------------------- ma sai i giochetti che puoi fare sono tanti, nella llb allegata, trovi quello di sopra più uno che avanza caratterere per carattere... ---------------------------------------- AUTORE: 116 DATA :06/05/2005 - 10:33:08 ---------------------------------------- ti ringrazio ancora. cercherò di farne buon uso ciao ---------------------------------------- ================================================================================ Fieldpoint ================================================================================ AUTORE: 487 DATA :06/05/2005 - 10:24:01 ---------------------------------------- Ciao a tutti. \":D\" Ho un piccolo problema da sottoporvi: ho realizzato un applicazione, che serve per comandare un sistema di collaudo, tramite fieldpoint. Il pc sul quale ho sviluppato non è collegato con il fieldpoint. Terminata l'applicazione ho creato il file eseguibile e l'installer per poter installare il programma sul pc al quale è collegato il sistema di collaudo. Il problema è che il programma non riusciva a stabilire la connessione con il fieldpoint. Allora ho installato anche il MAX ed il tutto funziona. La domanda che vorrei porvi è la seguente: non è possibile creare un pacchetto d'installazione contenete tutti i driver necessari per poter far funzionare l'applicazione, senza dover installare separatamente il MAX? \":?\" ---------------------------------------- AUTORE: 4 DATA :06/05/2005 - 11:00:52 ---------------------------------------- Non è tanto il MAX che serve ma i driver per le funzioni che usi, nel tuo caso penso bastino le funzioni per il FP. In ogni caso non è possibile includere i driver nel pacchetto di installazione creato dall'app builder della NI... in pratica quello che hai fatto tu è il modo corretto di procedere in questi casi. Quello che si può fare è creare un installe con un pacchetto apposta (non NI) che installi sia l'applicazione sviluppata sia di driver, di solito questi tool sono molto completi e permettono impostazioni impossibili da realizzare cn l'attuale installer della NI. Ciao, ---------------------------------------- AUTORE: 487 DATA :06/05/2005 - 11:24:41 ---------------------------------------- Grazie. Potresti suggerirmi qualche programma per creare l'installer? ---------------------------------------- AUTORE: 4 DATA :06/05/2005 - 13:16:49 ---------------------------------------- il primo che mi viene in mente e www.installshield.com ma è forse fin troppo evoluto e poi a pagamento... prova a guardare comunque sul sito così ti fai un'idea e poi passi a una bella ricerca con google \":wink:\" Ciao, ---------------------------------------- AUTORE: 652 DATA :11/05/2005 - 16:26:37 ---------------------------------------- ciao, dai uno sguardo a questo: http://www.silvercybertech.com/ ciao Sandro ---------------------------------------- AUTORE: 487 DATA :23/05/2005 - 08:43:01 ---------------------------------------- Grazie mille per l'informazione. ---------------------------------------- ================================================================================ AIUTO sistema di supervisione ================================================================================ AUTORE: 673 DATA :06/05/2005 - 14:38:43 ---------------------------------------- Ciao a tutti, mi sono appena iscritto a questo forum e spero che mi riusciate a dare una mano. Allora, da poco più di un mese sto realizzando un sistema di supervisione di vari impianti con l'utilizzo del LabView ed in particolare del modulo DSC. Sono riuscito ad acquisire i dati dal PLC di un impianto ma sto abbastanza tribolando per la memorizzazione dei dati direttamente su un foglio excel. Il LabView mi permette di creare uno storico attraverso il programma esterno MAX e da qui di esportare i dati verso una qualsiasi database. Sto cercando di svincolarmi da questo MAX e memorizzare i dati subito in Excel. E' possibile?Mi sapete dire come generare un report dei dai efficiente? Altro problema: siccome gli impianti sono vari ho creato altrettanti pannelli di supervisione. Ho creato una pagina iniziale in cui seleziono l'impianto da monitorare: cliccando sul relativo tasto mi viene caricato il pannello corrispondente.Ovvero, viene aperto l'OPC server e il TagEngine. Se però decido di chiudere quel determinato pannello per visionarne un altro, devo chiudere manualmente il Tag Engine e l'OPC Server perchè il progetto e il file di configurazione sono diversi. Per ogni pannello ho specificato il file di configurazione (.scf) da caricare ma se decido di cambiare pannello mi rimane caricato quello precedente. Io vorrei che questo cosa venga fatta automaticamente ma non riesco a capire come. Poi come faccio a dire al LabView di aprirmi quel particolare file dell'OPC server? Grazie della disponibità ---------------------------------------- AUTORE: 482 DATA :06/05/2005 - 14:52:40 ---------------------------------------- Di DSC ho fatto il corso ma poi non l'ho piu' usato enon ti so aiutare, per quanto riguarda invece il file excel.. Dipend emolto dal fomrato e dalla quantità di dati che devi salvare. S enon hai particolari esigenze estetiche, la soluzione migliore è quella di trasformare i tuoi dati un una spreadsheet string e salvare uno spreadsheet file (con i moduli appositi nella palette dei file) con estensione xls. Cosi' ti si apre un foglio di calcolo excel con tutti i tuoi dati. In alternativa io mi son trovato comodo nella generazione di report con il report generation toolkit utilizzando le funzioni di template. Praticamnete crei il tuo report template con dei segnalibri dove vuoi inserire dei dati, poi con un modulino inserisci tramite il nome del segnalibro, il dato in quella posizione. \":wink:\" ---------------------------------------- AUTORE: 13 DATA :06/05/2005 - 18:39:28 ---------------------------------------- Ciao ... Per poter creare un file excel direttamente da labview devi utilizzare , il pacchetto national labview office report toolkit all'interno trovi tutte le librerie in graqdo di poter scrivere , leggere , creare grafici , formattare dati in un foglio excel o documento word io lo uso gia da tempo e devo dire che non sono niente male. saluti ---------------------------------------- AUTORE: 673 DATA :09/05/2005 - 07:07:53 ---------------------------------------- Grazie per le info che mi avete fornito. Spero che qualcuno riesca ad aiutarmi anche con il DSC. Un saluto a tutti e buon inizio settimana. ---------------------------------------- ================================================================================ cFP vs Plc ================================================================================ AUTORE: 652 DATA :06/05/2005 - 15:43:52 ---------------------------------------- Ciao a tutti, questo è il mio primo intervento su questo interessantissimo forum. Io utilizzo i plc per il controllo di processo di impianti. Ora sto' valutando la soluzione NI con i cFP e Labview con modulo DSC per la parte di interfaccia HMI. Qualcuno di Voi ha già utilizzato i cFP ?? e con quanti canali i/O ?? Ci sono state difficoltà ? Grazie e buon fine settimana sandro ---------------------------------------- AUTORE: 4 DATA :09/05/2005 - 09:16:32 ---------------------------------------- Ciao e benvenuto. Non ho mai utilizzato cFP ma spesso uso i FP sia RT che non. Il numero massimo di I\O, realizzato utilizzando FP non RT, è stato intorno ai 200 senza nessun problema anzi con molta facilità nell'iterfacciare SW e HW che poi è proprio il punto di proza dei prodotti NI. Stesso discorso vale per DSC, quando lo si utilizza in abbinamento HW o SW di NI non ci sono problemi chge invece ci sono, anche se risolvibili solo con qualche noia di troppo, quando ci si vuole interfacciare a prodotti di marche diverse, questo dipende dal fatto che più o meno tutti i produttori di PLC e affini e dei loro relativi SW usano politiche commerciali piuttosto rigide \"chiuse\" e molte soluzioni proprietarie, rendendo l'interoperabilità in sistemi eterogenei (dal punto di vista delle marche) abbastanza difficoltoso. Ciao, ---------------------------------------- AUTORE: 652 DATA :09/05/2005 - 10:32:14 ---------------------------------------- ciao ale914, grazie per la risposta. in effetti,io ho menzionato cFP perchè li ho visti alla presentazione del mese scorso a Milano. Credo che la soluzione RT sia il possibile sostituto del Plc,avendo la logica a bordo. Nel caso del FP non RT, la logica viene eseguita da chi ?? (labview ? ). Scusami se ti pongo domande che sono magari ovvie per chi conosce il mondo NI come le sue tasche,ma mi devo fare un'idea il piu' possibile 'non di parte' per poter dare ai miei clienti la soluzione migliore ai diversi problemi. Fino ad ora ho utilizzato plc di marche tedesche e americane,ma voglio essere in grado di poter fornire soluzioni non legate al mondo plc. Da qui l'interesse verso i moduli NI. Stesso discorso per gli SCADA, ho utilizzato molti dei 'TOP SCADA', ma voglio avere una visione globale dei prodotti disponibili. Buona giornata sandro ---------------------------------------- AUTORE: 4 DATA :09/05/2005 - 10:41:16 ---------------------------------------- La logica nei FP non RT deve essere gestita da un PC con apposito SW collegato al FP. Nei FP RT la logica è gestita direttamnete dal FP che quindi non ha bisogno di essere collegato a un PC per poter funzionare. Oltre questo grossissimo vantaggio con i FP RT usi un ambiente di programmazione LV sia per il SW RT sia per l'interfaccia grafica quindi hai un ambiente omogeneo in più LV permette di realizzare \"facilmete\" applicazioni complesse cosa più ostica con i classici ambienti di sviluppo per PLC hai anche molti vantaggi nel debug delle tue applicazioni che puoi far girare su RT mentre vedi il codice sul PC di sviluppo. Secondo me non ci sono paragoni tra FP RT e PLC l'unica pecca sono i prezzi dei prodotti NI in alcuni casi maggiori rispetto a quelli dei PLC. Ciao, ---------------------------------------- AUTORE: 652 DATA :09/05/2005 - 10:48:40 ---------------------------------------- ciao, grazie per le info. Mi sto facendo fare da NI alcune offerte per i moduli cFP ed il sw necessario al loro utilizzo. Intanto ti ringrazio per le risposte, esaudienti e rapide. ciao sandro ---------------------------------------- ================================================================================ Immagini 3D ================================================================================ AUTORE: 655 DATA :09/05/2005 - 13:34:13 ---------------------------------------- [b:23deus3p]Saluti a tutti. Da poco sto lavorando con labview, e vorrei un po’ d’aiuto. Mi piacerebbe sapere come posso fare per esportare immagini 3D a labview e sì hanno on estensione in particolare. Da internet ho travato belli esempi però non riesco a trovare come hanno fatto per esportare questi figure o immagini 3D, se qualcuno sa qualcosa mi può aiutare. Grazie a mille Jubal Gil[/b:23deus3p] ---------------------------------------- AUTORE: 247 DATA :09/05/2005 - 14:41:44 ---------------------------------------- Ciao e benvenuto! Se dai i riferimenti(link) agli esempi che hai trovato su internet possiamo magari vedere di capire come li hanno realizzati; in alternativa prova ad allegare qualche immagine che ti piacerebbe esportare(o importare?) da(a)LV e a spiegare anche sommariamente che cosa devi fare con queste immagini, giusto per definire meglio il panorama! BYE. \":D\" ---------------------------------------- AUTORE: 655 DATA :10/05/2005 - 10:12:01 ---------------------------------------- [quote="apollon":1m9krv30]Ciao e benvenuto! Se dai i riferimenti(link) agli esempi che hai trovato su internet possiamo magari vedere di capire come li hanno realizzati; in alternativa prova ad allegare qualche immagine che ti piacerebbe esportare(o importare?) da(a)LV e a spiegare anche sommariamente che cosa devi fare con queste immagini, giusto per definire meglio il panorama! BYE. \":D\"[/quote:1m9krv30] Ciao, sto facendo controlli per impianti chimici, ho fatto tutto il sinottico però senza nessuna immagini 3D, mi piacerebbe farlo, per esempio mettere i tubi, pompe serbatoi ed altri, ma non so come farlo, da internet ho trovato qualcosa. Ti allego un esempio che ho trovato per fare girare un ventilatore 3D. Grazie ---------------------------------------- AUTORE: 247 DATA :10/05/2005 - 10:34:04 ---------------------------------------- Ciao, avevo capito male, pensavo che ti interessasse importare un'oggetto in tre dimensioni, tipo un pezzo 3D disegnato ad esempio in Autocad oppure i risultati di un test da visualizzare su tre assi, mentre in effetti tu hai sempre parlato di immagini 3D... \":D\" Quello che stai tentando di fare è una cosa che interessa molti dato che parecchie persone utilizzano LV per creare software di supervisione...in ILVG ne abbiamo già parlato in questi post che puoi leggere se non lo hai già fatto(in uno dei post c'è già in effetti il link alla pagina che contiene l'esempio da te riportato): [url=http://www.ilvg.it/forum/viewtopic.php?t=651&start=0&postdays=0&postorder=asc&highlight=grafica:1902uqd6]Suggerimenti sulla creazione di controlli personalizzati[/url:1902uqd6] [url=http://www.ilvg.it/forum/viewtopic.php?t=570&start=0&postdays=0&postorder=asc&highlight=grafica:1902uqd6]rappresentazione grafica particolare[/url:1902uqd6] [url=http://www.ilvg.it/forum/viewtopic.php?t=588&start=0&postdays=0&postorder=asc&highlight=grafica:1902uqd6]Grafica LV[/url:1902uqd6] [url=http://www.ilvg.it/forum/viewtopic.php?t=455&start=0&postdays=0&postorder=asc&highlight=grafica:1902uqd6]sfarfallio immagini[/url:1902uqd6] Come avrai potuto notare la \"grafica\" in LV viene realizzata principalmente modificando i controlli graficamente e poi utilizzandoli con qualche trucco, utilizzando picture rings(l'esempio che hai riportato) oppure aggiungendo immagini statiche...definirei la grafica quindi \"un lavoro molto artigianale\"...a meno di non accontentarsi di utilizzare le decorazioni già messe a disposizione da LV, tipo utilizzare le barre 3D per simulare i tubi e disegnare le valvole in 2D stilizzate tipo autocad. Se realizzi qualcosa di interessante faccelo sapere oppure se hai qualche idea nuova proponila! BYE. ---------------------------------------- AUTORE: 655 DATA :10/05/2005 - 12:07:30 ---------------------------------------- Grazie. Tra un po’ guardo quelli link che me hai inviato, se mi piacerebbe sapere come si fa ha importare un oggetto in tre dimensioni, non so se hai visto l’esempio che ti ho inviato, ancora ce l’ho il dubbio di come si fa a mettere oggetto 3D, se lo sai me puoi indicare come se fa… Grazie ---------------------------------------- AUTORE: 129 DATA :10/05/2005 - 12:54:54 ---------------------------------------- l' oggetto di cui parli è una sequenza di fotogrammi incollata nei box di un picture ring. Dalla palette controlli puoi inserire questo picture ring, quindi dalla barra dei menu selezioni \"edit/import picture from file\" prendi l'immagine e tasto destro sul picture ring che ti darà la possibilità di aggiungere l'immagine nel fotogramma attuale,in quello precedente o nel successivo. Questa la prassi per creare un controllo \"animato\" da programma........ ---------------------------------------- AUTORE: 247 DATA :10/05/2005 - 13:32:56 ---------------------------------------- Ciao, come ti ha detto Nicola l'immagine 3D che hai postato e la sua animazione viene ottenuta facendo ciclare immagini singole (in realtà a due dimensioni quindi) come accade in pratica per le gif. Se vuoi importare immagini 3D, fatte magari in Autocad etc, ti consiglio di utilizzare decisamente controlli ActiveX che offrono una buona resa ad un costo irrisorio (vedi seconda immagine allegata sotto). Se invece vuoi creare e manipolare immagini 3D in LV devi prima di tutto \"sapere il fatto tuo\" in gestione e manipolazione delle immagini in generale e poi utilizzare i controlli grafici di base oppure provare con il \"LabVIEW 3D Picture Control Evaluation Software\" scaricabile [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/9672F024704DE89086256ED100620A56:8ivrwy4a]qui[/url:8ivrwy4a]. Altri interessanti esempi di oggetti e manipolazione 3D, giusto per farti una panoramica li puoi trovare seguendo i seguenti link(vedi prima immagine allegata sotto): [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B123AE0CBA19111EE034080020E74861:8ivrwy4a]Plotting Multiple 3D Plots on a Single 3D Graph (Windows)[/url:8ivrwy4a] [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B123AE0CBB39111EE034080020E74861:8ivrwy4a]3D Plot with Pseudo 4th Dimension as Intensity[/url:8ivrwy4a] (molto bello) [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B123AE0CBC4D111EE034080020E74861:8ivrwy4a]Displaying 4D Data with the 3D Parametric Graph[/url:8ivrwy4a] e a questo allegato ad una [url=http://forums.ni.com/ni/board/message?board.id=170&message.id=104833&view=by_threading&page=1:8ivrwy4a]discussione[/url:8ivrwy4a] sul Forum NI d'oltreoceano: [url=http://forums.ni.com/attachments/ni/170/104834/1/OldForumThreadAttachments.zip:8ivrwy4a]OldForumThreadAttachments.zip[/url:8ivrwy4a] ...più o meno per dare un'occhiata a tutto ti ci vorrà un secolo... Cmq fatti sentire prima!!! \"8)\" BYE. ---------------------------------------- ================================================================================ Adattare visual basic a labview ================================================================================ AUTORE: 24 DATA :10/05/2005 - 18:23:11 ---------------------------------------- Salve a tutti. Nel portare codice Vb 6.0 in labview 7.1 , mi sono dibattuto in un problema di dichiarazione variabili. Es. in visual basic : type pfb_mas_cfg maserror as byte masstatus as byte end type. Ho portato di tutto sotto Vb, ma non riesco a capire come interpretare queste dichiarazoni. In pratica chiamo in vb chiamo : dim masstate as pfb_mas_cfg dim cardhandle as long if pfb_masstatus ( cardhandle, 0 , mastate) = false then dispayerror tex1.text = masstate.maserror. dove pfb_masstatus è la funzione nella dll ed il parametro mastate è dichiarato byref mastate as any In Vb tutto ok, ma come si fa in labview ad asssociare a masstate i type di cui sopra? saluti a tutti \":cry:\" Saluti a tutti. ---------------------------------------- ================================================================================ Salvare i file ================================================================================ AUTORE: 516 DATA :11/05/2005 - 17:41:55 ---------------------------------------- Ciao a tutti Scrivo per porvi un problema che non riesco a risolvere da diversi giorni . Ho realizzato un programma di acquisizione dati di una macchina ora vorrei salvare i dati in un file *.txt . Quello che vorrei è che tramite un pulsante (chiamato Save) quando viene premuto mi si apra una finestra dove mi viene chiesto dove voglio salvare il file e dopo di che mi crea il file qualche suggerimento ? Grazie Mille Ciao Sergio ---------------------------------------- AUTORE: 672 DATA :11/05/2005 - 21:04:18 ---------------------------------------- Ciao, sono \"nuovo\" di LabVIEW però penso si possa fare così: metti il blocchetto \"Write To Spreadsheet File\" all'interno di un costrutto \"case\" pilotato appunto dal valore del pulsante save che hai detto. ---------------------------------------- AUTORE: 201 DATA :13/05/2005 - 12:17:00 ---------------------------------------- Ecco un semplice metodo che fa quello che desideri, i dati che vuoi salvare li devi organizzare in un array. ps. Cose come queste penso che le puoi benissimo scrivere in Programmazione e non Programmazione Avanzata, secondo me avrebbero anche più visibilità. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :13/05/2005 - 12:17:36 ---------------------------------------- [quote="paolo511":2wbeinqh]Ciao, sono \"nuovo\" di LabVIEW però penso si possa fare così: metti il blocchetto \"Write To Spreadsheet File\" all'interno di un costrutto \"case\" pilotato appunto dal valore del pulsante save che hai detto.[/quote:2wbeinqh] Esatto! ---------------------------------------- AUTORE: 516 DATA :14/05/2005 - 17:40:46 ---------------------------------------- Grazie Mille a tutti per il consiglio . Ciao Sergio ---------------------------------------- ================================================================================ problemi con "picture control" ================================================================================ AUTORE: 680 DATA :12/05/2005 - 20:44:52 ---------------------------------------- ciao, sono nuvo del forum ed è da circa un anno che uso labview... volevo sapere come si fa a togliere quel bordo grigio che LabView mette nelle \"picture control\". non so se si possa fare (in visual basic l'opzione per togliere il bordo è \"border style = none\") spero che qualcono di voi mi possa aiutare..... vi ringrazio molto comunque.... ---------------------------------------- AUTORE: 482 DATA :13/05/2005 - 07:25:00 ---------------------------------------- ...ma ciao! non so se esistono alti modi, in ogni caso questo è abbastanza semplice: Innanzitutto non usare il picture ring dei nuovi controlli ma usane uno di quelli delle vechie versioni di Labview. Lo trovi nella Controls palette sotto Classic Controls->Classic Ring & Enum Poi col destro sotto visible togli il controllo \"increment/decrement\" e poi con il pennello dei colori selezioni il colore trasparente (che è la T in alto a destra) e clicchi sul bordino. \":wink:\" ---------------------------------------- AUTORE: 680 DATA :13/05/2005 - 11:11:33 ---------------------------------------- ok grazie mille, il pannello dei colori dove lo trovo? ciao........ ---------------------------------------- AUTORE: 680 DATA :13/05/2005 - 11:25:58 ---------------------------------------- e tra l'altro, come si fa ad inserire un'immagine (ad esempio un jpg) in picture ring?? io con la picture control, uso il \"read JPEG file.vi\" e il Draw flattened pixmap.vi\" ---------------------------------------- AUTORE: 680 DATA :13/05/2005 - 11:50:13 ---------------------------------------- scusa, tutto OK..... ho risolto il problema.... grazie mille ancora......... ciao!!! ---------------------------------------- ================================================================================ Ridimensionare oggetti ================================================================================ AUTORE: 201 DATA :13/05/2005 - 12:33:12 ---------------------------------------- Ho il problema che quando porto una vi da un pc all'altro, e questi hanno 2 diverse risoluzioni, la vi che creo nn si ridimensiona, ossia se a 1152x1024 occupava tutto il monitor, a 800x600 mi va \"fuori\" schermo e questo nn va bene... Come potrei risolvere? ---------------------------------------- AUTORE: 247 DATA :13/05/2005 - 14:14:39 ---------------------------------------- Caio, non l'ho mai utilizzato, ma prova con le opzioni di settaggio del Vi seguendo: File->Vi Properties->Window size(menù a tendina)->...\"opzione desiderata\" BYE. ---------------------------------------- AUTORE: 482 DATA :13/05/2005 - 16:04:45 ---------------------------------------- ...ma ciao! Io l'ho provato piu' volte, effettivamente le opzioni da toccare sono quelle solo che nel rimpicciolimento ci sono parecchi problemi soprattutto nella caption e nelle laber oltre che nella posizione. Il consiglio migliore che ti posso dare èquello di sviluppare il sorgente nella minima risoluzione possibile cosi' che anche ingrandendolo non ti dia troppi problemi. Per farlo il piu' piccolo possibile basta che setti come dimensioni minime ad esempio 800 x 600 ,poi semplicemente trascinando i bordi ti limiterà a quella dimensione dopodichè parti a programmare! \":wink:\" ---------------------------------------- AUTORE: 201 DATA :15/05/2005 - 11:23:28 ---------------------------------------- si infatti con quelle opzioni dopomi si modificano gli oggetti tipo figure.. grazie dei suggerimenti ad entrambi ---------------------------------------- ================================================================================ Salvataggio diretto di Array ================================================================================ AUTORE: 482 DATA :13/05/2005 - 12:52:27 ---------------------------------------- ..ma ciao! Ho un problema che mi turba da molto tempo. Aggirabilissimo in mille modi pero' non ho ancora scoperto a cosa sia dovuto e volevo vedere se qualcuno di voi sa rispondermi. Come mai se io salvo un array su file e poi provo a riaprire questo file nella stessa maniera in cui l'ho salvato non mi si apre? Allego un VI per farvi capire di cosa parlo. Fatelo girare una volta e slavate il file .tst, dopodichè premete il tasto salva (diventa apri) e fatelo girare. Vi restituirà un errore che non sono risucito ad eliminare.. \":?:\" facendo la stessa cosa con un numero singolo non ci sono problemi, ma con l'array non gli va a genio..mah... ---------------------------------------- AUTORE: 201 DATA :13/05/2005 - 14:04:40 ---------------------------------------- In byte stream type non ci devi collegare l'array, ma una costante uguale al contenuto dell'array, nel tuo caso una I32. Devi poi collegare dire quanti dati leggere, nel tuo caso 6 quindi colleghi 6 al count. ---------------------------------------- AUTORE: 482 DATA :13/05/2005 - 16:02:16 ---------------------------------------- oohh!!..e checazzo!! \":lol:\" Grazie mille di sta cosa..non risucivo proprio a mettermi nell'ottica...io sapevo che dovevi collegare un elemneto dello stesso tipo, allora volendo in uscita l'array collegavo l'array, come pe rilcluster collegavo il cluster, il numero pensavo servisse solo per parzializzare la lettura grazie mille ancora! adeso posso dormire sonni tranquilli! \":lol:\" \":lol:\" \":D\" \":o\" ---------------------------------------- ================================================================================ Posizionamento finestra ================================================================================ AUTORE: 463 DATA :14/05/2005 - 13:30:22 ---------------------------------------- Salve a tutti, ho un piccolo problemino da risolvere, vorrei realizzare un subVi che ad ogni chiamata apri il front panel in una posizione diversa (i cui parametri top e left glieli passo io) dello schermo, ad esempio dal vi principale cliccando su un bottone apro il subVi interessato in alto a sx, poi lo chiudo, con la seconda chiamata loriapro ma queta volta l voglio che si apra in alto a dx ecc, in poche parole come posso passare i parametri left e top di una frontpanel di un Vi in modo dinamico al vi stesso? E' possibile? Ringrazio in anticipo chi riesce a darmi qualche info utile a risolvere il mio caso....!!Ci conto! ---------------------------------------- AUTORE: 247 DATA :14/05/2005 - 14:37:45 ---------------------------------------- Ciao, io lo faccio utilizzando la proprietà FP.PanelBounds come nell'esempio sotto. BYE. ---------------------------------------- AUTORE: 463 DATA :15/05/2005 - 17:40:34 ---------------------------------------- Ok, centrato in pieno il mio problema, grazie infinite per la rapidità e correttezza della risposta!!! ---------------------------------------- ================================================================================ Disegno Braccio Robotico ================================================================================ AUTORE: 516 DATA :15/05/2005 - 22:14:06 ---------------------------------------- Ciao a TUTTI Vi scrivoper chiedervi un aiuto. Sto facendo un programma x muovere un braccio robotico ora fino a qui nessun problema , vorrei però \"creare\" un disegno del braccio e far si che quando lo muovo a sua volta possa vedere il braccio nel disegno cambiare posizione , qualche suggerimento ? Grazie a Tutti Ciao Sergio ---------------------------------------- AUTORE: 482 DATA :16/05/2005 - 08:47:24 ---------------------------------------- ..ma ciao! Se guardi tra gli esempi di LabVIEW c'e' un esempio legato ai picture control che si chiama Robot.vi in cui compare proprio il diesgno di un braccio robotico e che modificando i parametri a pannello puoi far muovere a piacimento (in 2D pero'), partendo da li magari riesci a customizzarti la soluzione! \":wink:\" ---------------------------------------- AUTORE: 201 DATA :16/05/2005 - 14:52:48 ---------------------------------------- Foto del braccio robotico? \":lol:\" ---------------------------------------- ================================================================================ Collegamento file txt ================================================================================ AUTORE: 368 DATA :16/05/2005 - 12:19:33 ---------------------------------------- Ciao a tutti, ho una difficoltà \":o\" e spero possiate aiutarmi: Sto realizzando un sistema automatico per il collaudo di componenti eletytronici ed ho problemi nella fase di salvataggio dati. Il mio VI salva il risultato di ogni prova in un file diverso(non sono riuscito a fare diversamente per la mia limitata conoscenza di Labview).... 1) Posso legare tutti i file in un unico txt? Oppure sapete darmi un consiglio? \":lol:\" Ringrazio in anticipo per l'attenzione e saluto tutti ---------------------------------------- AUTORE: 201 DATA :16/05/2005 - 15:08:55 ---------------------------------------- Ecco un piccolo esempio di come potresti fare se devi salvare dei dati numerici. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 201 DATA :16/05/2005 - 15:46:25 ---------------------------------------- Questa invece ti permette di scrivere qualunque tipo di dato, e successivamente anche di rileggerlo. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 368 DATA :17/05/2005 - 15:28:07 ---------------------------------------- Grazie dell'aiuto , ma per come ho impostato il lavoro mi sarebbe molto più comodo ottenere un file txt per ogni prova(sono 11 prove sequenziali che coinvolgono 5 strumenti di misura, schede di relè, ecc.) e riunirli in uno unico file alla fine, è possibile? Grazie ancora ---------------------------------------- AUTORE: 201 DATA :17/05/2005 - 15:36:02 ---------------------------------------- Ma cosa salvi? cmq si è semplice leggi ogni singolo file, e inserisci i dati letti in un array, poi alla fine risalvi l'array così ottenuto in un altro file. ---------------------------------------- AUTORE: 368 DATA :17/05/2005 - 16:17:13 ---------------------------------------- Percepito, avevo un'idea simile,ma così è tutto più chiaro. Salvo le misure provenienti soprattutto da un multimetro, ma anche da un oscilloscopio e anche stringhe di caratteri come quelli provenienti dalla lettura di un codice a barre..... cioè tutti i risultati delle varie prove di collaudo su un alimentatore. Rinnovo i ringraziamneti e se mi smarrisco di nuovo mi farò risentire.BYE ---------------------------------------- ================================================================================ Doppia "esecuzione" nella barra delle applicazio ================================================================================ AUTORE: 480 DATA :17/05/2005 - 13:06:34 ---------------------------------------- Ciao a tutti, mi sta succedendo una cosa veramente insolita... magari ancora una volta qualcuno qui può aiutarmi. Il problema è questo: ho creato un'applicazione il LV7.1 che ha una ventina di subVi. Creo l'eseguibile e il pacchetto di installazion.... e sin qui tutto ok. Quando lancio l'eseguibile, dopo aver installato il pacchetto, nella barra di windows della applicazioni, quella che compare in basso, mi compare due volte l'indicazione dell'applicazione, come se ad esempio avessi lanciato due volte lo stesso programma! Non so se sono stato molto chiaro. Qualcuno di voi ha idea del perchè?? bhoooooo...... \":(\" Non sto dormendo la notte per capire il motivo! \":o\" \":o\" \":o\" Come al solito grazie a tutti ---------------------------------------- AUTORE: 4 DATA :17/05/2005 - 13:25:25 ---------------------------------------- guarda questo [url=http://digital.ni.com/public.nsf/allkb/6E660558F3D420C786256FCB005B4F52:r4vicxlo]documento[/url:r4vicxlo] sul sito di NI. Ciao, ---------------------------------------- AUTORE: 480 DATA :20/05/2005 - 09:00:02 ---------------------------------------- Grazie Ale.... hai sempre la soluzione pronta!!!! gr8 administrator \":lol:\" ---------------------------------------- ================================================================================ e-mail........ ================================================================================ AUTORE: 680 DATA :17/05/2005 - 20:01:19 ---------------------------------------- ciao a tutti.... ho visto che su labview 7.1 c'è la possibilità di inviare mail (tramite il server SMTP), volevo sapere se c'è la possibilità o se qualcuno di voi è in grado anche di ricevere mail (tramite il server POP / POP3)... ciao e grazie mille......... ---------------------------------------- AUTORE: 129 DATA :18/05/2005 - 09:49:42 ---------------------------------------- Utilizzando il tcp/ip dovresti riuscire anche a ricevere , io personalmente non ho mai provato, ti invio un vi che ho trovato in giro che ti fa vedere come utilizzare le tcp/ip.... ---------------------------------------- ================================================================================ prime armi con labview.. uso delle vi ================================================================================ AUTORE: 683 DATA :18/05/2005 - 10:29:01 ---------------------------------------- avrei bisogno di qualche informazione per includere un VI in altro progetto in modo da risparmire spazio grafico, dove devo salvere il VI e come si configurano le gli ingressi e le uscite in modo da poterle connettere al nuovo progetto?? ---------------------------------------- AUTORE: 129 DATA :18/05/2005 - 10:48:08 ---------------------------------------- Se fai click destro sull'icona del vi in alto a destra puoi selezionare \"show connector\", quindi selezioni un connettore e un controllo del tuo vi, vedrai che il connettore si colora del tipo di dato del controllo associato, se i connettori non ti bastano puoi modificare il patterns semplicemente facendo ancora click destro. Questo è un subvi, ora dal tuo vi principale, vai sul diagramma e dalla palette function clicchi su select a vi, cerchi il subvi che hai appena salvato e lo aggiungi. I terminali sono ora disponibili. Ci sono poi delle modifiche che puoi fare al vi al fine di visualizzarlo quando chiamato ecc. Io per non perdere i collegamenti con i subvi, salvo il vi principale creando una .llb ovvero una libreria di labview. Per farlo dal vi principale, file/save with option e selezioni developement distribution... Buon lavoro. ---------------------------------------- AUTORE: 683 DATA :18/05/2005 - 14:19:20 ---------------------------------------- gazie mille proverò ma credo chela tua spiegazione sia stata molto chiara ottimo forum ---------------------------------------- ================================================================================ Pulsante di stop unico [era: Ho un problema] ================================================================================ AUTORE: 368 DATA :18/05/2005 - 16:29:20 ---------------------------------------- Salve a tutti, ho un nuovo problema \":roll:\" , eccolo: si può fare in modo che più controlli (di tipo boleano) corrispondano ad un unico pulsante sul front pannel? Praticamente ho dei pulsanti di stop per interrompere dei cicli while, messi in sequenza( in una struttura sequence), ma sul pannello frontale voglio un solo pulsante di stop che me li abiliti tutti. Sfruttando i tunnel attraverso le strutture non ottengo l'effetto desiderato! ---------------------------------------- AUTORE: 672 DATA :18/05/2005 - 20:53:47 ---------------------------------------- Ciao, perchè vuoi usare più boolean? Se ne vuoi usare di più ma che rispondano sempre allo stesso pulsante, allora usane solo uno. In pratica nel block diagram usi quello relativo al pulsante, poi quando devi usare il secondo, prendi una variabile locale (Local Variable, nel menù structures) e poi con il destro selezioni \"selec item\" e la riferisci sempre allo stesso pulsante. Sempre con il destro poi scegliere tra \"change to read\" o \"change to write\" per decidere se scrivere nella variabile o leggerne il valore. Spero possa andar bene per la tua applicazione ciao ciao ---------------------------------------- ================================================================================ Errore rimuovendo i cursori da un Digital Waveform Graph ================================================================================ AUTORE: 684 DATA :19/05/2005 - 15:33:38 ---------------------------------------- Salve Ho un problema in un VI: devo aggiungere e successivamente rimuovere due cursori in un Digital Waveform Graph. Quando cerco di rimuoverli ottengo l'errore \"Fatal Internal Error - graphcrs.cpp; line 1154\". Per rimuovere i cursori ho provato sia a eliminare gli ultimi due elementi dall'array CursorList (proprietà del Digital Waveform Graph), sia a memorizzare questo array prima di aggiungere i cursori e poi a reimpostarlo, ma non cambia nulla. Non riesco nemmeno a individuare esattamente dove sia il problema, perchè se uso dei breakpoint l'errore non compare. Sto usando la versione di Labview 7.1. Qualcuno ha un'idea di quale possa essere il problema? Grazie per l'aiuto! ---------------------------------------- ================================================================================ SAlvataggio file ================================================================================ AUTORE: 341 DATA :19/05/2005 - 19:40:17 ---------------------------------------- Salve,sono Vincenzo ed ho ancora un problema da sottoporvi. Ho realizzato il VI “Genera e salva valori” che qui allego,con il quale salvo un array di 1024 valori che posso leggere con Excel. Adesso voglio realizzare un VI che,in un secondo momento,legge i valori salvati e li “grafica” sul waveform chart;inoltre,agendo sui cursori X1,X2,Y1,Y2,devo poter calcolare la differenza tra due valori relativi di X e di Y (es X2-X1,Y2-Y1 o i valori di ampiezza,etcc.) e tali valori salvarli nella Table Indicator Parameter.Vorrei ancora salvare in un unico array sia i 1024 valori che i risultati della Table Indicator Parameter in modo da ottenere in Excel una prima colonna con le parole riportate nella Table Indicator Parameter e nella seconda colonna sia gli eventuali risultati riferentisi alle parole della Table Indicator Parameter,che i 1024 valori che ottengo dall’array. Vi ringrazio ---------------------------------------- AUTORE: 235 DATA :06/06/2005 - 17:16:57 ---------------------------------------- Un po' in ritardo... ma non avevo notato questo post.... se ti è ancora utile ti allego un'immagine per calcolare la distanza tra due cursori. Idem per l'asse Y. Bye P. ---------------------------------------- AUTORE: 341 DATA :07/06/2005 - 15:18:21 ---------------------------------------- Salve Pallaz,i consigli sono sempre ben accetti e mai in ritardo. Volevo però sapere casa è l'oggetto che interponi tra il subtract e li waveform perchè non riesco a trovarlo.Non basta mettere solo il subtract? Fiducioso aspetto una risposta. Vincenzo ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 17:15:46 ---------------------------------------- [quote="Vincenzo":2ufnzjhy]Volevo però sapere casa è l'oggetto che interponi tra il subtract e li waveform[/quote:2ufnzjhy] Lo trovi nel menu Comparison >> Max-Min e ti dice quale dei due valori in gresso è il massimo. Ti serve per capire quale è il cursore più a sinistra (o destra) e non avere un risultato negativo. In alternativa a questo blocco, puoi usare la funzione \"modulo\" dopo la sottrazione. Bye P. ---------------------------------------- AUTORE: 341 DATA :07/06/2005 - 17:43:48 ---------------------------------------- OK ho trovato la funzione. Adesso ti chiedo ancora un aiuto,se possibile. Ho acquisito un'onda che visualizzo tramite waveform graph.Tale onda ha molti picchi;vorrei poter selezionare,tramite i cursori,solo una parte dell'onda e in questa parte selezionata poter calcolare il max e min. grazie. vincenzo ---------------------------------------- AUTORE: 235 DATA :08/06/2005 - 13:27:02 ---------------------------------------- La tua forma d'onda è sostanzialmente un array. Devi tagliare il pezzo di array che ti serve e poi farlo passare nella funzione \"Array Max-Min\". Per tagliare il pezzo di array ci sono vari modi, o usi le funzioni per gestire gli array o un VI Express che si chiama \"Extract Portion of Signal\" (menu Express>> Signal Manip) Buon lavoro.... Bye P. ---------------------------------------- ================================================================================ application builder ================================================================================ AUTORE: 498 DATA :20/05/2005 - 00:34:02 ---------------------------------------- ciao a tutti , come faccio a distribuire una applicazione che richieda una chiave di licenza in fase di installazione?l'Application builder non mette a disposizione questa funzionalità.Conoscete qualche installer con cui lo si possa fare? ---------------------------------------- ================================================================================ Report ================================================================================ AUTORE: 520 DATA :20/05/2005 - 14:06:46 ---------------------------------------- Vorrei generare una sorta di report su file o comunque qualcosa da stampare contenente tutti i dati di input inseriti attraverso il pannello di controllo del mio VI e tutti i dati ricavati dall'elaborazione e forniti sempre tramite il pannello di controllo. Avete qualche esempio semplice per iniziare a capire un pò come funziona la cosa ? Grazie per l'aiuto Alessandro ---------------------------------------- AUTORE: 482 DATA :20/05/2005 - 14:10:23 ---------------------------------------- ..ma ciao! Se guardi tra gli esempi di Labview (dal menu' in alto fai Help->find example e poi ai serach mettendo la parola report) c'e' un VI che si chiama Sample Test Report.vi e c'e' un bell'esempio su come generare un reports enza utilizzare i toolkit. In alternativa esiste il Report Generation Toolkit che ti permette di interagire meglio con programmi come excel e Word per la generazione di report. ---------------------------------------- ================================================================================ Disegnare segmenti in Labview ================================================================================ AUTORE: 674 DATA :20/05/2005 - 17:36:34 ---------------------------------------- Ciao a tutti. Premetto che sono un neofita di Labview e mi chiedevo se qualcuno poteva darmi un aiuto in merito a questo problema: vorrei disegnare su di una picture segmenti di due colori a secondo del valore assunto da una variabile.Ogni volta che valuto la variabile vorrei inserire nella picture un segmento sempre nella stessa posizione (tutto a sinistra ) e far shiftare verso destra i segmenti acquisiti durante le iterazioni precedenti. Ringrazio in anticipo chiunque mi risponderà ---------------------------------------- ================================================================================ Meglio variabili local o property node? ================================================================================ AUTORE: 688 DATA :22/05/2005 - 19:42:49 ---------------------------------------- Uso da poco labview 7.1 e per compiti di università devo acquisire dati da un ricevitore gps e contemporaneamente utilizzare l'ora e la data acquisite per nominare il file in cui memorizzo una traccia proveniente da uno spectrum analyzer via gpib. Il programma funziona (non posso postarlo perchè è abbastanza grosso), l'unico problema è che le tracce le vorrei acquisire ogni secondo ma il programma risulta lento e acquisisce ogni 2 o 3. Secondo voi è meglio sostituire i property node con value da variabili local così aumento la velocità? grazie a tutti ---------------------------------------- AUTORE: 4 DATA :23/05/2005 - 13:58:15 ---------------------------------------- Ciao usare Locali o Property è più o meno la stessa cosa in termini di prestazioni ma comunque non credo che il tuo problema dipenda da quello per avere simili tempi dovresti avere centinaia di punti in cui aggiorni i valori delle property e spero non sia il tuo caso. Penso che i tempi siano legati alla velocità di risposta del GPS che tipicamente è quella che riporti tu se non superiore (di solito intorno ai 5 sec). Ciao, ---------------------------------------- ================================================================================ lanciare programmi da Labview. ================================================================================ AUTORE: 116 DATA :23/05/2005 - 09:33:22 ---------------------------------------- Ciao Dopo vari tentativi andati a vuoto, chiedo aiuto. Non riesco a lanciare programmi (acrobat, edit o altre utilità) da Labview. Chi mi può dare una dritta? Se nel forum è gia stato discusso questo problema per favore datemi la posizione, io non sono riuscito a trovarla Grazie Alberto ---------------------------------------- AUTORE: 4 DATA :23/05/2005 - 09:54:10 ---------------------------------------- Ciao C'è un VI da scaricare [url=http://www.ilvg.it/forum/viewtopic.php?t=689:6badp1zy]qui[/url:6badp1zy] comunque piu in generale per fare quello che ti serve devi usare la funzione System Exec.vi che si trova nel gruppo Comunication della paletta delle funzioni. Ciao, ---------------------------------------- AUTORE: 482 DATA :23/05/2005 - 09:59:03 ---------------------------------------- In alternativa devi usare gli activeX ma onestamente con Acrobat non l'ho mai fatto! \":wink:\" ---------------------------------------- AUTORE: 116 DATA :23/05/2005 - 11:03:29 ---------------------------------------- sapevo di poter contare sul forum di ILVG se trovo qualche soluzione diversa la metto il coda \":idea:\" ciao grazie ancora \":D\" ---------------------------------------- AUTORE: 596 DATA :26/05/2005 - 08:11:37 ---------------------------------------- Io utilizzo gli ActiveX con questo vi. Buon Lavoro. ---------------------------------------- AUTORE: 116 DATA :26/05/2005 - 09:42:01 ---------------------------------------- I vostri VI funzionano, però quando voglio chiudere il programma aperto? Sto generando un programma automatico di collaudo per schede elettroniche e ad un certo punto devo aprire uno per volta dei programmi specifici per programmare una flash e un uP però poi devo chiuderli, altrimenti alla scheda successiva mi si aprono ancora e mi sì incasina tutto. Questa fase la posso fare automaticamente o devo chiedere all'operatore di chiuderli manualmente? Ciao Alberto \":?\" ---------------------------------------- AUTORE: 482 DATA :26/05/2005 - 09:54:32 ---------------------------------------- ..dipende dai programmi che devi aprire. Ogni programma mette a disposizione solo alcune proprietà ActiveX ad esempio excel e Access permettono tramite la funzione Close di chiudere il programma programmaticamente. Gli altri programmi..beh ti tocca spulciare le proprietà ActiveX per scoprirlo. In aternativa utilizzando il sistema di comando shell potresti utilizzare qualcosa tipo i programmi del task manager...non so, una stringa tipo lo shutdown ma che agisca sui programmi... ---------------------------------------- ================================================================================ Apertura Front Panel ================================================================================ AUTORE: 255 DATA :23/05/2005 - 14:36:33 ---------------------------------------- Vorrei porvi questo problema: Perche in debug la proprieta \"Close front panel\" e \"Open front panel\" funziona mentre quando creo l'eseguibile il pannello non mi viene piu aperto e l'applicazione si chiude? ---------------------------------------- AUTORE: 235 DATA :26/05/2005 - 16:46:44 ---------------------------------------- Usi la funzione \"Current VI's Path\" per crearti il path dell VI di cui apri e chiudi il front panel ? Perchè potrebbe essere un problema di path relativo. Quindi l'exe non trova il VI di cui vuoi aprire il front panel. Bye P. ---------------------------------------- ================================================================================ Menù ring automodificante ================================================================================ AUTORE: 691 DATA :24/05/2005 - 16:52:46 ---------------------------------------- Ciao a tutti sono nuovo del forum , ho dato già 1sguardo ai vecchi post, ma non sono riuscito a trovare cio' che cercavo. Arrivo subito al dunque: Ho bisogno di far modificare automaticamente le voci del menu ring a partire da 1 array. Mi spiego meglio ad esempio ho 1 array con 2 elementi casa e cuccia, voglio che le voci del menù siano proprio casa e cuccia, ma attenzione, poichè l'array viene aggiornato dinamicamente, anche il menù ring deve essere aggiornato dinamicamente e automaticamente. Qualcuno sa dirmi come fare o rimandarmi a qualche vecchio post? Grazie \":?:\" ---------------------------------------- AUTORE: 4 DATA :24/05/2005 - 16:57:41 ---------------------------------------- ciao e benvenuto! devi creare un property node \"String[]\" del menu ring, questa proprietà accetta in ingresso un array di stringhe che vuoi visualizzare nel ring... insomma fà al caso tuo! Ciao, ---------------------------------------- AUTORE: 691 DATA :24/05/2005 - 17:17:48 ---------------------------------------- Che velocità nel rispondere.. Grazie mille.. Ciao \":D\" \":D\" \":D\" ---------------------------------------- ================================================================================ Indirizzo Array ================================================================================ AUTORE: 255 DATA :25/05/2005 - 13:19:57 ---------------------------------------- Come faccio ad estrarre l'indirizzo (Ref) di un oggetto contenuto all'interno di un array? ---------------------------------------- AUTORE: 482 DATA :25/05/2005 - 14:36:43 ---------------------------------------- ...ma ciao! Nella palette degli array c'e' un modulino chiamato \"Search 1D array\" in ingresso vuole l'array e l'elemento cercato, e in uscita ti dà l'indirizzo dell'oggetto o \"-1\" se non trova l'ggetto desiderato. ---------------------------------------- AUTORE: 255 DATA :26/05/2005 - 15:08:21 ---------------------------------------- Non mi sono spiegato bene , io voglio estrarre dall'array il ref dell'oggetto e non il valore. ---------------------------------------- AUTORE: 235 DATA :26/05/2005 - 15:43:14 ---------------------------------------- [quote="Luca67":n0o0feam]Come faccio ad estrarre l'indirizzo (Ref) di un oggetto contenuto all'interno di un array?[/quote:n0o0feam] Il property node dell'array fornisce al proprietà ArrayElement>>Reference. L'esempio disabilita gli elementi dell'array, ma non l'array. Bye P. ---------------------------------------- AUTORE: 2211 DATA :17/09/2007 - 11:12:05 ---------------------------------------- [quote="Pallaz":3sfqqb3p] L'esempio disabilita gli elementi dell'array, ma non l'array. [/quote:3sfqqb3p] Ciao a tutti Innanzi tutto complimenti per il sito \":)\" Stavo cercando qualche esempio per disabilitare alcune celle di un array. Io ho un'array di due dimensioni, però mi servirebbe disabilitare alcune celle che non devono essere modificate. Qualcuno di voi ha mai fatto qualcosa del genere? Ho provato ad usare l'esempio allegato ma viene disabilitato tutto l'array \":(\" Grazie ---------------------------------------- AUTORE: 645 DATA :17/09/2007 - 12:30:00 ---------------------------------------- Disabilitare nel senso che l'utente deve leggere i valori contenuti ma non deve modificarli? Sono tanti i valori? Altrimenti si potrebbe pensare di creare controlli e indicatori separati anzichè un singolo array... ---------------------------------------- AUTORE: 2211 DATA :17/09/2007 - 13:35:25 ---------------------------------------- Dunque devo disabilitarli nel senso che l'utente non deve iserire dei valori in quelle celle, devono rimanere vuote. L'array è di due dimensioni: Le righe non posso sapere. Le celle sono 5 però devo usare per forza l'array. ---------------------------------------- AUTORE: 645 DATA :17/09/2007 - 13:38:04 ---------------------------------------- Una specie di tabella da riempire? Se sì, forse l'uso delle Multicolumn ListBox o delle Table può semplificare alcune operazioni... (non saprei esattamente come ma magari cercando tra i Property Node che queste strutture mettono a disposizione trovi qualche comando utile per disabilitare alcune celle lasciando le altre abilitate). ---------------------------------------- AUTORE: 2211 DATA :17/09/2007 - 19:35:53 ---------------------------------------- grazie mille per il suggerimento proverò a guardarci \";)\" ---------------------------------------- ================================================================================ Labview Mass Compiler errors ================================================================================ AUTORE: 123 DATA :25/05/2005 - 18:55:21 ---------------------------------------- Da un post qui nel forum (che ora non trovo piu') ho scaricato l'upgrade a LV 7.1.1, e ho poi fatto il mass compile. Il fatto e' che mi ha dato una sfilza di errori molto lunga, tra cui la maggior parte riguardante Diadem (cioe' i file del Labview-Diadem Connectivity). Da qualche parte e' riportato questo problema ? Che devo fare ? Disinstallo Diadem e lo reinstallo ? Grazie ---------------------------------------- ================================================================================ Compatibilità con le versioni da labview ================================================================================ AUTORE: 683 DATA :26/05/2005 - 08:44:35 ---------------------------------------- io ho un file creato il labview 6.1, a casa ho il 7.1 che problemi ci sono per quanto riguarda la compatibilità? sicuramente un file fatto col 6.1 funziona col 7.1ma viceversa c'è qualche accorgimento che devo fare per non avere problemi?? ---------------------------------------- AUTORE: 482 DATA :26/05/2005 - 08:51:44 ---------------------------------------- A quanto mi risulta non ci sono accorgimenti da fare, CI DEVI SOLO RINUNCIARE \":lol:\" La versione 7.1 come versioni precedenti accetta solo la versione 7. Quindi l'unico modo credo che sia salvarlo in versione 7, poi dalla 7 salvarlo in 6.1..ma s enon hai la 7 ahi ahi ahi ahi ahi ahi! \":wink:\" ---------------------------------------- AUTORE: 683 DATA :26/05/2005 - 09:10:05 ---------------------------------------- ok grazie, vedrò di scarcarmi la stessa versione di quella che ho in laboratorio, ho scaricati la 6.0 e la 7.1 metri in lab ho la 6.1 quindi cercherò questa versione per non avere problemi ---------------------------------------- ================================================================================ Sulla rappresentazione interna dei dati in LabView 6.1 ================================================================================ AUTORE: 692 DATA :26/05/2005 - 09:04:58 ---------------------------------------- Salve a tutti. Presentazione rapidissima: mi chiamo Mentore (non è un nick, no... \"8)\" e sto usando LabVIEW per la mia tesi di laurea. A prescindere dal fatto che avrei avuto maggiore comodità usando il C (ma più che altro è colpa di WinXP \":-(\" ), mi riallaccio a una considerazione fatta in un precedente topic che è questa: *** Cmq, correggetemi se sbaglio, la \"rappresentazione in memoria\" dei numeri (siano essi interi che float/double) viene fatta da LabVIEW seguendo la logica usata dalla famiglia di proc. Motorola cioè il MSB (MostSignificantByte) è posto all'indirizzo + basso e lo LSB a quello + alto. Ora, per le CPU Intel è esattamente l'opposto ====> per cui *** La cosa per me è molto interessante, perchè: nella mia tesi di laurea, per scopi che per ora è meglio lasciar perdere (perderemmo tempo) traduco una stringa di 8 byte in tre valori interi, che poi divido per un intero e trasformo in single precision. A parte gli eventuali errori che potrei aver fatto, per me è mooooolto importante sapere con certezza se effettivamente i byte vengono trattati come little endian o big endian, perchè il dispositivo che sto analizzando per la tesi manda i dati con il MSB che precede il LSB. Spiego meglio, che sennò mi mandate a quel paese \":D\" Il kit che sto usando manda, a ogni acquisizione, una stringa di otto byte. I primi due servono come header, e li elimino. Gli altri sei danno la parte alta e la parte bassa di tre valori numerici, come stringa di char. Usando le conversioni da stringa ad array di byte riesco senza problemi a ottenere array di byte senza segno, che poi uso per estrarne i singoli valori numerici. A QUESTO PUNTO (scusate l'urlo, ma volevo mettere un punto fermo!) ho tre coppie di valori numerici come byte senza segno (U8). Da queste tre coppie, tramite il blocco Join, ottengo tre numeri a 16 bit, che poi converto in I16 con il solito convertitore. ORA: se LabView (ah, sto usando la 6.1, se serve saperlo) rappresenta in memoria il LSB **prima** del MSB, quasi sicuramente devo scambiare gli ingressi del blocco Join, o sbaglio? Se invece non è così... Allora devo trovare qualche altro motivo per il quale ci sono offset così alti con il circuito che dovrebbe darmi zero \":-)\")) Grazie in anticipo. Mentore ---------------------------------------- AUTORE: 482 DATA :26/05/2005 - 09:50:03 ---------------------------------------- E' sicuramente cosi'! Questo è un retaggio delle origini di LabView. LabVIEW è nato sui Mac perchè ai tempi windows non esisteva e quindi un linguaggio gafico non poteva che essere sviluppato su mac. Siccome i mac usavano processori motorola che utilizzavano quel tipo di salvataggio di dati, per mantenere la compatibilità questa cosa è rimasta tutt'oggi. ---------------------------------------- AUTORE: 692 DATA :27/05/2005 - 08:50:10 ---------------------------------------- [quote="gepponline"] LabVIEW è nato sui Mac perchè ai tempi windows non esisteva e quindi un linguaggio gafico non poteva che essere sviluppato su mac. Siccome i mac usavano processori motorola che utilizzavano quel tipo di salvataggio di dati, per mantenere la compatibilità questa cosa è rimasta tutt'oggi.[/quote] Bei tempi quando Win non c'era \":-)\" A parte gli scherzi, ora che so dov'e' nato LV posso capire il perche' della rappresentazione dei dati. Comunque, dopo una verifica sul campo, ho dedotto che la rappresentazione interna non ha niente a che vedere con l'algoritmo che ho usato, che tra l'altro e' corretto. Anzi, forse quella strana quantita' che non dovrebbe (?) esserci potrebbe essermi addirittura utile \":-)\" Grazie di tutto... Mentore ---------------------------------------- ================================================================================ Front panel Multipli ================================================================================ AUTORE: 660 DATA :27/05/2005 - 15:41:25 ---------------------------------------- Ciao a tutti, ho un VI che mi apre 2 front panel in contemporanea, ognuno dei quali (tramite le proprietà) si piazza in un ben preciso punto dello schermo e con una ben precisa dimensione in modo tale che all'utilizzatore sembri un pannello unico. Il mio problema è che, nel momento in cui i due VI vengono lanciati, per un attimo si trovano in altra posizione per cui si vede un fastidioso spostamento dei due pannelli operatore. Qualcuno sa come sia possibile bloccarne la posizione anche all'apertura? Grazie in anticipo per l'aiuto! Max ---------------------------------------- AUTORE: 247 DATA :27/05/2005 - 21:14:18 ---------------------------------------- Ciao, secondo me ti basta semplicemente modificare la posizione del VI prima di renderlo visibile ovvero fare lo Show Front Panel dopo aver avviato il Vi, RunVI, e dopo avergli cambiato la posizione. Codice tipo figura sotto ed esempio. BYE. ---------------------------------------- AUTORE: 660 DATA :30/05/2005 - 08:23:46 ---------------------------------------- Grazie mille provo subito Max :D :D :D ---------------------------------------- AUTORE: 660 DATA :31/05/2005 - 14:25:34 ---------------------------------------- Il sistema funziona e ho finalmente risolto il problema dello \"spostamento\" delle finestre dopo la loro apertura, però adesso mi è successa una cosa strana \":?:\" \":?:\" in uno dei VI che ho modificato come mi hai detto mi succede che su di un subVI che non fa assolutamente nulla se non presentare dei pulsanti da premere (mentre gli altri, che funzionano senza problemi, sono di gran lunga più complessi) mi ritorna un errore 1003(senza -) è dice che il VI non è eseguibile!!!! \":cry:\" Eppure se copio la parte di lancio dei due VI in un nuovo file ed eseguo il problema non sorge. sigh!! Qualcuno sa se ci sono \"controindicazioni\" all'uso del metodo suggerito da apollon? Ho verificato che le impostazioni per tutti i VI sono le stesse, cambiano solamente le coordinate di posizione e dimensioni. ---------------------------------------- AUTORE: 247 DATA :31/05/2005 - 20:31:19 ---------------------------------------- Ciao, non so la ragione del tuo errore e provando a cercare [url=http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/410f2ec66f60f9b0862569ee006f4fa0:19ktjr1m]error 1003[/url:19ktjr1m] sul sito NI ho trovato solamente come dici tu che si scatena se il Vi che viene caricato non è eseguibile (ad es. se è già aperto in quel momento) oppure se si tratta di un'eseguibile perchè il Vi non è stato correttamente selezionato quando si è creato l'eseguibile stesso. ...speriamo che qualcuno ne sappia di più! Bye. ---------------------------------------- AUTORE: 235 DATA :01/06/2005 - 14:35:15 ---------------------------------------- [quote="machyaer":2fs29htu]un errore 1003(senza -) è dice che il VI non è eseguibile!!!! [/quote:2fs29htu] So che potrebbe essere stupido... ma questo VI, se lo apri da solo con LabVIEW, funziona ? Nel senso, il tasto Run è attivo ? Bye P. ---------------------------------------- AUTORE: 660 DATA :06/06/2005 - 08:01:03 ---------------------------------------- scoperto l'arcano! \":D\" \":D\" \":D\" I VI erano tutti funzionanti singolarmente. Dovevo risistemare una serie di VI \"vecchi\" \":wink:\" all'interno dei quali, a volte, venivano richiamati i VI genitori (e/o progenitori), e quando ho sostituito le vecchie chiamate del tipo \"inserisci VI\" con le chiamate dinamiche l'errore era generato dal fatto che LabView andava a verificare tutti i subVI lanciati e trovava prima o poi che un subVI era già in running (perchè effettivamente era quello da cui stavo facendo partire il tutto). Scoperto con un po' di fatica il problema e risistemata la programmazione le cose hano ricominciato a funzionare, adesso meglio di prima. Grazie a tutti per l'aiuto. Max ---------------------------------------- ================================================================================ Dubbi sulle variabili ================================================================================ AUTORE: 341 DATA :27/05/2005 - 16:33:05 ---------------------------------------- Salve,eccomi ancora quì a chiedere aiuto... Ho varie strutture \"Case\" dalle quali ottengo un valore (al verificarsi di alcune situazioni) che devo associare ad una variabile numerica che dovrò usare in seguito.Qualcuno mi può indicare come fare? Potrei anche avere dei chiarimenti a proposito delle variabili locali? Grazie. Vincenzo ---------------------------------------- AUTORE: 247 DATA :27/05/2005 - 20:46:36 ---------------------------------------- [quote:1fbhvm7b]Ho varie strutture \"Case\" dalle quali ottengo un valore (al verificarsi di alcune situazioni) che devo associare ad una variabile numerica che dovrò usare in seguito.Qualcuno mi può indicare come fare?[/quote:1fbhvm7b] Ciao, se per \"varie strutture Case\" intendi una struttura Case con i vari casi, che ti danno ognuno un valore diverso ma cmq dello stesso tipo(medesimo tipo di dato), devi semplicemente creare un tunnel sul bordo destro della struttura e passargli il valore desiderato per ogni caso presente. Se invece intendi varie strutture case che alla fine modificano la stessa variabile, vuol dire che rappresentano casi mutuamente esclusivi e puoi quindi raggrupparle in un'unica struttura case e poi vedi sopra. [quote:1fbhvm7b]Potrei anche avere dei chiarimenti a proposito delle variabili locali?[/quote:1fbhvm7b] Le variabili locali di LV possono essere \"viste\" come le variabili locali presenti in qualsiasi altro linguaggio in generale ma in particolare: 1- Le devi obbligatoriamente associare ad un indicatore o controllo. 2- Lo scope della variabile è il singolo VI nella quale viene creata. 3- Sono abilitate sia in lettura che scrittura. 4- In un VI se possibile utilizza una sola copia della variabile locale e poi propaga il valore con fili; se hai più copie della stessa variabile(abilitata in lettura e scrittura) nel VI potresti rischiare di leggere due valori diversi da copie distinte della stessa variabile locale se queste fanno parte di frammenti di codice considerati paralleli da LV. 5- Ogni lettura della variabile locale provoca una copia della variabile letta. 6- Evita di utilizzare variabili locali quando puoi ottenere la stessa funzionalità utilizzando i fili. Per aspetti particolari chiedi. BYE. ---------------------------------------- ================================================================================ Creare Cluster ================================================================================ AUTORE: 129 DATA :28/05/2005 - 19:32:58 ---------------------------------------- Sto cercando di creare dei cluster a partire da un altro cluster. Utilizzando la property relativa agli oggetti CTL di un cluster ho la possibilità di scrivere propietà label.text o caption.text, ma i valori non vengono aggiornati nel cluster di destinazione. ---------------------------------------- AUTORE: 596 DATA :30/05/2005 - 22:22:25 ---------------------------------------- Probabilmente non ho capito benissimo il tuo problema. Io riesco a scrivere il caption.text, mentre il label.text può essere scritto solamente in \"edit mode\". Vedi il file allegato. Ciao, riccardo ---------------------------------------- ================================================================================ tcl/tk ================================================================================ AUTORE: 699 DATA :30/05/2005 - 15:23:41 ---------------------------------------- Ciao a tutti Vorrei chiedervi se qualcuno di voi conosce la possibilità di poter integrare il linguaggio TCL/TK, tramite blocci Subvi o tramite chiamate dinamiche (activeX ma per unix) ad Labview?? Grazie ---------------------------------------- ================================================================================ Trasformare un file XML ================================================================================ AUTORE: 295 DATA :30/05/2005 - 15:23:55 ---------------------------------------- Ciao, devo trasformare una serie di file .XML in un formato +' leggibile, tipo excel. Cercando tra gli esempi credovo di aver trovato un vi che faceva al caso mio: Read an XML file(array).vi. Troppo semplice... sembra che non riesca a trovare il \"tag\" (che non ho ben capito cos'e') e quindi trova il file vuoto. Ho fatto un po' di prove e modifiche ma non sono arrivato a nulla. C'e' qualcuno che ha piu' dimestichezza con questo tipo di file? Grazie, ciao. P.S. non e' permesso allegare file di tipo .XML. Per cui l'ho salvato come txt. ---------------------------------------- ================================================================================ Problemone: Doppio Front Panel ================================================================================ AUTORE: 700 DATA :30/05/2005 - 17:20:48 ---------------------------------------- Ciao a tutti, essendo un nuovo utente, anzitutto mi presento: sono Cristiano, neo ingegnere meccanico alle prese con labview per acquisire dati da un impianto di surgelazione industriale. Ho due quesiti da porre, sperando che qualcuno mi suggerisca una soluzione in parole MOLTO MOLTO POVERE.. magari se poi qualcuno si offre di crearmi un VI che mi risolva i problemi che porrò lo ringrazio in anticipo. Veniamo al primo quesito (il secondo lo scrivo in un altro thread) In allegato ho inserito un'applicazione semplicissima, che genera due coppie di numeri random. Queste coppie sono l'input dello script preprogrammato di Labview 7.1 denominato BUILD XY GRAPH, che ovviamente genera un grafico contenente la linea unione dei due punti. Il grafico, ovviamente, è visibile nel front panel. Tutto è inserito in un loop, quindi si ripete ciclicamente fino allo stop. Il mio quesito è questo: supponiamo che io voglia, tramite la pressione di un tasto nel front panel, aprire un altro front panel dove c'è visualizzata l'esatta copia del grafico (che si deve aggiornare ad ogni ciclo esattamente come il grafico del primo frton panel). COME POSSO FARE? Grazie in anticipo per le vostre risposte Cristiano ---------------------------------------- AUTORE: 596 DATA :30/05/2005 - 22:08:44 ---------------------------------------- Ciao, ovviamente per fare quello che vuoi fare tu, scusa il gioco di parole ci sono 1001 modi complicati quanto vuoi. spero questo sia abbastanza semplice, i commenti sono nel codice(piuttosto pochi devo ammettere.... Buon lavoro, Riccardo ---------------------------------------- ================================================================================ Problema 2: Build Application .exe ================================================================================ AUTORE: 700 DATA :30/05/2005 - 17:49:12 ---------------------------------------- Ciao di nuovo a tutti, vi espongo il mio secondo quesito. In allegato c'è un piccolo file di esempio ProvaCri.vi. Molto semplicemente, il programma genera un numero random per ogni ciclo di esecuzione, lo inserisce in un foglio excel che ha precedentemente aperto (denominato ReportTemplate.xls) e, alla pressione del tasto stop del ciclo, salva il file con il nome di Pippo.xls. Una volta finito il programma, ho provato a creare un'applicazione .exe con incluso l'Installer, aggiungendo oltre al VI principale, anche i file ReportTemplate.xls e Trovapercorso.vi (che altro non è che il RelativePath che si può scaricare da questo sito). Il problema è che una volta installata l'applicazione, essa non mi apre il file reporttemplate, sembra che non riesca ad interfacciarsi con excel, quindi ovviamente non scrive niente di quello che dovrebbe. Come posso risolvere? Grazie tante per l'aiuto ---------------------------------------- AUTORE: 4 DATA :31/05/2005 - 09:00:00 ---------------------------------------- quando crei l' EXE il file template .XLS deve trovarsi allo stesso livello dell'EXE stesso. Ciao ---------------------------------------- AUTORE: 700 DATA :01/06/2005 - 08:12:18 ---------------------------------------- Proprio non ci riesco.. Cerco di spiegare meglio la mia situazione Il mio VI principale (ACQUISIZIONE.VI) è in una cartella d:\AIRS. Nella stessa cartella d:\AIRS ci sono tutti i subVI che vengono richiamati da quello principale. In una sottocartella d:\AIRS\REPORTS ci sono due files: 1. il file Reporttemplate.xls (che è il template excel che viene richiamato da ACQUISIZIONE.VI per essere riempito di dati e poi salvato) 2. il file RELATIVE PATH.VI (che ho preso da questo sito e sappiamo a cosa serve) Chiedo: come faccio a ricreare la stessa struttura che ho adesso con l'Installer che posso trovare in Build Application? Grazie ---------------------------------------- AUTORE: 129 DATA :01/06/2005 - 10:44:43 ---------------------------------------- qUANDO CREI L'INSTALLER , PUOI INSERIRE FILE(NEL TUO CASO I TEMPLATES) DA COLLOCARE IN UNA PRECISA DIRECTORY (NEL TUO CASO LA STESSA DELL'APPLICAZIONE). ---------------------------------------- AUTORE: 235 DATA :01/06/2005 - 14:31:48 ---------------------------------------- Quando crei l'eseguibile e usi il toolkit per office, tieni conto anche di questo documento \"readme.rtf\". Ti dice quali VI devi includere dinamicamente nel tuo Build application. L'exe non funziona con i template se non includi i VI indicati dal doc. Lo installa il report toolkit sotto la cartella ..\vi.lib\addons\_office Bye P. ---------------------------------------- AUTORE: 43 DATA :01/06/2005 - 15:35:36 ---------------------------------------- 1) devi allegare ad un post il VI \"TrovaPercorso.vi\" [quote="ingcri":ceu3tly5]Proprio non ci riesco.. Cerco di spiegare meglio la mia situazione Il mio VI principale (ACQUISIZIONE.VI) è in una cartella d:\AIRS. Nella stessa cartella d:\AIRS ci sono tutti i subVI che vengono richiamati da quello principale. In una sottocartella d:\AIRS\REPORTS ci sono due files: 1. il file Reporttemplate.xls (che è il template excel che viene richiamato da ACQUISIZIONE.VI per essere riempito di dati e poi salvato) 2. il file RELATIVE PATH.VI (che ho preso da questo sito e sappiamo a cosa serve) Chiedo: come faccio a ricreare la stessa struttura che ho adesso con l'Installer che posso trovare in Build Application? Grazie[/quote:ceu3tly5] 2) non conoscendo il VI sopracitato, direi che devi tenere presente che se costruisci un .exe partendo dall'insieme di tutti i subVI chiamati, dovrai considerare \"un livello\" di directory in + dato dal nome stesso dell'eseguibile. cioè se tu sviluppassi dei VI che stanno nella DIR d:\AIRS\Programma e scrivessi i dati in d:\AIRS\REPORT avresti lo stesso grado di annidamento delle dir che otterresti creando un eseguibile. (ovviamente il programma .exe dovrebbe risiedere nella DIR --> \"d:\AIRS\") aggiungi un ' indicatore di tipo Path' che mostra qual'è il percorso effettivo di scrittura dei file. Avresti la risposta ai dubbi che ti ATTANAGLIANO bye ---------------------------------------- ================================================================================ Salvataggio immagine ================================================================================ AUTORE: 341 DATA :30/05/2005 - 17:59:54 ---------------------------------------- Salve,ritorno all'attacco... Dovrei salvare come file jpeg o bitmap un'onda che vedo sul waveform graph.Per adesso sono riuscito soltanto a salvare i valori (contenuti in un array) e vederli con excel.Ovviamente da excel posso ottenere il grafico dell'onda e poi salvarlo,ma vorrei ottenere ciò direttamente sotto forma di immagine jpeg da Labview. Come sempre ringrazio chi mi aiuta. A presto. Vincenzo ---------------------------------------- AUTORE: 4 DATA :31/05/2005 - 08:47:16 ---------------------------------------- devi creare un invoke node del grafico di cui vuoi salvare l'immagine e scegliere il metodo \"Get Image\" questo metodo ritorna un cluster \"image data\" che puoi passare direttamente alla funzione \"write JPEG File\" Ciao, ---------------------------------------- AUTORE: 341 DATA :31/05/2005 - 09:43:04 ---------------------------------------- Ciao Ale914,ho letto ed ho cercato di mettere in pratica il tuo insegnamento.Adesso ti chiedo come faccio a dare il comando di salvataggio nel momento in cui lo voglio (es tramite un pulsante) ? Ti allego il file vi.zip in modo da farti vedere cosa ho fatto ed eventualmente modificarlo. Ti ringrazio. Vincenzo ---------------------------------------- AUTORE: 341 DATA :31/05/2005 - 10:56:42 ---------------------------------------- Ho dimenticato di allegare i file:eccoli. Vincenzo ---------------------------------------- ================================================================================ Grafico con errori statistici ================================================================================ AUTORE: 123 DATA :30/05/2005 - 23:24:37 ---------------------------------------- Qualcuno ha idea di come farlo ? ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 09:48:10 ---------------------------------------- Prova ad essere un po' più chiaro. Bye P. ---------------------------------------- AUTORE: 123 DATA :31/05/2005 - 15:51:03 ---------------------------------------- Un grafico x y in cui non vi siano solo i punti di dati, ma ad ogni punto resti associata (e disegnata) la sua barretta di errore statistico: e' una cosa che si usa sia in studi di ingegneria che di fisica, dato che ogni risultato di una misura non e' un valore assoluto, ma da prendere \"con le pinze\", ha cioe' un suo errore intrinseco, dato da effetti quali risoluzione dello stumento, sensibilita', ecc. Io credo che Labview non contempli questa eventualita', cioe' la possibilita' dato un vettore con N punti di valori y ed un altro con N punti di errori dei punti y di graficarli simultaneamente. La cosa e' molto strana per un linguaggio che si propone di essere utilizzato in ambito scientifico ed igegneristico. ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 15:59:41 ---------------------------------------- Intendi qualcosa del genere ? Bye P. ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 16:10:53 ---------------------------------------- In LV non sono nativi, devi costruirteli tu. In particolare questo sono 3 grafici: punti, errori +, errori - sarebbe possibile unire anche i punti rossi (in verticale), ma serve un XY ed è un po' più complicato. Bye P. ---------------------------------------- AUTORE: 129 DATA :31/05/2005 - 16:12:12 ---------------------------------------- IN labview esiste anche spc toolkit che contiene tutti i tool per la statistica. ---------------------------------------- ================================================================================ stringhe con ciclo for ================================================================================ AUTORE: 683 DATA :31/05/2005 - 10:50:13 ---------------------------------------- Buogiorno a tutti, ho un problema, da una stringa ne devo fare un'altra composta da N copie della prima stringa, qualcuno mi può dare qualche idea? c'è da usare un registro a scrorrimento?? grazie ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 11:40:52 ---------------------------------------- Sicuramente è la cosa più semplice. L'esempio che allego crea una stringa pari a 5 volte la stringa iniziale (My Str). Bye P. ---------------------------------------- AUTORE: 683 DATA :31/05/2005 - 11:50:15 ---------------------------------------- grazie, mi vergogno quasi ad aver chiesto una cosa del genere!! \":roll:\" e pensandoci un po' sono riuscito a farlo io ma è un po' diversoda quello che hai fatto tu. Io non ho usato di shift register ma ho adoperato un'array o meglio me l'ha fatta mettere LV e poi io di conseguenza l'ho trasformata in una stringa grazie 1000 ---------------------------------------- ================================================================================ scroll automatico. ================================================================================ AUTORE: 691 DATA :31/05/2005 - 10:56:51 ---------------------------------------- Scusate sono 1 neofita e sicuramente il mio problema è banale. Ho 1indicatore stringa con scroll bar. questo indicatore viene aggiornato automaticamente. Quando si riempie però avrei bisogno di visualizzare sempre gli ultimi valori ricevuti, in pratica la scroll bar deve andare giù automaticamente. Come posso fare? ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 11:35:28 ---------------------------------------- Ciao, usa il property node della stringa Text >> Scroll Position devi passargli il numero di riga che vuoi diventi la prima della casella di teso. Bye P. ---------------------------------------- AUTORE: 691 DATA :31/05/2005 - 11:42:18 ---------------------------------------- si ma posso solo sapere la posizione dove mi trovo, e poi? ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 11:46:06 ---------------------------------------- Se metti il property node in scrittura puoi passargli un numero. Vedrai che riesci a far scorrere l'indicatore. ... e poi un po' di fantasia ... Bye P. ---------------------------------------- AUTORE: 691 DATA :31/05/2005 - 13:04:20 ---------------------------------------- fino a qui no problem, ma come faccio a passargli l'ultima riga che mi è arrivata? ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 13:23:43 ---------------------------------------- Se aggiungi riga per riga allora potresti contarti tu le righe, se invece scrivi in blocco n righe devi crearti un po' di codice che trovi nella tua stringa quanti caratteri di \"new line\" ci sono nella stringa. Oppure, ammesso che per te vada bene, conatena le stringhe nuove in testa alla stringa vecchia, così le vedi sempre all'inizio del tuo indicatore e non devi fare lo scroll. Bye P. ---------------------------------------- ================================================================================ Waveform Chart ================================================================================ AUTORE: 341 DATA :31/05/2005 - 12:42:51 ---------------------------------------- Ancora un altro quesito per accrescere il sapere.... Vorrei poter commutare,tramite un interruttore posto sul pannello frontale,la visualizzazione del Waveform Chart in Overlay Plots oppure in Stack Plot al fine di poter vedere due onde sia sovrapposte che separate.Questo risultato lo posso visualizzare tramite la pressione del tasto Dx sul Waveform Chart e scegliere appunto Overlay Plots oppure Stack Plot;ma questo lo vorrei ottenere tramite pulsante sul pannello frontale.Come fare????????? Tutto ciò è possibile solo con il Waveform Chart oppure lo posso ottenere anche con il Waveform Graph? Grazie. Vincenzo ---------------------------------------- ================================================================================ Disegnare segmenti in Labview ================================================================================ AUTORE: 674 DATA :31/05/2005 - 14:24:44 ---------------------------------------- Ciao a tutti. Premetto che sono un neofita di Labview e mi chiedevo se qualcuno poteva darmi un aiuto in merito a questo problema: vorrei disegnare su di una picture segmenti di due colori a secondo del valore assunto da una variabile.Ogni volta che valuto la variabile vorrei inserire nella picture un segmento sempre nella stessa posizione (tutto a sinistra ) e far shiftare verso destra i segmenti acquisiti durante le iterazioni precedenti. Ringrazio in anticipo chiunque mi risponderà ---------------------------------------- ================================================================================ Struttura a eventi ================================================================================ AUTORE: 201 DATA :31/05/2005 - 15:24:50 ---------------------------------------- Ciao, c'è un modo x far si che se uso la propietà change value cn la struttura ad eventi, quando un controllo cambia valore (ma non a mano) si attivi la struttura ad eventi? ---------------------------------------- AUTORE: 482 DATA :31/05/2005 - 15:32:54 ---------------------------------------- ..ma ciao! Per far generare un avento cambiando il valore in modo programmatico devi usare la proprietà \"value (signaling)\" e non la \"Value\". \":wink:\" ---------------------------------------- AUTORE: 201 DATA :31/05/2005 - 15:36:40 ---------------------------------------- ciao! si esatto solo che in questo modo viene gnerato sempre una evento! anche quando il valore non cambia! fai una prova xkè anke io pensavo che andasse bene ma sono rimasto spiazzato da questo... ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 15:37:16 ---------------------------------------- La cosa più facile è usare il property node Value(Signaling). Per es. se hai un controllo A, quando scrivi qualcosa su questo property node, lui sveglia l'evento value change per A Bye P. ---------------------------------------- AUTORE: 235 DATA :31/05/2005 - 15:40:36 ---------------------------------------- [quote="blow":2b3gexp8]ciao! si esatto solo che in questo modo viene gnerato sempre una evento! anche quando il valore non cambia! [/quote:2b3gexp8] Si è vero, non resta che controllare da codice se il valore è cambiato. In un caso si scrive il nuovo valore sul property node...nell'altro non si fa niente.... non è il massimo.... Bye P. ---------------------------------------- AUTORE: 201 DATA :31/05/2005 - 15:43:27 ---------------------------------------- Allora per essere più chiaro vi espongo il problema. Io dovrei sapere quando variano alcuni bit della mia parallela, e vorrei usare la struttura ad eventi. Ecco il problema è che leggo sempre il valore della porta parallela, e anche se i bit effettivamente non cambiano di valore, generano l'evento, xkè sto scrivendo sopra il value(segnaling). Per ora ho fatto delle celle \"di memoria\" che mi dicono quando è cambiato di stato, così che scrivo sul value(signaling) solo in quel caso, ma vorrei sprecare meno risorse possibili... ---------------------------------------- AUTORE: 201 DATA :31/05/2005 - 15:45:24 ---------------------------------------- Non esiste con labview qualcosa di simile ad una interruzione? per evitare di fare il polling della parallela. ---------------------------------------- ================================================================================ PID.vi ================================================================================ AUTORE: 556 DATA :31/05/2005 - 16:18:49 ---------------------------------------- A causa di un mio errore di programmazione ho notato un funzionamento \"bizzarro\" di due vi contenuti nel \"LabVIEW PID Control Toolset\" Nel mio programma (un controllo di temperatura) una scheda DAQ acquisisce un'array di dati di cui viene calcolato il valor medio tramite Mean.vi. Il dato risultante è collegato, tramite \"PID control input filter.vi\" all'ingresso \"process variable di \"PID.vi\" e il segnale di pilotaggio dell'attuatore viene quindi inviato al \"PID Output Rate Limiter.vi\" A causa di un errore c'era la possibilità di inviare un'array vuota a Mean.vi che di conseguenza fornisce in uscita un dato non valido (NaN: Not a Number). In conseguenza di questo anche l'uscita della catena di controllo è di tipo NaN, fin qui niente di strano. Questo dato in uscita, però, permane anche quando i dati d'ingresso tornano a essere validi e il solo modo di ripristinare il funzionamento dei VI è reinizializzarli tramite il controllo reinitialize presente sui vi. Quindi anche l'esecuzione di un solo ciclo di controllo con dati non validi blocca totalmente il controllo stesso (con conseguenze disastrose!) L'errore è causato da \"PID.vi\" (e in particolare dal vi al suo interno che gestisce l'integrale, \"PID integral action.vi\") e da \"PID Output Rate Limiter.vi\", in entrambe i casi da shift register che, conservano il dato NaN bloccando il funzionamento dei vi. Ho messo una toppa evitando l'esecuzione del ciclo di controllo nel caso che i dati in ingresso non siano corretti e verificando che il dato di comando dell'attuatore non sia un NaN, in questo caso al ciclo successivo i vi di controllo vengono reinizializzati. Ho comunicato quanto sopra al servizio di assistenza tecnica National Instruments. Spero che queste informazioni possano essere di aiuto ai programmatori \"poco accorti\" come il sottoscritto! Saluti ---------------------------------------- AUTORE: 247 DATA :31/05/2005 - 20:41:19 ---------------------------------------- Ciao, grazie per l'informazione e io non ti definirei certo un \"programmatore poco accorto\"...primo perchè te ne sei accorto...\":D\" e secondo perchè per me il controllo di validità dei dati in input ad una funzione deve essere eseguito dalla funzione stessa, restituendo un errore in caso di dati non validi...e non assumere stati strani e addirittura pericolosi! BYE. ---------------------------------------- ================================================================================ Ricerca guida ================================================================================ AUTORE: 683 DATA :01/06/2005 - 14:02:33 ---------------------------------------- poco tempo ha fa ho scaricoato da un link nel forum una dispensa molto grande circa 20o pagine sui fondamenti di labview ma ora mi sn perso il file e andesso non riesco più a trovarla qualcuno mi sa fornire quelche informazione o darmi il link? grazie ---------------------------------------- AUTORE: 247 DATA :01/06/2005 - 14:50:39 ---------------------------------------- Ciao, non penso che sia quello che hai \"perso\" ma questo è il link ad una buona guida LV, purtroppo non aggiornata ma VALIDISSIMA: [url=http://dt.fme.vutbr.cz/measure/Lv/glang1.htm:bdwo0q4r]G Programming Guide[/url:bdwo0q4r] BYE. ---------------------------------------- AUTORE: 683 DATA :01/06/2005 - 21:39:42 ---------------------------------------- grazie 1000 è un buon tutorial anche questo grazie dell'interessamento ---------------------------------------- ================================================================================ salva ================================================================================ AUTORE: 680 DATA :01/06/2005 - 18:23:37 ---------------------------------------- ciao, ho il seguente problema: metto un controllo sul pannello frontale, modifico il suo contenuto voglio mettere il contenuto modificato come valore di default in modo che al riavvio del programma, trovo l'ultimo dato digitato....... ciao, grazie.... ---------------------------------------- AUTORE: 247 DATA :01/06/2005 - 20:57:07 ---------------------------------------- Ciao, Piazzi il controllo, ne modifichi il valore, menù Operate->Make current values default, salvi il Vi e alla riapertura il controllo avrà l'ultimo valore settato. P.S. Ma in un'altro post non hai detto che hai fatto il CLAD di recente??? Questa era molto facile, magari ti è sfuggita. BYE. ---------------------------------------- AUTORE: 680 DATA :01/06/2005 - 21:05:04 ---------------------------------------- in questo modo lo sapevo anch'io. io volevo sapere se c'era un modo programmaticamente (es. property node, ecc.) cioè io apro un eseguibile, scrivo qualcosa sul controllo, lo chiudo e al riavvio, mi ritrovo scritto ciò che c'era. grazie... p.s io sono riuscito a farlo però salvando su file e poi rileggendo il file ma volevo sapere se c'era un metodo + semplice... ---------------------------------------- AUTORE: 129 DATA :04/06/2005 - 07:04:57 ---------------------------------------- Si al termine del tuo programma, puoi utilizzare il metodo makevalues default, del tuo vi. Non sono sicuro esista su tutte le versioni di LV. ---------------------------------------- AUTORE: 680 DATA :04/06/2005 - 13:10:11 ---------------------------------------- ok grazie, ma dove hai trovato quella funzione ??? ciao... ---------------------------------------- AUTORE: 680 DATA :04/06/2005 - 13:20:20 ---------------------------------------- scusa ho già fatto ma mi ritorna il seguente errore: Error 1073 occurred at Invoke Node in Untitled.vi Possible reason(s): LabVIEW: This property is writable only when the VI is in edit mode, or this method is available only when the VI is in edit mode. ciao... ---------------------------------------- AUTORE: 680 DATA :04/06/2005 - 15:18:00 ---------------------------------------- a parte tutto, spiego bene il mio problema... devo salvare un nome utente ed una password che l'utente deve digitare. io ho fatto questo salvando i dati su un file di testo e dopo riaprendolo me li ritrovo. il problema è che la password (su labview nascosta), nel file di testo logicamente è in chiaro... se qualcuno ha qualche idea su come fare, lo ringrazio anticipatamente... ciao grazie.... ---------------------------------------- AUTORE: 129 DATA :05/06/2005 - 09:31:59 ---------------------------------------- L'errore è generato dal fatto che il tuo vi, non è stato salvato ed è quindi in una situazione non localizzabile... Per quanto riguarda il tuo problema, penso che il sistema migliore sia quello di salvare su file,su database ecc. per quanto riguarda il salvataggio in chiaro sul file, puoi risolverlo criptando la password. [url=http://www.ilvg.it/forum/viewtopic.php?t=674&highlight=criptare:3tndxgyw]Su questo forum[/url:3tndxgyw] trovi degli esempi per criptare e decriptare una string. Buon lavoro. ---------------------------------------- AUTORE: 680 DATA :05/06/2005 - 09:52:34 ---------------------------------------- grazie mille del consiglio, hai qualche idea su come fare per criptare la password?? ciao, grazie ancora... ---------------------------------------- AUTORE: 129 DATA :06/06/2005 - 07:39:37 ---------------------------------------- SEgui il link, che ti ho inserito nel precedente post, ci sono degli esempi validi per criptare e decriptare la password. NIcola ---------------------------------------- ================================================================================ Manuale Labview 7 ================================================================================ AUTORE: 341 DATA :02/06/2005 - 16:40:36 ---------------------------------------- Salve,qualcuno sa consigliarmi un buon libro in italiano dove si può imparare ad usare Labview 7 ,in modo da scoprirne i vari segreti legati ai properti node etcc.. Ho scaricato i vari manuali in pdf che si trovano su internet,ma in nessuno viene affrontato lo studio approfondito. Grazie. Vincenzo. ---------------------------------------- AUTORE: 4 DATA :13/06/2005 - 09:21:25 ---------------------------------------- in italiano e su labview 7 non esiste niente! sdembra impossibile ma è così. il libro più aggiornato e in italiano risale al 1999. ti consiglio di passare all'inglese, due testi validi sono: [url=http://www.amazon.com/exec/obidos/tg/detail/-/013065096X/ref=pd_sim_b_2/102-9091594-0419302?%5Fencoding=UTF8&v=glance:1ap3c65o]LabVIEW for Everyone (2nd Edition)[/url:1ap3c65o] di [url=http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author-exact=Jeffrey%20Travis/102-9091594-0419302:1ap3c65o]Jeffrey Travis[/url:1ap3c65o] [url=http://www.amazon.com/exec/obidos/tg/detail/-/0071370013/ref=pd_bxgy_text_1/102-9091594-0419302?v=glance&s=books&st=*:1ap3c65o]LabVIEW Graphical Programming[/url:1ap3c65o] di [url=http://www.amazon.com/exec/obidos/search-handle-url/index=books&field-author-exact=Gary%20W.%20Johnson/102-9091594-0419302:1ap3c65o]Gary W. Johnson[/url:1ap3c65o] Ciao, ---------------------------------------- AUTORE: 341 DATA :13/06/2005 - 16:16:25 ---------------------------------------- Purtroppo me ne sono reso conto.... Grazie comunque. ---------------------------------------- ================================================================================ Report.txt ================================================================================ AUTORE: 368 DATA :06/06/2005 - 10:57:07 ---------------------------------------- Salve a tutti, sono nuovamente finito nel tunnel.... Aiuto!!!! Qualcuno sa se è possibile fare in modo di salvare in automatico su diversi file ad ogni attivazione del VI? Mi spiego meglio: salvo i miei dati su Report.txt, poi rifaccio ripartire il VI e vorrei avere i dati su un file diverso, come Report1.txt, senza rimpiazzare il file precedente. Grazie mille per l'attenzione ---------------------------------------- AUTORE: 129 DATA :06/06/2005 - 11:48:35 ---------------------------------------- L'esempio che ti ho allegato, fa una scansioone della directory e crea un nuovo file, in sequenza all'ultimo ...QUindi se nella cartella esiste report1.txt; crea report2.txt e così via. ---------------------------------------- AUTORE: 235 DATA :06/06/2005 - 11:49:51 ---------------------------------------- C'è un VI Express molto utile per ilsalvataggio su file multipli (tipo Nome001.txt, Nome002.txt....). Si chiame [b:3kqg17hp]Write (e Read) LabVIEW Measurement File[/b:3kqg17hp], lo trovi nella Palette degli Express oppure sotto il menu File I/O. Nelle opzion di questo VI Express c'è il salvataggio su file multipli con varie opzioni...magari trovi quello ti serve...provalo un po'. Bye P. ---------------------------------------- AUTORE: 368 DATA :06/06/2005 - 15:34:29 ---------------------------------------- Ecco in arrivo i dovuti ringraziamenti sia per la velocità con cui avete risposto che per la preziosa dritta! \":D\" CIAO ---------------------------------------- ================================================================================ LabView e Siemens S7-300 ================================================================================ AUTORE: 673 DATA :06/06/2005 - 16:03:50 ---------------------------------------- Ciao a tutti, devo realizzare un pannello di supervisione per il monitoraggio di un impianto con a bordo un PLC Siemens S7-300 e la connessione tra il mio PC ed il PLC deve avvenire tramite modem. Come OPC Server sto utilizzando quello fornito nell'Industrial Automation OPC Server della NI. Dopo aver completato l'inserimento delle varie impostazioni mi ritorna sempre un messaggio di errore secondo cui è stata ricevuta una risposta dal PLC ma non è la risposta aspettata in accordo con il protocollo. Non ho idea di come risolvere il problema: qualcuno ha qualche idea o qualche altro OPC Server telefonico da suggerirmi? Grazie ---------------------------------------- ================================================================================ Numero sequenza nel pannello di controllo ================================================================================ AUTORE: 703 DATA :07/06/2005 - 08:40:11 ---------------------------------------- Salve a tutti, utilizzo la versione 5.1. Svolgo spesso programmi utilizzando la struttura sequenza, vorrei sapere come è possibile fare apparire nel pannello di controllo, tramite un indicatore numerico, il numero della sequenza che sta operando in quel momento. Non posso inserire una variabile locale (ad ogni sequenza) ed assegnare una costante contenente il numero della sequenza perchè in caso di modifica del programma dovrei cambiare tutte le costanti. Ringrazio chi mi può dare un aiuto. ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 09:47:50 ---------------------------------------- Non penso tu abbia altre soluzioni. Prova invece a pensare se nel tuo caso è possibile migliorare lo stile di programmazione (tante sequence non sono il massimo). Ti allego un esempio di macchina a stati, che si comporta come le sequence, ma risolve il tuo problema (in più può essere adattata per molte altre soluzioni). Bye P. ---------------------------------------- AUTORE: 129 DATA :07/06/2005 - 13:06:50 ---------------------------------------- ti consiglio anche io la soluzione di Pallaz, mi sono solo sentito di fare una piccola modifica. Ho inserito un tempo di ritardo e un numero di sequenze predefinito..... ---------------------------------------- AUTORE: 129 DATA :07/06/2005 - 14:03:05 ---------------------------------------- Potresti anche utilizzare un ciclo for con una array per inizializzare la sequenza ---------------------------------------- ================================================================================ esprtare da una string su excel o open office ================================================================================ AUTORE: 683 DATA :07/06/2005 - 10:31:23 ---------------------------------------- avrei bisogno di qualche consiglio per l'espertazione su file .xls o. sxc (open office), come faccio a mettere direttamente l'estensione senza doverla scrivere ogni volta??per mettere il tabella devo aggiungere il fine linea?? ecco il vi che ho fatto salva il file tranquillamente, io vorrei fare un'altra cosa però: aprire il programma excel forse è meglio, e passare i valori tramite gli appunti?+ da poco ke armeggio con LV siate comprensivi!! ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 10:56:13 ---------------------------------------- Leggi attentamente l'help del VI \"Open File\", li c'è il modo di mettere le estensioni in automatico ai file (terminale \"pattern\").... devi collegarci una stringa \".xls\" Bye P. P.S. Appello pro lingua italiana......... visto che abbiamo una tastiera davanti e non un telefonico...evitiamo le abbreviazioni da SMS ? \":D\" ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 11:00:36 ---------------------------------------- [quote="ilgurzo":1m9nf32p]io vorrei fare un'altra cosa però: aprire il programma excel forse è meglio[/quote:1m9nf32p] puoi farlo usando i VI che trovi sotto il menu \"Report Generation\" e installando il Report Generation Toolkit di NI. Questo toolkit non è il massimo, ma ci si accontenta. Bye P. ---------------------------------------- AUTORE: 683 DATA :07/06/2005 - 11:21:26 ---------------------------------------- grazie mille per le indicazioni PS. è tanta l'abitudine di scrivere abbreviato anche in chat che le dita vanno da sole mi impegnerò a scrivere correttamente, un'altra richiesta: il Vi che ho fatto è giusto come formattazione per un file xls?? su questo pc ora ho open office e me lo apre con il pseudo word ma le copio e incollo sullo pseudo excel va tutto ok. ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 11:30:51 ---------------------------------------- Scivendo una stringa vai sul sicuro perchè ottieni un file testo (ASCII) che puoi leggere sia con excel che con open office. La formattazione Excel di default è : nome (tab) nome (tab)....... (a capo) Tieni conto che nel menu delle stringhe c'è un VI molto utile per convertire array in \"spreadsheet string\" cioè in stringhe formattatte come ho scritto sopra (\"Array To Spreadsheet String\") Bye P. ---------------------------------------- ================================================================================ Routine di base ================================================================================ AUTORE: 704 DATA :07/06/2005 - 13:58:47 ---------------------------------------- Avrei bisogno di un esempio per quanto riguarda un semplice meccanismo. Io devo aprire un sub VI dal VI principale usando un pulsante di riferimento a questo sub VI. Aperto questo sub VI vorrei avere la possibilità tramite un altro pulsante di tornare al VI principale. Come si fa? grazie per l'aiuto. ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 14:16:50 ---------------------------------------- LabVIEW help, cerca nell'indice: \"subVIs, opening front panels during execution\" Bye P. ---------------------------------------- AUTORE: 680 DATA :08/06/2005 - 13:59:08 ---------------------------------------- è possobile caricare 2 o più sub vi contemporaneamente e che si possa interagire con tutti?? grazie...... ---------------------------------------- AUTORE: 129 DATA :08/06/2005 - 15:45:25 ---------------------------------------- Per fare un bel lavoro dovresti usare un'architettura client server. Questa viene descritta come vi-server. Prova a guardare nei post di questo forum, troverai anche degli esempi per realizzare un player, per far partire una o più vi, da un altro. Ciao e buona ricerca. ---------------------------------------- ================================================================================ stringa caratteri jolly ================================================================================ AUTORE: 680 DATA :07/06/2005 - 14:20:09 ---------------------------------------- ciao, sono ancora io, spero di non rompere troppo!! volevo sapere se è possibile fare una ricerca in una stringa inserendo dei caratteri jolly. ad esempio * in windows. in particolare il mio problema è questo: in una stringa c'è una parola che rimane costante e in successione un numero di due cifre variabile (esempio pippo24). spero di essere stato chiaro.... grazie mille.... ---------------------------------------- AUTORE: 235 DATA :07/06/2005 - 14:24:12 ---------------------------------------- La funzione \"Match Pattern\" (Menu String) dovrebbe fare al caso tuo. Bye P. ---------------------------------------- ================================================================================ Timed loops warnings ================================================================================ AUTORE: 123 DATA :09/06/2005 - 16:31:05 ---------------------------------------- Facendo un semplicissimo programma in cui metto una timed loop, mi viene data una sfilza lunghissima di warnings, che si riferiscono a molti files chiamati dalla loop, e parlano di unwired terminals, ma non si puo' vedere nulla perche' sono password protetti. Qualcuno ha notato qualcosa di simile (parlo di LV 7.1.1). ---------------------------------------- AUTORE: 482 DATA :10/06/2005 - 07:16:36 ---------------------------------------- Il consiglio migliore è andare in Tools->Options e dirgli di non visualizzarti le warning! Nelle warning ti segnala ogniqualvolta ci sia un terminale disconnesso. Il piu' delle volte quei terminali non sono collegati perchè tengono il valore di default e quindi non necessitano di essere modificati. ---------------------------------------- ================================================================================ Differenza tra TS Adapter e HMI Adapter e tra SCADA e HMI ================================================================================ AUTORE: 673 DATA :10/06/2005 - 08:42:39 ---------------------------------------- Ciao, qualcuno mi sa dire la differenza tra TS Adapter e l'HMI Adapter? E tra SCADA e HMI? Scusate per la banalità delle domande ma credo di avere un po' di confusione. Grazie ---------------------------------------- AUTORE: 652 DATA :10/06/2005 - 13:32:06 ---------------------------------------- ciao, - PS adapter : utilizzabile per eseguire la teleassistenza, in accoppiamento al software Teleservice.Se hai installato il teleservice, puoi utilizzare il PS adapter anche per andare in comunicazione ONLINE tramite Step7 HMI Adapter: sinceramente non lo conosco, solitamente si usa il PC Adapter, per comunicare con i plc s7 300-400 HMI : interfaccia uomo Macchina, esempio un pannellino tipo TP170,per intenderci,e comunque tutti i pannellini TP-MP. Anche una pulsantiera con selettori e lampadine si puo definire HMI. SCADA : rimanendo nel mondo Siemens, WinCC System Control And Data Acquisition. ciao Sandro. ---------------------------------------- AUTORE: 179 DATA :04/08/2005 - 16:13:34 ---------------------------------------- Con HMI adapter non è possibile programmare un plc ma è possibile utilizzarlo insieme ad un OPC server (tipo quelli inseriti in lookout protocol driver) per far comunicare labview con un plc ---------------------------------------- AUTORE: 179 DATA :04/08/2005 - 16:13:53 ---------------------------------------- Con HMI adapter non è possibile programmare un plc ma è possibile utilizzarlo insieme ad un OPC server (tipo quelli inseriti in lookout protocol driver) per far comunicare labview con un plc ---------------------------------------- ================================================================================ modificare e creare bottoni ================================================================================ AUTORE: 683 DATA :10/06/2005 - 08:44:33 ---------------------------------------- salve a tutti, ho un piccolo problema che non è di fondamentale importanza (il programma funziona lo stesso) ho LV 6.1 come faccio a cambiare i colori del round led?? grazie a tutti ---------------------------------------- AUTORE: 235 DATA :10/06/2005 - 09:10:29 ---------------------------------------- .. \":o\" .. non c'è un pennellino sulla tools palette...? Bye P. ---------------------------------------- AUTORE: 683 DATA :10/06/2005 - 10:24:24 ---------------------------------------- ho tutti i requisiti per essere bannato da questo forum!! \":o\" \":cry:\" \":cry:\" \":cry:\" mi spice averti fatto perdere del tempo ---------------------------------------- ================================================================================ Modificare elemento o riga di una listbox ================================================================================ AUTORE: 77 DATA :10/06/2005 - 15:21:49 ---------------------------------------- Ciao a tutti. Sapete come è possibile modificare lo stile o il font di un elemento o una riga di una multicolumn listbox? Semplicemente vorrei che la riga selezionata comparisse in un altro colore oppure in grassetto. Grazie in anticipo. Stefano ---------------------------------------- ================================================================================ Misure di frequenza con counter ================================================================================ AUTORE: 591 DATA :10/06/2005 - 16:20:21 ---------------------------------------- Possiedo un scheda pcmcia 6024e e devo leggere tramite il counter on board la frequenza di un segnale ttl. IL problema è che sotto i 5Hz ottengo valori sballati. Se qualcuno puo' darmi una mano ne sarei grato. ---------------------------------------- AUTORE: 247 DATA :12/06/2005 - 23:20:54 ---------------------------------------- Ciao, - che VI utilizzi per leggere la frequenza? - quale DAQ stai utilizzando? - ... Risolvere problemi generici è un pò dura...cerca di dettagliare il più possibile la tua situazuione in modo che darti una risposta sia più semplice, veloce e \"azzeccato\"! \":wink:\" . BYE. ---------------------------------------- AUTORE: 591 DATA :13/06/2005 - 08:33:45 ---------------------------------------- E' vero. Allego il diagramma di cio' che ho implementato. Il vi è viluppato in LV 7.1, utilizzo una DAQCard 6024E i driver sono i DAQMX 7.3. ---------------------------------------- AUTORE: 247 DATA :13/06/2005 - 16:26:34 ---------------------------------------- Ciao, penso che il problema sia la dimensione del couter legato alla frequenza di funzionamento dello stesso infatti: La tua scheda ha due 24-bit 20 MHz counter/timers e la misura di frequenza ha bisogno di individuare almeno un fronte di salita dell'onda ed uno di discesa per effettuare la misura. Il counter che hai a disposizione ha la possibilità di \"campionare\" l'onda in ingresso per un tempo di (1/Timebase)*Dimensione Counter ovvero nel tuo caso (1/20M)*2^24=0,839 secondi(Tc). Come detto sopra, in questo intervallo di tempo devono cadere almeno un fronte di salita ed uno di discesa dell'onda(o viceversa, uno di discesa ed uno di salita se scegli di avere come primo riferimento il fronte di discesa) e per essere sicuro di questo devi avere la possibilità di \"campionare\" l'onda per almeno la durata di un periodo e mezzo+\"n campioni di sicurezza\" (caso peggiore in cui parti con un segnale che si è appena alzato ed utilizzi come start un fronte di salita). Se quindi devi avere come minimo un periodo e 1/2, con un tempo max di \"campionamento\" di Tc, puoi riconoscere correttamente al massimo la frequenza di onde che hanno un periodo di 2/3*Tc ovvero Tc=0,839s. -> (2/3)*0.839=0,558 che in Hz significa circa 2Hz. Facendo qualche \"arrotondamento\"(cosa molto brutta da dire in campo tecnico..\":D\" ma spesso meno in campo ing...) ed alzando quindi il limite minimo a due periodi e più, ci avviciniamo ai tuoi 5Hz di limite! ..spero che si si capito almeno il principio... Per il resto utilizza tutti i settaggi in ingresso al DAQmx Create Channel sfruttando l'help per conoscerne meglio il significato singolo. BYE. P.S. Metti un temporizzatore nel while loop, è sempre cosa buona e giusta anche se in questo caso la funzione di read è bloccante e non hai grossi problemi di temporizzazione.. \"8)\" ---------------------------------------- AUTORE: 591 DATA :14/06/2005 - 09:34:15 ---------------------------------------- grazie Apollon, veramente gentile. ---------------------------------------- ================================================================================ Misura di fase e di tempo ================================================================================ AUTORE: 709 DATA :10/06/2005 - 16:32:29 ---------------------------------------- Salve a tutti. Vi illustro subito il mio problema. Ho due sinusoidi alla freq. di 1kHz, di ampiezza 2 Vpp, sfasate di circa 1 micro secondo (0,36 gradi). Devo riuscire a vedere questo sfasamento con LabView. La scheda di acquisizione campiona fino a 200 kSample/secondo. Per ora acquisisco i due segnali in modalità differenziale, li mando in ingresso al blocchetto che calcola frequenza, ampiezza e fase (fitting sinusoidale) e poi calcolo la differenza di fase. Purtroppo facendo più acquisizioni la differenza di fase varia di circa un grado e quindi non riesco ad apprezzare lo sfasamento. Vorrei che lo sfasamento variasse di meno di un centesimo di grado tra un acquisizione e l'altra. Ho anche pensato che invece di misurare lo sfasamento di 0,36° sarebbe meglio misurare la distanza tra due transizioni per lo zero che è di circa 1 micro secondo. Come posso fare questo con LabView? Sentiti ringraziamenti a chiunque cercherà di aiutarmi. Lorenzo ---------------------------------------- AUTORE: 672 DATA :11/06/2005 - 10:16:21 ---------------------------------------- Ciao, non è molto che uso LabVIEW e schede di acquisizione, comunque secondo me la differenza di fase è troppo piccola per essere misurata. Inoltre devi anche considerare l'incertezza con cui riesci a calcolarla che non deve essere molto grande (infatti hai visto che trovi un valore molto superiore a quello che ti aspetti). Devi considerare anche la precisione relativa alla quantizzazione quando rilevi la grandezza. Cioè l'ampiezza del tuo segnale. Infatti quando inizi ad acquisire se misuri 1, questo valore in realtà può essere per esempio 0,9 o 1,1 (ovviamente esagero). Già questa differenza può darti un piccolo errore che magari nel tuo caso è confrontabile allo sfasamento che vuoi misurare. Per quanto riguarda la discretizzazione, se acquisisci due segnali a 200kSa/s, in realtà acquisisci ognuno a 100kSa/s. Cioè il periodo di campionamento è di 10 microsecondi. Ovviamente per acquisire due segnali la scheda di acquisizione dati utilizza il multiplexer e quindi i due segnali non sono acquisiti esattamente nello stesso istante ma con un piccolo ritardo. Questo ritardo secondo me nel tuo caso non è trascurabile per il tipo di misura che vuoi fare, perchè anche se piccolo, varrà sicuramente almeno 0,5 microsecondi o 1 microsecondo e quindi ti sballa la misura. Comunque puoi provare la seconda soluzione che hai detto (usando i blocchetti di LabVIEW infatti i dati vengono ulteriormente manipolati con Hanning e altro e si sballano ancora di più nel tuo caso) e cioè misurando gli attraversamenti per lo zero. Prendi il vettore Y con Get Waveform Components e valuti due zeri successivi. Devi provare per vedere se riesci a ottenere valori sensati. Altrimenti puoi acquisire e poi misurare lo sfasamento in via grafica. Ovviamente se non ti serve immediatamente nel programma per altri passaggi. Ciao, spero che tu possa capire quello che volevo dirti anche se in modo un po' contorto. Fammi poi sapere ---------------------------------------- AUTORE: 709 DATA :12/06/2005 - 08:54:08 ---------------------------------------- Grazie molte dei consigli. Ad alcune cose ci avevo già pensato, ad esempio alla questione del ritardo tra il campionamento su un canale e l'altro, ritardo intercanale. Ho cercato di impostare io un ritardo intercanale, ma non ci sono riuscito. Mi dice che dipende dall'hardware e dalla scheda. Sai mica dirmi come faccio a sapere quanto vale questo ritardo intercanale? Io non sono riuscito a trovarlo. Penso che la stada che seguirò adesso sarà quella di valutare non la fase direttamente, ma la distanza di tempo tra due attraversamenti per lo zero. Grazie ancora Lorenzo ---------------------------------------- AUTORE: 4 DATA :13/06/2005 - 09:07:22 ---------------------------------------- [quote:385cpdhw]Purtroppo facendo più acquisizioni la differenza di fase varia di circa un grado e quindi non riesco ad apprezzare lo sfasamento[/quote:385cpdhw] Cosa intendi per \"più acquisizioni\" se intendi dire che NON stai usando l'acquisizione continua ma quella \"one-shot\" allora capisco gli errori che ti trovi. Prova a guardare negli esempi qualche acquisizione continua bufferizzata. Inoltre ti consiglio anche io di trovarti i passaggi per lo zero e calcolarne la distanza io l'ho fatto con schede da 10M\s ottenendo buoni risultati. Il ritardo tra i canali lo trovi nelle specifiche della scheda sul sito NI ci sono di sicuro. Ciao, ---------------------------------------- AUTORE: 709 DATA :13/06/2005 - 15:09:59 ---------------------------------------- Ho provato ad acquisire due canali al massimo dal rate, 100 Ks/s per canale. Per prima cosa mando le due waveform nel blocchetto \"Extract Single Tone\" per ripulirle bene dal rumore. Poi misuro lo sfasamento in due modi differenti: 1) Sottraggo le fasi che mi da in uscita il blocchetto \"Extract Single Tone\" oppure 2) Prendo i due segnali ripuliti dal rumore che escono sempre dal blocchetto \"Extract Single Tone\", li mando ognuno in un blocchetto \"Threshold 1D array\" per calcolare l'intervallo di tempo tra due zerie da qui mi ricavo lo sfasamento. I risultati che ottengo sono all'incirca uguali. Uso una acquisizione one-shot e tra un'acquisizione e l'altra lo sfasamento che misuro varia, poco, ma varia all'incirca della quantita' che intendo misurare. Le cose migliorano un po' se aumento il numero di campioni che acquisisco. Non volevo complicarmi la vita con un'acquisizione continua. Potresti mandarmi il VI che hai usato tu? Grazie dell'attenzione Lorenzo ---------------------------------------- AUTORE: 672 DATA :13/06/2005 - 15:49:06 ---------------------------------------- Ciao, ma perchè fai passare le due fdo nel blocchetto \"Extract Single Tone\"? Sei sicuro che devono essere ripulite da qualche tipo di rumore? Se mandi le due fdo in un grafico lo vedi se sono segnali \"sporchi\" o no.. Se sono puliti, puoi subito utilizzare \"Get Waveform component\" e così hai il vettore Y che contiene tutte le ampiezze. Puoi utilizzare gli attraversamenti per calcolare lo sfasamento tra le due fdo. Se non è abbastanza preciso, puoi interpolare due valori prossimi allo zero per ricavarti il tempo abbastanza esatto (tanto una sinusoide nell'attraversamento è abbastanza bene approssimabile con una retta). Secondo me va bene usare un'acquisizione one-shot. Se usi il blocchetto \"Extract Single tone\" devi acquisire un tempo molto lungo altrimenti i filtri digitali applicati ti introducono errori \"grossi\" (grossi rispetto allo sfasamento che vuoi misurare) Ciao ---------------------------------------- AUTORE: 709 DATA :13/06/2005 - 18:31:43 ---------------------------------------- Il rumore, anche se poco, potrebbe falsare la misura in quanto potrebbe provocare una transizione per lo zero anticipata. Con \"extract single tone\" ho una sinusoide pura e non ho questo inconveniente e la misura è più precisa. Inoltre, visto che la mia situazione è stazionaria, se acquisisco molti campioni è come fare una misura mediata su molti periodi, quindi più precisa. Lorenzo ---------------------------------------- ================================================================================ salvataggio su file con exe ================================================================================ AUTORE: 680 DATA :10/06/2005 - 22:07:44 ---------------------------------------- ciao, io ho fatto un vi che salva dei dati su un file.... il vi con labview, funziona perfettamente... quando però creò l'eseguibile del vi non crea e non salva più i dati sul file... grazie mille.......... ---------------------------------------- ================================================================================ Istogramma valori ================================================================================ AUTORE: 709 DATA :12/06/2005 - 09:02:49 ---------------------------------------- Ho fatto un programma LabView che acquisisce una sequenza di campioni, li elabora e poi restituisce un valore. Quello che vorrei fare è fare girare questo programma N volte, salvando ciascuna volta il valore finale in un vettore,inizialmente vuoto, e poi plottare l'istogramma di questi valori. Mi accontento anche solo di sapere come faccio ad aggiungere ad ogni ciclo il nuovo elemento nel vettore. Grazie molte per l'attenzione. Lorenzo ---------------------------------------- AUTORE: 4 DATA :13/06/2005 - 09:09:18 ---------------------------------------- [quote:36h8bx8g]Mi accontento anche solo di sapere come faccio ad aggiungere ad ogni ciclo il nuovo elemento nel vettore. [/quote:36h8bx8g] ci sono molti modi il più semplice è utilizzare la funzione build array, lo dice il nome stesso, gli dai in ingresso i valori nuovi (da aggiungere all'array) più l'array originale. Ciao, ---------------------------------------- ================================================================================ Info sistema di supervisione e PLC S7-300 ================================================================================ AUTORE: 673 DATA :13/06/2005 - 07:45:39 ---------------------------------------- Ciao a tutti, ho già scritto un messaggio ma lo ripropongo. Devo realizzare un sistema di supervisione con il LabView per monitorare un impianto che ha a bordo un S7-300 della Siemens. Il collegamento deve avvenire via modem (per esigenze aziendali) e dovrei utilizzare l'OPC server fornito dalla NI che si chiama S7_HMI che è un OPC che comunica con gli S7-300 e 400 via seriale e HMI Adapter. Allora, il nostro S7-300 non ha l'HMI Adapter ma il TS Adapter e il mio PC non possiede altri adattatori (tipo PC adapter o altro). Ho provato a stabilire una connessione tra il mio Scada e il PLC senza ottenere però alcuna risposta. Mi sapete dire cosa dovrei avere esattamente per riuscire a ricevere i dati dal PLC?Ho chiamato la NI ma non sa dirmi un granchè e stessa cosa la Siemens giustificandosi che l'OPC non è loro e quindi non sanno come aiutarmi!Non posso usare l'OPC della Siemens perchè non è un OPC telefonico. Grazie ---------------------------------------- AUTORE: 4 DATA :13/06/2005 - 09:12:44 ---------------------------------------- non sò darti una risposta precisa ma sò che il mondo PLC siemens è molto chiuso verso prodotti di altre marche quindi utilizzare prodotti siemens in ambienti eterogenei risulta difficoltoso. Quello che puoi fare è utilizzare il loro OPC più qualche diavoleria HW che ti permetta di usare il modem (figurati se non l'hanno inventato!) ammesso che riuscissi ad utilizzare l'OPC NI non ti aspettare di averetutte le funzioni supportate! di solito non è mai così... Ciao, ---------------------------------------- AUTORE: 652 DATA :13/06/2005 - 09:19:01 ---------------------------------------- Ciao, vediamo se ti posso essere utile. Il PS adapter è un adattatore Seriale per comunicazione MPI/Profibus, che viene parametrizzato tramite il software Teleservice. Tramite Teleservice, puoi instaurare una comunicazione in MPI/DP utilizzando . PC > Modem .....Mondo....>Modem > TS Adapter > PLC S7300..400. Il TS puo funzionare anche come PC Adapter,basta parametrizzarlo tramite Teleservice. Non so se fornisce OPC. la mia esperienza in merito riguarda Step7. Una volta instaurata la comunicazione,puoi andare online come se si utilizzasse il collegamento diretto. ciao sandro. ---------------------------------------- ================================================================================ EXE con LW6.1 ================================================================================ AUTORE: 445 DATA :14/06/2005 - 08:40:52 ---------------------------------------- Ciao a tutti! .... Come posso creare un eseguibile che comprenda anche i files di runtime al suo interno?.... vorrei avere solo un file (.exe) nella directory di lavoro Ho provato ad includere i files di runtime come support file nel build application ,ma quando lancio l'exe da errore... (vedi allegato) Chiaramente mettendo i files di rt nella stessa directory dell exe il tutto funziona perfettamente.... GRAZIE .... ---------------------------------------- AUTORE: 235 DATA :20/06/2005 - 08:25:41 ---------------------------------------- Non puoi creare un eseguibile che contenga il Run-Time. Quest'ultimo va installato a parte. Se serve, mentre compili l'eseguibile, puoi creare \"l'installer\" che include anche il modulo Run-Time (Build Application >> Installer Settings>> Advanced) Bye p. ---------------------------------------- ================================================================================ Scelta della temporizzazioni ================================================================================ AUTORE: 591 DATA :14/06/2005 - 09:35:55 ---------------------------------------- Scusate per la domando forse un po' stupida ma vorrei sapere se c'e' un criterio per la scelta delle temporizzazioni nei cicli while. Mi devo basare solo sul tempo necessario ad eseguire un ciclo o c'e' altro? ---------------------------------------- AUTORE: 247 DATA :15/06/2005 - 15:52:21 ---------------------------------------- Ciao, Così su due piedi mi vengono in mente anche questi motivi da considerare nella scelta della temporizzazione: - tempo di risposta all'interazione con l'utente: La temporizzazione condiziona il tempo minimo di refresh dei controlli presenti sul front panel e di conseguenza la sensazione di velocità di risposta del sistema percepita dall'utente. - lettura valori assunti dai controlli: Se non utilizzi gli eventi per l'interazione utente, con una temporizzazione troppo elevata, rischi di perdere pressioni o modifiche di controlli del front panel che avvengono più velocemente della tua lettura dato che hai una frequenza di polling dei controlli minore rispetto alla possibile frequenza di \"input\" (ad es temporizzazione del while ad 1 sec. perdi il l'evento se l'utente preme un pulsante due volte nel giro dello stesso secondo, a meno che non sia proprio a cavallo di due letture successive...) - carico sistema: La temporizzazione influisce pesantemente sul carico di sistema(utilizzo CPU) dovuto all'esecuzione. Si consiglia sempre di mettere una temporizzazione per non utilizzare tutte le risorse(controlla un ciclo while in esecuzione senza temporizzzazione con il task manager..CPU al 100%) con conseguente rallentamenti che possono essere inutili. - \"Mito\"(valdato da più di un saggio..) temporizzazioni tutte diverse: C'è chi dice che in base alla temporizzazione LV mandi in esecuzione cicli paralleli rispetto ad uno stesso istante di inizio e consiglia quindi di utilizzare valori tutti diversi anche di poco per le temporizzazioni per evitare lo scheduling di tutti i thread nello stesso istante. BYE. ---------------------------------------- AUTORE: 201 DATA :16/06/2005 - 12:27:20 ---------------------------------------- Molto utile apollon, l'ultima cosa non la sapevo! grazie ---------------------------------------- AUTORE: 4 DATA :16/06/2005 - 13:14:58 ---------------------------------------- per chi di voi non lo avesse già fatto vi consiglio di scaricarvi questa [url=http://www.ilvg.it/forum/download.php?id=297:2y3dukna]presentazione[/url:2y3dukna] anche sul tema delle temporizzazioni. Ciao, ---------------------------------------- ================================================================================ API Windows ================================================================================ AUTORE: 655 DATA :14/06/2005 - 11:18:40 ---------------------------------------- Ciao a tutti.. Qualcuno sa per caso come si fa a sapere qual è Il API d’un programma che gestisce una periferica esterna via cavo seriale.. Questa periferica è un UPS il quale col suo programma di gestione mi dici si manca o no la tensione nella rete con un messaggio, io vorrei prendere quel messaggio e farlo arrivare su un determinato canale al FP dell’agilent e cosi potere fare una determinata azione di controllo shutdown. Spero che qualcuno possa aiutarmi. _________________ Grazie in anticipo, Jubal ---------------------------------------- ================================================================================ Api popup windows ================================================================================ AUTORE: 655 DATA :14/06/2005 - 14:15:21 ---------------------------------------- Ciao a tutti… Qualcuno sa per caso come posso fare per avere il controllo di un popup con labview, ho visto che c’è una funzione ma non so come se fa a mettere dei parametri per aprire un determinato popup, ne anche come se fa per salvare i parametri che sono su qusto popup.. Grazie tante, Jubal Gil ---------------------------------------- AUTORE: 247 DATA :15/06/2005 - 21:59:51 ---------------------------------------- Ciao, Prova a guardare questo esempio, utilizza semplicemente \"popup\" che ricevono parametri in ingresso e restituiscono dati in uscita, vedi se può darti una mano. BYE. ---------------------------------------- ================================================================================ New VI Object di OpenG ================================================================================ AUTORE: 77 DATA :14/06/2005 - 16:28:23 ---------------------------------------- Ciao a tutti. Vorrei sapere se qualcuno ha usato mai la New VI Object della libreria OpenG. Questa VI crea un determinato controllo in una VI. Sono riuscito a creare controlli semplici, ma per quanto riguarda array o cluster, la New VI Object mi crea array o cluster vuoti! Come posso specificare gli elementi della struttura in esame? ---------------------------------------- ================================================================================ Index Array ================================================================================ AUTORE: 482 DATA :15/06/2005 - 12:51:16 ---------------------------------------- ..ma ciao! mi è sorto un dubbio riciclando un vecchio vi fatto con la versione 4 di Labview dal mio predecessore... Che voi sappiate, cambia qualcosa in termini di prestazioni utilizzare piu' \"index array\" piuttosto che uno unico esteso a seconda di quanti elementi devo prelevare? Vale la stessa cosa per l'\"Array replace subset\"? ...ma ciao! ---------------------------------------- ================================================================================ Media ================================================================================ AUTORE: 686 DATA :15/06/2005 - 14:06:12 ---------------------------------------- Ciao, si può fare una media di dati che variano ogni ciclo macchina in modo semplice, perchè non riesco ad usare il mean in quanto riceve solo array! Grazie (Ho labview 6.1) ---------------------------------------- AUTORE: 591 DATA :15/06/2005 - 16:52:53 ---------------------------------------- Per una volta forse posso essere d'aiuto anch'io. Utilizza lo shift register in modo da mediare gli ultimi valori con quello attuale se poi vuoi mediare piu' valori puoi utilizzare lo schema seguente (non posso allegare il vi xke' uso labview 7.1). In genere utilizzo questo schema quando voglio mediare tra loro piu' di due campioni. All'atto pratico è un filtro passa-basso. Se hai dubbi fammi sapere. ciao ---------------------------------------- AUTORE: 686 DATA :16/06/2005 - 07:40:06 ---------------------------------------- Perfetto! Grazie 1000! \":D\" ---------------------------------------- ================================================================================ Disegno su front Panel ================================================================================ AUTORE: 515 DATA :16/06/2005 - 09:47:46 ---------------------------------------- Ciao a tutti. Qualcuno mi sa dire se ci sono delle VI che permettono all'utente di disegnare linee (tipo paint, per capirci) ovvero di disegnare manualmente una caratteristica su un oggeto tipo Graph, e ricavarne i punti automaticamente? Grazie! Mèt ---------------------------------------- AUTORE: 515 DATA :16/06/2005 - 11:44:59 ---------------------------------------- ops! L'ho spedito due volte! Sorry! \":oops:\" ---------------------------------------- AUTORE: 201 DATA :16/06/2005 - 12:29:50 ---------------------------------------- Se intendi di disegnare su un graph XY ad esempio, è una cavolata farsela la vi, ma ho paura che non sia questo che vuoi vero? Se vuoi propio fare disegni sul front panel non credo ci siano vi ke ti possano aiutare. ---------------------------------------- AUTORE: 515 DATA :16/06/2005 - 12:39:06 ---------------------------------------- No, invece è proprio quello che voglio fare! \":lol:\" Come posso fare? ---------------------------------------- AUTORE: 201 DATA :16/06/2005 - 13:35:35 ---------------------------------------- Ecco qui ho provato a fare una vi che scrive su un graph XY nel caso ti possa essere ustile. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 515 DATA :16/06/2005 - 13:52:34 ---------------------------------------- Grazie mille Blow!! \":)\" Mi hai aperto nuovi orizzonti! \":D\" Decisamente ti devo un favore! Mèt ---------------------------------------- ================================================================================ Inserimento programmatico di CONTROLLI su Front Panel ================================================================================ AUTORE: 515 DATA :16/06/2005 - 11:43:25 ---------------------------------------- Ciao a tutti. Avrei bisogno, se è possibile farlo, di un metodo per disporre sul front panel un numero di controlli (ad esempio, tasti booleani) non fisso ma variabile a seconda del numero di elementi di un vettore (tipicamente, le stringhe contenenti l'etichetta da dare al tasto tramite un property node). In pratica, vorrei poter fare un ciclo for con utoindexing di questo vettore di stringhe, che mi CREI (difficile) e disponga (facile) sul fornt panel tutti e soli i tasti che mi servono. E' necessario perchè non conosco il numero a priori. Prevengo la risposta: l'alternativa è metterne un numero fisso ridondato, e attivarli via property node, tenendoli altrimenti nascosti. Ma per una serie di motivi preferirei crearli dinamicamente. Qualcuno mi può dare un suggerimento? \":D\" ---------------------------------------- AUTORE: 4 DATA :16/06/2005 - 13:29:49 ---------------------------------------- ciao mèt diciamo che si può e non si può... mi spiego meglio: LabVIEW di per se NON permette di agire programmaticamente sul suo codice quindi niente creazioni di pulsanto \"al volo\" ma... in realtà esistono delle funzioni labview non ufficiali non supportate e non documentate dette di \"scripting\" che permettono di farlo a questo proposito ti rimando alla storica [url=http://www.ilvg.it/forum/viewtopic.php?t=271:2h5boav6]discussione[/url:2h5boav6] sul tema. Ti anticipo che quello che vuoi fare tu si può tranquillamente fare usando gli script ma non te lo consiglio per i motivi elencati prima e aggiungo perchè non vengono supportate nè autorizzate da NI questo vuol dire che se dai un sw con tali funzionalità a un cliente e questo sw gli fà esplodere il PC NI non ne sarà responsabile. A parte le battute attualmente vanno bene solo come esperimenti e per realizzare tool personali. Ciao, ---------------------------------------- AUTORE: 515 DATA :16/06/2005 - 13:32:29 ---------------------------------------- Ti ringrazio molto! \":D\" Mi orienterò verso un'altra soluzione. ---------------------------------------- ================================================================================ Ancora sulla seriale ================================================================================ AUTORE: 591 DATA :16/06/2005 - 14:05:54 ---------------------------------------- Scusa se vi pongo il solito quesito sulla gestione della seriale (rs232) tramite le visa. Devo interrogare un dispositivo tramite la rs232 ovvero invio una stringa e ne leggo la risposta. Il problema è che se vado troppo veloce nella scrittura/lettura il sistema mi va' in timeout. La questione che vi pongo e' la seguente: una volta scritto sulla seriale c'e' un modo per avviare la lettura da seriale non appena si presentano dati in uscita da essa (dal dispositivo)? Grazie anticipatamente per l'aiuto o per eventuali suggerimenti. ---------------------------------------- AUTORE: 4 DATA :16/06/2005 - 14:17:30 ---------------------------------------- si devi usare un property node collegandolo alla sessione visa e da chiamadolo prima della funzione di read. La proprietà da usare è 2Serial Settings>>Number of bytes at serial port\" Ciao, ---------------------------------------- ================================================================================ funzione cerca e sostituisci VI ================================================================================ AUTORE: 116 DATA :16/06/2005 - 15:34:21 ---------------------------------------- ciao ho la mano destra paralizzata (utilizzo sfrenato del mouse) \":cry:\" esiste la funzione cerca e sostituisci VI ? io non la trovo, e ho un casino di vi da sostituire se qualcuno conosce come fare mi farebbe un grande favore ciao Alberto \":?\" ---------------------------------------- AUTORE: 247 DATA :16/06/2005 - 19:07:57 ---------------------------------------- Ciao, è un metodo ortodosso ma funziona: Elimina il subVI che vuoi sostituire dalla cartella in cui si trova attualmente, alla riapertura del main in cui era contenuto come sub, LV ti chiede di cercarlo perchè non lo trova(attenzione a non avere \"in giro\" altri VI che hanno lo stesso nome di quello che vuoi sostituire altrimenti LV potrebbe relinkare il tutto sbagliando) e tu gli fornisci come nuovo riferimento il VI che vuoi sostituire a quello vecchio (ovviamente a patto che i connector pane siano identici!); fatto questo quando chiudi il main salvi ed il gioco è fatto. BYE. ---------------------------------------- AUTORE: 116 DATA :17/06/2005 - 07:21:40 ---------------------------------------- grazie apollon subito non ci avevo pensato hai toccato però una questione per me dolente di L.V., no ho mai capito perchè debba farsi tutti quei link che ti sballano tutto. certo è un modo per allegerire la cartella dove lavori, ma il più delle volte mi ha creato solo problemi ciao Alberto \":!:\" ---------------------------------------- AUTORE: 4 DATA :17/06/2005 - 08:07:52 ---------------------------------------- ma a quali link ti riferisci? è normale che un VI debba sapere che sub-VI chiamare e per farlo labview usa il nome assoluto dei VI. Ciao, ---------------------------------------- AUTORE: 660 DATA :17/06/2005 - 08:30:16 ---------------------------------------- E' vero, usa il nome assoluto, peccato che per lo meno nelle mie applicazioni sarebbe molto meglio poter usare quello relativo!!! \":cry:\" \":cry:\" Così ho dovuto realizzare un VI che mi restituisse il riferimento relativo, altrimenti ogni volta che spostavo i sorgenti da un pc ad un altro andava tutto a farsi benedire!!! \":cry:\" \":cry:\" ---------------------------------------- AUTORE: 116 DATA :17/06/2005 - 08:54:31 ---------------------------------------- Probabilmente non ho ancore capito bene. Ultimo problema successo: Stavo scrivendo un programma in 7.1 dove avevo preso e adattato dei VI da un altro prog. fatto in 6.1, tutto bene fino a quando non ho dovuto andare a modificare il vecchio prog. e ricompilarlo. Quando sono tornato in 7.1 e ho aperto l’ultimo codice, mi ha dato un sacco d’errori e precisamente uno per ogni sotto VI usato (quelli che avevo adattato precedentemente) perchè si è preso come riferimento quelli del 6.1. Ho dovuto risistemarli e rinominarli, ma immagina che erano VI di comunicazione modbus che ho usato senza parsimonia per andare ad interrogare la mia scheda da testare in più di 8 test e sostituirli non è stato così breve. Se sbaglio lavorare nell’ambiente lab accetto qualsiasi consiglio. Ciao Alberto ---------------------------------------- AUTORE: 4 DATA :17/06/2005 - 09:11:56 ---------------------------------------- queste cose sccedono quando si ha tutto il codice, cioè i singoli VI, sparsi un pò ovunque nel PC. Bisognerebbe sistemare TUTTI i VI propri o cmonunque non di librerie LabVIEW, sotto un unica cartella. Labview infatti cerca i riferimenti prima nella struttura di cartelle del progetto, poi nelle cartelle di LabVIEW (della versione che stai usando). Se per esempio ho una struttura tipo. [code:1s3c33ch]c: [nome_progetto] [comunicazione] [file] [acquisizione] main.vi[/code:1s3c33ch] e la cambio in [code:1s3c33ch]c: [nome_progetto] [binary] [comunicazione] [file] [acquisizione] main.vi[/code:1s3c33ch] Aprendo la funzione main.vi labview cercherà i riferimenti ai suoi sub-vi all'interno della cartella nome_progetto che è quella in cui si rtova il main.vi, ovviamente li troverà, a patto che non abbiano cambiato nome, e chiederà di salvare il main senza ulteriori perdite di tempo. Se ho invece i VI sparsi per il PC e voglio far girare il mio sw su un altro PC ci sono due 4 strade 1 creare sul secondo PC esattamente la struttura del primo PC (pessima soluzione) 2 copiare e relincare tutto a mano (terribile soluzione) 3 usare la funzione save with option > development distribution la quale è in grado di salvare TUTTI i vi usati da un main in una cartella o in una llb in modo che siano trasportabili (così già và meglio) 4 pensarci PRIMA e crearsi PRIMA di scrivere codice la struttura del prorprio progetto (soluzione migliore). ---------------------------------------- AUTORE: 116 DATA :17/06/2005 - 10:06:19 ---------------------------------------- questi sono buoni consigli! cercherò di tenerne conto nei prossimi lavori grazie Ale ciao Alberto ---------------------------------------- ================================================================================ filtraggio dati ================================================================================ AUTORE: 487 DATA :17/06/2005 - 11:00:10 ---------------------------------------- Ciao a tutti, ho un piccolo problema da risolvere e sono sicuro che qualcuno mi potrà dare una mano. Acquisisco dei dati che, per ragioni di rumore di fondo, devo mediare su un numero x di campioni (e fino a quà tutto bene). Il problema è che, oltre al rumore, ogni tanto mi ritrovo degli spike, sui segnali acquisiti, che entrando nel calcolo della media mi alterano completamente i valori. Chiaramente io ho bisogno il valor medio in tempo reale, cioè non posso acquisire per un certo periodo e poi filtrare il segnale acquisito, devo eliminare gli spike man mano che riesco ad identificarli. Grazie in anticipo per gli eventuali suggerimenti. ---------------------------------------- AUTORE: 596 DATA :17/06/2005 - 15:52:19 ---------------------------------------- beh se la frequenza se riesci ad identificare chiaramente gli spike puoi fare in modo che il vi che media i campioni semplicemente li ignori e restituisca il valore precedente della media, ma mi sembra un ipotesi un po' rischiosa. Perche non provi ad utilizzare qualche filtro passabasso un po' più evoluto FIR od IIR il labview ne trovi quanti ne vuoi prova ad esempio con Butterworth Filter PtByPt.vi ---------------------------------------- AUTORE: 487 DATA :20/06/2005 - 07:45:57 ---------------------------------------- Non credo di riuscire a risolvere il problema con un filtro passa basso per i seguenti motivi: 1 - gli spike potrebbero essere sia positivi che negativi 2 - gli spike disturbano le acquisizioni in maniera random 3 - a priori non conosco i valori massimi dei segnali acquisiti Qualche altro suggerimento? ---------------------------------------- AUTORE: 15 DATA :20/06/2005 - 11:04:04 ---------------------------------------- Se gli \"Spike\" sono indistinguibili dai segnali ...... non c'è nulla da fare Non è che magari gli spike si verificano in momenti particolari (ad esempio attivazione di un motore) e puoi smettere di acquisire in quel piccolo periodo di tempo? ---------------------------------------- AUTORE: 487 DATA :20/06/2005 - 12:42:22 ---------------------------------------- Gli spike non sono associabili ad alcun evento particolare, ma sono nettamente distinguibili dai segnali poichè presentano dei rapidi fronti di salita e dei valori di picco notevolmente superiori a quelli dei segnali. Preferirei fare un filtraggio via software, ma se non riesco a trovare una soluzione, cercherò di risolvere il problema in maniera hardware. ---------------------------------------- AUTORE: 4 DATA :20/06/2005 - 13:22:44 ---------------------------------------- sai quanto durano gli spike? potresti controllare il valore di 2 punti acquisiti in successione se il delta dei valori tra il primo e il secondo punto è superiore ad una certa soglia vuol dire che è uno spike quindi devi ignorare n punti successivi per saltare lo spike. oppure controllare il delta tra il valore medio e i punti acquisiti istante per istante e fare lo stesso ragionamento di sopra. Ciao, ---------------------------------------- AUTORE: 591 DATA :20/06/2005 - 13:50:45 ---------------------------------------- Forse potresti provare a mediare su un certo numero di punti in modo da compensare le anomalie. Ora francamente non ricordo esattamente che relazione c'e' tra il numero di punti mediati la frequenza di taglio del filtro comunque potresti usare un sistema simile a quello che ho proposto nel topic seguente viewtopic.php?t=862 Ti conviene fare varie prove cominciando da 5 pto per volta ed aumentando via via ---------------------------------------- AUTORE: 487 DATA :20/06/2005 - 15:26:39 ---------------------------------------- Ciao Ale914, in realtà ho già provato ad addottare i due accorgimenti che mi hai suggerito, ma non sono riuscito ad ottenere dei buoni risultati. Ciao pmorea, forse non mi sono spiegato bene all'inizio, ma io eseguo già una media scorrevole su un numero di acquisizioni che può variare tra 10 e 20. Malgrado questo gli spike, anche se attenuati rispetto al valore acquisito, mi alterano i dati in maniera sensibile. ---------------------------------------- AUTORE: 247 DATA :20/06/2005 - 17:05:28 ---------------------------------------- [quote="Ale914":1nsu58cl]potresti controllare il valore di 2 punti acquisiti in successione se il delta dei valori tra il primo e il secondo punto è superiore ad una certa soglia vuol dire che è uno spike quindi devi ignorare n punti successivi per saltare lo spike. [/quote:1nsu58cl] Ciao, concordo anch'io con questo metodo che sicuramente puoi raffinare quanto vuoi...cmq ti suggerisco non proprio di ignorare i campioni dello spike ma di sostituirli con altrettanti campioni ricavati da una adeguata ricostruzione dell'onda (dalla semplice interpolazione in su..) basata sui campioni antecedenti al riconoscimento dello spike e quelli successivi in modo da non perdere campioni sfalsando la media a causa dei buchi lasciati dai campioni di spike scartati ma di accettare l'errore, sicuramente minore, introdotto dalla ricostruzione. BYE. ---------------------------------------- AUTORE: 201 DATA :20/06/2005 - 20:32:45 ---------------------------------------- ma in un campione di 20 dati quanti spike ci sono di media? perchè se normalemnte ce n'è uno o due non basta che prima di fare la media elimini il valore + alto e quello + basso? ---------------------------------------- AUTORE: 201 DATA :20/06/2005 - 20:33:50 ---------------------------------------- mi sono reso conto di non sapere nemmeno di cosa si sta parlando scusate \":)\" ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 07:32:31 ---------------------------------------- Ciao Apollon, anch'io credevo che la strada giusta fosse quella che avete suggerito tu ed Ale, ma fino ad ora non sono ancora riuscito ad ottenere dei buoni risultati e non riesco a capire dove sbaglio. Per quanto riguarda il discorso di ricostruire la curva, utilizzando anche i dati dopo lo spike, non è possibile perchè ho bisogno di un valore istante per istante per poter effettuare altre operazioni (per esempio attivare degli allarmi). Adesso sto cercando di escludere gli spike e ricomporre i dati analizzando la curva della derivata prima dello spike: provo anche questa strada e se riesco a ricavarne qualcosa di buono vi farò sapere. Grazie. Ciao blow, il problema è che in un campione di 20 dati io non posso sapere a priori quanti spike ci possano essere: da nessuno ad un numero che statisticamente finora si è aggirato intorno a 3-4 spike. Comunque penso che ogni suggerimento, per quanto piccolo, possa accendere almeno una lampadina per tentare qualcosa di diverso, poichè adesso sono proprio al buio. Perciò se ti viene in mente qualcosaltro ti pregherei di farmelo sapere. Grazie. ---------------------------------------- AUTORE: 129 DATA :21/06/2005 - 08:24:45 ---------------------------------------- Sempre collegandomi a quanto suggerito da Ale914, prova questo esempio, ho inserito a titolo di esempio uno pseudo filtro, il concetto è piuttosto quello della struttura while che funziona come registro di memoria. ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 08:50:51 ---------------------------------------- Ciao Nicola, ho già provato ad adottare una soluzione concettualmente simile a quella che mi hai suggerito senza ottenere i risultati voluti. Secondo me la più grossa difficoltà risiede nel fatto che la forma d'onda che acquisisco varia a volte molto velocemente. Utilizzando un sistema come quello che mi hai suggerito ho la permanenza di un valore errato nel calcolo della media che mi sfalsa tutti i dati finchè non viene completamente ripulito il buffer dati su cui calcolo il valor medio. Se vuoi tentare qualche altro sistema, io ho simulato la mia acquisizione con una forma d'onda sinusoidale (attenzione che però la sinusoide non è la vera forma d'onda!!) alla quale ho sovrapposto in maniera random i famigerati spike. Grazie per l'aiuto. ---------------------------------------- AUTORE: 129 DATA :21/06/2005 - 09:25:08 ---------------------------------------- La velocità eè forse una barriera. puoi tentare una gestione di tipo array, per esempio prendendo spunto dal vi normalize nella palette waveform, ti allego un esempio adattato al precedente.. ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 10:08:08 ---------------------------------------- Non riesco a trovare la funzione \"Scale 1D Array\". Dove la posso recuperare in Labview 7.1? ---------------------------------------- AUTORE: 129 DATA :21/06/2005 - 11:09:50 ---------------------------------------- Palette waveform/normalize waveform.vi al suo interno.. ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 11:22:42 ---------------------------------------- Grazie. Ho trovato il vi ma il sistema non funziona ---------------------------------------- AUTORE: 129 DATA :21/06/2005 - 11:48:15 ---------------------------------------- Hai ragione, nel frattempo mi è venuto in mente che se riesci a farlo su una porzione di acquisizione puoi utilizzare questo. ---------------------------------------- AUTORE: 129 DATA :21/06/2005 - 12:05:59 ---------------------------------------- Forse è meglio usare i valori medi.. ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 12:42:41 ---------------------------------------- La media dei valori la uso già in maniera sistematica; ma quando ho la presenza di uno spike nei dati acquisiti, se da un lato il valore di picco viene attenuato dal calcolo della media, dall'altro mi produce uno sfalsamento dei dati che dura tanto di più quanto è più alta la differenza tra il vaolre medio dei dati ed il valore di picco dello spike ---------------------------------------- AUTORE: 591 DATA :21/06/2005 - 14:18:27 ---------------------------------------- ho letto che esiste un algoritmo di \"Savitzky-Golay\" che dovrebbe fare al caso tuo. Non so francamente se esiste gia' implementato in Labview. Facci sapere. ---------------------------------------- AUTORE: 591 DATA :21/06/2005 - 14:23:47 ---------------------------------------- Dai un po' una occhiata a questo. L'ho trovato sul forum della NI. ---------------------------------------- AUTORE: 487 DATA :21/06/2005 - 15:17:23 ---------------------------------------- Grazie, è un algoritmo molto interessante e abbastanza complicato. Dovrò studiarmelo un po' ma a prima vista direi che non riuscirò a usarlo per il mio attuale scopo perchè elabora le forme d'onda e non i singoli dati. Sicuramente mi tornerà utile per altre applicazioni. ---------------------------------------- AUTORE: 487 DATA :23/06/2005 - 11:35:35 ---------------------------------------- Rileggendo tutti i suggerimenti che mi avete dato, sono riuscito a trovare una possibile soluzione al mio problema; forse un po' arzigogolata, sicuramente ottimizzabile, ma dovrebbe funzionare. Grazie a tutti e scusate se vi ho fatto perdere così tanto tempo. PS: se qualcuno si dovesse aver le mie stesse problematiche, vi allego la bozza di risoluzione del problema. Grazie ancora. ---------------------------------------- AUTORE: 129 DATA :23/06/2005 - 11:40:19 ---------------------------------------- IL file zip dà problemi, non riesci a mettere direttamente la .llb? Grazie ---------------------------------------- AUTORE: 487 DATA :23/06/2005 - 12:38:59 ---------------------------------------- Per mettere direttamente la .llb devo ridurre le dimensionidel file. Io non ho problemi ad aprire lo zip, comunque cercherò di compattare l'esempio in maniera da non doverlo zippare. ---------------------------------------- AUTORE: 487 DATA :23/06/2005 - 13:17:01 ---------------------------------------- Ecco la nuova versione. ---------------------------------------- ================================================================================ Immagine JPeg ================================================================================ AUTORE: 341 DATA :17/06/2005 - 14:38:10 ---------------------------------------- Salve,riesco perfettamente a salvare un'immagine di un onda che appare sul Waveform graph, tramite \"write JPEG File\". Adesso mi chiedo se c'è un modo per salvare una parte dell'immagine,per esempio solo l'onda e non tutto il display. Poichè non mi sono saputo dare una risposta,chiedo a qualcuno più in gamba di me di darmela. Grazie. Vincenzo. ---------------------------------------- AUTORE: 15 DATA :20/06/2005 - 11:23:11 ---------------------------------------- Io ho smanettato un po con le funzioni relative alle immagini. Dovresti semplicemete estrarre un sottoinsieme della tua immagine prima di salvarla. Guarda functionpalette cerca Get Image Subset.vi. Ciao ---------------------------------------- ================================================================================ For Autoindexing Impossibile ================================================================================ AUTORE: 596 DATA :17/06/2005 - 16:05:58 ---------------------------------------- Ho un problema per il quale non trovo soluzione semplice. Cerchero di esprimerlo in due parole: - Ho un ciclo for che fa un numero noto di cicli, poniamo 3. - Dentro al ciclo c'è una funzione che ogni volta mi restituisce un array bidimensionale con un numero variabile di elementi. Vorrei ottenere i tre risultati in un unica variabile. L'autoindexing dei risultati che restituirebbe un array tridimensionale, non funziona come vorrei poichè le matrici non sono tutte della stessa dimensione. Per me sarebbe sufficiente ottenere un cluster di array, ma non trovo un modo semplice ed efficiente per ottenerlo. Idee? Ciao Riccardo Allego un vi con un esempio. ---------------------------------------- AUTORE: 247 DATA :17/06/2005 - 17:33:30 ---------------------------------------- Ciao, secondo me potresti tranquillamente utilizzare uno shift register e manipolarti i dati come vuoi per poi averli in uscita in un'unica variabile. BYE. P.S. Se non hai ancora scoperto l'esistenza dello shift register anche per i FOR loop non preoccuparti...anche io l'ho scoperta tardi!!! \":D\" \":D\" \":D\" ---------------------------------------- AUTORE: 596 DATA :20/06/2005 - 09:34:41 ---------------------------------------- Il mio problema non era tanto nell'utilizzo di shift register (che cmq gia conoscevo \":wink:\" ) , ma: - nel trovare un tipo di dato utile a trasportare l'informazione che mi serviva -nel far in modo che il ciclo for mi restituisse tale dato Forse non ho trovato il metodo più efficiente ma quello che allego è il più meglio \":)\" che ho trovato. Ciao, Riccardo Menichelli ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 14:52:51 ---------------------------------------- Ciao! In questi casi preferisco trasformare gli elementi in stringhe binarie, poi ci si può fare quello che si vuole: salvare, inviare tramite Tcp/ip, ecc. Inoltre ogni stringa mantiene l'informazione della dimensione originale dell'array 2D. Vedi tuo esempio modificato. Saluti, Alberto ---------------------------------------- ================================================================================ Apri file HTML ================================================================================ AUTORE: 680 DATA :17/06/2005 - 20:23:28 ---------------------------------------- Ciao, io voglio aprire un file HTML che è presente nella cartella di lavoro dove salvo il VI. Voglio che il file HTML venga aperto dal browser predefinito di sistema. grazie....... ciao ---------------------------------------- AUTORE: 247 DATA :18/06/2005 - 09:07:36 ---------------------------------------- Ciao, vai nella sezione download del sito, gli ultimi VI postati da stringola dovrebbero fare proprio al caso tuo! BYE. ---------------------------------------- ================================================================================ Unità di misura in micro secondi ================================================================================ AUTORE: 341 DATA :20/06/2005 - 11:02:07 ---------------------------------------- Salve, Un piccolissimo problema da porvi:come faccio a far scrivere la lettera greca micro in una stringa? Allego un piccolo esempio dal quale si nota il mio problema.Nonostante nella costante stringa vi sia la lettera greca il risultato ottenuto è la m.Perchè ??????????. Grazie. Vincenzo ---------------------------------------- AUTORE: 680 DATA :20/06/2005 - 12:14:18 ---------------------------------------- ciao se digiti il simbolo di micro come carattere ascii (alt+0181) te lo prende senza problemi......... (vedi allegato) ciao...... ---------------------------------------- AUTORE: 341 DATA :20/06/2005 - 14:08:06 ---------------------------------------- Grazie,sempre di estremo aiuto il forum. Vincenzo ---------------------------------------- ================================================================================ Versioni 7.0 e 7.1 ================================================================================ AUTORE: 368 DATA :20/06/2005 - 15:10:48 ---------------------------------------- Salve a tutti, ho una domanda fesca fresca \":D\" E' possibile in qualche modo aprire un file creato con la versione 7.1 con la pecedente versione 7.0? Ciao e grazie ---------------------------------------- AUTORE: 129 DATA :20/06/2005 - 16:07:22 ---------------------------------------- direi proprio di no. \":cry:\" ---------------------------------------- ================================================================================ derivata di un segnale ================================================================================ AUTORE: 591 DATA :21/06/2005 - 10:29:39 ---------------------------------------- Ho il seguente problema: ho campionato un segnale a passo regolare (ad esempio una sinusoide) e di questo segnale (ho la matrice) voglio farne la derivata. Il risultato dovrebbe, nel caso del seno, un coseno. Se applico il vi relativo alla derivata (derivative x(t) presente nella palette Analyze - Time Domain) ottengo un segnale un po troppo rumoroso. Ho provato nel sito NI ma non ho trovato nulla di concreto. Se qualcuno ha qualche dritta? Grazie ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 14:38:33 ---------------------------------------- Molto probabilmente hai del rumore che 'sporca' il calcolo della derivata. Primo del calcolo devi applicare un filtro (non dovrebbe essere difficile visto che si parla di un segnale sinusoidale) per togliere il rumore. Altro consiglio: prova ad incrementare il ritmo di campionamento del segnale; maggiore è il numero di punti, migliore è il calcolo derivativo. ---------------------------------------- ================================================================================ Utilizzo del canale di trigger !!! ================================================================================ AUTORE: 624 DATA :21/06/2005 - 16:54:51 ---------------------------------------- Ciao, ho un piccolo problemino riguardante l'utilizzo dei canali di trigger di una scheda NI DAQ 6024E. In pratica con la mia scheda acquisisco un segnale (una tensione) su un canale analogico, allo stesso tempo voglio abilitare la acquisizione mediante un segnale di trigger esterno. Come posso applicare questo segnale di trigger alla scheda? Resto in attesa di una vostra risposta. Saluti. Andrea ---------------------------------------- AUTORE: 235 DATA :23/06/2005 - 15:52:08 ---------------------------------------- Guarda negli esempi di LabVIEW: Acq&Graph Voltage-Int Clk-Dig Start.vi Per l' Hardware puoi collegare il segnale (digitale) di start trigger al pin PFI0 per esempio. Bye P. ---------------------------------------- ================================================================================ No Administrator? No DAQ Assistant express VI ================================================================================ AUTORE: 714 DATA :22/06/2005 - 12:17:12 ---------------------------------------- Un cordiale saluto a tutti, in particolare all'amico Pallaz. Una cosa che mi è capitata recentemente: con OS Microsoft XP Home Edition, in Labview 7.1: se non sei administrator non puoi configurare l'express VI \"DAQ Assistant\". Possibili soluzioni? - Entrare come administrator \":wink:\" oppure - Usare i blocchetti DAQmx Ciao G. ---------------------------------------- ================================================================================ grafici con Excel ================================================================================ AUTORE: 509 DATA :23/06/2005 - 11:59:52 ---------------------------------------- Ciao, Ho un problema per far dialogare labview7.1 con Excel, vorrei creare da un array bidimensionale un grafico XY in excel e inserirlo come nuovo foglio e non come oggetto al suo interno. Non uso un template già fatto perchè le dimensioni dell’arrey sono variabili. Ho provato con NI toolset (tool kit) ma non si può fare. Potete indicarmi le proprietà che vanno usate per creare un grafico come un foglio? Grazie ---------------------------------------- AUTORE: 235 DATA :23/06/2005 - 16:06:26 ---------------------------------------- Forse non ho capito bene...però...provo.... crei un nuovo worksheet di Excel (Excel Add Worksheet.vi) e poi ci metti dentro il grafico (tipo il VI che trovi negli esempi di LV). Bye P. ---------------------------------------- AUTORE: 235 DATA :23/06/2005 - 16:21:09 ---------------------------------------- A scusa o capito cosa intendevi.... in due parole non è banale... si deve giocare con i property/invoke node labview dell'oggetto woorkbook di excel.... in VisualBasic appare così: ActiveChart.Location Where:=xlLocationAsNewSheet dell'oggetto activeChart si usa la proprietà location. Spero possa esserti utile per iniziare. Bye P. ---------------------------------------- AUTORE: 235 DATA :23/06/2005 - 16:31:40 ---------------------------------------- Alcuni blocchi li puoi prendere dall'esempio LV : \"Excel Macro Example.vi\" poi con property e invoke node strai quello che ti serve... direi che è un buon inizio \":lol:\" ... buon lavoro bye P. ---------------------------------------- AUTORE: 509 DATA :23/06/2005 - 16:38:28 ---------------------------------------- Ciao, grazie per il consiglio ci sto provando ma mi risulta abbastanza complicato, perchè non ho esperienza con le proprietà di LV. Giorgino ---------------------------------------- ================================================================================ isteresi ================================================================================ AUTORE: 680 DATA :24/06/2005 - 21:10:04 ---------------------------------------- Ciao, io ho il seguente problema (magari è cavolata ma mi sta tormentando...): io ho due numeri A e B; quando il valore di A supera il valore di B deve accendersi un led; quando il led è acceso, per spegnersi bisogna che il valore di B+2 sia uguale o maggiore al valore di A; spero di essere stato chiaro.... grazie mille in ogni caso.... ---------------------------------------- AUTORE: 129 DATA :25/06/2005 - 06:44:57 ---------------------------------------- Piu o meno una cosa così? ---------------------------------------- AUTORE: 680 DATA :25/06/2005 - 06:58:29 ---------------------------------------- + o - si.... anche se non riesco a capire perchè se io lo eseguo continuamente con determinati valori il led lampeggia!!! ciao, grazie mille... ---------------------------------------- AUTORE: 201 DATA :27/06/2005 - 21:48:20 ---------------------------------------- Ciao, non può funzionare una isteresi in quel modo xkè è concettualmente sbagliata. Te dici: Se A>B allora ON Se ON e se A<B+2 allora off Con un semplice ragionamento si capisce che partendo con un A<B e aumentandolo poco a poco fino a che A>B (di una sola unità) sono verificate entrambe infatti se A>B con A-B=1 allora anche A<B+2 è vera. Esempio numerico: A=4 B=3 A>B SI! A<B+2 Si! In poche parole hai lo stato di on e off insieme, impossibile. Forse te volevi dire: A>B allora ON A<B-2 allora OFF In questo modo si ha una vera isterisi. Ecco come sarebbe una isteresi. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 680 DATA :29/06/2005 - 12:09:33 ---------------------------------------- certamente, hai ragione, ho sbagliato il ragionamento. cmq era proprio quella che mi serviva, grazie mille..... ---------------------------------------- ================================================================================ Creazione immagini ================================================================================ AUTORE: 341 DATA :25/06/2005 - 22:13:38 ---------------------------------------- Salve,ho notato che Labview è come le ciliege,più ne mangi e più ne vuoi... Questa volta il problema che vi sottopongo è il seguente: vorrei creare una immagine in scala di grigi a partire da una matrice bidimensionale di valori acquisiti.In effetti,considerata una colonna di valori della matrice,vorrei assegnare il colore nero al valore massimo della colonna e il colore bianco al valore minimo.Poi a tutti i valori intermedi dovrei assegnare le sfumature di grigi. Credo che la cosa sia abbastanza complessa,ma vorrei tentare. Confido nell'aiuto di qualcuno. Garzie. Vincenzo. ---------------------------------------- AUTORE: 201 DATA :27/06/2005 - 21:53:56 ---------------------------------------- Non ho capito...te hai una matrice bidemensionale, quindi di n colonne e n righe. Considerando le colonne, te vorresti fare un'immagine x ogni colonna, graduata, con il nero dove hai il valore massimo e il bianco dove hai il minimo? metti caso che hai una colonna così: 5 3 1 0 9 2 4 avresti il bianco e il nero vicino, poi altri colori in scala di grigi corrispondenti ai numeri?è questo che vuoi? ---------------------------------------- AUTORE: 341 DATA :28/06/2005 - 08:32:52 ---------------------------------------- Ciao blow, in effetti ho un vettore monodimensionale di 1040 righe,ottenute da un'acquisizione di segnali.Vorrei creare una immagine da questi 1040 valori assegnando il colore nero al valore massimo e il bianco al valore minimo,e di conseguenza tutti i livelli di grigi intermedi ai restanti 1038 valori. Spero di essere stato più preciso adesso,al fine di avere un tuo aiuto. Grazie. Vincenzo ---------------------------------------- AUTORE: 201 DATA :28/06/2005 - 11:44:55 ---------------------------------------- Si, ma quello che ancora non capisco è come deve essere questa immagine, tanti rettangoli impilati? qualcosa del genere? [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 341 DATA :28/06/2005 - 12:09:25 ---------------------------------------- Ciao, questo sinceramente è un particolare che non mi sono posto.Forse assegnando un punto ad ogni valore,oppure un micro rettangolo. Vincenzo ---------------------------------------- AUTORE: 201 DATA :28/06/2005 - 12:45:36 ---------------------------------------- eh ma è la cosa più importante, altrimenti come posso aiutarti se non so il fine che vuoi ottenere? ---------------------------------------- AUTORE: 201 DATA :28/06/2005 - 12:47:31 ---------------------------------------- cmq devi sapere che le possibili tonalità di grigio, compreso il nero e il bianco, sono al massimo 255. Quindi se assegni a 1040 valori una tonalità, ne hai sicuramente delle ripetute. ---------------------------------------- AUTORE: 341 DATA :28/06/2005 - 14:18:38 ---------------------------------------- Ciao Blow, pian piano riuscirò a spiegarmi. Io ottengo un vettore di dimensione 1040. I valori numerici contenuti in ogni cella del vettore sono compresi in un intervallo [-100,100],(volendo anche [0,200]. In pratica considera un'onda acquisita su schermo la quale è generata da un vettore di 1040 elementi.All'interno di ogni elemento vi è un numero appartenente all'intervallo [-100,100]. Si potrebbe assegnare al numero -100 il colore bianco e al numero 100 il valore nero,mentre ai restanti numeri interi (dunque anche se decimali basterebbe considerarne il relativo valore intero più prossimo) le gradazione di grigio intermedie. Per ciò che riguarda le dimensioni,ad ogni numero un punto di colore. Vincenzo ---------------------------------------- AUTORE: 201 DATA :28/06/2005 - 14:32:38 ---------------------------------------- ok ho capito, e i punti di colore come devono essere inseriti nell'immagine? in fila orizzontale, verticale, seguire l'onda, devi dire tutto \":D\" dai ke pian piano ne veniamo a capo \";)\" ---------------------------------------- AUTORE: 341 DATA :28/06/2005 - 14:44:05 ---------------------------------------- Giusta osservazione:i punti di colore devono essere inseriti nell'immagine in fila orizzontale. Vincenzo ---------------------------------------- AUTORE: 201 DATA :28/06/2005 - 15:34:14 ---------------------------------------- allora ho creato una vi che spero ti possa essere utili. E' generica ma comunque penso che puoi estarre poi tu i pezzi di codice che ti possono interessare. permette di disgenare l'onda che ti ricevi in ingresso, in scala di grigi a seconda dei valori, oppure disegnare una linea orizzaontale o verticale sempre in scala di grigi a seconda dei valori. [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 341 DATA :28/06/2005 - 16:07:00 ---------------------------------------- Ti ringrazio moltissimo.Adesso inizierò a studiarlo e poi ti farò sapere. Vincenzo ---------------------------------------- ================================================================================ comunicazione TCP/IP ================================================================================ AUTORE: 722 DATA :27/06/2005 - 09:24:27 ---------------------------------------- \":oops:\" Ciao a tutti. Premetto che so veramente poco di labview e che per motivi di lavoro devo riuscire a far comunicare due pc e un field point attraverso TCP/IP . in pratica ho due reti ethernet distinte una per la comunicazione tra i due pc e l'altra per l'acquisizione dati da field point a pc. potete darmi qualche dritta sia per quanto riguarda la comunicazione tcp/ip che per l'acquisizione dati? nel frattempo ho dei manuali da leggere ma spero di poter contare su di voi! grazie ---------------------------------------- AUTORE: 278 DATA :27/06/2005 - 15:31:35 ---------------------------------------- Ciao e benvenuto nel forum! Nemmeno io sono un grande esperto di comunicazione tcp-ip ma navigando sul sito della NI ho trovato un \"tutorial\" davvero interessante, con esempi di codice e architettura client-server ecco il link http://zone.ni.com/devzone/conceptd.nsf ... 170079411E ci sono anche delle librerie di esempio scaricabili qui: http://sine.ni.com/apps/we/niepd_web_di ... &p_source= Puo` essere lo spunto anche per me per imparare qualcosa di nuovo.. \":wink:\" Ciao Ciao ---------------------------------------- AUTORE: 722 DATA :27/06/2005 - 16:12:33 ---------------------------------------- Grazie mille. mi saranno sicuramente utili. ti farò sapere ciao \":D\" ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 14:15:02 ---------------------------------------- Ciao! In termini generali la comunicazione Tcp/Ip è veloce ed affidabile; tuttavia, visto che le funzioni sono a basso livello, richiede un pò di pratica. Ti consiglio di analizzare gli esempi di LabVIEW. L'esempio del link di esodar è molto interessante per trasmettere facilmente dati di natura diversa. Tuttavia il problema che ho sempre visto in questi esempi è che richiedono che il server venga avviato prima del client; diversamente il client genera un errore di connessione e il tentativo si blocca. Nella mia esperienza questo è un grosso limite: come faccio sapere a priori dal lato client che il server è già attivo? Il problema può essere risolto con la vi allegata, è l'esempio di LV Simple Data Client.vi modificata in modo che resti indefinitivamente in attesa del server specificato, quindi inizia ad acquisire i dati. Utilizzare come server la vi Simple Data Server.vi che si trova negli esempi Tcp/Ip di LV. Se la tua necessità è inoltre quella di mandare i dati a più clinet contemporaneamente, ti consiglio di dare un occhio anche all'esempio: Multiple Connections - Server.vi ; la tecnica utilizzata è molto interessante. Spero di esserti stato utile! Alberto ---------------------------------------- ================================================================================ AIUTO con "Write Traces to Spreadsheet File" ================================================================================ AUTORE: 673 DATA :27/06/2005 - 13:36:08 ---------------------------------------- Ciao a tutti, mi serve gentilmente un aiuto. Sto realizzando un sistema di supervisione e devo salvare i dati ricevuti in un file excel. Mi è stato suggerito di utilizzare il vi \"Write Traces to Spreadsheet File\" ma, essendo poco pratico, non so come utilizzarlo o meglio non riesco a realizzare le indicazioni che sono scritte sull' On-line Help. Ho allegato il vi che ho incominiciato a creare per salvare i dati e dove nel diagramma a blocchi ho inserito alcuni ingressi al Write Traces to Spreadsheet File. Vorrei realizzare il campo \"trace information\" ma non ho idea di come farlo, in particolare non trovo quelle icone colorate a cui seguono le relative spiegazioni. Qualcuno mi potrebbe mostrare come realizzare quella parte? Chiedo scusa se ad alcuni la cosa sembra banale e stupida. Grazie ---------------------------------------- ================================================================================ Problema con "Write Traces to Spreadsheet File" ================================================================================ AUTORE: 673 DATA :28/06/2005 - 15:37:37 ---------------------------------------- Ciao a tutti, ripropongo il mio problema: devo salvare dei dati che ricevo dal mio sistema di supervisione e per farlo uso il \"Write Traces to Spreadsheet File\". Sono riuscito a fare qualche passo avanti ma mi viene segnalato un errore che non riesco a correggere. In allegato ho messo il vi che ho fatto. Inoltre, con i due timestamps (start e stop) posso decidere da che data e ora voglio il salvataggio dei dati su file excel? ---------------------------------------- AUTORE: 251 DATA :08/07/2005 - 10:29:24 ---------------------------------------- ti riporto in allegato il file corretto. Si trattava di mettere nell'ordine corretto i componenti dei cluster. Per decidere quando salvare su XLS, fai un controllo sul valore dell'ora e abilita il salvataggio solo se le condizioni si verificano. Ciao ---------------------------------------- AUTORE: 673 DATA :08/07/2005 - 11:22:56 ---------------------------------------- Ti ringrazio molto per la correzione, non avevo tenuto conto dell'ordine. Grazie ancora, Massimo ---------------------------------------- ================================================================================ Sull'uso e le caratteristiche di Wait (ms) in LV 6.1 ================================================================================ AUTORE: 692 DATA :29/06/2005 - 09:32:03 ---------------------------------------- Ciao a tutti, sono di nuovo io... Stavolta con una situazione un po' piu' complicata temo \":-)\" Come (spero) potrete vedere nel VI allegato (e' roba per la mia tesi, abbiate pieta') sto usando un Wait (ms) che aspetta un multiplo intero di 100 ms prima di eseguire un'operazione (abbastanza complicata) di lettura di byte dalla porta seriale e successiva elaborazione. Lo scopo finale e' quello di ottenere la lettura dell'inclinazione di un oggetto, presa da un accelerometro integrato. Sostanzialmente parte tutto dalla lettura di una stringa di dati, che inizia con le lettere \"st\": se queste sono presenti, viene letta una stringa complessiva di 6 byte. Siccome, potete notarlo da voi, dopo aver effettuato la lettura ci sono diverse operazioni da compiere, e' evidente che a priori non so se l'intera operazione di: lettura della stringa di dati, elaborazione delle accelerazioni e calcolo delle inclinazioni, e stampa a video in forma numerica e grafica, possa essere eseguita in meno di 1/10 di secondo (che e' il limite attuale che ho imposto, ma in realta' dovra' essere ulteriormente abbassato per l'applicazione da sviluppare!). Quindi, viene fuori la domanda: Come si comporta Wait (ms) in LV 6.1? Voglio dire, manda un impulso ogni tot msecondi a prescindere da tutto il resto o aspetta che l'operazione venga completata, eventualmente evitando di mandare un impulso e aspettando il successivo multiplo di millisecondi impostato? La seconda soluzione sarebbe veramente bella (tipo semaforo per i sistemi operativi), perche' potremmo capire se e quando si perde un impulso per poter poi effettuare un'analisi spettrale in modo affidabile. In caso contrario potremmo avere problemi piuttosto seri... Spero di essermi spiegato abbastanza!!! Grazie a tutti in anticipo. Mentore PS Il VI e' compresso perche' comincia a essere grandicello \":-)\" ---------------------------------------- AUTORE: 201 DATA :29/06/2005 - 09:44:54 ---------------------------------------- Wait ms prima di eseguire un ciclo, quindi tra un ciclo e l'altro, aspetta il tempo da te indicato. Quindi come tempo totale di ciclo te avrai il tuo tempo naturale che impiega a ciclare, + il tempo di wait. ---------------------------------------- AUTORE: 692 DATA :29/06/2005 - 10:29:26 ---------------------------------------- Ciao Blow, grazie per la risposta rapidissima. Pero', dato che sono duro di comprendonio, mi tocca chiederti una precisazione. Se ho letto bene la tua risposta, Wait (ms) aspetta il tempo complessivo dell'operazione eseguita DOPO che ha mandato l'impulso, PIU' il tempo specificato al suo ingresso. Questo significherebbe che, per esempio, se la mia operazione impiegasse tipo 35 ms, e gli avessi impostato un ritardo di 100 ms, il tempo tra un impulso e il successivo sarebbe di 135 ms, dico bene? (Se fosse cosi', sarebbe necessario introdurre un meccanismo per la lettura dei tempi, in modo da poter fare un'analisi spettrale corretta.) Mi ricordo dall'incomprensibile help in linea, che Wait e' asincrono: questo non dovrebbe significare che wait, piuttosto che aspettare, manda i suoi impulsi senza curarsi del resto del mondo, aspettando rigorosamente il tempo specificato? E' proprio per questa cripticita' dell'aiuto in linea che sono bloccato \":-(\" Grazie ancora!! Mentore ---------------------------------------- AUTORE: 201 DATA :29/06/2005 - 11:46:47 ---------------------------------------- Ciao, allora ho fatto alcune prove e sembra che in effetti Wait(ms) aspetti il tempo desiderato SOLO se il tempo che impiegherebbe a ciclare sia effettivamente inveriore al tempo di attesa del Wait. Io nn ho labview 6.1 quindi ti posto l'immagine del codice, prova a riprodurlo e vedrai che settando il tempo del wait inferiore a quello di esecuzione, il tempo tot non sarà influenzato, mentre invece se setti un tempo di wait superiore, il tempo tot è quello settato nel Wait. Non so se mi sn spiegato cmq prova \":)\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 692 DATA :30/06/2005 - 11:23:40 ---------------------------------------- Dunque, come avevo immaginato, wait (ms) e' proprio asincrono nel senso che spedisce un tick indipendentemente da quanto gli accade intorno. A dire il vero ci avevo gia' pensato prima, ma tutto sommato e' meglio cosi' per la mia applicazione: ora si tratta solamente di sapere quanti tick vengono persi e quando, in modo da poter fare una FFT o qualche altro tipo di trasformata, sapendo come distribuire i dati. A proposito, dato che comunque con LV sono alle prime armi, come ti e' sembrato il VI? \";-)\" Grazie ancora di tutto. Mentore ---------------------------------------- AUTORE: 4 DATA :30/06/2005 - 11:27:06 ---------------------------------------- Se hai bisogno di un timer sincrono devi usare la funzione [b:1jfkuwr3]wait until next ms multiple[/b:1jfkuwr3] Ciao, ---------------------------------------- ================================================================================ curioso errore di parallelismo ================================================================================ AUTORE: 515 DATA :30/06/2005 - 13:09:34 ---------------------------------------- Sto usando quattro cicli paralleli che misurano (tutto su FPGA compactRio) sostanzialmente degli intervalli di tempo, leggendo dei timestamps una volta che valori lerri in analog input superano o scendono sotto una certa soglia. I quattro segnali sono cortocircuitati, e sono certo della precisione. Tuttavia i 4 cicli paralleli non solo rilevano dei valori non corretti (errore del 10% circa, fisso) ma addirittura rilevano tempi DIVERSI, pur essendo lo tesso segnale. Un ciclo, da solo, funziona perfettamente.... 4 cicli while in parallelo, sull'FPGA, dovrebbero essere effettivamente in parallelo, e girare indisturbati... Mi stavo chiedendo se accessi (letture) concorrenti e concomitanti al timer dell'FPGA siano alla causa del problema, ma perchè poi dovrebbero esserlo? Qualcuno ha già avuto lo stesso problema? \":cry:\" grazie e un saluto a tutti Mèt ---------------------------------------- AUTORE: 235 DATA :05/07/2005 - 13:10:58 ---------------------------------------- Sarebbe interessante capire meglio come è il VI. O, se i cicli sono identici, vedere come è fatto un ciclo. Il problema potrebbe essere dovuto anche all'arbitraggio per accedere alle risorse di AI, o anche a un non sincronismo dei cicli. Bye P. ---------------------------------------- AUTORE: 515 DATA :06/07/2005 - 09:46:21 ---------------------------------------- in realtà il problema è HW: i moduli di analog input della National (specie il 9201) hanno 8 ingressi multiplexati sull'ADC, quindi i ritardi introducono gli errori di misurazione. D'altro canto, usando un modulo non mux, avrei altri ritardi dovuti ad altre problematiche (sharing del bus del CompactRio, ad esempio) quindi l'unico modo per fare delle misurazioni multicanali MOLTO precise (2 uS o poco più di errore massimo) sarebbe di usare 1 modulo di ingresso per ogni input... e questo, per ragioni di disponibilità slot e di costi, è ovviamente ridicolo. Spero che la risposta serva a qualcuno... \";)\" io ci ho perso due giorni... trovando poi conferma con il servizio di assistenza... Mèt ---------------------------------------- ================================================================================ Secondo voi come funziona? ================================================================================ AUTORE: 201 DATA :30/06/2005 - 15:51:42 ---------------------------------------- Ciao! Ho realizzato questa vi, vediamo chi di voi per primo intuisce il funzionamento!!! \":D\" \":wink:\" [Vi rimosso a seguito della richiesta dell'utente - ILVG STAFF -] ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 14:29:42 ---------------------------------------- Hmmm secondo me vai ad agire sulla pixmap (array 2D del contenuto numerico dell'immagine), sostituendo delle porzioni con altre predefinite... Che dici? ---------------------------------------- AUTORE: 201 DATA :01/07/2005 - 14:44:25 ---------------------------------------- No no \"8)\" \":wink:\" ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 15:00:41 ---------------------------------------- Ci riprovo: la tua vi continua a disegnare 27 linee multiple con le funzioni: Draw Multiple Lines.vi, gli end-points sono pre-determinati. Poi vai a modificare il colore da nero a bianco per renderle invisibili. Va meglio? ---------------------------------------- AUTORE: 201 DATA :01/07/2005 - 15:11:46 ---------------------------------------- No No + semplice ---------------------------------------- AUTORE: 201 DATA :01/07/2005 - 15:46:24 ---------------------------------------- ma xkè 27 linee? e xkè parli di porzioni predefinite? hai provato a cancellare e a riscriverci vero? \":D\" ---------------------------------------- AUTORE: 113 DATA :01/07/2005 - 15:57:15 ---------------------------------------- Che pollo che sono \":twisted:\" ! Non ci avevo neanche provato a cliccarci sopra... \":P\" ---------------------------------------- ================================================================================ manule lv ================================================================================ AUTORE: 729 DATA :02/07/2005 - 10:52:29 ---------------------------------------- Salve a tutti sto iniziando a conoscere il labview e vi chiedevo se potevate indicarmi dei buoni manuali preferibilmente in italiano. Grazie mille a tutti ---------------------------------------- AUTORE: 247 DATA :04/07/2005 - 22:34:17 ---------------------------------------- Ciao, prova a spulciare i vecchi post con la funzione ricerca, abbiamo dato consigli sul materiale LV(manuali ed altro) più di una volta. I più recenti sono questi: [url=http://www.ilvg.it/forum/viewtopic.php?t=832&start=0&postdays=0&postorder=asc&highlight=:2ngxs0wg]Manuale Labview 7[/url:2ngxs0wg](libri consigliati) [url=http://www.ilvg.it/forum/viewtopic.php?t=830&start=0&postdays=0&postorder=asc&highlight=:2ngxs0wg]Ricerca guida[/url:2ngxs0wg](guida contenuta in un sito web in inglese) Anche cercando cmq troverai veramente poco materiale in italiano... BYE. ---------------------------------------- ================================================================================ Comunicazione Matlab-LabView ================================================================================ AUTORE: 715 DATA :02/07/2005 - 15:40:34 ---------------------------------------- Ciao a tutti! Ho un programma che permette di comandare da PC l'analizzatore di spettro, acquisisce le misure, fa i file, etc. Per fare il post processing, ho realizzato uno script matlab, che funziona correttamente ma, una volta inserito nel programma LabView, mi dà l'errore che trovate nel file .txt allegato. In ingresso al blocco con lo script di matlab ho delle stringhe, per questo non so bene che errore sia. Ogni volta che lo faccio girare appare questo errore, e non so, anche alla luce delle istruzioni che mi dà la finestra, come correggerlo. Se necessario, posso mandare poi anche il file .vi. Ringrazio in anticipo tutti quelli che mi risponderanno. Raffo ---------------------------------------- AUTORE: 251 DATA :08/07/2005 - 10:18:56 ---------------------------------------- ...non ho matlab sulla mia macchina e quindi e' un po' difficile. Provo a sparare: prova a modificare le impostazioni internazionali della tua macchina e portale a US (Locale, currency, decimal separator, ecc..). Se non risolvi, prova a postare qui il VI con il .m e vediamo di capirci qualcosa di piu'. Ciao ---------------------------------------- ================================================================================ Pseudo motore grafico ================================================================================ AUTORE: 201 DATA :03/07/2005 - 22:28:13 ---------------------------------------- Ragazzi sto cercando di realizzare qualcosa che assomigli ad un motore grafico per labview. Per ora ho realizzato l'algoritmo che muove un quadrilatero nello spazio, per testarlo bene ho realizzato un pendolo. Ditemi che ne pensate...sperando che funzioni! \":)\" ---------------------------------------- AUTORE: 680 DATA :04/07/2005 - 20:08:29 ---------------------------------------- scusate la domanda, ma ilvg, non è nato rispettando la licenza gnu? se così fosse perchè certe persone mettono i propri programmi protettti da password? (forse per vantarsi??) ciao e grazie,... ---------------------------------------- AUTORE: 247 DATA :04/07/2005 - 22:24:02 ---------------------------------------- Ciao, ho dato un'occhiata anch'io ai VI e appena ho visto i sub con PSW non ho certo gioito...anzi...°°è*çèçè?=\"=%?\"=%&!!! Cmq blow chiede semplicemente un parere(presunti vanti a parte...): [quote="blow":1u2nd90r]Ditemi che ne pensate...[/quote:1u2nd90r] e null'altro. Sicuramente un progetto in ILVG non potrà mai nascere da questi interessanti VI se rimangono con password! ...Alla prossima e speriamo che blow accolga l'appello a sganciare i sub incriminati se li ha fatti lui e quindi ha il codice! BYE. ---------------------------------------- AUTORE: 201 DATA :04/07/2005 - 23:00:01 ---------------------------------------- [quote="linux120":1hhhlhii]scusate la domanda, ma ilvg, non è nato rispettando la licenza gnu? se così fosse perchè certe persone mettono i propri programmi protettti da password? (forse per vantarsi??) ciao e grazie,...[/quote:1hhhlhii] Si è per vantarsi ---------------------------------------- AUTORE: 278 DATA :05/07/2005 - 18:56:00 ---------------------------------------- BELLO! \":o\" \":o\" Complimenti all'autore..... Anche se, come altri, avrei preferito approfondire il codice..... Niente di fantascentifico comunque,almeno per quello che si può apprezzare dal block diagram, sicuramente il cuore del sistema sono i subvi con la password..... Faresti indubbiamente un figurone se permettessi a noi comuni mortali di accedere a tali conoscenze, per il bene della comunità s'intende!!! \":wink:\" Ciao e a presto! P.S confido nel tuo spirito comunitario \":lol:\" \":lol:\" ---------------------------------------- ================================================================================ precisione 16-24 bit ================================================================================ AUTORE: 498 DATA :06/07/2005 - 19:45:39 ---------------------------------------- ciao a tutti, quando si parla di ingressi di una scheda con precisione 16-24 bit,vorrei sapere di preciso quanti numeri ho dopo la virgola nella lettura di una misura sia a 16 che a 24 bit. ---------------------------------------- AUTORE: 680 DATA :07/07/2005 - 08:07:26 ---------------------------------------- dipende dal segnale che poni in ingresso. per esempio, se usi un adc 16 bit, con un range da 0 a 5V, il valore di tensione minimo che può essere letto è: 5/(2^16)= 76,3 µV ciao.... ---------------------------------------- AUTORE: 1165 DATA :06/02/2007 - 19:42:20 ---------------------------------------- Con 16 bit hai 65536 combinazioni, col che puoi dire che hai 4 cifre e mezzo di precisione (cifre significative), cosicchè se la virgola la metti dopo la prima mezza cifra (da 0 a 6) ti restano altre quattro cifre di precisione. Analogamente con 24 bit hai circa 16000000 milioni di combinazioni e quindi circa sette cifre significative. ---------------------------------------- ================================================================================ APRIRE UN FILE ================================================================================ AUTORE: 673 DATA :07/07/2005 - 15:50:05 ---------------------------------------- Ciao a tutti, volevo chiedere un'informazione. Vorrei creare un VI tale che, una volta premuto un tasto, mi apra un file Excel. Ho provato ad usare l' \"Open File\" specificando tutta la directory in cui si trova questo file Excel ma, anzichè aprirlo, apre la directory (o la cartella) in cui è contenuto. Qualcuno mi sa dare un'informazione? Grazie ---------------------------------------- AUTORE: 247 DATA :07/07/2005 - 16:02:40 ---------------------------------------- Ciao, prova a scaricarti i VI di stringola \"Run application\" dalla sezione Download di questo sito, dovrebbero fare quello che ti serve. BYE. ---------------------------------------- AUTORE: 673 DATA :08/07/2005 - 11:24:01 ---------------------------------------- Ok, ti ringrazio. Scaricato e funziona. Massimo ---------------------------------------- ================================================================================ Gestione di una rete ================================================================================ AUTORE: 671 DATA :08/07/2005 - 02:11:00 ---------------------------------------- Ciao a tutti sono nuovo sia del forum che di labview l'ho usato solo qualche ora durante un corso all'università (ciao Apollon \":D\") e sono bello impedito \":P\". Veniamo a noi, volevo chiedervi non conoscendo ancora le potenzialità di questo programma se sarebbe possibile gestire una rete di PC tramite una postazione centrale, per gestire intendo, visualizzazione di errori, gestione della macchina (reboot, shutdown, accendere o spegnere demoni, ecc..) una sorta di console remota che va a bottoni pero' con relativi allarmi e automatismi (es rivelo una intrusione o un errore critico in una macchina, labview interviene e a seconda dell'errore prende una decisione, spegnere il servizio, riavviare la macchina o spegnerla, ecc..) Da quel che ho capito labview gestisce il traffico TCP/IP giusto? quindi se mando e ricevo determitate stringhe dovrei riuscire a combinare qualche cosa o no? altra cosa è possibile appoggiarci sopra pure ssh magari? \":D\" thx Ciao ---------------------------------------- AUTORE: 247 DATA :13/07/2005 - 13:23:06 ---------------------------------------- Ciao, probabilmente non hai ancora ricevuto risposta semplicemente perchè hai chiamato LabVIEW \"programma\" \":x\" \":x\" anzichè \"LINGUAGGIO DI PROGRAMMAZIONE\" (...polemica di [url=http://www.ilvg.it/forum/viewtopic.php?t=805&start=0&postdays=0&postorder=asc&highlight=:3sy3k98e]\"LabVIEW è un linguaggio di programmazione?\"[/url:3sy3k98e]...) ..A parte questo caloroso \":D\" \"benvenuto\" \":D\", con LV ti confermo che puoi realizzare comunicazioni utilizzando il protocollo TCP/IP e quindi realizzare qualsiasi tipo di console remota, e anzi LV mette a disposizione molte funzioni per manipolare stringhe, l'unico neo è che se la manipolazione è complicata ne vieni fuori con VI che definire criptici è un'eufemismo..cmq niente di indocumantabile. Per l'utilizzo di ssh non ti sò dire... \":(\" non conosco nesuno che ci abbia provato direttamente, cmq se trovi un programma/server win che ti implementa ssh lo avvii utilizzando la finestra dos di LV e poi puoi dialogarci tramite socket o altro. BYE. ---------------------------------------- ================================================================================ InternetToolkit,cgi, lanciare un .vi da remoto ================================================================================ AUTORE: 731 DATA :08/07/2005 - 08:46:25 ---------------------------------------- ciao ragazzi, mi appello alla vostra enorme esperienza e conoscenza di LV. Sto cercando di lanciare un .vi da remoto. Spulciando in giro ho trovato qualche esempio con cgi che mostra come fare. Vi inoltro l'esempio. usando l'internet toolkit mi genero il mio server. da browser richiamo lo script cgi (semplice href al cgi-bin/run_FP.vi) e riesco a caricare in una pagina html(nell'esempio pannellocontrollo.htm) il mio FP (sempre nell'es carico il fp del file pannello.vi). La mia domanda è: se volessi, attraverso un form html (sfoglia su computer), che l'utente apra un altro .vi presente sul suo computer? in altre parole: al momento lo script mi apre una file specifico(pannello.vi che gli dico io). come posso modificare lo script in modo da non fargli aprire il file pannello.vi ma di aprire un .vi che l'utente trasmette?E' possibile sfruttare la struttura del file run_FP.vi? spero di essere stato chiaro. ringrazio anticipatamente Fabrizio ---------------------------------------- AUTORE: 748 DATA :20/07/2005 - 23:54:09 ---------------------------------------- Non ho capito se hai necessità di usare il browser per comandare il pc remoto oppure se ti va bene comandarlo semplicemente con un VI client. In questo secondo caso ti basta creare un VI server/listener sul pc remoto che \"ascolta\" un porta generalmente non usata e creare un VI client che invia comandi a quella porta del pc remoto ---------------------------------------- AUTORE: 731 DATA :21/07/2005 - 08:25:11 ---------------------------------------- ho bisogno di un browser, però non volevo utilizzare la runtime engine per visulaizzare il FP. Ho sentito un rappresentante della NI, il quale mi ha detto che gli strumenti la NI te li fornisce. il come far dialogare LV e un browser(ad esempio un applet java) te lo devi costruire tu. Pensavo di usare i datasoket di LV, ma nn so se è compatibile con java. Oppure usare TCP/IP listener in labview e inviare tramite form html i dati potrebbe funzionare? non so, devo provare ciao e grazie Fabrizio ---------------------------------------- ================================================================================ contare Numero di righe ================================================================================ AUTORE: 691 DATA :09/07/2005 - 15:24:47 ---------------------------------------- Qualcuno puo' dirmi come contare il numero di righe in un contollo stringa? ---------------------------------------- AUTORE: 129 DATA :09/07/2005 - 15:55:56 ---------------------------------------- utilizzando la funzione match pattern e contando quante volte si presenta il carattere di eol /n . Ti allego un esempio in LV61 ---------------------------------------- AUTORE: 691 DATA :11/07/2005 - 09:30:23 ---------------------------------------- Ti ringrazio molto.. Xò ora ti spiego meglio il mio problema: ho un indicatore di tipo stringa in cui il mio vi invia di continuo dei valori, avrei bisogno che la scroll bar si spostasse verso il basso non appena lo spazio disponibile nell' indicatore stringa finisca.. Posso passare la posizione di scroll in cui voglio posizionare il puntatore nell' indicatore stringa.. ma come faccio a dirgli che deve farlo solo quando si riempie?? Non posso contare il numero di new line xchè se qualche stringa che gli invio è più lunga, lui va a capo automaticamente ma non conta come una new line.. ---------------------------------------- AUTORE: 129 DATA :11/07/2005 - 10:45:41 ---------------------------------------- Forse non è proprio strettamente corrsipondente al tuo caso, ma in questo [url=http://www.ilvg.it/forum/viewtopic.php?t=766:iaxufnsd]topic[/url:iaxufnsd] puoi trovare un esempio di scroll-text automatico.....un pò di modifiche e lo puoi adattare alle tue essigenze. Se hai bisogno bussa, comunque. ---------------------------------------- ================================================================================ invocare applicazioni NON LV ================================================================================ AUTORE: 515 DATA :11/07/2005 - 11:12:06 ---------------------------------------- Ciao a tutti, ho il problema di lanciare, da una VI, un'applicazione delphi (comunque un .exe compilato) che si occupa di interrogare un database e fare una serie di altre cose: \":oops:\" con mio sommo imbarazzo non trovo nulla di utile, victo che l'application control palette fa riferimento solo ad altre VI... Sono sicuro che la soluzione è banale, ma non la conosco... Qualcuno sa in breve cosa devo usare? \":lol:\" Grazie! Mèt ---------------------------------------- AUTORE: 129 DATA :11/07/2005 - 11:54:44 ---------------------------------------- Hai provato questo? [url=http://www.ilvg.it/forum/viewtopic.php?t=689:2b6xbwp5]download[/url:2b6xbwp5].. Più in generale per lanciare .exe dovresti usare il system exec.vi dalla palette comunication. ---------------------------------------- AUTORE: 515 DATA :12/07/2005 - 12:02:27 ---------------------------------------- Grazie Nicola, era proprio quello che mi serviva! \":)\" \":)\" Ti devo una birra... \":wink:\" Mèt ---------------------------------------- ================================================================================ Aumentare le linguette di un TAB CONTROL a Runtime ================================================================================ AUTORE: 738 DATA :11/07/2005 - 18:14:27 ---------------------------------------- Salve comunita' di labviewvisti...potete aiutarmi, prego? Ho necessita' di dover plottare un numero imprecisato di grafici in finestre distinte e avevo pensato di generare un tab control con una linguetta (magari automaticamente etichettata) per ogni grafico...ma non riesco prorpio a variare il numero dei \"tabs\" a run-time... E' perche' sono ignorante o perche' e' impossibile farlo in LabView? (E quest'ultima ipotesi suona strana assai) Grazie a tutti! Stefano ---------------------------------------- AUTORE: 129 DATA :12/07/2005 - 09:03:47 ---------------------------------------- \":(\" Mi sa che a meno di ricorrere a VIscripting non autorizzati (e non garantiti) non riesci a modificare il numero di linguette della tab. ---------------------------------------- AUTORE: 247 DATA :13/07/2005 - 13:06:31 ---------------------------------------- Caio, e usare il solito vecchio trucco del vedo/non_vedo??? In pratica visualizzare solo i tab che ti interessano, vedi esempio. Per l'etichettatura automatica usa una delle proprietà del tab control. BYE. ---------------------------------------- AUTORE: 738 DATA :13/07/2005 - 17:08:59 ---------------------------------------- Grazie grazie grazie grazie grazie grazie grazie grazie! ---------------------------------------- ================================================================================ Aiuto per "le scale" ================================================================================ AUTORE: 739 DATA :12/07/2005 - 07:40:12 ---------------------------------------- Ciao!! chiedo il vostro aiuto per un \"problema\" che avrei bisogno di risolvere con labview.. Io ho un trasduttore che tramite i moduli del field point mi da un segnale in ampere, in particolare il valore minimo è 4 mA, ed il massimo 16 mA, questi valori tramite un calcolo rappresentano il minimo ed il massimo di una scala che va da 0 a 190 ( o cmq da 0 a un valore x )avrei bisogno di generare un offset della scala a comando. Mi spiego: quando il trasduttore darà 4 il mio indicatore numerico comncerà a contare da 0.......... fino a che il trasduttore arriverà a 16 e l'indicatore segnerà il valore massimo di questa scala diversa.. ora, io avrei bisogno che, in un qualsiasi momento, tramite un pulsante, io resetto il contatore, nel senso che quando ho bisogno devo far cominciare a contare l'indicatore da 0, anzichè dal valore reale.. Mi sono spiegato? spero mi potrete aiutare.. grazie in anticipo \":lol:\" ---------------------------------------- AUTORE: 247 DATA :13/07/2005 - 12:51:55 ---------------------------------------- Ciao, ..da quello che scrivi mi sembra che non ti serva solamente un offset anche riscalare in base al nuovo range della misura o sbaglio? BYE. ---------------------------------------- AUTORE: 739 DATA :15/07/2005 - 15:27:26 ---------------------------------------- smanettando un po, anzi, fino allo sfinimento, alla fine sono riuscito a farlo.... ho inserito dentro un while loop un case true false, gli ho fatto passare dentro il mio segnale da azzerare, e ho collegato rispettivamente una volta il segnale diretto , e un'altra volta(precisamente nel true, ) il segnale proveniente dallo shift register (creato sul whileloop) e sottratto a se stesso.... un po complicato, ma fiunziona tutto...... grazie cmq per la collaborazione..... PS.. se hai un idea migliore che fa al caso mio, sono cmq aperto ad ascoltare... grazie \":lol:\" ---------------------------------------- ================================================================================ Property node su PDA ================================================================================ AUTORE: 691 DATA :12/07/2005 - 14:45:03 ---------------------------------------- Salve, ho realizzato un'applicazione su pc ora l'ho convertita per poterla usare su PDA, a parte qualche piccolo ritocco per le seriali ora ho un grandissimo problema.. avevo dei property node che ora mi dicono che per quel tipo di target (PDA) non possono essere utilizzati. questi property node erano di un menù ring le cui voci venivano proprio modificate da questi property node. qualcuno sa come ovviare al problema? ---------------------------------------- AUTORE: 247 DATA :13/07/2005 - 13:10:52 ---------------------------------------- Ciao, speso nel trasporto su PDA non c'è modo di \"ovviare\" a problemi di incompatibilità, devi proprio rifarti il tutto e anzi, assicurarti che i controlli e tutto ciò che hai usato abbia i comportamenti classici che ti aspetti...come consiglio generico ti posso dire di provare il tutto isolatamente e semplicemente e solo poi mettere insieme. Good luck. BYE. ---------------------------------------- ================================================================================ ESEGUIRE DUE SUBVI UNO DOPO L'ALTRO ================================================================================ AUTORE: 673 DATA :13/07/2005 - 10:32:28 ---------------------------------------- Ciao a tutti, in questi giorni sono alle prese con un altro problema. Nel sistema di supervisione che sto realizzando, inizialmente ho un primo pannello con due tasti: uno che mi lancia un VI che serve a caricare l'OPC server relativo a quel particolare impianto che voglio monitorare ed un'altro tasto che mi apre il pannello di supervisione e quindi la connessione remota. Adesso, per esigenze aziendali, dovrei eliminare questi due tasti...o meglio inglobare questi in un unico. Ho pensato di creare due SUBVI: uno relativo al Vi che carica l'OPC e l'altro relativo al pannello di supervisione. Quello che vorrei realizzare è, quindi, un unico tasto che premuto mi apre ed esegue i due SUBVI uno dopo l'altro:prima il SubVi dell'OPC e poi quello del pannello di supervisione. Leggendo il manuale, ho provato a usare sia la Flat Sequence Structure e poi la Stacked Sequence Structure in quanto dovrebbero eseguire i SUBVi da sx a dx per la prima struttura e seguendo la numerazione per la seconda. Però, non succede così: si apre soltanto il primo subvi (OPC) e l'altro non viene passato ed eseguito. Ho provato ad utilizzare una Case Structure con ciclo while (che allego) ma anche qui esegue soltanto il primo SubVI. Qualcuno mi sa dare un suggerimento e aiuto su come eseguire i due SubVi in sequenza? Grazie ---------------------------------------- AUTORE: 247 DATA :13/07/2005 - 12:47:20 ---------------------------------------- Ciao, prova a rifarti all'esempio \"CallChainServer.vi\" che ho postato in [url=http://www.ilvg.it/forum/viewtopic.php?t=765&start=0&postdays=0&postorder=asc&highlight=:2yh1g2mr]Creazione menù[/url:2yh1g2mr], dovrebbe bastarti un cambio di VI oppure riutilizza semplicemente la tecnica(). BYE. ---------------------------------------- AUTORE: 129 DATA :13/07/2005 - 12:49:24 ---------------------------------------- Potresti utilizare anche un [url=http://www.ilvg.it/forum/viewtopic.php?t=625:37pbr5d8](pulsante sequenziale)[/url:37pbr5d8]in modo che ad ogni pressione chiama il frame della tua case con il relativo codice da eseguire. ---------------------------------------- AUTORE: 673 DATA :14/07/2005 - 10:46:25 ---------------------------------------- Ok, grazie per l'aiuto. Ieri ho dato un'occhiata ma non ho ben capito come funzionano i VI che mi avete dato. Adesso devo fare un altro lavoro e domani mi metto a guardare con calma. In caso abbia dei problemi vi ricontatto. Grazie ancora ---------------------------------------- ================================================================================ Termine dell'applicazione .exe ================================================================================ AUTORE: 515 DATA :13/07/2005 - 14:09:10 ---------------------------------------- Ciao a tutti! Il problema questa volta è di \"dolce morte\": \":lol:\" Dopo aver compilato la mia VI con l'application builder, e facendola girare, noto che il programma il 50% delle volte NON termina, nel senso che chiude tutte le finestre ma rimane a girare minimizzato, senza possibilità di chiuderlo se non dal task manager, dove fra l'altro si nota che consuma il 94% di cpu... DOPO ESSERSI ARRESTATO! Nell'altra metà dei casi, invece, si chiude ma windows mi dà la solita segnalazione di errori da inviare chissà dove. Preciso che per la terminazione del programma chiudo tutti i cicli in parallelo e utilizzo la VI \"exit\". Qualcuno ha qualche idea di come risolvere questo problema? Grazie e a presto \":)\" Mèt ---------------------------------------- AUTORE: 748 DATA :20/07/2005 - 16:33:45 ---------------------------------------- Ciao met, anche a me era successa una cosa simile... nonostante la fine del programma e la chiusura dello stesso rimaneva un task in background. Per curiosità avevo provato a far eseguire la chiusura dell'exe con un programma esterno e anche in quel caso mi appariva il messaggio di errore di XP. Io avevo risolto il problema (è un modo orribile..lo so) ricavando il refnum della finestra ed eseguendo la VI \"close window\" (mi pare che tale VI si trovi nelle winutil.llb) Mark ---------------------------------------- ================================================================================ picture ================================================================================ AUTORE: 129 DATA :15/07/2005 - 11:56:21 ---------------------------------------- Ho bisogno di inserire una immagine sul pannello programaticamente, con i seguenti requisiti: - Deve ridimensionarsi per stare in un area prestabilita. - Deve supportare i formati bmp-gif e jpeg e magari png. - Deve essere caricata dalla sua path. Ho iniziato percorrendo la strada del picture control, ma ho incontrato ostacoli sul ridimensionamento (utilizzando lo soom factor) infatti modificando il fattore ottengo un peggioramento della qualità dell'immagine. Se provo a ridimensionare il rectangle inviato ottengo un \"taglio dell'immagine. Mi piacerebbe avere qualcosa come i controlli disponibili sulle applicazioni office, che permettono addirittura lo zoom out della immagine. Però non li ho trovati.... Idee e suggerimenti? \":wink:\" ---------------------------------------- AUTORE: 129 DATA :15/07/2005 - 14:51:09 ---------------------------------------- qualcosa ho fatto, ho ancora i problemi di scalare l'immagine al rettangolo... ---------------------------------------- AUTORE: 4 DATA :15/07/2005 - 15:53:54 ---------------------------------------- io avevo usato una dll per fare delle miniature delle immagini in modo che avessero tuttela stessa dimensione. se ti interessa la cerca e te la mando. Ciao, ---------------------------------------- AUTORE: 129 DATA :15/07/2005 - 18:22:30 ---------------------------------------- Grazie Ale. Per ora sono riuscito a scalare l'immagine ma si sgrana e non riesco ancora a caricare file .gif. ---------------------------------------- AUTORE: 113 DATA :20/07/2005 - 10:34:49 ---------------------------------------- Ciao, Le funzioni di resample di un'immagine utilizzano degli algoritmi dedicati di interpolazione dei pixels per limitare il deterioramento della qualità. Il problema non è semplice, i miei consigli sono: - Se hai il pacchetto Vision, hai la funzione IMAQ Resample ( ma questo probabilmente lo sai già...) \":wink:\" - Il 'buon' George Zou che trovi a http://gtoolbox.yeah.net nel sou toolkit prevede la funzione Image Resize. funziona egregiamente, purtroppo il toolkit è a pagamento... \":evil:\" - Una soluzione molto alternativa (ma funzionale) è utilizzare il software Irfanview (www.irfanview.com). E' un programma semplice ma ben fatto per trattamento immagini. Prevede un nutrito set di comandi esterni tramite command line, nel tuo caso potresti mandare comandi tramite LV per aprire un'immagine di qualunque tipo, fare un resample e copiare il tutto nella clipboard per poter essere caricato nella picture. Il tutto in maniera trasparente. Spero di esserti stato un po' utile! Saluti, Alberto ---------------------------------------- AUTORE: 129 DATA :20/07/2005 - 11:28:49 ---------------------------------------- [quote:17f67uqn]utilizzare il software Irfanview (www.irfanview.com)[/quote:17f67uqn] Grazie mille, sei stato di aiuto sicuramente perchè hai approfondio e confermato i miei dubbi. Ho trovato su NI la soluzione di irfanwiew, che però non avevo provato perchè dovevo installare un programma esterno(cprregimi se sbaglio) e quindi mi sembrava non proprio la strada migliore... Ma la mia domanda è : possibile non esista un activex control diponibile come quelli per office? Si farebbe tanto bene, hanno già il ridimensionamento e il supporto dei file comuni di grafica,compreso le gif. Ho visto anche qualcosa sfruttando l'active-x del browser web. \":cry:\" ---------------------------------------- AUTORE: 113 DATA :20/07/2005 - 13:12:04 ---------------------------------------- Ciao Nicola, sì, effettivamente la soluzione con Irfanview prevede che installi lo stesso, comunque ti ricordo che è un programma freeware. Riguardo gli activeX, ho trovato sulla Devzone un esempio con Photoshop, che prevede un interfacciamento con una sua libreria activeX; ma Photoshop non è certo gratuito... Bisognerebbe fare una ricerca nella MSDN per vedere se Windows prevede una funzione implementata in qualche sua dll nativa per il resampling \":?:\" Ciao, Alberto ---------------------------------------- AUTORE: 129 DATA :24/07/2005 - 15:39:23 ---------------------------------------- Ho fatto un cambiamento di rotta, dopo aver passato una notte a rimuginare sulle richieste dell'applicazione. Alla fine ho deciso di fare un pannello con all'interno il browser ie, in un box active-x. Praticamente creo del codice html, e lo salvo in un file index.htm. Tutte le volte che eseguo una particolare funzione riscrivo la pagina index e la rileggo. Un pò pesante ma come visualizzatore si sta rivelando eccezionale. Allego un esempio. ---------------------------------------- AUTORE: 482 DATA :25/07/2005 - 07:24:18 ---------------------------------------- ...ma ciao! Stavo guardando il tuo VI... Non ho capito perchè vai a creare la pagina html... Io ho provato a collegare direttamente i path delle immagini e viene esattamente la stessa cosa. Ho notatoche nella pagina web che vai ad aprire gli dici altezza e larghezza 100 ma a me si visualizzano tutte nelle dimensioni reali facendo comparire la barra di scorrimento di IE. C'e' qualcosa che sbaglio? ---------------------------------------- AUTORE: 129 DATA :25/07/2005 - 11:46:54 ---------------------------------------- [quote:1qijqcm0]Io ho provato a collegare direttamente i path delle immagini e viene esattamente la stessa cosa. [/quote:1qijqcm0] Cosa significa li colleghi direttamente? ciòè gli dai l'url dell'immagine? Nella mia applicazione il codice html serve per visualizzare anche contenuti diversi tipo testo o addirittura oggetti pdf ecc. [quote:1qijqcm0]Ho notatoche nella pagina web che vai ad aprire gli dici altezza e larghezza 100 ma a me si visualizzano tutte nelle dimensioni reali facendo comparire la barra di scorrimento di IE. [/quote:1qijqcm0] la barra di scorrimento si attiva quando le dimensioni della pagina superano l'area visibile, e quindi se le immagini sono più grandi non riescono a stare nell'area. Il fatto di creare una pagina html è proprio per sfruttare i tag html, come nell'esempio img con parametri(tra cui height e width). Ti invio lo screen di come li vedo io. ---------------------------------------- AUTORE: 482 DATA :25/07/2005 - 13:04:07 ---------------------------------------- ah ecco..io pensavo invece che tu volessi aprire una per una le immagini facendo in modo pero' di visualizzarle della stessa grandezza per non farle uscire dalla pagina internet. Per quanto riguarda il path, si io collegavo direttamente l'url dell'immagine, ignoravo avessi l'esigenza del testo e non capivo perchè stavi a creare ogni volta la pagina! \":wink:\" ---------------------------------------- AUTORE: 556 DATA :24/11/2005 - 14:02:29 ---------------------------------------- Non so se vi può essere utile, ma sul sito National Instruments ( http://sine.ni.com/apps/we/niepd_web_di ... 0020E74861 ) ho trovato questo: [i:1lxpyajc]2D Array Interpolation This example demonstrates how to perform a 2D array interpolation by doing two successive 1D interpolations on the rows and columns of the array. It uses a cubic spline interpolant, but can be modified to implement any 1D interpolation method. It can be applied to general 2D arrays or IMAQ images (after using IMAQ ImageToArray). The demo VI generates a 2D array containing a hyperbolic image and calls the 2Dinterpolation.vi. The generated array and resulting interpolation are displayed in intensity graphs on the front panel.[/i:1lxpyajc] ---------------------------------------- ================================================================================ Controllo ImageList ================================================================================ AUTORE: 747 DATA :18/07/2005 - 14:12:55 ---------------------------------------- \":D\" Sono molto lieto di entrare a far parte di questa grossa community \":D\" Sono un neofita di LV ... nel pannello principale della mia applicazione presento una vista ad albero: i nodi dell'albero sono visualizzati con un'immagine ed una label; in realtà ho associato al TreeView l'oggetto ImageList ... Avrei l'esigenza di gestire \"run-time\" la modifica dello sfondo di tali immagini ... Avete qualche dritta da darmi ?! ---------------------------------------- AUTORE: 129 DATA :19/07/2005 - 22:23:02 ---------------------------------------- Se ti può interessare, [url=http://sourceforge.net/project/showfiles.php?group_id=61216&package_id=57528&release_id=107633:1dkovmdn]sourceforge[/url:1dkovmdn] ---------------------------------------- ================================================================================ VI in jpeg ================================================================================ AUTORE: 368 DATA :18/07/2005 - 14:19:25 ---------------------------------------- Salve a tutti, ho una domanda, spero, semplice semplice: c'è qualche funzione in labview per esportare in un'immagine (es. jpeg) block diagrame e front pannel? PS: Ah, dimenticavo: come si fa a realizzare un eseguibile a partire dal *.vi? Grazie a tutti per la cortese attenzione.CIAO ---------------------------------------- AUTORE: 129 DATA :18/07/2005 - 15:49:49 ---------------------------------------- si esiste, cerca nella palette picture sotto grafic e sound. [quote:1p2gv4yq]PS: Ah, dimenticavo: come si fa a realizzare un eseguibile a partire dal *.vi? [/quote:1p2gv4yq] Ti serve un toolkit che si chiama application builder (di serie solo sulla versione professional). Se hai questo, trovi nel menu tools/build application or shared library. Ti si apre un wizard per creare la tua applicazione dal vi. ---------------------------------------- AUTORE: 368 DATA :21/07/2005 - 12:04:05 ---------------------------------------- Grazie mille Nicola, ma non ho trovato niente che fa al caso mio o forse non ho capito bene come usare la palette picture..... Potresti cortesemente specificare quale VI devo usare per salvare il \"front pannel\" e il \"block diagram\" in un file immmagine? Perdona la mia inesperienza e grazie ancora. ---------------------------------------- AUTORE: 129 DATA :21/07/2005 - 17:32:11 ---------------------------------------- ti invio un esempio che spiega più di mille parole... Però è sulla versione 7.1 di labview. ---------------------------------------- AUTORE: 368 DATA :22/07/2005 - 12:19:06 ---------------------------------------- Grazie mille, funziona alla grande!!!! Grazie ancora Nicola, mi ricorderò di te \":D\" ---------------------------------------- ================================================================================ Esiste il file? ================================================================================ AUTORE: 633 DATA :18/07/2005 - 15:51:16 ---------------------------------------- Ciao a tutti, come faccio a dsapere se un file esiste o no? ---------------------------------------- AUTORE: 129 DATA :18/07/2005 - 17:25:16 ---------------------------------------- Nella palette file/advanced, prova file/direcytory info.vi, dovrebbe fare al caso tuo. Per sapere se un file esiste o ci sono dei problemi puoi conneterti al cluster di errore. ---------------------------------------- AUTORE: 633 DATA :18/07/2005 - 21:35:44 ---------------------------------------- Grazie mille, era proprio quello che avevo bisogno! ---------------------------------------- AUTORE: 596 DATA :29/07/2005 - 14:56:41 ---------------------------------------- Connetterti solamente al cluster d'errore non basta poichè il vi non restituisce errore se gli dai in ingresso una directory o una stringa nulla.... Prova ad utilizzare il vi allegato. Ciao, riccardo ---------------------------------------- ================================================================================ salvare un .wav per farne un .MP3 acquisendo da PCI - 6025 ================================================================================ AUTORE: 635 DATA :18/07/2005 - 16:25:30 ---------------------------------------- Salve, devo acquisire un segnale da un microfono preamplificato tramite una scheda PCI-6025E : ottengo il mio bel segnale di tensione e vorrei salvare la forma d'onda in un file che possa poi manipolare come un normale file musicale, per eventualmente comprimerlo in MP3. Sarà possibile? e come campionare la forma d'onda ? Grazie in anticipo \":P\" ---------------------------------------- AUTORE: 113 DATA :20/07/2005 - 13:15:48 ---------------------------------------- Ciao, scusa la domanda, ma perchè vuoi acquisire il suono proprio tramite la 6025 e non tramite la scheda audio? Nel caso avresti già le funzioni native di LabVIEW, con esempi dedicati. Alberto ---------------------------------------- AUTORE: 635 DATA :21/07/2005 - 07:38:34 ---------------------------------------- Sostanzialmente perchè ne devo usare due contemporaneamente. In ogni caso : se usassi la scheda audio del computer (una qualunque? anche una professionale con N ingressi ed N uscite tipo Mixer?) dici che non avrei problemi a salvare in .wav . Sul sito di NI ho trovato degli esempi ma mi scatenano una serie di errori infiniti. Un altro sistema sarebbe salvare tutto in .bin e in seguito trasformarlo in .wav ..... ---------------------------------------- AUTORE: 113 DATA :25/07/2005 - 14:57:03 ---------------------------------------- Ciao, scusa per il ritardo! Hai provato gli esempi nativi di LV per la registrazione del suono? Ad esempio: Record Wave File.vi Per il doppio canale di registrazione, se il suono è mono, puoi fare una registrazione stereo e poi dividere l'array 2D dei segnali campionati in due 1D array per salvarle in file separati. In alternativa potresti utilizzare una seconda scheda audio e fare due routine di acquisizione parallele, dando un diverso device ID alla SI Config. Personalmente ti posso dire che ho utilizzato in passato queste funzioni, ed hanno funzionato \":wink:\" Alberto ---------------------------------------- AUTORE: 635 DATA :25/07/2005 - 15:30:51 ---------------------------------------- Grazie, ci provo! ---------------------------------------- ================================================================================ Local Variable ================================================================================ AUTORE: 633 DATA :18/07/2005 - 22:26:20 ---------------------------------------- Ciao! Se io ho una vi con degli \"indicator\" (tipo un led) e con un case modifico il suo stato quando richiamo il valore del led con una \"local variable\" ottengo quello dopo l'esecuzione del case, prima o non si può sapere con esattezza? ---------------------------------------- AUTORE: 129 DATA :19/07/2005 - 08:01:00 ---------------------------------------- Direi che è fatta a posta per passare i dati in un ciclo che altrimenti non saresti in grado di passare, è il caso di cicli while o for, che passerebbero fuori i dati solo al tremine della loro esecuzione. Utilizzando una variabile local o global, avresti il dato direttamente disponibile indipendentemente dall'esecuzione del codice (anche se il ciclo del controllo collegato non è in esecuzione). LA scelta delle variabili locali e globali è da fare solo in caso non si riesca a farne a meno. Prova a vedere l'esempio. ---------------------------------------- AUTORE: 24 DATA :20/07/2005 - 17:56:38 ---------------------------------------- Salve a tutti. Ho provato l'esempio che hai postato, ma mi chiedo perchè fare una cosa del genere, è più veloce l'esecuzione? Ho provato ad abbassare a zero i temporizzatori dei due while, ma si incasina tutto, non funziona bene. Si è costretti a tenere almeno 5 ms al while superiore , ed il while di sotto anche messo a zero cicla a 5ms, probabilmente perchè la funzione utilizzata è in attesa della coda. Potresti darmi un chiarimento quando conviene utilizzare questa tecnica rispetto alle var globali ? Grazie \":wink:\" ---------------------------------------- AUTORE: 129 DATA :21/07/2005 - 12:04:26 ---------------------------------------- Scusa, mi sono accorto forse di averti farto un esempio che probabilmente ha generato più confusione che risposte. Hai ragione, la coda ti permette di sincronizzare i due loop e non avresti perdita di dati. Ti consiglio una letta a questo [url=http://www.ilvg.it/forum/download.php?id=297:2ykbw4l4]articolo[/url:2ykbw4l4] con tanto di esempi, presentato da Ale al NI-DAy 2005. [code:2ykbw4l4]quando conviene utilizzare questa tecnica rispetto alle var globali [/code:2ykbw4l4] Le variabili locali e ancora di più quelle locali hanno il pregio di essere di facile interpretazione e implementazione e spesso si abusa di questo. Questo vantaggio si porta dietro una serie di svantaggi, come quello di avere accesso concorrente alle variabili(vedi articolo). Un'altra cosa è quella che le variabili globali e locali non sono facilmente rintracciabili in applicazioni di grandi dimensioni. Ovviamente bisogna bilanciare sempre tra le reali necessità dell'applicazione e la facilità(quindi velocità) di realizzare il codice. [code:2ykbw4l4]Ho provato ad abbassare a zero i temporizzatori dei due while, ma si incasina tutto, non funziona bene. Si è costretti a tenere almeno 5 ms al while superiore , ed il while di sotto anche messo a zero cicla a 5ms, probabilmente perchè la funzione utilizzata è in attesa della coda. [/code:2ykbw4l4] La coda proprio allo scopo di non perdere dati inserisce in un array tutte le informazioni prese, per poi restituirle, questo comporta che quando termini il programma devi aspettare lo svuotamento della coda, potresti limitare questo effetto limitando la coda a n elementi, dal terminale max queue size del create queue. Nell'esempio però i veri problemi te li dà il ciclo while all'interno del case, se questo non viene terminato e il case si trova in false, non puoi uscire dall'applicazione. Spero essere stato un pò più chiaro. ---------------------------------------- ================================================================================ chiudere applicazione labview quando manca alimentazione ================================================================================ AUTORE: 24 DATA :19/07/2005 - 10:24:26 ---------------------------------------- Salve atutti. Sto utilizzando un sistema windows su un pc protetto da ups.Vorrei fare in modo che quando venga a mancare la rete, venga chiusa l'applicazione labview che era in run ed arrestato il sistema. C'è un modo? Grazie \":cry:\" ---------------------------------------- AUTORE: 278 DATA :19/07/2005 - 13:21:59 ---------------------------------------- Certo che si. Di norma, tutti gli ups mettono a disposizione una porta seriale per comunicazioni con il pc, addirittura alcuni produttori ti forniscono gia` il software per gestire le mancanze di alimentazione, spegnendo il pc dopo un certo lasso di tempo. MA dato che tu ti vorrai SICURAMENTE divertire con LabView devi leggere il manuale del tuo UPS e capire che messaggio viene mandato al PC quando viene interrotta l`alimentazione. A questo punto decidi come gestire la mancanza di rete, e` buona norma non spegnere subito il PC ma attendere qualche secondo (o minuto) perche`l`interruzione puo` anche essere molto breve. Ciao Ciao!!!!! \":wink:\" ---------------------------------------- AUTORE: 179 DATA :04/08/2005 - 16:08:45 ---------------------------------------- Io ho avuto lo stesso problema ma ho utilizzato il software del mio ups che mi permette di lanciare un eseguibile quando viene a mancare la tensione di alimentazione. Ho poi creato (o per meglio dire l' assistenza NI ha creato) un file eseguibile che chiude il mio applicativo labview prima che l'ups completi lo spegnimento del computer. ---------------------------------------- AUTORE: 4 DATA :08/08/2005 - 08:43:25 ---------------------------------------- Tempo fa ho avuto le stesse problemaiche e ho realizzato un piccolo driver per gli UPS dell'APC. Lo allego a questo post nella speranza che vi possa servire. [b:zunv8sys]ATTENZIONE: [u:zunv8sys]non[/u:zunv8sys] garantisco sul corretto funzionamento e sulla funzionalità di tutti i comandi implementati quindi. Se trovate bachi o avete delle migliorie da apportare sentiteviliberi di farle.[/b:zunv8sys] Ciao, ---------------------------------------- AUTORE: 556 DATA :21/09/2005 - 13:55:09 ---------------------------------------- La mia risposta arriva molto in ritardo e spero che tu possa già aver risolto il tuo problema. Anche io ho dovuto gestire un piccolo UPS (Bravo600 della RPC Elettronica) e per questo ho realizzato una piccola routine (Blackout.vi) che [b:3qs1iuew]sembra[/b:3qs1iuew] svolgere correttamente il suo lavoro. Questo UPS (come molti altri di questa categoria) non dispone di una vera e propria interfaccia RS232 che gli permette di dialogare col PC ma segnala il suo stato mediante due contatti (che possono anche essere usati per pilotare piccoli carichi). L’accesso ai contatti è fatto tramite un connettore a vaschetta a 9 pin come quello usato nell’RS232 (Pin 4: comune, Pin 2: assenza rete, Pin 5: batteria scarica). Collegando i contatti alle linee Data Carrier Detect, Request To Send e Clear To Send, come indicato dal costruttore (file cavi.pdf) è possibile monitorare lo stato dell’UPS. Non so se il pinout del connettore dell'UPS sia standard (ho i miei dubbi) quindi è bene verificare sul manuale o sul sito del costruttore, altre informazioni utili le ho trovate nella Knowledge Base della Microsoft ---------------------------------------- AUTORE: 24 DATA :21/09/2005 - 18:14:15 ---------------------------------------- Non riesco a scaricare il file \":cry:\" ---------------------------------------- AUTORE: 556 DATA :21/09/2005 - 18:40:09 ---------------------------------------- Riprovo a inviarli come un unico file zip \":?\" ---------------------------------------- ================================================================================ Webcam virtuale ================================================================================ AUTORE: 748 DATA :19/07/2005 - 15:12:52 ---------------------------------------- Ciao a tutti e visto che e' il mio primo post mi sento in dovere di complimentarmi con chi ha creato il forum... ci voleva. Ecco il mio problema: mi e' stato richiesto di fare un programma che consenta di fare una videoconferenza interattiva, ossia che durante la videoconferenza si possano inviare le immagini prese da una webcam ma anche immagini (grafici e disegni) e una lavagna \"virtuale\" sulla quale poter scrivere e disegnare... il committente vorrebbe anche poter marchiare con il logo dell'azienda le immagini inviate. Io son riuscito ad interfacciarmi con la webcam e prelevare le immagini (come successione di BMP) e a creare la lavagna, anche come logo aggiunto alle immagini non ho avuto grossi problemi... il problema e' che non ho idea di come inviare tale serie di BMP come webcam virtuale usando i comuni programmi di videoconferenza. Attendo i vs consigli \":)\" Mark ---------------------------------------- ================================================================================ Label in diverse lingue ================================================================================ AUTORE: 660 DATA :20/07/2005 - 09:18:26 ---------------------------------------- Ciao a tutti, il mio problema è quello di poter avere le label all'interno del mio VI (sia in versione \"sorgenti\" che eseguibile) dove il cliente possa scegliere in quale lingua queste compaiano. Ad esempio in greco per un greco, ma io che non conosco il greco devo poter vedere un'altra lingua. La mia idea era quella di utilizzare ad esempio un foglio tipo excel o del tipo CSV in cui ad ogni colonna corrisponde una lingua e nelle righe sono riportati le diverse label. (adesso devo pensare alla sua implementazione \":?:\" ) Qualcuno ha idee migliori? Grazie ---------------------------------------- AUTORE: 129 DATA :20/07/2005 - 11:33:17 ---------------------------------------- prova a vedere questo [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DA0756A4E034080020E74861:2y9onmcz]esempio[/url:2y9onmcz]. ---------------------------------------- AUTORE: 660 DATA :21/07/2005 - 13:14:08 ---------------------------------------- Grazie della sempre rapidissima risposta. Purtroppo ho provato a far girare i VI ma ottengo uno strano errore GPIB che devo approfondire. Intanto allego un semplice file di esempio che dopo aver fatto scegliere il file della lingua imposta le label. Dimmi cosa ne pensi e se hai delle soluzioni più semplici e/o performanti da implementare tenendo conto che se mi capitasse di fare assistenza ad un software su una lingua che non conosco dovrei avere la possibilità di modificare (in modo più o meno automatico) le label. Grazie ---------------------------------------- AUTORE: 660 DATA :26/07/2005 - 08:57:41 ---------------------------------------- Sono riuscito a far funzionare l'esempio che mi hai mandato \":D\" , ma dove trovo le informazioni su come creare i file con le label nella varie lingue? Grazie ---------------------------------------- ================================================================================ salvere file in automatico ================================================================================ AUTORE: 683 DATA :21/07/2005 - 08:56:49 ---------------------------------------- buongiono a tutti, dopo un periodo di pausa un po' lunghetto sono ritornato a chiedere consigli! Devo salvare dei dati in una misurazione e questo deve essere fatto in tempo reale perche se no perdo la lettura in memoria dello strumento per far ciò ad ogni lettura faccio partire un scrittura su file ma il problema che mi di apre la finestra di windows e mi chede il salvataggio e se non sono li a cliccare mi perdo le misure succesive. Ora i quesiti sono 2: 1. come si fa a salvare in automatico? 2 mi conviene fare prima un array a 2 d e poi salvare tutto alla fine ( se questo è il sistema più indicato io alletgo il v1 che ho prodotto )ma sono in difficoltà con l'uso delle matrici quindi se riuscite datemi una mano grazie a tutti ---------------------------------------- AUTORE: 680 DATA :21/07/2005 - 21:25:20 ---------------------------------------- dal mio punto di vista è più semplice e conviene salvate tutto l'array alla fine... comunque, per salvare un file in automatico, devi inserire nella voce \"file path\" il percorso dove vuoi salvarlo seguito dal nome del file (es. c:\file.txt) vedi esempio... spero di esserti stato di aiuto, se hai problemi bussa pure..... ciao.......... ---------------------------------------- AUTORE: 683 DATA :22/07/2005 - 12:47:43 ---------------------------------------- grazie del consiglio, adesso devo gestire bene la matrice comunque se avessi altri dubbi non faccio altro che chiedere ciao ---------------------------------------- ================================================================================ Punto o virgola decimale? ================================================================================ AUTORE: 482 DATA :21/07/2005 - 09:30:21 ---------------------------------------- ...ma ciao! Sono incappato in un problemino.... In un applicazione di prova materiali, gli utenti mi hanno chiesto di poter utilizzare il punto decimale anzichè la virgola perchè è molto piu' comodo utilizzare il tastierino numerico. Finchè sono in ambiente di sviluppo la cosa è semplice, basta che tolgo dalle opzioni \"use localized decimal point\". Il problema è che questa impostazione nell'eseguibile non è mantenuta. QUalcuno ha qualche consiglio? oltre al cambiare le opzioni internazionali di windows? ---------------------------------------- AUTORE: 482 DATA :21/07/2005 - 15:14:15 ---------------------------------------- oooOOOOoooOOK! Risposta trovata! Basta aggiungere nel file.ini la stringa: [size=150:166c2l4c]useLocaleDecimalPt=False[/size:166c2l4c] Se il .ini è vuoto bisogna intestarlo col nome dell'eseguibile senza estensione tra parentesi quadre es. [size=150:166c2l4c][eseguibile][/size:166c2l4c] QUesto grande a un piccolo trucchetto suggeritomi dall'assistenza National. BAsta creare un eseguibile che giri lasciando visibile la barra dei menu' standard di LabVIEW. Modificando qualcosa dal menu' Options mentre l'eseguibile sta girando, si va a modificare il file .ini. Di conseguenza una volta chiuso l'eseguibile basta andare a vedere nel file .ini cosa si è aggiunto \":D\" ---------------------------------------- ================================================================================ Aggiunta modulo TCP/IP ================================================================================ AUTORE: 715 DATA :24/07/2005 - 21:31:41 ---------------------------------------- Ciao a tutti! Io ho un programma in LabView che controlla da PC un analizzatore di spettro collegato via GPIB e fa il post processing delle misure acquisite. Ora devo fare sì che sia possibile scaricare questi dati su un computer remoto durante le misure; volevo chiedere se i moduli che usano il TCP vanno inseriti direttamente nel mio programma o se devo fare un nuovo .VI. Inoltre, sull'altro PC devo implementare qualche modulo oppure tutte le funzioni client e server possono essere implementate solo sul PC su cui c'è il mio programma? Grazie mille a tutti! Raffo ---------------------------------------- AUTORE: 751 DATA :25/07/2005 - 11:18:11 ---------------------------------------- Non serve creare un nuovo vi, puoi aggiungere tutto nel tuo applicativo per acquisire dati dall'analizzatore. Sul PC che usi come server devi fare una \"TCP Open Connection\" in cui specifichi l'IP e la porta, e da questo, tramite l'uscita \"connection ID\" puoi fare operazioni di Read/Write. Poi sull'altro PC (che sara' il tuo client) devi mettere un \"TCP Listen\" col quale non appena farai una open connection dal server potrai fare operazioni di Read/Write utilizzando gli appositi moduli gia' pronti. Chiaramente dovra' essere tutto meccanizzato e sincronizzato in modo da non perdere dati, gestire eventuali errori di connessione, ecc. Chiaramente tutto questo dipende dalle temporizzazioni che hai in gioco, cioe' con quale refresh leggi i dati dall'analizzatore x poi storarli sul PC remoto. Questo e' tutto quello che ti posso dire basandomi sulle poche cose che hai scritto. Buon lavoro. ---------------------------------------- ================================================================================ Controllo data di scadenza ================================================================================ AUTORE: 368 DATA :25/07/2005 - 10:32:48 ---------------------------------------- Salve a tutti ragazzi, ho una breve storia da raccontare: stanotte, tra caldo e zanzare, pensavo a che figata sarebbe se il mio VI tenesse sotto controllo la data di scadenza della calibrazione degli strumenti... pensavo fosse semplice, ma non ci riesco. Non è che qualcuno può darmi l'illuminazione. E' il tassello mancante per completare il lavoro di tesi. Grazie ---------------------------------------- AUTORE: 680 DATA :25/07/2005 - 12:13:16 ---------------------------------------- spiegati meglio, cosa vuoi fare?? ---------------------------------------- AUTORE: 129 DATA :25/07/2005 - 12:48:58 ---------------------------------------- dovresti utilizzare necessariamente una base dati esterna al programma. Per esempio il registro di windows, inserisci una chiave data, ne verifichi l'esistenza e il valore ad ogni apertura della tua applicazione. Altri esempi potrebbero venire dall'uso dei file di testo o ini. ---------------------------------------- AUTORE: 368 DATA :25/07/2005 - 13:04:07 ---------------------------------------- Cercherò di essere più chiaro: voglio poter impostare da pannello frontale una data di scadenza, in modo che ogni volta che avvio il VI questa venga confrontata con quella attuale (che ottengo dal subVI \"Get date\" nel menù \"Time&Dialog\"). Il problema è che la data è una stringa, ma a me servirebbe un numero per fare il confronto ( per poter usare i subVI \"maggiore/minore\")!!!! Il problema principale credo che sia la mia poca esperienza con labVIEW \":?\" ---------------------------------------- AUTORE: 113 DATA :25/07/2005 - 14:43:49 ---------------------------------------- Puoi utilizzare la funzione Get Date/time in Seconds, la trovi nella Time & Dialog palette. Ti ritorna il numero di secondi passati dal 1 Gennaio 1904. Essendo il dato numerico, puoi facilmente fare delle correlazioni rispetto ad una data prefissata. ---------------------------------------- AUTORE: 129 DATA :25/07/2005 - 15:44:38 ---------------------------------------- Un esempio su regedit, da migliorare. ---------------------------------------- AUTORE: 129 DATA :25/07/2005 - 15:50:48 ---------------------------------------- \":oops:\" Non avevo aggiornato il browser intanto che provavo a fare il vi di esempio.... Se vuoi solo trasformare in numerico vale il consiglio di alberto o se proprio vuoi formattare tu la data/string allora prova l'allegato. ---------------------------------------- AUTORE: 129 DATA :26/07/2005 - 09:51:25 ---------------------------------------- Se vi può interessare ho fatto una llb per gestire l'expiration day. L'esempio qui sotto crea nel regedit/registro HKEY_CLASSES_ROOT una chiave(class) con un valore(data)corrispondente alla data di scadenza del prodotto, definito con evaluation days. Ritorna un boolean expired? e un int days remain. ---------------------------------------- AUTORE: 113 DATA :26/07/2005 - 10:28:43 ---------------------------------------- Bel lavoro Nicola! \":lol:\" Un'implementazione potrebbe essere criptare la stringa scritta nel registro per renderla meno modificabile. Alberto ---------------------------------------- AUTORE: 129 DATA :26/07/2005 - 15:22:14 ---------------------------------------- Giusto, e in più aggiungo la possibilità di creare altre funzioni, per esempio il riconoscimento utente, un ocdice di attivazione ecc. Sai che cosa, non sono riuscito ad usare il controllo HKEY, perchè mi dava dei problemi con la libreria, nel senso che la dll compilata con anche l'input per hkey, non funzionava(forse perchè è type def)?invece nel vi, funziona. Bo? Vi posto il vi completo, senza la dll, così chi vuole può migliorare il codice. Ho aggiunto il vi per criptare, che ho prelevato in una discussione su ILVG. ---------------------------------------- ================================================================================ recuperare vi corrotti dopo crash di sistema ================================================================================ AUTORE: 591 DATA :25/07/2005 - 14:45:17 ---------------------------------------- Ciao a tutti, mi rivolgo alla comunità per chiedere la soluzione ad un grosso problema. Dopo un crash del sistema ho problemi ad aprire un vi (sicuramente corrotto) sul quale ho perso una mattinata di lavoro. Sapete se c'e' un modo (o un software) che permette di recuperare il vi? Grazie ---------------------------------------- AUTORE: 596 DATA :27/07/2005 - 15:05:46 ---------------------------------------- Dai un occhiata sulla directory temp di labview io a suo tempo persi una intera llb che si era corrotta e la ritrovai nella temp. Mi pare che i file temp non erano più con suffisso .llb (vi nel tuo caso) ma erano riconoscibili dalla data e dalla grandezza e fu sufficiente rinominarli per riottenere la mia libreria. Dai un occhiata nel tuo hard disk, con un po' di fortuna nella directory temp (quella specificata in (tools->option->path toverai il tuo file) In bocca al lupo \":wink:\" Riccardo ---------------------------------------- ================================================================================ Ancora TCP/IP ================================================================================ AUTORE: 715 DATA :27/07/2005 - 23:04:57 ---------------------------------------- Sono riuscito a trovare e scaricare in giro, tra il sito della NI e altri, un po' di moduli già fatti che gestiscono il controllo in remoto via TCP/IP. Volevo sapere se basta soltanto mettere, ad esempio, il modulo client.vi (e se eventualmnete devo collegarlo al resto del programma) sul PC che fa da client e che ha il programma per il controllo dell'analizzatore di spettro installato e il modulo server.vi sul PC che fa per l'appunto da server (e in questo caso su questo PC basta questo o devo aggiungere altro?). Infine, volevo chiedere quali dei moduli che allego vanno bene per fare il controllo remoto. Dato che il programma che ho per controllare l'analizzatore di spettro e fare il post processing dei dati acquisiti è un po' spesso come dimensioni, chiunque ne abbia bisogno per i più svariati motivi batsa che me lo chieda e provvederò a inviarglielo...immagino che un utente e un amante di LabView non possa che apprezzarlo! \":)\" Grazie a tutti e buon lavoro! Raffo ---------------------------------------- AUTORE: 751 DATA :28/07/2005 - 07:55:41 ---------------------------------------- Ciao Raffo, gli esempi che hai allegato sono tutti molto validi x capire i meccanismi di una connessione TCP/IP, come sviluppare le parti server/client, come sincronizzare la comunicazione e come gestire gli errori (di connessione e non). Il mio consiglio e' molto semplice: dopo aver capito come funziona il TCP/IP ti conviene inserire i vari moduli nel tuo applicativo dell'analizzatore e non lanciare separatamente tutti i vi (quello tuo e quello del server!!!), anke xke' 2 vi ke girano si \"bevono\" tutte le risorse disponibili e poi di sicuro non farai un lavoro ottimizzato! Cmq anke se non so' come hai sviluppato il tuo progetto sw x l'analizzatore ti posso dire cosa farei io: - farei una \"TCP Open Connection\" nel blocco di inizializzazione (credo ke tu avrai sviluppato questo blocco x inizializzare variabili, configurare i devices, ecc.); - poi nel ciclo in cui acquisisci i dati dall'analizzatore inserirei il blocco di \"TCP Write\" in modo tale ke appena arrivano dei dati validi e la connessione e' valida li invio verso il client, qui vanno gestiti anke eventuali errori; - finita l'acquisizione uscirai dal ciclo e farai una \"TCP Close connection\" Sul lato client invece avrai: - un \"TCP Listen\" che si attiva non appena fai una Open dal server; - una volta attivata entrerai in un ciclo while in cui ci sara' la funzione \"TCP Read\" la quale, non appena ci saranno dati validi, li leggera' e qui ad esempio li puoi storare su file; - finita l'acqusizione farai anke qui una \"Close Connection\" Per ora inserisci solo questi blocchi e vedi se funziona, poi se va bene puoi inserire altra roba (di programmazione avanzata) in modo da fare maggiori controlli, migliorare tutto il processo....insomma...ottimizzare al meglio la tua applicazione. Ma di questo, se vuoi, ne riparliamo dopo che avrai fatto funzionare tutto. Spero di essere stato chiaro e soprattutto di aiuto. Buon lavoro. ---------------------------------------- ================================================================================ Altri due allegati TCP/IP ================================================================================ AUTORE: 715 DATA :27/07/2005 - 23:08:59 ---------------------------------------- Qui ci sono altri due allegati...nel post precedente non ci stavano, ma la richiesta di consigli per gli altri tre vale anche per questi due \":)\" Raffo ---------------------------------------- ================================================================================ Pulsante Start/Stop ================================================================================ AUTORE: 368 DATA :28/07/2005 - 13:36:28 ---------------------------------------- Ciao, esiste la possibilità di inserire nel front pannel un pulsante di start e stop che svolgano funzioni simili a quelli di \"run\" e \"abort execution\"? Mi servirebbero per completare un'interfaccia grafica con tali pulsanti.... ---------------------------------------- AUTORE: 129 DATA :28/07/2005 - 15:28:14 ---------------------------------------- Devi usare i methodi run e set control o abortVI del tuoi VI. Ovviamente devi usare il metodo run su un VI client, usando i subpanel dovresti superare l'ostacolo. Ti allego un esempio. ---------------------------------------- ================================================================================ doppio front panel ================================================================================ AUTORE: 680 DATA :02/08/2005 - 09:14:51 ---------------------------------------- ciao, ho un problema: quando lancio l'eseguibile di un programma, mi trovo due volte lo stesso programma sulla barra delle applicazioni... lo so che qualcuno lo aveva gia chiesto ma non riesco + a trovare il topic... spero di essere stato chiaro, grazie, ciao........... ---------------------------------------- AUTORE: 129 DATA :04/08/2005 - 10:25:55 ---------------------------------------- dovresti modificare un opzione del file .ini dell'applicazione. \":oops:\" purtroppo non ricordo esattamente quale... ---------------------------------------- AUTORE: 4 DATA :04/08/2005 - 13:14:52 ---------------------------------------- Questa è la [url=http://www.ilvg.it/forum/viewtopic.php?t=785:1zjv0rlr][b:1zjv0rlr]discussione[/b:1zjv0rlr][/url:1zjv0rlr] a cui fate riferimanto. Ciao, ---------------------------------------- ================================================================================ ADO scombussola i dati ================================================================================ AUTORE: 482 DATA :04/08/2005 - 10:29:29 ---------------------------------------- ...ma ciao! uso la libreria ADO per comunicare con un database access. Quando vado a prelevare la prima colonna da una tabella che contiene dei valori numerici in ordine crescente, quando poi vado a leggerli me li ritorna scombussolati come se li mettesse in ordine alfabetico siccome in uscita sono stringhe. E' possibile questa cosa? ma soprattutto è possibile evitarla? Io devo prendere l'ultimo elemento che è il valore massimo, solo che preferirei dirgli semplicemente di prendere l'ultimo elemento invece che trasformare tutto in numerico e poi ordinare l'array..si puo'? ---------------------------------------- AUTORE: 129 DATA :04/08/2005 - 11:20:15 ---------------------------------------- hai provato ad usare \"ORDER BY\" nella query o se tri interessa il valore massimo, inserirla come funzione(non tutti idatabase lo supportano) per esempio: SELECT Max(numero) FROM Tabella1; oppure per metterli in ordine SELECT numero, id, nome FROM Tabella1 ORDER BY numero; Ciao ---------------------------------------- AUTORE: 482 DATA :04/08/2005 - 13:11:24 ---------------------------------------- mmhh..ok grazie per il suggerimento. Pero' per adesso preferisco ordinarli poi con funzioni labview. Non capisco pero' perchè mi escono dati non in ordine come sono nel database. Es: DATABASE: 1 2 4 5 7 9 12 15 USCITA ADO: 1 2 3 4 5 12 15 7 9 ...mah... ---------------------------------------- ================================================================================ Strano Crash di Labview ================================================================================ AUTORE: 596 DATA :04/08/2005 - 15:49:56 ---------------------------------------- Cosa accade quando labview non riesce a gestire una situazione di errore... beh semplicemente va in crash! Non commento il vi, mi limito a darvi qualche istruzione per provarlo.... inserite un task esistente nel controllo e provate a eseguire il vi nelle due situazioni. Il risultato dovrebbe essere lo stesso, ma in uno dei 2 casi labview va in crash, il che non è una cosa molto bella per un linguaggio ad alto livello. Il problema dovrebbe essere causato dall'array di 2 stringe uguali che vengono convertite in channels. Buona visione. Riccardo ---------------------------------------- AUTORE: 4 DATA :08/08/2005 - 08:34:19 ---------------------------------------- Molto interessante. Io \"sono riuscito\" a mandare in crash LV senza nemmen dover inserire un task , valido o meno, nel controllo DAQ MX... Credo che la situzione dipenda dal driver DAQ MX più che da LV, credo che continuerò ad usare i \"vecchi\" diver DAQ ancora per un pò. Ciao, ---------------------------------------- ================================================================================ CONTROLLO DATI PER SISTEMA DI SUPERVISIONE ================================================================================ AUTORE: 673 DATA :05/08/2005 - 14:04:39 ---------------------------------------- Ciao a tutti, da qualche giorno sono alle prese con un nuovo problema che non riesco però a risolvere. Allora, sto realizzando un sistema di supervisione per controllare da postazione remota lo stato di un impianto e i dati che ricevo mi vengono forniti dal PLC installato su tale macchinario. In corrispodenza di un indicatore di pressione presente nel pannello principale ho un messo un pulsante che, premuto, mi apre un altro vi in cui sono messi gli indicatori dei vari limiti che quella pressione può assumere per il corretto funzionamento dell'impianto. Su questo vi è presente un altro tasto che, premuto, apre ancora un altro vi dove questa volta sono messi dei controllori, dando la possibilità ad un utente di cambiare questi limiti (per la cronaca ho fatto questo altro vi perchè il suo accesso sarà vincolato da una password). I limiti sono 6 ma per semplicità faccio riferimento a 2 soltanto: MinE = Minima Emergenza MinA = Minima Anomalia dove MinE deve essere minore di MinA (MinE < MinA) Quello che devo fare è impedire che chi vuole modificare MinE non possa inserire un numero superiore a MinA. Qui è che mi sto incasinando anche se per dir la verità ci sono riuscito ma alla fine ho un problema. Spiego come ho fatto: per MinE ho creato un controllore fittizio (MinE 2) che non è connesso al PLC. Ho utilizzato la struttura CASE facendo in modo che se MinE2 < MinA allora MinE = MinE2 altrimenti mi viene ritornato un messaggio di errore. Tutto funziona correttamente come da programma ma c'è un problema: se dopo aver modificato MinE chiudo questo vi e poi lo riapro vedo che il controllore MinE 2 ha assunto non l'ultimo valore che gli avevo dato ma il suo valore di default (come detto MinE 2 è un controllore normale e fittizio, cioè, non connesso al PLC). Essendo questo valore di default minore di MinA, immediatamente anche MinE assume lo stesso valore. Ma io non voglio che questo succeda. Mi rendo conto che il tutto è un casino e vorrei chiedere se qualcuno di voi ha qualche idea in merito. E' possibile fare in modo che il controllore MinE 2 ricordi l'ultimo valore inserito? Ho provato ad imporre la condizione MinE 2 = Min E ma così facendo se cambio il valore di MinE 2 ritorna subito uguale a MinE, ovviamente. Qualcuno ha qualche suggerimento o magari un'altra idea da proporre? Ho allegato un esempio modificato di quello che ho fatto dove a sx ho messo l'inidicatore MinE (connesso al PLC) e a dx il controllore MinE 2 (fittizio). Grazie e scusate se sono stato molto prolisso. ---------------------------------------- AUTORE: 660 DATA :05/08/2005 - 14:41:20 ---------------------------------------- Non sono sicuro che sia la soluzione migliore, ma io utilizzerei una variabile globale dove scrivere i valori che vuoi e dove tutti gli altri VI possano andarseli a leggere. Ciao. ---------------------------------------- ================================================================================ waitbar o qualcosa del genere ================================================================================ AUTORE: 715 DATA :06/08/2005 - 14:33:29 ---------------------------------------- Ciao a tutti! Volevo chiedere se in LabView è possibile avere una barra o un indicatore che, mentre il programma sta eseguendo un'istruzione che richiede tempo, indichi quanto manca alla fine oppure indichi l'avanzamento in percentuale dell'operazione? Matlab ha la waitbar che è molto utile e comoda quando si fa girare un codice che magari ci impiega un bel po' a finire, e se LabView avesse questa funzionalità non sarebbe male! Grazie a tutti, alla prossima! Raffo ---------------------------------------- AUTORE: 247 DATA :07/08/2005 - 19:59:03 ---------------------------------------- Ciao, prova ad utilizzare <Profile VIs..> del menu Tools->Advanced (se non ricordo male, al limite cerca tra le voci dei menù...), è un tool semplice che ti consente di controllare i tempi di esecuzione dei vari VI ed il numero di volte che vengono chiamati durante l'esecuzione. Se hai bisogno di qualcosa di più sofisticato e stai utilizzando un target real time puoi comprare l'[url=http://sine.ni.com/nips/cds/view/p/lang/en/nid/13746:1fo8m78h]NI LabVIEW Execution Trace Toolkit[/url:1fo8m78h]. BYE. ---------------------------------------- AUTORE: 129 DATA :26/03/2006 - 12:30:30 ---------------------------------------- Potresti anche autocostruirtela, utrilizzando le funzioni di time, e un indicatore a barre. Se poi vuoi fare un lavoro fino esterno, potresti utilizzre un vi esterno per controllarla, mediante le tecniche viserver, che so mi viene in mente l'utilizzo di alcune proprietà che ti informano dello stato del VI, appena si mette in run, parte il conteggio, per poi terminare quando il vi viene terminato. Detta così è un pò macchinosa, ma è un punto di partenza. ---------------------------------------- ================================================================================ file compresso ================================================================================ AUTORE: 680 DATA :07/08/2005 - 11:01:39 ---------------------------------------- è possibile creare un file compresso (es. zip) con labview? ciao, grazie............ ---------------------------------------- AUTORE: 4 DATA :08/08/2005 - 08:30:18 ---------------------------------------- Puoi usare una dll tramite i Call Library Function Node trovi anche delle dll gratuite. Ciao, ---------------------------------------- ================================================================================ Come usarfe l'irda ================================================================================ AUTORE: 201 DATA :07/08/2005 - 22:12:26 ---------------------------------------- Qualcuno di voi sa come si usa l'irda in labview? Ho cercato sul forum di NI ma nn si trova nulla di utile ---------------------------------------- ================================================================================ campionamento di un segnale ================================================================================ AUTORE: 204 DATA :10/08/2005 - 19:55:23 ---------------------------------------- ciao a tutti, sto iniziando a usare LV con windows2000. Ho la necessita' di campionare un segnale a passo fisso. Il segnale da campionare ha un banda piuttosto limitata es. 30Hz. Ipotizzando di poter usare LV \"normale\" e non la versione Real-Time, non riesco a capire come posso fare..devo forse usare il ciclo TimeLoop? come faccio a \"registrare\" un certo numero di campioni per poterci fare sopra delle elaborazioni successive? Grazie dell'attenzione ---------------------------------------- ================================================================================ Salvataggio file ================================================================================ AUTORE: 520 DATA :10/08/2005 - 23:29:39 ---------------------------------------- Avrei necessità di salvare alcune misure eseguite dal mio VI e poterle rileggere con Labview. Ho dato un'occhiata a qualche esempio ma non ho ancora le idee chiare. Potete indicarmi qualche altro esempio semplice. Vi ringrazio Saluti Alessandro ---------------------------------------- ================================================================================ Acquisizione dati su cRio ================================================================================ AUTORE: 443 DATA :11/08/2005 - 08:38:25 ---------------------------------------- Ciao a tutti, devo sviluppare con il cRio un acquisistore dati da utilizzare come scatola nera. Il mio dubbio è: posso utilizzare parte della memoria fpga come un hard disk, con struttura file system, dove creare cartelle, file con i dati acquisiti con possibilità di modificarli o cancellarli, per poi copiarli su pc a fine acquisizione? grazie e buone vacanze ---------------------------------------- ================================================================================ Timed Loop ================================================================================ AUTORE: 204 DATA :11/08/2005 - 18:36:09 ---------------------------------------- ciao a tutti, sto pasticciando con i \"Timed Loops\" di LV con windows 2000. E' normale che il tempo di esecuzione di questi Loops non sia il tempo \"reale\"?. Se cronometro l'esecuzione di un ciclo che dura 10s mi accorgo che i 10s di LV non sono i 10s del mio orologio...come faccio a ottenere il miglior \"real time\" possibile? Grazie dell'attenzione ---------------------------------------- AUTORE: 596 DATA :12/08/2005 - 07:49:50 ---------------------------------------- Permettimi di essere scettico ma nella mia macchina funziona tutto a dovere sei sicuro di non sbagliarti? Prova il vi allegato Riccardo ---------------------------------------- ================================================================================ MEMORIZZARE UN DATO ================================================================================ AUTORE: 673 DATA :12/08/2005 - 08:27:04 ---------------------------------------- Ciao a tutti, ho un problema che non riesco a risolvere: sul pannello frontale di un vi ho inserito un controllore numerico e vorrei che, una volta immesso un certo numero e poi chiuso il vi, alla riapertura di questo ritrovi il valore che avevo precedentemente messo. Non so come fare perchè i controllori hanno un valore di default (che posso cambiare andando nelle proprietà) e quando riapro il vi il controllore non presenta l'ultimo valore immesso (prima della chiusura del vi) ma il suo valore di default. E',quindi, possibile che un controllore memorizzi un determinato valore anche dopo la chiusura del vi? Grazie ---------------------------------------- AUTORE: 680 DATA :12/08/2005 - 20:55:45 ---------------------------------------- ciao, ti allego una soluzione....... molto probabilmente, esistono anche metodi meno complicati... ciao........... ---------------------------------------- AUTORE: 673 DATA :16/08/2005 - 07:55:35 ---------------------------------------- Ciao, ti ringrazio per l'aiuto, è proprio il risultato che cercavo...anche se non ho capito un granchè su come l'hai realizzato. Grazie ancora ---------------------------------------- AUTORE: 596 DATA :08/09/2005 - 11:42:24 ---------------------------------------- Ti segnalo anche se un po' in ritardo, un tool molto potente e ben fatto, forse sarà utile anche agli altri. Property saver: [url:1s5od2eb]http://www.kshif.com/lv/[/url:1s5od2eb] Buon Lavoro \":wink:\" ---------------------------------------- AUTORE: 673 DATA :08/09/2005 - 14:52:51 ---------------------------------------- Ti ringrazio molto. Gli do subito un'occhiata. ---------------------------------------- AUTORE: 113 DATA :08/09/2005 - 16:20:32 ---------------------------------------- Ciao a tutti, non conoscevo il link segnalato da Riccardo. Ho scaricato il pacchetto Property saver e gli ho dato un'occhiata: devo dire che sono rimasto sbalordito dalla mole di lavoro svolto e soprattutto dall'utilità delle funzioni! \":o\" Si basano è vero su metodi che già utilizzo correntemente, ma trovarsi tutte quelle funzioni per gestire facilmente gli oggetti del pannello è un grosso riparmio di tempo! Fra i tool gratuiti di LV che ho visto, questo è sicuramente uno dei più utili! Grazie Riccardo per la segnalazione. \":wink:\" Alberto ---------------------------------------- AUTORE: 596 DATA :09/09/2005 - 11:36:18 ---------------------------------------- Di fatto questo toolkit supplisce ad una lacuna di Labview, lacuna non bloccante ma che come altre obbliga a perdere molto tempo a sviluppare codice per funzioni base. Labview dovrebbe contenere tali funzioni e mi sembra assurdo dover aspettare che qualche programmatore in giro per il mondo, frustrato da qualche mancanza si prenda la briga di sviluppare un pacchetto in maniera professionale e lo dia gratuitamente agli altri. Confidando in Labview 8 vi saluto, Ciao, Riccardo. ---------------------------------------- ================================================================================ scheda usb e circuiti elettrici ================================================================================ AUTORE: 633 DATA :12/08/2005 - 13:15:07 ---------------------------------------- Ciao a tutti, io utilizzo una scheda usb (adesso non ricordo il modello, ma della NI) per comandare dei motori. Visto il grande numero di uscite di cui necessito uso quelle digitali, e fino a qua tutto bene. Il problemi cominciano quando voglio azionare un piccolo relay con la mia uscita digitale! Aquanto pare il segnale non è costante a 5V e la corrente nel mio circuito non è sufficiente a far azionare la bobina! Ho provato a creare un circuito che aplificass eil segnale ma anche quello adesos è in crisi. Qualcuno di voi ha già avuto un'esperienza simile? So che esistono degli appositi drive per passare da digitale ad analogico, me ne potete consigliare qualcuno? grazie __________ BrainBurner ---------------------------------------- AUTORE: 680 DATA :12/08/2005 - 20:34:13 ---------------------------------------- spero di aver capito bene il tuo problema... ti allego un immagine per farti capire la mia soluzione: praticamente, devi usare un transistor per pilotare il relè poichè la corrente della tua uscita digitale non è sufficiente... ti spiego un po' come funzione questo circuito: -quando la tensione in ingresso sulla base del transistor (dove è scritto uscita digitale) supera circa i 0,7 V, il transistor satura è si eccita la bobina del relè. - quando la tensione scende sotto i 0,7 V il transistor si \"spegne\" e diseccita il relè. La resistenza R1 p stata dimesionata per un transistor 2N2222 con relè la cui tensione di eccitazione è di +5Vdc e la corrente richiesta è 100mA. Il diodo 1N4007 in antiparallelo alla bobina, detto anche diodio di \"freewheeling\", serve durante lo spegnimento del transistor poichè la bobina carica di corrente, vorrebbe scaricarsi sul transistor stesso, provocandone la rottura, invece va a scaricarsi sull'alimentazione. Spero di aver risolto il tuo problema......... Ciao ... p.s. se non sono stato chiaro, bussa pure.... ---------------------------------------- AUTORE: 680 DATA :12/08/2005 - 20:35:33 ---------------------------------------- scusa, mi ero dimenticato di allegarti l'immagine.... ciao........ ---------------------------------------- ================================================================================ customize control ================================================================================ AUTORE: 73 DATA :12/08/2005 - 13:55:46 ---------------------------------------- Ho un problema che per qualcuno di voi potrebbe essere banale ma io non riesco a risolverlo: vorrei fare un controllo con delle immagini mie ma quando importo l'immagine sul controllo di labview questa si porta dietro anche il contorno bianco ....quindi viene una schifezza. Ho provato anche con GIMP a far diventare lo sfondo trasparente poi copio la selezione nella clipboard ma quando faccio importe picture nel customize control stesso risultato...... Datemi una mano anche se è un problema solo estetico cmq tutto fa... Se li avete segnalatemi anche tutorial su come si costruiscono dei controlli carini così posso imparare. Grazie vostro delpi ---------------------------------------- AUTORE: 201 DATA :12/08/2005 - 14:12:17 ---------------------------------------- utilizza photoshop fai quello ke vuoi fare trasparente e lo salvi come gif, stando attento di attivare la trasparenza (bianco\ ero). ciao ---------------------------------------- AUTORE: 73 DATA :12/08/2005 - 14:21:52 ---------------------------------------- Grazie blow x la celerità ma io con GIMP ho già reso lo sfondo trasparente xò quando imjporto l'immagine si forma il quadrato bianco come già detto ---------------------------------------- ================================================================================ vettore 2D da visualizzare su schermo ================================================================================ AUTORE: 204 DATA :13/08/2005 - 10:50:11 ---------------------------------------- ciao a tutti, ho un vettore nx2 (la prima colonna e' il tempo e la seconda colonna rappresenta una serie di valori) e vorrei plottarlo in qualche modo. Qual'e' il metodo piu' semplice e veloce? Grazie dell'attenzione ---------------------------------------- AUTORE: 680 DATA :14/08/2005 - 09:16:51 ---------------------------------------- eccoti un esempio............... ---------------------------------------- AUTORE: 204 DATA :14/08/2005 - 19:11:12 ---------------------------------------- Grazie della risposta! un'ultima cosa... E se io volessi sostituire l'indicatore \"l'indicatore\" con ex. il graph xy? saluti Fabrizio ---------------------------------------- AUTORE: 680 DATA :15/08/2005 - 15:53:02 ---------------------------------------- cosi??? ---------------------------------------- ================================================================================ DLL OCX ================================================================================ AUTORE: 759 DATA :16/08/2005 - 09:39:40 ---------------------------------------- Ciao a tutti, volevo un'informazione su come gestire gli oggetti tipo dll / ocx. In pratica sono in grado di gestirli in Visualbasic ma non riesco con Labview. Esiste un modo per importare il codice vb il labview? Allego l'ocx che non riesco a far funzionare con labview Grazie Vincenzo ---------------------------------------- AUTORE: 680 DATA :16/08/2005 - 11:07:58 ---------------------------------------- ti 6 dimenticato di allegare l'ocx... ---------------------------------------- AUTORE: 759 DATA :16/08/2005 - 12:37:43 ---------------------------------------- Grazie, provvedo subito. Ciao ---------------------------------------- AUTORE: 129 DATA :19/08/2005 - 18:31:50 ---------------------------------------- Non so cosa il tupo controllo deve fare, quindi non riesco a ottenere risultati da labview, comunque devi: -registrare l'ocx con il comando regsvr32 dal start/esegui -da labview crei un refnum application e con browse lo connetti al tuo ocx, che se correttamente registrato tiu appare nella lista. -dal diagramma, tasto destro sul refnum e create property o method a seconda di cosa vuoi eseguire. Sperando che hai la versione LV7.1 ti allego un VI di esempio: ---------------------------------------- AUTORE: 759 DATA :12/09/2005 - 21:54:59 ---------------------------------------- Grazie per la risposta e scusami della mia non celerità, ma ho avuto qualche problema. Grazie di nuovo Vincenzo ---------------------------------------- ================================================================================ FPGA - help me ================================================================================ AUTORE: 174 DATA :19/08/2005 - 18:06:15 ---------------------------------------- Ragazzi scusate, ma chiedo aiuto io questa volta in modo urgente ! Qualcuno ha pratica di installazione fpga module ver 1.0 per labview 7.0 ? Help \":o\" grazie a tutti ! ---------------------------------------- ================================================================================ controllo di applicazioni ================================================================================ AUTORE: 480 DATA :22/08/2005 - 11:04:07 ---------------------------------------- Ciao a tutti, capisco che siamo ancora in agosto... ma mi è venuta voglia di fare qualcosa di diverso! Il problema è questo: voglio controllare un'applicazione ,ad esempio WinAmp, da LabView. Mi spiego meglio: mentre WinAmp è in esecuzione vorrei comandarlo da un applicazione LabView quindi mandare avanti, indietro, alzare e diminuire il volume... cose del genere! Questo mi serve perchè voglio sviluppare un modulino seriale con ricevitore IR per comandare alcune applicazioni. Qualcuno mi aiuta? Potremmo sviluppare insieme il progetto e dividerci magari il controllo delle applicazioni (WinAmp, VLC, WindowsMediaPlayer, ...)! grazie, Vincenzo ---------------------------------------- AUTORE: 129 DATA :22/08/2005 - 12:57:29 ---------------------------------------- Con winmediaplayer qualcosa è già stata fatta, si parla ancora dei controlli activeX, addirittura il player risiedeva in labview con i container. Se trovo qualcosa te lo invio. Ciao... ---------------------------------------- AUTORE: 480 DATA :25/08/2005 - 08:00:15 ---------------------------------------- Grazie Nicola, io comunque cercavo di controllare l'applicazione in esecuzione all'esterno di labview. Non mi interessa utilizzare gli activex! Di sicuro si può fare... ho già visto un programmino che controlla WinAmp leggendo una seriale che riceve gli infrarossi. A presto... ---------------------------------------- ================================================================================ Liberare la memoria ================================================================================ AUTORE: 238 DATA :22/08/2005 - 14:53:49 ---------------------------------------- Devo elaborare dei dati di un array (circa 500.000x48 valori numerici) (LabView 6.1). Attualmente i VI che ho creato funzionano però utilizzano troppa memoria \":evil:\" Domanda: Si riesce a “cancellare” dei dati intermedi (tra dati iniziali e array di dati finali) per liberare della memoria (cancellare Array creati da SubVI) \":?:\" ---------------------------------------- AUTORE: 129 DATA :22/08/2005 - 16:46:12 ---------------------------------------- Potresti essere più dettagliato? CAncellare elementi o subarray è possibilissimo e comunque l'elaborazione di matrici molte volte è gravosa in termini di memoria perchè non vengono utilizzati accorgimenti per la deallocazione di memoria. Prova se riesci a postare il vi su cui devi fare l'elaborazione o la parte che ti interessa ottimizzare. Utilizzi shift register, while loop o cicli for? ciao Nic ---------------------------------------- AUTORE: 238 DATA :26/08/2005 - 07:44:56 ---------------------------------------- Ho modificato l’ elaborazione dei dati in modo da abbassare drasticamente il “consumo” di Ram . Tuttavia ti invio una parte dei VI perchè una parte non mi piace affatto \":!:\" Nota: Il tempo tra le singole misure non e’ costante e pertanto non potevo utilizzare il “Digital waveform graph”. “Select Dig1” arriva da un interfaccia operatore dove si possono selezionare i Bit da visualizzare sul grafico. “Data Dig1” sono i dati in forma numerica di cui verranno visualizzati i Bit definiti in “Select Dig1” La parte che non mi piace e’ come ho creato i cluster di Dati per “XY Graph” \":?\" ---------------------------------------- AUTORE: 238 DATA :22/09/2005 - 07:51:06 ---------------------------------------- Tempo fa ho accennato al problema di come si possa liberare della memoria cancellando dati intermedi (tra dati sorgente e dati finali). Allego un Vi di prova dove però ho riscontrato che anche cancellando i dati del “Array” la memoria si libera solo in parte \":?\" ---------------------------------------- AUTORE: 751 DATA :22/09/2005 - 13:45:43 ---------------------------------------- Ciao, hai provato a leggere questo pdf della National? Magari trovi qualke spunto buono x ottimizzare la tua applicazione dal punto di vista \"occupazione di memoria\". \":wink:\" Buon lavoro. ---------------------------------------- AUTORE: 238 DATA :22/09/2005 - 15:40:53 ---------------------------------------- Non riesco a scaricare il tuo file PDF Potresti controllare , grazie ---------------------------------------- AUTORE: 247 DATA :22/09/2005 - 17:20:42 ---------------------------------------- Ciao, il documento postato lo puoi trovare anche seguendo questo link: [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/732CEC772AA4FBE586256A37005541D3:n0vo0tyj]LabVIEW Performance and Memory Management[/url:n0vo0tyj] BYE. ---------------------------------------- AUTORE: 1001 DATA :22/12/2005 - 13:12:30 ---------------------------------------- Ciao a tutti!!! Ieri avevo scritto perchè avevo un problema di blocoo della seriale!Oggi facendo prove più accurate ho visto che il programma non si bloccava perchè si intasava la seriale ma perchè pian piano si riempie tutta la RAM con il conseguente blocco del sistema!!! Come posso fare per togliere questo problema?? Esiste un comando o una procedura in labview che mi permetta di svuotare la Ram da file obsoleti? Grazie! ---------------------------------------- ================================================================================ customize control2 ================================================================================ AUTORE: 73 DATA :23/08/2005 - 14:52:17 ---------------------------------------- Ho una seconda domanda domanda sull'edit dei controlli, vi spiego cosa voglio fare: -preso un controllo con la barra di spostamento orizzontale vorrei che la freccia che indica il punto fosse un'altro controllo di quelli con la freccia che indica i gradi di rotazione; insomma vorrei che quello rotativo si spostasse secondo quanto indica quello orizzontale. Si può fare secondo voi? ---------------------------------------- AUTORE: 247 DATA :25/08/2005 - 21:29:11 ---------------------------------------- Ciao, per la prima versione della tua richiesta [quote:1ombx7d0]-preso un controllo con la barra di spostamento orizzontale vorrei che la freccia che indica il punto fosse un'altro controllo di quelli con la freccia che indica i gradi di rotazione; [/quote:1ombx7d0] ...non saprei aiutarti, non penso sia possibile sostituire lo slider della barra con un controllo rotativo utilizzando il sempice edit control dato che sono due oggetti non compatibili: lo slide viene considerato una decorazione mentre il controllo rotativo..un controllo appunto. Hai più speranze, anzi la certezza di poter realizzare il tuo: [quote:1ombx7d0]\"insomma vorrei che quello rotativo si spostasse secondo quanto indica quello orizzontale.\"[/quote:1ombx7d0] dato che per fare questo, senza pretedere che il controllo rotativo segua lo scorrimento dello slide, devi semplicemente sfruttare questa tecnica: 1- Piazzi il controllo a barra con slide scelto dalla palette numeric sul front panel. 2- Rendi visibile il suo Digital Display.(tasto dx sul controllo->Visible Items->..) 3- Selezioni il controllo e poi scegli la voce di menù Edit->Customize Control.. 4- In modalità Customize Control, tasto dx sul Digital Display e selezioni dal menù che appare <Replace Control> ..ora puoi cercare, e di conseguenza sostituire, il Digital Display con il controllo rotativo che preferisci. 5- Salvi il tutto e utilizzi il nuovo controllo. Questa tecnica è, tra l'altro, utilizzabile \"in serie\" dato che il nuovo controllo scelto per sostituire il Digital Display del principale ha la possibilità a sua volta di visualizzare un suo Digital Display che può essere all'occorrenza sostituito con un'altro controllo a sua volta e avanti così...utilità di avere 10000 controlli tutti collegati a parte... Vedi l'esempio. Se scopri come sostituirlo allo slide fammelo sapere!!! BYE. ---------------------------------------- AUTORE: 73 DATA :26/08/2005 - 08:03:44 ---------------------------------------- Grazie Apollon sei puntuale come al solito ....... ---------------------------------------- AUTORE: 73 DATA :26/08/2005 - 08:07:47 ---------------------------------------- Non sono riuscito a sostituirlo allo slide effettivamente ma lo ho fatto virtualmente, mi spiego: ho reso lo slide trasparente e ho piazzato al suo posto il controllo rotativo, a quel punto lo faccio muiovere sull'asse orizzontale di un fattore proporzionale al valore che da' il controllo slide con il property node di posizione left. Naturalmente tutto funzione se e solo se il programma sta giraando.. ---------------------------------------- ================================================================================ customize control 3 ================================================================================ AUTORE: 73 DATA :23/08/2005 - 16:27:58 ---------------------------------------- Altra domanda sul customize control: In un controllo di quelli a rotazione si può mettere un'altra immagine al posto della lancetta? Io ho provato a inserire un'altra immagine ma questa non ruota incernierata in un punto come la lancetta ma in un modo tutto suo.... Sapete come fare? ---------------------------------------- ================================================================================ LabView e Visual Basic ================================================================================ AUTORE: 443 DATA :23/08/2005 - 16:35:12 ---------------------------------------- Salve a tutti, sono alle prese con un acquisitore dati con cRio; l'intenzione sarebbe fare il front end con Visual Basic e far girare la parte in LabView come dll oppure, vice-versa, far girare la parte in VB come dll sotto LabView...sapete se è possibile? Il problema è come gestire la comunicazione, infatti mi interessa poter inviare dal front end dei comandi come start-stop acquisizione al cRio e ricevere, per visualizzarli, dati o bit di stato sull'acquisizione... conoscete una soluzione grazie ---------------------------------------- AUTORE: 129 DATA :02/03/2006 - 22:39:52 ---------------------------------------- [quote:2egvbsuj]far girare la parte in VB come dll sotto LabView...sapete se è possibile? [/quote:2egvbsuj] In labview puoi utilizzare il \"call library function node\" per comunicare con le funzioni di dll esterne (ovviamente ne devi conoscere i parametri e i tipi di dato). [quote:2egvbsuj]mi interessa poter inviare dal front end dei comandi come start-stop acquisizione al cRio[/quote:2egvbsuj] Penso che esistano i driver anche per Visual Basic (prova a sentire da NI), comunque se hgai l'application builder puoi realizzare una dll in labview per la gestione della comunicazione e quindi importrarla nel tuo front end in VisualBasic. ---------------------------------------- ================================================================================ schermata che cambia alla pressione di un tasto ================================================================================ AUTORE: 204 DATA :24/08/2005 - 20:24:04 ---------------------------------------- ciao a tutti, vorrei realizzare un qualche cosa simile, per capirci, alle schermate che compaiono durante l'installazione di un software windows. Tipo schermata del front panel che cambia alla pressione di un tasto \"next\". Come posso fare con LV? Grazie dell'attenzione ---------------------------------------- AUTORE: 480 DATA :25/08/2005 - 08:11:25 ---------------------------------------- Ciao Birkof, io ne ho fatto uno un po' di tempo fa. Mi serviva impostare una serie di parametri alla prima esecuzione e così' ho fatto un vi che raccogliesse tutto in un cluster che utilizzavo poi nel mio programma. In sostanza devi costruire una piccola macchina a stati! Spero che il mio esempio sia chiaro.... \":o\" Vincenzo ---------------------------------------- AUTORE: 480 DATA :25/08/2005 - 08:14:12 ---------------------------------------- Scusami... non sono riuscito ad allegare il file. Adesso ci riprovo! \":?\" ---------------------------------------- AUTORE: 204 DATA :28/08/2005 - 10:50:16 ---------------------------------------- Grazie! E' proprio quello che cercavo ---------------------------------------- AUTORE: 238 DATA :06/09/2005 - 16:01:01 ---------------------------------------- Ti invio una soluzione che uso di tanto in tanto che a parere mio ha il vantaggio di non dover lavorare sempre sulla visibilità. ---------------------------------------- ================================================================================ Come compilare… so che questo non è nuovo ================================================================================ AUTORE: 655 DATA :25/08/2005 - 14:42:01 ---------------------------------------- Salve a tutti, da un bel sto utilizzando Labview per motivi di lavoro, ho fatto diversi programmi per il controllo di diverse apparecchiatura e fino adesso andato bene, ma ho un problema nella compilazione dei programmi fatti con labview. Nel momento che voglio compilarlo non mi da nessun errore, ma ogni tanto non si compila tutto, per esempio mancano certe cose come grafici o altre, non riesco a capire perchè se tutti i subvi sono nella stessa cartella. Altro per esempio è che la comunicazione tra pc i diversi moduli (della national e altri) sono più lenti con il compilato che con quello che non lo è. Se qualcuno mi può spiegare come fare a compilare correttamente un programma de labview e fare il modo di togliere qualunque errore, sarò felice di ringraziarli per questo. Jubal Gil ---------------------------------------- ================================================================================ Creazione di menu' bar nel front panel ================================================================================ AUTORE: 204 DATA :01/09/2005 - 15:21:02 ---------------------------------------- ciao a tutti, vorrei inserire una classuca menu' bar nel mio front panel. Per intenderci, vorrei inserire una menu' bar con i soliti File, Config, Help ecc. che con un click si aprono a tendina.. Grazie dell'attenzione ---------------------------------------- AUTORE: 129 DATA :02/09/2005 - 07:49:02 ---------------------------------------- Puoi modificare il menu, dal menu EDIT/Runtime menu. Le voci che inserisci CUSTOM, puoi utilizzarle da programma utilizzando le funzioni disponibili dalla palette application/menu. ---------------------------------------- AUTORE: 204 DATA :03/09/2005 - 09:58:43 ---------------------------------------- Grazie della risposta! Posso associare, alle operazioni presenti nel mio menu, delle funzionalita' qualunque oppure ho a disposizione solo quelle presenti in \"Application item\" (io uso LV 7.1) ? GRazie del supporto ---------------------------------------- ================================================================================ Calcolo del checksum ================================================================================ AUTORE: 238 DATA :01/09/2005 - 16:04:09 ---------------------------------------- Devo creare una comunicazione seriale con un apparecchio con la seguente struttura <h><indirizzo><commando><otto byte commando><c><t> dove <h> header = “@” (40)h ; <t> terminatore (2A0D)h il mio problema e’: come si calcola il <c> (LCR 2Byte ASCII) che dovrebbe essere l’or esclusivo di tutti i byte dall’ inizio fino a <t> \":?:\" Buio totale \":!:\" ---------------------------------------- AUTORE: 247 DATA :03/09/2005 - 10:32:11 ---------------------------------------- Ciao, prova a vedere se le spiegazioni ed il VI contenuto in [url=http://www.morechemistry.com/publ/labview/004-crc/crc_01.html:2ef28f8w]questa pagina[/url:2ef28f8w] fanno al caso tuo. BYE. ---------------------------------------- AUTORE: 238 DATA :05/09/2005 - 11:02:48 ---------------------------------------- Ti ringrazio ! Nel fra tempo ho trovato anch’io una soluzione che allego.(Calcolo_Checksum.vi) Perö ho una domanda: Come si converte una stringa composta da codici ASCII in testo \":?:\" La mia soluzione (ASCII_to_String.vi) mi sembra un po’ laboriosa ---------------------------------------- AUTORE: 247 DATA :05/09/2005 - 11:53:04 ---------------------------------------- Ciao, se la stringa di partenza è quella che c'è nell'esempio non hai altra soluzione che dividerla in coppie di caratteri e poi farne la conversione...quindi non trovo che il tuo VI sia complesso; aveva solo un errore che ho corretto in quello che allego. Piuttosto vedi se la divisione in coppie può essere fatta prima di creare la stringa, ovvero se puoi creare l'array di stringhe contenente elementi di due caratteri prima e poi convertire quello; penso infatti che attualmente tu riceva i caratteri singoli con i quali formi la stringa...per poi ridividerli di nuovo in base ai caratteri singoli per la conversione...spero si sia capito il suggerimento \":D\" \":D\" \":D\" \":D\" BYE. ---------------------------------------- ================================================================================ Controllore PI ================================================================================ AUTORE: 438 DATA :01/09/2005 - 16:40:25 ---------------------------------------- Ciao a tutti. Mi avete aiutato tanto in passato e sono certo che saprete aiutarmi anche questa volta. \":wink:\" Problema: devo utilizzare un Controllore PI (Proporzionale,Integrale). Ho un Numro(N1) fisso, ed un altro N2 che è calcolato da un'applicazione LabView in Real Time. Devo modificare N2 tramite un Controllore PI in modo che questo si avvicini sempre più a N1. Qualcuno ha qualche suggerimento da darmi? L'intero sistema da controllare è complesso e noioso, quindi non vi sto ad annoiare con l'intera descrizione, spero basti ciò che ho scritto. Ringrazio tutti in anticipo, per le risposte che riceverò. Ciao \":D\" PS: meno male che c'è questo sito ---------------------------------------- AUTORE: 247 DATA :04/09/2005 - 16:26:32 ---------------------------------------- Ciao, Le \"idee\" sui controllori PID o semplicemente PI non sono mai semplici e veloci da esporre dato che l'Automatica come disciplina non scherza proprio...cmq prova a rivedere [url=http://www.ilvg.it/forum/viewtopic.php?t=682&start=0&postdays=0&postorder=asc&highlight=:a29ciav8]questa discussione[/url:a29ciav8] se ti può aiutare. BYE. ---------------------------------------- AUTORE: 438 DATA :07/09/2005 - 11:14:06 ---------------------------------------- Grazie apollon per il suggerimento, è stato fruttuoso. Anzi mi sono scaricato anch'io il controllore PID scritto da blow. Approposito. Se blow dovesse legger questo topic vorrei chiedergli come mai esiste un blocchettino per la retroazione e perchè all'interno vi è una costante moltiplicativa del 75%. Grazie ancora....meno male che ci siete voi!! \":wink:\" ---------------------------------------- ================================================================================ Utilizzare le dll in parallelo ================================================================================ AUTORE: 278 DATA :05/09/2005 - 18:44:46 ---------------------------------------- Ciao a tutti, Ho un problemino che , ultimamente, sta tenendo un pò \"banco\" nelle discussioni lavorative, e, dato che siamo in assenza di opinionisti d'alto rango (Ale torna presto!!!!! \":cry:\" ), rivolgo questo quesito a tutti voi. Ho la necessità di utilizzare un software creato con Labview 6.1 \"sdoppiandolo\" nel senso che voglio effettuare 2 chiamate separate e indipendenti al codice. Serve per controllare 2 macchine identiche, quindi non ho molta scelta (se non sdoppiare fisicamente tutto il codice creando agli effetti 2 vi separati). Per quanto riguarda la parte Lv non ho incontrato molti problemi, ho configurato il VI come rientrante e tutto sembra filare liscio, SEMBRA, infatti il problema credo che risieda nella dll che richiamo nel codice LV. La mia domanda, che non scende nello specifico dell'applicazione è questa, configurando il VI come descritto sopra in modo che sia rientrante, è possibile che la dll che viene richiamata NON sia rientrante? Il problema nel'applicativo è che le 2 macchine non eseguono i comandi in modo \"parallelo\" (faccio presente che sono comandate dalla stessa macchina) ma in modo \"sequenziale\", prima una, dopo l'altra, MAI contemporaneamente. Non capisco molto di dll, so come si utilizzano, certo, ma non ho la più pallida idea se una cosa del genere sia fattibile. Non so, magari la dll che utilizzo non può essere richiamata dal top VI in modo che sia rientrante, ed è per questo che esegue sempre le istruzioni una alla volta, perchè la dll chiamata è solo una e non 2 come ci si aspetta dal fatto che i VI \"chiamanti\" siano virtualmente 2; lo conferma il fatto che le istruzioni eseguite dalle 2 macchine non sono identiche ma seguono ciascuna il suo normale processo, a RATE, ma lo fanno (piccola consolazione \":wink:\" ) Attendo ogni vostra considerazione!!!! A presto ---------------------------------------- AUTORE: 247 DATA :05/09/2005 - 22:23:49 ---------------------------------------- Ciao vecchio e ormai solitario duetempista da pista! Non ha ancora grippato il gioiello??? ..spero che non lo faccia MAI..ma quando chiedi 70 cavalli ad un 250...beh...non si può avere un Highlander! Riguardo alla tua domanda mi sorge il seguente dubbio: dici di aver settato il VI come rientrante, ma hai fatto la stessa cosa con la DLL cliccandoci sopra due volte e scegliendo l'opzione reentrant nel menù a tendina dove di default c'è scritto \"Run in UI Thread\"??? Controlla e poi dicci! Ps: cmq attenzione alle DLL settate come reentrant all'interno di VI settati a loro volta come rientranti...trattasi di settaggio demoniaco \":twisted:\" e di intreccio di thread e priorità mistico \":o\" !!! ...alle volte sorge qualche problemino(ad es. se sfruttano multithreading, semafori su globali e altro, se ti serve la lista dimmelo).. BYE..e se accetti i lamps di uno scooterista anche LAMPS! Ci vediamo. ---------------------------------------- AUTORE: 278 DATA :06/09/2005 - 10:16:07 ---------------------------------------- Carissimo Apollon, Piu che un`amico sei una garanzia!!! Sinceramente, non sapevo di questa possibilita`, da \"ignorante\" credevo che fosse gia` fatta impostando come rientrante il VI chiamante. cambiando discorso, [quote:jqrkh1r8]Ciao vecchio e ormai solitario duetempista da pista! Non ha ancora grippato il gioiello??? ..spero che non lo faccia MAI..ma quando chiedi 70 cavalli ad un 250...beh...non si può avere un Highlander! [/quote:jqrkh1r8] GIA` FATTO \":evil:\" \":evil:\" \":evil:\" \":evil:\" BEN 2 VOLTE \":evil:\" \":evil:\" \":evil:\" \":evil:\" Aspetto quest`inverno per ri-rimetterla in sesto. Nel frattempo (da bravo motociclista) ho comprato in missile terra-terra a 4 tempi per scorazzare in giro per le valli mentre la cara e gloriosa RS la riservo per le smanettate in pista (ovviamente dopo aver fatto un po` di make-up al motore e alla carrozzeria). Di nuovo GRAZIE INFINITE e alla prossima, ti terro` aggiornato sui risultati (soprattutto sul MATRIX di thread che si formeranno!!!) LAMPS!!!! ---------------------------------------- AUTORE: 247 DATA :06/09/2005 - 11:53:01 ---------------------------------------- [quote:2qj75z65]GIA` FATTO \":evil:\" \":evil:\" \":evil:\" \":evil:\" BEN 2 VOLTE \":evil:\" \":evil:\" \":evil:\" \":evil:\" Aspetto quest`inverno per ri-rimetterla in sesto. [/quote:2qj75z65] BAD BAD BAD...cmq spero senza conseguenze alle tue ossa... In effetti è una cosa che chiunque abbia una RS garantisce come esperienza unica ogni circa 15/20000 Km... Va beh, tanto ti sei rifatto con il missile TT.. \":D\" BYE! \":D\" P.S. Mi scuso con il forum per l'OT...mi auto-invio un richiamo alle regole... ---------------------------------------- AUTORE: 278 DATA :19/09/2005 - 18:11:31 ---------------------------------------- Beh, capita spesso che i topic si concludano senza sapere l'esito dei consigli.... Anche se in ritardo, ti devo proprio ringraziare perche', grazie al tuo consiglio, tutto ora funziona a dovere! \":D\" \":D\" \":D\" \":D\" Un grazie speciale anche da parte del laboratorio di analisi dell'Ospedale S. Raffaele (MI) \":wink:\" \":P\" ---------------------------------------- ================================================================================ Strano controllo ================================================================================ AUTORE: 113 DATA :07/09/2005 - 09:00:21 ---------------------------------------- Ciao a tutti! provate a dare un occhio a questa vi. \":o\" LabVIEW ha capacità grafiche che possono sorprendere... Chi me la spiega? Alberto P.S. non è tutta farina del mio sacco! \":wink:\" ---------------------------------------- AUTORE: 129 DATA :07/09/2005 - 09:35:53 ---------------------------------------- QUesta è veramente bella, Alberto. Secondo me: SI lavora praticamente sul digital display, e dal pannello di editazione del controllo, facendo tasto destro sul digital displey si seleziona replace, quindi si sostituisce con un altro controllo con digital display e si fa la stessa operazione. ---------------------------------------- AUTORE: 247 DATA :07/09/2005 - 09:47:01 ---------------------------------------- Ciao, hai usato la tecnica che ho illustrato in [url=http://www.ilvg.it/forum/viewtopic.php?t=971&start=0&postdays=0&postorder=asc&highlight=:1c5szu48]questo post[/url:1c5szu48]. Un'altra possibilità interessante è quella di poter sostituire all'index display di un array un controllo a barra, basta prima creare un controllo a barra, renderlo di tipo I32 e poi salvarlo, fatto questo puoi sostituirlo all'index display facendo customize control(tipo esempio); unico inconveniente il fatto che il ritocco grafico diventa complicato..ma cmq ancora fattibile. Credo che al digital display o index display o simili siano sostituibili più tipi di controlli di quello che sembra, basta definirne meglio il tipo osservando la compatibilità richiesta e creando così controlli tipizzati da utilizzare per la sostituzione. Ovviamente anche questa non è \"tutta farina del mio sacco\"..ma non l'abbiamo scritto noi LV no? ..quindi è lecito imparare e condividere! BYE. P.S. La seconda tecnica la trovi cercando nel forum NI. ---------------------------------------- AUTORE: 129 DATA :07/09/2005 - 10:27:04 ---------------------------------------- metendo insieme le cose si possono riprendere gli ostacoli su rappresentazioni grafiche. ---------------------------------------- AUTORE: 113 DATA :07/09/2005 - 10:47:37 ---------------------------------------- Bravi! Veloci come al solito! Non conoscevo la discussione indicata da te Apollon, ma ho preso spunto da questa discussione della Devzone: http://forums.ni.com/ni/board/message?b ... .id=127096 Alla quale tu fai probabilmente riferimento. Onestamente non conoscevo proprio questa possibilità \":oops:\" Certo che personalizzare un'array con una slidebar invece di quell'odioso index display non è male \":wink:\" Ciao ancora, Alberto ---------------------------------------- AUTORE: 247 DATA :07/09/2005 - 10:49:28 ---------------------------------------- Ciao, Veramente bello l'effetto grafico!!! X NICOLA: Cmq posso chiedere una cosa? L'avevi già fatto ma non lo potevi condividere per motivi \"di lavoro\", perchè non sei autorizzato ad es. a divulgare ciò che scopri sul posto di lavoro, oppure l'hai realizzato ora? Ti chiedo questo semplicemente perchè sarebbe una questione per la quale varrebbe la pena aprire un post od un sondaggio... BYE. ---------------------------------------- AUTORE: 129 DATA :07/09/2005 - 13:03:13 ---------------------------------------- Lo sai che sono per condividere tutto. L'ho fatto sull'idea di Alberto, poi sei arrivato te e ho detto fondiamo i geni e ho completato con il tuo consiglio su arry che non ricordavo. Bentornati.... ---------------------------------------- ================================================================================ Break Event Structure ================================================================================ AUTORE: 295 DATA :07/09/2005 - 09:08:15 ---------------------------------------- Ciao, ho un problema con l'interruzione di un while all'interno di una event structure \":(\" (allegato). Il VI rimane in loop all'interno del while senza che io riesca più a interrompere il while \":?\" . Per ora ho ovviato il problema usando degli event cases, ma ero curioso di capire come fare usando l'event structure. Grazie, ciao ---------------------------------------- AUTORE: 482 DATA :07/09/2005 - 10:06:46 ---------------------------------------- Mi stavi mettendo in crisi! NOn conoscevo questa opzione. Prova ad editare il Case event e guarda in basso! C'e' una casellina che chiede se vuoi bloccare il front panel finquando il case non è terminato. Essendo questa abilitata entri in un loop infinito! \":wink:\" ---------------------------------------- AUTORE: 295 DATA :07/09/2005 - 13:05:53 ---------------------------------------- Grazie, era quello che cercavo!!! ---------------------------------------- ================================================================================ oggetto in movimento... ================================================================================ AUTORE: 680 DATA :07/09/2005 - 10:07:08 ---------------------------------------- ciao, volevo sapere se qualcuno di voi sa come fare per far muovere una pallina sullo schermo di moto vario e casuale.... ciao e grazie mille.............. ---------------------------------------- AUTORE: 247 DATA :07/09/2005 - 10:43:44 ---------------------------------------- Ciao, ovviamente devi utilizzare le proprietà di posizionamento degli oggetti aggiungendo o sottraendo in modo casuale spostameti nella quattro direzioni. dall'esempio si dovrebbe capire, è molto semplice, secondo me una cosa da aggiungere è la percezione dell'ostacolo, ovvero quando tocca le pareti dovrebbe tornare indietro, attualmente il suo movimento è totalmente RND. BYE. ---------------------------------------- ================================================================================ priorita' di esecuzione ================================================================================ AUTORE: 204 DATA :13/09/2005 - 18:12:56 ---------------------------------------- ciao, e' possibile cambiare la priorita' di esecuzione dei blocchi all'interno di un vi? Mi spiego..devo creare un vi sotto windows che controlla la movimentazione di una macchina. All'interno dello stesso vi devo inserire una sezione di acquisizione e elaborazione dei dati acquisiti. Dato che windows fa un po' quello che vuole e ho poco determinismo, mi chiedevo se era possibile imporre alla sezione di controllo una priorita' di esecuzione maggiore rispetto alla sezione di elaborazione dei dati... Qualcuno mi puo' aiutare? GRazie dell'attenzione ---------------------------------------- AUTORE: 247 DATA :13/09/2005 - 20:09:21 ---------------------------------------- Ciao, devi scegliere nel modo corretto il contesto di esecuzione ed il livello di priorità dei VI adattandoli alle tue esigenze come spiegato in questi due documenti: - [url=http://digital.ni.com/public.nsf/allkb/84081F249CEF7AB7862569450074168C:11nah60p]How Does Priority Affect the Execution of VIs?[/url:11nah60p] - [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/D2E196C7416F373A862568690074C759?OpenDocument&node=#4:11nah60p]Using LabVIEW to Create Multithreaded Applications for Maximum Performance and Reliability[/url:11nah60p] In più puoi settare il livello di prorità dell'applicazione LabVIEW tra i processi Win in esecuzione modificandone il livello tramite il Task Manager come spiegato in: - [url=http://digital.ni.com/public.nsf/websearch/07E7442B0B1C46B286256586006AD76C:11nah60p]How Can I Set Different Priorities for My LabVIEW or LabWindows/CVI Executables under Windows NT?[/url:11nah60p] Consiglio sempre valido è anche quello di eliminare ogni processo Win che non sia, al momento, strettamente necessario. Se non ti bastano le prestazioni ma vuoi mantenere il PC come target , puoi cercare RTX(Real Time Extensions - a pagamento) nel sito NI, si tratta di una estensione RT di Win che crea un \"ambiente LabVIEW\" dove il tuo codice LV può ottenere la stessa priorità di esecuzione che ha Win nei confronti del processore, praticamente LV ottiene priorità uguale a quella del kernel. Se vuoi spingerti ancora oltre ci sono anche ETS..FP RT..RIO.. BYE. P.S. Alza molto gradatamente la priorità sotto Win, altrimenti rischi praticamente di bloccare l'interfaccia utente. P.P.S. Se volevi un consiglio più mirato dello sciropparsi manuali....posta ancora! \":D\" \":D\" \":D\" ---------------------------------------- AUTORE: 204 DATA :15/09/2005 - 15:24:30 ---------------------------------------- Grazie mille! sei stato chiaro e preciso! Faccio qualche prova e poi sicuramente ci risentiamo \":-)\" Saluti ---------------------------------------- AUTORE: 204 DATA :19/09/2005 - 17:06:01 ---------------------------------------- ciao, ho letto i links che mi hai mandato. Mi pare di aver capito che la priorita' e' impostabile solo sui vi. Mi spiego..devo creare dei subvi con dentro raggruppato il codice che vogliono rendere \"piu' prioritario\" e poi cambiare la priorita' dal menu->VI properties->. Non posso modificare la priorita' di esecuzione di un singolo es. nodo sommatore, pulsante ecc. senza averlo inserito prima in un subvi. E' corretto? Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :19/09/2005 - 22:32:51 ---------------------------------------- Ciao, [quote:3bt2gw9l]Mi pare di aver capito che la priorita' e' impostabile solo sui vi. Mi spiego..devo creare dei subvi con dentro raggruppato il codice che vogliono rendere \"piu' prioritario\" e poi cambiare la priorita' dal menu->VI properties->.[/quote:3bt2gw9l] Corretto, l'unita di codice della quale puoi impostare il livello di priorità è il VI. [quote:3bt2gw9l]Non posso modificare la priorita' di esecuzione di un singolo es. nodo sommatore, pulsante ecc. senza averlo inserito prima in un subvi. E' corretto?[/quote:3bt2gw9l] Non mi risulta possibie modificare la priorità di esecuzione delle singole funzioni nè tantomeno dei controlli. BYE. \":D\" \":D\" ---------------------------------------- AUTORE: 204 DATA :26/09/2005 - 19:33:35 ---------------------------------------- ciao, leggendo un po' di documenti, mi pare di capire che il consiglio sia quello di non abusare delle priorita' e di usare dei \"wait\" nei cicli. Posso quindi \"modulare\" la priorita', facendo girare piu' o meno velocemente i cicli es. while loop che ho all'interno del mio programma? saluti ---------------------------------------- ================================================================================ pop up, fumetto trasparente ================================================================================ AUTORE: 4 DATA :14/09/2005 - 13:53:45 ---------------------------------------- Posto qui un piccolo esempio che implementa un popup a forma di fumetto e semi trasparente. L'ho realizzato velocemente può sicuramente essere migliorato, ma lo trovo molto carino esteticamente quindi eccolo quà. Ciao, ---------------------------------------- AUTORE: 201 DATA :13/10/2005 - 13:54:25 ---------------------------------------- Ciao, complimenti! In che modo lo fai diventare trasparente? Si può far diventare trasparente qualunque VI volendo? ---------------------------------------- AUTORE: 77 DATA :21/10/2005 - 12:31:11 ---------------------------------------- Ciao, io uso LabView 6.1 e non riesco ad aprire le VI. Però sono riuscito ad usare la DLL passandole il refnum di una finestra e in effetti l'ha resa trasparente. Potresti postare una versione delle VI per LV6.1, oppure darmi qualche indicazione su come realizzarle? Te ne sarei grato. Ciao, Stefano ---------------------------------------- AUTORE: 278 DATA :21/10/2005 - 21:30:36 ---------------------------------------- Ciao, Ho convertito i vi alla versione 6.1, buon divertimento a tutti \":wink:\" ---------------------------------------- ================================================================================ TCP IP File Transfer ================================================================================ AUTORE: 443 DATA :15/09/2005 - 13:46:53 ---------------------------------------- Ciao a tutti, qualcuno di voi sa dove posso trovare qualche esempio o anche VI che implementano il trasferimento di un file via TCI IP....dovrei inviare dei file dal RT del cRio ad un PC Host.... \":?:\" grazie ---------------------------------------- AUTORE: 247 DATA :15/09/2005 - 21:51:17 ---------------------------------------- Ciao, prova a leggere questa discussione: [url=http://www.ilvg.it/forum/viewtopic.php?t=899&start=0&postdays=0&postorder=asc&highlight=:11zyo1cu]comunicazione TCP/IP[/url:11zyo1cu] In particolare ti consiglo di seguire i link dati da esodar1981 e di non trascurare questo: [url=http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&C8678C7CEF05EEF486256F090065C2D3:11zyo1cu]Command-based Architecture for LabVIEW Real-Time[/url:11zyo1cu] BYE. ---------------------------------------- AUTORE: 443 DATA :16/09/2005 - 14:29:16 ---------------------------------------- Apollon, ti ringrazio...la comunicazione TCP a messaggi era proprio quello che cercavo. Michele ---------------------------------------- ================================================================================ pulsante o segnalazione che si disabilita ================================================================================ AUTORE: 204 DATA :15/09/2005 - 15:28:38 ---------------------------------------- ciao a tutti, vorrei poter abilita o disabilitare un pulsante, una segnalazione o altro. Come posso fare? Quando disabilito posso far scomparire o colorare in grigetto il mio oggetto? Suppongo ci sia gia' qualche cosa nel forum ma a una rapida ricerca non ho trovato nulla... Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :15/09/2005 - 16:02:35 ---------------------------------------- Ciao, per disabilitare un controllo o indicatore devi utilizzare la sua proprietà <disabled> settandola a: 0 - Abilitato. 1 - Disabilitato. 2- Disabilitato e \"grigino\" \":D\" per renderlo visibile o meno usi la proprietà <visible> settata a true o false. BYE. P.S. La funzionalità di ricerca del forum lascia a desiderare..io non trovo mai nulla...rimedieremo. ---------------------------------------- AUTORE: 204 DATA :16/09/2005 - 09:01:00 ---------------------------------------- Scusami ma sono ancora alle prime armi.. Io vorrei poter abilitare/disabilitare il tasto (o altro) a comando, es. se si verifica un qualche eventi (si preme un altro tasto, si accende un led ecc.) Puoi aiutarmi? \":-)\" Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :16/09/2005 - 10:04:47 ---------------------------------------- Ciao, vedi se questo esempio può aiutarti, è fatto un pò alla svelta ma dovrebbe bastare. BYE. ---------------------------------------- AUTORE: 204 DATA :16/09/2005 - 11:13:47 ---------------------------------------- Perfett! Grazie mille ---------------------------------------- ================================================================================ VI Based Server ================================================================================ AUTORE: 747 DATA :16/09/2005 - 11:04:24 ---------------------------------------- Ciao a tutti, sono solo 4 mesi che mastico in questo fantastico mese. Sto realizzando un sw di monitoraggio remoto : i dati dei sensori (che devo raccogliere) vengono presentati su una lan opportunamente codificati. Visto che la scheda PXI-8231 non è dotata di un OPC Server mi chiedevo come posso recuperare il bit stream della stessa ?! Confido in un vs consiglio \":wink:\" ---------------------------------------- AUTORE: 4 DATA :21/09/2005 - 16:45:42 ---------------------------------------- non ho capito bene il tuo problema... hai un sw su pxi che gestisce una 8231 e vuoi controllare tale sw da un secondo sw in remoto via eth? specifica meglio. Ciao, ---------------------------------------- ================================================================================ Aggiunta programmatica di cursori in un grafico ================================================================================ AUTORE: 482 DATA :16/09/2005 - 16:07:36 ---------------------------------------- ..ma ciao! Devo analizzare un grafico prendendo tutti i picchi e tutte le selle e facendo la media tra di loro. La mia idea era di far selezionare all'utente all'interno del grafico i fronti di salita della curva e con la funzione apposita prelevare tra ogni fronte il picco massimo e quello minimo. Il problema è l'interfaccia. Volevo far selezionare all'utente il fronte di salita facendogli posizionare un cursore per ogni fronte, solo che a priori non so ne a che altezza andrà piazzato ne quanti dovranno essere. Che proprietà devo usare per aggiungere ogni volta un nuovo cursore che abbia le stesse caratteristiche del primo? non riesco a trovarla...magari è solo perchè è venerdi' pomeriggio, cmq io comincio a lasciare la domanda poi se avete qualche consiglio aftemi sapere! ...ma ciaoo! ---------------------------------------- AUTORE: 113 DATA :16/09/2005 - 16:37:32 ---------------------------------------- Ciao, puoi utilizzare la propietà Cursor List per gestire il numero dei cursori visibili ed il loro aspetto, è un'array di cluster con le propietà del singolo cursore. P.S. Non riesci ad utlizzare la funzione Waveform Peak Detector che trovi nella palette Waveform Monitoring? Se si adattasse al tuo caso ti ritornerebbe al volo i punti di interesse. Ma non conosco il tipo di forma d'onda e quindi... \":wink:\" Alberto ---------------------------------------- AUTORE: 4 DATA :16/09/2005 - 16:51:37 ---------------------------------------- [quote:3uvc82qz]Ciao, puoi utilizzare la propietà Cursor List per gestire il numero dei cursori visibili ed il loro aspetto, è un'array di cluster con le propietà del singolo cursore. [/quote:3uvc82qz] Vero, l'unico problema è che la lista deve essere \"popolata\" in precedenza devi cioè aggiungere tutti i cursori che ti servono nella lista cursori del grafico sul front panel... no ho mai trovato il modo di farlo programmaticamente. Ciao, ---------------------------------------- AUTORE: 113 DATA :16/09/2005 - 17:07:07 ---------------------------------------- Aggiungendo elementi nella cursor list si può fare... Vedi esempio. \":wink:\" La cosa più noiosa è che si devono specificare un'infinità di propietà \":evil:\" ---------------------------------------- AUTORE: 482 DATA :19/09/2005 - 07:21:52 ---------------------------------------- Eh si infatti ho provato ad usare il bundle by name per settare le varie proprietà ma non si guadagna granchè...devo comunque far creare i cursori dandogli una posizione XY diversa per ognuno per non farli sovrapporre poi permettere di spostarli a mano...mmhh..cmq oggi ci smanetto ancora un po'... \":wink:\" ---------------------------------------- AUTORE: 482 DATA :19/09/2005 - 07:25:49 ---------------------------------------- [quote="Alberto.L":1uhzni8r]P.S. Non riesci ad utlizzare la funzione Waveform Peak Detector che trovi nella palette Waveform Monitoring? [/quote:1uhzni8r] Effettivamente l'onda è parecchio strana e per questo avevo scartato da qualche mese l'utilizzo del waveform monitori pero' mi sa che a sto giro ti devo ringraziare perchè questa è la soluzione ideale al mio problema, dopo la provo e vedo come va! \":)\" ---------------------------------------- ================================================================================ Trasformazione Array in Waveform ================================================================================ AUTORE: 482 DATA :19/09/2005 - 08:16:28 ---------------------------------------- ...ma ciao! domanda di conoscenza generale: Come faccio a trasformare un array bidimensionale X,Y in una waveform? La mia che credo sia la peggiore delle ipotesi è quelal di avere i valori in X non costantemente distanziati. C'e' modo di fare cio'? graaaassie! ---------------------------------------- AUTORE: 247 DATA :19/09/2005 - 22:53:45 ---------------------------------------- Ciao, non penso sia possibile ricostruire direttamente una waveform da un array bidimensionale X,Y. Possedere valori in X non costantemente distanziati infatti, non ti consente di ottenere una delle caratteristiche di base che definiscono una waveform: la frequenza di campionamento. Tuttavia puoi ricostruire la waveform considerando come tempo di campionamento fittizio il massimo comun divisore delle distanze(tempo) tra i campioni della X e considerare il suo inverso come frequenza di campionamento di base. Il metodo di passaggio da un valore della X al suo successivo lo puoi decidere in base alle tue esigenze(ordine 0,1,2). ---------------------------------------- ================================================================================ multithreading o qualcosa di piu' semplice? ================================================================================ AUTORE: 204 DATA :19/09/2005 - 16:18:45 ---------------------------------------- ciao a tutti, devo controllare una macchina automatica. Vorrei implementare una serie di \"macchine a stati\" che devono girare in parallelo (quella per il movimento in manuale, quella per il mov. in automatica, una per la gestione del processo di acquisizione ecc.). In sostanza ho tanti cicli che devono girare in parallelo e devono poter scambiarsi delle informazioni man mano che girano... Come posso fare? devo usare una struttura a multithred o esiste qualche sistema piu' semplice? Qualcuno ha un VI di esempio in cui si vedano es. piu' cicli while in parallelo che si scambiano info? Grazie dell'attenzione ---------------------------------------- AUTORE: 204 DATA :19/09/2005 - 16:43:59 ---------------------------------------- ciao, forse ho capito qualche cosa in piu'... L'esempio che allego e' qualcosa di simile a una struttura multithred con LV? grazie ---------------------------------------- AUTORE: 247 DATA :19/09/2005 - 23:16:37 ---------------------------------------- Ciao, l'esempio che hai allegato non sfrutta il multithreading, infatti hai un solo ciclo While e l'esecuzione di quelle che identifichi come macchine a stati sono dipendenti l'una dall'esecuzione dell'altra. Se vuoi avere un esempio di macchina a stati semplice guarda quella d'esempio(è un template) che puoi trovare scegliendo il menù File->New..->VI from Template->Frameworks->Design Patterns->Standard State Machine. Per scambiare dati/messaggi tra cicli paralleli puoi usare principalmente, con diversissimi risultati, variabili(globali o locali), code(Queue) e notifiche(Notifier) che trovi nel menù Advanced->Synchronization->... Un esempio di passaggio di messaggi con notifiche tra due Loop paralleli lo trovi nei Template seguendo il percorso per la macchina a stati(vedi sopra) e scegliendo Producer/Consumer o Master/Slave... BYE. ---------------------------------------- AUTORE: 204 DATA :20/09/2005 - 14:39:08 ---------------------------------------- [quote:1n3dn2fl]infatti hai un solo ciclo While e l'esecuzione di quelle che identifichi come macchine a stati sono dipendenti l'una dall'esecuzione dell'altra. [/quote:1n3dn2fl] Ho un unico loop pero' le due macchine a stati non mi pare siano dipendenti (da dove vedi che lo sono?). LV salta da una macchina all'altra e a me sembra che le due macchine vengano eseguite in parallelo... Ho guardato i documenti consigliati nel mio post sulla priorita' (vedi sez. programmare del forum..) e nell'esempio al fondo di uno dei documenti si vede un unico ciclo.. I template che mi consigli non capisco bene come funzionano..ho due cicli ma se mando il VI in esecuzione, rimango sempre e solo in uno.. hai un esempio in cui piu' cicli vengano eseguiti in parallelo e possa scrivere/leggere dati da un ciclo all'altro? Grazie ancora per il supporto. ---------------------------------------- AUTORE: 247 DATA :20/09/2005 - 15:36:56 ---------------------------------------- Ciao, [quote:1uig6aso]Ho un unico loop pero' le due macchine a stati non mi pare siano dipendenti (da dove vedi che lo sono?). LV salta da una macchina all'altra e a me sembra che le due macchine vengano eseguite in parallelo... [/quote:1uig6aso] le due macchine a stati sono dipendenti perchè non possono procedere indipendentemente l'una dall'altra, ovvero l'una deve aspettare che l'altra abbia finito le operazioni dello stato attuale per passare al successivo. Quindi per farti un esempio, se la macchina A richiede un tempo di esecuzione del singolo stato di 1 secondo mentre la macchina B completa le operazioni in 100millisecondi, la macchina B è costretta ad attendere la macchina A per cambiare di stato, è per questo che dico che sono dipendenti, per avere parallelismo ed indipendenza dovrebbero poter cambiare stato in modo assolutamente indipendente. Vedi l'esempio. [quote:1uig6aso]Ho guardato i documenti consigliati nel mio post sulla priorita' (vedi sez. programmare del forum..) e nell'esempio al fondo di uno dei documenti si vede un unico ciclo.. [/quote:1uig6aso] La tecnica che si vede è chiamata tunneling ed è diversa rispetto al parallelismo indipendente che credo tu stia cercando di realizzare. Ancora su Threading e parallelismo leggi la presentazione di Ale914: [b:1uig6aso]Multithreading, Parallelismo, Meccanismi di Temporizzazione e Sincronizzazione in LabVIEW[/b:1uig6aso] che puoi scaricare dalla sezione Articoli del sito. [quote:1uig6aso]I template che mi consigli non capisco bene come funzionano..ho due cicli ma se mando il VI in esecuzione, rimango sempre e solo in uno.. hai un esempio in cui piu' cicli vengano eseguiti in parallelo e possa scrivere/leggere dati da un ciclo all'altro? [/quote:1uig6aso] Si, non sono proprio immediati, per esempio nel VI che allego uso una per semplicità una variaile locale per passare l'informazione di pressione del tasto di stop, unico, agli altri due cicli. BYE. ---------------------------------------- AUTORE: 204 DATA :20/09/2005 - 17:15:32 ---------------------------------------- ciao, scusami ancora ma credo che tu mi abbia allegato un VI differente da quello che pensavi (il vi e' simile al mio, salvo qualche aggiustamento..). Provo a scaricare il materiale che mi hai consigliato e ti faccio sapere Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :20/09/2005 - 21:56:41 ---------------------------------------- Ciao, hai ragione, ho eliminato quello di prima, questo è quello giusto. BYE. ---------------------------------------- AUTORE: 204 DATA :21/09/2005 - 09:12:29 ---------------------------------------- Scusa se sono un po' duro di conprendonio.. \":-P\" Non riesco ancora a capire come sfruttare le capacita' di multithreding di LV..Se io volessi scambiare informazioni tra i due cicli in parallelo del tuo esempio, come potrei fare? Quale sarebbe il metodo migliore? Io ho piu' cicli in parallelo (il ciclo che gestisce la lettura di un encoder, il ciclo che gestisce la macchina a stati del processo, il ciclo che mi elabora le acquisizioni ecc.) che devono poter interagire ovvero scambiarsi numeri, stringhe ecc. e non devo avere ritardi apparenti. Leggendo un po' di materiale in giro ho capito che devo usare dei meccanismi tipo queue, local variable o altro ma non capisco come.. Hai qualche esempio semplice che illustri il meccanismo? Grazie ancora per il tuo supporto ---------------------------------------- AUTORE: 247 DATA :21/09/2005 - 10:38:49 ---------------------------------------- Ciao, [quote:4ye4jwup]Scusa se sono un po' duro di conprendonio.. \":P\" Non riesco ancora a capire come sfruttare le capacita' di multithreding di LV..[/quote:4ye4jwup] \"duro di comprendonio\" o meno penso che ti manchi esperienza, i meccanismi di sincronizzazione e scambio di dati in architetture parallele non è semplice. Un esempio di utilizzo di queue lo trovi nel VI di Ale914 che allego e che ho estratto dalla presentazione che ti consiglio sopra. Un esempio di utilizzo di notifier tratto dal sito NI [url=http://zone.ni.com/devzone/learningcenter.nsf/webmain/469D203B696CAB4186256CF6005DF323]Advanced Synchronization Techniques in LabVIEW [/url] lo trovi nel secondo esempio. Un esempio di scambio di dati tra loop paralleli è contenuto nel VI che ho allegato sopra, l'informazione della pressione del tasto stop è fatta con var locali. Per l'utilizzo di variabili globali consulta il manuale di LV. BYE. ---------------------------------------- AUTORE: 204 DATA :21/09/2005 - 17:50:17 ---------------------------------------- ciao, forse comincio a vederci piu' chiaro...ho ancora due domandine.. Ti allego il tuo vi con un piccola modifica. I cicli girano in parallelo e io scambio dati con la tecnica delle local variable. I dati numerici vengono scambiati in \"tempo reale\" mentre le stringhe vengono aggiornate quando sposto il \"focus\" es. cliccando in un punto vuoto del front panel. Come faccio a far aggiornare i dati \"stringa\" alla pressione di un tasto? Quello che vorrei capire e' se l'esempio allegato puo' essere un punto di parenza efficace per sfruttare il multithreding di LV (eventualmente incomporando il contenuto dei cicli in vi e poi cambiando le priorita'..) Grazie ancora di tutto ---------------------------------------- AUTORE: 247 DATA :22/09/2005 - 00:34:27 ---------------------------------------- Ciao,[quote:34sj506n] Come faccio a far aggiornare i dati \"stringa\" alla pressione di un tasto?[/quote:34sj506n] per fare questo devi semplicemente racchudere gli indicatori e le variabili dalle quali leggono all'interno di un case(nel caso TRUE) controllato del pulsante che deve scatenare l'aggiornamento;in questo modo risparmi letture di variabile e gli indicatori vengono aggiornati solo quando il loro codice risulta attivo, in parole poverisime \"solo quando ci passi\" premendo il tasto. [quote:34sj506n]Quello che vorrei capire e' se l'esempio allegato puo' essere un punto di parenza efficace per sfruttare il multithreding di LV (eventualmente incomporando il contenuto dei cicli in vi e poi cambiando le priorita'..)[/quote:34sj506n] Può essere una partenza ma cmq continua a leggere tutte le application notes tipo: - [url=http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/d2e196c7416f373a862568690074c759?OpenDocument:34sj506n]Using LabVIEW to Create Multithreaded Applications for Maximum Performance and Reliability[/url:34sj506n] - [url=http://zone.ni.com/devzone/conceptd.nsf/webmain/01F2E634710FB8E486256E2900586D41:34sj506n]LabVIEW and Hyperthreading[/url:34sj506n] - [url=http://digital.ni.com/public.nsf/allkb/84ECA015AA496B23862565BC006C0F19:34sj506n]How Many Threads Does LabVIEW Allocate?[/url:34sj506n] \":D\" \":D\" \":D\" BYE. ---------------------------------------- AUTORE: 11291 DATA :27/05/2021 - 10:33:32 ---------------------------------------- [quote="apollon":2z2wi0lt] Ancora su Threading e parallelismo leggi la presentazione di Ale914: [b:2z2wi0lt]Multithreading, Parallelismo, Meccanismi di Temporizzazione e Sincronizzazione in LabVIEW[/b:2z2wi0lt] che puoi scaricare dalla sezione Articoli del sito. [/quote:2z2wi0lt] Salve, sono nuovo del forum e non riesco a capire come trovare la sezione articoli per scaricare la presentazione sucitata. Qualcuno può aiutarmi? Ringrazio in anticipo. Saluti. ---------------------------------------- ================================================================================ Aggiungere un ingresso a un subVI ================================================================================ AUTORE: 204 DATA :19/09/2005 - 18:07:46 ---------------------------------------- ciao a tutti, una volta creato un subVI, come faccio ad aggiungere un ingresso/uscita in piu' che non avevo previsto? Grazie dell'attenzione ---------------------------------------- AUTORE: 247 DATA :19/09/2005 - 23:02:17 ---------------------------------------- Ciao, - vai sull'icona del VI in alto a DX nella finestra del Front Panel. - click destro -> \"Show connector\". - ancora click destro sull'icona che è cambiata. - seleziona \"Pattern\" e scegli una configurazione dei connettori che ti consenta di avere qualche connettore in più dell'attuale oppure \"Add Terminal\" per aggiungere solo un'altro connettore. BYE. ---------------------------------------- AUTORE: 204 DATA :20/09/2005 - 18:43:38 ---------------------------------------- Ciao, ho provato ma se aggiungo un terminal, l'icona mi diventa \"grigetta\" e mi compare l'errore \"bad linkage to subVI\". Dove sbaglio? E se volessi cambiare es. la dimensione di un vettore in ingresso al subVI, come posso fare? Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :20/09/2005 - 21:53:31 ---------------------------------------- Ciao,[quote:htsjkq3s] ho provato ma se aggiungo un terminal, l'icona mi diventa \"grigetta\" e mi compare l'errore \"bad linkage to subVI\". Dove sbaglio?[/quote:htsjkq3s] l'icona diventa grigetta perchè aggiungendo un terminale ha cambiato la \"firma\" del VI ,devi semplicemente relinkarlo facendo tasto dx sul VI grigetto e scegliendo \"Relink to SubVi\" ed il nuovo Vi rimpiazza il vecchio. [quote:htsjkq3s]E se volessi cambiare es. la dimensione di un vettore in ingresso al subVI, come posso fare?[/quote:htsjkq3s] Per fare questo devi modificare il SubVI che chiami dato che cambiare dimensione ad un'array in ingresso significa cambiarne il tipo di dato che il Vi si aspetta. BYE. ---------------------------------------- AUTORE: 204 DATA :21/09/2005 - 11:29:58 ---------------------------------------- ciao, grazie per le risposte! Aggiungo anche un mio contributo \":-)\" Per assegnare i controlli o gli indicatori ai comandi, e' sufficiente seguire le indicazioni dell'help nella sezione \"terminals,assigning\" Saluti ---------------------------------------- AUTORE: 4 DATA :21/09/2005 - 16:25:00 ---------------------------------------- [quote="birkof":2naatmwp]Ciao, ho provato ma se aggiungo un terminal, l'icona mi diventa \"grigetta\" e mi compare l'errore \"bad linkage to subVI\". Dove sbaglio?[quote="apollon":2naatmwp] l'icona diventa grigetta perchè aggiungendo un terminale ha cambiato la \"firma\" del VI ,devi semplicemente relinkarlo facendo tasto dx sul VI grigetto e scegliendo \"Relink to SubVi\" ed il nuovo Vi rimpiazza il vecchio. [/quote:2naatmwp][/quote:2naatmwp] Quello che consiglio e che faccio in questi casi è abbondare nel numero di connettori nel connector pane del VI in modo da averne disponibili per aggiunte futre di altri controlli indicatori, in questo modo non sarà necessario modificare il connector pane e quindi il sub-vi non sarà da relinkare.. se il vi viene chiamato in 1000 punti diversi dovrei fare 1000 relink!!! Ciao, ---------------------------------------- AUTORE: 204 DATA :21/09/2005 - 16:28:28 ---------------------------------------- Grazie a tutti per l'aiuto! \":-)\" ---------------------------------------- ================================================================================ Problemi di connessione con ADO ================================================================================ AUTORE: 10 DATA :20/09/2005 - 08:48:50 ---------------------------------------- Ciao, o un problema utilizzando la libreria LabSQL, che credo conosciate come tool gratuito per accedere ai database. Non riesco però a connettermi al mio database di ACCESS, regolarmente registratoin ODBC come DNS di sistema. provando a connettermi ad esso anche \"a mano\" con i Vi di active X, il messaggio di errore è \"interfaccia non registrata\". Ho controllato e sono installate tutte le librerie Microsoft ActiveX Data Object, dalla versione 2.0 alla 2.7 (l'ultima per WIN XP SP1). Non sò proprio più che cosa fare... Grazie per l'aiuto ---------------------------------------- AUTORE: 247 DATA :20/09/2005 - 22:03:50 ---------------------------------------- Ciao, posso solo consigliarti di rivedere i passi per la creazione del collegamento al DB, controlla che siano gli stessi riportati nell'articolo di nicola che trovi nella sezione Articoli di questo sito sotto il nome di [b:3guv5pw7]Database & LabVIEW[/b:3guv5pw7] BYE. ---------------------------------------- AUTORE: 10 DATA :27/09/2005 - 07:34:46 ---------------------------------------- Ciao, dopo giorni di tentativi, ho riformattato la macchina... Grazie a tutti comunque. ---------------------------------------- AUTORE: 129 DATA :28/09/2005 - 10:44:54 ---------------------------------------- Se si ha installato sul pc il modulo jet4.0 (lo puoi scaricare da microsoft.com) si può inserire una stringa di connessione di questo tipo: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\BACKUP DOCUMENTS\AccessFile\taratura.mdb; Persist Security Info=false il bello è che non devi cambiare il codice ADO che avevi realizzato. ---------------------------------------- ================================================================================ EFK ================================================================================ AUTORE: 730 DATA :20/09/2005 - 16:19:37 ---------------------------------------- Esiste in LabView un filtro di kalman esteso ? Qual'è eventualmente la procedura da eseguire? ---------------------------------------- ================================================================================ file .INI salvati e richiamati ================================================================================ AUTORE: 204 DATA :20/09/2005 - 17:58:03 ---------------------------------------- ciao a tutti, scrivo l'ennesimo post non solo perche' ho una serie di difficolta che scatenano una valanga di domande, ma anche perche' credo che i miei dubbi siano quelli di molti..e se la risposta non la trovo solo io nel mio ufficio ma e' disponibile per tutti, credo sia piu' utile \":-)\" Dunque.. vorrei salvare e ricaricare una serie di parametri su file editabile, es. tipo testo. Mi chiedevo se LV permette di gestire file .INI, XML o altro. Qualcuno mi puo' aiutare? ---------------------------------------- AUTORE: 596 DATA :21/09/2005 - 08:45:02 ---------------------------------------- Trovi i vi per scrivere e leggere su file INI nella function palette alla voce: File i/O -> Configuration file Vis Oppure puoi cercare nel help in linea di labview: \"Configuration File Vis\" Ciao, Riccardo ---------------------------------------- ================================================================================ barra di scorrimento ================================================================================ AUTORE: 596 DATA :21/09/2005 - 09:34:04 ---------------------------------------- Ecco un altra cosa che mancava \":D\" Non è il massimo, ma è un buon punto di partenza: Una barra di scorrimento per array -dovrebbe funzionare con tutti i tipi di array con qualsiasi numero di dimensione. -Puo \"scrollare\" qualsiasi dimensione. Ho utilizzato la libreria di Openg.org ella quale ho comunque allegato i vi che ho usato. Ciao, Riccardo. PS: Mi sono creato la barra verticale \"customizzando\" una slide ma manca l'orizzontale (non avevo tempo). ---------------------------------------- ================================================================================ One/Two Button Dialog ================================================================================ AUTORE: 751 DATA :21/09/2005 - 13:17:43 ---------------------------------------- Salve a tutti, mi stavo chiedendo se c'e' il modo di formattare (size, bold, ecc...) la stringa che viene inviata e visualizzata sui \"Dialog box\" ad uno, due o tre tasti. So' ke e' possibile formattare la string control ke si manda, ad esempio, in ingresso al tool \"One Dialog Button\" (tramite Property Node), ma poi sul box viene riportata senza proprieta'!!! \":(\" Probabilmente la dll, e quindi la funzione C, ke sta' dietro questo tool non prevede la possibilita' di formattazione. \":!:\" Ringrazio fin d'ora tutti. Buon lavoro. ---------------------------------------- AUTORE: 113 DATA :21/09/2005 - 14:06:10 ---------------------------------------- Ciao, per quanto riguarda i Dialog Box a uno o due tasti c'è poco da fare perchè immagino che chiamano la funzione MessageBox della USER32.DLL di Windows, e non mi risulta che preveda l'impostazione del carattere. \":evil:\" Diverso è il discorso per il 3 button dialog perchè altro non è che una vi con un'altro paio di sub-vi nidificate. Se vai nella sub-vi Three Button Dialog CORE.vi puoi modificare l'aspetto a piacere dell'indicatore stringa C-Message, che è quello che in effetti viene visualizzato \":wink:\" Alberto ---------------------------------------- AUTORE: 751 DATA :21/09/2005 - 15:17:54 ---------------------------------------- Grazie Alberto, non avevo apero il block diagram del Dialog Box a 3 tasti...pensavo si appoggiasse alla stessa dll degli altri 2!!! \":D\" Di nuovo buon lavoro! ---------------------------------------- ================================================================================ ================================================================================ AUTORE: 1 DATA :21/09/2005 - 15:56:38 ---------------------------------------- ---------------------------------------- AUTORE: 247 DATA :21/09/2005 - 23:55:55 ---------------------------------------- Ciao, Scusa ma ciò che proponi non è identico a quello che ha postato [color=blue:14fynroi]riccardo.menichelli[/color:14fynroi] prima di te nel suo post [url=http://www.ilvg.it/forum/viewtopic.php?t=1000&start=0&postdays=0&postorder=asc&highlight=:14fynroi]barra di scorrimento[/url:14fynroi]?????? Chiariamo al più presto l'inghippo per piacere... BYE. ---------------------------------------- AUTORE: 1 DATA :22/09/2005 - 07:18:07 ---------------------------------------- ', 0, 'kg== ---------------------------------------- AUTORE: 247 DATA :22/09/2005 - 08:03:34 ---------------------------------------- Ciao, OK, grazie mille per la celere risposta. \":D\" \":D\" \":D\" BYE. ---------------------------------------- ================================================================================ finestra che si apre a comando ================================================================================ AUTORE: 204 DATA :21/09/2005 - 17:27:01 ---------------------------------------- ciao a tutti, uso LV 7.1 Ho la necessita' di aprire una finestra in cui inserire dei dati. L'azione deve essere scatenata dalla pressione di un tasto. Una volta inseriti i dati, devo uscire e chiudere la finestra premendo un tasto es. ok o cancel. Allego dialog.vi, un esempio di come avevo pensato di affrontare il problema. La cosa pero' funziona in parte. Non capisco perche' qualche volta si apre la finestra senza la pressione del tasto \"apri\". Come faccio a uscire, dopo la pressione del tasto ok e cancel, e chiudere la finestra? Grazie del supporto ---------------------------------------- AUTORE: 247 DATA :22/09/2005 - 00:19:34 ---------------------------------------- Ciao, devi modificare le impostazioni del subVI: - click destro sul SubVI. - scegli SubVi Node Setup. - Seleziona show <Front Panel when Called> e <Close afterwards if originaly closed>. - Quando avii il Vi principale assicurati che il Front Panel del Sub sia chiuso, ovvero che non sia caricato in memoria e visibile, non devi vederlo nella barra dei Task di win. BYE. ---------------------------------------- ================================================================================ Creazione di un subVI con un numero elevato di terminali ================================================================================ AUTORE: 204 DATA :22/09/2005 - 09:32:28 ---------------------------------------- ciao a tutti, ho scoperto con orrore che la creaizone di un subVI non e' sempre permessa. \":-)\" Ho scoperto che un subVI con piu' di 28 terminali non puo' essere creato! I fili posso raggrupparli in cluster, array, ecc. ma se ho delle local variable la cosa mi sembra non sia possibile. Come mi devo comportare di fronte a questo problema? Grazie dell'attenzione ---------------------------------------- AUTORE: 4 DATA :22/09/2005 - 11:21:01 ---------------------------------------- ok non puoi fare più di 28 connessioni ma non vedo il problema... a parte che come dici tu puoi raggruppare dati in maniera logica in array o cluster (locali comprese) ma non vedo la necessità di avere un sub-Vi con più di 28 terminali, che pastrocchio viene fuori? Se ti trovi ad avere la necessità di connettere più di 28 ingressi\uscite vuol dire che hai fatto qualche scelta bagliata a livello di progettazione del codice rendendo il tuo sub-VI troppo complesso. Puoi provare a suddividere il tuo mega VI in sotto VI meno complessi . Ciao, ---------------------------------------- ================================================================================ Utilizzo di IAR jlink for Jtag ================================================================================ AUTORE: 340 DATA :22/09/2005 - 14:23:40 ---------------------------------------- ciao a tutti Io sono nuovo nello scrivere ma vi seguo da molto tempo . adess otocca a me sperando in un vostro gentile aiuto . Arrivo al punto : Devo utilizzare un'interfaccia j-line della Iar per fare un collaudo jtac su un micro della ttmel . L'interfaccia è Usb . a prescindere che ancora non sò i comandi del micro mi chiedo come fare a colloquiare con la periferica usb. Il mio ambiente di sviluppo è 7.0 con nel cassetto il 7.1 - Qualunque delucidazione sappiate darmi per me è oro perchè si tratta della mia prima esperienza con il J-Tag e ancora non ho per nulla le idee chiare ante grazie Ciao ciao S ---------------------------------------- AUTORE: 247 DATA :24/09/2005 - 00:06:58 ---------------------------------------- Ciao, per iniziare prova a leggere questo documento: - [url=http://zone.ni.com/devzone/devzoneweb.nsf/Opendoc?openagent&1D0DD81FF1448CAE86256D90006EE2B4:aykq3gi0]Using NI-VISA 3.0 to Control Your USB Device[/url:aykq3gi0] inoltre guarda - [url=http://digital.ni.com/public.nsf/websearch/273BB58D3B52CE6886256F3B00714D03:aykq3gi0]Why is NI-VISA Unable to Control my USB Device?[/url:aykq3gi0] in particolare i link che riporta in fondo. \":D\" WelcomE \":D\" BYE. ---------------------------------------- ================================================================================ VI parametrico ================================================================================ AUTORE: 204 DATA :22/09/2005 - 15:45:11 ---------------------------------------- ciao, qual'e' la tecnica che viene usata per rendere un progetto labview funzione di parametri salvati su file? Mi spiego..nel vi che allego o tre parametri che adesso sono \"cablati\" dentro il codice e non posso cambiarli. Credo che un po' a tutti sara' sorta la necessita' di usare una stessa costante, per esempio, in piu' punti di un vi. Normalmente come si procede? ci si mette il cuore in pace e si leggono i parametri su file usando es. le funzioni in file I/O->configuration file VIS e poi si tirano tanti file quanti sono i punti dove servono, oppure ci sono metodi piu' veloci? Nel vi allegato, come faccio a leggere su file i tre parametri per poi utilizzarli? Grazie dell'attenzione ---------------------------------------- AUTORE: 278 DATA :22/09/2005 - 18:21:04 ---------------------------------------- Ciao, normalmente, quando si ha la necessita' di utilizzare costanti all'interno del codice, si fa ricorso a dei file .ini, che non sono altro che dei file di testo. Prima di procedere con l'esecuzione del codice vero e proprio, si lancia un VI (ad esempio Start.vi) che legge questi valori da file e li carica in variabili golobali, che puoi richiamare dove ti servono all'interno del codice. Lo stesso VI di start inoltre, alla fine delle operazioni di \"loading\" delle costanti, lancia il vi che deve usufruire di queste costanti, il cuore del tuo codice (può anche essere più di uno) Considera che può essere sì un'operazione laboriosa, ma ha una flessibilità tale da permetterti di configurare solo il file .ini per modificare le impostazioni base del tuo programma, anche quando (e se) creerai il file eseguibile. Se vuoi spingerti oltre, al termine del tuo codice, puoi ricreare il file .ini se sono stati modificati i valori delle costanti. Puoi anche farlo di default alla chiusura del programma. Il file .ini, per semplicità, dovrà contenere il nome delle costanti, un separatore tipo = o - e il valore numerico o stringa della tua costante. Esempio: Data A = 4 Data B = 4 Report = Enabled Alarm = Disabled La scelta spetta a te, se devi gestire tante costanti all'interno del tuo vi può essere molto oneroso in termini di tempo doverle cambiare per necessità, se in vece si tratta di tre o 4 costanti..... ---------------------------------------- AUTORE: 204 DATA :23/09/2005 - 08:49:32 ---------------------------------------- Grazie della risposta. Io per gestire file .ini ho seguito l'esempio di LV \"read configuration settings file.vi\", e' corretto? Quando dici: [quote:37u0lo7n]Lo stesso VI di start inoltre, alla fine delle operazioni di \"loading\" delle costanti, lancia il vi che deve usufruire di queste costanti[/quote:37u0lo7n] Cosa intendi? che devo crearmi un subVI chiamato start.vi e inserirlo nel vi principale? Grazie del supporto ---------------------------------------- AUTORE: 278 DATA :23/09/2005 - 13:20:39 ---------------------------------------- Ciao, intendevo dire che crei un VI separato dal programma principale che esegue le operazioni di loading delle costanti, dopo averlo fatto, lo stesso vi lancia il tuo applicativo principale. Quindi due VI separati, uno per caricare le tue costanti e uno per utilizzarle. se il tuo applicativo non e` complesso puoi anche creare un subvi da inserire nel tuo programma principale che carichi le costanti prima del resto del codice. In progetti complessi si preferisce creare piu` vi separati che un`unico, enorme vi, so che la progettazione del SW diventa piu` complessa, ma e` sicuramente piu` facile eseguire il debug e fare successive modifiche. Da un`occhiata cosi, veloce, l`esempio \"read configuration settings file.vi\" puo` andare benissimo. Purtroppo non sono in grado di aiutarti per la domanda relativa ai controlli reference. ---------------------------------------- AUTORE: 204 DATA :23/09/2005 - 15:25:43 ---------------------------------------- Grazie della risposta! Devo ancora fare una prova ma mi sembra di aver capito che le varibili globali permettono di scambiare dati tra vi completamente separati. Come faccio a lanciare un vi da un altro vi? Grazie ancora del supporto ---------------------------------------- AUTORE: 247 DATA :23/09/2005 - 18:56:40 ---------------------------------------- Ciao, [quote:157c1p5q]Come faccio a lanciare un vi da un altro vi? [/quote:157c1p5q] Se i due Vi devono essere indipendenti prova a guardare questo vecchio post: - [url=http://www.ilvg.it/forum/viewtopic.php?t=765&start=0&postdays=0&postorder=asc&highlight=:157c1p5q]Creazione menù[/url:157c1p5q] c'è un esempio (CallChainServer.vi) che avvia VI in successione. Ti avviso già che è complicato!!! \":D\" \":D\" \":D\" Se invece l'esecuzione può essere consecutiva, semplicemente mettili nel block diagram e collegali in modo che siano in successione. BYE. ---------------------------------------- ================================================================================ array, bundle, ecc. con i fili nominati ================================================================================ AUTORE: 204 DATA :22/09/2005 - 17:14:24 ---------------------------------------- ciao, avrei una domanda sull'uso degli array, bundle, ecc. Voglio creare un bus con piu' fili es. creando un array. Il filo ovviamente diventa unico ma poi devo scegliere i fili che lo compongono. Per selezionare il filo corretto, devo per forza ricordarmi il numero del filo su cui viaggia la grandezza desiderata, non fosso farlo \"per nome\"? si puo' dare un nome a un filo? Immaginate di avere 100 interruttori, ognuno con il proprio nome e con altrettanti fili. Raggruppate i fili in un array o bundle. Adesso usate un index array o un unbundle per riottenere i fili singoli. L'unico modo per riottenere il filo voluto e' contare i fili che entrano \":-(\" ? Grazie dell'attenzione ---------------------------------------- AUTORE: 482 DATA :23/09/2005 - 07:26:13 ---------------------------------------- ...ma ciao! Con gli array per forza di cose devi ricordarti l'indice del valore che cerchi, a meno che non fai una ricerca all'interno dell'array con il \"search 1D array\". Con i cluster invece ci sono i comodissimi modulini bundle by name (o unbundle) con i quali puoi tranquillamente richiamare le uscite scegliendole per nome. I nomi vegono assegnati quando assegni gli elementi al cluster. \":wink:\" ---------------------------------------- ================================================================================ subVI: interfaccia verso il mondo ================================================================================ AUTORE: 204 DATA :22/09/2005 - 17:26:22 ---------------------------------------- ciao a tutti, ho due domande relative a un piccolo esempio che vi allego.. In example.vi potete vedere due cicli in parallelo, uno nel vi stesso, l'altro contenuto in subVI.vi. Questi due cicli si scambiano informazioni tramite una local variable. Mi pare che l'accensione dei led avvenga con un po' di ritardo..e' un normale ritardo dovuto a windows? Se si, posso migliorare le cose agendo su qualche configurazione di LV? come si puo' vedere in example.vi, il subVI ha come interfaccia verso il \"mondo esterno\" dei \"control reference\" da linkare da qualche parte...Come posso eliminare questi \"control reference\" e avere dei connettori di ingresso e uscita in modo da connetterci dei fili? E' possibile farlo? Forse, devo fare qualche conversione tra reference e connettore normale? Grazie del supporto ---------------------------------------- AUTORE: 278 DATA :22/09/2005 - 22:39:38 ---------------------------------------- Ciao, Il motivo del ritardo della risposta alla pressione dei tasti è dovuto al fatto che non hai temporizzato i loop del programma example.vi e della relativa subVI. Se non lo fai, questi cicli girano alla massima velocità possibile, \"succhiando\" tutte le risorse del tuo sistema. Prova ad aprire il task manager di windows, appena lanci il tuo vi la percentuale di utilizzo del processore schizza letteralmente al 100%, senza premere alcun tasto sul pannello frontale. Temporizzando i loop liberi risorse di sistema, permettendo al povero windows di aggiornare lo stato del display...... Metti un bel \"wait until next ms multiple\" nel loop principale e nel tuo subVI con un time di 50ms, andrà meglio! Per quanto riguarda i control reference non saprei dire, sinceramente non ho capito la domanda... \":(\" ---------------------------------------- AUTORE: 204 DATA :23/09/2005 - 08:57:49 ---------------------------------------- ciao, [quote:3k66yfbx]Per quanto riguarda i control reference non saprei dire, sinceramente non ho capito la domanda... [/quote:3k66yfbx] Intendevo dire che il subvi che vedi nell'esempio ha due \"control reference\" che non sono due terminali a cui posso attaccarci dei fili con lo strumento \"rocchetto\". Come faccio a rendere tutto generico, ovvero ad avere un subvi con un terminale in ingresso e uno in uscita a cui attaccarci dei controlli e degli indicatori? grazie del supporto ---------------------------------------- ================================================================================ mancanza di spazio su block diagram ================================================================================ AUTORE: 204 DATA :22/09/2005 - 19:02:31 ---------------------------------------- ciao a tutti, mi manca spazio sul block diagram e non voglio estendere il foglio all'infinito. Meglio mettere tutto in \"stacked sequence structure\" o raggruppare elementi in subvi? Quale dei metodi e' piu' efficiente in termini di tempo di esecuzione del vi? Grazie del supporto ---------------------------------------- AUTORE: 751 DATA :23/09/2005 - 13:51:58 ---------------------------------------- Ciao, \":D\" cerco di dare una risposta breve ma chiara ed esaustiva. In generale e' buona regola modularizzare il codice, nel senso di crearsi una libreria con tutta una serie di sub-vi relativi alle varie funzioni ke il tuo codice deve implemetare x sviluppare una certa applicazione. In realta' la fase di codifica (creazione dei vi) e' solo la parte finale di tutto il progetto sw. Cmq, senza entrare nel dettaglio, io consiglio di creare tanti vi x ognuna delle funzioni individaute; ad es. x una generica applicazione relativa ad una acquisizione dati potrei sviluppare i blocchi relativi alle fasi di: -INIT(x config skede e/o porte) -ACQ_DATA(acq. dati e/o gestione interfacce) -COMPUT(x elaborazioni sui dati) -REPORT(gen. datasheet) -CLOSE(x rilascio/sconnessione interfacce) -ecc.... e ciascuno di questi potra' essere a sua volta composto da tante altre funzioni(sub-vi). I vantaggi di tale approccio sono riassumibili in una maggiore visibilita' del tuo codice, una migliore e piu' rapida fase di modifica/debug e, cosa non trascurabile, guadagni in termini prestazionali, nel senso ke quando si crea un unico grosso vi e si manda in escuzione viene allocata un certo quantitativo di memoria legato alla dimensione del vi (di cui quella realmente utilizzata e' solo una certa percentuale, mentre il resto rimane allocata ma non utilizzata!); modularizzando il tuo codice avrai anke la possibilita', grazie ad un tool messo a disposizione con le ultime versioni di LabVIEW (7.x), di deallocare, dopo l'esecuzione del vi in cui si trova, proprio quella memoria ke viene allocata ma non utilizzata (il tool e' \"Request Deallocation\" e sta' in Function>Advanced>Data Manipulation) Spero di esserti stato di aiuto! \":wink:\" Buon lavoro. ---------------------------------------- AUTORE: 204 DATA :23/09/2005 - 15:20:25 ---------------------------------------- ciao, grazie della risposta \":-)\" Pero' c'e' una cosa che mi lascia perplesso. E' vero che si deve creare subVIs un po' ovunque pero' non so gestire bene il meccanismo quando o cicli es. while, local variable e cluster...A volte LV non mi permette di creare dei subVI (forse perche' supero il numero max. di conenttori..), se poi ho local variable, queste mi risaltano fuori sottoforma di \"reference\"... Forse devo capire come fare a gestire meglio il passaggio di dati tra cicli senza usare le local variable...cosa ne dici? Grazie ancora per il supporto ---------------------------------------- AUTORE: 751 DATA :23/09/2005 - 15:50:47 ---------------------------------------- Ciao, non e' un problema gestire il passaggio di dati tra un vi e l'altro o tra un ciclo e l'altro, puoi utilizzare: -i cluster (dove ci puoi raccogliere tutti i dati ke vuoi) -le variabili locali(nello stesso vi)/globali(tra un vi e l'altro) Fammi capire bene cosa ti lascia perplesso, magari prova a spiegarmi cosa vuoi fare cosi cerchiamo di trovare la soluzione migliore. Buon lavoro. ---------------------------------------- AUTORE: 129 DATA :23/09/2005 - 16:56:12 ---------------------------------------- i loop sono sempre un pò ostici per i subvi, e soprattutto labview, ti mette in allerta quando cerchi di creare un sub-vi dove i dati in uscita essendo contenuti in un loop non sarebbero disponibili se non a ciclo terminato. Puoi utilizzare metodi per il passaggio dei dati, come code,variabili locali e globali e ecc. MOlto spesso si ottimizza il diagramma, semplicemente specializzando le funzioni da implementare e creare sub-vi, sfruttare una macchian a stati per gestire le sequenze di programma ecc. ---------------------------------------- ================================================================================ temperatura misurata con termocopia T - disturbi esterni ================================================================================ AUTORE: 272 DATA :23/09/2005 - 09:39:23 ---------------------------------------- Ciao, spero possiate aiutarmi in questo piccolo problema. Ho uno SCXI 1102 con terminaliera SCXI- 1303. Un piccolo programmino per acquisire una decina di termocopie T ed un paio di segnali 0-10Vac. Quando alimento un piccolo inverter per un ventilatore di aspirazione (completamente esterno al circuito di misura e alla caldaia in test) le temperature variano istantaneamente di 3/4 °C! Ho provato a collegare al terra del SCXI e della caldaia assieme... senza risultato. Ho provato ad alimentare il PC+SCXI con un gruppo isolato dalla rete elettrica... e niente... ho provato a scollegare le termocoppie non isolate dalla caldaia... e niente! Spero che qualcuno di voi abbia un idea..... grazie mille sandroz ---------------------------------------- AUTORE: 272 DATA :02/12/2005 - 10:38:50 ---------------------------------------- prova e riprova non sono riuscito ad eliminare i disturbi creati dall'inverter. Soluzione: ho tolto l'inverter! ---------------------------------------- ================================================================================ DLL lista finestre windows ================================================================================ AUTORE: 748 DATA :23/09/2005 - 10:03:27 ---------------------------------------- Ciao a tutti, qualcuo di voi sa se esista una DLL o un ActiveX (o meglio ancora un comando in LV) per poter ottenere una matrice con i nomi di tutte le finestre aperte in Windows (non solo le finestre di LV) ?? Grazie mille, Mark77 ---------------------------------------- AUTORE: 247 DATA :23/09/2005 - 11:39:07 ---------------------------------------- Ciao, prova a scaricare la libreria di VI presente in questa pagina del sito NI: - [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3EF4556A4E034080020E74861&p_node=DZ53008&p_source=External:3rvago8m]Windows API Function Utilities (32-bit) for LabVIEW[/url:3rvago8m] Nella Winevent.llb esiste un VI chiamato \"Get Task List\" che dovrebbe fare al caso tuo. BYE. ---------------------------------------- AUTORE: 748 DATA :23/09/2005 - 15:14:19 ---------------------------------------- Grazie mille, mi ero fissato sulle Winutil.llb e non mi ero mai accorto che c'erano anche le utili winevent.llb ---------------------------------------- AUTORE: 10 DATA :11/10/2005 - 14:42:22 ---------------------------------------- Mi aggancio anch'io alla discussione... con il Vi GET TASK list, produce solo le applicazioni aperte e non i processi. Ho cercato a lungo dentro i forum NI, ma senza trovare nulla di degno per LV 6.1 Qualcuno ha un'idea su come recuperare l'elenco dei processi che girano in WINdows tramite LV 6.1 e senza utilizzare .net framework? Grazie ---------------------------------------- ================================================================================ Disabilitare il tasto "start" di windows ================================================================================ AUTORE: 204 DATA :23/09/2005 - 10:28:23 ---------------------------------------- ciao a tutti, come posso evitare che un utente che usa il mio front panel possa accedere ai menu' di windows? ho notatto che con un'interfaccia modale non si riesce a cliccare con il mouse sulla barra di windows e questo mi vabenissimo. Se pero' preme il tasto \"start\" da tastiera, mi si apre il solito menu' di windows. A questo punto qualunque utente potrebbe spegnere il pc e questo non e' bello \":-(\" Grazie dell'attenzione ---------------------------------------- AUTORE: 129 DATA :23/09/2005 - 11:51:18 ---------------------------------------- puoi sfruttare la user.dll hide taskbar. ti allego un esempio. ---------------------------------------- AUTORE: 482 DATA :26/09/2005 - 07:39:39 ---------------------------------------- ma usando la hide se uno preme start da tastiera si apre cmq il menu'..... ---------------------------------------- AUTORE: 204 DATA :26/09/2005 - 19:30:45 ---------------------------------------- ciao, quindi non c'e' verso di impedire che l'operatore acceda ai menu' di windows? Non si puo' disabilitare da windows il tasto \"start\" della tastiera? qualcuno ha delle idee? ---------------------------------------- AUTORE: 129 DATA :27/09/2005 - 08:46:52 ---------------------------------------- sfruttando sempre la user32.llb puoi trovare anche per disabilitare lo start. questo codice funziona in vba , prova a tradurlo in labview [code:1cr92ie6]option Explicit ' private Declare Function FindWindowEx Lib "user32" _ Alias "FindWindowExA" (byval hWnd1 as Long, byval hWnd2 as Long, _ byval lpsz1 as string, byval lpsz2 as string) as Long ' private Declare Function EnableWindow Lib "user32" (byval hwnd as Long, _ byval fEnable as Long) as Long public Sub EnableStartMenuButton(byval bEnable as Boolean) ' ' Don't forget to re-enable it ! ' Dim lHwnd as Long ' lHwnd = FindWindowEx(0&, 0&, "Shell_TrayWnd", vbNullString) lHwnd = FindWindowEx(lHwnd, 0&, "Button", vbNullString) Call EnableWindow(lHwnd, bEnable) ' End Sub '[/code:1cr92ie6] ---------------------------------------- AUTORE: 129 DATA :27/09/2005 - 09:38:31 ---------------------------------------- ecco fatto, purtroppo la prima chiamata a findwindowEXA mi restituisce un numero significativo e infatti mi blocca la toolbar intera, il secondo (nel case true) che dovrebbe fornire il riferimentoi del tasto start, mi restituisce uno 0????? \":cry:\" , che non è il riferimento al tasto esatto. Se qualcuno va oltre lo segnali.. \"8)\" ---------------------------------------- AUTORE: 482 DATA :28/09/2005 - 08:23:29 ---------------------------------------- allora... Utilizzando WinID (utilità che vi consiglio di scaricare se volete manipolare un po' le caratteristiche di windows programmaticamente), ho notato che il bottone di start si chiama effettivamente \"Button\" ma di fianco compare un \"WC_BUTTON\" che non so cosa sia esattamente ma credo sia fondamentale per il corretto funzionamento del VI. Se vi viene in mente qualcosa con questo suggerimento.... \":wink:\" ---------------------------------------- ================================================================================ aggiornamento di un campo stringa a comando ================================================================================ AUTORE: 204 DATA :23/09/2005 - 10:53:49 ---------------------------------------- ciao a tutti, son sempre io...chiedo scusa se sto monopolizzando il forum ma sono un po' indietro con il lavoro e LV lo sto imparando in corso d'opera.. \":-)\" In riferimento al vi allegato, se premo il pulsante, l'indicatore si accende subito ma se cambio le stringhe nei campi di \"cluster\", l'aggiornamento in \"cluster2\" avviene solo se clicco con il mouse in un punto vuoto del front panel. Come posso aggiornare le stringhe del \"cluster2\" con la pressione di un tasto? Grazie a tutti per il supporto ---------------------------------------- AUTORE: 204 DATA :23/09/2005 - 11:00:47 ---------------------------------------- [quote:2m6blwzb]per fare questo devi semplicemente racchudere gli indicatori e le variabili dalle quali leggono all'interno di un case(nel caso TRUE) controllato del pulsante che deve scatenare l'aggiornamento;in questo modo risparmi letture di variabile e gli indicatori vengono aggiornati solo quando il loro codice risulta attivo, in parole poverisime \"solo quando ci passi\" premendo il tasto.[/quote:2m6blwzb] Ops..non avevo notato che Apollon mi aveva gia' risposto in \"multithreding o qualcosa di piu' semplice\" Grazie Apollon \":)\" [/quote] ---------------------------------------- ================================================================================ comando di un elemento di un cluster ================================================================================ AUTORE: 204 DATA :25/09/2005 - 16:55:37 ---------------------------------------- ciao, vi allega un piccolo vi. Come faccio ad accendere il led 1 o 2, contenuti nel cluster 2, con il pulsante contenuto nel cluster 1? GRazie dell'attenzione ---------------------------------------- AUTORE: 680 DATA :25/09/2005 - 17:58:50 ---------------------------------------- ciao, ti allego una soluzione........ ---------------------------------------- AUTORE: 204 DATA :26/09/2005 - 08:40:21 ---------------------------------------- ciao, non e' proprio possibile risolvere il mio problema senza modificare il cluster 1? Devo per forza avere il cluster di partenza strutturato come il cluster di arrivo? Grazie del supporto ---------------------------------------- AUTORE: 204 DATA :26/09/2005 - 12:08:24 ---------------------------------------- Non e' possibile usare le local variables senza modificare i cluster? ciao ---------------------------------------- AUTORE: 129 DATA :26/09/2005 - 12:49:23 ---------------------------------------- Utilizando le funzioni cluster, puoi avere un infinità di combinazioni. Se non devi modificare il cluster 1, guarda l'esempio. ---------------------------------------- AUTORE: 204 DATA :26/09/2005 - 15:19:29 ---------------------------------------- Grazie mille!! Ecco a cosa serviva l'ingresso \"input cluster\" che mi trovavo sempre nei bundle by name. Mi sembra un po' noioso ricrearmi un \"cluster dummy\" per tutti i cluster. Comunque funziona e il cluster dummy posso comunque nasconderlo.. GRazie ancora del supporto ---------------------------------------- ================================================================================ Sicurezza vi ================================================================================ AUTORE: 341 DATA :27/09/2005 - 15:38:47 ---------------------------------------- Salve,dopo tanto mi riaffaccio al forum. Vorrei sapere se si può inserire una password ad un VI in modo da proteggerlo ed evitare che altri possano aprire il block diagram. Grazie ---------------------------------------- AUTORE: 278 DATA :27/09/2005 - 15:57:20 ---------------------------------------- Ciao, Si puo` fare cliccando con il tasto destro sull`icona del VI (in alto a destra) e seleziona VI properties. Nel menu` a tendina scegli l`opzione \"Security\", a questo punto puoi scegliere come meglio \"proteggere\" il tuo VI. Ciao Ciao ---------------------------------------- ================================================================================ memoria "ritentiva" ================================================================================ AUTORE: 204 DATA :27/09/2005 - 20:13:59 ---------------------------------------- ciao, forse sono un po' fuso, vista l'ora.. \":-)\" Vi allego un piccolo \"rompicapo\". Messi dei valori numerici a caso all'interno dei campi H4, H3, ecc. se premo il tasti corrispondente, il valore viene scritto nel campo \"H\". Vorrei riuscire a mantenere visualizzato il valore in H anche quando rilascio il tasto. Successivamente, se premo un altro tasto, il valore deve essere aggiornato col nuovo numero. Qualcuno ha delle idee? Grazie del supporto ---------------------------------------- AUTORE: 278 DATA :27/09/2005 - 22:53:38 ---------------------------------------- Ciao, Non ti preoccupare per l'ora, guarda a quando mi riduco a farlo io! \":wink:\" Ti allego la mia soluzione, per come hai strutturato i dati del cluster non è stato facilissimo. Il problema è che tu aggiorni continuamente lo stato del tuo array (la sua somma), qundi al rilascio del tasto il valore H ritorna sempre quello originale. Nella mia soluzione il valore della variabile H viene aggiornato solo alla pressione di uno dei 4 tasti, utilizzando una event structure. Se hai bisogno di informazioni in merito alle event structure chiedi pure! Dimenticavo, ho anche cambiato il tipo di \"mechanical Action\" dei 4 tasti, invece che \"Switch until released\" ho usato \"latch when released\". Questo perchè, usando la event, \"l'evento\" del cambiamento di stato del tasto avveniva due volte, causando un ritardo nella risposta. Con \"latch when released\" il tasto trasmette lo stato del cambiamento solo quando viene rilasciato dopo la pressione. ---------------------------------------- AUTORE: 204 DATA :28/09/2005 - 08:49:36 ---------------------------------------- Grazie Esodar1981 ! Non avevo mai usato le event structure. Quello che mi ha detto sulla difficolta' di trattare la mia struttura a cluster mi ha fatto pensare che forse e' meglio rendere le cose piu' semplici..come pensavi di affrontare il problema in modo diverso? Grazie ancora per il supporto (spero di non averti fatto perdere troppo tempo..vista l'ora della risposta \":-)\" ) ---------------------------------------- AUTORE: 278 DATA :28/09/2005 - 10:22:35 ---------------------------------------- Di niente, figurati! Non so come l`avrei fatto io, dipende dalla struttura dati. Provero` a riguardarlo stasera, il lavoro mi chiama. Ciao Ciao ---------------------------------------- AUTORE: 596 DATA :28/09/2005 - 10:59:20 ---------------------------------------- E' quasi diventato un esercizio di stile, ma in questo modo utilizzi pochissime istruzioni, inparo come funziona la registrazione dinamica degli eventi e puoi aumentare la lunghezza dell'array quanto vuoi. Ovviamente è un po' rozzo ma può essere migliorato. Ciao, Riccardo PS: Non è commentato ma il tempo è tiranno, se hai dei dubbi chiedi. ---------------------------------------- AUTORE: 204 DATA :28/09/2005 - 11:26:32 ---------------------------------------- Grazie! la seconda soluzione mi sembra un po' piu' complicata ma ha sempre meno istruzioni..cosi' mi piace \":-)\" Provo a guardare cosa si adatta meglio alla mia applicazione. Saluti ---------------------------------------- AUTORE: 204 DATA :28/09/2005 - 16:55:42 ---------------------------------------- ciao, ho modificato targets1.vi in modo da accendere un led quando premo un tasto..Purtroppo non riesco a mantenere acceso il led per un tempo un po' piu' lungo, possibilmente configurabile. Qualcuno ha qualche idea? GRazie ---------------------------------------- AUTORE: 278 DATA :29/09/2005 - 17:12:25 ---------------------------------------- Ciao Birkof, ormai, ti posso anche chiamare per nome \":wink:\" Prova l`esempio allegato, scusa se non lo commento ma ho troppo da fare. Il tempo di accensione del led e` impostabile dalla variabile \"LED time\" Ciao ciao ---------------------------------------- AUTORE: 204 DATA :30/09/2005 - 08:51:03 ---------------------------------------- Wow! ancora una volta ho risolto il mio problemino e non solo. \":-)\" Stavo per postare un'ennesima domanda su come realizzare un controllo di timeout ma adesso ho capito \":-)\" Grazie ancora! ---------------------------------------- ================================================================================ Configurazioni per la reazione di un'applicazione eseguibile ================================================================================ AUTORE: 204 DATA :28/09/2005 - 09:44:45 ---------------------------------------- ciao a tutti, grazie ancora per il supporto che tutto il forum mi sta dando. Sto creando i primi eseguibili della mia applicazione. Sono andato in Tools->build application e poi ho generato un singolo eseguibile. Quando lo lancio vedo che la finestra del front panel non e' a \"tutto schermo\" e non e' \"modale\" come durante lo sviluppo in LV. Posso quindi utilizzare tranquillamente windows mentre il front panel gira e questo non mi piace: quando il front panel e' aperto, l'operatore deve vedere ed aver accesso solo a questo! Come faccio far girare il front panel a tutto schermo, impedendo a un operatore di cliccare sul desktop, nascondere il FP, ecc. Grazie dell'attenzione ---------------------------------------- AUTORE: 278 DATA :28/09/2005 - 10:28:32 ---------------------------------------- Ciao, Puoi farlo dalle proprieta` del tuo VI cliccando con il tasto destru sull`icona del vi in alto a destra. Scegli VI properties--> window appearance. Spunta la voce \"custom\" ed il bottone \"customize\". Tramite il menu` che si apre devi mettere la spunta su \"Window is modal\", in questo modo rimane sempre davanti a tutte. Sotto questa voce puoi settare le permission dell`utente, tipo chiudere la finestra, ridimensionarla, iconizzarla ecc. Ciao Ciao ---------------------------------------- AUTORE: 204 DATA :28/09/2005 - 15:21:48 ---------------------------------------- ciao, purtroppo ci avevo gia' provato..il FP rimane in primo piano ma non mi riempie completamente lo schermo..quindi posso cliccare sulle applicazioni windows che trovo sotto. Forse bisogna agire su qualche opzione di compilazione (quando creo l'eseguibile..). Ti allego un esempio di come ho proceduto..se lo esegui da LV, riempie tutto lo schermo, se lo compili, no. Grazie comunque del supporto ---------------------------------------- AUTORE: 278 DATA :28/09/2005 - 23:48:23 ---------------------------------------- Ciao, Ti allego lo stesso vi con delle impostazioni differenti, prima di tutto ho disabilitato anche il menu (tramite il solito VI properties--> window appearance) poi, premendo sempre sull'icona del vi con il tasto destro ho selezionato Vi Properties-->Window Size e ho sputato la prima voce, \"Size the front panel.....\". Quando ho compilato l'eseguibile, tramite il VI settings premendo il tasto \"Edit build settings\", ho disabilitato la voce \"run when opened\" ma solo perche non mi piaceva che l'eseguibile partisse automaticamente... Facci sapere se così hai l'effetto voluto.. ---------------------------------------- AUTORE: 204 DATA :29/09/2005 - 08:45:29 ---------------------------------------- Grazie, e' proprio quello che mi mancava!! ---------------------------------------- ================================================================================ modificare un ingresso dinamicamente ================================================================================ AUTORE: 204 DATA :28/09/2005 - 15:06:03 ---------------------------------------- ciao a tutti, vi allego un piccolo esempio... vorrei utilizzare l'informazione del nome del segnale contenuto nel cluster in modo da avere coppie di NomeSegnale-Valore. Ho trovato la soluzione in attach in cui leggo le label dei controlli contenuti all'interno di \"Output Cluster\" ma il problema è che se il cluster in ingresso cambia (ad esempio aggiungo un segnale o lo tolgo), il controllo \"Output Cluster\" da cui prendo l'informazione non cambia dinamicamente. Quale altro controllo potrei utilizzare? Ci sono altri metodi? Il mio scopo e' creare una funzione che sia modulare e non qualche cosa da modificare ogni volta che faccio un cambiamento in ingresso... Grazie ---------------------------------------- ================================================================================ come bypassare il "file buffering" del Sistema Ope ================================================================================ AUTORE: 808 DATA :29/09/2005 - 11:51:10 ---------------------------------------- Come descritto alla pagina web http://www.pa.iasf.cnr.it/cgi-bin/pubIA ... index.html , l’interfaccia Delphin sviluppata permette a qualsiasi elettronica hardware di essere vista come “unità disco”. La prima versione prototipa di tale interfaccia può funzionare su molti Sistemi Operativi tramite le funzioni di I/O sui file ad accesso diretto, bypassando il “File Buffering” del Sistema Operativo. Per consentire i su menzionati “accessi diretti” in LabView per Windows, sono state sviluppate quattro funzioni (in allegato). Queste funzioni sono in fase di evoluzione per garantire la portabilità tra diversi Sistemi Operativi. Sarebbe interessante sapere se altre soluzioni, mediante LabView, meglio bypassano il “File Buffering”. La prossima versione dell’interfaccia Delphin includerà la modalità operativa “Disco Rimovibile”. Tale modalità bypassa in modo hardware il “File Buffering” del Sistema Operativo, ma appesantisce leggermente il carico di trasmissione dati durante gli accessi (I/O data overhead). Grazie. Saluti. iasf tech-staff. Le funzioni e la documentazione è inclusa nel file (.zip) allegato: IOSyncLib.llb – libreria di funzioni (collezione .vi) per accesso diretto al disco. IOSyncLib.chm - help compilato (versione preliminare). DelphTest04.vi – schema di test che utilizza la libreria su menzionata. [/url] ---------------------------------------- ================================================================================ Problemi con i vi di VISA! ================================================================================ AUTORE: 214 DATA :29/09/2005 - 12:34:04 ---------------------------------------- Salve, a qualcuno di voi è capitato mai che aprendo un VI che contenga al suo interno un altro VI della libreria VISA si spenga il computer in modo improvviso? Sapreste come risolvere questo problema? Grazie anticipatamente Ciao Mario ---------------------------------------- AUTORE: 214 DATA :30/09/2005 - 09:37:49 ---------------------------------------- Ragazzi, vi dirò di più: il PC si spegne anche quando effettuo una ricerca su tutti i VI che ho in memoria e durante tale ricerca viene scandito un vi Visa! Se qualcuno ha una soluzione mi risolverebbe un grosso problema. Grazie Mario ---------------------------------------- ================================================================================ stringhe formattate o array? ================================================================================ AUTORE: 683 DATA :30/09/2005 - 10:05:21 ---------------------------------------- Buongiono a tutti, ho un problema che sicuramente sarà per voi molto semplice: ho un stringa composta da altre stringhe come faccioa mettele nel formato per fogli elettronici?? in pratica voglio che venga così stringa1 (tab) stringa2 (tab) stringa3 (tab) ecc... stringa1 (tab) stringa2 (tab) stringa3 (tab) ecc.. ecc.... e così via le stringhe dovrebbero essere un numero qualsiasi allego un'immagine per capire meglio il problema Grazie ---------------------------------------- AUTORE: 751 DATA :30/09/2005 - 14:36:33 ---------------------------------------- Ciao, \":D\" non so se ho capito bene cosa vuoi fare...cmq se vuoi arrivare ad avere un'unica stringa formattata come hai indicato tu nell'esempio allora prova a guardare il vi ke ho allegato. Non so se poi vuoi crearti un file (xls,html,txt,ecc) oppure un report con una tabella contenente questi dati! \":?:\" \":?:\" Buon lavoro. \":wink:\" ---------------------------------------- AUTORE: 683 DATA :30/09/2005 - 16:23:20 ---------------------------------------- per favero potresti mandarmi un Vi compilato per LV 6.1 grazie se non no posso aprirlo grazie ---------------------------------------- AUTORE: 680 DATA :30/09/2005 - 20:52:17 ---------------------------------------- questo è il vi di \"black_eagle\" in formato immagine......... ciao, ciao........... ---------------------------------------- AUTORE: 751 DATA :03/10/2005 - 08:20:11 ---------------------------------------- Grazie \"linux120\" \":D\" \":D\" X \"ilgurzo\": se hai ancora problemi fammi sapere \":wink:\" ---------------------------------------- AUTORE: 683 DATA :03/10/2005 - 08:45:38 ---------------------------------------- in effetti il tuo schema funziona ma solo con 2 stringhe. ti faccio una panoramica della situzione. ho uno strumento di misura controllato da un ciclo for che ogni 30 secondi (ma possono essere di + o di meno) mi mette su databuffer un centinaio di valori io cambio i punti con le virgole e aggiungo un return. Il vettore che mi si crea in automatico con l'autoindexing creda un ulemto ad ogni misurazione. se mando direttamente l'array su scrittura a file mi sarla un file con gli elemtni scritti uno sotto l'altro. il mio problema e che invede di uno sotto l'altro li voglio separati dal tab es Misuara 1(tab)Misura2 (tab) msura3(tab) ec....... 1(tab)10(tab) 2(tab)20(tab) 3(tab).... 4(tab)... spero di essemi spiegato meglio grazie ---------------------------------------- AUTORE: 751 DATA :03/10/2005 - 10:40:37 ---------------------------------------- Ciao, l'esempio ke ti ho mandato con sole 2 stringhe era giusto x farti capire come formattare quelle stringhe nel modo in cui volevi tu. E' chiaro ke puoi aggiungere in ingresso al ciclo while tante stringhe quante sono quelle ke devi formattare aggiungendo quindi altri shift register e altri blocchi \"match pattern\", e poi concatenando opportunamente le stringhe con i \"tab\" e con i \"line feed\". Alla fine avrai un'unica stringa con tutti i dati delle misure formattati. \":P\" Spero di averti tolto ogni dubbio \":!:\" ---------------------------------------- AUTORE: 683 DATA :04/10/2005 - 10:13:25 ---------------------------------------- grazie a tutti ho risolto il mio problema per ho trovato una soluzione semplice e veloce che mi ha permesso di creare un'array 2D usando la funzione \"scan string for tokens\" e nettendola in un ciclo for annidato grazie per l'aiuto PS inizio a capirci qualcosa sul LV ---------------------------------------- AUTORE: 683 DATA :04/10/2005 - 10:47:59 ---------------------------------------- alllego il vi da me prodotto ---------------------------------------- ================================================================================ Domanda da newbie ================================================================================ AUTORE: 807 DATA :30/09/2005 - 20:36:18 ---------------------------------------- Salve a tutti, leggendo la documentazione su LabView mi stavo chiedendo quale differenza c'è tra LabView e i software del tipo SCADA/HIM Grazie anticipatamente ---------------------------------------- ================================================================================ Grafica con labview ================================================================================ AUTORE: 674 DATA :01/10/2005 - 17:21:28 ---------------------------------------- Ciao a tutti. Premetto che sono un neofita di Labview e mi chiedevo se qualcuno poteva darmi un aiuto in merito a questo problema: vorrei disegnare su di una picture segmenti di due colori a secondo del valore assunto da una variabile.Ogni volta che valuto la variabile vorrei inserire nella picture un segmento sempre nella stessa posizione (tutto a sinistra ) e far shiftare verso destra i segmenti acquisiti durante le iterazioni precedenti. Ringrazio in anticipo chiunque mi risponderà ---------------------------------------- AUTORE: 201 DATA :01/10/2005 - 18:37:09 ---------------------------------------- Sono poche le info che dai. Quali sono i due colori? quanto lunghi i segmenti? dove li vuoi i segmenti? Come cambia il colore in base alla variabile? ---------------------------------------- AUTORE: 201 DATA :01/10/2005 - 19:14:49 ---------------------------------------- Guarda, chiedi se qualcosa nn ti è chiaro. ---------------------------------------- ================================================================================ configurare per bene i file dialog ================================================================================ AUTORE: 204 DATA :03/10/2005 - 20:01:18 ---------------------------------------- ciao, domandina.. provate a lanciare il vi che vi allego. Come faccio a far comparire nel campo \"Salva come:\" non \"All files (*.*)\" ma una lista di mie estensioni tipo \"*.doc\" , \"*.dat\", ecc.? E se volessi che la finestra si aprisse sempre in una directory ben precisa? Grazie dell'attenzione ---------------------------------------- AUTORE: 113 DATA :04/10/2005 - 08:13:42 ---------------------------------------- Collega all'ingresso pattern una costante/controllo stringa con il custom pattern con cui vuoi personalizzare il file dialog. Ad esempio: *.doc;*.dat Per puntare ad una cartella precisa, inserisci il percorso all'ingresso start path. Se invece vuoi visualizzare l'help file di LV per una descrizione dettagliata premi Ctrl+H \":wink:\" ---------------------------------------- AUTORE: 204 DATA :04/10/2005 - 09:03:34 ---------------------------------------- Grazie! bastava leggere sono proprio un tontolone \":lol:\" Saluti ---------------------------------------- AUTORE: 204 DATA :04/10/2005 - 09:10:36 ---------------------------------------- se posso ancora chiedere una cosina.. E se volessi avere un menu' tipo \"salva\" di Word, con una lista di estensioni in cui salvare il mio file? Se uso la stringa pattern ho un'unica riga con la lista di estenzioni. Io vorrei avere le varie estensioni possibili, suddivise in \"righe\" differenti tra cui scegliere.. Grazie del supporto ---------------------------------------- ================================================================================ quale versione di Labview??? ================================================================================ AUTORE: 683 DATA :04/10/2005 - 10:17:32 ---------------------------------------- ciao a tutti, volevo un parere su quale versione di LV è la più versatile e da meno problemi!! ora sto utilizzando la versione 6.1 ho dispomibile una 6.0.1 e la versione 7 finchè non finisco il progetto resto sulla 6.1 per ovvie ragioni di compatibilità, ma per un utilizzo futuro mi consigliate la versione aggiornata o c'è qualche controindicazione?? è uscita recentemente una versione più nuova?? grazie a tutti ---------------------------------------- AUTORE: 596 DATA :04/10/2005 - 10:35:39 ---------------------------------------- In un mondo perfetto l'ultima (Labview 8?). Io utilizzo la 7.1 e proprio 3 giorni fa mi sono sentito dire dalla national che per utilizzare DATASOCKET e REALTIME bisogna fare il downgrade alla 6.1 \":?\" Quindi quaggiù nel mondo inperfetto direi che dipende da quali funzionalità utilizzerai, cmq il mio consiglio è comunque di utilizzare (se l'hai disponibile) l'ultima versione. ---------------------------------------- ================================================================================ Property di elementi apaprtenenti a un cluster ================================================================================ AUTORE: 204 DATA :04/10/2005 - 10:53:02 ---------------------------------------- ciao a tutti, una domanda.. Io ho molti elementi (indicatori vari, controlli, ecc.) appartenenti a un unico cluster. Vorrei poter leggere o scrivere una stessa proprieta' di questi singoli elementi, per es. vorrei ottenere la \"label\" di ciascun elemento appartenente al cluster. Devo per forza usare 100 \"property node\" se ho 100 elementi nel cluster o c'e' qualche metodo piu' semplice e versatile? Grazie ---------------------------------------- ================================================================================ salvataggio su file binario da cluster ================================================================================ AUTORE: 204 DATA :04/10/2005 - 16:22:21 ---------------------------------------- ciao, domandina riguardante i blocchi di lettura/scrittura di file binari (open file, read file)... Come posso salvare e ricaricare i valori degli elementi di un cluster? Devo, forse, convertire l'uscita del cluster in array o c'e' qualche metodo piu' semplice? Nel cluster ho vettori, stringhe, valori numerici e boolen Grazie ---------------------------------------- AUTORE: 204 DATA :04/10/2005 - 17:06:51 ---------------------------------------- ho provato a creare il vi che allego ma non funziona e non so perche'. Mi sembra che la scrittura su file binario funzioni ma la lettura mi va in errore.. Qualcuno mi puo' aiutare? Grazie mille ---------------------------------------- AUTORE: 204 DATA :04/10/2005 - 17:27:12 ---------------------------------------- ciao, ho risoltoil problema da solo. Grazie al forum ormai mi faccio le domande e mi do' le risposte da solo \":-)\" saluti ---------------------------------------- AUTORE: 1463 DATA :21/11/2006 - 18:23:37 ---------------------------------------- Ciaooo!!!!!! Ho visto la tua discussione e ho un problema analogo. Ti spiego il mio problema: devo salvare i dati prelevati dalla scheda di acquisizione provenienti da due ingressi differenti. Quindi ho due segnali. Una volta prelevati li metto assieme (con un build array) creando un vettore bidimensionale. Io devo riuscire a salvare i due segnali su file binario, per poi poterli rileggere. le domande sono: 1)E' possibile salvare un vettore bidimensionale su un unico file binario? 2)comè' che posso caricare due file binari contemporaneamente e visualizzarne i valori su uno stesso grafico? Non è che saresti cosi gentile, se hai tempo, da modificare i file allegati x le modifiche al mio problema? GRAZIE INFINITE!!!!!!!!! ---------------------------------------- ================================================================================ boolean array to number [Mi presento] ================================================================================ AUTORE: 813 DATA :04/10/2005 - 18:45:26 ---------------------------------------- Ciao a tutti! Sono un ingegnere, da poco alle prese con questo utilissimo strumento di lavoro!Ragazzi ho un problema.Non riesco a capire il significato dell'operatore \"boolean array to number\".Ho un programma che sto cercano di \"decriptare\",in cui l'uscita di questo,un intero,è il \"pattern\" del \"write to digital port.vi\".Cerco di inserire un allegato. Grazie 1000 già in anticipo!!! ---------------------------------------- AUTORE: 129 DATA :05/10/2005 - 08:32:47 ---------------------------------------- RAppresenta il numero corrispondente al boolean array. [quote:34qeeoeo]Converts Boolean array to a 32-bit unsigned integer by interpreting it as the binary (complement of two) representation of an integer with the first element of the array being the least significant bit. [/quote:34qeeoeo] ---------------------------------------- ================================================================================ rilascio di un pulsante mappato con tasti ================================================================================ AUTORE: 204 DATA :05/10/2005 - 10:18:28 ---------------------------------------- ciao a tutti, vi propongo un quesito. Nel vi allegato ho un pulsante \"Ok button\" che se viene premuto con il mouse accende dei led. Se rilascio il mouse, il pulsante ritorna in OFF e il led si spegne. Ho mappato il pulsante con il \"PAG-UP\" della tastiera ma ho scoperto che una volta rilasciato il \"pag-up\" il pulsante rimane premuto! purtroppo non posso cambiare la modalita' di funzionamento del pulsante perche' uso una local variable e LV mi segnala errore se provo a usare il pulsante come \"latch\". Qualcuno ha delle idee? Tenete presente che non posso eliminare i due cicli while.. Grazie dell'attenzione ---------------------------------------- AUTORE: 113 DATA :05/10/2005 - 12:35:53 ---------------------------------------- Ciao, guarda se ti va bene, ho cambiato anche l'azione del pulsante. Alberto ---------------------------------------- AUTORE: 278 DATA :05/10/2005 - 14:16:38 ---------------------------------------- Ciao Birkof, Ti allego la mia soluzione, ha un comportamento diverso da quella di Alberto (con la mia, la pressione del tasto fa \"swicchare\" lo stato dei led) Ciao Ciao ---------------------------------------- AUTORE: 204 DATA :05/10/2005 - 17:05:41 ---------------------------------------- Grazie delle risposte. Chiedo scusa ma forse mi sono spiegato male. Nel vi botton_key.vi clicco con il mouse sul pulsante i led si accendono, non appena rilascio, i led si spengono. Vorrei che la stessa cosa succeda premendo il tasto da tastiera: i led devono rimanere accesi se il pulsante e' premuto, altrimenti si devono spegnere. Nelle vostre due risposte mi pare che cio' non avvenga.. Immaginate che al posto dei led ci sia il segnale di partenza del motore di un montacarichi: se mollo il tasto voglio che la gru si fermi.. Scusate per l'incomprensione ma non riesco a capire come risolvere il mio problema..forse dovrei cambiare completamente architettura ma, come ho detto all'inizio, ho piu' cicli in parallelo e mi torna molto comodo usare delle local variable per lo scambio di informazioni tra i cicli.. Se avete qualche idea..io sono in ascolto \":-)\" Grazie ancora per la collaborazione ---------------------------------------- AUTORE: 129 DATA :05/10/2005 - 17:49:16 ---------------------------------------- Dovresti interrogare la tastiera, guarda l'esempio. Ciao ---------------------------------------- AUTORE: 751 DATA :07/10/2005 - 08:37:19 ---------------------------------------- Ciao \":D\" ho provato ad aggiungere all'esempio di \"nicola\" un piccolo artificio x gestire al meglio il passaggio critico di quando rilasci il \"PageUp\" sulla tastiera. Infatti, puo' capitare ke rilasciando il tasto rimanga settato a \"true\" il controllo \"OK button\" (e quindi rimane acceso anke il led \":?\" ). Guarda un po' se ti convince \":wink:\" ---------------------------------------- AUTORE: 204 DATA :07/10/2005 - 12:39:09 ---------------------------------------- ciao a tutti, sto provando gli ultimi due esempi..Button_key[3].vi mi pare che non funzioni bene...se rilascio pag_up, il tasto rimane premuto. Non sara' che ho qualche settaggio di LV (o windows) da fare? Button_key[3]_mod gira abbastanza bene ma ogni tanto il tasto rimane premuto..provo a capire meglio come funziona e poi (se riesco \":-P\" ) allego l'ulteriore modifica. A questopunto pero' forse e' meglio abbandonare le local variable e usare qualche altro sistema per il passaggio di dati tra i cicli.. Se qualcuno ha idee..sono in ascolto \":-)\" Grazie ancora per il supporto! ---------------------------------------- AUTORE: 113 DATA :07/10/2005 - 13:07:01 ---------------------------------------- Forse queste sono le modifiche all'ultimo esempio che ti servono \":wink:\" P.S. ho tolto la key navigation al pulsante. Alberto ---------------------------------------- ================================================================================ sweep in frequenza ================================================================================ AUTORE: 817 DATA :07/10/2005 - 11:16:22 ---------------------------------------- Buongiorno, ho incontrato alcuni problemi nel simulare un chirp, ovvero uno sweep lineare in frequenza, per un esperimento di meccanica delle vibrazioni. Il vi che genera il pattern della forma d'onda chirp è presente in labview pero non è temporizzato e ho notato che presenta problemi di aliasing (anche con numerosi punti), quindi è abbastanza inutilizzabile per il mio scopo. Volevo chiederte se qualcuno ha avuto a che fare con questo vi o col problema in generale e se ha una soluzione. ---------------------------------------- AUTORE: 817 DATA :09/10/2005 - 01:24:45 ---------------------------------------- ho creato un vi per farmi capire meglio. Potete vedere che la funzione in uscita non fa uno sweep fra le frequenze volute e inoltre ha problemi di aliasing. Vi ringrazio per ogni suggerimento che potete darmi. ---------------------------------------- AUTORE: 113 DATA :10/10/2005 - 14:10:12 ---------------------------------------- Gli ingressi f1 e f2 della funzione chirp sono normalizzati con il numero di samples con cui costruire il segnale, per dettagli guarda l'help della funzione chirp. Nella vi allegat imposti samples=10000, f1=0 e f2=0.5, in pratica è come se tu generassi uno sweep che va da 0 a 5Khz con un sample rate di 1E-4, l'ultima sinusouide avrebbe soli due punti e quindi impossibile da costruire. Questo è il motivo delle frequenze apparenti man mano che la frequenza aumenta. Per convertire i valori di frequenza per gli ingressi della funzione, devi dividerli per il numero di samples. Ti allego l'esempio corretto in cui si genera uno sweep da 0 a 100Hz con 1K samples; se vai a zoomare il grafico vedi che l'ultima sinusoide è costruita correttamente con 10 samples, senza aliasing. Spero di esserti stato utile, Alberto ---------------------------------------- AUTORE: 817 DATA :18/10/2005 - 10:16:24 ---------------------------------------- ok, se ho capito bene invece che fare uno sweep inserendo le frequenze di inizio e fine lo creo variando il numero di punti che calcola. grazie per l'aiuto. Stevanhe \":)\" ---------------------------------------- ================================================================================ Palla che rimbalza ================================================================================ AUTORE: 201 DATA :07/10/2005 - 16:36:21 ---------------------------------------- prendendo spunto da un 3d qui sul forum mi sono divertito a fare rimbalzare una pallina nello schermo \":)\" http://www.easy-sharing.com/18948/palla.zip.html ps. ho usato un host esterno xkè il forum mi dice che ho raggiunto il limite di 2 mb di file uppati...c'è un modo x cancellare i file precedentemente uppati? pss. usato labview 7.1 ---------------------------------------- AUTORE: 201 DATA :07/10/2005 - 16:38:13 ---------------------------------------- Ah va fatto partire il main.vi e basta. ---------------------------------------- ================================================================================ Fermare l'esecuzione di un vi fuori controllo ================================================================================ AUTORE: 204 DATA :07/10/2005 - 16:39:18 ---------------------------------------- ciao, qualcuno sa come si fa a fermare l'esecuzione di un vi di cui si e' perso il controllo? Non posso usare i pulsanti sotto i menu' perche' li ho disabilitati e non si vedono.. Grazie ---------------------------------------- AUTORE: 201 DATA :07/10/2005 - 16:44:55 ---------------------------------------- Prova ctrl+\".\" ---------------------------------------- AUTORE: 113 DATA :07/10/2005 - 17:45:20 ---------------------------------------- In caso di necessità, in Win2K o Xp, il buon e vecchio Ctrl+Alt+Canc è l'unico che funziona (quasi sempre...) \":wink:\" ---------------------------------------- AUTORE: 204 DATA :10/10/2005 - 13:06:57 ---------------------------------------- ciao, con ctrl+\".\" niente di niente. Ho un vi modale e mi secca parecchio dover chiudere LV con il buon vecchio ctrl+alt+canc .. Strano che LV non abbia una sorta di ctrl-break come i linguaggi ad alto livello.. grazie ancora per il supporto ---------------------------------------- AUTORE: 645 DATA :24/10/2005 - 08:59:38 ---------------------------------------- Ma Ctrl+Pausa non funziona? ---------------------------------------- ================================================================================ manipolare le proprieta' di un tab ================================================================================ AUTORE: 204 DATA :09/10/2005 - 12:47:22 ---------------------------------------- ciao, avrei due domande sul vi allegato.. vorrei poter passare alla \"page 1\", premendo il pulsante inserito nella \"page 2\". e' possibile? In piu' vorrei rendere invisibile o visibile una pagina del tab control, per esempio premendo un pulsante messo da qualche parte nel mio progetto. Qualcuno mi puo' aiutare? Grazie dell'attenzione ---------------------------------------- AUTORE: 129 DATA :10/10/2005 - 07:55:42 ---------------------------------------- Io utilizzerei una local variable. Guarda esempio ---------------------------------------- AUTORE: 204 DATA :10/10/2005 - 13:11:42 ---------------------------------------- Grazie della risposta! non si riesce proprio a rendere invisibile una pagina a comando (tipo con un pulsante)? ho una pagina che uso solo per la manutenzione del mio applicativo e non voglio che l'operatore la veda.. grazie del supporto ---------------------------------------- AUTORE: 247 DATA :10/10/2005 - 14:18:04 ---------------------------------------- Ciao, hai visto questo vecchio post: [url=http://www.ilvg.it/forum/viewtopic.php?t=920&start=0&postdays=0&postorder=asc&highlight=tab:2w9r90ov]\"Aumentare le linguette di un TAB CONTROL a Runtime\"[/url:2w9r90ov], penso che potresti riutilizzarne la soluzione. BYE. ---------------------------------------- AUTORE: 204 DATA :13/10/2005 - 16:21:24 ---------------------------------------- Super Grazie!! Vi allego la mia soluzione saluti ---------------------------------------- ================================================================================ seriale con linux ================================================================================ AUTORE: 828 DATA :10/10/2005 - 09:41:12 ---------------------------------------- è possibile, ed eventualmente come, utilizzare la seriale per mandare stringhe e ricevere srtinghe con labview per linux? ciao, giovanni ---------------------------------------- ================================================================================ scrivere con la parallela in un display ================================================================================ AUTORE: 340 DATA :10/10/2005 - 10:18:19 ---------------------------------------- Ciao a tutti Mi rivolgo dinuovo a voi in cerca di un perzioso consiglio . Ho scaricato da internet un'applicazione molto interessante che permette de scrivere nei display alfanumerici o grafici attraverso la porta parallela. io adopero per il debug un displau alfanum. 40x4 . adesso vorrei implementare le mie macchine di collaudo con il display piazzato proprio sopra la fix-ture con indicato i valori di taratura in real time per non fare più distogliere lo sguardo dell' operatore durante la fase di taratura per guardare ilmonitor del pc . Il prblema è questo: Ho lettoi vostri vecchi topic sulla Lpt ma on sono riuscito a capire molto e sopratutto come scrivere una Stringa in parallela piuttosto che muovere i singoli bit ( pilotaggio relè ad esempio .) mi potete dare una mano ? Tante graie ciao ---------------------------------------- AUTORE: 247 DATA :10/10/2005 - 14:13:52 ---------------------------------------- Ciao, oltre ai vecchi post hai letto il documento di [color=green:3kto8ytu]Nicola[/color:3kto8ytu] \"Accesso diretto alle risorse I/O\" che puoi scaricare dalla sezione \"Articoli\" di questo sito? Ti sarà sicuramente d'aiuto, parla esaustivamente dell'utilizzo della porta parallela. BYE. ---------------------------------------- AUTORE: 129 DATA :10/10/2005 - 15:06:26 ---------------------------------------- Apollon, mi ha anticipato. Hai le specifiche di interfacciamento del tuo display? Il fatto di usare la parallela vista come array di bit (in pratica il byte che vedi sulla parallela, che trsformato rispetto alla \"stringa\" diventa ciò che realmente ha un significato per il display). Comunque se vuoi utilizzare le stringhe, puoi utilizzare le VISA normalmente utilizzando la lpt (ma ho avuto molti problemi con questo metodo). Ti invio un esempio banale per scrivere sulla parallela una stringa in VISA. ---------------------------------------- AUTORE: 340 DATA :11/10/2005 - 09:56:34 ---------------------------------------- Tante grazie a tutti sono riuscito a risolvere il problema .... Adesso tutto funziona corettametne . Effettivamente il problema non era solo dovuto alla trasmissione del Char sul buffer di out ma anche agli otto bit di controllo della porta stessa . Ho dovuto interpellare dei Firweristi che mi hanno fatto il grafico dell 'andamento di tutti i sengali interesati . adesso tutto funzionamente corettamente . tante grazie a tutti . Ciao ---------------------------------------- ================================================================================ Manuale labview italiano ================================================================================ AUTORE: 829 DATA :10/10/2005 - 10:44:22 ---------------------------------------- Sono un nuovo utente di labview e vorrei sapere se esistono e dove trovare manuali o libri di labview in italiano. Io sono in possesso della versione 7.1. Grazie ---------------------------------------- AUTORE: 683 DATA :12/10/2005 - 09:50:05 ---------------------------------------- ciao, purtroppo per ora utilizzo la 6.1 però se ti serve un manuale che capire \"fondamenti\" di LV ti mando a un manuale di circa 100 pagine che è molto utile per muovere i primi passi con questo mitico programma. nel pdf potra trovare oltre che alle spiegazione delle routine princiaple anche degli esercizi per capiere meglio le funzionalità ecco il link: http://ilgruzo.altervista.org/Manuale_labview.pdf spero ti sia utile buon lavoro [code:2bv875um]commento inserito da nicola[ILVG STAFF]:->ILVG non ha responsabilità sui link a documenti esterni in caso di controversie sulla licenza d'uso e diffusione, con gli autori.[/code:2bv875um] ---------------------------------------- AUTORE: 289 DATA :12/10/2005 - 12:32:16 ---------------------------------------- Grazie cercavo un manuale sul 6.1 da tempo ---------------------------------------- AUTORE: 840 DATA :18/10/2005 - 15:49:44 ---------------------------------------- evidentemente il link è stato eliminato,come fare per leggere queste pagine,grazie ---------------------------------------- AUTORE: 129 DATA :19/10/2005 - 11:59:23 ---------------------------------------- [quote="maramb":28mne66q]evidentemente il link è stato eliminato,come fare per leggere queste pagine,grazie[/quote:28mne66q] Molti dei link a file diretatmente non vengono eseguiti correttamente facendo il semplice click sinistro (non saprei dirti perchè, ma è una cosa che capita in generale su internet). SOLUZIONE:::: TASTO DX SALVA OGGETTO CON NOME. ---------------------------------------- AUTORE: 840 DATA :20/10/2005 - 17:08:39 ---------------------------------------- grazie ---------------------------------------- ================================================================================ Comando manopolina multigiri ================================================================================ AUTORE: 480 DATA :11/10/2005 - 19:12:58 ---------------------------------------- Ciao a tutti, qualcuno di voi ha per caso implementato una manopolina multigiri come controllo per gli interi o i reali?? Grazie.... Vincenzo ---------------------------------------- AUTORE: 480 DATA :24/10/2005 - 15:44:30 ---------------------------------------- Ma.... nessuno mi da una mano ??? \":(\" ---------------------------------------- AUTORE: 278 DATA :24/10/2005 - 19:47:40 ---------------------------------------- Ciao, Scusa, magari non ho capito la domanda, potresti essere un pochino + chiaro? ---------------------------------------- AUTORE: 645 DATA :25/10/2005 - 08:18:43 ---------------------------------------- In che senso? Cosa devi fare di preciso? ---------------------------------------- AUTORE: 480 DATA :25/10/2005 - 18:11:12 ---------------------------------------- Ancora un ciao a tutti, quello che mi servirebbe è un controllo del tipo knob che invece di fermare la sua corsa ad un giro continui ad incrementare i valori senza fare quel salto tra il massimo e il minimo... Avete mai visto un potenziometro multigiri???? Mi serve per implementare una cosa del genere! Grazie, Vincenzo ---------------------------------------- AUTORE: 278 DATA :25/10/2005 - 21:08:59 ---------------------------------------- Ciao, scusa per l'incomprensione.. \":wink:\" Sinceramente, le ho provate tutte (tramite le verie opzioni dei controlli), ma non sono riuscito a trovare nulla che facesse al tuo caso.. Immagino che si debba costruire un controllo totalmente custom, ma purtroppo non sono capace di aiutarti in questo senso \":(\" \":(\" Attendiamo pazienti e fiduciosi l'intervento dei \"guru\" del forum \":o\" \":o\" ---------------------------------------- AUTORE: 129 DATA :26/10/2005 - 08:02:06 ---------------------------------------- MA devi contare i giri? HAi provato con le property, tipo modificare il valore di fondoscala, adattandolo alla misura? Ciao Nic ---------------------------------------- AUTORE: 113 DATA :26/10/2005 - 09:01:30 ---------------------------------------- Inizialmente pensavo fosse un compito più semplice... \":?\" Ho buttato giù ieri sera qualcosa che allego. Non è finito e deve essere decisamente ottimizzato, ma può essere una base di partenza. \":wink:\" Ma fino alla settimana prossima non ho tempo... P.S. La scala ha 100 passi/giro ---------------------------------------- AUTORE: 480 DATA :26/10/2005 - 09:23:04 ---------------------------------------- Grande Alberto... mi inchino alla tua magnificenza... la cosa sembra funzionare proprio come intendevo!!! La proverò nel VI in cui mi serviva e vi farò sapere se incontrero qualche problema! Statemi bene, Vincenzo ---------------------------------------- AUTORE: 247 DATA :26/10/2005 - 23:38:15 ---------------------------------------- Ciao, [quote="Alberto.L":2q8cby68]Inizialmente pensavo fosse un compito più semplice... Confused [/quote:2q8cby68] Anch'io pensavo fosse molto semplice ma poi mi sono accorto che non è banalissimo e purtroppo ci vuole un pò di codice...in più io mi sono inpuntato sul cambio di valori della scala per visualizzare meglio a che punto si trovasse la manopolina. Ammetto quindi di averci perso mezz'ora ieri con un nulla di fatto come risultato e un'oretta oggi per realizzare la manopolina che allego... L'importante è che ora cmq funziona come voglio! \":D\" \":D\" \":D\" BYE. \":?\" ---------------------------------------- AUTORE: 113 DATA :29/10/2005 - 07:51:19 ---------------------------------------- Ecco cosa intendevo per ottimizzare! \":P\" Bel lavoro Apollon! Nota: chissà se con i nuovi Xcontrols di LV8 si potrà implementare questo codice nel controllo creato, non sarebbe male... \":wink:\" ---------------------------------------- ================================================================================ modem ================================================================================ AUTORE: 498 DATA :12/10/2005 - 11:03:26 ---------------------------------------- Ciao a tutti, come faccio a colloquiare con un modem? il modem è interno e non è collegato alla COM1. Grazie. ---------------------------------------- ================================================================================ Suonare un file wav ================================================================================ AUTORE: 201 DATA :12/10/2005 - 14:56:07 ---------------------------------------- Qualcuno sa come si fa a sapere in che punto della traccia ci si trovo mentre si sta riproducendo un file audio wav? Vorrei creare un cursore che man mano che avanza sulla forma d'onda del file wav mentre si sta ascoltando, un po' come fanno tutti gli editor audio. Grazie ---------------------------------------- AUTORE: 751 DATA :12/10/2005 - 17:25:05 ---------------------------------------- Ciao, \":D\" non ho avuto molto tempo x sistemarlo bene...ma prova a guardarti questo vi...e' un punto di partenza, bisogna migliorarlo!!! \":wink:\" \":wink:\" A presto \":lol:\" ---------------------------------------- AUTORE: 201 DATA :12/10/2005 - 17:35:28 ---------------------------------------- Ciao grazie per l'aiuto, da quel che ho capito intendi ricavare la posizione tenendo conto di quanti bit legge al secondo, io pensavo..speravo..che ci fosse un qlc apposta! ---------------------------------------- ================================================================================ dividere e manipolare stringhe ================================================================================ AUTORE: 683 DATA :13/10/2005 - 08:25:14 ---------------------------------------- buongiono a tutti, ho un problema che ci sti picchiano da un po' di tempo: ho una stringa proveniente da uno strumento di misura composta da una serie di velori con un prefisso che indica il canale dal quale il dato è stato acquisito, su questo suffisso ho messo un controllo per dividere le misurazioni in due matrici array diverse. Tutto funziona ma la magagna è questa: gli array mi vengono costruiti con degli spazi vuoti corrispondeti a quando il controllo restituisce falso e quindi non scrive il valore. Come faccio a non far andare \"avanti\" l'array quando non c'è il dato o a eliminare successivamente questi sapzi vuoti?? Il dato in ingresso è di queto tipo NDI10 NCI100 NDI20 NCI200 ecc... ecc... Allego il VI che ho fatto per capiere meglio il problema grazie a tutti buona giornata ---------------------------------------- AUTORE: 201 DATA :13/10/2005 - 09:18:08 ---------------------------------------- non si capisce bene, la stringa che tu hai in ingresso come è fatta? del tipo: NDI10 NCI100 NDI20 NCI200 oppure: NDI10NCI100NDI20NCI200 oppure separati da qlc punteggiatura? Il tuo scopo è quello di ottenere due array separati con le stringhe vere e false o tenere solo quelle vere? ---------------------------------------- AUTORE: 683 DATA :13/10/2005 - 09:24:50 ---------------------------------------- la stringa arriva formattata così NDI10 NCI100 NDI20 ecc... tutte separate dallo spazio per costruire l'array utlizzo un ciclo for cin la funzione dei token ho bisogno di mettere tutti i valori con NDI come predisso in una stringa (o array) e tutti quelli con NCI nell'atra stringa (o Array) PS la stringa è formattata con il retunr ma posso farla anche in altra maniera (dallos trumento esce seoarata da uyna virgola e senza return) spero di essere stato un po' più chiaro! grazie ciao ---------------------------------------- AUTORE: 201 DATA :13/10/2005 - 09:31:01 ---------------------------------------- Capito, prova questa. ---------------------------------------- AUTORE: 683 DATA :13/10/2005 - 12:09:59 ---------------------------------------- sei stato molto gentile e veloce a mandarmi il file però una cosa postresti salvarmelo come LV 6.1 se non non riesco ad aprirlo e un'altra cosa come hai agito??? grazie ---------------------------------------- AUTORE: 201 DATA :13/10/2005 - 13:37:03 ---------------------------------------- Non ho labview 6.1. [url=http://img292.imageshack.us/my.php?image=diagram0qg.jpg:6xuxw6hw][img:6xuxw6hw]http://img292.imageshack.us/img292/4015/diagram0qg.th.jpg[/img:6xuxw6hw][/url:6xuxw6hw] ---------------------------------------- AUTORE: 201 DATA :13/10/2005 - 13:38:49 ---------------------------------------- [url=http://img301.imageshack.us/my.php?image=diagram4oa.jpg:wzokdfvf][img:wzokdfvf]http://img301.imageshack.us/img301/1483/diagram4oa.th.jpg[/img:wzokdfvf][/url:wzokdfvf] ---------------------------------------- AUTORE: 683 DATA :13/10/2005 - 13:53:39 ---------------------------------------- grazie 1000 per l'assistenza!!! curiosa la scelta di tuluzzare i shift register in quel modo! complimenti per l'abilita buona giornata ---------------------------------------- ================================================================================ HELP!!!! BNC-2120 ================================================================================ AUTORE: 835 DATA :13/10/2005 - 09:32:48 ---------------------------------------- Salve a tutti volevo sapere se c'era la possibilità di qualche esercitazione passo passo sull'uso di questa scheda come usare I/O..... Vi prego ne avrei urgente bisogno ---------------------------------------- AUTORE: 247 DATA :14/10/2005 - 23:32:35 ---------------------------------------- Ciao, prova a guardare sul sito www.ni.com, molto velocemente ho trovato questi tre esempi che utilizzano il BNC-2120 connector terminal: 1- [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DEF356A4E034080020E74861:3v4t5lba]Measure Resistance Using a BNC-2120[/url:3v4t5lba] 2- [url=http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B810954D91D72043E034080020E74861:3v4t5lba]BNC - 2120 Quadrature Encoder - DAQmx[/url:3v4t5lba] 3- [url=http://digital.ni.com/public.nsf/allkb/E45ADD30F609AEC4862569CF00588DC9:3v4t5lba]Using Virtual Channels for Thermocouples connected to a BNC 2120[/url:3v4t5lba] non costituiscono la spiegazione passo passo che chiedi ma sono esempi che puoi analizare, capire e modificare; in effetti il BNC-2120 connector terminal serve solo a rendere facilmente accessibili le porte della scheda di acq. aggiungendoci solo due generatori di funzione, puoi quindi prendere come esempio tutto il codice sviluppato in LV che sia compatibile con la tua scheda. BYE. ---------------------------------------- ================================================================================ Acquisizione Analogica CompactRIO ================================================================================ AUTORE: 836 DATA :13/10/2005 - 14:38:44 ---------------------------------------- Salve a tutti, sono un nuovissimo utente sia del sito che di LabView!! Sono uno studente di ingegneria che per laurearsi deve creare un programma in Labview che prelevi un segnale analogico da un sensore, ne faccia l'integrale e lo visualizzi in real-time. Ho a disposizione il modulo compactRIO 9004 e il modulo analogico è NI-RIO 9201! Ho seguito le indicazioni del sito http://zone.ni.com/devzone/conceptd.nsf ... 040061D590 sono riuscito a creare un progetto(fpga) che ho scaricato sul controller ma che dipende ancora dalla tempistica di Windows. Quando poi creo il file host per il modulo RT andando a richiamare quello fpga il segnale non viene acquisito! Come faccio a visualizzare sul grafico che mi funziona la tensione in Volt piuttosto che la conversione digitale in i16?? Grazie e scusate se sono stato prolisso ma sono nei guai!! Ciao ---------------------------------------- ================================================================================ labview modem ================================================================================ AUTORE: 498 DATA :13/10/2005 - 22:31:56 ---------------------------------------- Ciao a tutti, utilizzando il comado atd3333..... con hyperterminal riesco a far partire una telefonata dal modem ma con labview tramite visa no perchè? ---------------------------------------- ================================================================================ Salvataggio dati file testuale ================================================================================ AUTORE: 706 DATA :17/10/2005 - 09:39:07 ---------------------------------------- Buongiorno a tutti Ho bisogno di un piacere.. Devo creare un file di scheduling al fine di creare un file di tipo testuale con i dati distribuiti su colonne separate ma riseco solo a far salvare gli ultimi dati utili e non tutti i dati. Non so se mi sono spiegato. Grazie per l'attenzione ---------------------------------------- AUTORE: 751 DATA :17/10/2005 - 10:53:59 ---------------------------------------- Scusa...ma ho capito molto poco \":(\" Allega il vi in questione o magari crea tu un esempio esplicativo \":wink:\" ---------------------------------------- ================================================================================ Gestione eventi con porta Seriale ================================================================================ AUTORE: 645 DATA :17/10/2005 - 10:14:33 ---------------------------------------- Ciao a tutti, è la prima volta che scrivo un messaggio nel forum ma vi leggo da un sacco di tempo e ho trovato mspesso notizie interessanti. Vi scrivo per chiedere se qualcuno sa se c'è la possibilità di gestire gli eventi sfruttando la comunicazione seriale. Avete presente che per la comunicazione TCP-IP e Bluetooth ci sono i blocchi \"con le orecchie\" che attendono di essere interpellati da un client per inviare o leggere dati (si trovano nei VI Server, anche quelli di esempio). Secondo voi c'è la possibilità di creare un \"blocco con le orecchie\" che attenda un segnale sulla seriale (tipo interrupt)? Ho visto che nella libreria dei VISA (e anche Serial) c'è una sezione Event ma non so come si usi. Ciao a tutti! ---------------------------------------- AUTORE: 751 DATA :17/10/2005 - 11:16:53 ---------------------------------------- Ciao \":D\" prova a dare un'occhiata a questo esempio (l'ho preso tra quelli ke mette a disposizione LabVIEW); questo dovrebbe farti capire come gestire i tools relativi agli \"event\" sulla seriale. Partendo da questo puoi crearti un vi con cui puoi gestire vari tipi di eventi...poi dipende da quello ke vuoi fare tu! \":wink:\" ---------------------------------------- AUTORE: 645 DATA :17/10/2005 - 16:23:57 ---------------------------------------- Grazie. Controllo e poi vi faccio sapere se scopro qualcosa di nuovo! ---------------------------------------- AUTORE: 645 DATA :21/02/2006 - 12:57:10 ---------------------------------------- Sono capitato per caso su questo vecchio argomento e volevo inserire una conclusione che non avevo postato tempo fa. La gestione degli eventi con la seriale c'è e funziona. Si tratta di impostare una struttura \"a orecchio\" come quella usata per TCP-IP e Bluetooth. Lo strumento acquisitore controlla la porta seriale: appena trova qualcosa disponibile nel buffer fa partire le operazioni collegate. Può essere utile: in questo modo uno strumento collegato via seriale può lavorare con intervalli di tempo anche lunghi senza occupare continuamente il VI che acquisisce. Non mi è ancora tutto chiaro (sto approfondendo la cosa in ambito TCP-IP e Real-Time) ma un VI di prova si riesce a farlo. ---------------------------------------- ================================================================================ iMPOSTAZIONE ORARIO ================================================================================ AUTORE: 706 DATA :17/10/2005 - 15:34:18 ---------------------------------------- CIAO A TUTTI HO UN PROBLEMA. HO LA NECESSITA' DI IMPOSTARE NEL PANNELLO FRONTALE,TRAMITE UNA MANOPOLA, L'ORA A CUI VOGLIO ESEGUIRE AD ESEMPIO DELLE MISURE. HO PROVATO ANCHE CON IL TIME STAMP CONTROL. VI INVIO UNA BOZZA DI QUELLO CHE HO FATTO. GRAZIE ---------------------------------------- AUTORE: 129 DATA :18/10/2005 - 13:01:13 ---------------------------------------- Puoi per esempio modificare il formato in Absoilute time. Se non ti interessano i centesimi ti conviene prima modificare il tipo di dato in Integer e quindi formattare in absolute-time la visualizzazione. Ti allego un esempio che non significa niente per vedere come tirar fuori info utili dal tuo cluster. ---------------------------------------- AUTORE: 751 DATA :18/10/2005 - 13:24:45 ---------------------------------------- Ciao, \":D\" ti allego al volo un paio di esempi su come settare l'ora di inizio e fine. Nel primo ci sono le manopole (se proprio vuoi usare queste!) Nel secondo, invece, usi il time stamp x settare l'ora e la data (io preferisco questo!). Poi da qui saprai tu come manipolare questi dati in modo da far partire/stoppare il test all'ora desiderata. Buon lavoro \":wink:\" ---------------------------------------- AUTORE: 645 DATA :20/10/2005 - 16:53:33 ---------------------------------------- Ciao, vi allego due programmi per impostare l'ora con una manopola. Uno è graficamente più brutto perchè ha una manopola sola per 24 ore, l'altro ha una manopola per 12 ore con la possibilità di selezionare un check button per l'orario pomeridiano. La grafica lascia a desiderare ma il codi ce può funzionare. Certamente non si ha una regolazione precisa: per avere un orario esatto converrebbe anche secondo me usare due manopole o due time control. ---------------------------------------- ================================================================================ modificare il risultato di un "one botton dialog" ================================================================================ AUTORE: 204 DATA :17/10/2005 - 15:54:51 ---------------------------------------- ciao, una curiosita'... Nel vi allegato uso un normale blocco \"one botton dialog\". Mi sembra che sia un po' povero in quanto a configurazioni..Come faccio a cambiare le dimensioni, lo stile, ecc. dei caratteri del messaggio? E se volessi inserire una stringa nella banda azzurra in alto? E se volessi inserire tipo un simbolo di allarme es. un triangolo giallo con punto esclamativo nero ecc. Devo per forza costruirmi un vi e \"travestirlo\" da dialog? Grazie del supporto ---------------------------------------- AUTORE: 751 DATA :18/10/2005 - 12:22:43 ---------------------------------------- Ciao Birkof, \":lol:\" tempo fa avevo chiesto la stessa cosa. Guardati la risposta qui: viewtopic.php?t=1001&highlight=one+two Buon lavoro! \":wink:\" ---------------------------------------- AUTORE: 129 DATA :18/10/2005 - 13:31:43 ---------------------------------------- Per avere una formattazione ad hoc conviene utilizzare un vi dialog e configuralo in modo che risponda come message box. Potete utilizzare le propietà visible per creare con un unico vi le varie configurazioni.......esempio allegato ---------------------------------------- ================================================================================ files HPGL ================================================================================ AUTORE: 831 DATA :17/10/2005 - 17:34:32 ---------------------------------------- QUALCUNO DI VOI HA GIA' PROVATO AD IMPORTARE FILES HPGL E DIAGRAMMARLI IN UN'X-Y GRAPH? PROBLEMI? IO STO PER INIZIARE QUEST'AVVENTURA! \":o\" CIAO FABIO ---------------------------------------- ================================================================================ costruzione ed estrazione di elementi in array di cluster ================================================================================ AUTORE: 706 DATA :17/10/2005 - 18:14:24 ---------------------------------------- Ciao a tutti. Il mio problema è quello di costruire una tabella come di seguito su un foglio testuale: ;INIZIO FINE MODE ELEV RANGE CLUSTF 00:00 00:03 1 1 0,76 0 00:15 00:19 0 0 0,78 1 . . etc. \\ Gli elementi devono essere impostati dall'operatore. Ho pensato i utilizzare nel pannello frontale un array di cluster, così da permettermi di aggiungere tante più righe possibili in base al numero di misure che devo effettuare. Il problema nasce nell'estrarre ogni elemento dell'array che in questo caso è di tipo cluster. C'è qualcuno che ne sa qualcosa? Vi allego il VI che ho iniziato. Spero di essere stato chiaro. Graziein anticipo. ---------------------------------------- ================================================================================ creare exe da VI ================================================================================ AUTORE: 683 DATA :18/10/2005 - 10:46:13 ---------------------------------------- come si fa a esportare in .exe un progetto in LV grazie ---------------------------------------- AUTORE: 129 DATA :18/10/2005 - 11:58:23 ---------------------------------------- Devi avere application builder, un tool addizionale se hai la versione base altrimenti compreso se hai la professional. Se hai questo tool, aprendo dalla barra dei menu \"tools/Build application or shared library\" Ti si apre un wizard abbastanza intuitivo (insomma adesso non esageriamo) con cui puoi configurare la tua applicazione. Nicola ---------------------------------------- ================================================================================ Come realizzare un quiz interattivo ? ================================================================================ AUTORE: 534 DATA :18/10/2005 - 15:10:36 ---------------------------------------- Ciao a tutti, sono un utente principante di lw7, vorrei un consiglio su come realizzare un semplice quiz interattivo. In breve il VI dovrebbe porre almeno 2 domande e proporre per ogni domanda almeno 2 risposte selezionabili tramite la pressione di pulsanti,nel caso di risposte tutte esatte attivare una condizone altrimenti attivare una seconda condizione. Grazie per aver letto questo messaggio. Saluti Luigi ---------------------------------------- AUTORE: 278 DATA :18/10/2005 - 18:27:01 ---------------------------------------- Ciao, Ti allego un esempio molto semplice, se vuoi aggiungere altre domande puoi ripetere lo schema quante volte vuoi, a patto di non creare un vi chilometrico \":D\" \":D\" ---------------------------------------- AUTORE: 278 DATA :18/10/2005 - 19:11:36 ---------------------------------------- Questo è un pò più \"articolato\", buon divertimento \":P\" \":P\" ---------------------------------------- AUTORE: 129 DATA :19/10/2005 - 13:10:28 ---------------------------------------- Per questo genere di cose ti consiglierei come fanno sviluppatori anche di altri linguaggi di adottare un file esterno per l'immagazzinamento dei dati. I supporti possono essere molteplici, database,testo,ini altro. ---------------------------------------- AUTORE: 534 DATA :19/10/2005 - 14:09:17 ---------------------------------------- Grazie a tutti per i preziosi suggerimenti, questa sera avrò di che divertirmi... ---------------------------------------- AUTORE: 534 DATA :24/10/2005 - 09:16:41 ---------------------------------------- Ciao a tutti ecco cosa ho realizzato basandomi sui vostri preziosi suggerimenti, tuttavia ho notato che all' avvio il vi esegue i cicli 0 e 1 senza attendere la pressione dei pulsanti, dopodiche funziona correttamente, potreste aiutarmi a capire e aggirare questo fastidioso problema ? Grazie anticipatamente Saluti Luigi ---------------------------------------- AUTORE: 596 DATA :24/10/2005 - 09:30:22 ---------------------------------------- Manca l'allegato!!! \":?\" ---------------------------------------- AUTORE: 534 DATA :24/10/2005 - 10:15:02 ---------------------------------------- Scusate... ---------------------------------------- AUTORE: 278 DATA :24/10/2005 - 20:23:08 ---------------------------------------- Mi dispiace ma l'allegato non si vede ancora... Nel frattempo ti allego un'altra versione, il mitico Quiz 3!. \":D\" \":D\" Questa volta , prima di sottoporre le domande all'utente, gli array vengono mischiati, randomizzati. SANTUUCCCI!!!!!!! \":wink:\" ---------------------------------------- AUTORE: 534 DATA :25/10/2005 - 08:13:25 ---------------------------------------- Ciao ho inviato il vi, tuttavia ho notato che all' avvio il vi esegue i cicli 0 e 1 senza attendere la pressione dei pulsanti, dopodiche funziona correttamente, potreste aiutarmi a capire e aggirare questo fastidioso problema ? Grazie anticipatamente Saluti ---------------------------------------- ================================================================================ Automatic error handling ================================================================================ AUTORE: 596 DATA :18/10/2005 - 15:17:59 ---------------------------------------- Una domanda: L'automatic error handling funziona sul progetto compilato? Ero convinto di si ma sembra di no C'è qualche opzione che mi sfugge da spuntare o sto delirando ed una tal opzione e impensabile nel .exe? Sta di fatto che sarebbe utile anche nel progetto finito. Spero di essermi spiegato, Riccardo Menichelli ---------------------------------------- AUTORE: 596 DATA :18/10/2005 - 16:24:22 ---------------------------------------- Mi rispondo da solo: Purtroppo in run time non è attivo non è possibile gestire automaticamente gli errori. Mi dicono che forse sarà presente nella versione 8, ma che in ogni caso prima o poi sarà implementato (bella scoperta! \":?\" ). L'unica strada, correggetemi se sbaglio, sembra essere quella di gestire manualmente gli errori. Riccardo. ---------------------------------------- AUTORE: 596 DATA :24/01/2006 - 15:06:38 ---------------------------------------- Questo topic sta diventando un monologo ma quello che sembrava un vicolo cieco, ha invece trovato soluzione..... La chiave da scrivere sul file .ini dell'eseguibile è: [b:98w52zox]EnableAutomaticErrorHandlingRT=True[/b:98w52zox] E' molto utile in fase di debug del software quando al suo interno non sono gestiti gli errori in maniera corretta. Buon lavoro. Riccardo ---------------------------------------- ================================================================================ files musicali ================================================================================ AUTORE: 487 DATA :19/10/2005 - 07:30:01 ---------------------------------------- Ciao a tutti, ho due piccoli problemi da sottoporvi: 1- come posso fare per estrarre le informazioni da un file musicale (esempio in mp3) tipo il nome dell'artista ed il titolo dell'album? 2- come posso fare per aprire una qualsiasi finestra di windows? Grazie in anticipo per l'aiuto. ---------------------------------------- ================================================================================ Ho la versione di LabView 7.0 (x black eagle) ================================================================================ AUTORE: 706 DATA :19/10/2005 - 09:13:27 ---------------------------------------- Ciao black eagle Grazie per la risposta ma purtroppo non l'ho potuta leggere perchè ho il LabView 7.0 e non posso leggere un VI creato dal LabView 7.1. Hai la possibilità di rendermelo leggibile? Ne approfitto per chiederti un altra cosa: Come si fa a far scrivere in un file di tipo testuale un testo costante senza farlo comparire nel Front Panel? (ho provato a scriverlo all'interno di una stringa costante ma non legge il ritorno carrello e quindi lo scrive tutto attaccato) Grazie e scusa ancora del disturbo. Ciao ---------------------------------------- AUTORE: 751 DATA :19/10/2005 - 10:37:11 ---------------------------------------- Ciao \":)\" ti allego i due esempi salvati x la versione 7.0! L'altra domanda non so se l'ho capita bene... \":?\" ...cmq guardati l'esempio ke ti ho allegato e fammi sapere! \":wink:\" ---------------------------------------- ================================================================================ Generare l'eseguibile da un VI ================================================================================ AUTORE: 706 DATA :19/10/2005 - 15:09:10 ---------------------------------------- Ciao Domanda: Una volta creato l'applicazione o VI ho necessatà di renderlo esegibile. Come posso crearlo e che strumenti o software devono essere installati nel PC dove andrò ad eseguire il mio file eseguibile? Spero di essere stato chiaro. P.S utilizzo la versione 7.0 Grazie in anticipo. ---------------------------------------- AUTORE: 201 DATA :19/10/2005 - 17:43:25 ---------------------------------------- Nel menù a tendina Tools c'è Build application or shared library. ---------------------------------------- AUTORE: 278 DATA :19/10/2005 - 18:22:10 ---------------------------------------- Ciao, Per creare l'eseguibile devi avere installato un toolkit aggiuntivo a LabView che si chiama \"Application Builder\", una volta installato questo puoi accedervi dal menù a tendina \"Tools---> Build Application or Shared Library\" Saluti! P.S. Magari sei nuovo nel forum, ma ti consiglio di cercare l'esistenza di un topic simile al tuo prima di postarne uno nuovo, prova a usare la funzione di ricerca inserendo \"eseguibile\", troverai altre informazioni in merito alla creazione di eseguibili \":wink:\" ---------------------------------------- AUTORE: 204 DATA :20/10/2005 - 15:41:25 ---------------------------------------- ciao, suppongo che sul pc su cui girera' l'applicativo non avrai LabView (a meno che tu non voglia regalare una licenza LV al tuo cliente \":-)\" ). Se sul pc non gira labview, ti servira un applicativo che puoi scaricare dal sito www.ni.com. L'applicativo si chiama (o meglio dovrebbe chiamarsi..) Labview run-time engine. Installi il tuo sul pc e poi puoi veder girare il tuo applicativo.exe saluti ---------------------------------------- ================================================================================ ActiveX o DLL per la gestione di finestre ================================================================================ AUTORE: 748 DATA :20/10/2005 - 09:28:41 ---------------------------------------- Ciao a tutti, questo post vuol essere un suggerimento. Talvolta mi è capitato di dover interagire con finestre esterne a Labview (per fare qualche esempio prendere del testo, settare un controllo...) In genere io utilizzo AutoItX che sono dei validissimi controlli ActiveX freeware http://www.autoitscript.com/autoit3/ Non ci guadagno nulla dal pubblicizzare quel sito e spero di non infrangere qualche regola del forum nel farlo... ma visto che molte volte questi controlli mi han tolto d'impaccio mi sembrava utile farne conoscere l'esistenza anche ad altri Mark77 ---------------------------------------- AUTORE: 645 DATA :20/10/2005 - 14:30:54 ---------------------------------------- Ciao, ho scaricato AutoIT e ho visto gli esempi. Ma tu di preciso per cosa lo usi? Puoi farmi qualche esempio di utilizzo in LabView? Grazie ---------------------------------------- AUTORE: 748 DATA :20/10/2005 - 16:54:52 ---------------------------------------- Ad esempio se devi scrivere (o prelevare) del testo in un controllo e premere un pulsante per inviarlo puoi farlo senza muovere il mouse su tale controllo e \"incollare\" il testo (procedura abbastanza macchinosa e rischiosa). Basta settare il testo di tale controllo (ControlSetText) e settare lo stato del bottone (ControlClick)... il tutto senza passare da clipboard e senza spostare il mouse. Mark ---------------------------------------- ================================================================================ labview webserver e application builder, non capisco? ================================================================================ AUTORE: 655 DATA :20/10/2005 - 11:35:12 ---------------------------------------- \":cry:\" Salve a tutti. Da un paio di mesi lavoro con labview e fino adesso andato bene, sono riuscito a fare il modo che un vi se possa guardare da web, ma non riesco a capire come si fa a pubblicare un eseguibile, ho visto il forum e ci sono dei commenti, ma con quello che ho visto non riesco a farlo, non so se qualcuno me puo spiegare meglio come fare quello. Vi ringrazio e scusa se ho aperto un nuovo Topic. Jubal \":|\" ---------------------------------------- ================================================================================ Inseguire una curva. ================================================================================ AUTORE: 482 DATA :20/10/2005 - 14:28:54 ---------------------------------------- ...ma ciao! quesito strano... Ho una curva delineata da TOT punti..mettiamo 10. Prendendo i punti di questa linea di tre in tre, l'angolo fra loro non deve mai essere maggiore di 3 o minore di -4. Fin qui non ci sono problemi. Il problema è che partendo da una linea retta voglio che si formi gradualmente la linea finale rispettando sempre la regola dei gradi. Incrementando o diminuendo la Y di ogni punto di volta in volta. Qualcuno ha qualche idea o sa consigliarmi qualche legge che mi consenta di fare una cosa del genere? grasssie! ---------------------------------------- AUTORE: 748 DATA :07/11/2005 - 15:08:40 ---------------------------------------- Spero di aver capito bene il tuo quesito... alcune parti mancavano (tipo la retta è orizzontale ? i punti sono equidistanti ? I punti devono mantenere la dstanza assoluta tra di loro oppure solo la distanza in ascissa ?) In ogni caso io mi son messo nelle condizioni di retta orizzontale con punti equidistanti (ma queste due condizioni possono essere facilmente cambiate) con la condizione che i punti mantenzano la stessa distanza in ascissa. Secondo me \"partendo dal fondo\" della curva devi traslare tutti i punti successivi a quello considerato (lo chiamo i) in modo che l'angolo formato da i, i+1, i+2 sia quello da te deciso. Eseguendo la traslazione gli angoli tra le terne i+1, i+2, i+3; i+2, i+3, i+4 ; .... non variano e rimangono quelli scelti da te nel passaggio precedente. Ti allego un disegno per farti capire cosa intendo Ovviamente gli angoli da te decisi avranno dei ben precisi vincoli che dipenderanno dalla disposizione del 2 punti precedentemente posizionati ---------------------------------------- AUTORE: 748 DATA :07/11/2005 - 15:10:45 ---------------------------------------- Allegato ---------------------------------------- AUTORE: 482 DATA :07/11/2005 - 15:41:36 ---------------------------------------- mmhh..ok...al momento non mi è molto chiara la spiegazione, cmq provero' a metterla in pratica \":wink:\" intanto ti spiego meglio il problema... la distanza tra i punti è costante solo sull'asse X. e la curva che devo andare a formare è una curva che puo' assumere diverse forme solitamente \"tondeggianti\" Nella figura che allego sono presenti degli indicatori che indicano l'angolo della linea rossa tra una X e l'altra rispetto all'asse orizzontale. LA differenza tra uno di questi indicatori e il precedente non deve mai essere maggiore di 3 o minore di -4. Partendo da uno stesso numero di segmenti posti in linea retta sull'asse delle X, voglio che questi mi si posizionano secondo la curva senza mai presentare una differenza di angolo che va oltre ai parametri che ho detto prima. lo psostamento di questi segmenti è dato dal movimento degli estremi di ogni segmento (nella realtà questo spostamento è effettuato tramite un motore che fa girare una vite.) chiaro? \":o\" \":o\" \":o\" \":roll:\" ---------------------------------------- AUTORE: 748 DATA :08/11/2005 - 00:30:29 ---------------------------------------- Ahhhhhhhhhhhhhhhhhhhhhh.... l'angolo di cui parli tu è la derivata della curva nel punto considerato. Dimentica quanto ho postato precedentemente...anzi... se ci fosse modo di rimuoverlo per sempre da forum... \":D\" Allora, a quanto ho capito il tuo e' un problema di interpolazione... ossia dati una serie di punti trovare trovare una curva che segua \"bene\" l'andamento degli stessi. puoi trovare tutte le informazioni sull'interpolazione nell'Help di Labview cercando \"Spline interpolation\" e \"curve fitting\": lì ti spiega i vari tipi di interpolazione possibili (lineare, cubica, polinomiale, spline...) C'e' anche un esempio \"labview\examples\analysis\intpxmpl.llb\" che ti fa vedere come interpolare una serie di punti con i vari metodi a disposizione (occhio che c'e' un controllo in basso con scritto LINEAR su cui puoi agire per vedere le differenti tipoligie di interpolazione) se poi hai bisogno di conoscere anche la derivata (ossia l'angolo) della curva in un punto c'e' una funzione che ti fa pure quello (cerca DERIVATIVE > Derivative x(t) sempre nell'help) Buon lavoro ---------------------------------------- AUTORE: 748 DATA :08/11/2005 - 01:22:24 ---------------------------------------- Rileggendo ancora il tuo post mi e' venuto un ulteriore dubbio... ossia che le tue condizioni iniziali (ossia quel che tu conosci all'inizio) siano gli angoli (le derivate) e non la posizione finale dei punti. In questo caso l'operazione che devi compiere per ottenere la curva finale si chiama INTEGRAZIONE. Anche in questo caso esiste una funziona LV che esegue tale operazione anche se è necessario fare un'interpolazione prima di eseguirla in modo da avere un risultato accettabile (dal momento che si tratta di un'integrazione discreta). Ho fatto un VI veloce che crea la curva a partire dagli angoli che hai messo tu in figura. Ricontrolla bene il ciclo FOR perche non sono stato li a valutare bene in numero di cicli Spero che ti possa esser utile ---------------------------------------- AUTORE: 482 DATA :08/11/2005 - 15:13:50 ---------------------------------------- no no calma calma..non si tratta di derivate!! ma si parla di acotangente! La curva è composta da una linea spezzata non è curva! ---------------------------------------- AUTORE: 113 DATA :08/11/2005 - 17:36:33 ---------------------------------------- Ciao. Spero di aver capito... Dunque vuoi, partendo da una y iniziale, generare un'array i cui punti consecutivi formano un angolo compreso nel range. Se questo è giusto, ti allego una vi che: - Inizialmente genera un'array di angoli casuali compresi nel range 3; -4 - Calcola quindi partendo da una y iniziale i punti consecutivi corrispondenti agli angoli generati Per conferma che il calcolo è corretto ai punti calcolati si ricalcola gli angoli relativi che devono corrispondere a quelli iniziali generati. Spero di esser stato utile \":wink:\" ---------------------------------------- ================================================================================ sommare un numero a tutti gli elementi di un vettore ================================================================================ AUTORE: 204 DATA :20/10/2005 - 15:37:43 ---------------------------------------- ciao, domandina forse scontata... Come faccio a sommare uno stesso numero a tutti gli elementi di un vettore? Saluti ---------------------------------------- AUTORE: 201 DATA :20/10/2005 - 15:49:48 ---------------------------------------- Semplicimente utilizzando il blocchetto \"+\" che di solito. ---------------------------------------- AUTORE: 204 DATA :20/10/2005 - 16:20:55 ---------------------------------------- Ops..banale.. E' che quando facevo \"crea costante\" all'ingresso del \"+\" mi creava un vettore e non una semplicissima costante singola... Grazie ---------------------------------------- ================================================================================ EXE e Taskbar ================================================================================ AUTORE: 77 DATA :21/10/2005 - 10:23:38 ---------------------------------------- Ciao a tutti. Avrei un paio di domande da sottoporre alla vostra attenzione. La prima riguarda la generazione di un eseguibile. Premetto che utilizzo LV6.1 con relativo AppBuilder e riesco a creare gli eseguibili, ma ho notato che certe volte gli eseguibili, una volta lanciati, compaiono due volte nella barra delle applicazioni (quella in basso per capirci), come se fossero stati mandati in esecuzione due volte. Ho provato a cambiare le proprietà Window Appearance (Dialog, Top level, ecc.), senza venirne a capo. La cosa strana è che a volte questo succede, a volte no... La seconda domanda riguarda la possibilità di visualizzare un pop up menu quando l'utente porta il cursore sopra l'icona dell'applicazione. Mi spiego meglio: ho trovato un controllo ActiveX che, utilizzato nella mia VI, mi consente di visualizzare un icona nella taskbar in basso a destra e un tip associato (tipicamente il nome dell'applicazione). Sarebbe interessante far apparire un menù quando l'utente clicca sull'icona e selezionare da tale menù una certa azione per la VI. In questo modo si potrebbe mandare in esecuzione la VI, nasconderla dalla barra delle applicazioni e comandarla attraverso tale pop up menù, come succede per molte applicazioni (eMule, per esempio). Qualcuno può aiutarmi? Grazie in anticipo, Stefano ---------------------------------------- AUTORE: 596 DATA :24/10/2005 - 08:23:00 ---------------------------------------- Dai un occhiata Qui sotto, dovrebbe esserci tutto quelli che ti serve... -[url:1lo60csz]http://forums.ni.com/ni/board/message?board.id=170&message.id=95137&requireLogin=False[/url:1lo60csz] Riccardo. ---------------------------------------- AUTORE: 77 DATA :24/10/2005 - 12:04:14 ---------------------------------------- Grazie molte. Ho scaricato il Tray Icon ActiveX server e relative VI, ma sono per LV7. Cercherò il codice per LV 6.1. Ciao, Stefano ---------------------------------------- AUTORE: 482 DATA :24/10/2005 - 12:44:25 ---------------------------------------- ...ma ciao! Per quanto riguarda la doppia finestra dell'eseguibile nella barra delle applicazioni, per evitare di visualizzarla devi inserire nel file .ini che ha lo stesso nome dell'eseguibile (si autogenera dopo la prima volta ch elo lanci), la stringa: [nome eseguibile senza .exe] HideRootWindow=True ---------------------------------------- AUTORE: 596 DATA :26/10/2005 - 10:40:13 ---------------------------------------- Ti ho ricompilato la libreria per labview 7.0 ma più indietro non posso andare, speriamo che ci sia qualche buon anima con Labview 7.0 Riccardo. ---------------------------------------- AUTORE: 278 DATA :26/10/2005 - 22:14:50 ---------------------------------------- Ciao, Ho provato a convertire la dll alla versione 6.1... semplicemente non è possibile \":cry:\" \":cry:\" Alla fine della conversione appare il solito dialog box che mi avvete di numerosi errori nella conversione tipo: [i:1nuy2a2i]Search and Replace Pattern.vi Virtual Instrument Cannot save VI from VI.LIB to previous version. Set Bold Text.vi Virtual Instrument Cannot save VI from VI.LIB to previous version.[/i:1nuy2a2i] Oppure [i:1nuy2a2i] Block Diagram Missing object. The object Unregister For Events does not exist in this version. Longest Line Length in Pixels.vi Virtual Instrument Cannot save VI from VI.LIB to previous version.[/i:1nuy2a2i] Solo per citarne alcuni, ma la lista è lunghissima. Per la conversione ho usato la versione 7.0 Student edition, ma credo che non ci siano problemi in questo senso, dato che la libreria convertita dalla 7.1 funziona correttamente. ---------------------------------------- ================================================================================ Visualizzazione immagine (grafico) ================================================================================ AUTORE: 706 DATA :21/10/2005 - 11:00:43 ---------------------------------------- Ciao a tutti Devo risolvere un problema che consiste nel far visualizzare il mio grafico (o immagine) su di un \"foglio\" separato al front panel di labview e poterci fare lo zoom e altre operazioni. Come posso risolverlo? Grazie ---------------------------------------- AUTORE: 645 DATA :21/10/2005 - 12:20:02 ---------------------------------------- Ciao, non ho ben capito cosa intendi per \"altro foglio\" su cui visualizzare il grafico ma per quanto riguarda lo zoom la paletta visualizzabile insieme al grafico mette già a disposizione alcune funzioni di ingrandimento e selezione di una zona. ---------------------------------------- ================================================================================ problema da newbbie ================================================================================ AUTORE: 844 DATA :21/10/2005 - 17:50:06 ---------------------------------------- Buonasera a tutti un saluto e spero che riusciate ad illuminarmi...devo creare un un applicatizione che legga da file dei dati e mi plotti i vari grafici ... praticamente i dati sono contenuti tra la stringa \" data\" e la stringa \" first_channel\" ... come faccio a dividere i \"token\"?? ho provato ad usarela funzione delle stringhe che permette di dividere in tre substring la string in ingresso il tutto funziona solo per la prima .... grazie ---------------------------------------- AUTORE: 278 DATA :21/10/2005 - 21:12:04 ---------------------------------------- Ciao, Ti allego un esempio, spero che tu abbia la versione 7.1 di LV. Assumendo che la stringa da leggere da file sia formattata tipo data 20 first_channel 10 bisogna individuare il separatore dei campi (data, numero, first_channel, numero in questo caso lo spazio), e utilizzare la funzione Match Pattern (quella che probabilmente stavi usando tu) per cercare il separatore. A questo punto mantineni quello che ti interessa, (esempio, collega before substring ad un indicatore, ti restituira' il valore data, dopo lo spazio rimane tutto il resto della frase) se usi l'uscita \"after substring\" e ci colleghi un'altro vi Match pattern, puoi anche restituire il valore di data, in questo caso 20. E cosi' via fino a quando non hai finito. Ti allego un'esempio \"doppio\", quello in basso ti serve per capire come funziona il vi Match pattern, quello sopra restituisce i tuoi dati soto forma di Array, immagina di dover leggere 20 dati diversi, quanti fili devi tirare con il metodo + semplice? \":o\" \":lol:\" ---------------------------------------- AUTORE: 844 DATA :22/10/2005 - 16:18:01 ---------------------------------------- Grazie molto esauriente...io avevo pensato la stessa cosa...ora il mio problema direi che è un altro ma di natura differente....nell esempio che mi hai gentilmente postato \"spezzi\" una stringa piccola che viene analizzata nel suo complesso ,ora con il tipo di dato string ( io solitamnete uso c++ quindi nn sono pratico dei linguggi G \":(\" ) anche un intero file da 1M viene processato in toto??? nn so se mi sn spiegato ma nei manuali che ho trovato in rete nn mi dice questa cosa...grazie mille ---------------------------------------- AUTORE: 278 DATA :24/10/2005 - 19:53:42 ---------------------------------------- Ciao kat, beh, credo di si! Ovviamente, puoi \"scremare\" quello che ti interessa, ma non so se esiste una funzione ad hc che ti permetta di settare quanti byte leggere dal tuo file... \":?\" \":?\" Purtroppo non sono pratico di linguaggio C++, magari non ho afferrato bene la domanda \":(\" ---------------------------------------- ================================================================================ Aiuto fonts ================================================================================ AUTORE: 201 DATA :21/10/2005 - 19:09:43 ---------------------------------------- sapete se esiste il modo per sapere programmaticamente quali sono i fonts installati sul pc e che si possono usare con labview(li usa tutti quelli installati vero)? Devo crare una lista ed inserirla in un menù ring. Grazie ---------------------------------------- ================================================================================ valore medio array ================================================================================ AUTORE: 680 DATA :22/10/2005 - 13:21:34 ---------------------------------------- ciao, io ho un array formato da 256 numeri, devo trovare il valore medio tra tutti i numeri quindi (n1+n2+....+n255+n256)/256 c'è un metodo abbastanza veloce per far ciò o devo estarre tutti i numeri dall'array??? ciao, grazie mille.... ---------------------------------------- AUTORE: 247 DATA :22/10/2005 - 13:51:12 ---------------------------------------- Ciao, sulla velocità del codice non so dirti, cmq potresti usare la funzione \"Add Array Elments\" che trovi nella palette Numeric(..e che suppongo ottimizzata rispetto alla velocità di esecuzione). La funzione esegue la sommatoria degli elementi di un array, ed in effetti il suo simbolo è quello della sommatoria.., poi dividi per la dimensione dell'array, oppure per la costante 256 se il numero di elementi è fisso, ed ottieni la media. BYE. ---------------------------------------- AUTORE: 680 DATA :22/10/2005 - 18:57:38 ---------------------------------------- proprio quello che cervano, grazie mille.......... ---------------------------------------- AUTORE: 645 DATA :24/10/2005 - 08:34:44 ---------------------------------------- Ciao, nel Block Diagram, cerca Analyze --> Mathematics --> Probability and Statistics --> Mean.vi Collega come input un vettore e in uscita avrai il valor medio. Tutto in un blocco! ---------------------------------------- AUTORE: 129 DATA :24/10/2005 - 11:50:38 ---------------------------------------- Attenzione che Mean.vi è basato su codice esterno analisys.dll che dovrai ricordarti di inserire ogni volta che fai un package per esempio. Invece il metodo suggerito da Apollon, è nativo in labview. ---------------------------------------- AUTORE: 645 DATA :25/10/2005 - 08:17:08 ---------------------------------------- Questa cosa non la sapevo. Grazie! ---------------------------------------- ================================================================================ DB TOOLS ================================================================================ AUTORE: 846 DATA :24/10/2005 - 14:45:46 ---------------------------------------- Buon giorno a tutti, mi servirebbe un aiuto urgentemente..Devo inserire in un databasa SQL SERVER UNA NUOVA TABELLA DI 5 COLONNE TRA CUI LA PRIMA CHIAMATA ID. CON IL BLOCCHETTO DB TOOLS CREATE TABLE, RIESCO A CREARLA, SPECIFICANDO ANCHE CHE SI TRATTA DI UN CAMPO PRIMARIO, MA NON RIESCO A RENDERLO IDENTITA.. SICURAMENTE CI SARA UN BLOCCHETTO, MA NON LO TROVO. GRAZIE DELLA DISPONOBILITA BUONA GIORNATA ---------------------------------------- ================================================================================ Numeric control ================================================================================ AUTORE: 706 DATA :24/10/2005 - 15:59:51 ---------------------------------------- Salve Mi piacerebbe sapere se per un numeric control è possibile farli assumere solo due valori non consecutivi (es: 1 e 6) e come questo è possibile. Forse vi sembra una domanda banale. Grazie per l'attenzione ---------------------------------------- AUTORE: 201 DATA :24/10/2005 - 16:55:24 ---------------------------------------- Si basta che in data range metti come valore minimo il minimo dei due(1 nel tuo caso), nel valore massimo il massimo tra i due(6 nel tuo caso) e come increment metti la differenza tra i due ( 6-1 ). ---------------------------------------- ================================================================================ Salvataggio immagine ================================================================================ AUTORE: 341 DATA :24/10/2005 - 17:41:36 ---------------------------------------- Salve,ho realizzato un vi con cui vorrei salvare l'immagine che compare sul Waveform graph sia in b/n che a colori.Il problema è che quando scelgo di salvare l'immagine a colori l'immagine scompare dal \"Picture\" e non riesco più a salvarla.Qualcuno può aiutarmi???? Allego il file realizzato. Grazie.Aspetto impaziente. ---------------------------------------- AUTORE: 129 DATA :25/10/2005 - 15:34:13 ---------------------------------------- Se devi salvare solo l'immagine prova a vedere l'allegato ---------------------------------------- ================================================================================ immagine con zoom ================================================================================ AUTORE: 706 DATA :24/10/2005 - 17:49:25 ---------------------------------------- Ciao a tutti Ho già scritto un topic su questo argomento ma sono stato non molto esplicativo. Vorrei che il mio grafico una volta lanciato il VI venga visualizzato in primo piano (quindi senza vedere il front pannel del VI) e magari con esso il controllo per lo zoom. E' possibile tutto questo ? Grazie ---------------------------------------- AUTORE: 247 DATA :27/10/2005 - 01:13:39 ---------------------------------------- Ciao, scusa il ritardo della risposta, cmq prova se questo esempio ti può andare bene come tecnica, basta impostare le seguenti proprietà del subVI che trovi seguendo Menù file->VI Properties->Category \"Window Size\": - Size Front Panel.. - Mantain Proportion.. - Scale object.. E settando L'appearance a Dialog. P.S. Raggruppa gli oggetti del front panel se la modifica delle dimensioni tende a spostarli non correttamente! BYE. ---------------------------------------- ================================================================================ grazie a tutti ================================================================================ AUTORE: 683 DATA :25/10/2005 - 09:02:39 ---------------------------------------- finalmente ho terminato la scrittura del mio driver il LV per HP 4142B tutto il forum e tutti voi mi siete stati molto utili e prorpio adesso sto finendo si scrivere la mia tesi! Sono riconscente nei confronti di chi mi ha risosto e mi ha aiutato a inparare ad usare LV dandomi consigli fornandomi vi grazie a tutti \" PS nel mio futuro lavoro sono quasi sicuro di dover utilizzare ancora LV quindi ogni tanto mi farò vivo grazie ancora ---------------------------------------- ================================================================================ Salva waveform ================================================================================ AUTORE: 847 DATA :25/10/2005 - 14:57:06 ---------------------------------------- Salve a tutti sono uno studente nuovo utente di LabView e nuovissimo registrato a questo forum. Io devo realizzare un Vi che acquisisce e salva una forma d'onda per poi analizzarla una volta terminato il salvataggio. Ho provato ad usare il blocco salva waveform ma non capisco bene come funziona.Qualcuno può darmi una mano. Grazie ciao ---------------------------------------- AUTORE: 247 DATA :27/10/2005 - 00:06:07 ---------------------------------------- Ciao, il blocco che chiami salva waveform è il blocco funzione che si chiama \"Write Waveforms to File\" o è un'altro? In particolare cosa non capisci, gli ingressi che devi utilizzare oppure hai aperto il blocco e il codice ti risulta oscuro? Cmq nell'esempio c'è l'utilizzo più semplice dei blocchi in questione: - salvataggio su file -> rilettura dell'onda -> analisi di un suo parametro. BYE. ---------------------------------------- AUTORE: 645 DATA :27/10/2005 - 08:20:15 ---------------------------------------- Ciao, in generale puoi acquisire la forma d'onda dall'esterno tramite i comandi NI measurements --> Data Acquisition --> Input. Poi nella sezione Waveform trovi alcuni comandi per l'analisi della forma d'onda acquisita. Tutti questi comandi sono raggiungibili dalla paletta del Block Diagram. Per simulare la forma d'onda e fare qualche prova puoi usare questa successione di blocchi: 1) Simulate Signal (lo trovi sotto Express --> Input) 2) Convert from dynamic data (lo trovi sotto Express --> Sig Manip --> From DDT. Quando lo metti sul Block Diagram ti chiede il tipo di uscita: scegli \"single waveform\"). 3) I blocchi della sezione Waveform per provare le analisi possibili. Ciao! ---------------------------------------- AUTORE: 645 DATA :27/10/2005 - 08:30:28 ---------------------------------------- Siccome mi è venuto qualche dubbio sul salvataggio ho fatto una prova; allego il VI. È molto semplice senza nessun abballimento e sicuramente deve essere sistemato ma permette di salvare una Waveform in un file. Il blocco di simulazione del segnale è settato in modo da simulare il tempo assoluto di simulazione (cioè registra l'ora e la data in cui la simulazione avviene). Se apri il file scelto come salvataggio con Excel (o un altro foglio di calcolo) vedrai che vengono salvati il tempo iniziale, l'intervallo dt tra un campione e l'altro, il tempo di ogni punto simulato e il valore della forma d'onda corrispondente. Per l'acquisizione da strumenti esterni non ho sottomano niente ma credo che i dati forniti siano gli stessi. Ciao! ---------------------------------------- AUTORE: 847 DATA :27/10/2005 - 14:24:16 ---------------------------------------- Grazie mille per gli aiuti..il problema principale era che mettendo in run il VI mi chiedeva in continuazione Replace file? mi mancava l'indicatore booleano. Uso la versione 6.1 c'è qualche sistema per aprire l'esempio che è fatto con una versione superiore?comunque: \":?:\" \":?:\" 1)Qual'è il metodo migliore per acquisire più forme d'onda contemporaneamente per visualizzarle e salvarle?io ho fatto come negli esempi di labview ma visualizzo la forma d'onda un po ascatti..Uso la PCI-6013. 2)Per aprire la forma d'onda dal file ho collegato il ciclo while al record del blocco read waveform è corretto fare così? 3)Il file generato che estensione ha? è possibile visualizzarlo con excel o lo devo salvare con qualche altro blocco? Grazie infinitamente!!! ---------------------------------------- AUTORE: 645 DATA :27/10/2005 - 14:51:04 ---------------------------------------- Io non riesco a salvarlo per versioni precedenti alla 7.0 ma ti allego l'immagine del VI con la possibilità di cambiare l'estensione del file e i comandi per poterlo realizzare senza Express VI. Ciao! ---------------------------------------- AUTORE: 847 DATA :27/10/2005 - 16:17:05 ---------------------------------------- GRAZIE, l'immagine mi basta per capire!! \":)\" ---------------------------------------- AUTORE: 847 DATA :28/10/2005 - 15:09:29 ---------------------------------------- Ciao a tutti...dopo aver salvato usando il blocco write waveform lo si apre con read waveform.. come si può fare per leggere interamente il file e visualizzarlo in un secondo tempo? Perchè io lo apro e lo visualizzo su un waveform chart ma quando sposto la scrollbar la traccia scompare completamente e devo far ripartire il VI per visualizzarlo.. Grazie!! Ciao!! ---------------------------------------- ================================================================================ Formato dei numeri ================================================================================ AUTORE: 706 DATA :25/10/2005 - 15:18:51 ---------------------------------------- Ciao a tutti Come posso avere nel Numeric control (e quando viene salvato nel file testuale) un numero del tipo 03,2500 e non 3,2500 ? La richiesta nasce perchè nel progetto i numeri devono essere così rappresentati. Grazie per l'attenzione. ---------------------------------------- AUTORE: 129 DATA :25/10/2005 - 15:39:33 ---------------------------------------- da property del controllo vai in advanced formatting e nel text string scrivi \"0%f\" dove f è floating point e lo 0 davanti al % è lo 0 che volevi. ---------------------------------------- ================================================================================ Insert into array ? ================================================================================ AUTORE: 534 DATA :26/10/2005 - 10:09:09 ---------------------------------------- Ciao, vorrei inserire in un array di numeri da 0 a 100, diciamo ogni 10 elementi una stringa di testo, sto provando ad utilizzare la funzione Insert into array ma ottengo un nuovo array bidimensionale. Potrei avere un esempio su come fare per ottenere un array monodimensionale di nymeri da 0 a 100 con una stringa di caratteri ogni 10 elemnti ? Grazie Saluti Luigi ---------------------------------------- AUTORE: 201 DATA :26/10/2005 - 15:17:45 ---------------------------------------- In un array di numeri puoi inserire solo numeri. ---------------------------------------- AUTORE: 534 DATA :26/10/2005 - 15:45:09 ---------------------------------------- Certo hai ragione, si tratta comunque solo di un esempio, se gli array fossero di contenuto uguale (stringhe testo) potresti darmi un suggerimento ? ---------------------------------------- AUTORE: 645 DATA :26/10/2005 - 15:45:13 ---------------------------------------- Il vettore con dentro le stringhe ti serve da presentare alla fine dell'esecuzione del programma? Potresti fare così: converti i numeri in stringhe, inserisci le stringhe in un nuovo vettore e a questo punto ogni \"tot\" posizioni inserisci un'altra stringa. Se invece i valori contenuti nel vettore ti servono per eseguire i calcoli ti conviene tenere due array: uno di soli numeri, l'altro di stringhe con numeri convertiti in stringhe e stringhe di testo inserite. Ciao ---------------------------------------- AUTORE: 201 DATA :26/10/2005 - 16:33:22 ---------------------------------------- Certo, allora se hai delle stringhe puoi fare così.+ [img:3jfq18sg]http://img486.imageshack.us/img486/5963/vi8wy.jpg[/img:3jfq18sg] In questo modo ogni 10 elemtni hai la stringa \"ILVGFORUM\" contando che i numeri vanno da 0 a 100 compreso 0 e 100... ---------------------------------------- AUTORE: 534 DATA :27/10/2005 - 17:19:40 ---------------------------------------- grazie per la brillante soluzione, questa sera proverò... ---------------------------------------- ================================================================================ Event Structure ================================================================================ AUTORE: 341 DATA :26/10/2005 - 11:47:49 ---------------------------------------- Salve,qualcuno potrebbe darmi delle spigazioni esaustive sull'uso della \"Event Structure\".In particolare come si utilizzano gli \"event Data Node\". Ho un problema su come si riinizializza il valore di un \"boolean square led\" che si trova nell'ultimo event.Vorrei che una volta terminati gli eventi al successivo riutilizzo il \"boolean square led\" ripartisse dal valore iniziale.Grazie ---------------------------------------- AUTORE: 247 DATA :26/10/2005 - 23:55:25 ---------------------------------------- Ciao, Le spiegazioni sull'utilizzo degli eventi e la definizione di \"Event Data Node\" le puoi trovare in questa pagina e e seguendo i link consigliati: [url=http://zone.ni.com/reference/en-XX/help/lv/71/glang/Event_Structure/:14m2gtaf]Event Structure[/url:14m2gtaf]. Venendo alla tua domanda, prima di tutto ti ricordo che gli eventi non hanno sequenzialità di per sè quindi mi risulta un pò strano il tuo identificare un \"ultimo\" evento, cmq per reinizializzare un controllo dopo l'esecuzione dell'evento, utilizza il metodo \"Reinitialize to Default\" dandogli come reference quella del controllo che ottieni proprio dall'Event Data Node, tipo esempio. BYE. ---------------------------------------- ================================================================================ comunicazione labVIEW counter Agilent hp 53131A ================================================================================ AUTORE: 601 DATA :26/10/2005 - 16:43:56 ---------------------------------------- Ciao a tutti, è il mio primo post, anche se sono loggato da un po di tempo. Spero che qualcuno di voi maghi di LV, possa fare un po' di luce nella nebbia che mi stà avvolgendo (letteralmente!!!). Devo fare un programma capace di gestire un piccolo banco prova per flussimetri con uscita ad impulsi; ho bisogno di misurare, con buona precisione, la frequenza di risposta degli strumenti da testare. Ho a disposizione un counter Agilent, modello hp 53131A; dopo aver scaricato i driver per questo strumento dal sito NI, averlo configurato e visualizzato in MAX, non riesco a gestirlo in LV. utilizzando visa write e visa read, dandogli la query di identificazione (*IDN?), riesco ad avere il suo feedback. Con le VI messe a disposizione da NI non riesco a dialogarci. Essendo nuovo a comunicazioni VISA e GPIB, non riesco ad avere bene il polso della situazione. Grazie a tutti dell'aiuto. Vincenzo ---------------------------------------- AUTORE: 247 DATA :27/10/2005 - 00:32:58 ---------------------------------------- Ciao, hai provato ad eseguire il VI di esempio che è contenuto nella libreria di driver? Se quello funziona vuol dire che i driver sono ok e che probabilmente hai commesso qualche altro errore di programmazione nel tuo VI. Se invece nemmeno quello, impostato correttamente, funziona allora il problema potrebbero anche essere i driver. Cmq se vuoi scendere a più basso livello nei driver per vedere che tipo di comunicazione realizzano puoi farlo dato che sono completi di block diagram! BYE. ---------------------------------------- AUTORE: 601 DATA :27/10/2005 - 07:50:09 ---------------------------------------- ciao Apollon, ho già provato con i driver scaricati dal sito NI, non riesco a vedere lo strumento; come già detto, riesco a dialogarci ed a riconoscerlo con le VISA write e VISA read. nel diagramma dei driver, il livello più basso di comunicazione è GPIB; non funziona perchè non riconosce valido l'indirizzo GPIB. non so se mi sono riuscito a spiegare. spero di riuscire a trovare il bandolo. attendo consigli, grazie a tutti. Vincenzo ---------------------------------------- AUTORE: 645 DATA :27/10/2005 - 11:59:09 ---------------------------------------- Scusa, non vorrei fare una domanda stupida... Lo strumento è collegato al pc tramite seriale o con connessione GPIB ? ---------------------------------------- AUTORE: 601 DATA :27/10/2005 - 13:51:29 ---------------------------------------- è collegato al pc tramite il convertitore GPIB/USB 82357A della Agilent. ---------------------------------------- ================================================================================ comandare il pc via web ================================================================================ AUTORE: 201 DATA :26/10/2005 - 17:22:58 ---------------------------------------- E' possibile creare una VI che mi permetta di controllare il pc via web? ---------------------------------------- AUTORE: 247 DATA :27/10/2005 - 00:18:34 ---------------------------------------- Ciao, credo proprio che la risposta possa essere solamente SI! A occhio e croce anche solamente utilizzando comunicazione TCP/IP e Command Window puoi realizzare la base per il tutto... BYE. ---------------------------------------- AUTORE: 201 DATA :27/10/2005 - 15:52:13 ---------------------------------------- Ok, non è ke mi daresti un aiutino? \":D\" \":wink:\" ---------------------------------------- AUTORE: 201 DATA :31/10/2005 - 14:47:49 ---------------------------------------- aiutino aiutino aiutinooooooo \":)\" Si riesce a spostare il puntatore del mouse via programma? ---------------------------------------- ================================================================================ clipboard ================================================================================ AUTORE: 487 DATA :27/10/2005 - 08:17:32 ---------------------------------------- Ciao a tutti, scusate la mia ignoranza ma non riesco a risolvere un problema banale: devo copiare il contenuto di una stringa nella clipboard in maniera automatica (cioè senza fare \"CTRL + C\") e non so come fare. Aiutatemi per favore. ---------------------------------------- AUTORE: 645 DATA :27/10/2005 - 08:35:01 ---------------------------------------- Prova a guardare questo: http://sine.ni.com/apps/we/niepd_web_di ... 0020E74861 Non credo sia un problema banale, penso che servano le dll. Ciao! ---------------------------------------- AUTORE: 487 DATA :27/10/2005 - 08:42:50 ---------------------------------------- Grazie mille è proprio quello che cercavo!!! Ciao. ---------------------------------------- ================================================================================ Application builter e differenti versioni di LabView ================================================================================ AUTORE: 706 DATA :27/10/2005 - 10:21:22 ---------------------------------------- Ciao a tutti Ho un problema che riguarda l'application builter. Nel mio PC ho installata la versione di LabView 7.0 che non contiene nel \"Tool\" la voce Application builter or shared files. Ho trovato una versione di LabView 6i che contiene l'application builter. E' possibile estrarre dal disco di setup o in altro modo l'Application builter del 6i e metterlo/configurarlo nella versione 7.0? Il discorso è un pò contorto ma spero di essermi spiegato. Grazie per l'attenzione ---------------------------------------- ================================================================================ Timers, Wait ò Wait until next.. ================================================================================ AUTORE: 655 DATA :27/10/2005 - 10:58:32 ---------------------------------------- Ciao ragazzi... ho un problema con la funzione wait (ms) ò la funzione Wait Until Next, quando voglio mettere un timeout di x secondi si mi blocca il vi fino a che no scade questo tempo. ho messo questo timer per dare tempo a settare certa variabili, se questo no accade mi porta a zero una altra, ma come ho detto prima si blocca ed alla fine mi porta a zero l'altra variabile. Grazie mille Jubal ---------------------------------------- AUTORE: 129 DATA :28/10/2005 - 07:52:08 ---------------------------------------- Non penso sia un problema di wait, ma piuttosto del codice che utilizzi, quindi conviene che alleghi il codice o qualche dettaglio maggiore su come lavora. Se la variabile si resetta è perchè da qualche parti ne perdi il valore. Nic ---------------------------------------- ================================================================================ labView 6i a LabView 7.0 ================================================================================ AUTORE: 706 DATA :27/10/2005 - 11:30:28 ---------------------------------------- Ciao a tutti Nel mio PC ho installato la versione LabView 7.0 ma mi mancano gli internet toolkit e l'application builter. Tutto questo lo posso recuperare dalla versione LabView 6i che mi hanno dato.E' possibile recuperarli da lì o non ho speranza o devo cercare altre strade alternative? Mi potete dare una mano voi?. Grazie ---------------------------------------- ================================================================================ installazione Application builder ================================================================================ AUTORE: 706 DATA :27/10/2005 - 14:37:47 ---------------------------------------- Ciao a tutti Questo è il terzo topic che scrivo a riguardo del mio problema. Mi hanno detto che è possibile estrarre l'application builder da LabView 6i e installarlo in LabView 7.0 (che è la versione che ho installato sul mio PC). E' vero questo? Se si come si procede? Grazie e scusate per la mia insistenza. Ciao ---------------------------------------- AUTORE: 278 DATA :27/10/2005 - 22:31:26 ---------------------------------------- Ciao, Non ne ho la piu' pallida idea \":o\" \":o\" \":o\" Io non credo che sia possible, sicuramente l'App. builder per la 6.1 ha alcune lacune, per esempio, se utilizzi un express vi nel tuo codice sorgente, trovo molto molto difficile credere che l'app. builder della 6.1 ti compili il file .exe, semplicemente perchè questi VI non ci sono nella 6.1. \":lol:\" \":lol:\" (il che non è proprio una brutta cosa \":D\" \":D\" ) Stesso discorso dicasi per i vi di uso \"generico\", se non erro, anche se dall'aspetto e funzionalità fanno le medesime operazioni, nella versione più recente vengono compilate in maniera + efficiente (in sostanza, il codice binario creato è + efficiente) Resta fermo il fatto che le vie del sapere sono infinite, si sa mai che questa operazione sia possibile \":o\" \":o\" ---------------------------------------- ================================================================================ Conversione file .dat in .txt [Era "labview"] ================================================================================ AUTORE: 851 DATA :27/10/2005 - 16:02:21 ---------------------------------------- salve ragazzi sapreste come posso creare una VI che trasforma i file.dat in file.txt e li salva in una directory? ringraziandovi per la cortesi vi porgo i miei saluti ---------------------------------------- AUTORE: 278 DATA :27/10/2005 - 22:37:35 ---------------------------------------- Ciao e benvenuto nel forum!! \":D\" \":D\" Fatti un giro nella sezione download del sito, dovrebbe esserci un vi che fa il caso tuo \":lol:\" \":lol:\" viewtopic.php?t=328 Non l'ho provato di persona ma credo che sia perfetto per il tuo caso PS, leggiti anche il topic correlato, a volte anche i migliori sbagliano \":wink:\" ---------------------------------------- AUTORE: 851 DATA :31/10/2005 - 12:54:19 ---------------------------------------- Mi sono espresso male: non mi serve di cambiare esclusivamente l'estensione del file in .txt ovvero non devo banalmente rinominare il file. Mi occorre invece di convertire il formato dei dati in maniera leggibile da un editor di testo come Notepad. Se attualmente apro un file di misure con Notepad mi appaiono dati illegibili. Grazie. Saluti. ---------------------------------------- ================================================================================ programma QUIZ quasi ultimato ma... ================================================================================ AUTORE: 534 DATA :28/10/2005 - 08:21:46 ---------------------------------------- Grazie ai vostri consigli ho quaso ultimato QUIZ, tuttavia il front panel accetta come input anche i click del mouse fuori dall' area dei pulsanti mettend in crisi la corretta esecuzione del vi, ho intuito che esiste la possibilità di usare event structure ma non capisco come sfuttarlo correttamente, qualche consiglio ? Inoltre al termine del processo vorrei poter inizializzare il vi per riprendere il ciclo da capo, come fare senza uscire dal programma ? Grazie a tutti Saluti ---------------------------------------- AUTORE: 201 DATA :28/10/2005 - 12:08:02 ---------------------------------------- Ciao, prova in questo modo, ho modificato un po' il codice ma sostanzialemente è rimasto il tuo! Il vi si trova qui [url:1vpjgqcn]http://z11.zupload.com/download.php?file=getfile&filepath=13697[/url:1vpjgqcn] xkè io non posso + uppare rooba su questo forum mi dice che ho raggiunto il limite di 2 mb...non c'è modo x riazzerare tutto? ---------------------------------------- AUTORE: 278 DATA :28/10/2005 - 14:44:00 ---------------------------------------- Ciao Blow [quote:2xuntdlo]questo forum mi dice che ho raggiunto il limite di 2 mb...non c'è modo x riazzerare tutto?[/quote:2xuntdlo] Si che c`e`, bisognerebbe cancellare dal forum i tuoi post contenenti gli allegati! Purtroppo abbiamo un limite di spazio per ogni utente che e` fissato a 2 MB, l`hosting non e` gratuito!!! ---------------------------------------- AUTORE: 201 DATA :28/10/2005 - 15:48:10 ---------------------------------------- Allora vado con la cancellazione \":D\" ---------------------------------------- AUTORE: 534 DATA :28/10/2005 - 16:32:06 ---------------------------------------- grazie per il tuo vi, questa sera lo guarderò... ---------------------------------------- ================================================================================ Max elementi in un array ================================================================================ AUTORE: 706 DATA :28/10/2005 - 09:32:03 ---------------------------------------- Ciao a tutti Nel caso in cui abbia un array di cluster, è possibile impostare il max numero di elementi che può contenere? Vi allego un semplice esempio. Grazie ---------------------------------------- AUTORE: 645 DATA :28/10/2005 - 10:16:24 ---------------------------------------- Ciao, ho provato con l'Event Structure: in caso di Value Change del vettore controlla il numero di valori presenti (Array Size) e se è maggiore di \"max\" ferma tutto. Però mi da problemi, sia perchè il controllo viene fatto dopo avere inserito i nuovi valori (e quindi bisognerebbe fermarsi a \"max-1\", sia perchè il controllo non funziona sempre bene. Allora mi viene in mente questa soluzione: si potrebbero creare due caselle, una numerica e l'altra di stringhe e un bottone del tipo \"Aggiungi valori\". Nel momento in cui l'utente preme il bottone (bisogna sfruttare l'Event Case) si fa il controllo sulla dimensione del vettore. Se l'elemento che si sta per inserire nel vettore (con Build Array) è l'ultimo possibile dopo l'inserimento il bottone viene reso non usabile (tramite Property). Ciao! ---------------------------------------- AUTORE: 482 DATA :28/10/2005 - 11:24:26 ---------------------------------------- Non so se puo' fare al caso tuo ma io lo inizializzerei come un arrai di TOT valori di default, poi ogni volta che inserisci un valore anzichè fare un insert, effettui un replace array subset. ---------------------------------------- ================================================================================ reinitialize all to default ================================================================================ AUTORE: 534 DATA :28/10/2005 - 10:22:21 ---------------------------------------- ciao, esiste un oggetto che inserito all' interno di un vi, ottega la stessa funzione del comando presente nei menù \"reinitialize all to default\"? grazie saluti ---------------------------------------- AUTORE: 482 DATA :28/10/2005 - 11:26:55 ---------------------------------------- ..ma ciao! Devi creare un VI refnum e poi con un invoke node effettui il \"reinitialize all to default\" ---------------------------------------- ================================================================================ Applicazione.exe: path che non funziona ================================================================================ AUTORE: 204 DATA :30/10/2005 - 11:56:09 ---------------------------------------- ciao a tutti, nell'esempio che allego ho creato un piccolo vi che mi permette di salvare delle informazioni contenute in due indicatori e aprirle successivamente. Per rendere il tutto generico e indipendente dal percorso in cui vado a inserire il vi, ho usato le solite funzioni di LV per la costruzione e lettura del path. Se uso il vi da LV, il tutto funziona correttamente. Se invece creo la mia applicazione eseguibile, ho dei problemi. Mi spiego meglio. Create una directory \"prove\" sotto la dir principale. Avviate l'applicazione.exe creta da LV (\"build application\" dal menu' \"Tools\") e scegliete \"open\" o \"save\". Io mi aspetto che il dialog mi mostri il contenuto della dir \"prove\" ovvero la dir dove voglio salvare i miei file binari, invece non e' cosi'..Eppure il vi, fatto girare in LV, funziona correttamente.. Cosa succede? Dove'e l'errore? Grazie dell'attenzione ---------------------------------------- AUTORE: 204 DATA :30/10/2005 - 11:57:34 ---------------------------------------- Ops..scusate..mi sono dimenticato il menu' (vedi allegato) Grazie ---------------------------------------- AUTORE: 204 DATA :30/10/2005 - 12:03:57 ---------------------------------------- ritento... ---------------------------------------- AUTORE: 680 DATA :30/10/2005 - 12:50:27 ---------------------------------------- guarda qui....... [url:krpys7ou]http://80.241.175.99/forum/viewtopic.php?t=326[/url:krpys7ou] ciao........ ---------------------------------------- AUTORE: 204 DATA :08/11/2005 - 15:36:40 ---------------------------------------- grazie mille! E' proprio quello che cercavo! ---------------------------------------- ================================================================================ opc server ================================================================================ AUTORE: 757 DATA :31/10/2005 - 02:46:24 ---------------------------------------- come devo fare per leggere il valore da un dispositivo usando i vi datasocket ---------------------------------------- AUTORE: 748 DATA :07/11/2005 - 14:28:35 ---------------------------------------- Se vuoi leggere un valore numerico da un OPC Server: crea un indicatore numerico sul front panel tasto destro sull'indicatore > Data Operations > DataSocket Connections ti si apre una nuova finestra dove puoi selezionare la fonte dei tuoi dati. (Ti faccio l'esempio per collegarti all'OPC server demo della national Instruments): clicca Browse.. > Browse measurement data > Risorse del computer > National Instruments OPC Demo > NI OPC demo server > Analog Items > Integers > VT_I2:1.0..1000.0 (il primo della lista) > OK > change A questo punto dovresti vedere un rettangolino piccolo a fianco del tuo indicatore numerico (in alto a destra): questo è un indicatore che si illumina quando l'indicatore riceve dati dall'opc server. Lancia la VI che hai creato in loop infinito e osserverai che il numero segnato dall'indicatore comincia a crescere e il rettangolino diventa verde Spero di esserti stato utile ---------------------------------------- AUTORE: 838 DATA :08/11/2005 - 10:50:06 ---------------------------------------- è molto utile l'HMI Wizard, crea direttamente la connessione al datasoket selezionandolo dall'elenco delle tag del DSC Labview 7.1 e DSC 7.1 ---------------------------------------- ================================================================================ Personalizzazione di un VI ================================================================================ AUTORE: 813 DATA :31/10/2005 - 11:52:34 ---------------------------------------- Salve a tutti.Vorrei personalizzare il mio VI, in particolare il front panel,tutt'ora costruito con indicatori,controlli e quant'altro tutti di default.Vorrei in particolare cambiare il grigio di sfondo del front panel,degli indicatori,etc.Il mio desiderio insomma è quello di abbellire il programma con cui sto lavorando in questo periodo.E' possibile fare altri tipi di personalizzazioni più \"spinte\"?Grazie \":)\" ! ---------------------------------------- AUTORE: 278 DATA :31/10/2005 - 13:14:59 ---------------------------------------- Ciao e benvenuto! Personalizzare il front panel e` semplicissimo: tramite la tools palette puoi colorare praticamente qualsiasi cosa che ti appare sul Front Panel del tuo vi. Vedi quei due quadratini in basso alla tools palette? Uno serve per colorare gli oggetti in primo piano, l`altro (quello seminascosto) serve per colorare gli oggetti di background. Se clicchi sopra a uno di questi 2 quadrati appare una barra di scelta del colore (tipo Paint di Windows), scegli il colore e seleziona l`oggetto da colorare.... Se invece devi cambiare lo sfondo del front panel devi cliccare sul secondo quadratino (sempre della tools palette) e scegliere il colore desiderato. ---------------------------------------- AUTORE: 813 DATA :31/10/2005 - 17:02:57 ---------------------------------------- [quote="esodar1981":53iua47m]Ciao e benvenuto! Personalizzare il front panel e` semplicissimo: tramite la tools palette puoi colorare praticamente qualsiasi cosa che ti appare sul Front Panel del tuo vi. Vedi quei due quadratini in basso alla tools palette? Uno serve per colorare gli oggetti in primo piano, l`altro (quello seminascosto) serve per colorare gli oggetti di background. Se clicchi sopra a uno di questi 2 quadrati appare una barra di scelta del colore (tipo Paint di Windows), scegli il colore e seleziona l`oggetto da colorare.... Se invece devi cambiare lo sfondo del front panel devi cliccare sul secondo quadratino (sempre della tools palette) e scegliere il colore desiderato.[/quote:53iua47m] Grazie esodar.Problema risolto \":)\" A presto ---------------------------------------- ================================================================================ Come ottenere un string indicator privo di bordi visibili ? ================================================================================ AUTORE: 534 DATA :02/11/2005 - 15:27:33 ---------------------------------------- Ciao a tutti, per ragioni di ordine estetico vorrei ottenere un indicatore di stinga che mostri sul pannello frontale soltanto il testo privo del bordo esterno. cosa devo fare per ottenere questo risultato ? Grazie a tutti per l'attenzione Saluti Luigi ---------------------------------------- AUTORE: 680 DATA :02/11/2005 - 17:17:08 ---------------------------------------- ecco qui ciao..... ---------------------------------------- AUTORE: 534 DATA :03/11/2005 - 08:31:43 ---------------------------------------- grazie per il vi, purtroppo non trovo la tools palette selezioni che permette di ottenere questo risultato... ---------------------------------------- AUTORE: 113 DATA :03/11/2005 - 09:46:18 ---------------------------------------- Dai un occhio qui \":wink:\" ---------------------------------------- AUTORE: 534 DATA :03/11/2005 - 10:00:36 ---------------------------------------- Scusa, ho trovato la simple string, ma non riesco a trovare: \"TOOLS PALETTE SELEZIONI SET COLOR, E TI COMPARE UNA FINESTRA E CLICCHI IN ALTO A DESTRA DOVE C'E' LA \"T\". grazie, per l'attenzione luigi ---------------------------------------- AUTORE: 278 DATA :03/11/2005 - 19:12:25 ---------------------------------------- Ciao Tracert, è molto semplice, la Tools Palette è la finestrella dove selezioni il rocchetto del filo, il cursore del mouse e una serie di altre cose. Si abilita premendo su \"Windows\" nel menù di LV, a questo punto selezioni \"Show tools Palette\", ma sono quasi sicuro che è già aperta sul tuo monitor. Set color è l'ultimo riquadro in basso a questa Tools Palette, se ci clicchi sopra, oltre che a trasformare il cursore in un Pennello, ti dovrebbe apparire una tavolozza di selezione del colore (stile Paint). In un riquadro di questa schermata c'è la \"T\" che ti occorre. Ciao Ciao ---------------------------------------- AUTORE: 534 DATA :04/11/2005 - 08:38:52 ---------------------------------------- Trovata ! grazie... ---------------------------------------- ================================================================================ problema con le librerie ================================================================================ AUTORE: 706 DATA :02/11/2005 - 15:49:57 ---------------------------------------- Ciao a Tutti Mi hanno dato dei VI di un certo dispositivo per essere controllato da LabView. Il problema nasce quando una volta aperti mi da errore riguardante la \"Call Library Function Node\" dicendomi :Library not found or failed to load. Da cosa può dipendere? Un'altra domanda forse banale: Perchè si usano i CIN , ovvero si richiama un altro codice sorgente, ad esempio il C, per svolgere alcune funzione non svolgendole direttamente con il linguaggio LabView? Grazie ---------------------------------------- AUTORE: 278 DATA :02/11/2005 - 20:23:51 ---------------------------------------- Ciao, Puo' dipendere dal fatto che il codice che tu stai aprendo richiami delle librerie esterne che non sono presenti nella tua macchina. A volte invece sono \"linkate\" a dei path diversi, trova il \"call library node\" utilizzato nei tuoi VI, fai doppio click e ti si apre un menù di configurazione dal quale puoi vedere il nome della libreria richiamata. Se la libreria richiesta è installata sulla tua macchina, cliccando su \"browse\" puoi \"insegnargli\" il nuovo path. ---------------------------------------- ================================================================================ compilatore .lsb (CIN) ================================================================================ AUTORE: 706 DATA :03/11/2005 - 11:45:06 ---------------------------------------- Ciao a tutti Sto cercando di capire qualcosa sui CIN e ho un dubbio che mi assale: Ad un certo punto, mi dice che è necessario convertire il codice sorgente (in C) in un formato con estensione .lsb che è leggibile da LabView. Questo a quanto ho capito serve quando viene richiamata l'opzione \"Load Code Resorce ..\" del CIN. Come posso fare questa conversione e che strumenti devo usare? Grazie per l'attenzione Francesco ---------------------------------------- ================================================================================ Valore medio di una parte di curva ================================================================================ AUTORE: 863 DATA :03/11/2005 - 14:03:53 ---------------------------------------- Ciao a tutto il forum. E' la prima volta che scrivo per un aiuto. Ho una applicazione che, comunicando con un plc, disegna una curva su un XYGraph. Una volta disegnata la curva, l'utente può spostare due cursori su di essa, dove recupero le coordinate del grafico. Ora, dovrei poter calcolare la media dei punti della curva solo per la parte compresa tra i due cursori. E' un pò che ci sbatto la testa ma non riesco a trovare una soluzione. Qualcuno ha qualche suggerimento? Grazie in anticipo Ciao ---------------------------------------- AUTORE: 201 DATA :03/11/2005 - 15:32:12 ---------------------------------------- La media delle ordinate comprese fra i due cursori o ho capito male? ---------------------------------------- AUTORE: 863 DATA :03/11/2005 - 15:40:29 ---------------------------------------- [quote="blow":8lulhp8z]La media delle ordinate comprese fra i due cursori o ho capito male?[/quote:8lulhp8z] Si, sto provando ad utilizzare \"Extract Portion of Signal\" ... ma non sono ancora riuscito a venirne a capo. ---------------------------------------- AUTORE: 201 DATA :03/11/2005 - 16:26:54 ---------------------------------------- Prova a vedere se questa va bene. http://z11.zupload.com/download.php?fil ... path=16605 Fatta con labview 7.1. ps.Se qualche mod legge, come faccio a cancellare i miei vecchi allegati x recuperare spazio visto che ho esaurito i 2 mb a disposizione del forum? ---------------------------------------- AUTORE: 863 DATA :03/11/2005 - 18:00:05 ---------------------------------------- Sembra proprio che sia ciò che mi occorre ... Grandioso!!!! Grazie e Ciao. ---------------------------------------- AUTORE: 278 DATA :03/11/2005 - 19:05:44 ---------------------------------------- Per Blow [quote:38brv3jf]ps.Se qualche mod legge, come faccio a cancellare i miei vecchi allegati x recuperare spazio visto che ho esaurito i 2 mb a disposizione del forum?[/quote:38brv3jf] semplicemente non puoi!! \":wink:\" Questo è un privilegio dell'amministratore \":(\" \":(\" ILVG Staff sta lavorando ad una soluzione al problema, quando (e se) mi sarà data la possiilità di accedere a questa funzionalità sarò ben lieto di aiutarti se mi darai la \"lista\" dei VI che vuoi cancellare. Purtroppo, il \"papa\" virtuale del forum è estremamente impegnato, quindi non posso chiedergli di cancellare i tuoi post. Per quanto riguarda i file uploadati, consiglio sempre di ridurli alla minima dimensione possibile, almeno per ora. ---------------------------------------- AUTORE: 247 DATA :04/11/2005 - 02:31:29 ---------------------------------------- Ciao, anche se non sono il \"papà\"..mi raccomando l'accento la prox volta esodar1981!!!!...altrimenti scadiamo nel sacrilego...ti ho cancellato a malincuore i vecchi Vi e Jpeg postati per farti spazio... speriamo di non pentircene(soluzione estrema) e che per un pò ti basti, controlla il tuo spazio disponibile e al limite zippa tutto... \"8)\" BYE. ---------------------------------------- AUTORE: 278 DATA :04/11/2005 - 10:17:24 ---------------------------------------- [quote:30kdds28]anche se non sono il \"papà\"..mi raccomando l'accento la prox volta esodar1981!!!!...altrimenti scadiamo nel sacrilego...[/quote:30kdds28] Chiedo venia.... sulla tastiera americana la \"a\" con l`accento non c`e`... \":D\" \":D\" ---------------------------------------- AUTORE: 201 DATA :04/11/2005 - 10:58:07 ---------------------------------------- Ok grazie!! \":D\" ---------------------------------------- AUTORE: 645 DATA :04/11/2005 - 16:28:45 ---------------------------------------- Ragazzi, si può dire \"figata\" in questo forum? Beh il programma della media lo è... una figata! ---------------------------------------- ================================================================================ Costruzione CIN ================================================================================ AUTORE: 706 DATA :04/11/2005 - 10:46:48 ---------------------------------------- Ciao a tutti Il mio problema riguarda la costruzione dei CIN ed in paricolare la compilazione del codice sorgente. Che compilers mi consigliate per poter scrivere il codice in C e soprattutto che me lo traduca in file .lsb leggibile da LabView?. Il sitema operativo che uso è Windows XP e la versione di LabView è la 7.0. Grazie Francesco ---------------------------------------- ================================================================================ Far muovere dei motori di un microscopio ================================================================================ AUTORE: 865 DATA :04/11/2005 - 14:14:41 ---------------------------------------- salve ragazzi sono nuovo del sito,ma ho visto che siete bravissimi a risolvere dei problemi,vorrei muovere dei motori di un microscopio tramite display,cioè cliccando sul grafico mi devo muovere sul campione e posizionarmi sul punto che ho cliccato \":roll:\" ---------------------------------------- AUTORE: 482 DATA :04/11/2005 - 14:20:15 ---------------------------------------- ..quindi?..è un forum di discussione, non è che ti possiamo realizzare tuttta l'applicazione! \":wink:\" ---------------------------------------- AUTORE: 645 DATA :04/11/2005 - 16:27:30 ---------------------------------------- L'idea è bella ma per realizzarla credo ci voglia un po' di fatica. Tu hai già qualche punto di partenza? Ciao! ---------------------------------------- AUTORE: 865 DATA :07/11/2005 - 09:08:51 ---------------------------------------- io pensavo di mappare il display,cioè dagli delle coordinate x,y che dite?cmq lo sò che è un forum di discussione,ma dato che ho visto risolvere vari problemi....ho pensato che tante volte qualcuno aveva già risolto l enigma \":P\" ---------------------------------------- AUTORE: 645 DATA :07/11/2005 - 09:12:31 ---------------------------------------- Secondo voi si potrebbe riprosurre il display su un grafico XY e poi rilevare le coordinate (x,y) di un cursore? In questo modo muovo il cursore, leggo le coordinate e di conseguenza muovo il microscopio (tutto in teoria...) ---------------------------------------- AUTORE: 748 DATA :07/11/2005 - 20:32:20 ---------------------------------------- Ciao, io ho già movimentato motori tramite LV + PLC + inverter e secondo me il ricavare la posizione dal grafico non è la parte più difficile...anzi... Quel che devi valutare è il tipo di motori che devi movimentare e il modo con cui fai arrivare il segnale al motore. Cerco di spiegarmi meglio: Nel caso in cui tu debba movimentare motori di piccole (o meglio piccolissime) dimensioni potresti far uscire da una scheda analogica un segnale in tensione per movimentare direttamente il motore (anche se non so esista una scheda analogica che possa fornire tutta quella corrente... mi pare che la National Instrument ne fornisca una per motorini suoi ma costa un'occhio) ossia il bus dati coincide col bus di potenza. io ho lavorato con motori di grosse dimensioni e in questo caso la situazione si complica in quanto devi separare il bus dati dal bus di potenza, ossia: Labview tramite rete ethernet (bus dati) controlla un inverter che a sua volta invia il segnale di potenza ai motori asincroni o brushless (bus di potenza). In questo secondo caso devi implementare su LabView il protocollo con cui dialoghi con l'inverter ... cosa abbastanza incasinata (io mi ero scritto tutto il protocollo ModBus ma esistono anche vie più veloci... ma ben + costose... utilizzando schede apposite e OPC Servers di altri bus proprietari tipo ProfiBus) A questo punto riusciresti a muovere i motori però nasce il problema del controllo degli stessi, ossia del posizionamento: per poter fermare i motori al momento giusto devi sicuramente utilizzare un controllo in catena chiusa ossia un sistema che \"diminuisce la tensione\" man mano che il motore si avvicina all'obiettivo. Anche in questo caso ci sono diverse soluzioni: Potresti utilizzare un sistema di visione artificiale che identifica l'intorno del punto selezionato sull'immagine proveniente dal microscopio e che fornisce la giusta tensione (o dice all'inverter di far muovere il motore) finche tale punto non arriva al centro. Questa prima modo è problematico per via della visione artificiale ma c'e' un secondo metodo (dipende pero' se puoi modificare i motori del microscopio). Il secondo metodo (quello consigliabile) consiste nel montare sui motori degli encoder ossia dei \"sensori\" che forniscono la posizione del motore (encoder assoluti) oppure di quanto questo si è spostato (encoder relativi). Leggendo il segnale da tali encoder tu puoi fermare il motore quando si e' spostato del valore desiderato Ora il tuo sistema funziona perfettamente... Buona fortuna \":)\" ---------------------------------------- AUTORE: 865 DATA :08/11/2005 - 11:17:45 ---------------------------------------- Grazie ti farò sapere,cmq se avete qualche altra idea ho le orecchie aperte,anzi spalancate \":mrgreen:\" ---------------------------------------- AUTORE: 482 DATA :08/11/2005 - 15:15:40 ---------------------------------------- ...ma schede motion no? ---------------------------------------- AUTORE: 748 DATA :08/11/2005 - 20:39:10 ---------------------------------------- Dubito che il microscopio sia dotato di motori a passo o brushless... mi sembra di ricordare che NI non faccia schede per controllare motori asincroni normali. Inoltre NI fa pagare un occhio quelle schede + software di sviluppo + cavi e accessori. Un inverter commerciale di fascia bassa + scheda ethernet risulta molto piu' economico. ---------------------------------------- ================================================================================ help stringa cinese ================================================================================ AUTORE: 48 DATA :04/11/2005 - 16:31:22 ---------------------------------------- Volevo sapere se è possibile scrivere dei caratteri cinesi, prelevati da un file di testo, dentro una stringa (di testo). Ho fatto alcune prove ma, anche installando un FONT cinese, non riesco a visualizzare l'ideogramma cinese.....mi appaiono dei punti di domanda (????) Uso Win XP con labview 7.1, ma dopo dovrei fare anche un exe per labview 6.1. Grazie per l'attenzione Rik ---------------------------------------- ================================================================================ da decimale ad ascii ================================================================================ AUTORE: 870 DATA :05/11/2005 - 19:38:35 ---------------------------------------- Ciao a tutti, sono nuovo in questo forum, per questo mi presento...mi chiamo Alberto. Sono alle prime armi con labview...primo giorno ed espongo il mio problema. Cosa uso per convertire un numero compreso fra 0 e 255 in un carattere ascii? In pratica devo inviare ad una scheda collegata alla seriale questo comando: **(quì il valore ascii)# In questo modo andrò a controllare lo stato dei relay presenti nella scheda. Riesco già a inviare i comandi usando un esempio di labview..serial.vi ...ma da quì vorrei creare qualcosa di carino se mi riesce. ciao ---------------------------------------- AUTORE: 487 DATA :07/11/2005 - 07:46:52 ---------------------------------------- Ciao, vedi se ti può essere utile l'esempio che ti ho allegato: l'ho estratto da un programma che ho fatto perciò deve essere sistemato, però può essere un punto di partenza. ---------------------------------------- AUTORE: 870 DATA :07/11/2005 - 13:24:58 ---------------------------------------- Ciao, grazie per la risposta. Purtroppo non riesco ad aprire il file, mi dice che è stato realizzato con la versione 7.1.1 mentre io ho la versione 6.0.1b3. Hai la possibilità di salvare il file per farlo aprire dal mio programma? ciao ---------------------------------------- AUTORE: 487 DATA :07/11/2005 - 13:29:12 ---------------------------------------- Mi dispiace ma non ho la possibilità di salvarlo nella tua versione di LabVIEW, tuttavia sono sicuro che qualche membro del forum lo farà al mio posto. Ciao ---------------------------------------- AUTORE: 278 DATA :07/11/2005 - 18:14:26 ---------------------------------------- Eccolo.... Non ho potuto provarlo, non garantisco il risultato... ---------------------------------------- AUTORE: 838 DATA :08/11/2005 - 10:47:49 ---------------------------------------- usa string to byte array e byte array to string le trovi nelle conversioni delle stringhe ---------------------------------------- AUTORE: 870 DATA :09/11/2005 - 15:36:46 ---------------------------------------- [quote="minzuk":ka7hu2jc]usa string to byte array e byte array to string le trovi nelle conversioni delle stringhe[/quote:ka7hu2jc] Ciao, grazie per la risposta. Mi rimane comunque un problema nell'usare byte array to String. Il valore compreso fra 0 e 255 io l'ho generato creando 8 pulsanti che ho collegato ad un Build Array. L'uscita del Build Array ad un Boolean Array to Number. Se nell'uscita di questo creo un indicator ottengo valori compresi fra 0 e 255 dati dalla combinazione degli otto pulsanti. Ora il mio problema sta nell'adattare l'uscita di questo Boolean Array To Number all'ingresso del Byte array to String.... I due segnali sono incompatibili....non riesco a collegarli...cosa devo interporre? ciao ---------------------------------------- AUTORE: 113 DATA :09/11/2005 - 16:13:17 ---------------------------------------- All'uscita del Boolean Array to Number aggiungi un Build Array con un solo ingresso, quindi collegane l'uscita a Byte Array to String. Ciao omonimo ---------------------------------------- AUTORE: 870 DATA :09/11/2005 - 18:06:03 ---------------------------------------- Grande!!! Grazie mille! Alberto ---------------------------------------- ================================================================================ macchina a stati ================================================================================ AUTORE: 822 DATA :06/11/2005 - 18:24:08 ---------------------------------------- ciao a tutti, esiste un esempio di macchina a stati di pubblico dominio, che possa essere riutilizzato e modificato a piacimento? ---------------------------------------- AUTORE: 247 DATA :07/11/2005 - 09:42:50 ---------------------------------------- Ciao, trovi un esempio di macchina a stati direttamente nei Vi template che LV ti mette a disposizione, scegli: menu File->New..->VI From Template->Frameworks->Design Patterns->Standard State Machine. BYE. ---------------------------------------- AUTORE: 822 DATA :09/11/2005 - 10:31:31 ---------------------------------------- Io utilizzo labview 7.0 base edition, e in questa versione l'esempio da te indicato non c'è. Non è che per caso potresti gentilmente postarmelo in qualche modo? Dovrebbe essere sotto ...\National Instruments\LabVIEW 7.0\templates\Frameworks ---------------------------------------- AUTORE: 247 DATA :09/11/2005 - 18:34:41 ---------------------------------------- Ciao, ho fatto una sorta di template sulla base di quello NI. BYE. ---------------------------------------- ================================================================================ I/O digitale con scheda PCI 6509, come fare? ================================================================================ AUTORE: 873 DATA :07/11/2005 - 11:01:36 ---------------------------------------- Salve a tutti, sono alle prime armi e ho una scheda NI 6509, una semplice scheda PCI con 96 in/out digitali.Ho installato NI daq 7 e labview 8 versione trial.La scheda viene vista dal NI daq7 e i test sui singoli pin sono positivi. Vorrei creare una piccola VI che pemetta di leggere un segnale TTL da uno di questi pin e di poter fare degli out TTL su degle altri....ma non trovo proprio help a riguardo (come strutturo lo schema?), come faccio ad avere il controllo in LB degli I/O di questa scheda?dove li devo definire? come li posso semplicemente monitorare? Mi rendo conto che sono proprio a livello base....se qualcuno riesce a farmi partire..... grazie a tutti!!! Ffogs ---------------------------------------- AUTORE: 873 DATA :10/11/2005 - 13:26:36 ---------------------------------------- Ok, i problemi che avevo eran perche' nella versione di lab 8.0 scaricata in demo, non mi funzionava i/o assistant, ora ho capito come colloquiare con la scheda, ma non sono riuscito a fare una cosa che credvo fosse molto semplice: generare un onda quadra a f variabile su un pin d'uscita....ovvero mi kiedo se non ci sia un semplice generatore di segnale T/F da poter essere aplicato al blocco d'uscita..... Ciauuuu Ffogs ---------------------------------------- ================================================================================ Call by reference node ================================================================================ AUTORE: 706 DATA :07/11/2005 - 11:09:17 ---------------------------------------- Ciao a tutti Ho provato a creare un Vi di prova che utilizzi \"Call by Reference Node\". Ho sistemato nel block diagram (Vi allego il Vi di prova) i treblocchetti fondamentali per questa prova. L'unica cosa è che una volta specificato il percorso del vi che viene richiamato, provo a collegarlo con il \"Call by reference NOde\" ma mi da errore dicendome Wire : class conflict . Perchè? cosa sbaglio? Grazie ---------------------------------------- AUTORE: 838 DATA :08/11/2005 - 10:55:04 ---------------------------------------- penso che il mio esempio ti torna utile \":D\" ---------------------------------------- AUTORE: 884 DATA :10/11/2005 - 07:52:50 ---------------------------------------- semplicemente perchè l'oggetto utilizzato si aspetta di conoscere il 'patter dei connettori'... basta che a type specifier VI Refnum (for type only) ci passi un vi che abbia il pattern cercato ti allego due file che ti danno un esempio: il main richiama untitled esistono due metodi di richiamo (nell'esempio): - 'dinamico': specifico pippo.vi e mi aspetto di aprire un vi che abbia lo stesso pattern di untitled.vi - 'statico': richiamo l'esecuzione del vi mediante una reference statica ---------------------------------------- ================================================================================ Canale 8 del FP-TC-120 ================================================================================ AUTORE: 73 DATA :07/11/2005 - 11:27:15 ---------------------------------------- Volevo semplicemente sapere se (e quindi come) si può cambiare il range di lettura della temperatura automatica del modulo (Channel \"8)\" che è poi la temperatura della stanza da Kelvin a °C Ho provato con il channel configuration ma quel canale non compare allora l'ho fatto software togliendo a ogni misura 273.15 ma sono sicuro che si può fare anche hardware con il field point explorer e mi sembra + elegante Grazie ---------------------------------------- AUTORE: 482 DATA :07/11/2005 - 13:17:12 ---------------------------------------- Non mi torna il fatto che il canale non compaia... non è che c'e' una numerazione diversa? Tipo che il nome assegnato ai canali va da 1 a 8 mentre quello harware è da 0 a 7? ---------------------------------------- AUTORE: 73 DATA :07/11/2005 - 13:24:02 ---------------------------------------- [quote="gepponline":3puqefnt]Non mi torna il fatto che il canale non compaia... non è che c'e' una numerazione diversa? Tipo che il nome assegnato ai canali va da 1 a 8 mentre quello harware è da 0 a 7?[/quote:3puqefnt] I canali nell'FP-TC 120 sono in realtà 9, 8 utilizzabili x termocoppie utente e 1 che da' la temperatura del modulo, quello che non riesco a settare è quest'ultimo..... ---------------------------------------- AUTORE: 482 DATA :07/11/2005 - 14:38:55 ---------------------------------------- ok forse ho capito. Quello di cui parli credo sia il Cold Junction terminal...è il \"canale\" che serve per compensare i riscaldamenti dello strumento. Per visualizzarlo devi cercarlo come CJ Temperature. è un canale che viene utilizzato per compensare l'errore. http://www.ni.com/pdf/manuals/323344a.pdf Guarda questo k, dovrebbe esserci tutto quello che ti serve! \":wink:\" ---------------------------------------- ================================================================================ property node: valore minimo e massimo che non funziona ================================================================================ AUTORE: 204 DATA :07/11/2005 - 16:55:42 ---------------------------------------- ciao a tutti, piccolo quesito sul VI allegato.. come faccio a impedire l'inserimento di un valori al di fuori di un intervallo prefissato. Nel VI la cosa funziona se uso le freccette per l'incremento/decremento. Se pero' inserisco il numero scrivendolo a mano, qualsiasi valore viene accettato. Grazie ---------------------------------------- AUTORE: 680 DATA :07/11/2005 - 17:24:41 ---------------------------------------- nella proprietà su \"out of range action\", devi mettere \"Coerce\" (vedi figura) ciao... ---------------------------------------- AUTORE: 204 DATA :07/11/2005 - 17:45:22 ---------------------------------------- Grazie mille! Mi era sfuggita la cosa.. ---------------------------------------- ================================================================================ Caricamento di file multipli per lettura dati ================================================================================ AUTORE: 844 DATA :08/11/2005 - 08:43:01 ---------------------------------------- Salve ho bisogno di leggere e plottare delle forze curva distanza prese da file differenti e necessito di plottarle tutte sullo stesso grafico ... per ora il \"codice \" legge un file per volta oppure inserendo il blocchetto path in un array posso caricarne più di uno ma leggerne uno per volta... volevo sapere se è possibile e come posso fare per caricare diciamo il \"path\" in listbox se qualcuno ha già avuto esperienza con questo tipo di problema come ha risolto ... in rete nn ho trovato un granchè che possa aiutarmi ... Grazie mille ---------------------------------------- ================================================================================ Massima dimansione di un array ================================================================================ AUTORE: 295 DATA :08/11/2005 - 12:59:09 ---------------------------------------- Ciao, sto acquisendo dati con una 6224 a 10000sample/sec. Il test dovrebbe durare 1 ora. Il condizionale è d'obbligo in quanto visto la mole di dati mi dice che non c'è memoria a sufficienza. Quanto è questa memoria? Cioè qual'è la dimensione max di un vettore o una matrice? C'è modo di modificarla? Come faccio a gestire e fare operazioni su quantità di dati così grandi? Grazie per il vostro aiuto. ---------------------------------------- AUTORE: 838 DATA :08/11/2005 - 14:03:46 ---------------------------------------- il limite non lo so, non mi è mai successo appoggiati ad un file o ad un database, così avrai anche una buona storicizzazione dei dati poi lo leggi e lo elabori senza problemi di memoria \":D\" ---------------------------------------- AUTORE: 295 DATA :08/11/2005 - 16:25:12 ---------------------------------------- Ok, avevo già pensato ad appoggiarmi a dei file, ma non è la soluzione che cercavo. Vorrei capire se esiste un limite massimo di elementi di un array o matrice e se esiste un limite massimo di elementi visualizzabili in un \"graph\". Variando il numero di cicli del banale vi (allegato) su PC diversi ho ottenuto risultati diversi. Qualcuno sa spiegarmi come Labview gestisce la memoria? Grazie. ---------------------------------------- AUTORE: 278 DATA :08/11/2005 - 17:48:59 ---------------------------------------- Ciao, [quote:1y4z2p4k]Vorrei capire se esiste un limite massimo di elementi di un array o matrice e se esiste un limite massimo di elementi visualizzabili in un \"graph\". [/quote:1y4z2p4k] Par quanto riguarda l'array non ne ho idea, teoricamente la dimensione dell'array è \"infinita\", in pratica...... \":?:\" \":?:\" \":?:\" Il numero massino di elementi visualizzabili sul display dipende dai pixel della risoluzione del tuo monitor, se hai una risoluzione di 640x480 pui visualizzare 640 punti (ammesso che il tuo display occupi la dimensione massima del monitor) in orizzontale ed in verticale 480. In realtà la tua applicazione può generare un numero \"infinito\" di punti, ma quelli effettuamente visibili sullo schermo dipendono dalla risoluzione del tuo monitor + che dalla scheda grafica. Semplice no? \":wink:\" ---------------------------------------- AUTORE: 884 DATA :10/11/2005 - 07:45:35 ---------------------------------------- ... bè direi che, visto che l'indicizzazione richiede I32 (per dimensione), la dimensione massima di un array (teorica) è di circa 2 miliardi di elementi per dimensione. (una matrice quadrata avrebbe 2 mld^2) ma non credo che un SO disponga di tutta questa memoria ---------------------------------------- ================================================================================ DSC save tags always ================================================================================ AUTORE: 875 DATA :08/11/2005 - 14:21:31 ---------------------------------------- Ciao, ho un problema con la configurazione del db del DSC. In particolare vedo (tramite il monitor) il valore corretto delle variabili (sia analogiche che digitali), ma solo alcune vengono \"loggate\" mentre altre no. Penso, che forse sia necessario cambiare il settaggio dei tag e dare un \"always\" in qualche modo ai tag che non vengono registrati. Ho provato anche a settare la deadband a zero, ma comunque non funziona. Grazie anticipatamente per la collaborazione Mauro. ---------------------------------------- AUTORE: 838 DATA :08/11/2005 - 16:00:04 ---------------------------------------- loggate in che senso? io per abilitare la registrazione nello storico abilito tutto, sia log data che log/print events. è importatnte che siano abilitati entrambi forse è quello che hai di diverso ciao \":D\" ---------------------------------------- AUTORE: 875 DATA :08/11/2005 - 16:05:58 ---------------------------------------- Ciao Minzuk, Loggate nel senso che ho \"fatto il tick\" sia su \"Log/Print Events\" che sia su \"Log Data\" con Log DeadBand range = 0 e Log resolution = 0,01 ...con questo settaggio non loggo \":cry:\" Mauro. ---------------------------------------- ================================================================================ graph: visualizzare una grandezza che varia nel tempo ================================================================================ AUTORE: 204 DATA :09/11/2005 - 12:06:35 ---------------------------------------- ciao a tutti, credo sia una cosa banale ma in questo momento non riesco a risolvere il mio piccolo problema. Nel VI allegato vorrei visualizzare su un grafico l'andamento del valore che esce dal controllo slide. L'idea e' quella di \"plottare\" l'uscita di un sensore di posizione (rappresentato dalla controllo \"slide\"), per vedere se la misura \"salta\" qualche punto oppure ha un andamento continuo. Come posso fare? Grazie del supporto ---------------------------------------- AUTORE: 201 DATA :09/11/2005 - 12:35:00 ---------------------------------------- Perchè non usi il waveform graph? ---------------------------------------- AUTORE: 201 DATA :09/11/2005 - 13:07:53 ---------------------------------------- Se proprio ti interessava usare l'xy graph guarda questa vi. ---------------------------------------- AUTORE: 204 DATA :10/11/2005 - 09:07:07 ---------------------------------------- ciao, grazie delle risposte. Non sono abbligato a usare l'XY graph. Adesso mi guardo il tuo esempio e ti faccio sapere \":-)\". Provo a usare il waform graph grazie ancora ---------------------------------------- ================================================================================ Errore nella comunicazione TCP ================================================================================ AUTORE: 878 DATA :09/11/2005 - 14:33:30 ---------------------------------------- Ciao a tutti! Vorrei chiedere un consiglio riguardo ad un errore che trovo durante la comunicazione tra due computer con LabView, tramite i vi DataClient e DataServer. Con ordine (spero): il mio programma riceve dati da uno strumento tramite RS-232 e da un altro computer (appunto tramite il vi DataClient). Ad un certo misterioso punto sia il client che il server danno un errore e la comunicazione si blocca. Sul server appare errore 62: sul sito della NI mi spiegano che questo errore e` dovuto al fatto che potrei aver chiuso prima il client del server, cosa che non ho fatto. Un'altra possibilita` che mi da` LabView e` che ci sia stata un serial port overrun error \":?\" io non penso di usare porte seriali se non con il RS-232 che pero` e` collegato al client. Questo errore e` orribilmente (per me) casuale, a volte non avviene per nulla e quando avviene causa la perdita di molti dati se non me ne accorgo. Sul client appare errore 56, che se ho capito bene significa che il client non ha ricevuto nessun dato da parte del server per un tempo maggiore di quello che e` programmato. L'idea che mi sono fatta e` che nella comunicazione tra i due computer un dato si blocchi causando l'overrun e che quindi il server non possa mandare altri dati e il client non ne riceva. Tuttavia non essendo molto esperta non saprei spiegarmelo meglio e nemmeno trovare una soluzione. Quello che vorrei sapere e` se ho sbagliato io qualcosa e cosa posso fare per evitare questo errore. Se non sono stata abbastanza chiara, il che e` molto probabile \":oops:\" , scusate! grazie mille, ale ---------------------------------------- AUTORE: 645 DATA :09/11/2005 - 15:42:22 ---------------------------------------- Ciao, puoi mandare un'immagine del tuo VI? Così con il codice sottomano forse è più facile... Un'immagine del block diagram sia del programma chiamante che del programma chiamato. ---------------------------------------- AUTORE: 878 DATA :09/11/2005 - 16:29:33 ---------------------------------------- Certo! in ps ti va bene? Se ti va bene, allora ti mando il vi che ho scritto. C'e` un subvi che e` esattamente il DataClient che da LabView 7 (non penso ti serva anche quell'immagine, in caso dimmi). E ti mando anche il DataServer che pero` ho modificato. Se non ti va bene in questo formato, cosa posso mandarti? Magari il vi? Ciao, ale ---------------------------------------- AUTORE: 645 DATA :09/11/2005 - 16:43:03 ---------------------------------------- Mi sembra che ci siano tante cose; forse è meglio l'intero VI... ---------------------------------------- AUTORE: 878 DATA :09/11/2005 - 17:06:27 ---------------------------------------- Okkei, proviamo cosi`... \":roll:\" Spero di aver fatto giusto! ale ---------------------------------------- AUTORE: 645 DATA :11/11/2005 - 16:13:21 ---------------------------------------- Guardando il programma ORPXread la prima cosa che si potrebbe modificare è la gestione della connessione con la porta seriale: anzichè inizializzare e terminare la comunicazione con la porta seriale all'interno del ciclo farlo all'esterno. Prova a mettere il blocco di inizializzazione della seriale prima del ciclo \"while\" e il blocco di chiusura dopo il ciclo stesso. Di per sè una volta aperta la comunicazione con la porta seriale è possibile inviare e ricevere dati fino a quando non viene inserito il blocco \"Close VISA\". Un'altra prova che si potrebbe fare è la seguente: togliere la parte di comunicazione con la porta seriale e leggere i dati solo dal \"Data server\"; poi togliere la parte di comunicazione con il \"data server\" e leggere i dati solo dalla seriale. Nel caso qualcosa non funziona sai subito chi dei due causa il problema. Non è molto ma potrebbe essere un inizio... ---------------------------------------- AUTORE: 878 DATA :17/11/2005 - 14:42:37 ---------------------------------------- Grazie infinite per la tua risposta! ho avuto un po' di ritardo nel leggerla perche` abbiamo finito di utilizzare il programma e fatto altre cose... cmq appena finisco di leggere questo interessante capitolo su \"connectivity in LabVIEW\" provo anche le prove che mi hai suggerito. Le ultime due le avevo gia` provate ma purtroppo (o per fortuna...) i due programmi da soli funzionano alla perfezione (o quasi...). Cmq il dipartimento di elettronica qui mi ha consigliato di utilizzare qualcosa tipo DataSocket che dovrebbe essere piu` stabile... vi sapro` dire. Grazie ancora! \":wink:\" ale \":D\" ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 15:56:48 ---------------------------------------- Ciao, Nei tuoi allegati mancano 3 sub-vi: - Data Client MC2.vi - IGHInitialize.vi -IGHReadTemp... La prima in particolare è molto importante per capire come gestisce il client la comunicazione Tcp/ip. In termini generali, oltre alla giusta osservazione fatta da MagicBotolo riguardo l'utilizzo della seriale, mi permetto di aggiungere che dal lato client avrei messo le due comunicazioni (seriale e TCP/ip) in due while loop paralleli (distinti). Esse sono infatti asincrone fra di loro, metterle in un unico loop potrebbe causare ritardi reciproci e quindi errori di timeout. In effetti tu hai verificato che l'utilizzo distinto di ciascuna routine di comunicazione non causa problemi. Riguardo a Datasocket il mio parere è che l'unico vero vantaggio è che è più semplice da utilizzare (poche funzioni ad alto livello), per contro è meno versatile e performante \":wink:\" ---------------------------------------- ================================================================================ tempo di campionamento variabile su seriale ================================================================================ AUTORE: 870 DATA :09/11/2005 - 19:04:51 ---------------------------------------- Ciao a tutto il forum. Sono riuscito ad creare un qualcosa che mi permette di acquisire dei dati da un'interfaccia seriale. Tutto il \"programma\" gira all'interno di un while loop e funziona bene. L'unico problema (chiamiamolo così) è che una volta che avvio l'applicazione .vi (cioè faccio Run) questa inizia ad acquisire ad una velocità pazzesca...che credo sia quella della seriale. Ora mi chiedo, se volessi che i dati vengano letti ogni 100 ms come faccio? Agire sulla velocità della seriale non mi sembra una buona idea... Bisognerebbe che l'esecuzione di tutto quello che sta dentro il while loop sia temporizzato... Ho visto un pò il wait until next...ma non capisco come si usa. Scusatemi se faccio domande banali, ma sto cercando di imparare. E a tal proposito, si trova un manuale che spiega tutte le Functions presenti in LabView? ciao ---------------------------------------- AUTORE: 278 DATA :10/11/2005 - 13:44:11 ---------------------------------------- Ciao Alberto, è molto semplice, ci sei già arrivato per \"intuizione\". Puoi utilizzare il \"wait until next ms\" (quel VI a forma di metronomo) per fare quello che desideri. Non devi fare altro che inserire questo vi nel tuo loop e mandagli in ingresso un valore (espresso in ms) che gli dice come \"temporizzare\" il tuo loop. Attenzione, un loop non \"timerizzato\" assorbe il 100% delle tue risorse di sistema, quindi temporizzare i loop è d'OBBLIGO!!!!!! ---------------------------------------- AUTORE: 870 DATA :10/11/2005 - 16:16:14 ---------------------------------------- Grazie per la risposta. E pensare che era così semplice...e io chissà a quali cosi complicate pensavo!!! \":-)\" Beh, non c'è che dire...labview è fantastico. Bella l'immagine di viuleeenza!! ciao ---------------------------------------- ================================================================================ Acquisizione temperatura CPU ed RPM ventola ================================================================================ AUTORE: 881 DATA :09/11/2005 - 20:07:17 ---------------------------------------- Innanzi tutto, ciao a tutti!!! Vorrei porvi una domanda, magari anche un po' tupida.... Ho realizzato un controllo automatico della velocità della ventola, attraverso la porta parallela, utilizzando un DAC self-made e una piccola VI sempre self-made. Ora vorrei mettere la ciliegina sulla torta, inserendo un piccolo modulo capace di leggere temperatura della CPU e velocità di rotazione della ventola. Attraverso il programmino SpeedFan 4.27 ho notato che questi dati si trovano all'indirizzo $290 del bus ISA. Come posso fare per raggiungere tale porta con Labwiew? Ho provato attraverso la funzione INPORT che uso normalmente per dialogare con la porta parallela, ma non funziona! Grazie mille in anticipo!! ---------------------------------------- ================================================================================ hart protocol ================================================================================ AUTORE: 498 DATA :11/11/2005 - 08:18:38 ---------------------------------------- ciao a tutti, devo collegare labview con un'unità periferica hart protocol per aquisizione dati, esiste della documentazione??? ---------------------------------------- AUTORE: 1130 DATA :16/06/2006 - 08:12:11 ---------------------------------------- Ciao a tutti, sono nuovo del forum ed un "quasi" nuovo utente di LabView; anche io devo interfacciarmi con misuratori di flusso che comunicano attraverso il protocollo HART; qualcuno sa indicarmi dove poter reperire documentazione/esempi di codice? Qualunque dritta è apprezzata. Grazie a tutti. Andrea ---------------------------------------- AUTORE: 645 DATA :16/06/2006 - 09:22:01 ---------------------------------------- Qui c'è una guida generale: http://www.hartcomm.org/download/appguide.pdf . Io non ho mai usato questo protocollo particolare ma mi sembra di aver capito che si agganciano le periferiche alla porta seriale del pc e per comunicare si inviano comandi in formato stringa. Giusto? Se è così con la funzioni VISA Write e VISA Read si può realizzare la comunicazione con gli strumenti periferici. ---------------------------------------- AUTORE: 1130 DATA :13/07/2006 - 08:24:52 ---------------------------------------- Ciao MagicBotolo. E' vero, basta collegare i dispositivi alla seriale e mandare i comandi in formato stringa. Sto provando a creare il mio driver. Se qualcuno ci aveva gia' lavorato avrei potuto fare come "i nani sulle spalle dei giganti"! Grazie per il link! ---------------------------------------- ================================================================================ Un grosso ringraziamento a tutti! ================================================================================ AUTORE: 204 DATA :11/11/2005 - 09:03:47 ---------------------------------------- ciao a tutti, volevo solo ringraziare tutto il forum e in particolare quelli che mi hanno aiutato nello sviluppo della mia prima applicazione LV. Senza l'aiuto di questo forum non sarei riuscito a finire il mio lavoro in tempi brevi e soprattutto in maniera professionale \":-)\" Non sperate pero' di esservi liberati di me \":-)\", probabilmente dovro' ancora fare modifiche e aggiornamenti vari e quindi mi risentirete presto. Soprattutto, vista l'esperienza positiva, credo ci saranno ancora altre applicazioni da sviluppare in futuro. Un saluto e un enorme grazie a tutti \":-)\" Fabrizio (questo e' il mio vero nome..) ---------------------------------------- AUTORE: 201 DATA :11/11/2005 - 10:15:45 ---------------------------------------- Credo che tutto il forum è ben lieto di aiutare chi chiede aiuto \":D\" ciao! \":wink:\" ---------------------------------------- ================================================================================ Opzioni file eseguibile ================================================================================ AUTORE: 706 DATA :11/11/2005 - 09:59:40 ---------------------------------------- Ciao a tutti La mia domanda riguarda la realizzazione dei file eseguibili: E' possibile realizzare un eseguibile che si metta in \"RUN\" premendo ad esempio un bottone booleano del front panel o per eseguirlo necessito di premere la freccia bianca del front panel? Spero di essermi spiegato. Grazie Ciao ---------------------------------------- AUTORE: 201 DATA :11/11/2005 - 10:19:40 ---------------------------------------- Avviare un'eseguibile dal front panel dello stesso eseguibile è impossibile, come farebbe a \"sentire\" che hai premuto il pulsante se la vi non è in esecuzione? \":)\" Potresti xò aggirare il problema facendo partire una finta Vi che poi faccia eseguire quel determinato eseguibile premendo appunto il tuo pulsante. Ma aspetta per eseguibile intendi un .exe? Se si quelli si autoeseguono quando li avvii, se sono inseriti in un ciclo. Se invece per eseguibile intendi una vi vale quanto detto sopra. ciao ---------------------------------------- ================================================================================ led lampeggiante ================================================================================ AUTORE: 870 DATA :12/11/2005 - 16:23:42 ---------------------------------------- Ciao, si può creare un led lampeggiante in labview? ---------------------------------------- AUTORE: 680 DATA :12/11/2005 - 18:03:55 ---------------------------------------- certo... ecco il vi....... ciao.... ---------------------------------------- AUTORE: 870 DATA :12/11/2005 - 20:04:12 ---------------------------------------- Grazie, e pensare che ci ero quasi arrivato. Solo che il controllo boolean per i led lo mettevo dentro il loop... ciao ---------------------------------------- AUTORE: 129 DATA :13/11/2005 - 10:29:04 ---------------------------------------- io ti propongo due alternative, una in linea con la proposta di linux120 ma indipendente, e l'altra sfruttando le property. Nella libreria trovi anche i due esempi in un loop da temporizzare a piacimento. Ciao ---------------------------------------- AUTORE: 1023 DATA :03/01/2006 - 12:19:27 ---------------------------------------- grazie \":lol:\" ---------------------------------------- ================================================================================ Scaricare un file ================================================================================ AUTORE: 201 DATA :13/11/2005 - 15:30:22 ---------------------------------------- Ragazzi c'è un modo per scaricare da internet un file tramite labview e salvarlo in un array? ---------------------------------------- ================================================================================ DaqMX ================================================================================ AUTORE: 179 DATA :14/11/2005 - 08:16:34 ---------------------------------------- Ciao a tutti. Qualcuno sa dirmi se è possibile installare più versioni differenti di DaqMx sullo stesso PC? Grazie. ---------------------------------------- AUTORE: 113 DATA :16/11/2005 - 10:19:24 ---------------------------------------- Non credo sia possibile \":(\" Puoi comunque spiegare il motivo di questa necessità? ---------------------------------------- AUTORE: 179 DATA :17/11/2005 - 07:30:41 ---------------------------------------- Ho installato LabView8 e assieme a questo anche il nuovo DaqMx. Poi ho dovuto fare una modifica su una macchina con installata un'applicazione realizzata con LabView7.1. Ho fatto il mio lavoro ma in fase di compilazione mi venivano segnalati degli errori nella parte relativa alla scheda di acquisizione. Dopo diversi tentativi ho dovuto disinstallare il DaqMx8 e reinstallare la vecchia versione per poter compilare correttamente il progetto. ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 08:53:17 ---------------------------------------- Questo è interessante! Anch'io come te lavoro con differenti versioni di LV installate contemporaneamente sulla stessa macchina, ed ho affrontato mio malgrado gli stessi problemi \":(\" Il metodo che ho notato dare meno problemi è installare ogni versione in cartelle ben distinte, es: LV6, LV6.1 ecc Perlomeno si cerca di evitare che componenti della versione recente vadano ad aggiornare le precedenti. Il problema resta per NI-DAQ che è unico, nel senso che condivide i suoi componenti con tutte le versioni di LV installate. Come te ho recentemente installato LV8 e quindi aggiornato a NI-DAQ8, per il momento non ho avuto problemi di compatibilità con applicazioni precedenti. Ma è troppo presto per dirlo, tu mi hai messo la pulce nell'orecchio, voglio quindi fare qualche prova più concreta a breve! Senza voler abusare della tua disponibilità, potresti a grandi linee descrivere quali funzioni DAQ-Mx utilizza la tua applicazione? Ed eventualmente l'HW utilizzato. Hai provato a creare l'exe direttamente con LV8? Ciao, Alberto ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 08:55:08 ---------------------------------------- Dimenticavo... Che tipo di errori ti dava l'application builder? ---------------------------------------- AUTORE: 645 DATA :17/11/2005 - 08:57:48 ---------------------------------------- Scusate se mi intrometto... Io ho intenzione di passare a LabView 8 ma ho alcuni progetti realizzati con le librerie 7.4. Se installo LabView 8 posso continuare a lavorare con le DAQ-mx 7.4 o saltano fuori conflitti? E viceversa: se installo le DAQ-mx 8 posso continuare a usare LabView 7.1 ? Grazie! ---------------------------------------- AUTORE: 179 DATA :18/11/2005 - 09:20:28 ---------------------------------------- Sfortunatamente la mia applicazione che funziona correttamente con LabView 7.1 non funziona con LabView 8 per cui il passaggio alla nuova versione non è nel mio caso così veloce (stiamo comunque cercando di risolvere tutti gli errori). Per quanto riguarda l'uso del nuovo daqmx con la vecchia versione di LabView dovrebbe essere possibile (secondo l'assistenza NI) ed in effetti con il sistema configurato in questa maniera il problema sembrava essere solo un conflitto di versioni del Runtime engine. Infine l'hardware che utilizzo è una PCI6220 che utilizzo per acquisire dei segnali e generare dei grafici. Ciao e grazie per l'interessamento al problema. ---------------------------------------- ================================================================================ invoke node o altro?? ================================================================================ AUTORE: 683 DATA :14/11/2005 - 09:13:04 ---------------------------------------- buongiono a tutti e buon lunedì, acquisisco i dati da un ciclo wile e li sparo in uno o piu' grafici nel caso metessi il grafico in un vi separto come faccio a chiamarlo direttamente dal mannello di controllo senza passare dallo schema? bisogna mica utilizzare gli \"invoke node\"? l'invoke ha lo stesse principio property node o piu' in generale come funzionano i node? grazie ciao ---------------------------------------- AUTORE: 129 DATA :17/01/2006 - 21:19:23 ---------------------------------------- Si mi sa proprio che devi utilizzare questa tecnica. Gli invoke node sono le azioni come RUN, Get Control value ecc. I property node sono invece le propietà, quindi colori, dimensioni ecc. In generale dalla palette application control, prelevi il VI openVireference, con cui apri un riferiemnto al VI che vuoi controllare. Ora tasto destro sul terminale di uscita ref, e create proerty o method, osserva la lista e seleziona ciò che ti serve. All'uscita del nodo, devi connettere il VI closeref, o ripetere le operazioni sopra per aprire un altro riferimento. ---------------------------------------- AUTORE: 683 DATA :17/01/2006 - 21:35:07 ---------------------------------------- grazie per la risposta e i chiarimenti ---------------------------------------- ================================================================================ trigger ================================================================================ AUTORE: 893 DATA :14/11/2005 - 10:43:33 ---------------------------------------- Ciao a tutti, ho un problema nel triggerare un segnale acquisito. Acquisisco due segnali mediante Traditional DAQ, quindi vorrei utilizzare come trigger uno dei due segnali acquisiti per poter triggerare appunto l'altro segnale, ho provato con i vi \"Acquire N Scan Analog Software Trig.vi\" e \"Acquire N Scan Analog Hardware Trig.vi\" ma senza risultati, mi da errore nel blocco \"AI Read.vi\" all'interno dei suddetti vi. Avete qualche suggerimento? Grazie ---------------------------------------- ================================================================================ Menù Run-Time ================================================================================ AUTORE: 812 DATA :14/11/2005 - 13:46:18 ---------------------------------------- \":oops:\" Ciao a tutti, avrei un piccolo problema. Vorrei richiamare un sub_VI da un menù Run-Time ma non saprei proprio come fare. Grazie ---------------------------------------- AUTORE: 113 DATA :16/11/2005 - 10:25:56 ---------------------------------------- Guarda l'esempio di LV: Menu Selection Demo.vi che trovi in: \EXAMPLES\GENERAL\MENUBARS.LLB Ti mostra esattamente quello che chiedi. ---------------------------------------- ================================================================================ giudizio interfaccia fatemi sapere le vostre impressioni ================================================================================ AUTORE: 683 DATA :14/11/2005 - 14:30:26 ---------------------------------------- salve a tutti, sto sviluppando unterfaccia e un sistema di controllo per un macchinnario strano (la mia ditta sta portando avanto un progetto di ricerca) ho bisogno di un parere sull'interfaccia Importane è avere dati e controllo sotto mano senza confuzione e facili da scorrere anche per chi di LV non è tanto ferranto (già non lo sono io \":roll:\" ) nel file che vi allego c'è solo l'interfaccia ho bisogno di un parere sulla funzionalita e se ho fatto bene ad usare i TAB invece che far aprire VI da tutte le parti visto che per ora il sistema dovra essere comandato da un portatile e quindi con un monitor relativamente piccolo!!! Qualsiasi consiglio e ben accetto Fatemi sapere Grazie a tutti ---------------------------------------- AUTORE: 4 DATA :14/11/2005 - 14:46:00 ---------------------------------------- lavori con le celle combustibili vero? Direi che i tab vnno benissimo sono facili da utilizzare e da memorizzare e se utilizazti bene, cioè dividendo l'interfaccia nelle varie pagine in maniera logica, sono molto comodi per l'utilizzatore. Forse c'è un pò di confusione tra controlli e indicatori slide, a volte hanno il corsore a volte no o hanno colori diversi oppure mostrano o meno il digital display io ti consiglio di uniformarli il più possibile in modo che risultino distinguibili a prima vista. Come consiglio posso dirti che di solito uso gli sfondi dei campi controllo (stringhe numeri ecc) colorati di giallo mentre lascio bianchi o grigi gli indicatori. Ciao, ---------------------------------------- AUTORE: 683 DATA :14/11/2005 - 15:00:58 ---------------------------------------- grazie mille dei consigli certo questa è solo una bozza di un'idea che mi è balenata in testa dopo che facendo una prova di simulazione facevo fatica fin io che ho scritto il programma a girare tra i vi aperti \":o\" !!! certo cercherò di uniformare tutto e fare un'interfaccia piu \"standard\" possibile Per quel che riguarda l'occupazione di memoria , il sistema deve controllare cicli lunghi giorni quindi credo che 1 Vi aperto occupa neno memoria di 4 o 5 giusto??? ---------------------------------------- ================================================================================ Separatore migliaia ================================================================================ AUTORE: 748 DATA :14/11/2005 - 23:32:11 ---------------------------------------- Ciao a tutti, magari la soluzione è banale... ma io non l'ho trovata. C'e' un modo per formattare un controllo (o indicatore) numerico con un punto che separa le migliaia ?? Tanto per intenderci: 1.000.000,00 al posto di 1000000,00 Grazie ---------------------------------------- AUTORE: 596 DATA :15/11/2005 - 13:53:20 ---------------------------------------- A prima vista non mi sembra ci sia una soluzione facile.... di certo potrai farlo con Labview 8 e gli XControl. Ciao. NB: Puoi sempre utilizzare un controllo/indicatore Stringa in cui scrivi il numero opportunamente formattato. ---------------------------------------- AUTORE: 645 DATA :16/11/2005 - 15:02:51 ---------------------------------------- Mi viene in mente una cosa: prendi il numero senza punto, lo trasformi in stringa, aggiungi un punto dopo il numero giusto di caratteri e presenti all'utente il risultato. Da notare che l'utente vede un numero che in realtà è una stringa ma tu hai sempre sottomano il valore numerico senza punto che puoi usare per calcoli vari. ---------------------------------------- AUTORE: 748 DATA :17/11/2005 - 09:43:56 ---------------------------------------- Avevo pensato pure io al \"trucco\" della stringa .. il problema è che essendo un controllo (numero inserito da utente) non ho idea di tutte le stupidaggini che un utente possa scriverci dentro e come il sistema reagisca di conseguenza. Potrei controllare che siano presenti solo numeri e punti... ma se poi uno mi scrive \" 0..3.....2 \" ?? Il problema è che il separatore delle migliaia ha fini puramente estetici e visivi... e non vorrei che per migliorare una cosa alla fine rischio di inserire valori inaccettabili ---------------------------------------- ================================================================================ Problema con un Report ================================================================================ AUTORE: 368 DATA :15/11/2005 - 10:41:42 ---------------------------------------- Salve a tutti, avrei un problemino semplice semplice da risolvere, ma che mi sta mettendo in dificoltà: ho diversi file txt che vorrei organizzare in un unico txt in modo orizzontale, cioè la prima riga di ogni file txt deve essere sulla prima riga del txt che voglio realizzare. Avevo appunto pensato di leggere tutte le prme righe, scriverle su file e poi passere alle righe successive, ma non ho trovato un VI che fanno a caso mio. Qualcuno può aiutarmi?!? Ciao e grazie ---------------------------------------- AUTORE: 680 DATA :15/11/2005 - 13:43:47 ---------------------------------------- prova a vedere se così ti va bene......... se non capisci come ho fatto, chiedi pure........... ciao.... p.s: quando esegui il vi ti mostra una finestra per aprire un file... devi aprire un qualsiasi file txt delle cartella dove sono contenuti i tutti i file txt da unire..... ciao!! \":wink:\" ---------------------------------------- AUTORE: 680 DATA :15/11/2005 - 13:57:31 ---------------------------------------- scusa ho sbagliato... avevo letto male..... ho messo apposto..... adesso appena esegui il file ti chiede il solito percorso e subito dopo ti chiede dove salvare il file unito se salvi il file in formato xls è già formattato anche per excel ciao..... ---------------------------------------- AUTORE: 680 DATA :15/11/2005 - 13:58:14 ---------------------------------------- scusa l'allegato....... ---------------------------------------- AUTORE: 368 DATA :15/11/2005 - 15:44:50 ---------------------------------------- Grazie mille, mi hai sorperso per volocità ed efficienza \":D\" !!! Il VI funziona alla grande, ma sarebbe fantastico se potessi inserire io le patch dei file che voglio unire, invece di prenderli da una cartella \":o\" . Cmq risolverò.... sono sicuro che partendo dal tuo VI non devo fare molta strada. Di nuovo grazie. Ciao ---------------------------------------- ================================================================================ forzare il valore di default di un controllo ================================================================================ AUTORE: 204 DATA :15/11/2005 - 14:32:18 ---------------------------------------- ciao a tutti, eccomi di nuovo \":-)\" ho una domandina sul vi allegato.. E' possibile forza il valore di default senza usare tasto destro data operations->Make current value default? in questo modo potrei salvare l'ultimo valore che ho inserito nel controllo e me lo ritroverei a un nuovo avvio dell'interfaccia. Mi sembra che non si possano usare i properties node.. Qualcuno mi puo' aiutare? Grazie ---------------------------------------- AUTORE: 838 DATA :15/11/2005 - 16:56:04 ---------------------------------------- non con i propety ma con gli invoke e methods vedi il tuo esempio modificato ---------------------------------------- AUTORE: 838 DATA :15/11/2005 - 16:58:41 ---------------------------------------- scusa ma ho capito male avevo capito di reimpostare i valori a quelli di default e non salvare i valori attuali in quelli di default penso che quello che vuoi tu non sia possibile ho chiamato labview tempo fa (Ambu) e mi ha detto che non è possibile farlo (versione 7.1) se fosse possibile sarebbe utilissimo!!! \":D\" ---------------------------------------- AUTORE: 113 DATA :15/11/2005 - 17:46:26 ---------------------------------------- Non è esattamente vero che non si può fare... Dai un'occhiata a questo documento: http://digital.ni.com/public.nsf/websea ... enDocument E' vero, si utilizza un trucco, però funziona! \":wink:\" ---------------------------------------- AUTORE: 838 DATA :16/11/2005 - 07:44:40 ---------------------------------------- e pensare che mi hanno detto che non è possibile (e ho dovuto crearmi dei file per appoggiarei valori mannaggia!!!!) adesso scarico l'esempio e poi gli do un'occhiata grazie \":D\" ---------------------------------------- AUTORE: 838 DATA :16/11/2005 - 07:52:38 ---------------------------------------- ma che giro dell'oca!!!!! non è per niente facile da capire e sicuramente non ci sarei mai arrivato da solo magari si riesce a semplificare un pò ciao \":D\" ---------------------------------------- AUTORE: 113 DATA :16/11/2005 - 10:17:02 ---------------------------------------- Il problema è che non è possibile utilizzare l'invoke node Make Current Values Default quando la vi è run mode, si può invece fare quando è in edit mode. In pratica posso cambiare i valori di default chiamando dinamicamente tramite vi-server una vi senza che non venga mandata in esecuzione da un'altra vi di appoggio. Nell'esempio è quello che viene fatto da Saver.vi Il problema, a mio parere, è che il metodo salva i valori di default di tutti gli oggetti del pannello, controlli e indicatori. Per una gestione molto più versatile, ad esempio salvare solo il valore di uno specifico controllo, ci si deve appoggiare a file di configurazione esterni. Esistono vari metodi, ad esempio files .INI Consiglio però vivamente di dare un occhio, ed anche di più \":wink:\" , al link segnalato da Riccardo in questo thread: viewtopic.php?p=3813&highlight=#3813 Alberto ---------------------------------------- AUTORE: 838 DATA :16/11/2005 - 10:38:26 ---------------------------------------- grazie dei link, molto interessanti \":D\" ---------------------------------------- AUTORE: 204 DATA :17/11/2005 - 08:31:41 ---------------------------------------- Grazie a tutti! non credevo fosse cosi' complicata la cosa.. \":o\" ---------------------------------------- AUTORE: 645 DATA :17/11/2005 - 08:54:34 ---------------------------------------- So che è un po' seccante ma forse l'idea di premere \"Operate - Make current values default\" rimane la soluzione migliore... Non si può accedere al menù \"Operate\" via codice? Qualcosa tipo ActiveX sulle librerie di LabView? Non so, forse è la colazione pesante che mi fa venire queste idee... ---------------------------------------- AUTORE: 482 DATA :17/11/2005 - 08:56:07 ---------------------------------------- ..mmhh... nella versione 8 c'e' la possibilità di editare l'operate menu per ogni singolo controllo..probabilmente ci sarà anche il controllo del Default value a disposizione! \":wink:\" ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 09:02:16 ---------------------------------------- Ti do uno spunto.... Puoi simulare via SW dei click del mouse sulle voci di menu \":wink:\" Anch'io colazione pesante stamattina... \":lol:\" Ma ricordati! Lo puoi fare solo quando la vi non è in esecuzione (in edit mode), quindi da una vi secondaria! Allora tanto vale usare il metodo descritto nel link del mio primo post! \"8)\" ---------------------------------------- AUTORE: 645 DATA :17/11/2005 - 09:02:58 ---------------------------------------- Ma secondo voi non c'è la possibilità di richiamare una dll installata nel pc durante l'installazione di LabView (non so se effettivamente ce ne sia una che comanda i menù, butto lì l'idea) per giocare con le opzioni dei menù? In linea teorica potrebbe funzionare... Se riesco cerco qualcosa... ---------------------------------------- ================================================================================ Conversione floating point a sua rappresentazione binaria ================================================================================ AUTORE: 901 DATA :15/11/2005 - 15:09:40 ---------------------------------------- Salve ragazzi... \"8)\" Sono un nuovo utente e ho un problema...devo preparare la tesi di laurea con LabView ma non so fare praticamente niente. Il primo obiettivo è trasformare fare operazioni sui numeri in virgola mobile. Il problema è che vorrei visualizzare i numeri floating point come array di booleani secondo la rappresentazione standard IEEE754 (segno, esponente e mantissa). Non mi risulta che ci sia una funzione in LabView che faccia ciò. Se qualcuno sa come fare, lo ringrazio in anticipo!!!!!!! ---------------------------------------- AUTORE: 891 DATA :16/11/2005 - 07:53:31 ---------------------------------------- ciao Nicopasso \":P\" anch'io sono nuovo del forum e non so per quale ragione ho avuto anch'io lo stesso problema un po' di tempo fa, non sono stato in grado di risolverlo, e adesso che tu chiedi come fare anch'io vorrei sapere la risposta...possibile che Labview non permetta di farlo? \":evil:\" ---------------------------------------- AUTORE: 901 DATA :16/11/2005 - 08:28:15 ---------------------------------------- Ciao grasso...mi fa piacere trovare qualcuno che ha il mio stesso problema...però qui nel forum nessuno risponde...boh...forse non sanno proprio come si fa o forse non si può proprio fare...[b:2e27l1lv]HELP!!!!!!!!!!![/b:2e27l1lv] \":?\" ---------------------------------------- AUTORE: 278 DATA :16/11/2005 - 09:03:04 ---------------------------------------- Ciao Ragazzi, onestamente, non sapendo a cosa si riferisse lo standard IEEE754 sono andato a documentarmi, spero di aver capito correttamente. Se non vado errando, voi cercate di rappresentare un numero in questo formato: es 340,00E+22 Se è questo quello che cercate dovete cliccare con il tasto destro sul controllo/indicatore e selezionare \"format & precision\". Si aprirà un menù dove è possibile selezionare \"scientific notation\" oppure \"Engineering Notation\". ---------------------------------------- AUTORE: 724 DATA :16/11/2005 - 10:07:46 ---------------------------------------- Tempo fa sul sito national ho trovato questa soluzione allegata. ---------------------------------------- AUTORE: 901 DATA :16/11/2005 - 17:18:30 ---------------------------------------- GRAZIE ghianda!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Penso che sia proprio quello che mi serve!!!!!!!! Purtroppo è solo una piccola parte del mega-progetto con LAbView però almeno posso andare avanti... Ancora GRAZIE MILLE!!!!!!!!!!!!!! ---------------------------------------- AUTORE: 891 DATA :16/11/2005 - 19:03:05 ---------------------------------------- Grazie 1000! \":D\" Farò tesoro dell'aiuto che mi avete dato! Ciao a presto! \":wink:\" ---------------------------------------- ================================================================================ Misura del periodo di un segnale ================================================================================ AUTORE: 624 DATA :15/11/2005 - 15:12:28 ---------------------------------------- Cari amici di ILVG, sono Andrea e volevo un consiglio da voi. Voglio realizzare uno strumento virtuale per la misura del periodo di un segnale. Quale metodo mi suggerite escludendo il metodo dello zero-crossing, il quale darebbe luogo a una minore accuratezza? Aspetto i vostri suggerimenti. Saluti, Andrea \":)\" ---------------------------------------- ================================================================================ Poperty Node ================================================================================ AUTORE: 847 DATA :15/11/2005 - 20:42:37 ---------------------------------------- Ciao io ho realizzato un sistema che acquisisce 8 segnali e li visualizza in un waveform chart. Ora volevo aggiungere la possibilità bloccare la visualizzzazione di alcuni canali.Ho provato con il property node ma non ho capito bene come fare, mi disattiva sempre soltanto il primo canale. Qualcuno puo darmi un mano? E' possibile definire anche altre proprietà della visualizzazione per es cambiare il fondoscala mentre il VI è in running? o aggiungere dei cursori al grafico? Grazie Ciao \":?\" ---------------------------------------- AUTORE: 201 DATA :15/11/2005 - 21:16:29 ---------------------------------------- Ciao, prima devi selezionare il plot che vuoi rendere invisibile, per farlo basta che dai property node scegli Active Plot. ciao ---------------------------------------- AUTORE: 847 DATA :16/11/2005 - 20:32:40 ---------------------------------------- Per ora grazie, poi provo.. ---------------------------------------- AUTORE: 645 DATA :17/11/2005 - 08:59:50 ---------------------------------------- Così a grandi linee dovrebbe essere possibile modificare praticamente tutto il grafico! Mi è capitato di lavorare con le proprietà dei grafici e si possono modificare un sacco di voci. Io però ho provato solo con i grafici XY ma credo che le stesse cose valgano anche per gli altri grafici. ---------------------------------------- AUTORE: 847 DATA :17/11/2005 - 13:04:10 ---------------------------------------- Ciao ok per disattivare la visualizzazione della traccia è ok ho usato actplot e plot disable e funziona. Ma per mettere un nome alla traccia ho usato sempre actplot e plotname ma non lo visualizza qualcuno sa il motivo? Grazie ancora. Ciao ---------------------------------------- ================================================================================ application builder ================================================================================ AUTORE: 838 DATA :16/11/2005 - 07:55:04 ---------------------------------------- non riesco a mettere la mia icona al posto di quella di labview nell'eseguibile mi da un'errore nel leggere l'icona e si che ho provato a farla in tutti i modi (.ICO) voi ce la fate? esiste qualche trucco? grazie \":)\" ---------------------------------------- AUTORE: 278 DATA :16/11/2005 - 08:46:01 ---------------------------------------- Ciao, per aggiungere un'cona custom all'eseguibile devi andare nell'App. Builder e selezionre ll tab con scritto \"Application Settings\". A questo punto spunti la voce \"custom icon\" e scegli l'icona da utilizzare. ---------------------------------------- AUTORE: 838 DATA :16/11/2005 - 09:15:58 ---------------------------------------- fin qui cero arrivato da solo \":D\" è proprio li che mi da l'errore nel caricare l'icona \":evil:\" ---------------------------------------- AUTORE: 278 DATA :16/11/2005 - 09:19:58 ---------------------------------------- Beh, allora non c'e' molto da fare. Probalilmente la tua icona ha qualcosa che a LV non \"piace\",verifica che sia di dimensioni 32x32 o 16x16. Oppure prova ad aprire la tua icona con Paint per vedere se il file è ok. In alternativa prova selezionare un'icona differente. ---------------------------------------- AUTORE: 482 DATA :16/11/2005 - 09:53:18 ---------------------------------------- piccola chicca..in Labview 8 sarà presente un editor per le icone degli eseguibili! \":wink:\" Cosi' non ci saranno piu' problemi di compatibilità! Anche io tempo fa ho avuto problemi con le icone. Devi assicurarti che sia la dimensione 32x32 o 16x16 che la quantità di colori sia compatibile! ---------------------------------------- AUTORE: 838 DATA :16/11/2005 - 10:39:27 ---------------------------------------- non vedo l'ora di avere l'8 fra le mani!!!! forse il problema è nei colori!! \":D\" ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 07:47:17 ---------------------------------------- SI è proprio nei colori e risoluzione devi creare (programmi come michelangelo) un icona che abbia 16x16 16colori 32 x 32 16 colori e poi altrettante in bianco e nero. Io utilizzo Michelangelo e mi crea già una .ico che contiene i vari formati e app builder la prende correttamente. ---------------------------------------- ================================================================================ Pulsante su pannello frontale ================================================================================ AUTORE: 368 DATA :16/11/2005 - 12:53:25 ---------------------------------------- Ciao gente, oggi sono carico di domande e chissà se troverò mai una soluzione a tutti i problemi che la mia stessa mente genera....1!!! \":roll:\" Arrivo al dunque: vorrei creare un pulsante sul pannello frontale che mi permetta di accedere ad opzioni presenti su un VI di livello gerarchico inferiore. Il vero problema è che non so da dove iniziare, qualuno mi può dare un'idea, un'aiuto o un consiglio? Grazie tante ---------------------------------------- AUTORE: 4 DATA :16/11/2005 - 17:06:27 ---------------------------------------- in che senso opzioni? spiegati meglio. Ciao, ---------------------------------------- AUTORE: 368 DATA :17/11/2005 - 08:26:26 ---------------------------------------- Ok, cercherò di essere più chiaro: Ho un VI formato da alcuni subVI fatti da me. Vorrei realizzare un pulsante (sul pannello frontale del VI) che mi dia accesso al pannello frontale di un subVI in modo da peter agire su di esso (ad esempio impostando il valore di un controllo). Tutto ciò per evitare di portare sul VI tutti i controlli, gli indicatori, ecc, che altrimenti renderebbero l'interfaccia principale confusionaria ed illeggibile!!! Quindi normalmente il VI presenta solo gli elementi fondamentali oltre a questi pusanti, che dano però accesso a ulteriori opzioni. Spero di essere stato più chiaro \":roll:\" , ciao a tutti \":wink:\" ---------------------------------------- AUTORE: 727 DATA :17/11/2005 - 12:19:24 ---------------------------------------- Ciao è sufficiente cambiare le proprietà di esecuzione e le window appearance del subVI. in file->VI Properties ->Execution setti l'opzione Clear indicators when called in file->VI Properties ->Window appearance ->Customize setti le opzioni Show front panel when called e Close afterwards if originaly closed Prova. Fammi sapere se c'è qualcosa che non va. Ciao ---------------------------------------- AUTORE: 368 DATA :17/11/2005 - 12:52:32 ---------------------------------------- Non credo sia la soluzione adatta. Entro più nel particolare così forse riesco a spiegarmi meglio: ho 2 strumenti che effettuano alcune misure in automatico. Il front pannel ha solo alcuni controlli per impostare e indicatori fondamentali. Io vorrei aggiungere due pulsanti che, se premuti mi permettano di aprire il front pannel dei rispettivi driver degli strumenti (operazione che non è normalmente molto interessante, ma che potrebbe esserlo \":D\" ). Scusate, ma non riesco a spiegarmi meglio di così \":(\" abbiate pazienza! Spero di non avervi turbato troppo e vi ringrazio per l'interessamento. CIAO ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 07:23:16 ---------------------------------------- Dovresti utilizzare VI-server Al pulsante associ l'apertura di un vi dinamico (sul forum trovi molti spunti). Ovviamente potresti aprire il front panel dei due strumenti allo stesso modo, e comandarne l'esecuzione. ---------------------------------------- ================================================================================ Visualizzazione su grafico dati TAG string da DSC ================================================================================ AUTORE: 904 DATA :16/11/2005 - 17:19:57 ---------------------------------------- Per cortesia , qualcuno saprebbe indicarmi qualche soluzione per visualizzare con VI labview 7.1 un DSC tag string formato da \"numeri\" loggati da un dispositivo rs232 per acquisizione termocoppie su un grafico xy dove sull'asse X viene visualizzato il timestamp (da data a data) e sull'asse Y il valore numerico della stringa . Ringrazio anticipatamente per il supporto. Grazie un saluto a tutti \":)\" ---------------------------------------- AUTORE: 838 DATA :17/11/2005 - 10:19:20 ---------------------------------------- per prima cosa devi scomporre la stringa che ricevi in numeri la stringa com'è fatta? se ha una struttura costante, fissa, devi solo tagliuzzarla e convertirla in un'array di numeri e poi associ il numero con ora data corrente dell'acquisiszione e crei un flusso dati formato chart poi il grafico vien da se \":D\" ---------------------------------------- AUTORE: 904 DATA :17/11/2005 - 11:17:17 ---------------------------------------- Esempio stringa : 17/11/2005 8.45.51,727 1455 17/11/2005 8.45.52,727 1455 17/11/2005 8.45.53,727 1455 17/11/2005 8.45.54,727 1455 Qualcuno potrebbe indicarmi un esempio per : spezzettare la stringa riga per riga, dividi la data, l'ora e il valore poi con le funzioni delle stringhe, del tempo e dei grafici fai il tutto Grazie per la collaborazione \":lol:\" ---------------------------------------- ================================================================================ Help per maneggiare un timestamp ================================================================================ AUTORE: 123 DATA :16/11/2005 - 23:33:25 ---------------------------------------- Scusate la domanda di uno non troppo bravo. Vorrei usare la funzione Get Date/Time in Seconds che ritorna un timestamp. Il timestamp lo devo trasformare in cluster, ma se uso Seconds to Date/Time il cluster ha elementi di tipo I32 e a me serve un cluster con le medesime quantita', ma in float. Non posso fare la conversione a valle perche' le informazioni che mi servivano (i secondi non come numeri interi, ma come reali) stanno a monte (contenute nel timestamp). C'e' un modo per farlo senza passare per una catena complicatissima usando le stringhe, leggendo pezzo per pezzo la stringa, trasformarla in una matrice ed infine in un cluster ? Grazie per le eventuali risposte ---------------------------------------- AUTORE: 4 DATA :22/11/2005 - 13:20:46 ---------------------------------------- ma a te interessano solo i secondi con precisione al ms o ti serve tutto il TS? Ciao, ---------------------------------------- ================================================================================ Interfaccia grafica ================================================================================ AUTORE: 873 DATA :17/11/2005 - 08:38:53 ---------------------------------------- Salve a tutti! Ho realizzato una VI che mi permetta di controllare il movimento di un motore passo passo. Siccome tale motore comanda la rotazione di un disco, mi chiedevo se era possibile sempre con labview creare nel pannello di controllo, uno schematico che rappresentasse cio che effettivamente il programma fa, ovvero disegnare un cerchio che ruota indicando la posizione effettiva raggiunta dal motore.... Grazie a tutti! Ciaoo Ffogs PS: ho labview 7.1 ---------------------------------------- AUTORE: 645 DATA :17/11/2005 - 08:51:15 ---------------------------------------- Forse potrebbe funzionare una soluzione del genere: tu hai un encoder che legge la posizione del disco? Se sì potresti leggere questa posizione e poi assegnare il valore ad una manopola: questa dovrebbe ruotare portandosi al valore inserito e dando un'idea del movimento del disco. Sicuramente è limitata come soluzione ma forse con qualche accorgimento sui limiti... ---------------------------------------- AUTORE: 201 DATA :17/11/2005 - 09:08:53 ---------------------------------------- Ciao, magari posta il vi se puoi... così (almeno io),riesco a capire meglio ciò di cui hai bisogno. ---------------------------------------- AUTORE: 873 DATA :17/11/2005 - 10:32:39 ---------------------------------------- ecco il vi dell'ultima versione che ho fatto. No non ho encoder do posizione, con una manopola regolo i gradi di cui mi voglio spostare (modalita manuale), altrimenti vado in rotazione continua.Un unico sensore di hall (per il momento non e' implementato) mi servira' a resettare il motore in un 'unica posizione di partenza! ---------------------------------------- AUTORE: 873 DATA :17/11/2005 - 10:36:08 ---------------------------------------- aa dimenticavo.... questo e' il mio primo vi quindi lo scopo di far girare questo motore l'ho raggiunto, ma il come non lo so. Se qualcuno rabbrividisce a vedere come ho risolto il mio problema oppure ha qualche soluzione piu' ''elegante''....beh benvenga, sono appena agli inizi e mi piacerebbe imparare ad usare bene questo strumento!! Ciauu ffogs ---------------------------------------- AUTORE: 727 DATA :17/11/2005 - 11:57:31 ---------------------------------------- Ciao potersti provare ad utilizzare questo subVI che ho realizzato per uno scopo simile. Spero ti sia utile. Ciao \":wink:\" ---------------------------------------- AUTORE: 873 DATA :17/11/2005 - 12:17:25 ---------------------------------------- Grazie mille! Sembra ok...ora provo ad inserirlo nel mio progetto!!! Grazieeeeee Ciauu ffogs ---------------------------------------- AUTORE: 873 DATA :17/11/2005 - 13:45:57 ---------------------------------------- son riuscito a fare le modifiche del caso mio e devo dire che la grafica va molto bene, solo che ora la velocita' del motore risulta piu o meno di dieci volte rallentata.....e se clicco con il mouse su qualsiasi tasto del pannello torna a correre a velocita' normale...finke' non rilascio il mouse. E' cosi tanto pesante la grafica in labv oppure ho fatto io qualche sciokkezza? ---------------------------------------- AUTORE: 727 DATA :17/11/2005 - 14:09:56 ---------------------------------------- \":o\" Credo che il problema sia da qualche altra parte. Anch'io lo utilizzo per visualizzare la posizione di un rotatore motorizzato e attivando o divattivando questa funzione, la velocità non ne risente. Non sfrutta nessun loop, quindi non credo possa rallentare l'esecuzione dei VI. Cercherei altrove il problema. Ciao ---------------------------------------- AUTORE: 873 DATA :17/11/2005 - 14:26:29 ---------------------------------------- probabilmente e' perche' io l'ho messa dentro il mio loop ...ogni ciclo e' un movimento del motore e ogni ciclo mi ridisegan il cerchio spostato di 2 gradi...ma non posso portarlo fuori dal loop altrimenti quando il motore gira non mi aggiorna il disegno... \":evil:\" ---------------------------------------- ================================================================================ NI DAQ verifica caricamento drivers ================================================================================ AUTORE: 908 DATA :17/11/2005 - 11:32:09 ---------------------------------------- Ciao a Tutti, ho un sistema che utilizza un'applicazione LV installata su un PXI-8186 montato su uno chassis PXI-1052 composto, quindi, da schede PXI e SCXI, la parte SCXI viene controllata da una scheda PXI-6025E. Questa applicazione viene lanciata allo startup del controller e come prima operazione fa una verifica dei componenti HW del sistema, schede PXI/SCXI comprese. Ora il problema è che l'applicazione esegue i test prima che lo OS riesca a caricare i drivers NI e quindi viene segnalato un errore che in realtà non esiste. Faccio presente che il tempo impiegato dallo OS per caricare i drivers non è determinabile ma soprattutto è variabile. La domanda dunque è: esiste un modo per verificare che i drivers NI siamo correttamente caricati? Ringrazio chiunque abbia una soluzione da propormi. Ciao, ciao ---------------------------------------- ================================================================================ Read Waveform from File ================================================================================ AUTORE: 847 DATA :17/11/2005 - 13:27:37 ---------------------------------------- Ciao a tutti qualcuno sa dirmi come usare il blocco: Read Waveform from File perchè io l'ho inserito all'interno di un ciclo while con la i collegata all'ingresso record ma nel waveform chart mi visualizza soltanto una piccolissima parte della forma d'onda che ho nel file. Come mai? come si può fare per visualizzare l'intero file in un waveform chart e poterlo scorrere con la scrolbar? Garzie Ciao \":(\" ---------------------------------------- ================================================================================ Connessione a un DB ================================================================================ AUTORE: 487 DATA :17/11/2005 - 14:38:36 ---------------------------------------- Ciao a tutti, non riesco venir fuori da un problema di connessione ad un database, mi spiego meglio: quando tento di aprire la connessione mi viene restituito un errore 3008 e non capisco il perchè. Ho provato ad aggiornare il MDAC (attualmente ho la versione 2.8 ) ma non ho ottenuto nessun risultato. Per favore aiutatemi voi a venirne fuori \":cry:\" ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 15:22:00 ---------------------------------------- Due domande: - Sei sicuro del codice d'errore 3008? Non sembra un codice di LV - Hai configurato il DSN MyDB con l'ODBC? ---------------------------------------- AUTORE: 487 DATA :17/11/2005 - 15:33:40 ---------------------------------------- Confermo tutto e vi allego la descrizione completa dell'errore. Non ci capisco più niente!!! ---------------------------------------- AUTORE: 113 DATA :17/11/2005 - 16:08:42 ---------------------------------------- Scusa la domanda banale: hai provato a connetterti con la stessa vi ad un qualunque altro database ad esempio di Access? Dico questo perchè a me funziona senza problemi, potrebbe forse essere un problema della libreria ActiveX ADO? Ma non sono 'espertissimo' di connessioni a database... \":cry:\" ---------------------------------------- AUTORE: 487 DATA :18/11/2005 - 07:08:35 ---------------------------------------- Il vi non funziona con nessun database. Penso anch'io che possa essere un problema con la libreria però non so come possofare a superarlo. Hai qualche suggerimento? ---------------------------------------- AUTORE: 487 DATA :18/11/2005 - 09:11:08 ---------------------------------------- Forse sono riuscito a isolare il problema. Su un pc dove tutto funziona trovo la schermata di configurazione \"type_2.jpg\" mentre sul mio pc trovo \"type_1.jpg\": da ciòsi evidenzia che le versioni di ADODB.Connection sono differenti. Come posso risolvere il problema? ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 07:09:39 ---------------------------------------- Dovrebbe essere proprio una questione di libreria installata sul PC, quindi cerca di aggiornare tutti i PC che utilizzi all'ultima versione. Ciao, ---------------------------------------- AUTORE: 487 DATA :21/11/2005 - 07:34:28 ---------------------------------------- Grazie Nicola per aver confermato i miei sospetti, purtroppo ho già provato a sovrascrivere l'ultima versione di MSDAC (la 2.\"8)\" ma il sistema operativo mi restituisce un errore dovuto al fatto che tale versione è già installata con il service pack 2 di windows. Hai dei suggerimenti su come possa fare a disinstallare il tutto o a corregere l'errore della libreria? ---------------------------------------- AUTORE: 487 DATA :21/11/2005 - 08:21:20 ---------------------------------------- OK, problema risolto: ho reinstallato il service pack 2 di windows XP e tutto è andato a posto. \":D\" Grazie a tutti per l'aiuto. \":wink:\" ---------------------------------------- ================================================================================ comunicazione remota.. ================================================================================ AUTORE: 680 DATA :17/11/2005 - 16:21:23 ---------------------------------------- ciao, qualcuno sa come fare visualizzare sul browser un VI presente su un computer remoto... grazie... ---------------------------------------- AUTORE: 487 DATA :18/11/2005 - 07:22:09 ---------------------------------------- Ciao, devo dire la verità che ho provato solo una volta e parecchio tempo fa. Se non mi ricordo male una possibile soluzione è questa: 1- devi abilitare il web server (tools -> options ->Web Server:configuration seleziona Enable web server); 2- devi creare la pagina web che vuoi visualizzare in remoto (file .htm) e trasferirla in una cartella \"www\" all'interno della directory dove risiede il programma; 3- dal pc remoto puoi accedere a lla pagina web creata al punto 2 attraverso l'indirizzo \"http://web_server_IPaddress/VIname.htm\" ---------------------------------------- AUTORE: 645 DATA :18/11/2005 - 10:28:28 ---------------------------------------- Sul computer remoto fai: 1) Front Panel --> Tools --> Web Publishing Tool 2) Nella schermata che si apre decidi l'aspetto della pagina che verrà visualizzata nel browser con titolo, intestazione (testo scritto prima del VI), piè di pagina (testo scritto sotto il VI). Ricordati che se da Internet vuoi assumere il controllo del VI remoto devi \"chekkare\" la casella \"Request Control\" 3) Clicchi \"Start Web Server\" se non è già attivato 4) Clicchi \"Save to Disk\" e selezioni il nome della pagina HTML nella quale verrà visualizzato il VI 5) Clicchi \"Done\" e ti viene proposto un indirizzo al quale connetterti per vedere il VI remoto. Il problema è che io ho usato (e uso tuttora) questa procedura per far andare un'acquisizione in un laboratorio e vedere la situazione mentre sono seduto in un altro laboratorio: i pc fanno parte della stessa rete. Se da casa volessi vedere il VI dovrei entrare nella rete dell'Istituto e non so bene se l'indirizzo della pagina alla quale collegarmi rimarrebbe lo stesso! Comunque se resti nella stessa rete funziona a meraviglia. Ne approfitto per girare la domanda: siccome so che è possibile farlo, se io mi collego da casa (o comunque da un'altra rete) come faccio a vedere il VI che sta funzionando in istituto? È solo un problema di accesso alla rete? E se io volessi pubblicare il VI su una pagina qualsiasi visualizzabile anche da casa come posso fare? L'indirizzo proposto da LabView al termine della creazione della pagina internet contiene il numero macchina su cui sta girando il VI. ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 07:33:04 ---------------------------------------- ANche io ho provato qualche volta a voler controllare da casa i banchi del laboratorio, ma ho sempre fallito il tentativo. Mi son fatto una ragione sul fatto che NI ha un web server che gira appunto sulla macchina server, ora per pubblicare in rete bisognerebbe avere il web server ni installato sul provider, oppure avere un PC con un indirizzo disponibile per fare accesso da internet. Il problema è che nelle aziende gli indirizzi delle macchine non sono disponibili (per fortuna) all'esterno, quindi diventa inaccessibile, se non provando ad organizzarsi con i propri IT aziendali. ALtro modo è provare ad utilizzare il datasocket puntandolo in lettura e scrittura sul sito internet utilizzando i protocolli TCP/IP ecc. ecc. LA pagina su internet potrà essere gestita con l'ftp normale e senza passare dal webserver NI, ma perdendo il supporto dei controlli e la visualizzazione diretta del pannello. ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 14:40:39 ---------------------------------------- casualmente, proprio oggi, mi si riapre un dubbio sul funzionamento del web server. LA situazione è: PC laboratorio- Gira labview con VI e pubblica la pagina htm con webserver. (tutto ok) PC client su internet- Non sono convinto necessitino di labview, ma per applicaziuone embedded(devo riuscire anche a controllare i VI che girano sul laboratorio), non sono più tanto convinto che non serva un runtime quantomeno e se sia necessario attivare anche sul client la licenza di webserbver??? Infatti con snapshot tutto funziona anche da remoto, ma quando creo una pagina embedded ,che viene visualizzata correttamente sul computer server, sui client, ottengo solo la parte di codice html e nella partre del pannello remoto ottengo client 1--> remote panel is closed client 2 --> IP adress is not correct Inizialmente pensavo una questione di Firewall, ma poi vedo che snapshot funziona e mi viene il dubbio su una configurazione da fare sul PC client. Grazie Nic. \":wink:\" ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 14:57:04 ---------------------------------------- Tutto sommato, penso che sia solo questione di capire come vengono gestite ste licenze. Devo attivare la licenza sul PC client? Devo attivare una serie di licenze dei computer client sul server?? Grazie a tutti per suggerimenti ---------------------------------------- AUTORE: 129 DATA :19/11/2005 - 15:56:30 ---------------------------------------- Mi rispondo da solo, è una questione di licenze. Cercando su NI ho capito che devo attivare n licenze per quanti client voglio far accedere contemporaneamente. Le cose piùevidenti sono sempre le ultime ad essere tentate...acc ---------------------------------------- AUTORE: 4 DATA :22/11/2005 - 12:07:48 ---------------------------------------- Il web sever di labview supporta solo 1 collegamento client alla volta utilizzando la licenza standard (quella inclusa in LabVIEW) altrimenti bisogna comprarne altre. Per quanto riguarda accedere alla pagina da remoto (fuori dalla rete aziendale per esempio) la procedura da seguire è la stessa che si deve attuare per pubblicare un sito su internet e cioè in breve - comprare un nome di dominio www.laboratorio.it - configurare un DNS che associ il nome del dominio all'IP del server - avere un IP statico associato a un server (bisogna comprarlo) - configurare il server i modo che sia accessibile dall'esterno La limitazione del webserver di labview riguarda soprattutto il fatto che necessita di un ActiveX installato sulla macchina client per poter funzionare, questo restringe i sistemi operativi su cui si può utilizzare il client ai soli windows 98, 2000, XP. Inoltre gli ActiveX hanno problemi di sicurezza tanto che anche MS li stà abbandonando. Ciao, ---------------------------------------- ================================================================================ Convertire stringa a time stamp per grafico x-y ================================================================================ AUTORE: 904 DATA :17/11/2005 - 17:02:17 ---------------------------------------- In qualità di neofita di labview Ho un problema che non riesco a risolvere ....... Per Cortesia , se voglio convertire un stringa multilinea del tipo : 17/11/2005 8.48.24,537 17/11/2005 8.48.25,537 17/11/2005 8.48.26,537 17/11/2005 8.48.27,537 17/11/2005 8.48.28,537 17/11/2005 8.48.29,537 17/11/2005 8.48.30,537 17/11/2005 8.48.31,537 in un'array di valori time stamp, che VI/metodo mi consigliate di usare ? Ho la necessità di usare i valori dell'array in un grafico xy In attesa di una vostra risposta . Ringrazio Saluti !!!!!! \":?:\" ---------------------------------------- AUTORE: 751 DATA :18/11/2005 - 13:41:23 ---------------------------------------- Ciao \":D\" prova a guardare il vi ke ho allegato....dovrebbe fare al caso tuo (se ho capito bene il problema!) \":wink:\" Buon lavoro ---------------------------------------- AUTORE: 904 DATA :20/11/2005 - 13:24:20 ---------------------------------------- Gentile Black Eagle Ho provato la vi che hai allegato ed è quello che cercavo !!!! Avrei ancora un problema che non riesco a risolvere . Devo associare l'array timestamp che si crea con la tua VI a un altra array numerica e visualizzare il timestamp sull asse x e il numerico sull'asse y ,hai qualche idea su come farlo . Grazie mille per il supporto . Saluti \":D\" ---------------------------------------- AUTORE: 751 DATA :21/11/2005 - 08:05:27 ---------------------------------------- Ciao \":)\" la soluzione ke cercavi nel vi allegato \":lol:\" Buon lavoro \":wink:\" ---------------------------------------- AUTORE: 904 DATA :21/11/2005 - 09:27:02 ---------------------------------------- Grazie per il supporto . Visto la tua esperienza approfitto di un'ultima domanda ..... \":roll:\" Se dovessi integrare il tutto in una VI che a comando di un operatore carica una nuova stringa /array di numeri per visualizzare dei dati diversi sul grafico come posso procedere ???? Grazie in anticipo Saluti !!!! \":D\" ---------------------------------------- AUTORE: 751 DATA :21/11/2005 - 13:07:17 ---------------------------------------- Ciao \":D\" prova questo...qui l'operatore puo' caricare la stringa ke vuole, io ne ho messe 3 ma, volendo, ne puoi aggiungere altre....dipende da quello ke devi fare... Buon divertimento \":wink:\" ---------------------------------------- AUTORE: 904 DATA :21/11/2005 - 15:46:20 ---------------------------------------- Gentile BlackEagle , Ho inserito il tuo esempio VI in un while loop comandato da un boolean che eseguo un latch per avere ua aggiornamento delle 3 stringhe , se volessi sostituire il generatore casuale dell'array numerica y con un dato che si trova direttamente nella stringa esempio (1340,1355 ......) : 21/11/2005 16.24.50,282 1340 21/11/2005 16.24.51,282 1355 21/11/2005 16.24.52,282 1355 In modo da fare un retrive che scompone la stringa di testo iniziale e la mostra sul grafico .... Scusa ancora se ti sto tediando con queste richieste probabilmente ovvie , ma nel mio caso assolutamente insormontabili \":roll:\" Sicuro di un tuo aiuto Grazie MOLTE !!!! \":D\" ---------------------------------------- AUTORE: 904 DATA :21/11/2005 - 16:17:22 ---------------------------------------- Gentile BlackEagle , Ho inserito il tuo esempio VI in un while loop comandato da un boolean che eseguo un latch per avere ua aggiornamento delle 3 stringhe , se volessi sostituire il generatore casuale dell'array numerica y con un dato che si trova direttamente nella stringa esempio (1340,1355 ......) : 21/11/2005 16.24.50,282 1340 21/11/2005 16.24.51,282 1355 21/11/2005 16.24.52,282 1355 In modo da fare un retrive che scompone la stringa di testo iniziale e la mostra sul grafico .... Scusa ancora se ti sto tediando con queste richieste probabilmente ovvie , ma nel mio caso assolutamente insormontabili \":roll:\" Sicuro di un tuo aiuto Grazie MOLTE !!!! \":D\" ---------------------------------------- AUTORE: 751 DATA :22/11/2005 - 08:38:27 ---------------------------------------- Ciao \":lol:\" non aver paura di chiedere...non esistono le cose ovvie \":P\" E' chiaro ke ki usa da poco un certo strumento non ne conosce tutte le potenzialita'. Ognuno ha i suoi piccoli/grandi problemi con LabBVIEW e questo utile forum e' nato proprio con l'intento di incontrarsi/condividere/discutere su tutto cio' ke e' attinente al mondo LabVIEW. Cmq, tornando a noi, ho modificato il vi ke ti avevo mandato in modo da partire da un'unica stringa da cui vengono estratti i singoli campi! Ti ricordo, inoltre, ke questo vi puo' essere migliorato e, soprattutto, reso piu' flessibile...tutto dipende da quello ke ci devi fare \":wink:\" Buon lavoro ---------------------------------------- AUTORE: 904 DATA :22/11/2005 - 11:09:32 ---------------------------------------- Gentile Black_Eagle Ringraziandoti ancora per il supporto Se la stringa iniziale fosse così composta : 21/11/2005 14.40.46,214 190,526 21/11/2005 14.41.46,214 21/11/2005 14.42.46,214 21/11/2005 14.43.46,214 191,029 21/11/2005 14.44.46,214 190,919 21/11/2005 14.45.46,214 190,898 21/11/2005 14.46.46,214 21/11/2005 14.47.46,214 190,958 21/11/2005 14.48.46,214 190,909 si possono eliminare i timestamp con valore 0 in modo da pulire il grafico e avere solo i valori effettivi loggati . Ti ringrazio molto del supporto , e sto apprezzando molto la versabilità di Labview per il mio utilizzo . Grazie Saluti ---------------------------------------- AUTORE: 751 DATA :22/11/2005 - 14:06:28 ---------------------------------------- Ciao \":D\" quest'ultima versione dovrebbe fare al caso tuo! ---------------------------------------- AUTORE: 904 DATA :22/11/2005 - 14:48:46 ---------------------------------------- Scusami , ma provando la Vi in versione finale , riscontro un problema se inserisco le seguenti stringhe : 22/11/2005 9.03.50,380 22/11/2005 9.08.50,380 22/11/2005 9.13.50,380 199,409 22/11/2005 9.18.50,380 199,119 22/11/2005 9.23.50,380 198,459 22/11/2005 9.28.50,380 198,103 22/11/2005 9.33.50,380 198,977 22/11/2005 9.38.50,380 198,364 22/11/2005 9.43.50,380 199,081 22/11/2005 9.48.50,380 198,513 22/11/2005 9.53.50,380 198,592 22/11/2005 9.58.50,380 199,128 In questo caso penso dipende dal fatto che non compare lo zero davanti alle ore \"09 .......\" Oppure 21/11/2005 14.40.46,214 190,526 21/11/2005 14.41.46,214 21/11/2005 14.42.46,214 21/11/2005 14.43.46,214 191,029 21/11/2005 14.44.46,214 190,919 21/11/2005 14.45.46,214 190,898 21/11/2005 14.46.46,214 21/11/2005 14.47.46,214 190,958 21/11/2005 14.48.46,214 190,909 In questo caso invece vengono visualizzati anche i valori 0 sul grafico cosa che invece vorrei eliminare ..... Penso dipende da come viene formattata la stringa ? Saluti Grazie per tutto il lavoro speso a preparare la VI che mi hai mandato \":)\" ---------------------------------------- AUTORE: 904 DATA :23/11/2005 - 11:32:52 ---------------------------------------- Black Eagle , Ho aggiunto un trimmer di stringa nel confronto \"lunghezza stringa diversa da 23\"per risolvere il problema che riscontravo , grazie ancora per la VI è esattamente cosa cercavo. Grazie Saluti \":D\" ---------------------------------------- ================================================================================ API in .NET ================================================================================ AUTORE: 295 DATA :17/11/2005 - 17:07:08 ---------------------------------------- Ciao, ho acquistato un remote control ad infrarossi (http://www.redrat.co.uk/RedRat3/) che da quello che ho capito ha le API scritte in .NET, ma esiste anche la versione via COM per VB6 VC++6. Il mio problema è come importarle in LabView. L'unica mia esperienza precedente era con delle API di una CCD che ero riuscito tranquillamente a importare in LV usando la \"Call Library Function Node\". Con queste dll non riesco. Pensate si dovrebbe poterlo fare oppure essendo scritte in .NET bisogna per forza utilizzare la \".NET palette\". Solo che in questo caso le cose si complicano perche ci sono moltissime \"object\" enon è ben chiaro quali posso utilizzare.Come potete capire ci prendo poco con queste cose, qualcuno riesce a schiarimi un po' le idee? Grazie, ciaoooo ---------------------------------------- ================================================================================ inversione graph ================================================================================ AUTORE: 910 DATA :18/11/2005 - 08:35:33 ---------------------------------------- Ciao ho un problema, devo invertire ogni volta che premo un pulsante la x e la y di un XYgraph. Chi può aiutarmi? grazie ---------------------------------------- AUTORE: 751 DATA :18/11/2005 - 14:34:41 ---------------------------------------- Ciao \":)\" prova a guardare il vi allegato se ti puo' essere di aiuto \":wink:\" ---------------------------------------- ================================================================================ Come contenere un file di testo in un array 2d ? ================================================================================ AUTORE: 534 DATA :18/11/2005 - 14:31:55 ---------------------------------------- Ciao a tutti, Ho un file di testo estratto da un database composto da 2 colonne separate da tabulatore e un numero imprecisato di righe. Vorrei sapere come realizzare un vi che possa contenere il suddetto testo in un array bidimensionale. Grazie per l'attenzione Saluti ---------------------------------------- AUTORE: 487 DATA :18/11/2005 - 14:55:20 ---------------------------------------- Guarda un po' se l'esempio che ho allegato ti può essere d'aiuto. Ciao ---------------------------------------- AUTORE: 534 DATA :18/11/2005 - 15:10:40 ---------------------------------------- Funziona perfettamente !!! GRAZIE ! Saluti Luigi ---------------------------------------- AUTORE: 534 DATA :18/11/2005 - 15:15:20 ---------------------------------------- scusa provando con il mio testo sembra che anche gli spazi siano interpretati come colonne... ---------------------------------------- AUTORE: 534 DATA :18/11/2005 - 15:24:44 ---------------------------------------- ho risolto spostando la costante tab dall' ingresso operators all' ingresso delimiters... ---------------------------------------- ================================================================================ Esiste una funzione per ottenere un ritardo/anticipo d fase? ================================================================================ AUTORE: 624 DATA :18/11/2005 - 16:18:55 ---------------------------------------- Cari utenti di ILVG.it, volevo sapere se esiste una qualche funzione (o blocco) di LabView che mi consenta di introdurre un certo ritardo o anticipo della fase di un segnale acquisito (generica forma d'onda). Saluti, Andrea ---------------------------------------- ================================================================================ text string to number ================================================================================ AUTORE: 914 DATA :19/11/2005 - 18:53:04 ---------------------------------------- Ciao a tutti, ho appena iniziato a programmare in labview, ed ho qualche problema, volgio inviare dati ad un altro computer via TCP/IP ma mi sono accorto che posso inviare solo numeri, mentre io voglio inviare una stringa di testo, come faccio? Ho pensato che potevo convertire una string di testo in un numero che la desrive e poi fare di nuovo la conversione quando ricevo i dati sull'altro pc, è possibile? Forse esiste una funzione per inviare diettamente una stringa di testo? ---------------------------------------- AUTORE: 680 DATA :20/11/2005 - 12:51:02 ---------------------------------------- sulla versione 7.1 si fa così... vai su FUNCTION --> ALL FUNCTIONS --> COMUNICATION --> TPC --> TCP WRITE spero esserti stato d'aiuto..... ciao.... p.s. vedi immagine allegata... ---------------------------------------- AUTORE: 914 DATA :20/11/2005 - 13:40:00 ---------------------------------------- Ok ho sbagiato a fare la domanda... Una stringa di testo la invia anche direttamente, il problema è inviare un array di testo... E poi il sistema che hai detto te non funziona... almeno io non ce l'ho fatta a recuperare i dati... con TCP read ---------------------------------------- ================================================================================ Come eliminare riga dopo confronto di due array 2D ? ================================================================================ AUTORE: 534 DATA :21/11/2005 - 10:58:40 ---------------------------------------- ciao a tutti vorrei sapere come realizzare un vi che dopo aver confrontato due array bidimensionali contenti testo, nel caso trovi un duplicato, crei un nuovo array bidimensionale contenete solo le righe univoche... grazie per l'attenzione saluti ---------------------------------------- AUTORE: 838 DATA :21/11/2005 - 13:24:27 ---------------------------------------- forse con lo shift register in un forloop risolvi il problema \":D\" ---------------------------------------- AUTORE: 129 DATA :21/11/2005 - 15:39:19 ---------------------------------------- Scusa Tracert ma questa questione non l'avevamo già affrontata? ti metto il link del topic [url=http://www.ilvg.it/forum/viewtopic.php?t=628&highlight=array+bidimensionale:5r4spppi]array string[/url:5r4spppi] Se rispetto a questo topic e gli allegati proposti ci sono delle differenze, diccelo. ---------------------------------------- ================================================================================ eliminare gli errori ================================================================================ AUTORE: 633 DATA :21/11/2005 - 21:37:48 ---------------------------------------- Ciao a tutti, Sapete come faccio a fare in modo che alla comparsa di un errore l'esecuzione del mio VI continua? Nell apratica ho un DataSocket tramite il quale faccio un upload dei dati in internet, ma è successo che il sito fosse intasato e il DataSocket ha fatto apparire una schermata di errore (con bottoni \"continua\" e \"stop\"), solo che non c'era nessuno a premere uno dei suddetti bottoni e perciò tutto il sistema si è fermato. Come faccio ad evitare finestre di errore che bloccano il VI? grazie __________ BrainBurner ---------------------------------------- AUTORE: 4 DATA :22/11/2005 - 13:17:12 ---------------------------------------- che versione di LabVIEW usi? se è la 7.x devi disabilitare l'opzione \"Enable automatic error dialog\" e inoltre, questo vale anche per le altre versioni, devi evitare come la peste le funzioni \"General Error Handler\" o \"Simple Error Handler\"... gestiscono loro i pop-up di errore e questi bloccano l'intero codice che li ha chiamati fino alla loro uscita (pressione del tasto). Quello che devi fare è crearti un error handler tuo che lanci un pop-up in parallelo all'esecuzione del tuo codice in modo da non bloccarlo. Puoi anche inserire nel tuo pop-up un tempo massimo di presenza dopo il quale si chiude automaticamente. Ciao, ---------------------------------------- ================================================================================ Leggere Joystick in seriale AIUTOOOOO :( ================================================================================ AUTORE: 919 DATA :22/11/2005 - 06:51:49 ---------------------------------------- Salve a tutti ! sono nuovo del forum e dell'ambiente Labview, ho trovato il sito navigando sul web e mi è piaciuto subito. Ho bisogno d'aiuto da voi che con labview siete in grado di fare TUTTO \":D\" Ho un Joystick seriale che dialoga in 232 con il mio portatile, il Joy è collegato alla porta USB tramite un controller seriale, questo, identifica poi il Joy come com4. Il problema è che non riesco assolutamente a leggere quello che esce da Joy, in nessun modo, sto iniziando e ho parecchi problemi comunque. Inoltre, quando do un nome alla risorsa VISA, come faccio ad indentificare la com 4 ??? la chiamo \"COM4\" oppure, per esempio ASRL4::INSTR ??? come identifico le porte del computer ? allego il primo programmino che ho fatto allo scopo, aiutatemi please \":o\" Ciao ee Grazie ! ---------------------------------------- AUTORE: 4 DATA :22/11/2005 - 13:29:26 ---------------------------------------- Ciao e benvenuto in ILVG! Nel tuo VI ci sono un paio di errori concettuali: - chiudi la risorsa VISA a ogni iterazione del while loop questo vuol dire che la risorsa è accessibile solo alla prima iterazione del loop alla fine della quale viene chiusa e quindi non è più accessibile durante le altre iterazioni. - il byte to read non è un parametro che deciti tu ma dipende da quati byte ci sono realmente nel buffer seriale, per conoscere questa informazione esiste la funzione \"byte at serial port\" Ho modificato il tuo VI in modo da risolvere questi due punti. In generale invece quello che devi assolutamente sapere sono i parametri della porta di comunicazione del tuo dispositivo ovvero tutti quei parametri in ingresso alla funzione init port, sbagliarne uno vuol dire non far funzionare niente. Ciao, ---------------------------------------- AUTORE: 919 DATA :22/11/2005 - 15:49:17 ---------------------------------------- Grazie mille ! vedo se riesco a correggere il tutto. Mi rifarò sentire. Thanks !!! ---------------------------------------- ================================================================================ Quesiti su DAQ ================================================================================ AUTORE: 922 DATA :22/11/2005 - 16:05:40 ---------------------------------------- Ho provato a fare il test CLAD on line. Non sapendone molto di DAQ, non sono sicuro di quale sia la risposta alle seguenti domande:qualcuno sa rispondere? Qualcuno per caso sa se esiste on line del materiale (a parte quello presente sul sito della national) per prepararsi al CLAD? Grazie Domanda 1 The DAQ Assistant can perform all of the following operations, EXCEPT A:Frequency Measurement B:Digital Input C:Arbitrary Waveform Generator D:Analog Input Domanda 2 Under wich of the following settings would NOT apply a gain to your signal? A:10V signal, with 0-10V ADC range B:10V signal, with 0-5V ADC range C:5V signal, with 0-10V ADC range D:1V signal, with 0-10V ADC range ---------------------------------------- AUTORE: 247 DATA :22/11/2005 - 20:39:36 ---------------------------------------- Ciao, io avrei dato queste risposte: Domanda 1 The DAQ Assistant can perform all of the following operations, EXCEPT C:Arbitrary Waveform Generator. Il DAQ Ass. ti aiuta a configurare in modo corretto i parametri di generazione od acquisizione di una forma d'onda, il tipo d'onda non è influente e quindi il DAQ Ass. non funziona direttamente come Generatore d'onda arbitrario. Domanda 2 Under wich of the following settings would NOT apply a gain to your signal? A:10V signal, with 0-10V ADC range Se l'ampiezza del segnale varia da 0V a 10V e l'ADC ha range 0-10V, quest'ultimo è sfruttato in tutta la sua dinamica; agli altri segnali andrebbe invece applicato un guadagno positivo o negativo. BYE. P.S. La risposta alla prima domanda poteva essere trovata più semplicemente anche notando che ci sarebbe dovuto essere scritto Arbitrary Waveform Genetration...e non Generator...se il mio inglese non mi tradisce! \":D\" \":D\" ---------------------------------------- AUTORE: 129 DATA :23/11/2005 - 11:50:46 ---------------------------------------- Per me gli esami CLAD lasciano attorno delle ambiguità. Io avrei risposto uguale la prima, ma nella seconda avrei avuto il dubbio sul rispondere come dice Apollon e quindi vedere la misura come massima e considerare la scala nella sua totalità, oppure considerare un valore centrale e quindi avrei risposto C:5V signal, with 0-10V ADC range infatti in una scala da 0 a 10V il 5 è esattamente mediano. ---------------------------------------- ================================================================================ derivata di un segnale ================================================================================ AUTORE: 591 DATA :23/11/2005 - 08:58:02 ---------------------------------------- Ciao a tutti, ho un problema che mi affligge da un po' e a cui non rieso a dare una soluzione adeguata. Ho acquisito da un autovettura la velocita' in funzione del tempo (i compioni sono ottenuti ogni 400 ms). Da questi dati devo valutare tra le varie cose l'accelerazione (sempre in funzione del tempo) devo quindi farne la derivata. Ho provato si ad effetturla in modo discreto che utilizzando l'apposito vi ma il risultato è una curva molto \"sporca\" ovvero frastagliata che quindi non va bene per essere rappresentata. Ho provato alcuni vi forniti anche dal sito NI ma con scarsi risultati. Spero abbiate una soluzione. ---------------------------------------- AUTORE: 645 DATA :23/11/2005 - 10:23:01 ---------------------------------------- Nel toolkit PID c'è il blocco della derivata ma forse è quello che hai provato tu... ---------------------------------------- AUTORE: 591 DATA :23/11/2005 - 11:11:40 ---------------------------------------- si ho utilizzato il vi fornito da labview per la derivata. Ho provato anche ad effettuare la derivata in modo discreto ovvero: dV(Tf)/dT= (V(Tf)-V(Ti)) / (Tf - Ti) sempre se non ho commesso errori dovrebbe funzionare. i grafici che ottengo sono riportati in figura. ---------------------------------------- AUTORE: 1165 DATA :11/04/2006 - 15:07:53 ---------------------------------------- Provo a risponderti in via generale, sperando che ti sia comunque di aiuto, nonostante il tempo passato dal tuo post: mentre le operazioni di media (e di integrazione) hanno un comportamento generale da filtro passabasso, l'operazione di derivata ha un comportamento da filtro passaalto, col che evidenzia ed esalta il rumore alle altre frequenze. Ora, sicuramente, la tua acquisizione è molto rumorosa e quindi con la tua derivata tu esalti tutti questi disturbi, che anzi andrebbero mediati (che è il contrario che derivati) per ridurli. Quindi ci puoi fare ben poco. Tutto quello che puoi fare è cercare di acquisire il segnale in maniera più pulita possibile, semmai ristudiando il modello e le tecniche del tuo sistema di acquisizione, per vedere dove è il punto in cui entra il maggior rumore. Comunque qualcosa puoi ancora tentare di rapido: se tu conosci bene la banda del tuo segnale puoi filtrare la tua acquisisione con un filtro passabanda che limiti il tuo segnale acquisito solo alla parte di spettro che ti interessa, togliendo così tutto il rumore fuori banda. Chiaro che in questa maniera riduci un po' i disturbi, ma non potrai mai eliminare il ruomore in banda. se non con la strategia che ti dicevo prima. In bocca al lupo, enrico.guadagni@euclide.biz ---------------------------------------- ================================================================================ E' possibile leggere un tiff 48 bit senza IMAQ ? ================================================================================ AUTORE: 534 DATA :23/11/2005 - 09:01:06 ---------------------------------------- Ciao a tutti, si puo leggere un tiff 48 bit (3 canali rgb 16 bit) senza ricorrere a IMAQ ? grazie per l' attenzione saluti ---------------------------------------- ================================================================================ Manuale ================================================================================ AUTORE: 847 DATA :23/11/2005 - 12:18:20 ---------------------------------------- Ciao qualcuno sa indicarmi un titolo e/o dove posso trovare un manuale completo su LabView. Grazie Ciao ---------------------------------------- AUTORE: 247 DATA :24/11/2005 - 22:42:44 ---------------------------------------- Ciao, Manuali che trattino LV ne puoi trovare molti, soprattutto in inglese, cercali su un qualsiasi sito che venda libri on-line; se invece ti interessano in italiano, beh, questi latitano da tempo immemore... Ti consiglio di cominciare a leggere i documenti presenti sul sito NI nella pagina [url=http://zone.ni.com/devzone/devzone.nsf/webcategories/2E4161187E3DEB30862568660020BCC8:2341tgdf]Development System Topics[/url:2341tgdf]..che per cominciare contiene fin troppi link, risorse ed esempi. BYE. ---------------------------------------- AUTORE: 847 DATA :25/11/2005 - 07:37:12 ---------------------------------------- Ti ringrazio molto per quel link. ciao ---------------------------------------- ================================================================================ DSC Write traces to spreadsheet VI ================================================================================ AUTORE: 904 DATA :23/11/2005 - 14:08:55 ---------------------------------------- Per cortesia , Qualcuno potrebbe indicarmi come è possibile variare il formato delle ore nella stringa row format in uscita dalla VI {date}{delimiter}{time}{repeat(###,0,{numTraces}, Questo è cosa ottengo : 22/11/2005 9.28.50,380 198,103 22/11/2005 9.33.50,380 198,977 22/11/2005 9.38.50,380 198,364 22/11/2005 9.43.50,380 199,081 Io avrei necessità di avere la stringa in questo modo: 22/11/2005 09.28.50,380 198,103 22/11/2005 09.33.50,380 198,977 22/11/2005 09.38.50,380 198,364 22/11/2005 09.43.50,380 199,081 In attesa di qualche consiglio Grazie in anticipo Saluti \":)\" ---------------------------------------- AUTORE: 4 DATA :23/11/2005 - 15:48:08 ---------------------------------------- in pratica hai solo bisogno di aggiungere degli zeri in modo da ottenere un formato dell'orario HH:MM:SS giusto? che funzione genera il time stamp? Ciao, ---------------------------------------- AUTORE: 904 DATA :23/11/2005 - 17:26:29 ---------------------------------------- Si ho bisogno di ottenere un formato ora HH:MM:SS in pratica ho solo il problema per le ore 0 a 9 .... La stringa è generata con la VI write traces to spreadsheet . In allegato troverai VI esempio . Prova a vedere cosa succede con la string 3 vedrai che mancando lo zero crea dei problemi sul grafico . La VI è merito del pronto Black Eagle ! Grazie in anticipo Saluti \":D\" ---------------------------------------- AUTORE: 904 DATA :24/11/2005 - 10:20:04 ---------------------------------------- Sono riuscito a risolvere il problema .... Ho modificato il formato ora sul pannello di controllo xp sulle impostazioni internazionali e ora esporto il valore HH:MM:SS Saluti !!! \":D\" ---------------------------------------- AUTORE: 751 DATA :24/11/2005 - 12:45:08 ---------------------------------------- Ciao Capman, non ho avuto tempo di risponderti ieri... \":lol:\" avevo modificato il file ke ti avevo mandato in modo da farlo funzionare con entrambi i formati dell'ora (con lo zero e senza). Te lo allego. ---------------------------------------- ================================================================================ Interfaccia LabVIEW 8 ================================================================================ AUTORE: 928 DATA :23/11/2005 - 20:12:02 ---------------------------------------- Qualcuno sa come abilitare un'interfaccia come questa? [url:2804pw8i]http://forums.lavausergroup.org/index.php?showtopic=916[/url:2804pw8i] Io non sono riuscito a trovare nessuna opzione, mi sto chiedendo se sia possibile o no. ---------------------------------------- AUTORE: 113 DATA :24/11/2005 - 07:27:23 ---------------------------------------- Immagino ti riferisci alla finestra del project explorer sulla sinistra: Dallo splash screen iniziale di LV8 seleziona New project, ti si apre il Pro. explorer. Aggiungi i componenti al progetto: tasto destro del mouse sopra My computer - New - .... L'ambiente di lavoro diventa simile all'immagine che hai trovato su LAVA. ---------------------------------------- AUTORE: 482 DATA :24/11/2005 - 08:15:18 ---------------------------------------- Secondo me invece si riferisce alla Tools palette ancorata alla finestra principale! ---------------------------------------- AUTORE: 482 DATA :24/11/2005 - 08:16:42 ---------------------------------------- ops..Functions Palette! ---------------------------------------- AUTORE: 928 DATA :24/11/2005 - 19:27:01 ---------------------------------------- in effetti mi riferivo a tutta l'interfaccia integrata in una finestra (MDI) invece di avere tante finestre sullo schermo (e relativi nomi nella barra di windows che quando sono tanti non si legge più il titolo) ---------------------------------------- AUTORE: 928 DATA :24/11/2005 - 19:28:49 ---------------------------------------- su LAVA mi hanno risposto che tale interfaccia non c'è ma allora la foto dove l'hanno presa? ---------------------------------------- AUTORE: 4 DATA :25/11/2005 - 08:59:33 ---------------------------------------- Luke, hanno ragione su lava l'interfaccia di quel tipo non c'è o meglio non c'è più. Da quello che mi è sembrato di capire era presente nella versione beta 2 ma è stata eliminata nella beta 3 e credo anche nella release ufficiale. Pensavo di essere impazzito invece tu mi confermi che non c'è più, nella beta 2 si attivava\disattivava tramite una spunta nel pannelo delle opzioni LV ho cercato questa voce nella beta 3 ma senza risultati al punto che pensavo me la fossi sognata. In effetti è un peccato che non ci sia, secondo me avrebbe reso la nuova gestione a progetti ancora più efficace comunque dalle prove fatte sulla beta 2 si vedeva che faceva acqua da tutte le parti e che l'avrebbero accantonata... magari nella 8.1? la speranza è l'ultima a morire! Ciao, ---------------------------------------- ================================================================================ Report Generation ================================================================================ AUTORE: 904 DATA :24/11/2005 - 10:30:56 ---------------------------------------- Per cortesia qualcuno potrebbe indicarmi qual è il sistema più rapido per stampare un grafico x/y formato da una stringa time stamp e una numerica in modo tale che il report prenda l'immagine del grafico che ho direttamente sul pannello della VI . In qualche modo è possibile effettuare l'operazione con la VI Report di labview 7.1 Grazie in anticipo Saluti \":)\" ---------------------------------------- AUTORE: 751 DATA :24/11/2005 - 15:05:27 ---------------------------------------- Guarda questo \":wink:\" ---------------------------------------- ================================================================================ Problemi con ADO ================================================================================ AUTORE: 487 DATA :24/11/2005 - 11:05:17 ---------------------------------------- Ciao a tutti, sono dinuovo alle prese con le funzioni ADO. Adesso il mio problema è che estraggo un campo testo da un database e la funzione ADO mi restituisce il testo intervallato da degli spazi (es. \"C I A O \" anzichè \"CIAO\"). Esiste un modo per evitare questo inconveniente o devo correggierlo poi con LabVIEW? Tra l'altro la dimensione del record estratto risulta doppia di quella reale con il rischio di superare la massima lunghezza consentita di 255 caratteri. Come posso fare per risolvere il problema? ---------------------------------------- AUTORE: 4 DATA :18/01/2006 - 16:30:52 ---------------------------------------- E' strano io uso ADO tramite le librerie LabSQL su DB MySQL e funziona normalmente (niente spazi nel testo) Ciao, ---------------------------------------- AUTORE: 129 DATA :18/01/2006 - 17:26:27 ---------------------------------------- Posta il codice che hai utilizzato (un immagine), magari possiamo capire di più. Se vuoi scaricati questo [url=http://www.bytelabs.it/modules.php?name=Downloads&d_op=getit&lid=8:2ymi0nu5]esempio[/url:2ymi0nu5], che ho realizzato su ADO, e prova a vedere se va meglio. Io l'ho utilizzato anche su My SQL,Access e SQL server senza problemi. Nic ---------------------------------------- AUTORE: 487 DATA :24/01/2006 - 09:27:01 ---------------------------------------- Ciao, provo ad allegare un esempio banale ed attendo i vostri suggerimenti. Il mio dubbio è quello di avere ancora dei problemi con l'MDAC ---------------------------------------- AUTORE: 129 DATA :24/01/2006 - 13:52:15 ---------------------------------------- potresti salvare il file come llb? Così riesco a vedere i subVI. Grazie ---------------------------------------- AUTORE: 487 DATA :24/01/2006 - 15:17:07 ---------------------------------------- Non credo di aver capito bene cosa vuoi, comunque ti allego il file in formato llb (gli unici subVI presenti sono quelli delle funzioni ADO). Grazie per l'aiuto. ---------------------------------------- AUTORE: 129 DATA :26/01/2006 - 22:24:10 ---------------------------------------- Quando mandi un VI, con all'interno dei subvi, devi salvarli in forma distribuibile, quindi fai save with option, spunti development distribution, e così salvi una llb del vi con tutti i suoi vi all'interno. Se si ha installato sul pc il modulo jet4.0 si può inserire una stringa di connessione di questo tipo: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\BACKUP DOCUMENTS\AccessFile\taratura.mdb; Persist Security Info=false ---------------------------------------- AUTORE: 487 DATA :27/01/2006 - 09:32:19 ---------------------------------------- Ho fatto delle prove e ho avuto la conferma dei miei sospetti: il problema non è il codice, infatti su un altro pc sembra funzionare tutto regolarmente. Non so più cosa fare per risolvere il problema sul mio pc; credo che getterò la spugna. Grazie a tutti per l'aiuto e scusate se vi ho fatto perdere tempo. Ciao. ---------------------------------------- ================================================================================ Cambiare le label di un grafico a runtime. ================================================================================ AUTORE: 738 DATA :24/11/2005 - 11:24:31 ---------------------------------------- Salve a tutti...non vorrei disturbare con una domanda sciocca ma mi sono reso conto (sebbene io abbia passato giorni lavorando con labview) di non riuscire a cambiare le etichette (le label) dei grafici a runtime, mediante un controllo stringa per esempio. Mi scappa fuori un messaggio di errore che mi dice che non e' possibilie farlo se il VI non e' in \"edit mode\". FIGURIAMOCI ! Ti ho fatto io ti ho fatto e non ti posso cambiare come mi pare !! Aiuto. Grazie, sto forum e' prorpio gamzo, utile, complimenti. STefanoi ---------------------------------------- AUTORE: 838 DATA :24/11/2005 - 13:13:41 ---------------------------------------- hai già provato con le proprety node? ---------------------------------------- AUTORE: 738 DATA :24/11/2005 - 14:46:13 ---------------------------------------- Gia' ..... proprio non si riesce.. insomma a volte ho dei dati tensione corrente, altre tempo corrente per esempio e non riesco prorpio a editare dinamicamente la legenda degli assi cartesiani... neanche con il property node. Sono sicuro che esiste il modo.... GRazie per l'attenzione , riprovo. Ciao Stefano ---------------------------------------- AUTORE: 247 DATA :24/11/2005 - 22:22:47 ---------------------------------------- Ciao, se per label dei grafici intendi le etichette che indicano la grandezza corrispondente all'asse puoi effettivamente utilizzare un property node come in questo esempio. BYE. ---------------------------------------- AUTORE: 738 DATA :25/11/2005 - 10:58:28 ---------------------------------------- Grazie, grazie grazie a tutti e due! Minzuk ciavevi ragione! Apollon lo ha confermato. Sono un pirla. Grazie, Stefano! ---------------------------------------- ================================================================================ Importare codice C++ ================================================================================ AUTORE: 295 DATA :24/11/2005 - 12:51:27 ---------------------------------------- Ciao, ho scritto un programmino in C++ per pilotare un remote control via PC. Come faccio ad importarlo in LabView? Immagino dovrei importare tutto il progetto non solo il filename.cpp? Se invece creo un eseguibile (.exe) come lo lancio da LabView? Grazie per l'aiuto. Edo. ---------------------------------------- ================================================================================ Demo di LabView 8 ================================================================================ AUTORE: 645 DATA :24/11/2005 - 16:10:02 ---------------------------------------- Ciao a tutti, se andate su http://digital.ni.com/demo.nsf/websearc ... =157200_US e seguite le indicazioni potete scaricare la demo di LabView 8. È un file pesante (450 Mb circa). ---------------------------------------- AUTORE: 838 DATA :24/11/2005 - 16:17:21 ---------------------------------------- sto ancora aspettando l'aggiornamento noi abbiamo il contratto di aggiornamento che paghiamo tutti gli anni e mi hanno garantito che per i primi di novembre sarebbe partito il tutto sulla versione 8, ma a oggi ancora niente mi devono aggiornare labview, dsc e realtime \":evil:\" il demo non lo installo per evitare eventuali supercasini di librerie con quello che verrà \":D\" ---------------------------------------- AUTORE: 4 DATA :24/11/2005 - 16:34:24 ---------------------------------------- a me è arrivato l'update compreso nel contratto circa 3 settimane fa'. Non ho installato niente... mai installare le versioni x.0!!! meglio aspettare la 8.1 \"8)\" Ciao, ---------------------------------------- AUTORE: 838 DATA :24/11/2005 - 16:47:32 ---------------------------------------- come con la 7, la 7.1 mi ha risolto un'enormità di problemi \":D\" però l'8 me lo installo lo stesso tanto per smanettare un pò e incasinare il pc \":lol:\" ---------------------------------------- AUTORE: 487 DATA :25/11/2005 - 07:32:17 ---------------------------------------- Io ho già installato LabVIEW 8.0, però non ho ancora disinstallato la versione 7.1. Le prime impressioni sulla nuova versione sono positive, a parte il fatoo che è molto più pesante da far girare rispetto alla precedente. Inoltre mi piacerebbe sapere perchè non venga mai data la possibilità di salvare i vi nel formato delle versioni più datate, ma solo in quello della penultima. Mah?!? ---------------------------------------- AUTORE: 645 DATA :25/11/2005 - 08:07:40 ---------------------------------------- Io ho scaricato la demo mentre qui si sta pensando di fare l'aggiornamento. Per ora ci smanetto un po' sopra: mi sembra che non siano cambiate un'enormità di cose (anche se qualche chicchina, così di primo impatto, l'ho trovata) però penso che la nuova struttura pensata a \"Progetto\" e non più a singolo VI sia molto funzionale. ---------------------------------------- AUTORE: 4 DATA :25/11/2005 - 09:06:44 ---------------------------------------- [quote:1fx3y6db]...Per ora ci smanetto un po' sopra: mi sembra che non siano cambiate un'enormità di cose ...[/quote:1fx3y6db] come no! non hai visto il volantino di NI \"le migliori 8 ragioni per passare a labview 8\"? al 4° posto troviamo \"Caricare in memoria contemporaneamente due VI con lo stesso nome\" \":lol:\" \":lol:\" \":lol:\" \":lol:\" Non ci posso ancora credere! sarebbe una buona ragione questa? Funziona così anche notepad!!! \":wink:\" Ciao, ---------------------------------------- AUTORE: 645 DATA :25/11/2005 - 09:13:29 ---------------------------------------- Non so, il volantino di NI era troppo bello e ci ho giocato tutto il tempo... ah no... ero attento alle presentazioni... oopss... ---------------------------------------- ================================================================================ Leggere waveform ================================================================================ AUTORE: 847 DATA :24/11/2005 - 21:27:18 ---------------------------------------- Devo leggere da un file una waveform però il read waveform mi legge soltanto un record alla volta e vedo soltanto una parte della traccia scorrere sul chart.Come posso fare? scusate ma nn son ancora tanto esperto. Grazie \":o\" ---------------------------------------- ================================================================================ Agire sui file ================================================================================ AUTORE: 368 DATA :26/11/2005 - 16:17:23 ---------------------------------------- Salve a tutti, esistono funzioni in labview che permettono di spostare uno o più file da una cartella in un'altra? In generale è possibile creare una cartella e copiare, tagliare e incollare file? Saluti e Grazie ---------------------------------------- AUTORE: 129 DATA :26/11/2005 - 16:24:19 ---------------------------------------- Si nella palette file/advanced trovi funzioni su cartelle e file. ---------------------------------------- AUTORE: 368 DATA :26/11/2005 - 19:05:20 ---------------------------------------- Grazie della dritta Nicola \":D\" ---------------------------------------- ================================================================================ Valore di default ================================================================================ AUTORE: 341 DATA :27/11/2005 - 16:21:35 ---------------------------------------- Salve,ho un problema da sottoporre alla vostra attenzione. Ho un VI in cui salvo un valore numerico.Tale valore deve essere anche il valore iniziale di un Numeric Control posto in un secondo VI. Per essere più chiaro allego un VI di esempio nel quale ho provato ad usare un Property Node,ma senza nessun risultato.Aspetto con fiducia e ringrazio. ---------------------------------------- AUTORE: 680 DATA :27/11/2005 - 16:58:31 ---------------------------------------- ciao, prova a vedere se ho capito bene........ ---------------------------------------- AUTORE: 341 DATA :28/11/2005 - 13:40:20 ---------------------------------------- Perfetto.Grazie.Certo che a volte le cose semplici sembrano essere le più complesse,almeno per chi non ha grande dimestichezza con Labview ---------------------------------------- ================================================================================ Avete usato la scheda I/O Keatly KPCI3160??????? ================================================================================ AUTORE: 865 DATA :28/11/2005 - 14:04:38 ---------------------------------------- Salve ho un problema su questa scheda,non mi acquisisce + di 10kbyte/sec,ho scoperto che ha un clock interno,sapete qualcosa???? ---------------------------------------- AUTORE: 278 DATA :28/11/2005 - 18:19:57 ---------------------------------------- Ciao, io non utilizzo harware della Keithley (si scrive così credo \":?\" ), curiosando sul loro sito www.keithley.com ho trovato l'hardware da te utilizzato, ma nei manuali e datasheet non ho trovato alcuna informazione in merito alla velocità di sampling. Ho trovato interessante invece questo link http://www.keithley.com/data?asset=12180 dove scarichi un pdf che ti illustra dove trovare esempi fatti in Lv installati sul tuo computer. Si sa mai che siano d'aiuto \":wink:\" ---------------------------------------- AUTORE: 865 DATA :05/12/2005 - 15:02:59 ---------------------------------------- Grazie,ho notato anch io che nei data shett non c'è verso di trovare info sul clock,ho provato a sentire la keithley ma sono molto vaghi e danno poca assistenza,spero che qualcuno mi sappia dare una risposta,io intanto faccio delle prove \":(\" ---------------------------------------- ================================================================================ due dimensioni array tcp/ip ================================================================================ AUTORE: 914 DATA :28/11/2005 - 14:09:35 ---------------------------------------- Ciao a tutti, io ho un problema vorrei inviare via tcp/ip un array a due dimensioni, ma non me lo lascia fare mentre ad una dimensione si, come faccio? qualcuno mi sa aiutare? grazie a tutti [/img] ---------------------------------------- AUTORE: 113 DATA :29/11/2005 - 14:10:27 ---------------------------------------- La comunicazione tcp/ip avviene tramite lo scambio di stringhe binarie. Per trasmettere l'array 2D devi prima convertirla in stringa con la funzione Flatten to string che trovi nella palette: Advanced/Data Manipulation. Dal lato client devi convertire le stringhe in array con la funzione Unflatten From String. Ti allego l'immagine esemplificativa dei due metodi. ---------------------------------------- ================================================================================ visualizzare finestra telecamera ================================================================================ AUTORE: 838 DATA :29/11/2005 - 07:54:16 ---------------------------------------- ho la necessità di visualizzare da un'ingresso video analogico pal le immagini in una finetsra di labview, magari sui 25fps le dimensioni saranno sui 640x480 sono costretto a prendere quei adattatori usb con la linea pal in ingresso, o al massimo una pcmcia per notebook è possibile? grazie \":D\" ---------------------------------------- AUTORE: 384 DATA :20/12/2006 - 08:58:20 ---------------------------------------- Si, devi usare un dispositivo di acquisizione video, USB, PCMCIA o PCI che sia. Per avere l'immagine in LabView, verificha che il software che ti danno con il sistema che sceglierai sia "utilizzabile" da LabView. Come sai, non tutte le DLL sono compatibili. ---------------------------------------- ================================================================================ waveform da file ================================================================================ AUTORE: 847 DATA :29/11/2005 - 12:58:26 ---------------------------------------- Qualcuno usa read waveform from file? Come si fa per aprire più di un record alla volta? Io volevo aprire tutta la waveform e visualizzarla analizzandola un po alla volta come posso fare? Grazie Ciao ---------------------------------------- AUTORE: 748 DATA :30/11/2005 - 01:14:14 ---------------------------------------- Ci sono procedure più veloci a seconda di come è formattato il file con la tua curva. In generale comunque (se non hai nessuna pretesa di velocità di lettura da file) basta leggere il file come se fosse un semplice file di testo (trovi il comando nelle funzioni \"file I/O\") e formattare la stringa ottenuta a seconda di come è stato scritto il file (trovi il comando nelle funzioni \"String\") infine convertire le stringhe in numeri. Ad esempio se il file fosse formattato come: 1,0;12,5 2,1;13,1 3,2;16,3 ... puoi usare l'esempio che ti allego. Ripeto, non è il metodo più veloce e corretto ma si adatta bene a qualsiasi formattazione del testo. Mark ---------------------------------------- AUTORE: 847 DATA :30/11/2005 - 18:38:21 ---------------------------------------- CIAO grazie mille però io uso labview 6.1 e nn riesco a vedere l'esempio potresti inviarmelo come immagine per darci un'occhio. Grazie se puoi Ciao ---------------------------------------- AUTORE: 748 DATA :30/11/2005 - 22:59:41 ---------------------------------------- Ecco l'immagine... Immagino che i puristi della programmazione rabbrividiranno \":lol:\" ---------------------------------------- AUTORE: 847 DATA :01/12/2005 - 07:51:58 ---------------------------------------- Grazi 1000 x l'immagine,cmq per ora l'importante è riuscire a farlo andare per la forma si può sempre migliorare.. Ciao grazie ---------------------------------------- AUTORE: 847 DATA :01/12/2005 - 18:33:51 ---------------------------------------- ho aperto un nuovo topic con la domanda più precisa.. grazie ciao ---------------------------------------- ================================================================================ Grafico, intersezione curve ================================================================================ AUTORE: 897 DATA :29/11/2005 - 18:38:15 ---------------------------------------- Ciao a tutti! Non sono molto esperto, ma volevo chiedervi se esiste una funzione per disegnare un grafico a partire da una retta o qualcosa di simile (e magari trovare i punti di intersezione con le altre).. Grazie (anche se non esiste nulla di tutto ciò..) \":D\" Ciao! ---------------------------------------- AUTORE: 748 DATA :02/12/2005 - 00:39:45 ---------------------------------------- Su di un grafico puoi disegnare qualsiasi funzione previa discretizzazione della stessa... mi spiego meglio: Nel tuo caso hai una retta Y = mX + n In base al range dei valori in ascissa che vuoi tracciare calcoli i corrispettivi valori di ordinata... avrai quindi una successione di punti che traccerai sul grafico P1(X1,Y1) ; P2(X2,Y2) ... Pn(Xn,Yn) [visto che tu vuoi tracciare una retta ti basta calcolare il primo e l'ultimo punto del range e labview provvederà a collegarteli con un segmento] Quanto al calcolo del punto di intersezione tra 2 funzioni ti conviene procedere matematicamente (intersezione: F1(x) = F2(x) quindi F1(x) - F2(x) = 0 ) nel caso di 2 rette: mX + n = m'X + n' -> X = (n' - n)/(m - m') Se invece hai 2 funzioni piu' complesse ne fai la differenza e calcoli gli zeri con la funzione apposita in: Analyze/mathematcs/Calculus/Zeroes Mark ---------------------------------------- AUTORE: 897 DATA :04/12/2005 - 10:31:53 ---------------------------------------- Grazie 1000! \":D\" ---------------------------------------- ================================================================================ Acquisizione con scheda audio ================================================================================ AUTORE: 943 DATA :30/11/2005 - 06:25:00 ---------------------------------------- Salve è da qualche mesetto che utilizzo Labview. Vorrei realizzare un monitoraggio della carica di una batteria al nichel cadmio ma non so come acquisire la tensione della batteria. Mi hanno detto che posso usare una scheda audio.Ma come!? Che istruzioni devo dare al programma? Grazie! ---------------------------------------- AUTORE: 680 DATA :30/11/2005 - 12:59:21 ---------------------------------------- Acquisire un valore in tensione con una scheda audio \"penso\" sia impossibile. Per acquisire un segnale analogico, devi utilizzare o una scheda (es. ni elvis) che ti permette di comunicare con labview oppure puoi convertire il segnale analogico con un adc (convertitore analogico digitale) e acquisire il valore numererico in uscita dall'adc direttamente con la porta parallela del pc. Un esempio di adc è l' adc0804. ciao....... ---------------------------------------- AUTORE: 748 DATA :30/11/2005 - 13:49:53 ---------------------------------------- La porta di ingresso per il microfono in fondo campiona un segnale analogico e quindi potrebbe essere anche utilizzata per monitorare un segnale in tensione continuo. Bisogna vedere però se il range di tensione utilizzata va bene anche per lo strumento da monitorare. Mark ---------------------------------------- AUTORE: 645 DATA :30/11/2005 - 15:45:17 ---------------------------------------- Io penso che la scheda audio possa essere utilizzata per l'acquisizione di una tensione: ci sono, anche in internet, alcuni programmi che sfruttando l'ingresso del microfono rendono il pc un oscilloscopio. Solo bisogna vedere se il range di valori assunti dal segnale misurato è compatibile con l'ingresso microfono. ---------------------------------------- AUTORE: 680 DATA :30/11/2005 - 19:37:51 ---------------------------------------- è vero, non ci avevo pensato..... cmq il problema, è \"scoprire\" qual'è il range di tensione che accetta in ingresso e come acquisire il segnale in labview... ciao... ps: dimmi se riesci a fare qualcosa....... ---------------------------------------- AUTORE: 645 DATA :01/12/2005 - 08:32:17 ---------------------------------------- Ho cercato qualcosa in internet: se inserite in un motore i ricerca le parole \"scheda audio\" and pc and microfono and oscilloscopio and tensione escono risultati su misure elettriche, elettronica per hobby, conversione analogico-digitale, oscilloscopi... Però non riesco a trovare il range di funzionamento. Comunque credo che segnali fino a 5 (forse 10) V non creino problemi! ---------------------------------------- AUTORE: 534 DATA :01/12/2005 - 10:05:44 ---------------------------------------- una scheda audio è normalmente disaccoppiata in continua tramite un condensatore di ingresso, quindi inadatta a misurare tensioni cc saluti luigi ---------------------------------------- AUTORE: 680 DATA :01/12/2005 - 12:48:19 ---------------------------------------- è disaccopiata, questo è vero... però se io converto la tensione in ingresso in frequenza risolvo i problemi... cmq secondo me, il segnale in ingresso sulla scheda audio penso sia di 1Vpp ciao... ---------------------------------------- AUTORE: 534 DATA :05/12/2005 - 10:06:45 ---------------------------------------- in questo caso indipendentemente dalla qualità del tuo convertitore F/V ,devi considerare che l'impedenza d'ingresso molto probabilmete introdurrà una reattanza falsando la misura... ---------------------------------------- ================================================================================ Creare cartelle ================================================================================ AUTORE: 368 DATA :30/11/2005 - 12:45:02 ---------------------------------------- Ciao, scuate la domanda forse troppo banale, ma come si fa a creare una cartella? In particolare vorrei realizzare un VI che crei una cartella e la nomini ad esempio 30_11_2005; in tale cartella saranno salvati i report relativi a quella data. L'idea non è defficile, ma è che non so come creare una cartella!!!! \":o\" Ciao a tutti e grazie ---------------------------------------- AUTORE: 680 DATA :30/11/2005 - 12:50:12 ---------------------------------------- Ecco come fare... la funzione \"new directory\" la trovi nelle funzioni avanzate di \"file i/o\" ciao... ---------------------------------------- AUTORE: 368 DATA :30/11/2005 - 13:48:16 ---------------------------------------- Ecco dov'era.. edove poteva essere se no!!!!! Grazie mille, e scusa la mia sbadataggine... \":D\" ---------------------------------------- ================================================================================ Aprire un file di Cluster ================================================================================ AUTORE: 482 DATA :01/12/2005 - 15:49:47 ---------------------------------------- ...ma ciao! inavvertitamente mi sono scontrato con un problema che penso sia banale ma col quale non ho mai avuto a che fare... Salvo in un file un cluster formato da una stringa e un booleano. Ogni volta che salvo gli aggiungo un altro cluster cosi' da formare un file composto da un tot di cluster. Quando vado a fare la Write sul file gli devo dire il tipo di cluster e quanti ce ne sono nel file se voglio leggerlo tutto. Come faccio a calcolarmi quanti cluster ci sono nel file? vado a vedere le file info per avere la dimensione in byte e poi dovrei dividerla per la dimensione in byte del cluster. ma il problema è: come faccio a recuperare la dimensione in byte del cluster? Mi sapete aiutare? O avete consigli per evitarmi sto problema? ...ma ciao! Geppo! ---------------------------------------- AUTORE: 487 DATA :02/12/2005 - 07:28:21 ---------------------------------------- Ciao, scusa la domanda, ma non puoi salvare il cluster in un array e poi memorizzare l'array? ---------------------------------------- AUTORE: 482 DATA :02/12/2005 - 07:31:42 ---------------------------------------- eh no perchè è un cluster di elementi non omogenei! un booleano e una string....quindi niente array \":cry:\" ---------------------------------------- AUTORE: 487 DATA :02/12/2005 - 07:38:04 ---------------------------------------- Scusa se insisto, ma forse non ho capito bene o non mi sono spiegato bene: io intendevo dire di costruire un array di cluster a loro volta composti dai tuoi controlli (booleano + stringa), per cui l'array rimane omogenea, a meno che i cluster che la compongono non abbiano strutture diverse. ---------------------------------------- AUTORE: 482 DATA :02/12/2005 - 07:47:25 ---------------------------------------- Grazie per l'insistenza! \":wink:\" il problema è che questo file viene creato in diversi momenti e in diverse esecuzioni del file. Se facessi un array, dovrei ogni volta aprire il file,prelevare l'array e aggiungergli un elemento per poi risalvare il tutto. Puo' essere una possibile soluzione e non la scarto a priori, pero' se trovassi il modo per calcolare la dimensione lo preferirei. grazie mille! \":wink:\" ---------------------------------------- AUTORE: 487 DATA :02/12/2005 - 08:23:13 ---------------------------------------- Credo che quello che vuoi fare sia parecchio complicato, e sinceramente non saprei come tu possa fare anche perchè la dimensione del cluster che vai a salvare cambia a secondo del contenuto del controllo stringa, o forse la tua stringa ha una lunghezza costante? ---------------------------------------- AUTORE: 482 DATA :02/12/2005 - 08:28:48 ---------------------------------------- ...eccomi...cazzarola... ho pensato anche io solo adesso alla questione stringa che è variabile.. Nel frattempo ho buttato giu' un esempio seguendo il tuo consiglio, solo che neanche questosembra funzionare..mi sai aiutare? Mandando in RUN l'allegato, la prima volta giustamente da errore perchè cerca di leggere un file che non esiste, poi pero' dovrebbe funzionare ed aggiungere un elemento all'array di volta in volta, invece non gli piace il formato del file... ---------------------------------------- AUTORE: 596 DATA :02/12/2005 - 08:35:35 ---------------------------------------- Perdonami ma c'è un problema, passi il booblean ma la stringa può avere dimensioni diverse quindi ogni cluster che scrivi avrà dimensioni diverse dubito che dalla sola dimensione del file tu riesca a capire quanti cluster ci stanno a meno di utilizzare stringhe di lunghezza costante. Di certo datti un occchiata qui: http://zone.ni.com/devzone/conceptd.nsf ... 33006BFB78 Cmq per calcolare la dimensione di un cluster penso sia sufficiente fare come nell'allegato . Ciao, Riccardo ---------------------------------------- AUTORE: 596 DATA :02/12/2005 - 08:37:33 ---------------------------------------- Sono arrivato in ritardo.... \":(\" non avevo letto gli ultimi due messaggi Ciao, rik. ---------------------------------------- AUTORE: 487 DATA :02/12/2005 - 09:19:05 ---------------------------------------- Ok, ecco la versione modificata del tuo vi: ora dovrebbe funzionare tutto. Ciao ---------------------------------------- AUTORE: 482 DATA :02/12/2005 - 16:17:34 ---------------------------------------- Grazie mille! cosi' va benissimo! \":D\" \":wink:\" ---------------------------------------- ================================================================================ Front panel Template ================================================================================ AUTORE: 952 DATA :01/12/2005 - 16:57:21 ---------------------------------------- Ciao, vorrei sapere se esiste un modo di creare un template di un front panel Ho un applicazione che è composta di una serie di pagine video e mi interesserebbe creare un \"core\" comune anche della parte visualizzabile sul front panel in modo che facendo una modifica sul template o core la stessa venga riportata su tutte le pagine video. A quanto mi risulta con la mia versione di LabView (la 7.0) questo non è attualmente possibile. Le domande sono: - esiste un tool di LabView od una versione (x es. la 8.0) su cui è possibile? - se no qualcuno ha un idea di un trucco per ottenere lo stesso risultato? Grazie J Stalky ---------------------------------------- AUTORE: 247 DATA :01/12/2005 - 17:31:49 ---------------------------------------- Ciao, <trucco> puoi realizzare questo tuo \"template\" racchiudendo tutti i controlli del FP all'interno di un cluster che, a parte la possibile pesantezza del tutto..., in questo modo puoi customizzare e far diventare una definizione di tipo alla quale fanno capo tutte le copie del controllo(l'intero FP); lasciando abilitata l'opzione auto-update tutte le copie verranno modificate in base al controllo \"master\"...è il comportamento che circa vuoi ottenere? </trucco> BYE. ---------------------------------------- AUTORE: 952 DATA :02/12/2005 - 10:47:49 ---------------------------------------- Grazie si questa era la soluzione che adottavo già in parte. Mo vedo di approfondirla un pò. La curiosità era sapere se ci fosse qualcosa di migliore per la gestione di pagine video complesse. Ciao ---------------------------------------- ================================================================================ Lettura waveform per misure ================================================================================ AUTORE: 847 DATA :01/12/2005 - 18:31:52 ---------------------------------------- Il mio problema è aprire un file creato con write waveform to file,io lo ho fatto come nell'esempio che allego ma mi apre soltanto un record per volta,io vorrei aprire più record per volta in modo da vedere l'intera onda. Come posso fare? Grazie ciao ---------------------------------------- AUTORE: 748 DATA :02/12/2005 - 00:21:30 ---------------------------------------- ...sarà che a me non piace salvare i dati in formati poco leggibili (vedi le waveforms) cmq ti consiglio di guardare l'esempio di scrittura/lettura situato in: \National Instruments\LabVIEW 6.1\examples\Waveform\FileIO.llb Sicuramente risolverà i tuoi problemi Mark ---------------------------------------- AUTORE: 847 DATA :02/12/2005 - 19:10:17 ---------------------------------------- Grazie del consiglio,proverò a darci un'occhiata cmq non ti do tutti i torti ma come potrei fare diversamente per fare misure off-line. Grazie Ciao ---------------------------------------- ================================================================================ grafico con memeria ================================================================================ AUTORE: 683 DATA :02/12/2005 - 11:44:03 ---------------------------------------- ciao a tutti come si fa a fare un grafico con \"memeoria\"?? mi spiego meglio devo acquisire dati per tempi lunghi che spariscono dopo un po dal grafico cosa devo fare per poterlo scorrere all'indietro ?? grazie a tutti ---------------------------------------- AUTORE: 680 DATA :02/12/2005 - 12:35:01 ---------------------------------------- clicchi col tasto destro sopra i grafico, clicca su \"Visible items\" e poi su \"X scrollbar\". ti crea la barra di scorrimento orrizontale con cui puoi tornare a vedere i vecchi dati...... ciao.... ---------------------------------------- AUTORE: 201 DATA :02/12/2005 - 12:35:36 ---------------------------------------- Abilitare l'X scrollbars ---------------------------------------- AUTORE: 129 DATA :02/12/2005 - 12:42:12 ---------------------------------------- Ovviamente per spostarti devi visualizzzare le barre, ma se utilizzi un grafico di tipo chart, ti memorizza di default 1024 points, che puoi modificare (allocando RAM) con tasto destro [b:32dkwh6i]chart history lenght[/b:32dkwh6i]. Ciao ---------------------------------------- AUTORE: 751 DATA :02/12/2005 - 12:47:25 ---------------------------------------- Ciao \":lol:\" x fare quello ke dici tu basta cliccare col tasto destro sul grafico e da qui segui la prima voce: \"Visible Items\"->\"X Scrollbar\" oppure utilizzare: \"Visible Items\"->\"Graph Palette\" e da questa paletta clicca sulla manina x poterti spostare sul grafico all'indietro! \":wink:\" Buon lavoro! ---------------------------------------- AUTORE: 683 DATA :02/12/2005 - 16:50:07 ---------------------------------------- grazie a tutti per le dritte buonweekend ---------------------------------------- ================================================================================ Divisione Binaria ================================================================================ AUTORE: 901 DATA :02/12/2005 - 17:29:21 ---------------------------------------- Sono proprio contento \":(\" ...altro problema che a quanto pare sembra insormontabile...quindi non posso fare altro che chiedere consiglio a voi saggi di LAbView... Come posso ottenere la divisione tra 2 numeri in binario in virgola mobile e seguendo lo standard IEEE754?????? Se qualcuno sa qualcosa lo prego e lo scongiuro di rispondere qui!!!! GRASSSSSSSSIE!!!! \":D\" ---------------------------------------- AUTORE: 748 DATA :03/12/2005 - 15:20:18 ---------------------------------------- In realtà quando crei un valore single o double precision in floating point (quelli rappresentati in arancione per intenderci) hai una rappresentazione decimale di un numero binario che il sistema usa per fare i calcoli. Ossia a te mostra il valore decimale corispondente ma in realtà LV opera su numeri binari ed esegue operazioni seguendo lo standard per i numeri in floating point (che mi sembra sia proprio l'IEEE754). Devi quindi convertire i tuoi numeri binari (non so in che formato li hai stringa, I32 ...) in numero binario floating point (devi avere un'uscita arancione per intenderci) seguendo la formula: (-1)^segno X 2^esponente X Mantissa A questo punto esegui tutte le operazioni che vuoi normalmente e riconverti il valore finale in binario (se ti serve il valore binario in uscita) Ad esempio: 1 10000010 0010100.......0 (binario iniziale) -> formula (-1)^s X 2^E X M -> -9,25 (numero corrispondente decimale) -> eseguo calcoli Mark ---------------------------------------- AUTORE: 901 DATA :03/12/2005 - 17:36:52 ---------------------------------------- Ehm si mi scuso per non aver esposto bene il problema... Nel mio progetto devo utilizzare interamente fili blu e NESSUN filo arancione...quindi non posso proprio fare come dici tu... ---------------------------------------- AUTORE: 748 DATA :05/12/2005 - 21:40:17 ---------------------------------------- Dubito fortissimamente che si possa fare sfruttando gli I32/U32 anche perche per Labview quella successione di valori binari assume un significato diverso rispetto alla stessa successione di numeri considerata pero' come numero in floating point. Ossia: 1 10000010 0010100.......0 = -9.25 in floating point 1 10000010 0010100.......0 = 2^31 + 2^30 + .... in U32 per cui la stessa successione di valori binari ha un valore \"totale\" diverso a seconda di come lo si consideri. Non so bene perche tu debba tenerli come numeri interi per poi eseguirci sopra dei calcoli buoni per i valori in floating point cmq l'unica idea che mi viene in mente se proprio vuoi avere solo fili blu e' quella di convertire il numero in una matrice di interi e operare valore per valore seguendo l'algoritmo di divisione. mark ---------------------------------------- AUTORE: 901 DATA :06/12/2005 - 13:03:32 ---------------------------------------- Il fatto mark è che il processore su cui poi devo lavorare non potrà utilizzare altro che \"fili blu\"...è per quello che i float sono banditi nel mil lavoro... Ma un'idea per fare la divisione proprio no? Uno schemino, qualcosina...io proprio non so che pesci pigliare!!! ---------------------------------------- AUTORE: 129 DATA :06/12/2005 - 17:17:47 ---------------------------------------- Sul manuale di labview dice: [code:il0jw5t9] Floating-Point Numbers Floating-point numbers in LabVIEW conform to the ANSI/IEEE Standard 754-1985. Refer to the Numeric Data Types Table for more information about numeric data type bits, digits, and range. There are three types of floating-point numbers. Single-precision (SGL)—Single-precision, floating-point numbers have 32-bit IEEE single-precision format. Use single-precision, floating-point numbers when memory savings are important and you will not overflow the range of the numbers. Double-precision (DBL)—Double-precision, floating-point numbers have 64-bit IEEE double-precision format. Double-precision is the default format for numeric objects. For most situations, use double-precision, floating-point numbers. Extended-precision (EXT)—When you save extended-precision numbers to disk, LabVIEW stores them in a platform-independent 128-bit format, which is the same as the Sun in-memory format. In memory, the size and precision vary depending on the platform. Refer to the LabVIEW Data Storage Application Note for more information about using numeric data types in LabVIEW. Use extended-precision, floating-point numbers only when necessary. The performance of extended-precision arithmetic vary among platforms. [/code:il0jw5t9] quindi lo standard è quello giusto, non è chiaro il fatto virgola mobile integer, ma provo a darti una soluzione blu..... era questo che volevi? ---------------------------------------- AUTORE: 901 DATA :07/12/2005 - 13:42:58 ---------------------------------------- Ho un piccolo problema...ho installato la versione 7.0 di LabView e il tuo file mi richiede assolutamente la versione 7.1...solo che non la trovo in giro...già che ho trovato la 7.0!!! Cmq grazie mille per l'aiuto! sei veramente genitlissimo! \":D\" ---------------------------------------- ================================================================================ Indirizzo IP ================================================================================ AUTORE: 238 DATA :03/12/2005 - 08:04:07 ---------------------------------------- Qualcuno sa dirmi se esite un modo per cambiare da programma l´indirizzo IP del proprio PC \":?:\" ---------------------------------------- AUTORE: 645 DATA :05/12/2005 - 10:20:30 ---------------------------------------- Secondo me non puoi cambiare l'indirizzo IP del tuo pc. O meglio: se intendi l'IP di un pc connesso in rete internet non puoi perchè l'IP ti viene fornito al momento della connessione dal provider. Se intendi l'IP di un pc connesso in rete locale puoi parlare con l'amministratore di rete (che magari sei tu se la rete è casalinga) (...o se sei tu l'amministratore... ehm...) ma non credo che sia un'operazione eseguibile da un VI. ---------------------------------------- AUTORE: 247 DATA :05/12/2005 - 20:44:27 ---------------------------------------- Ciao, ovviamente dipende dal sistema operativo che stai utilizzando, cmq se sei sotto win controlla di avere il programma netsh, con questo puoi modificare le tue impostazioni IP seguendo le [url=http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx:1uitafhd]specifiche Microsoft[/url:1uitafhd], per un esempio vai [url=http://www.petri.co.il/configure_tcp_ip_from_cmd.htm:1uitafhd]qui[/url:1uitafhd]. BYE. ---------------------------------------- AUTORE: 113 DATA :06/12/2005 - 07:27:51 ---------------------------------------- Non avevo idea che si potesse fare tutto ciò \":!:\" Grazie Apollon per l'utilissima dritta \":idea:\" \":wink:\" ---------------------------------------- AUTORE: 238 DATA :06/12/2005 - 07:58:02 ---------------------------------------- Ti ringrazio \":!:\" ---------------------------------------- AUTORE: 645 DATA :06/12/2005 - 08:39:19 ---------------------------------------- Urpa! Ho imparato qualcosina di nuovo... ---------------------------------------- ================================================================================ Più domande ================================================================================ AUTORE: 955 DATA :05/12/2005 - 07:46:14 ---------------------------------------- Dal momento che sono nuovo e ci capisco ben poco di questo programma avrei molte domande...le posto qui: 1-Che differenza c'è tra il waveform graph e il waveform chart? 2-Che differenza c'è tra un simulatore di forme d'onda e il ciclo for? (per simulatore di forme d'onda intendo il ring.)Ed eventualmente quale conviene di più? 3-Come faccio ad effettuare l'operazione di media su un segnale?Per il massimo ed il minimo ho notato che esiste un'apposito blocchetto l'array min & max!anche se non ne so se va bene per la misurazione di valori minimi e massimi di un segnale...a me sembra che entrambi diano lo stesso risultato in uscita -forse xkè trattasi di array?-! Molte domande saranno anche futili ma io sto un po' in pallone...vi prego di rispondermi con la massima chiarezza possibile (perchè sono un po' ottuso! \":cry:\" ) Vi ringrazio ---------------------------------------- AUTORE: 129 DATA :05/12/2005 - 08:47:34 ---------------------------------------- 1-Tra il chart e il graf c'è la differenza di come registrano i dati...il chart è più idoneo per registrazioni tipo datalogging.Il chart è più comodo, ma il graf è soicuramente più performante. 2- non capisco che cosa intendi, con il ciclo FOR puoi costruire una forma d'onda, inserendo la funzione all'interno e collegandola sul perimetro del ciclo, quindi fai clik destro sul punto di intersezionee crete a indicator, oppure gli colleghi un bel chart.Il terminale N, devi inserire una costante che indichi di quanti punti è formata la tua matrice. 3- l'operazione di media, la puoi fare con la funzione analyze/mathematics/probablity e statistic/mean.vi ---------------------------------------- AUTORE: 955 DATA :05/12/2005 - 08:58:20 ---------------------------------------- ok grazie!ora controllo un po'...ci smanetto e ti faccio sapere! magari eventuali altri dubbi li posto sempre qui così da non spammare troppo! \":)\" ---------------------------------------- AUTORE: 129 DATA :05/12/2005 - 09:02:57 ---------------------------------------- ops dimenticavo, se cerchi negli esempi (Help/Find example/fundamental) trovi molti esempi sia sui cicli che sui grafici che ti potranno essere utili per capire come girano le cose... Ti allego comunque un esempi con For/Graf e CHart e media, speriamo che almeno noi ti possiamo dare una mano per il tuo esame, e chissà che non ti appassioni al labVIew.... ---------------------------------------- AUTORE: 955 DATA :05/12/2005 - 09:33:57 ---------------------------------------- non riesco a trovare la sezione help...se mi puoi postare il link così magari vedo se trovo altro di mio interesse! \":wink:\" Così magari domani faccio una visitina al prof/assistenti nella speranza che siano clementi \":(\" ---------------------------------------- AUTORE: 955 DATA :05/12/2005 - 10:40:26 ---------------------------------------- Allora per quel che ho capito ci sono 2 metodi per generare un segnale! Vi posto le immagini dei circuiti che ho creato qui sotto: il primo oltre che risultarmi più semplice per quel che ho capito mi permette di cambiare anche instantaneamente i valori. [img:2rgwqb7o]http://img220.imageshack.us/img220/441/mediasegnali4js.jpg[/img:2rgwqb7o] per generare il segnale uso un generatore di segnale associato a dei dispositivi che setto nel pannello frontale tra cui il ring che prendo da all controlls/Ring&Enum/Text ring. Io setto questo Text Ring, con il edit item, e vedo che per ogni posizione c'è una forma d'onda differente (in ordine: sinusoide, cosinusoide, onda triangolare, onda quadra...etc etc..). è giusto usare questo metodo? o mi conviene usare quello con il ciclo for che riporto qui sotto: [img:2rgwqb7o]http://img216.imageshack.us/img216/5366/media21gm.jpg[/img:2rgwqb7o] tra l'altro in questo l'operazione di media non sembra funzionare a dovere...perchè? ---------------------------------------- AUTORE: 645 DATA :05/12/2005 - 14:12:36 ---------------------------------------- Ma per generare un segnale puoi usare anche il \"Signal Generator\" (sotto i blocchi Express). Se ti serve tanto per fare qualche analisi su un segnale. Altrimenti ci sono blocchi per la generazione del segnale anche nella sezione \"Analog Signal Generation\". Io uso questi blocchi (per esempio il generatore di funzioni sinuosoidali) perchè agendo sui dati di campionamento (frequenza e n.° campioni) puoi fare analisi interessanti. Se invece devi acquisire il segnale dall'esterno devi utilizzare i blocchi \"Signal Acquisition\". I nomi delle sezioni forse non sono proprio quelli che ho scritto ma ci assomigliano... è che non ho LabView aperto e a memoria i nomi dei blocchi non li so. ---------------------------------------- AUTORE: 955 DATA :05/12/2005 - 16:38:24 ---------------------------------------- Magic ho apprezzato molto il link che mi hai dato!davvero utile! solo che in questi 2 giorni di smanettamento assoluto ho notato che per la generazione di segnali esistono più metodi!Ad esempio: 1-quelli che ho mostato su io 2-quello riportato nella dispensa a cui tu mi hai linkato! Quest'ultimo è davvero semplicissimo! Devo chiedere al mio prof domani se posso usarlo! \":lol:\" Come dice Bisio....Magari.... \":D\" ---------------------------------------- AUTORE: 645 DATA :05/12/2005 - 16:52:25 ---------------------------------------- Ti allego le immagini delle due soluzioni principali, quella con l'emulatore di segnali (tra i blocchi Express) e quella con il generatore di funzioni di base. Nelle immagini i riquadri riferiti alle \"Sampling info\" sono le informazioni di campionamento sulle quali agire per modificare il segnale visualizzato e simulare un'acquisizione più o meno precisa. Gli altri parametri che ti ho messo in evidenza sono Ampiezza, Fase e Frequenza del segnale. ---------------------------------------- AUTORE: 955 DATA :05/12/2005 - 17:01:26 ---------------------------------------- mmm ottimo!anche tu quindi usi i blocchetti azzurri! Domani o al limite mercoledì chiedo al prof se posso usarli anche io o se invece devo \"piangermela\" io la generazione del segnale!spero che mi dai buona!solo perchè è più semplice! \":roll:\" ---------------------------------------- AUTORE: 955 DATA :06/12/2005 - 17:24:41 ---------------------------------------- Allora parlando un po' col prof stamattina sono giunto a questa conclusione: per la generazione dei segnali devo utilizzare i blocchetti presenti in waveform generation. Ora l'inglese lo so anche tradurre, ma mi sono un po' ostici alcuni passaggi! 1-Ad esempio nel Sine Waveform: frequnza, ampiezza e fase li setto io con i knobs e sono quelli che voglio che la forma d'onda abbia.Quello che (putroppo il prof me l'aveva pure spiegato ma il suo progetto -l'avevamo salvato- non si apre sul mio pc... \":cry:\" )non mi è chiaro è sampling info!Come lo setto quel parametro? 2-Il secondo problema si pone nell'utilizzo del multitone generator, che, per quanto ho capito, serve per generere un segnale con armoniche iniziali. In questo caso come devo settare i tone frequencies, tone amplitudes,tone phases e il sampling info? A quanto ho capito i vari tone settano le specifiche sulle armoniche! Supponendo di volere 1fondamentale a 100kHz, un' armonica a 50kHz e un'altra a 10kHz, (le relative ampiezze e le fasi iniziali le setto io a mio piacimento, come per le frequenze?) a che valori devo porre il sampling? \":roll:\" ---------------------------------------- AUTORE: 955 DATA :06/12/2005 - 17:54:50 ---------------------------------------- Ah altra cosa...posso postare (sempre in questo topic) lo stamp dei circuiti che faccio? Così magari se qualcuno di buona volontà me li correggesse ...farei a meno di una figura di 4 soldi col prof... \":(\" ---------------------------------------- AUTORE: 645 DATA :13/12/2005 - 10:06:09 ---------------------------------------- Nei blocchi di generazione del segnale si possono impostare diversi valori: frequenza, ampiezza, fase. I numeri presenti nel cluster \"Sampling Info\" rappresentano le informazioni di campionamento del segnale. E qui nasce la domandona: come mai parliamo di campionamento del segnale (argomento che si usa durante l'acquisizione di un segnale) in un blocco di generazione? Perchè il segnale generato dai blocchi non è continuo ma discreto! LabView è un software e gira su una macchina digitale (pc): si tratta quindi di uno strumento discreto e come tale non è in grado di lavorare con segnali continui nel tempo. Come tutte le schede elettroniche di acquisizione e generazione anche il pc sfrutta convertitori analogico-digitali e digitale-analogici per collegare il mondo dei numeri con il mondo reale. Il teorema del campionamento dice che per campionare correttamente un segnale è necessario lavorare con frequenza di campionamento (\"Fs\" nel Front Panel) pari ad almeno il doppio della massima frequenza presente nel segnale da campionare. Nel nostro caso stiamo generando un segnale mono-frequenziale e quindi non c'è bisogno di preoccuparsi di filtri vari; semplicemente per generare un segnale a 50 Hz, per esempio, è sufficiente impostare una \"Fs\" almeno pari a 100 Hz. Se fai qualche prova aumentando il valore di \"Fs\" vedrai che il segnale appare più bello graficamente (cioè, matematicamente, viene realizzato con un numero maggiore di campioni). A questo punto si pone un altro problema: campionando un segnale analogico si può cadere nell'errore di leakage. Se il segnale continuo e quello discreto non sono sincronizzati si ha la comparsa di rumore sullo spettro delle frequenze. Nel nostro caso conosciamo sia la frequenza esatta del segnale da campionare (i 50 Hz nell'esempio precedente o comunque la frequenza che imposti tu con la manopola) che la frequenza del segnale campionato (\"Fs\"). Quindi non cadiamo in errori di questo tipo (a meno che tu modifichi il valore di \"Fs\" in corsa... prova!). Il numero \"#s\" indica quanti periodi visualizzare sul grafico. Per semplicità vale la formula: Periodi_Visualizzati = \"Fs\" / \"Frequenza del segnale\" * \"#s\". Per la semplice generazione di un segnale puoi lasciare valori di \"Fs\" e \"#s\" alti (è sufficiente lasciare quelli di default). Se però vuoi fare qualche prova per vedere come si comporta l'acquisizione dei segnali puoi lavorare tenendo presente le indicazioni precedenti! Per conoscere bene la teoria dei concetti riportati prova a cercare (anche nei documenti che mette a disposizione la National) \"Teorema di campionamento\" (o \"Sampling Theorem\") e \"Teorema di Shannon\" (o \"Shannon Theorem\"). ---------------------------------------- AUTORE: 955 DATA :13/12/2005 - 10:20:08 ---------------------------------------- ok su questo mi ritrovo (ps sei un docente universitario?...spiegazione davvero impeccabile \":wink:\" )! ora avrei un'altra domanda... quando nel multitone generator sui tone frequences e tutti gli altri clicco col destro e seleziono create constant mi appare un arry! Ti posto l'immagine così è + chiaro... \":roll:\" [img:2r50yyez]http://img212.imageshack.us/img212/4245/immagine2rm.jpg[/img:2r50yyez] io ho fatto una prova settando solo nel 3 i valori di frequenza delle armoniche e della fondamentale e il risultato mi viene uguale a quello della simulazione presente nel labview!però continuo a non capire cosa cambia tra 0,1,2,3 etc etc ---------------------------------------- AUTORE: 645 DATA :13/12/2005 - 10:33:57 ---------------------------------------- Dunque, non ho mai utilizzato il Multitone Generator dentro una simulazione ma mi sembra di capire che permetta di generare un segnale contenente più frequenze. Il vettore che vedi tu quando crei una cotante (o un controllo) ti permette di inserire le frequenze che vuoi siano presenti nel segnale generato. I numeri sulla destra (100, 200...) sono le frequenze, i numeri sulla sinistra (0,1,2...) sono semplicemente le posizioni del vettore (0= 1° elemento, 1= 2° elemento...). Credo che valgano le regole di \"Sampling Info\" che ti ho postato prima tenendo presente la massima frequenza presente nel segnale. Ps: non sono un docente ma uno studente (iscritto al 1° anno di specialistica di Ing. Elettrica) appassionato di elaborazione numerica dei segnali! Grazie per i complimenti! ---------------------------------------- AUTORE: 278 DATA :13/12/2005 - 10:38:00 ---------------------------------------- Ciao, Quel numerino che vedi in parte all'array indica l'indice dell'elemento alla sua destra. Se cambi questo numero cliccando sulle freccette vedrai che il numero visualizzato in alto nella colonna cambia. Esempio: se setti 2 vedrai apparire il numero 500 in alto alla colonna, mentre non vedi più il numero 1000. Questo non vuol dire che il numero 1000 viene eliminato dall'array, semplicemente viene shiftato verso l'alto. Infatti se riporti l'indice a 3 ti riappare il numero 1000. Se hai 10 elementi nell'array e vuoi visulizzarli tutti devi cliccare e trascinare il bordo dell'array verso il basso in modo da creare altre \"caselle\" per visualizzarne il contenuto. Dal punto di vista \"funzionale\" questa operazione non modifica nessun elemento dell'array, è solo un modo per visualizzarne il contenuto. ---------------------------------------- AUTORE: 955 DATA :13/12/2005 - 11:31:41 ---------------------------------------- ah ottimo! \":wink:\" Grazie a tutti voi!siete stati gentilissimi! \":D\" ---------------------------------------- AUTORE: 955 DATA :13/12/2005 - 14:23:43 ---------------------------------------- [quote="MagicBotolo":34hun3u6] Ps: non sono un docente ma uno studente (iscritto al 1° anno di specialistica di Ing. Elettrica) appassionato di elaborazione numerica dei segnali! Grazie per i complimenti![/quote:34hun3u6] io studente di ingegneria elettronica 3 anno...mi mancano 4 esami per passare al primo anno di specialistica! \":D\" ---------------------------------------- AUTORE: 645 DATA :13/12/2005 - 14:38:46 ---------------------------------------- Un elettronico? Ah, brutta gente... Scherzo! Sei riuscito a sistemare un po' le cose? ---------------------------------------- AUTORE: 955 DATA :13/12/2005 - 15:22:52 ---------------------------------------- [quote="MagicBotolo":221wlz1v]Un elettronico? Ah, brutta gente... Scherzo! Sei riuscito a sistemare un po' le cose?[/quote:221wlz1v] \":lol:\" si domani vado pure a mostrarle al prof!speriamo bene! \":wink:\" l'unica cosa su cui non mi trovo è questa... Periodi_Visualizzati = \"Fs\" / \"Frequenza del segnale\" * \"#s\". cioè se faccio Fs=2k e Fsegnale=1k e voglio visualizzare 2 periodi...mi ritrovo he fa 1....ed invece provando ho visto che con s= 400 visualizzo 2 periodi... \":|\" ---------------------------------------- AUTORE: 645 DATA :13/12/2005 - 15:56:01 ---------------------------------------- Dunque, più precisamente la formula ti dice quanti periodi vengono visualizzati sul grafico ogni volta che il segnale viene generato. Se selezioni una frequenza di campionamento bassa (per esempio il doppio esatto della frequenza del segnale) il segnale generato è brutto. La formula continua a valere ma come risultato hai un segnale strano, non perfettamente sinuosoidale (o di altra forma). ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 08:49:21 ---------------------------------------- [quote="MagicBotolo":2qwn0yrb]Nei blocchi di generazione del segnale si possono impostare diversi valori: frequenza, ampiezza, fase. I numeri presenti nel cluster \"Sampling Info\" rappresentano le informazioni di campionamento del segnale. E qui nasce la domandona: come mai parliamo di campionamento del segnale (argomento che si usa durante l'acquisizione di un segnale) in un blocco di generazione? Perchè il segnale generato dai blocchi non è continuo ma discreto! LabView è un software e gira su una macchina digitale (pc): si tratta quindi di uno strumento discreto e come tale non è in grado di lavorare con segnali continui nel tempo. Come tutte le schede elettroniche di acquisizione e generazione anche il pc sfrutta convertitori analogico-digitali e digitale-analogici per collegare il mondo dei numeri con il mondo reale. Il teorema del campionamento dice che per campionare correttamente un segnale è necessario lavorare con frequenza di campionamento (\"Fs\" nel Front Panel) pari ad almeno il doppio della massima frequenza presente nel segnale da campionare. Nel nostro caso stiamo generando un segnale mono-frequenziale e quindi non c'è bisogno di preoccuparsi di filtri vari; semplicemente per generare un segnale a 50 Hz, per esempio, è sufficiente impostare una \"Fs\" almeno pari a 100 Hz. Se fai qualche prova aumentando il valore di \"Fs\" vedrai che il segnale appare più bello graficamente (cioè, matematicamente, viene realizzato con un numero maggiore di campioni). A questo punto si pone un altro problema: campionando un segnale analogico si può cadere nell'errore di leakage. Se il segnale continuo e quello discreto non sono sincronizzati si ha la comparsa di rumore sullo spettro delle frequenze. Nel nostro caso conosciamo sia la frequenza esatta del segnale da campionare (i 50 Hz nell'esempio precedente o comunque la frequenza che imposti tu con la manopola) che la frequenza del segnale campionato (\"Fs\"). Quindi non cadiamo in errori di questo tipo (a meno che tu modifichi il valore di \"Fs\" in corsa... prova!). Il numero \"#s\" indica quanti periodi visualizzare sul grafico. (Per semplicità vale la formula: Periodi_Visualizzati = \"Fs\" / \"Frequenza del segnale\" * \"#s\".) FORMULA CORRETTA IN UN POST SUCCESSIVO !!! Per la semplice generazione di un segnale puoi lasciare valori di \"Fs\" e \"#s\" alti (è sufficiente lasciare quelli di default). Se però vuoi fare qualche prova per vedere come si comporta l'acquisizione dei segnali puoi lavorare tenendo presente le indicazioni precedenti! Per conoscere bene la teoria dei concetti riportati prova a cercare (anche nei documenti che mette a disposizione la National) \"Teorema di campionamento\" (o \"Sampling Theorem\") e \"Teorema di Shannon\" (o \"Shannon Theorem\").[/quote:2qwn0yrb] ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 08:52:06 ---------------------------------------- Scusate, ho fatto un po' di confusione! Volevo solo correggere la formula. La formula Periodi_Visualizzati = \"Fs\" / \"Frequenza del segnale\" * \"#s\" non è corretta. Quello che volevo dire è che \"Fs / Frequenza del segnale\" fornisce il numero di punti necessari per visualizzare (o generare) un periodo del segnale. Il numero di periodi visualizzati corrisponde a \"#s / punti necessari per un periodo\". Quindi la formula corretta è: Periodi_Visualizzati = \"#s\" / (\"Fs\" / \"Frequenza del segnale\"). Scusate per l'info sbagliata! ---------------------------------------- AUTORE: 955 DATA :15/12/2005 - 08:55:33 ---------------------------------------- infatti non mi ci ritrovavo! \":D\" spero di trovarti stasera alle 20 perchè sicuramente nel meridie posterò altri dubbi!spero gli ultimi! il fatto è che sto facendo un po' di confusione!vado spesso e volentieri in pallone quando sto con l'ansia! \":(\" ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 08:56:46 ---------------------------------------- Forse alle 20 no ma prima sì! Ciao e scusa ancora! ---------------------------------------- AUTORE: 955 DATA :15/12/2005 - 11:44:59 ---------------------------------------- inizio a postare qualcosa... allora devo effettuare la media su un segnale generato con il famoso multitone generator + un segnale di rumore (uno qualsiasi...è uguale)! posto di seguito il circuito da me realizzato per la generazione di un segnale con rumore...poi passo alle domande \":)\" [img:4zlrwfw8]http://img211.imageshack.us/img211/4909/immagine15jc.jpg[/img:4zlrwfw8] ora l'errore in RMS sarà pari a : eRMS= radice di [1/N*sommatoria di x(kTc)] dove N=numero di campioni (nell'esempio è pari a 2000/10, giusto?) e Tc=periodo di campionamento(nell'esempio è pari a 2000, giusto?). Per migliorare il rapporto segnale/rumore (S/N) dovrei effettuare un'operazione di media con M cicli così da avere: eRMS,mediato ridotto di 1/radice di M. Giusto? ora come si fa a fare ciò in labview?uso un ciclo for con M=k*N con k variabile? Cosa succederebbe se invece effettuasi la media usando il semplice blocchetto di mean?effettuerei uno smoothing (una media su singola acquisizione)? [color=red:4zlrwfw8]Grazie per la pazienza e la vostra disponibilità![/color:4zlrwfw8] ---------------------------------------- AUTORE: 955 DATA :15/12/2005 - 16:04:24 ---------------------------------------- ho provato a fare un'operazione di media...ma non sono affatto sicuro sul risultato... [img:rk7eqsse]http://img384.imageshack.us/img384/8397/immagine0bp.jpg[/img:rk7eqsse] potete simularlo e dirmi in cosa sbaglio? grazie ---------------------------------------- AUTORE: 955 DATA :16/12/2005 - 17:02:25 ---------------------------------------- qui ho risolto! \":D\" ci ho messo un po' di tempo...ma ho risolto! \":D\" ora provo a lavorare sulla misurazione dello sfasamento tra 2 segnali... \":)\" mi sa che avrete presto mie notizie! \":)\" ---------------------------------------- ================================================================================ programmare DAQ USB-6008 in C ================================================================================ AUTORE: 740 DATA :05/12/2005 - 11:45:35 ---------------------------------------- Salve a tutti, vorrei sapere se è possibile importare dele API per la scheda della NI USB-6008, in modo da crearmi un programma in C per leggere dei valori da sensori di temperatura ed altri. Da quanto mi sembra di aver capito, facendo qualche ricerca, il DAQ-mx base dovrebbe offrire tali librerie. Vi ringrazio in anticipo \":D\" \":D\" ---------------------------------------- AUTORE: 1313 DATA :20/06/2006 - 08:19:02 ---------------------------------------- SI, negli esempi ci sono gli esempi in c, anche se cerchi nel sito della ni trovi vari post. Comunque non ci sono problemi. Cris ---------------------------------------- ================================================================================ Switch tra due front panel ================================================================================ AUTORE: 914 DATA :05/12/2005 - 15:18:45 ---------------------------------------- Ho fatto un programma che mi visualizza dei dati sotto forma di tabelle, e un altro invece mi mostra grafici, io vorrei fare andare tutti e due simultaneamente facendo uno switch ogni minuto, come faccio???? ---------------------------------------- AUTORE: 751 DATA :05/12/2005 - 16:50:26 ---------------------------------------- Ciao \":D\" guardati questo vi e mettici i path dei tuoi 2 programmi \":wink:\" ---------------------------------------- AUTORE: 914 DATA :06/12/2005 - 10:30:11 ---------------------------------------- Grazie per il programma, ma non è proprio quello he cerco diciamo che è esattamente quello che voglio fare, maio le due grafiche le voglio nello stesso front panel. è possibile farlo? ---------------------------------------- AUTORE: 751 DATA :06/12/2005 - 12:44:25 ---------------------------------------- Ok \":?\" io avevo letto ke avevi 2 programmi da gestire. In questo caso allora e' ancora piu' semplice \":)\" Ho modificato il file ke ti avevo mandato. Ciao. P.S. Ho messo 5 sec tra uno switch e l'altro, tu devi metterci 60 ---------------------------------------- ================================================================================ labview 8 con lbw 7.1 ================================================================================ AUTORE: 838 DATA :06/12/2005 - 10:10:36 ---------------------------------------- sono tentato di installare la nuova release 8 e sul pc ma ho la 7.1 con un sacco di lavori 7.1 secondo voi succede un macello e non va più niente o si riesce a lavorare sia con il 7.1 e l'8 separatamente? non vorrei che i miei progetti diventassero inutilizzabili andando a pescare delle librerie dall'8 invece che dal 7.1 poi per ora mi è arrivato solo lo sviluppo, sto ancora attendendo il dsc 8 visto che lavoro quasi sempre con il dsc ---------------------------------------- AUTORE: 645 DATA :06/12/2005 - 12:48:34 ---------------------------------------- Io ho installato la versione 8.0 su un pc dove non c'era altro LabView. Non so dirti se due copie di versioni differenti funzionano insieme ma posso dirti che i file preparati per la versione 7.1 (VI di interfacciamento con strumenti esterni seriali) continuano a funzionare con la 8.0 (però VI preparati con la 8.0 non girano sulla 7.1, o almeno non ho approfondito). ---------------------------------------- AUTORE: 487 DATA :06/12/2005 - 12:51:31 ---------------------------------------- Ciao, io sto lavorando con entrambe le versioni (la 7.1.1 e la 8.0) da circa un mese e finora non ho incontrato nessuna difficoltà. ---------------------------------------- AUTORE: 838 DATA :06/12/2005 - 14:49:18 ---------------------------------------- fatto, sembrano funzionare entrambi ad un primo impatto mi aspettavo di più dall'8, adesso approfondisco la cosa speriamo che il pc non mi collassa al primo progetto \":D\" ---------------------------------------- AUTORE: 129 DATA :06/12/2005 - 18:11:08 ---------------------------------------- io installo sempre creando una cartella diversa per ogni installazione. Ho installato anche io + versioni compresa la 8, senza grossi problemi. Purtroppo la versione + recente non può essere letta dalla più obsoleta. ---------------------------------------- AUTORE: 4 DATA :07/12/2005 - 10:06:11 ---------------------------------------- Ho installato le versioni 4.1, 5.1, 6.1, 7.1 e 8.0 ... convivono bene l'unica raccomandazione è sare attenti alla cartella di installazione cambiamdola dal default \"LABVIEW\" a \"LABVIEW_[numero versione]\". Bisogna stare attenti anche e soprattutto ai vari addons vedi ad esempio i device driver (ce ne dovrebbe essere solo una versione su ogni macchina) o anche lo stesso DSC di cui sò che alcune funzioni sono cambiate tra la 6.1 e la 7.1 vale la regola di prima: installare ogni addons NON sotto la directory National Instrumens ma sotto quella della versione associata : NI\LabVIEW_80\DSC e NI\LabVIEW_71\DSC Sò che nello specifico LV 8 crea problemi con l'example explorer di LV 7.1 ... ma credo sia stato fissato o ne esista la patch. Ciao, ---------------------------------------- AUTORE: 838 DATA :13/12/2005 - 16:58:05 ---------------------------------------- ecco!! si è impallato tutto ho installato il dsc 8 e mi ha miseramente bloccato il dsc 7.1 nemmeno il max non mi va più ho provato a disinstallare solo il dsc 8 e continua non andare.... proverò a reinstallare tutto il 7.1 \":evil:\" ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 08:16:59 ---------------------------------------- Uao! Beato te... ---------------------------------------- AUTORE: 838 DATA :14/12/2005 - 09:44:55 ---------------------------------------- non so voi ma a me lb8 mi blocca spudoratamente il dsc 7.1 ho provato a reinstiallare il dsc 7.1 ma continua a bloccarsi disinstallando il lbw8 mi rivà per magia il dsc7.1 boh, provo a chiamare l'assistenza ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 12:03:40 ---------------------------------------- Sul sito della National, sotto la sezione Support ci sono alcune patch per add-on con aggiornamenti dalle versioni precedenti alla versione 8.0. Prova a vedere se per caso c'è qualcosa che può interessarti. ---------------------------------------- AUTORE: 838 DATA :14/12/2005 - 14:38:57 ---------------------------------------- confermato dall'assistenza il dsc 7.1 e il dsc8.0 non possono convivere sullo stesso pc lanciano entrambi gli stessi servizi e fanno un macello ---------------------------------------- ================================================================================ switch di due grafiche differenti nello stesso front panel ================================================================================ AUTORE: 914 DATA :06/12/2005 - 10:34:03 ---------------------------------------- Ciao a tutti, qualcuno sa dirmi come faccio a fare uno switch tra due grafiche differenti messe nello stesso front panel, io vorrei che ad esempio ogni minuto mi faccia vedere una volta delle tabelle e un'altra volta i grafici e cosi all'infinito. ---------------------------------------- AUTORE: 201 DATA :06/12/2005 - 12:17:54 ---------------------------------------- Ciao, puoi usare il tab control e crare due pagine, una dove mettei le tabelle e una dove metti i grafici, poi fai cambiare tu le pagine come vuoi, oppure con i property node gestisci quando un grafico deve essere invisibile(o una tabella) o no. ---------------------------------------- AUTORE: 914 DATA :06/12/2005 - 13:18:01 ---------------------------------------- Si ok ma deve cambiare ogni minuto in modo automatico. ---------------------------------------- AUTORE: 201 DATA :06/12/2005 - 14:50:30 ---------------------------------------- Quindi? il modo automatico te lo fai te. O è quello il problema? ---------------------------------------- AUTORE: 680 DATA :06/12/2005 - 16:01:47 ---------------------------------------- spero ti vada bene questo vi......... ciao..... ---------------------------------------- AUTORE: 129 DATA :06/12/2005 - 17:00:03 ---------------------------------------- Puoi anche gestire la property visible, dei controlli indicatori che utilizzi... ---------------------------------------- ================================================================================ Passaggio di var ad exe ================================================================================ AUTORE: 295 DATA :06/12/2005 - 11:28:11 ---------------------------------------- Ciao, ho qualche problema con il passaggio di variabili ad un eseguibile creato in LV. Quando creo una DLL ho la possibilità con il \"Define VI prototipe\" di editare le variabili in ingresso e uscita. Quando creo il EXE non trovo nulla di simile, creo l'exe, provo a richiamarlo con il \"System Exec\" ma non riesco a passargli alcuna variabile. Avete qualche idea? Grazie. ---------------------------------------- ================================================================================ chart ================================================================================ AUTORE: 683 DATA :06/12/2005 - 14:33:20 ---------------------------------------- ciao a tutti è ormai da qualche tempo che suo lv ma nn ho mai adoperato i Charts come si fa a visualizzare 2 o più variabili sullo stesso grafico? ---------------------------------------- AUTORE: 680 DATA :06/12/2005 - 15:49:06 ---------------------------------------- ciao, devi usare la funzione BUNDLE..... ciao....... ---------------------------------------- ================================================================================ Filtro band-stop ================================================================================ AUTORE: 961 DATA :06/12/2005 - 14:56:47 ---------------------------------------- Salve ragazzi.E' con piacere che vengo a conoscenza di un forum dedicato a LabVIEW visto che da poco esso è diventato un utile strumento per il mio lavoro. In questo periodo stiamo testando un turbogruppo di sovralimentazione per automobili e abbiamo qualche difficoltà nella misurazione del numero di giri di questo. Con un pick-up della magneti marelli e, dopo aver magnetizzato l'estremità dell'albero del turbogruppo, stiam riuscendo ad acquisire il segnale sinusoidale e ad avere delle misure attendibili. In realtà un fastidiosissimo disturbo ci dà qualche problema .Mi spiego.Con una subVI acquisiamo lo spettro di potenza e lavoriamo in pratica nel dominio della frequenza. Purtroppo intorno ai 2000Hz e per un intervallo di un centinaio di Hz abbiamo un disturbo più o meno fisso di ampiezza pari se non maggiore dell'ampiezza del picco che ci dà la misura del numero di giri del turbo. Ho pensato ad un filtro band-stop per attenuare questa zona ampia 100Hz in cui ho questo picco di disturbo che mi falsa la misura. Naturalmente la subVI che calcola il numero di giri trova nel dominio della frequenza il picco maggiore che coincide col segnale del pick-up magnetico e quindi col numero di giri del turbo. Vi allego la subVI.Pensate che il band-stop sia una scelta giusta?Se si,come dovrei usarlo?cioè quali sono i parametri che richiede? Il mio timore è che il picco che mi dà la misura,che ovviamente trasla lungo l'asse delle frequenze all'aumentare della velocità del turbo,quando raggiunga la zona incriminata venga anch'esso attenuato. Grazie! ---------------------------------------- AUTORE: 961 DATA :06/12/2005 - 17:12:31 ---------------------------------------- Scusate,una precisazione, acquisiamo lo spettro in \"ampiezza\" non in \"potenza\". Inoltre, nel file che ho allegato è sistemato, prima del subVI che prende il picco maggiore, un filtro passa-basso col quale abbiamo tentato di \"segare\" la zona incriminata ---------------------------------------- AUTORE: 961 DATA :07/12/2005 - 13:20:55 ---------------------------------------- Ragazzi ditemi almeno cosa intende il filtro band-stop quando chiede di specificare tra i parametri il \"# of taps\".Non mi è chiaro ---------------------------------------- AUTORE: 247 DATA :07/12/2005 - 13:53:09 ---------------------------------------- Ciao, Il parametro taps determina il numero di coefficienti utilizzati per il filtraggio, in parole povere taps determina: 1- quanta memoria viene utilizzata durante l'operazione di filtraggio(più taps = più memoria necessaria per l'operazione). 2- il numero di calcoli che vengono effettuati sul segnale in ingresso(più tap = più calcoli = più tempo necessario per l'operazione). 3- la capacità del filtro di filtrare il segnale in ingresso(più taps=miglior filtro=meno ripple, tagli più netti, filtri più stretti). BYE. ---------------------------------------- AUTORE: 961 DATA :07/12/2005 - 17:49:36 ---------------------------------------- [quote="apollon":2s41tmof]Ciao, Il parametro taps determina il numero di coefficienti utilizzati per il filtraggio, in parole povere taps determina: 1- quanta memoria viene utilizzata durante l'operazione di filtraggio(più taps = più memoria necessaria per l'operazione). 2- il numero di calcoli che vengono effettuati sul segnale in ingresso(più tap = più calcoli = più tempo necessario per l'operazione). 3- la capacità del filtro di filtrare il segnale in ingresso(più taps=miglior filtro=meno ripple, tagli più netti, filtri più stretti). BYE.[/quote:2s41tmof] Grazie Apollon. Ti invio il programmino per trovare il picco più grande e fornire, in corrispondenza di questo, la frequenza che rappresenta il numero di giri del turbo (frequenza*60=numero di giri al minuto ovviamente). Il segnale acquisito è filtrato con band-stop, voglio escludere l'intervallo 1900-2000Hz e analizzare un campo che va da 150 a 2300Hz.Credi che sia impostato bene? Lo chiedo perchè oggi non notavo alcun smorzamento in quella banda (domanda rivolta a tutti ovviamente) Ciao ---------------------------------------- ================================================================================ GUI_e reference ================================================================================ AUTORE: 129 DATA :06/12/2005 - 19:02:47 ---------------------------------------- Provate ad eseguire esempio2.. Aspetto commenti... \":D\" ---------------------------------------- AUTORE: 113 DATA :07/12/2005 - 07:51:41 ---------------------------------------- Ciao Nicola! In generale adororo l'uso delle queue! In particolare quando devo scambiare dati fra vis parallele. Nell'esempio la parte che controlla la visibilità degli oggetti contenuta nel while loop potrebbe benissimo girare in un altra vi. Quindi si avrebbe una vi che controlla programmaticamente l'aspetto di un'altra. Mi piace molto inoltre la Stack.vi perchè permette di gestire interamente gli elementi accodati \":wink:\" L'unico piccolo appunto è che alla fine io andrei a chiudere tutti i references aperti. Bel lavoro! \":wink:\" ---------------------------------------- AUTORE: 129 DATA :07/12/2005 - 08:09:20 ---------------------------------------- vero, adesso lo curo meglio. Il mio obiettivo sarebbe riuscire a creare un tool per controllare gli ogetti dei pannelli con blocchi riutilizzzabili. Nella mia proposta oltre a quella dello stack, c'è il fatto di sfruttare il firstcall.vi per inizializzare un vi all'interno di se stesso e del loop che lo gestisce, in sostanza nell'architettura classica initialize-work function-close, mi sono risparmiato il codice per initialize, e lascio solo eventualmente il codice di chgiusura.... Poi fondamentale, da tempo vedevo in giro l'utilizzo dei flatten.vi con i reference, senza centrarne appieno le potenzialità, ora visto la possibilità di utilizzare le string, posso realizzare dei vi che sono quasi polimorfi e senza l'utilizzo di variant.. Se solo solo si risucisse a creare anche i controlli, pensavo ad un vi che da un file di testo dove sono registrati i flatten refernce, crea il pannello... ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 08:32:26 ---------------------------------------- è quello che devo fare per gennaio/febbraio ho un vi che con le visa si collega con protocollo omnilink ad un sistema di domotica hai, pesca in automatico tutte le utenze del plc e crea le pagine di controllo di tali utenze. così da fare un unico progetto per qualsiasi impianto di domotica che andrò a fare. per ora ce l'ho fatta buttando tutto su array di cluster, ma è ancora in fase di sviluppo ciao ---------------------------------------- AUTORE: 129 DATA :07/12/2005 - 08:45:17 ---------------------------------------- interessante \"8)\" [quote:2ajys25d]per ora ce l'ho fatta buttando tutto su array di cluster[/quote:2ajys25d] puoi specificare, cosa intendi? Ciao ---------------------------------------- AUTORE: 4 DATA :07/12/2005 - 08:59:23 ---------------------------------------- Mi associo ad Alberto nel dire che l'utilizzo delle code è molto utile e io credo soprattutto per gestire le interfacce utente. Non ho capito una cosa, perchè fai il flatten to string dei reference dei controlli? Puoi passare alle funzioni queue direttamente i reference così ti eviti la doppia conversione ref > string > ref. Cmq anche io a breve dovrò realizzare un software parecchio complesso e il tuo mi sembra un ottimo spunto per la gestione delle GUI Ciao, ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 09:06:27 ---------------------------------------- quando mi collego scarico un'elenco di stringhe (che sono poi i nomi delle utenze) con l'indirizzo di ciascuna. facendoti un riassunto, con il primo vi che parte carico queste utenze (che sia da seriale o da file è la stessa cosa) aggiungendole ad un array di cluster (fatto appunto dal nome, indirizzo, e qualche dato di servizio) man mano che ricevo i dati e poi me lo metto in memoria poi passo ad un secondo vi che ha a video un array simile ma con qualche opzione in più (tipo on/off, e altro). cliccando su questo array mi sparo il comando su seriale e comando l'utenza ricavando dal nome l'indirizzo su dove andare a \"pigiare\" in qusto array se metti anche coordinate di oggetti tipo pulsanti o stringhe, puoi da file posizionare gli oggetti sul vi il problema è che l'array puoi lavorarci dinamicamente senza problemi (e in effetti io visualizzo a schermo un array con il cursore di scorrimento) quindi se hai 1 oggetto o 1000 poco cambia invece i pulsanti o altro o li dichiari in primis un tot (fai 100) e imposti solo quelli che ti servono oppure non ne ho idea il mio progetto per ora e fermo, sto facendo altri impianti più urgenti. sicuramente per genn/febb ci devo sbattere la testa e quindi qualcosa mi inventerò ciao \":D\" ---------------------------------------- AUTORE: 129 DATA :07/12/2005 - 09:16:54 ---------------------------------------- [quote:236dkya4]perchè fai il flatten to string dei reference dei controlli? [/quote:236dkya4] perchè è più semplice gestire ua stringa di testo, magari in questa occasione era sufficente creare una coda di elementi ref, ma se devo poi realizzare che sò un file su cui archiviare i reference? Poi anche perchè se crei un controllo di un vi di tipo stringa è sempre interfacciabile con un'altra stringa, e quello che ne rappresenta la differenza è il contenuto della stringa stessa..... \"8)\" una specie di variant senza variant...il discorso è quello di creare codice riutilizzabile e questo mi è sembrato un buon approccio. ---------------------------------------- AUTORE: 113 DATA :07/12/2005 - 10:22:47 ---------------------------------------- Mi permetto solo un paio di considerazioni in merito all'interessante thread: La conversione in stringa binaria dei reference è necessaria, in quanto se creo una queue con datatype un reference di un controllo numerico (ad esempio), poi non posso accodare un reference di un booleano; sono elementi diversi. In ultimo, per aumentare le potenzialità del metodo, si potrebbe scambiare anche la Type String del reference resa disponibile dalla Flatten To String, magari creando un cluster fra Type String e Data String che viene utilizzato dalla queue; in tal modo si scambierebbero anche tutte le informazioni riguardo all'oggetto relativo al reference. OpenG toolkit ne fa largo uso. Riguardo al desiderio espresso da Nicola di generare oggetti partendo dei reference, beh, questo penso sia uno dei sogni più diffusi per tutti noi \":wink:\" , entriamo nel mondo dello scripting, e sappiamo quanto sia controversa la posizione di NI in merito... \":roll:\" Anzi le voci dicono che con LV8 si sia decretata la morte dello scripting, ma non ho ancora verificato \":?\" ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 10:56:43 ---------------------------------------- penso che per ora si debba creare a priori gli oggetti non associati a niente e non visibili, per poi richiamarli in causa e configurarli altro non mi viene in mente ---------------------------------------- AUTORE: 129 DATA :08/12/2005 - 18:39:27 ---------------------------------------- Mentre giocavo un pò per trovare possibili applicazioni di queste tecniche,mi è saltato fuori questo VI, che messo in esecuzione,può selezionare un oggetto del pannello del vi selezionato dalla path, e quindi spostarlo. A voi i commenti.... \":wink:\" ---------------------------------------- AUTORE: 838 DATA :12/12/2005 - 07:42:59 ---------------------------------------- molto interessante, io ho fatto più o meno la stessa cosa usando gli event structure per gestire il mouse, posizione e click cioè clikkando sull'oggetto lo prende e riclikkando lo rilascia nella nuova posizione \":D\" ---------------------------------------- ================================================================================ DSC Engine Launch VI ================================================================================ AUTORE: 904 DATA :06/12/2005 - 20:49:30 ---------------------------------------- Per Cortesia , Qualcuno può indicarmi come lanciare la VI Engine Launch del DSC direttamente da VI e dopo il resto del programma dove ad esempio ho una VI di write tag o read tag. Il resto del programma è all'interno di un while loop . Allego una parte della VI per capire meglio il problema . Fondamentalmente ho necessità di caricare prima un file scf poi avviare la VI disabilitando l'event logging . In attesa di un vostro aiuto Vi ringrazio molto !!!!!! SALUTI \":D\" ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 08:13:51 ---------------------------------------- prova così \":D\" ---------------------------------------- AUTORE: 904 DATA :07/12/2005 - 10:45:50 ---------------------------------------- Ho provato .... \":(\" La VI si ferma prima che il motore del DSC viene avviato completamente .... In che modo possiamo ovviare a ciò ... Saluti Grazie per l'aiuto Saluti \":D\" ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 10:49:05 ---------------------------------------- ah si è vero, adesso provo fare na modifica. il problema è che impiega un pò ad andare in running, quindi si deve fare un'accrocchio tra il lancio del dsc e il controllo mo provo ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 10:50:15 ---------------------------------------- la cosa più veloce è togliere il case, ma si può fare di meglio ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 10:53:46 ---------------------------------------- al volo mi è venuto così la chiusura dell'engine falla solo se l'engine è effettivamente avviato prova \":D\" ---------------------------------------- AUTORE: 904 DATA :07/12/2005 - 10:57:25 ---------------------------------------- Mi sono permesso di modificare la tua VI esempio nel seguente modo Sembra che funzioni . Pensi anche tu che sia la soluzione idonea al mio problema ? Se vuoi darci un'occhiata Grazie Saluti !!!! \":D\" ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 11:00:47 ---------------------------------------- mi sembra un pò incasinato, prova a vedere se va anche l'ultimo che ho postato i sequence sono belli ma complicano la vista all'operatore \":D\" ---------------------------------------- AUTORE: 904 DATA :07/12/2005 - 11:33:38 ---------------------------------------- Il tuo è OK !!! Ho solo un problemino con la VI che disabilita l'event logging. Rimane on dopo il riavvio. Converrebbe metterla dentro un ciclio while loop ? Saluti \":D\" ---------------------------------------- AUTORE: 904 DATA :07/12/2005 - 12:59:20 ---------------------------------------- Scusa per le tante domande , ma sapresti spiegarmi la funzione del true del primo ciclo while al secondo . \":o\" Probabilmente è un lato che non conosco di Labview \":roll:\" Saluti !!!!! \":D\" ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 13:16:02 ---------------------------------------- semplicemente è un trucco che obbliga a labview a fare prima una cosa poi quella successiva una volta terminata come se fosse in un sequence, ma molto più leggibile per l'operatore in poche parole prima che parta il ciclo while del programma deve essere per forza terminato quello precedente, perchè ha una variabile in ingresso (anche se non serve praticamente a nulla, puoi metterci qualsiasi cosa) ti puoi accorgere del flusso dati se usi la modalità lampadina che ti fa vedere il vi animato in base a quello che sta facendo altro problema del mio vi: se il dsc non va mai in run ti si blocca tutto perchè non si termina mai il primo while per ovviare puoi mettere un tempo di timeout che se ad es. entro 10 secondi non è partito esca da tutto senza piantarsi per l'event logging prova a infilarlo dentro nel secondo while, pensavo che funzionasse così, ma non l'ho mai usato come opzione e quindi è tutto da provare ---------------------------------------- ================================================================================ Controlli ================================================================================ AUTORE: 963 DATA :07/12/2005 - 07:44:22 ---------------------------------------- Buongiorno, non riesco a trovare dei nuovi controlli scaricabili, mi potete dare una mano? ---------------------------------------- AUTORE: 129 DATA :07/12/2005 - 08:52:08 ---------------------------------------- Prova a cercare nel forum. In alto a destra c'è la casella ricerca nel forum, inserisci controlli,gui e/o parole chiave e vedrai che trovi molte discussioni che ti potranno aiutare. Purtroppo non è facile trovare librerie di controlli , ma piuttosto puoi scoprire trucchetti per come realizzare accattivanti controlli. ESempi, sfruttare il picture ring; sfruttare i controlli nidificati (vedi array che ha anche un numeric che puoi sostituire con un knob ecc.)... ---------------------------------------- AUTORE: 963 DATA :07/12/2005 - 12:05:39 ---------------------------------------- Grazie per l'aiuto... \"8)\" ---------------------------------------- ================================================================================ menu nei vi global ================================================================================ AUTORE: 680 DATA :07/12/2005 - 12:38:28 ---------------------------------------- qualcuno sa come fare per cambiare i menu nei global vi (quelli creati da variabili globali)?? volevo sapare anche se è possbile sempre nei global vi personalizzare windows appearance. ciao, grazie.......... ---------------------------------------- AUTORE: 838 DATA :07/12/2005 - 13:18:17 ---------------------------------------- non ho mai provato, ma sei sicuro che puoi usarli in visualizzazione i vi globali? ho sempre saputo che servono solo come vi di memoria di appoggio \":D\" ---------------------------------------- AUTORE: 680 DATA :07/12/2005 - 16:14:36 ---------------------------------------- Io sono riuscito a visualizzarli... cmq, ho usato i global, perchè ha un programma principale che acquisisce dei dati e io voglio mostrarli su un grafico presente su un altro vi solo quando l'utente vuole vedere il grafico stesso.... spero di essere stato chiaro, ciao..... ---------------------------------------- AUTORE: 129 DATA :07/12/2005 - 17:08:51 ---------------------------------------- Fondamentalmente le variabili globali sono dei vi, e quindi si può aprirne il pannello con la property FP.open. Per cambiare i menu devi creare un menu runtime, quindi lo salvi, e lo richiami con la property RTmenupath. IL problema che una variabile globale è un vi con restrizioni quindi non puoi farlo. In sostanza invece di una global, devi usare un vi con cui puoi fare quello che vuoi. ---------------------------------------- AUTORE: 680 DATA :07/12/2005 - 17:54:55 ---------------------------------------- come faccio allora, a visualizzare un dato che viene processato da un vi principale su un vi secondario??? ciap...... ---------------------------------------- AUTORE: 129 DATA :08/12/2005 - 07:18:10 ---------------------------------------- Puoi utilizzare le variabili globali in scrittura sul vi server e in lettura sul client.(metodo semplice ma meno robusto) Puoi invece utilizzare le code (metodo più robusto) in cui nel vi scrivente accodi e nel vi di visualizzazione prelevi, se vai in questo [url=http://www.ilvg.it/forum/viewtopic.php?t=1222:2qawh03f]topic[/url:2qawh03f] e scarichi l'esempio, trovi un vi che si chiama stack.vi , lo puoi utilizzare per questo scopo. Altro metodo potrebbe essere sempre in ambito vi server, di utilizzare i metodi get e set control value. Buon lavoro \":wink:\" ---------------------------------------- AUTORE: 680 DATA :08/12/2005 - 12:08:13 ---------------------------------------- grazie mille, Nicola.... \":lol:\" ho risolto con i metodi get e set control value perchè con le code non sono tanto esperto...... grazie, ciao ciao......... \":D\" ---------------------------------------- ================================================================================ uso dei filtri numerici: filtraggio/pulitura dati ================================================================================ AUTORE: 591 DATA :07/12/2005 - 15:39:49 ---------------------------------------- Scusate la domanda probilmente un stupida ma devo venirne a capo. Devo, per lavoro, ripulire dei dati che ho acquisito senza ovviamente alterarne il valore. La prima cosa è ridurre il rumore ed eliminare evntuali spike. Questo ovviamente si puo' ottenere con un filtro passa basso o equivalente mediando i dati a gruppi ma uno degli effetti indesiderati è quello di alterare i primi campioni. ho provato ad utilizzare i filtri a disposizione di labview ma il risultato è quello in figura. Avete qualche dritta da darmi? ---------------------------------------- AUTORE: 748 DATA :13/12/2005 - 09:26:38 ---------------------------------------- Potresti provare con l'algoritmo delle medie mobili (ossia media degli N valori precedenti a quello considerato) oppure farne un'interpolazione (cosa poco corretta matematicamente e fattibile solo se non hai un'acquisizione continua di dati) ---------------------------------------- AUTORE: 591 DATA :13/12/2005 - 09:40:55 ---------------------------------------- l'unica pulitura che effettuo è proprio la media (generalmente sugli ultime 3 campioni). Uso anche l'interpolazione ma il valore della curva dipende molto dal numero di campioni in gioco. ---------------------------------------- AUTORE: 247 DATA :13/12/2005 - 18:27:55 ---------------------------------------- Ciao, ed aggiungere un numero di campioni falsi all'inizio della misura per ottenere che il filtraggio corretto inizi con l'inizio dei campioni veri e poi tagliare il filtraggio da dove ti interessa(..inizio dei campioni veri filtrati)? P.S. ..consiglio di utilizzare campioni falsi all'inizio che si \"integrino\" per natura e specie con quelli veri. \":D\" BYE. ---------------------------------------- AUTORE: 591 DATA :14/12/2005 - 15:37:10 ---------------------------------------- innanzitutto grazie per l'aiuto (a tutti) per quanto riguarda il quesito il problema non è nella media (anche se sul grafico c'e' un errore per quanto riguardo la partenza) ma nel fatto che la curva si abbassa all'aumentare del numero di campioni interessati dalla media. ho provato a con altre soluzioni (vedi fit) ma non mi soddisfano in quanto non sono sicuro del risultanto variando in funzion dell'ordine. Allego un grafico (in excel) che dovrebbe rendere l'idea. ---------------------------------------- AUTORE: 113 DATA :14/12/2005 - 16:37:59 ---------------------------------------- Ciao, prova a dare un'occhiata qua: http://www.sciware.com.au/software.htm al toolkit Savitzky-Golay Smoothing. Io l'ho utilizzato in un caso in cui non riuscivo a mettere a punto un filtraggio soddisfacente, i risultati sono stati molto buoni \":wink:\" ---------------------------------------- AUTORE: 591 DATA :15/12/2005 - 11:36:17 ---------------------------------------- Ciao Alberto, effettivamente sembra un buon algoritmo. Provo a lavorarci subito. Grazie ---------------------------------------- AUTORE: 591 DATA :20/01/2006 - 16:10:02 ---------------------------------------- x Alberto. scusa x la risposta tardiva di ti devo ringraziare x l'algoritmo o meglio x il relativo vi. Mi ha risolto il problema e alla grande. Grazie. ---------------------------------------- ================================================================================ Arresto rapido ================================================================================ AUTORE: 961 DATA :08/12/2005 - 21:05:03 ---------------------------------------- Salve ragazzi. Ho un problema. Nel programma di acquisizione che sto utilizzando, ho inserito un tasto di stop che blocca l'esecuzione del programma.Questo stop è lo \"stop if true\" di un while-loop che al suo interno ha una flat sequence con varie acquisizioni. Quando lo premo termina il loop e una istruzione successiva mi ferma la macchina(il compressore ).La macchina in realtà non si ferma subito ma impiega qualche secondo per iniziare la fase di arresto.Come posso fare per accelerare questa fase? Devo ridurre il tempo delle acquisizioni oppure esiste un'istruzione più rapida? Grazie ---------------------------------------- AUTORE: 247 DATA :09/12/2005 - 10:26:36 ---------------------------------------- Ciao, il problema è il solito \"scherzo\" di LV che accade quando non si ha ben chiara la dipendenza di esecuzione del codice. Il while loop si ferma con un ritardo variabile perchè se l'esecuzione della flat sequence inizia prima che tu prema il tasto di stop, il ciclo si ferma solo quando ha portato a termine tutti i frame della sequence ed il while loop è nella condizione di decidere se effettuare un'altra iterazione o meno. L'unico modo per evitare questo ritardo è quello di utilizzare le occorrenze per fermare il loop o creare una macchina a stati nella quale ogni stato costituisce un frame della tua sequence, in questo modo decidi se proseguire nella sequenza di operazioni tra un'operazione e la successiva. BYE. ---------------------------------------- AUTORE: 961 DATA :09/12/2005 - 11:02:15 ---------------------------------------- [quote="apollon":2n6h6t26]Ciao, il problema è il solito \"scherzo\" di LV che accade quando non si ha ben chiara la dipendenza di esecuzione del codice. Il while loop si ferma con un ritardo variabile perchè se l'esecuzione della flat sequence inizia prima che tu prema il tasto di stop, il ciclo si ferma solo quando ha portato a termine tutti i frame della sequence ed il while loop è nella condizione di decidere se effettuare un'altra iterazione o meno. L'unico modo per evitare questo ritardo è quello di utilizzare le occorrenze per fermare il loop o creare una macchina a stati nella quale ogni stato costituisce un frame della tua sequence, in questo modo decidi se proseguire nella sequenza di operazioni tra un'operazione e la successiva. BYE.[/quote:2n6h6t26] Grazie apollon! Cosa intendi per \"occorrenze per fermare il loop\"? Ti riferisci a istruzioni particolari che non conosco? E poi nella seconda soluzione, intendi dire che dovrei strutturare ogni frame indipendentemente fermando il quale interromperei quindi tutta la sequenza? ---------------------------------------- AUTORE: 247 DATA :09/12/2005 - 14:48:50 ---------------------------------------- Ciao, per occorrenze intendo effettivamente alcune funzioni di LV che probabilmente non conosci, le trovi nella palette advanced della function palette, cmq leggi [url=http://www.ilvg.it/forum/download.php?id=297:1dn5e3cf]questa presentazione[/url:1dn5e3cf] di Ale914 che parla di sincronizzzazione e che tratta anche le occorrenze. La macchna a stati non c'entra nulla con la sequence, o meglio il concetto può assomigliargli alla lontana ma la realizzazione non ha parti comuni, quindi purtroppo scordati una conversione \"automatica2 tra le due... Per un esempio di macchina a stati segui questo post: [url=http://www.ilvg.it/forum/viewtopic.php?t=1124&start=0&postdays=0&postorder=asc&highlight=:1dn5e3cf]macchina a stati[/url:1dn5e3cf]. BYE ---------------------------------------- AUTORE: 129 DATA :09/12/2005 - 15:10:25 ---------------------------------------- Per le occurence, sono funzioni che trovi all'interno della palette advanced.Ti consento di arrestare il codice senza vincoli dovuti a sequence ecc. Nel secondo caso invece, (macchina a stati), devi realizzare la tua sequenza con una struttura case anjzichè una sequence, in modo da poter gestire ogni frame individualmente anzichè attendere la terminazione di una sequenza intera. Ti allego un esempio che ti potrà esssere + chiaro, nel primo loop c'è una sequence tradizionale, nel secondo la macchina a stati sequenziale, nel terzo il subvi, che fa òle veci di timer integra le occurence. Spero di esserti stato utile. ---------------------------------------- AUTORE: 961 DATA :09/12/2005 - 19:45:44 ---------------------------------------- Grazie a tutti innanzi tutto! Purtroppo non sono riuscito ad aprire gli esempi poichè posseggo la versione 7.0 di LabVIEW. Ho avuto un po' di difficoltà a capire queste occurrence,ovvero mi chiedo: come faccio a collegare il tasto di stop del loop con l'occurrence? devo partire con la \"generate occurrence\" e collegare questa con una \"set occurrence\"? Credo che lo stop comandi la \"generate occurrence\"...sono un po' nel pallone.. \":oops:\" Grazie ---------------------------------------- AUTORE: 129 DATA :09/12/2005 - 19:54:51 ---------------------------------------- ho ricompilato l'esempio in 7.0 ---------------------------------------- AUTORE: 961 DATA :10/12/2005 - 00:23:19 ---------------------------------------- Grazie Nicola. L'ho aperto.Ci ragionerò un po' su.A presto ---------------------------------------- AUTORE: 961 DATA :11/12/2005 - 20:43:35 ---------------------------------------- [quote="nicola":1scv4zi9]ho ricompilato l'esempio in 7.0[/quote:1scv4zi9] Allora Nicola, ho studiato un po' l'esempio che mi hai gentilmente inviato. Ho mandato in esecuzione il programma e ho notato come premendo il tasto di stop, arresto i counters e quindi i \"while loops\"; ma quello con le occorrenze è istantaneo! E' quindi questa la risposta al mio problema? \":oops:\" Ho provato ad inserire la subVI \"timer with occurence\" nel mio programma ma quando creo la variabile locale dal tasto di stop esso mi dà errore: \"[b:1scv4zi9]Boolean latch action is incompatible with local variables\"[/b:1scv4zi9]. Ciao ---------------------------------------- ================================================================================ Cicli While e Metronomi ================================================================================ AUTORE: 965 DATA :10/12/2005 - 21:12:49 ---------------------------------------- Non ho capito perchè nei cicli WHILE vanno inseriti i metronomi (il componente Wait Until Next ms Multiple)...potrste spiegarmelo e dirmi quando vanno messi e quando no??? Grazie ---------------------------------------- AUTORE: 247 DATA :10/12/2005 - 22:48:55 ---------------------------------------- Ciao, vanno sempre messi per regolare la tempistica di esecuzione del loop in cui vengono inseriti. Ad esempio se metti un \"Metronomo\" all'interno di un while loop, LabVIEW tenterà di eseguire il ciclo ed il codice che vi è contenuto ogni tot. millisecondi, quelli indicati esattamente dal tuo metronomo; dico \"tenterà\" perchè la temporizzazione è condizionata dal fatto che il codice contenuto nel ciclo sia eseguibile completamente nell'intevallo di tempo, se così non è, il ciclo viene ritardato per permettere la completa esecuzione del codice. Aspetto molto importante è che se non metti una temporizzazione, il Vi satura la CPU portandone l'occupazione al 99%!! Per altro prova a vedere vecchi post, abbiamo parlato spesso di temporizzatori. BYE. ---------------------------------------- ================================================================================ Inserire dati in array ================================================================================ AUTORE: 965 DATA :11/12/2005 - 10:21:42 ---------------------------------------- Ciao a tutti...scusate se è un post banale, ma sono agli inizi e non ho trovato altri post che mi spiegassero in dettaglio... \":oops:\" Dunque io ho da acquisire un segnale (per ora lo simulo con il Simulate Signal), questo lo devo visualizzare (e fin qui ok, ho messo il Thermometer), poi devo fare la media dei valori acquisiti, basandomi sugli ultimi N...è qui che mi ingarbuglio, in pratica penso che dovrei fare un array in cui il dato entra (dal Signal) e va a mettersi in posizione 0, poi shifto tutto l'array di 1 in avanti, in modo che il vacchio dato N-1 esca e faccio la media...però non riesco a capire come fare con VI!!! Grazie a tutti ---------------------------------------- AUTORE: 909 DATA :13/12/2005 - 08:54:15 ---------------------------------------- Io farei un For Loop in cui entri con l'array in uno shift register, cancelli dall'array il primo elemento e calcoli la media sull'array risultante. ---------------------------------------- AUTORE: 129 DATA :13/12/2005 - 13:17:21 ---------------------------------------- Prova ad utilizzare array subset, come nell'esempio allegato. \"8)\" ---------------------------------------- ================================================================================ Voltmetro e Amperometro in labview ================================================================================ AUTORE: 955 DATA :11/12/2005 - 16:27:18 ---------------------------------------- Salve a tutti! Volevo sapere come si chiamano i blocchettini del voltmetro e dell'amperometro in labview...devo misurare la potenza di un segnale non sinusoidale...come si fa? Grazie \":)\" ---------------------------------------- AUTORE: 955 DATA :12/12/2005 - 06:29:48 ---------------------------------------- oppure se esiste direttamente un blocchetto per la misura della potenza...o in ogni caso come si crea...perchè non ho proprio idea... \":(\" ---------------------------------------- AUTORE: 129 DATA :12/12/2005 - 07:50:37 ---------------------------------------- [quote="martinmistere":376xjhef]Salve a tutti! Volevo sapere come si chiamano i blocchettini del voltmetro e dell'amperometro in labview...devo misurare la potenza di un segnale non sinusoidale...come si fa? Grazie \":)\"[/quote:376xjhef] Cosa intendi? Dipende dal sistema che utilizzi per fare le misure, probabilmente se utilizzi uno strumento di cui sono stati sviluppati i driver in labview, puoi trovare(dopo aver scaricato la llb) dei subvi di lettura tensione e corrente. Se utilizzi un sistema daq, devi effettuare il condizionamento con resistenze di shunt, e quindi formuleare il segnale letto in tensione nella grandezza che vuoi misurarare. Ovviamente se utilizzi un wattmetro con uscita dati, rioesci a prelevare direttamente l'informazione sui watt. Prova a dettagliare il sistema che devi utilizzare per la misura. ---------------------------------------- AUTORE: 955 DATA :13/12/2005 - 10:24:09 ---------------------------------------- questa sono riuscita a risolverla da me! \":D\" Uso due tone generator uno con segnale v(t) e uno con segnale i(t) ed effettuo il calcolo della potenza essendo: P(t)=1/N sommatoria di v(k)*i(k) \":)\" ---------------------------------------- ================================================================================ Localizzazione Path ADO ================================================================================ AUTORE: 482 DATA :12/12/2005 - 09:44:51 ---------------------------------------- ..ma ciao! E' possibile con le librerie ADO risalire al path del database a cui si sta cercando di collegarsi? Spiego meglio il mio problema: Mi collego tramite ADO ad un DB Access, solo che quando voglio scrivere nel DB, se il DB è aperto da un altro utente che lo sta visualizzando mi restituisce errore. Per ovviare a questo problema vado a verificare nel path in cui si trova il DB se esiste il file .ldb che è quello che mi indica se il database è aperto. In questo modo inibisco o meno la scrittura. Mi sarebbe utile ricavare il path in automatico oppure sapere s ec'e' qualche altro sistema per sapere se la scrittura è possibile in quel momento. grazie! Geppo! ---------------------------------------- AUTORE: 129 DATA :12/12/2005 - 09:50:52 ---------------------------------------- Il fatto che ti restituisca errore, è perchè l'utente ha aperto in modalità esclusiva il database. Per ovviare a questo il database, che ditribuisci deve essere aperto in modalità non esclusiva. ---------------------------------------- AUTORE: 482 DATA :12/12/2005 - 09:57:12 ---------------------------------------- ..ma come si fa? Il problema è che l'altro utente lo apre con il doppio click nell'explorer di windows, non tramite il mio programma... ---------------------------------------- AUTORE: 129 DATA :12/12/2005 - 10:11:12 ---------------------------------------- Puoi settare da menu opzioni/avanzate modalità di apertura predefinita accesso condiviso. Non sono sicuro ma penso che sia possibile settarla via DAO (prova a vedere dall'help di access). Dimenticavo dovresti riuscire a creare un collegamento, dove nella path di apertura specifichi delle opzioni divise dalla slash, tipo \"c:\path\data.mdb\" /opzione per le opzioni di apertura però non mi ricordo quale sia quella per l'accesso condiviso. ---------------------------------------- AUTORE: 482 DATA :12/12/2005 - 10:36:01 ---------------------------------------- ..mmhh.. Purtroppo il database è già settato come modalità di apertura \"accesso condiviso\" \":cry:\" Infatti si riesce ad aprirlo quante volte si vuole anche access è ADO in contemporanea, solo che quando provo scriverci tramite ADO, mi restituisce l'errore... ---------------------------------------- AUTORE: 129 DATA :12/12/2005 - 12:48:32 ---------------------------------------- Ma allora sei tu che lo apri in accesso esclusivo. HAi due possibilità, o crei sulla tua applicazione access, degli accessi protetti (crei praticamente degli utenti dove puoi settare diritti di apertura), uno di questi è la tua applicazione, oppure devi vedere sul ODBC, come lo hai configurato.... Infatti sul odbc puoi impostare la modalità condivisa.. ---------------------------------------- AUTORE: 482 DATA :12/12/2005 - 13:08:26 ---------------------------------------- negativo...non è settato come accesso esclusivo... \":cry:\" ---------------------------------------- AUTORE: 482 DATA :12/12/2005 - 14:45:52 ---------------------------------------- Alla fine ho risolto utilizzando le property del riferimento alla connessione! In questo modo ottengo il path del database e seguo la procedura che dicevo all'inizio. ---------------------------------------- ================================================================================ Labview&Excel ================================================================================ AUTORE: 368 DATA :12/12/2005 - 13:33:41 ---------------------------------------- Salve a tutti, avrei bisogno di un'aiuto... \":D\" !!! Avete presente il VI \"Excel Macro Example\"? Vorrei poterlo modificare in modo da salvare il workbook e chiudere excel. Ho provato ad usare il \"property node\", ma prima di chiudere l'applicazione, excel mi chiede se voglio salvare. Sarà che non ho ancora capito come utilizzare i \"node\".... ( a proposito sapete dirmi dove trovare documentazione a riguardo?). Qualcuno a qualche suggerimento?? \":lol:\" Ciao e grazie ---------------------------------------- AUTORE: 368 DATA :13/12/2005 - 13:19:19 ---------------------------------------- Ho risolto così: Attivo (tramite labview) una macro che salva e chiude il workbook, ed infine chiudo l'applicazione excel con l' \"invoke node\" (application-quit). Spero di essermi saputo spiegare...... ciao a tutti! \":D\" ---------------------------------------- ================================================================================ Multitone Generator ================================================================================ AUTORE: 955 DATA :12/12/2005 - 15:54:40 ---------------------------------------- Non riesco a capire come funziona questo blocchetto...o meglio non riesco a settare i parametri in maniera esatta... \":?\" I miei dubbi sono nel settaggio del tone phasis, tone amplitude e tone frequences! Come faccio a settare questi parametri in modo da generare un onda sinusoidale con 3 componenti armoniche (la 1a ad esempio a 10kHz, la 2a a 5kHz e la 3a 1kHz)? qualcuno me lo progetta e me lo spiega?plz...se qualcuno non mi aiuta mi impicco con i cavi del pc! \":cry:\" ---------------------------------------- AUTORE: 955 DATA :12/12/2005 - 16:19:18 ---------------------------------------- Il blocchetto ha i seguenti collegamenti... [color=red:1wz15jd7]amplitude[/color:1wz15jd7] is the value that the sum of all the tones is scaled to and is the largest absolute value that the waveform contains. The default is –1. amplitude is useful when outputting the waveform to an analog output channel. If the maximum value that the hardware can output is 5 volts, set amplitude to 5. If amplitude 0, the scaling is not applied. [color=red:1wz15jd7]tone frequencies[/color:1wz15jd7] is an array in which each element is a single tone frequency. The size of this array must match the size of the tone amplitudes array and the size of the tone phases array. [color=red:1wz15jd7] tone amplitudes[/color:1wz15jd7] is an array in which each element is a single tone amplitude. The size of this array must match the size of the tone frequencies array and the size of the tone phases array. [color=red:1wz15jd7]tone phases[/color:1wz15jd7] is an array in which each element is a single tone phase in degrees. The size of this array must match the size of the tone frequencies array and the size of the tone amplitude array. [color=red:1wz15jd7]sampling info[/color:1wz15jd7] contains sampling information: [color=orange:1wz15jd7]Fs [/color:1wz15jd7]is the sampling rate in samples per second. The default is 1000. [color=orange:1wz15jd7]#s [/color:1wz15jd7]is the number of samples in the waveform. The default is 1000. ---------------------------------------- AUTORE: 955 DATA :12/12/2005 - 16:20:11 ---------------------------------------- Ora come setto i vari tone per avere un'onda sinusoidale con armoniche...come descritto prima? GRAZIE ---------------------------------------- AUTORE: 278 DATA :12/12/2005 - 18:16:20 ---------------------------------------- Ciao, Ti allego un esempio che puoi trovare anche nelle librerie di Lv, lo puoi trovare facilmente se attivi l'Help, in fondo alla pagina della descrizione del VI (in questo caso Multitone generator) c'è un bottone chiamato \"Open Example). Questo che ti allego è leggermente modificato, ma solo perchè vuoi che la fondamentale sia ad una frequenza maggiore delle altre (in sostanza, prima del blocchetto della divisione c'era la moltiplicazione) Buon lavoro \":wink:\" ---------------------------------------- AUTORE: 955 DATA :12/12/2005 - 18:48:59 ---------------------------------------- putroppo ho il labview 7...e non lo apre! \":(\" e nel 7 non credo che metta esempi.... al limite se puoi dirmi dove posso scaricare una versione demo del 7.1 provvedo subito! \":)\" ---------------------------------------- AUTORE: 278 DATA :12/12/2005 - 20:33:53 ---------------------------------------- Ciao, Ho provato a convertire il VI alla versione 7.0 ma nisba, te lo rifaccio con la versione 7.0. Riguardo agli esempi hai ragione, ma penso che dipenda dalla versione di LV che hai installato nel tuo sistema, io ho la 7.0 Student Edition e gli esempi a riguardo di questo VI non sono presenti.. \":x\" \":x\" ---------------------------------------- AUTORE: 955 DATA :12/12/2005 - 21:55:52 ---------------------------------------- Grazie mille! sei stato gentilissimo! Ho visto che l'esempio anche se costruito in maniera sicuramente + complicata di come l'avevo fatto io (secondo me mi perdo qualcosa...ma al prof stamattina sembrava andar bene...), alla fine da lo stesso risultato! \":)\" meno male!posso dormire sonni tranquilli....o quasi! mercoledì si avrà il responso...nuova visitina al prof! \":D\" ---------------------------------------- ================================================================================ Seriale ================================================================================ AUTORE: 516 DATA :13/12/2005 - 17:17:00 ---------------------------------------- Ciao a Tutti Vi scrivo per chiedervi se sapete dove posso trovare documentazione seriale sia in ricezione che in trasmissione . Vi spiego il mio problema ho una scheda della Analog Device che legge dei vaori da celle differenti e poi mi trasmette il pacchetto via seriale , la comunicazione è a 38400 baut e circa ogni 300 ms mi trasmette il mio pacchetto di dati , il mio problema è che per un pò riesco a riceverli e leggerli perfettamente ma poi si desicronizza il tutto allora ho aggiunto un buffer che ho dimensionato circa a 10000 e va meglio ma i dati li leggo con ritardo non in tempo reale come posso fare ? come posso scaricare il buffer quando ho letto i mie dati ? Grazie Mille Giants ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 08:23:12 ---------------------------------------- Tu sai a priori quanti dati invia la periferica seriale al tuo pc? Mi spiego meglio... Io ho utilizzato la comunicazione seriale per controllare una scheda di acquisizione dati. Non sapendo quanti dati tornavano indietro dopo la mia richiesta (perchè in caso di acquisizione eseguita correttamente tornavano tre cifre, in caso di errore due simboli e due caratteri, in caso di acquisizione in corso cinque caratteri...) ma sicuro del fatto che alla fine della risposta era presente un particolare carattere di terminazione, ho abilitato nel blocco di inizializzazione della seriale il \"Term Char\". In questo modo potevo impostare il buffer di lettura anche di dieci caratteri perchè comunque il pc leggeva il buffer fino al raggiungimento del carattere di terminazione. In questo modo rimaneva tutto sincronizzato. Nel mio caso il buffer di lettura veniva svuotato alla fine della lettura stessa. Solo in fase di avvio del VI ho dovuto inserire un ciclo di lettura del buffer per svuotarlo da eventuali stringhe di inizializzazione della periferica seriale (tipo messaggio di accensione corretta o benvenuto). Non so se può esserti utile. Per quanto riguarda documentazione particolare dovresti sentire il costruttore per avere il protocollo di comunicazione dello strumento (forse ce l'hai già, magari sulle istruzioni). ---------------------------------------- AUTORE: 516 DATA :14/12/2005 - 09:40:29 ---------------------------------------- Ciao Prima di tutto grazie per aver risposto , si lo so la scheda la fatta un mio collega e invia 16 caratteri (premetto che non invio nessuna richiesta lei manda in continuazione) e termina la comunicazione con in CR LF , interessante il discorso di poter svuotare il buffer potresti darmi due dritte ? , non è da molto che lo uso LabView , non lo trovo male ma devo dire con grande dispiacere che la documentazione fornita dalla NI non è poi molta e inotre neanche ben approfondita ARGH!!! , avrei da chiederti anche una cosa sul salvataggio dei dati posso posarla qui o è meglio fare un'altro post ? Ciao e ANCORA GRAZIE Giants ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 12:01:43 ---------------------------------------- Posta pure, se posso aiutarti sono ben contento! Per lo svuotamento del buffer io faccio così: inizializzo la seriale, poi con il \"Property node\" richiamo il comando \"Bytes at port\" (nell'elenco delle poprietà seriali) e faccio un ciclo \"While\" di letture ripetuto tante volte quanti sono i byte. E i caratteri letti? Non li metto da nessuna parte, tanto non mi servono. Ti allego l'immagine. Per quanto riguarda il comandare gli strumenti con LabView la National, secondo me, non mette nessun documento particolare sul sito perchè ogni strumento ha comandi specifici (tranne qualcuno generale valido un po' per tutti gli strumenti dello stesso tipo). Comunque se cerchi sotto GPIB, strumenti remoti, comunicazione seriale qualcosina dovrebbe saltar fuori. ---------------------------------------- AUTORE: 516 DATA :14/12/2005 - 18:13:41 ---------------------------------------- Ciao Ho appena visto la tua risposta , domani provo subito , l'atra cosa che ti volevo chiedere è questa , devo poter salvare dei dati in un file .txt non ho avuto grosse difficoltà a far questo , il problema è che appena avvio il programma mi chiede dovo voglio salvare i mie dati , ora mi chiedevo se c'era la possibilità (cliccando su un pulsante) che mi aprisse la cartella (per es. Documenti) e poi scrivo il nome del file si può fare questo ? io avevo pensato di mettere un pulsante che mi interropesse il ciclo do while , secondo te c'e un soluzione più elegante ? Come seconda domada volevo chiederti devo far la media di un numero come posso fare c'è già qualche funzione che posso sfruttare ? Ultima come hai fatto a imparare a programmare in labview ? nel senso hai tovato dei libri o in rete hai qualche suggerimento ? Ciao e GRAZIE MILLE PER L'AIUTO CHE MI HAI DATO Ciao Giants ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 08:31:10 ---------------------------------------- Dunque: 1) se cerhi nelle palette del block diagram (la schermata del codice) c'è un blocco per la creazione delle directory (cerca directory). Io non so se si può creare una finestra tipo quella del salvataggio dei Documenti in Windows (forse sì perchè LabView è in grado di lavorare con gli oggetti di Windows ma non saprei esattamente come) ma sicuramente si può creare una finestra di dialogo (quelle con il semplice bottone Ok oppure Ok e Annulla, cerca prompt o dialog box) in cui l'utente inserisce un nome. Nel codice imposti una costante per il nome della directory (con il blocco che dovresti aver trovato prima), una costante per l'estensione del file (nel tuo caso \".txt\") e lasci all'utente il compito di scegliere il nome del file ed eventualmente il nome di una nuova sottodirectory. Poi concateni il nome (costante) della directory con il nome del file scelto dall'utente e con l'estensione (costante). È un metodo semplice per avere a disposizione tutti i file in una cartella. Ti allego un'immagine. 2) Per fare la media si può usare la funzione \"mean\" sotto Mathematics. Fa la media di un vettore (di numeri). 3) Ci sono in giro alcuni libretti e manuali di \"avviamento\" per LabView cercando in rete. Io personalmente mi sono letto (ma non proprio tutto) il manuale della National. ---------------------------------------- AUTORE: 516 DATA :15/12/2005 - 10:45:48 ---------------------------------------- Ciao Grazie Mille oggi pomeriggio provo subito il tutto . Mi sa che sarà meglio anche per me iniziarmi a leggere il manuale della NI . Grazie ancora di tutto poi ti faccio sapere , e sicuramente avrò ancora altre domande per te , me ne viene giusta una in mente adesso \":)\" hai mai provato a gestire una webcam ? nel senso di visualizzare immagini o gestirele per riconoscimento di oggetti ? Ciao Giants ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 10:50:15 ---------------------------------------- Mi spiace ma non ho mai provato ad utilizzare una webcam, però potrebbe essere interessante. Sicuramente sul sito della National c'è qualcosa... ---------------------------------------- AUTORE: 645 DATA :15/12/2005 - 10:51:59 ---------------------------------------- Guarda questo post: viewtopic.php?t=79&highlight=webcam Ale ne sa... ---------------------------------------- AUTORE: 516 DATA :16/12/2005 - 17:04:53 ---------------------------------------- Ciao Ti ringrazio per il sito , lo avevo già provato in passato ma senza riuscire a far funzionare la webcam . Per quanto riguarda quello che mi hai dato tu funziona tutto alla grande \":D\" Grazie ancora di tutto Ciao Giants ---------------------------------------- AUTORE: 645 DATA :21/12/2005 - 09:46:13 ---------------------------------------- Dunque, per quanto riguarda il salvataggio di un file con la possibilità di visualizzare un menù tipo Windows ti porto una novità! Se utilizzi i blocchi \"Open File\", \"Write o Read\", \"Close\" hai la possibilità di selezionare la directory e il nome del file sul quale salvare i dati con la grafica offerta da Windows. Nel blocco \"Open File\" ci sono i collegamenti \"Prompt\" e \"Deafault Name\". Il primo apre una finestra tipo salvataggio Windows con il nome inserito, il secondo scrive nella barra del nome il nome di default scelto. Provare per credere! ---------------------------------------- AUTORE: 516 DATA :21/12/2005 - 15:32:12 ---------------------------------------- Ciao Ho appena visto il tuo post provo immediatamente Ciao Sergio ---------------------------------------- ================================================================================ RDA server e DAQ-mx ================================================================================ AUTORE: 645 DATA :14/12/2005 - 08:42:13 ---------------------------------------- Ciao a tutti, con mio rammarico sto scoprendo che la comunicazione RDA non può più essere utilizzata se si lavora con la tecnologia \"mx\". È vero che posso sempre utilizzare DataSocket ma perdo tutti i vantaggi del preparare i programmi sul mio pc acquisendo con una scheda remota copiando il VI sul pc di destinazione solo a test ultimato. Pareri? Indicazioni? ---------------------------------------- AUTORE: 113 DATA :14/12/2005 - 09:36:35 ---------------------------------------- Con rammarico confermo che l'RDA funziona solo con i Traditional DAQ Devices! \":evil:\" \":evil:\" \":evil:\" Purtroppo anche con LV8-NIDAQmx8 è la stessa solfa... Voci da confermare dicono che la cosa verrà risolta in futuro, ma... di doman non v'è certezza... Onestamente non vedo alternative valide all'utilizzo di RDA per la gestione di HW remoto, io l'ho utilizzato spesso, quantomeno per testare il software. Avrei altro da aggiungere, ma andrei contro alla netiquette del forum... \":wink:\" Ciao, Alberto ---------------------------------------- ================================================================================ Problema IF ...... ELSE ....... : vi prego aiutatemi!! ================================================================================ AUTORE: 977 DATA :14/12/2005 - 14:00:43 ---------------------------------------- Salve a tutti! Il mio problema è molto semplice, ma allo stesso tempo non riesco a trovare una soluzione accettabile: Non riesco a trovare il blocco che mi esegui una semplice istruzione quale l' \" If....... else \" Ho notato che per condizioni semplici si può usare la struttura NODE, ma nel mio caso questo risolulta impossibile... Nella fattispecie a me serve una struttura che operi nel seguente modo : Se \"condizione verificata\" esegui un certo BLOCCO di operazioni NON ELEMENTARI; \"Se no\" esegui un'altro BLOCCO di operazioni... Spero mi vogliate aiutare a risolvere questo problema molto fastidioso!! Quasi dimenticavo : ho Labview 7.1 Professional Vi ringrazio anticipatamente per l'interessamento!! Saluti Davide ---------------------------------------- AUTORE: 680 DATA :14/12/2005 - 14:30:35 ---------------------------------------- prova ad usare una strttura case........ se l'ingresso è vero fai una cosa se falso fanne un'altra.......... ciao........ ---------------------------------------- AUTORE: 977 DATA :14/12/2005 - 15:10:01 ---------------------------------------- il problema che a me serve scrivere una condizione da qualche parte.... non c'è un blocco specifico adibito all' if... else...?! ---------------------------------------- AUTORE: 838 DATA :14/12/2005 - 15:26:47 ---------------------------------------- la \"condizione\" te la crei all'ingresso del case, nel tuo caso serve una true/false ad esempio if (input>10) then else... dove input > 10 è una stupidata da fare con il blocchetto maggiore altrimenti se hai formule complesse puoi sempre utilizzare il formula node dove inserisci la tua espressione complessa e ti restituisce un True/false che fa a tuo casp ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 15:45:36 ---------------------------------------- Per le condizioni decisionali LabView mette a disposizione la \"Case Structure\" (paletta \"Structures\" insieme ai cicli e agli eventi). Questa può essere personalizzata per lavorare come una struttura \"If... Then\", una struttura \"If... Tehn... Else\" o anche una struttura \"Case\". Se nel tuo caso in base al verificarsi di una condizione devi effettuare operazioni complesse, puoi pensare di inserire dei subVi all'interno di ogni condizione (un subVi per il vero, uno per il falso o uno per la prima condizione, uno per la seconda...). In questo modo dovresti ottenere un programma più chiaro. ---------------------------------------- AUTORE: 645 DATA :14/12/2005 - 15:49:58 ---------------------------------------- Per la condizione in ingresso puoi fare così: prima del \"Case Structure\" prepari una condizione usando i blocchi di comparazione e algebra booleana. Puoi preparare costrutti \"and\", \"or\" e altre combinazioni. La riga di codice che in altri linguaggi viene scritta all'inizio del blocco decisionale qui viene realizzata collegando blocchi tra loro. ---------------------------------------- AUTORE: 977 DATA :15/12/2005 - 10:43:51 ---------------------------------------- ho provato a fare come mi avete suggerito!! Il tutto sembra funzionare alla perfezione!! Sinceramente credevo ci fosse qualche altro modo per farlo, ma evidentemente mi sbagliavo!! Vi ringrazio per la collaborazione e l'aiuto!! A presto!! Ho un'altro piccolo problema, ma credo sia meglio aprire un'altro topic per motivi di chiarezza e di coerenza con il titolo del discorso.... Ancora grazie!! Davide ---------------------------------------- ================================================================================ multitone generator + media ================================================================================ AUTORE: 955 DATA :14/12/2005 - 18:25:08 ---------------------------------------- Premesso che ci sto impazzendo (trovo assurdo-impossibile riuscire ad imparare il labview in 2 settiman)...e che tra un po' davvero butto giù dal 4 piano il pc! [img:28ank4eq]http://img369.imageshack.us/img369/8379/imm1cq.jpg[/img:28ank4eq] Devo effettuare l'operazione di media su un segnale affetto da armoniche!Il prof mi ha detto di non usare il blocchetto mean perchè non effettua la media su N campioni(...o almeno credo di aver capito questo...)e che devo crearlo io! ora ho settato 2 (nel punto cerchiato) xkè ho fatto la seguente operazione: Fs:#s=Fsegnale:x è giusto?cioè effettuo la media solo sulla componente fondamentale!? Se volessi avere una media complessiva del segnale dovrei sommare le medie di ogni segnale?ovvero la fondamentale + le armoniche? \":?\" ---------------------------------------- AUTORE: 955 DATA :14/12/2005 - 18:27:45 ---------------------------------------- mmm errore....invece di 2 e di quella formula ci dovrebbe andare... f/fc ...almeno credo... per cui 10/2000=0.005 \":?\" ---------------------------------------- ================================================================================ Principo di funzionamento delle "occurrence" ================================================================================ AUTORE: 961 DATA :14/12/2005 - 20:04:05 ---------------------------------------- Ciao a tutti. Vorrei comprendere il principio di funzionamento delle occurrence (vedi messaggio mio \"arresto rapido\").Ovvero, perchè sono in grado di arrestare, senza vincolo alcuno, un while loop contenente una flat sequence con una successione di operazioni al suo interno? Grazie \":wink:\" ---------------------------------------- AUTORE: 4 DATA :15/12/2005 - 14:33:25 ---------------------------------------- Bepi il principio di funzionamento delle occorrenze è molto semplice. Esistono 3 funzioni dedicate alle occorrenze - Generate Occurrence - Set Occurrence - Wait on Occurrence [i:do4lic1q]Generate Occurrence[/i:do4lic1q], genera un'istanza di un'occorrenza e restituisce un riferimento utile per accedervi. Le funzioni [i:do4lic1q]Set Occurrence[/i:do4lic1q] e [i:do4lic1q]Wait on Occurrence[/i:do4lic1q] hanno bisogno di questo riferimento in ingresso. Nello specifico [i:do4lic1q]Set Occurrence[/i:do4lic1q] fa' \"scattare\" l'occorrenza associata al riferimento che ha in ingresso. [i:do4lic1q]Wait on Occurrence[/i:do4lic1q] aspetta che, l'occorrenza associata al riferimento che ha in ingresso, \"scatti\" [i:do4lic1q]Wait on Occurrence[/i:do4lic1q] ha anche altri 2 parametri in ingresso: - ms timeout - ignore previous [i:do4lic1q]ms timeout[/i:do4lic1q] indica per qanto tempo la wait occurrence deve aspettare lo scattare dell'occorrenza prima di andare in timeout. Se l'occorrenza viene settata entro il tempo di time out la funzione wait esce con la condizione di timeout False altrimenti tale condizione vale True. [i:do4lic1q]ignore previous[/i:do4lic1q] è una sorta di reset della wait se settato a true forza la funzione wait ad ignorare occorrenze settate prima della sua chiamata. Le occorrenze possono essere utilizzate per un'infinità di applicazione e una delle più interezzanti è l'uscita dai cicli while. Nel diagramma sotto c'è il classico caso di dover stoppare un while loop (2), che esegue ogni 5000ms, alla pressione del tasto stop gestito da un altro while loop (1). Quello che accadrebbe utilizzando i metodi standard (wait until...) sarebbe che alla pressione del tasto Stop dorei aspettare dai 5000 ai 10000 ms prima dell'uscita dal secondo while loop questo perche la funzione di wait non è interrampibile cioè una volta chiamata con wait=5000 non la si può terminare prima dello scadere dei 5000ms. La wait occurrence ragiona in modo diametralmente diverso: aspetta lo scattare dell occorrenza per un certo periodo di tempo... Utilizzando l'occorrenza per stoppare il loop sfrutto questa \"interrompibilità\" della funzione wait. Quello che succede in pratica è che il loop inizia ad eseguire la funzione wait occurrence viene chiamata, l'occorrenza aspetta di essere settata per 5000ms, se nessuno la setta dopo questo periodo esce ritornando la condizione di timeout True quindi il loop continua ad eseguire e si prepara per una nuova iterazione, questo ciclo di azioni và avanti finchè l'occorrenza non viene settatta, in questa condizione il while loop esegue ogni 5000 ms tempo dettato dall'attesa della wait occurrence. Supponiamo ora che siamo alla millesima iterazione del while loop e che la wait on occurrence è stata già chiamata e stà aspettando il suo set già da 349 ms cosa succederebbe se all'istante 350ms qualcuno settasse l'occorrenza? Semplice la wait occurrence vedrebbe il set e quindi terminerebbe la sua esecuzione all'istante 351 riportando una condizione di timeout false e questo farebbe terminare istantaneamente anche l'esecuzione del while loop. Ciao, Alessandro ---------------------------------------- AUTORE: 961 DATA :17/12/2005 - 00:05:27 ---------------------------------------- Grazie Ale! Ho inserito nel mio programma le occurrence e ineffetti l'arresto del compressore è molto più rapido! Da quello che ho capito senza le \"occorrenze\" premendo lo stop del while loop quest'ultimo,non solo conclude l'iterazione già iniziata, ma ne inizia e completa una intera prima di raggiungere lo stop.Invece con le \"occurrence\", al più viene conclusa quella già iniziata e successivamente si ha lo stop.Almeno questo è quello che ho potuto rilevare attraverso un semplice programmino in cui un while loop contine una flat sequence che rappresenta una serie di operazioni.E' giusto?Ciao \":wink:\" ---------------------------------------- AUTORE: 247 DATA :19/12/2005 - 18:19:04 ---------------------------------------- Ciao, [quote:13zn7kar]Da quello che ho capito senza le \"occorrenze\" premendo lo stop del while loop quest'ultimo,non solo conclude l'iterazione già iniziata, ma ne inizia e completa una intera prima di raggiungere lo stop.[/quote:13zn7kar] non è esattamente così, senza le occorrenze il while loop si ferma quando il pulsante che è collegato allo stop del ciclo viene letto ed ha valore vero(se il ciclo è impostato come \"stop if true\"). Il fatto che il tuo ciclo venga eseguito una volta di troppo dipende certamente dal fatto che premi il pulsante di stop quando il suo valore è già stato letto per l'attuale ciclo in esecuzione e quindi la pressione del tasto non è valida per l'iterazione attuale ma viene conteggiata per la successiva, ed infatti il ciclo si ferma. Per risolvere il problema potresti semplicemente assiucurarti che il valore del tasto sia letto come ultima operazione del ciclo, ad. esempio mettendolo nell'ultimo frame della sequence. BYE. ---------------------------------------- AUTORE: 961 DATA :19/12/2005 - 18:35:08 ---------------------------------------- [quote="apollon":1dc9i9x0]Ciao, [quote:1dc9i9x0]Da quello che ho capito senza le \"occorrenze\" premendo lo stop del while loop quest'ultimo,non solo conclude l'iterazione già iniziata, ma ne inizia e completa una intera prima di raggiungere lo stop.[/quote:1dc9i9x0] non è esattamente così, senza le occorrenze il while loop si ferma quando il pulsante che è collegato allo stop del ciclo viene letto ed ha valore vero(se il ciclo è impostato come \"stop if true\"). Il fatto che il tuo ciclo venga eseguito una volta di troppo dipende certamente dal fatto che premi il pulsante di stop quando il suo valore è già stato letto per l'attuale ciclo in esecuzione e quindi la pressione del tasto non è valida per l'iterazione attuale ma viene conteggiata per la successiva, ed infatti il ciclo si ferma. Per risolvere il problema potresti semplicemente assiucurarti che il valore del tasto sia letto come ultima operazione del ciclo, ad. esempio mettendolo nell'ultimo frame della sequence. BYE.[/quote:1dc9i9x0] Ciao apollon. Quindi il tasto di stop \"viene letto\" sempre per l'iterazione successiva e non quella attuale? Cioè, è una caratteristica di LabVIEW? P.S.: ho posizionato il tasto di stop nell'ultimo frame e la sequenza è fermata ineffetti all'iterazione attuale. Grazie! \":)\" ---------------------------------------- AUTORE: 247 DATA :19/12/2005 - 23:24:52 ---------------------------------------- Ciao, [quote:3l3h3017]Ciao apollon. Quindi il tasto di stop \"viene letto\" sempre per l'iterazione successiva e non quella attuale? Cioè, è una caratteristica di LabVIEW? [/quote:3l3h3017] NO, ASSOLUTAMENTE, il tasto di stop non viene letto per l'iterazione successiva! Mi devo essere spiegato male prima se hai capito questo...ci riprovo perchè è un argomento cardine per capire l'ordine di esecuzione di LabVIEW ed evitare quelli che vengono percepiti come \"strani comportamenti\": Quando un while loop viene messo in esecuzione, il codice contenuto al suo interno è libero di essere eseguito rispettando la dipendenza imposta dal dataflow(in parole molto povere la dipendenza è data da fili e strutture tipo la sequence, case etc..) Ogni parte di codice libera da dipendenze può quindi essere eseguita paralellamente alle altre parti anch'esse considerate indipendenti. Quindi: - una funzione può essere eseguita solo quando ogni suo ingresso(impostato come obbligatorio) ha un valore noto. - un controllo può essere letto quando viene incontrato nel flusso di esecuzione(\"eseguire\" un controllo significa leggerne il valore). - un indicatore può essere impostato quando il filo in ingresso che ne determina il valore assume un valore valido grazie alla precedente esecuzione di una funzione di cui sfrutta l'output oppure alla lettura di una costante(\"eseguire\" un indicatore significa impostarne il valore). Quello che accade è che i controlli, e questo è il caso del tuo bottone di stop.., se piazzati liberamente nel block diagram, possono essere letti/eseguiti immediatamente appena parte il ciclo, dato che non hanno dipendenze di dati in entrata: il valore di un controllo viene quindi letto e assunto tale per l'iterazione attuale del ciclo in esecuzione [b:3l3h3017]all'inizio[/b:3l3h3017] dell'esecuzione e quindi se tu ne modifichi il valore [b:3l3h3017]durante[/b:3l3h3017] l'esecuzione dell'iterazione, questa modifica verrà \"sentita\" dal codice solamente nella successiva(ed eventuale) iterazione dato che LabVIEW resetterà in automatico il valore del controllo solamente dopo averlo letto. L'azione di lettura del controllo nel block diagram si nota anche sul front panel: il pulsante si rialza in posizione iniziale a causa dell'avvenuta lettura che lo rende nuovamente disponibile. In parole povere se nel tuo ciclo c'è del codice che per essere eseguito richiede 5 secondi, LabVIEW legge il valore di ogni controllo almeno una volta ogni cinque secondi, ma a priori, senza la presenza di precisi criteri di dipendenza/temporizzazione che imposti in prima persona, non puoi sapere quando avverrà questa lettura, se all'inizio, dopo un secondo oppure come ultima operazione. Come hai potuto notare, uno dei modi per cambiare questo comportamento di LabVIEW(che fà parte del suo decantato parallelismo di esecuzione) è quello di inserire il bottone nell'ultimo frame della sequence, creando una dipendenza. Così facendo, il valore del tasto viene letto solamente alla fine ed hai quindi la possibilità di settarlo fino a quel momento (attenzione! quest'ultimo comportamento può variare in dipendenza dell'azione meccanica associata al pulsante! Tasto dx->Mechanical Action..) Per capire meglio guarda il VI che ti allego; queste sono le considerazioni di massima che dovresti poter condividere: - Il ciclo while si ferma alla seconda iterazione dato che i sarà uguale a 1. - All'inizio gli elementi del codice liberi da dipendenze che possono essere immediatamente eseguiti sono la Sequenza 1, il Pulsante 1 e l'Operazione di confronto. Gli elementi dipendenti sono invece la Sequenza 2, dipendente (aspetta i risultati tramite i fili verdi) dalla Sequenza 1 e l'indicatore Iterazioni dipendente dalla lettura del valore i(iterazioni del ciclo). - Non riuscirai praticamente mai(a meno di essere Flash in persona..\":D\") ad accendere il Led 1 collegato al Pulsante 1 mentre l'indicatore delle iterazioni indica 0(prima iterazione) dato che il controllo è immediatamente libero di essere eseguito/letto e quindi il suo valore rimane quello che ha quando viene letto subito dopo lo start del VI. - Il Led collegato al Pulsante 2 può essere modificato fino allo scadere dei primi 5 secondi dopodichè il suo ultimo valore viene mantenuto per tutta l'iterazione e viene visualizzato dal Led 2 alla fine - Il Led collegato al Pulsante 3 può essere modificato fino allo scadere dei primi 10 secondi scaduti i quali il suo ultimo valore viene mantenuto e visualizzato dal Led 3 alla fine. - Il Led 1 viene aggiornato nel suo valore subito dopo la lettura del Pulsante 1. - I Led 2,3 vengono aggiornati nel loro valore solamente quando la Sequenza 2 è libera di essere eseguita ovvero ha ricevuto in ingresso i necessari valori dalla Sequenza 1 che ha terminato la propri esecuzione(in questo modo è stata risolta la dipendenza della Sequenza 2 dalla Sequenza 1) - Modifiche del Pulsante 1 fatte durante il primo ciclo verranno visualizzate nel secondo ciclo(iterazione=1) dal Led 1. BYE. ---------------------------------------- AUTORE: 961 DATA :19/12/2005 - 23:49:54 ---------------------------------------- Grazie 1000 apollon! Credo di aver capito. Purtroppo però non riesco a scaricare il file, questo è il messaggio che mi appare: \"The selected Attachment does not exist anymore\" \":oops:\" Ciao e ancora grazie ---------------------------------------- AUTORE: 247 DATA :20/12/2005 - 00:08:26 ---------------------------------------- Ciao, mi sà che ci siamo scontrati nella scrittura/lettura nonostante l'ora tarda \":D\"! In effetti prima ho postato il Vi e poi l'ho tolto per rimetterlo zippato..devi aver provato a downlodarlo nel mentre, mi dispiace, cmq ho aggiunto l'immagine del block diagram se dovessero ancora esserci problemi. BYE. ---------------------------------------- AUTORE: 961 DATA :20/12/2005 - 12:21:33 ---------------------------------------- Ok apollon, ho scaricato direttamente il \"vi\", ora è stato possibile. Credo di aver capito, comunque ci starò sopra un po', può essere estremamente utile questo argomento! Mi confermi che con le \"occurrence\" blocco l'esecuzione istantaneamente? O viene comunque conclusa l'iterazione in corso? Non vorrei assillarti \":oops:\" ma che mi dici del mio altro messaggio sull'acquisizione da \"RSE\" a \"DIFFERENTIAL\"? Oggi ancora prove in laboratorio ma nessun risultato. Il pick-up magnetico lo collego alle coppie ACH i,i+8 ma lo spettro in frequenza non mi dà nulla! Ho qualche sensore collegato su altri ACH ma pensati in \"RSE\", ma non credo che possano dare fastidio (sulla scheda ho comunque anche i collegamenti dell'inverter)Grazie! Ciao[/i] ---------------------------------------- ================================================================================ Problemi con le trasformate e segnali DTMF : help me plese!! ================================================================================ AUTORE: 977 DATA :15/12/2005 - 11:01:00 ---------------------------------------- Il problema che mi si pone è abbastanza complesso e spero che mi sappiate aiutare perchè non so come andare avanti.... Tecnicamente parlando devo rilevare un segnale DTMF! Un segnale DTMF non è altro che un segnale composto dalla somma puntuale di due sinusoidi pure di freq. e ampiezza diversa... Il mio problema è che una volta generato questo segnale, averlo trasmesso tramite la scheda di I/O analogica ad un dispositivo esterno, devo rilevarlo per vedere se il suddetto dispositivo è \"trasparente\" ovvero in uscita si trova lo stesso segnale d'ingresso (naturalmente dopo un piccolo ritardo di trasmissione...) Quello che ho fatto fin'ora è l'acquisizione del segnale analogico tramite l'apposita scheda( banale ), ma ora mi serve un \"blocco\" che elabori il segnale in ingresso (DTMF) e mi restituisca in uscita la freq e l'ampiezza delle sinusoidi pure che lo compongono... L'approccio più diretto ed ottimale sarebbe trovare un blocco che segue le trasformate di Fourier e mi restituisce tutti i coefficenti necessari per ricavare le due sinusoidi (termine in continua, Ampiezza, freq., fase sin1,Ampiezza, freq., fase sin2,....), ma purtroppo non riesco a trovare nessun blocco che abbia queste uscite( forse perchè il mio inglese non è ottimo...) e quindi mi sono arenato...!! Un'altro approccio sarebbe quello di \"filtrare\" il segnale di ingresso con dei filtri \"PASSA-BANDA\" in modo da vedere da quali sinusoidi è formato il segnale, ma il procedimento è più complicato e per problemi vari mi sono arenato anche li... Spero possiate essermi di aiuto con la vostra esperienza perchè non so proprio più che fare.... Vi ringrazio anticipatamente per l'aiuto!! A presto Davide ---------------------------------------- AUTORE: 748 DATA :16/12/2005 - 09:57:18 ---------------------------------------- Ciao, in inglese generalmente ci si riferisce alle trasformate di Fourier con un acronimo: FFT (Fast Fourier transform) Trovi i blocchetti per eseguire le trasformate e analizzare un segnale in: Analyze > Waveform measurements > (blocchetti con FFT in basso) Mark ---------------------------------------- AUTORE: 977 DATA :22/12/2005 - 15:00:59 ---------------------------------------- problema risolto : FILTRO e single-tone measurement!!!!!!!!!!! Comunque grazie per l'aiuto!!! Saluti Davide ---------------------------------------- ================================================================================ Salva e riapri ================================================================================ AUTORE: 847 DATA :16/12/2005 - 14:18:29 ---------------------------------------- Ciao a tutti è da un po di tempo che ci sto dietro per sto problema,ho rinunciato ad utilizzare i blocchi save/read waveform perchè non capisco come salvano. Come posso fare per salvare le forme d'onda acquisite e poi riaprirle dal file. Grazie a tutti!! ---------------------------------------- ================================================================================ calcolo dell'angolo di sfasamento tra 2 segnali ================================================================================ AUTORE: 955 DATA :16/12/2005 - 18:20:56 ---------------------------------------- Qualcuno mi da qualche suggerimento...non saprei proprio da dove partire...ho generato i due segnali sfasati...ma non riesco ad andare avanti! Grazie ---------------------------------------- AUTORE: 955 DATA :17/12/2005 - 16:56:52 ---------------------------------------- allora ho pensato di utilizzare uno Zero Crossing, uno su un segnale e uno sull'altro segnale negato ed inviare le uscite dei due Zero Crossing alla gate(ovvero una and)...ora però non riesco a trovare il blocchetto del clock! avevo pensato di inviare l'uscita della gate in and con il clock così da poter poi utilizzare un contatore per contare i segnali di clock in uscita dall'ultima and....chi mi dice come fare? grazie ---------------------------------------- AUTORE: 955 DATA :17/12/2005 - 17:25:38 ---------------------------------------- avevo pensato di generare il clock con un segnale ad onda quadra a frequenza 100Hz e ampiezza 1...ora il problema ce l'ho sulla gate... in pratica il segnale in uscita dal generatore ad onda quadra non è compatibile nè con lo Zero Crossing ne con il Basic Level Trigger Detection che avevo pensato di usare in sostituzione... help... \":(\" ---------------------------------------- ================================================================================ CITADEL DATABASE BACK UP ================================================================================ AUTORE: 904 DATA :19/12/2005 - 12:49:53 ---------------------------------------- Per cortesia qualcuno saprebbe indicarmi come effettuare una copia di back up di un database Citadel 5.0 generato con DSC . Copiare semplicemente su una macchina server la cartella dove è stato generato il database da un errore . In attesa di una vostra risposta Ringrazio in anticipo ! Saluti \":D\" ---------------------------------------- AUTORE: 838 DATA :19/12/2005 - 15:15:13 ---------------------------------------- miu sembra che crea la cartella DATA e il database è dentro li a me ha dato errore di copia perchè avevo il dsc aperto, ma con lw chiuso me lo fa fare senza problemi non so dirti di più perchè il backup di data non l'ho mai fatto ---------------------------------------- ================================================================================ Programmazione remota ================================================================================ AUTORE: 996 DATA :19/12/2005 - 16:38:12 ---------------------------------------- \":oops:\" Salve a tutti, questa è la prima volta che entro nel forum. Vorrei sapere come posso sviluppare un sorgente, sfruttando l'hardware presente in un computer remoto( nel mio caso è una IMAQ-1409), senza dover installare LabView nello stesso, ma scaricarci solo l'EXE ogni volta che mi chiedono una modifica. Grazie . Andrea ---------------------------------------- AUTORE: 278 DATA :19/12/2005 - 18:13:13 ---------------------------------------- Ciao e benvenuto nel Forum! Per fare quello che chiedi devi avere installato sulla macchina si cui girerà l'eseguibile il \"Run time Engine\", ti rimando a questo post viewtopic.php?t=1071&highlight=run+engine Inoltre, se provi a cercare \"run time engine\" nella barra di ricerca potrai trovare altri topic inerenti all'argomento. Saluti! ---------------------------------------- AUTORE: 278 DATA :19/12/2005 - 18:19:04 ---------------------------------------- Rileggendo il post, mi è sfuggito un piccolo dettaglio..... Correggimi se sbaglio. Tu vorresti sviluppare il sorgente per la scheda IMAQ-1409 su di una macchina nella quale non è presente tale hardware... In tal caso credo che sia sufficiente avere installati sulla macchina dove sviluppi il sorgente le librerie della scheda IMAQ, oltre che il toolkit NI Vision ---------------------------------------- AUTORE: 996 DATA :19/12/2005 - 18:26:31 ---------------------------------------- Grazie per la dritta, alla prossima Saluti Andrea \":D\" ---------------------------------------- ================================================================================ Acquisizione segnali da "RSE" a "DIFFERENTIAL ================================================================================ AUTORE: 961 DATA :19/12/2005 - 18:20:59 ---------------------------------------- Salve ragazzi. Vorrei porvi un'altra questione. Nel mio programma sto acquisendo la velocità di rotazione di un turbogruppo. Pur acquisendo discretamente il segnale ( pensate solo un centesimo di volt!, ma è sufficiente) ho però un fastidiosissimo disturbo a 2000Hz più o meno costante dovuto all'inverter che stiamo utilizzando per regolare la velocità del compressore primario (un Roots). Questo disturbo sparisce completamente cambiando l'acquisizione della scheda da \"single ended\" a \"differential\" come c'era da aspettarsi! In realtà questo è vero quando l'acquisizione di detta velocità avviene su un altro computer e su una scheda dove non ho alcun altro collegamento. Quando trasferisco l'acquisizione sul computer sul quale ho, tramite la scheda national instruments, i collegamenti con l'inverter non ho più nessuna velocità acquisita! Mi chiedo: sono i collegamenti con l'inverter a dare fastidio? o tutti gli altri collegamenti di termocoppie e trasduttori di pressione presenti sulla scheda, che, lasciati in single ended, ho comunque escluso dall'alimentazione?Grazie ---------------------------------------- AUTORE: 247 DATA :21/12/2005 - 02:51:43 ---------------------------------------- [quote="bepi":25gtk683]Oggi ancora prove in laboratorio ma nessun risultato. Il pick-up magnetico lo collego alle coppie ACH i,i+8 ma lo spettro in frequenza non mi dà nulla! Ho qualche sensore collegato su altri ACH ma pensati in \"RSE\", ma non credo che possano dare fastidio (sulla scheda ho comunque anche i collegamenti dell'inverter)Grazie! Ciao[/quote:25gtk683] Ciao, presupponendo che sia un problema legato all'hardware e non al codice, ovvero presupponendo che tu faccia girare lo stesso VI su entrambe le macchine identicamente configurate, esprimersi risulta sempre un pò difficile perchè la maggior parte dei problemi hardware inspiegabili viene solitamente risolta grazie a prove che prevedono vari tentativi in successione al fine di isolare la possibile causa del problema. I problemi poi risultano ancora più complicati se, come nel tuo caso, effettui la stessa misura con due sistemi differenti...cmq provo lo stesso ad esprimermi...\":D\" Per quello che ho capito posso consigliarti in ogni caso di effettuare un condizionamento del segnale prima di acquisirlo, in particolare credo che avendo un valore in lettura così piccolo, tu debba filtrarlo(disturbo a 2000Hz e rete a 50Hz) ed amplificarlo nel punto più vicino al sensore e settare l'ADC in ingresso della scheda in modo da avere come range il massimo swing dei valori possibili che può assumere la misura al fine di sfruttarne tutta la risoluzione. In particolare quest'ultimo parametro può essere critico nel tuo caso perchè se sul primo PC (quello che legge correttamente) hai una scheda in cui il range dell'ADC viene scelto in base a quell'unica misura di ampiezza di 1/100 V hai la possibilità di leggere bene anche un segnale modesto, mentre se sul secondo PC (quello che non legge) il range dell'ADC viene scelto in base alla misura di ampiezza maggiore(penso sia superiore al V), probabilmente la risoluzione della misura non è più sufficiente a garantire una misura corretta del centesimo di V che ti serve e di conseguenza della sua frequenza dalla quale deduci la misura di velocità. La possibilità di settare l'ADC dipende dal tipo di scheda ed in particolare dal fatto che la scheda abbia un ADC per ogni ingresso(simultaneous sampling, le più costose) oppure un solo ADC condiviso tra tutte le uscite per motivi di risparmio, controlla il datasheet della scheda che utilizzi e dicci di quale si tratta. BYE. ---------------------------------------- AUTORE: 961 DATA :21/12/2005 - 14:23:03 ---------------------------------------- Ciao apollon e grazie per la disponibilità. La scheda è la PCI 6024E della National Instruments. Credo che ogni canale possa avere il suo settaggio...comunque ecco il datasheet, ciò che ci interessa dovrebbe essere da pag.22: http://he3.dartmouth.edu/manuals/PCI-60 ... Manual.pdf Ciao \":wink:\" ---------------------------------------- AUTORE: 961 DATA :22/12/2005 - 19:16:24 ---------------------------------------- Ciao apollon. Allora, oggi altre prove e un risultato molto interessante! Ho settato la scheda nel computer che \"dà problemi\" su RSE e fissando un \"low limit\" e un \"high limit\" sull' \"AI acquire waveform\" coerenti con l'intensità del mio segnale, ho notato un netto indebolimento del disturbo ma non del segnale! Risultato incoraggiante! Senza quei limiti il picco di disturbo sullo spettro è molto più \"alto\".C'è una giustificazione per questo? Mi chiedo, se i limiti aiutano la scheda in una migliore risoluzione, ciò dovrebbe valere anche per il segnale di disturbo, o mi sbaglio? Grazie per la risposta ---------------------------------------- AUTORE: 247 DATA :24/12/2005 - 00:04:18 ---------------------------------------- [quote="bepi":2sam2uhn]Mi chiedo, se i limiti aiutano la scheda in una migliore risoluzione, ciò dovrebbe valere anche per il segnale di disturbo, o mi sbaglio?[/quote:2sam2uhn] Ciao, ...poco ma sicuro, dovrebbe trattare allo stesso modo segnale e disturbo, garantendo ad entrambi la medesima amplificazione a meno che, a nostra insaputa, il nuovo settaggio stia filtrando anche il rumore(e questo sembra il caso viste le tue prove...e perchè lamentarsi??:D )...cmq proverò a controllare meglio il datasheet. BYE. ---------------------------------------- AUTORE: 961 DATA :27/12/2005 - 22:25:26 ---------------------------------------- Ciao apollon, credo che i limiti taglino i disturbi che si sovrappongono al mio segnale.Che ne dici? Vi faccio vedere la differenza tra i due spettri, la dizione \"ottimizzato\" si riferisce all'uso dei limiti nell'\"AI acquire wave form\" ---------------------------------------- AUTORE: 961 DATA :27/12/2005 - 22:29:00 ---------------------------------------- Ora quello con i limiti fissati da me a 0,02 e 0,001 max e min rispettivamente. 2000 si riferisce al numero di giri del compressore primario che spara aria compressa sulla turbina del turbogruppo.Che differenza!Ciao ---------------------------------------- AUTORE: 961 DATA :11/01/2006 - 21:15:56 ---------------------------------------- Ciao a tutti! Allora, avete visto che differenza tra le due acquisizioni di velocità? In ogni caso io suppongo che ciò sia dovuto al fatto che il disturbo dell'inverter (quel picco che vedete, più o meno fisso, a 2000Hz), sia negativo nel dominio del tempo; e quindi, poichè io ho messo come limiti 0.02 e 0.001 (misurati in Volt), cioè due limiti positivi, il disturbo viene completamente ignorato. Che ne pensate? Ciao ---------------------------------------- ================================================================================ Usare NI 6229 M Series DAQ ================================================================================ AUTORE: 341 DATA :19/12/2005 - 21:13:59 ---------------------------------------- Salve,devo usare una scheda \"NI 6229 M Series DAQ\" per acquisire dei segnali da alcuni sensori di pressione,temperatura e potenziometri lineari (tensione 0-10 V).In uscita devo comandare,in modo lineare,la velocità di un motore tramite un inverter e due apparecchi tramite due relè.Qualcuno mi sa dire come fare e che tipo di moduli usare ???? Come posso vedere (con un tester) se ho in uscita una tensione senza collegare niente in ingresso e in uscita (escluso ovviamente il tester) giacchè non ho ancora i relativi strumenti,ma voglio provare la funzionalità della scheda. Ringrazio infinitamente quanti mi saranno di aiuto. ---------------------------------------- ================================================================================ Lettura dalla seriale!!!! ================================================================================ AUTORE: 1001 DATA :21/12/2005 - 07:30:16 ---------------------------------------- Ciao a tutti! Mi è capitato un problema assai strano! Ho creato un programma di monitoraggio di vari strumenti e utilizzo la seriale come mezzo di comunicazione. Questo programma ha funzionato benissimo sotto win98 ma da quando sono passato ad xp (professional sp2) la seriale si blocca! Nel senso che legge per un periodo (varia a secondo del numero di strumenti collegati cioè + strumenti ci sono e prima si blocca) e poi non legge +. E' come se si saturasse qualcosa perchè il programma gira ma non comunica +.Io utilizzo i visa ma anche mettendo quelli vecchi ho lo stesso problema anche se si blocca dopo. Può essere che si riempie il buffer della seriale? C'è un mudo per poter monitorare lo stato del buffer? Grazie e a presto. \":D\" ---------------------------------------- AUTORE: 838 DATA :21/12/2005 - 07:45:36 ---------------------------------------- probabilmente si intasa la seriale per monitorare la seriale puoi usare programmi molto utili come portmonnt, da lanciare prima dell'applicativo così di vedi tutto il flusso dati sulla seriale ---------------------------------------- AUTORE: 1001 DATA :21/12/2005 - 08:14:26 ---------------------------------------- Grazie lo provo subito ---------------------------------------- AUTORE: 1001 DATA :21/12/2005 - 08:49:16 ---------------------------------------- Interessante portmonnt ma qualcosa che mi fa vedere o stato di intasamento del buffer? Grazie! ---------------------------------------- AUTORE: 645 DATA :21/12/2005 - 09:04:03 ---------------------------------------- Dai un'occhiata a questo post: viewtopic.php?t=1237&highlight= Ho inserito l'immagine di un ciclo che io uso per svuotare il buffer all'avvio del VI (Svuota Buffer.jpg). Forse può essere utile. Anche se credo che nel tuo caso il problema sia diverso. Non vorrei fare una domanda stupida ma hai inserito nel tuo VI il blocco per l'inizializzazione della porta seriale con i parametri corretti? E questi parametri corrispondono a quelli che puoi leggere dal \"Pannello di Controllo\" di Windows nella sezione \"Gestione Periferiche\" (sotto \"Sistema\")? Magari c'è qualche conflitto in queste parti. ---------------------------------------- AUTORE: 1001 DATA :21/12/2005 - 09:24:43 ---------------------------------------- Ciao Magicbotolo! Si ho controllato e le impostazioni sono uguali! Mah! Ogni volta sono costretto a chiudere l'applicativo e poi farlo ripartire!!! Tu conosci un programma che mi fa vedere il livello di intasamento del buffer? Grazie! ---------------------------------------- AUTORE: 1001 DATA :21/12/2005 - 09:26:41 ---------------------------------------- Ciao Magicbotolo! Si ho controllato e le impostazioni sono uguali! Mah! Ogni volta sono costretto a chiudere l'applicativo e poi farlo ripartire!!! Tu conosci un programma che mi fa vedere il livello di intasamento del buffer? Grazie! ---------------------------------------- AUTORE: 645 DATA :21/12/2005 - 09:34:44 ---------------------------------------- Per comunicare con gli strumenti usi un protocollo di comunicazione \"Domanda-Risposta\"? Cioè tu invii una stringa e lo strumento ti risponde con i dati? Non saprei indicarti nessun programma per il monitoraggio della seriale, mi spiace. ---------------------------------------- AUTORE: 1001 DATA :21/12/2005 - 09:44:31 ---------------------------------------- Si! Io mando un comando a uno strumento e quello mi risponde! ---------------------------------------- AUTORE: 645 DATA :21/12/2005 - 09:48:26 ---------------------------------------- Potrebbe trattarsi del tempo di sincronizzazione tra lettura e scrittura della seriale; ma se in Win98 il VI funzionava questo problema non dovrebbe esserci. Casomai puoi provare ad aumentare l'intervallo di tempo tra la scrittura (invio da pc a strumento) e la lettura della porta seriale. ---------------------------------------- ================================================================================ da stringa a numeri ================================================================================ AUTORE: 925 DATA :21/12/2005 - 09:34:57 ---------------------------------------- Ciao a tutti, volevo sottoporvi un problema. In uscita dall'amplificatore collegato via seriale col PC ho un array di stringhe con le tensioni, del tipo: + 4096 + 4097 + 4095 ecc... Devo memorizzare questo array di stringhe in un array di numeri (tipo DOUBLE). Come posso fare? Grazie ---------------------------------------- AUTORE: 925 DATA :21/12/2005 - 09:36:04 ---------------------------------------- Ho dimenticato di dirvi che uso LabVIEW 5.1 Grazie ---------------------------------------- AUTORE: 748 DATA :21/12/2005 - 09:43:42 ---------------------------------------- Usa questi blocchetti per convertire la matrice di stringhe.. Se il valore può diventare negativo (ex \"- 4019\") allora la VI necessita di una modifica Funziona se le stringhe sono formattate come [+,-][spazio][valore decimale]... altrimenti devi modificare \":)\" Mark ---------------------------------------- ================================================================================ Application Builder e datasocket ================================================================================ AUTORE: 748 DATA :21/12/2005 - 09:35:26 ---------------------------------------- Ciao a tutti, ho bisogno di creare un eseguibile che possa girare senza la necessità di dover installare le LV run-time. Come indicato dalla NI ho creato l'eseguibile e aggiunto le DLL che mi servono della cartella shared\labview run-time. Il programma funziona perfettamente a parte i comandi che utilizzano i protocolli TCP/UDP ... mi chiedo quindi se qualcuno sappia quali DLL bisogna aggiungere per fare in modo che funzioni pure il datasocket. --> Ho provato a creare un installer con il datasocket incluso e ho guardato all'interno del file .cab per vedere se c'era qualche file \"amico\" ... tra tutti i piu' \"simpatici\" mi sembravano quelli che cominciavano per CW... solo che mettendoli tutti nella dir dell'applicazione il programma non funziona ancora. ---------------------------------------- AUTORE: 748 DATA :21/12/2005 - 10:02:41 ---------------------------------------- ok trovato.... è nids.dll per la cronaca \":)\" ---------------------------------------- AUTORE: 838 DATA :21/12/2005 - 10:32:29 ---------------------------------------- se ho capito bene hai fatto un'eseguibile con già dentro tutto? senza dover installare le runtime? puoi postare i procedimenti? grazie \":D\" ---------------------------------------- AUTORE: 748 DATA :21/12/2005 - 11:05:18 ---------------------------------------- Per evitare di dover installare le LV runtime (cosa utile ad esempio se vuoi dare un CD e non vuoi che chi lo legge debba installarsi tutto) basta inserire le DLL presenti nella directory \National Instruments\Shared\LabVIEW Run-Time\7.1 nella stessa directory dove hai il file eseguibile compilato. Nella directory shared ci sono quasi tutte le DLL necessarie per le varie funzioni... una che manca è appunto quella del datasocket che pero' puoi trovare altrove (nids.dll) ---------------------------------------- ================================================================================ numero della settimana ================================================================================ AUTORE: 822 DATA :21/12/2005 - 13:50:02 ---------------------------------------- ciao, con labview c'è un VI che mi restituisce in uscita il numero della settimana attuale? Giuseppe ---------------------------------------- AUTORE: 748 DATA :21/12/2005 - 14:09:52 ---------------------------------------- Si esiste... guarda la foto Mark ---------------------------------------- AUTORE: 822 DATA :21/12/2005 - 14:14:59 ---------------------------------------- grazie, come ho fatto a non pensarci????? ---------------------------------------- ================================================================================ Header Tiff ================================================================================ AUTORE: 997 DATA :21/12/2005 - 16:06:54 ---------------------------------------- Ciao a tutti, volevo sapere come fare per leggere e scrivere (con dati personali) l'header di un file tiff. L'idea è quella di aggiungere alle immagini alcuni valori come ad esempio temperatura e pressione al momento dell'acquisizione. Per caso il pacchetto Vision comprende vi adatti allo scopo? Grazie, ale ---------------------------------------- AUTORE: 997 DATA :03/02/2006 - 18:24:22 ---------------------------------------- up ---------------------------------------- ================================================================================ ROI selection ================================================================================ AUTORE: 1003 DATA :21/12/2005 - 19:07:38 ---------------------------------------- Ciao ragazzi io volevo cheidere se sapevate un metodo per ottenere le coordinate ed eventualmente i valori RGB dei pixel che si trovano all'interno di una regione poligonale selezionata utilizzando la funzione ROI di IMAQ.Grazie mille ---------------------------------------- AUTORE: 4 DATA :21/03/2006 - 11:44:41 ---------------------------------------- Ciao benvenuto con la funzione "region of intrest>>IMAQ MaskToROI" puoi ottenere le coordinate dalla ROI. Per i valori RGB mi sembra oneroso fare una valutazione pixel per pixel.. la funzione, in ogni caso, è "Color Utilities>>IMAQ GetColorPixelValue" Ciao, ---------------------------------------- ================================================================================ Svuotare la RAM!!!! ================================================================================ AUTORE: 1001 DATA :22/12/2005 - 13:13:56 ---------------------------------------- Ciao a tutti!!! Ieri avevo scritto perchè avevo un problema di blocoo della seriale!Oggi facendo prove più accurate ho visto che il programma non si bloccava perchè si intasava la seriale ma perchè pian piano si riempie tutta la RAM con il conseguente blocco del sistema!!! Come posso fare per togliere questo problema?? Esiste un comando o una procedura in labview che mi permetta di svuotare la Ram da file obsoleti? Grazie! \":lol:\" ---------------------------------------- AUTORE: 278 DATA :22/12/2005 - 18:31:26 ---------------------------------------- Ciao, Purtroppo, credo che non sia possibile..... La gestione della memoria di sistema è qualcosa manipolato da LabView e non credo proprio che ci sia il modo di liberare programmaticamente quello che non ti occorre più. Ti consiglio invece di individuare la causa di questo sovraccarico di memoria RAM; monitorizza tramite Windows Task Manager qual'è il programma che \"succhia\" più ram, se vedi che la memoria allocata per il thread Labview.exe continua a crescere ti consiglio di rivedere il codice del tuoi VI. Reference aperti e mai chiusi quando non necessari, loop che vanno continuamente ad inserire dati in array, code create e non terminate alla fine del loro utilizzo, sono tutti elementi che allocano grandi quantità di RAM e, in taluni casi, non la liberano quando l'applicazione viene terminata. Anche utilizzare enormi quantità di variabili globali alloca spazio sulla RAM, e ogni volta che le vai a richiamare nel block-diagram fanno una copia del dato da scrivere o leggere. ---------------------------------------- AUTORE: 645 DATA :23/12/2005 - 08:09:17 ---------------------------------------- Anche secondo me la soluzione migliore è dare un'occhiata la codice. Io ho lavorato su un pc vecchiotto e mi sono trovato a dover modificare qualcosa per ottenere gli stessi risultati senza sovraccaricare il pc. Magari basta eliminare qualche variabile e tirare qualche filo in più, chiudere riferimenti esterni quando non li usi, chiamare meno subVi. ---------------------------------------- AUTORE: 247 DATA :23/12/2005 - 23:33:12 ---------------------------------------- [quote="cusdife80":3l9liu7h]Esiste un comando o una procedura in labview che mi permetta di svuotare la Ram da file obsoleti?[/quote:3l9liu7h] Ciao, la funzione esiste, anche se è un pò \"nascosta\" tra le funzioni che un'utente normale non usa più di tanto...si chiama \"Request Deallocation\" e la trovi seguendo questo percorso: Advanced->data Manipulation->Request Deallocation. Cmq la deallocazione potrebbe non essere la cura per i tuoi mali, controlla che il problema non consista nella non distruzione di riferimenti non più utilizzati, magari creati in un ciclo while costantemente attivo... BYE. ---------------------------------------- AUTORE: 1001 DATA :28/12/2005 - 11:57:49 ---------------------------------------- Ciao Apollon! Grazie a tutti!Sto testando la funzione da te suggerita! Leggendo la guida in linea questa funzione dealloca tutte le subvi non usate e quindi andrà eseguita dopo la sua chiusura!Allora mi chiedo Questa funzione dove va messa? Grazie e a presto! ---------------------------------------- AUTORE: 238 DATA :30/12/2005 - 17:30:42 ---------------------------------------- Io ho notato un notevole svuotamento della RAM se si inizializzano gli array i cui dati non vengono piu´ usati (valori intermedi di calcolo) \":lol:\" ---------------------------------------- ================================================================================ XY Graph - Back Image ================================================================================ AUTORE: 660 DATA :22/12/2005 - 15:03:25 ---------------------------------------- Salve a tutti! Qualcuno sa come si può inserire un'immagine di sfondo ad un XY graph? Ho guardato l'esempio di NI ma loro utilizzano una waveform (cosa che io non posso usare) e sebbene abbia utilizzato le stesse impostazioni dell'esempio non mi si visualizza nulla. Avevo anche pensato che fosse dovuto alle eccessive dimensioni dell'immagine, ma quando ho provato con una costante mi sono accorto che neppure questa compariva. A proposito utilizzo LV 8.0 Grazie ---------------------------------------- AUTORE: 680 DATA :22/12/2005 - 17:32:06 ---------------------------------------- io sono riuscito a mettere un immagine di sfondo al graph: inserendo prima l'immagine \"sotto\" e poi sopra ho messo il graph.... poi ho reso trasperanti le parti del graph che nascondevano l'immagine di sfondo (vedi esempio)....... ciao..... (spero di aver capito bene il tuo problema.......) ---------------------------------------- AUTORE: 645 DATA :23/12/2005 - 08:11:30 ---------------------------------------- Posso fare una domanda? Siccome sto cercando di imparare qualcosa di più sulla grafica del VI (va bene il codice ma poi anche l'occhio vuole la sua parte) posso chiederti come mai metti un'immagine sotto un grafico? ---------------------------------------- AUTORE: 660 DATA :23/12/2005 - 09:43:53 ---------------------------------------- Rispondo ad entrambe. Per linux120 Hai perfettamente centrato il problema, adesso provo seguendo le tue istruzioni. Per MagicBotolo Effettivamente se la cosa la vedi nell'ottica di linux potrebbe sembrare un po' un eccesso. Il mio problema era, molto più banalmente, il mettere un grafico generato da valori acquisiti sopra un diagramma esistente. Ci ero riuscito mettendo l'immagine e sopra il grafico reso trasparente e senza possibilità di modifica. Scrivendo quest'ultima parte mi viene un pessimo presagio; linux non è che hai usato questo sistema invece delle \"property nodes\" \":?:\" Più rileggo il tuo post e più mi convinco di quest'ultima cosa \":cry:\" \":cry:\" \":cry:\" ---------------------------------------- AUTORE: 680 DATA :23/12/2005 - 13:20:10 ---------------------------------------- si, è come dici tu. NON ho usato le property node... cmq, volendo è possible cambiare programmaticamente l'immagine di sfondo........ ciao.... ---------------------------------------- AUTORE: 645 DATA :17/05/2006 - 14:35:11 ---------------------------------------- So che è passato un po' di tempo ma volevo farvi una domanda: sto cercando di far apparire un'immagine sotto un "Graph". Con i Property Node del grafico ho settato alcuni colori su trasparente; non riesco però ad eliminare il colore sotto la "parte grigliata". Vorrei arrivare ad avere un'immagine sotto la griglia del grafico. Vi allego l'immagine dei miei Front e Block. ---------------------------------------- AUTORE: 129 DATA :17/05/2006 - 16:26:30 ---------------------------------------- bè sotto quella grigliata basta che ci vai sopra con il pennello e la rendi trasparente, o forse lo volevi fare con i property? Ti allego un grafico completamente trasparente ---------------------------------------- AUTORE: 1497 DATA :16/11/2006 - 10:08:56 ---------------------------------------- [quote="nicola":1p1vttvd]bè sotto quella grigliata basta che ci vai sopra con il pennello e la rendi trasparente, o forse lo volevi fare con i property? Ti allego un grafico completamente trasparente[/quote:1p1vttvd] Scusate se riprendo un discorso vecchio... ma io proprio non ci sono riuscito a mettere un'immagine da sfondo. Avrei inoltre la necessita' di "ancorare" l'immagine in modo da poterla zoommare insieme al mio grafico XY Qualcuno sa darmi una mano? Grazie Sergio ---------------------------------------- AUTORE: 1497 DATA :16/11/2006 - 10:20:41 ---------------------------------------- [quote="dummy_sample":11lkux59] Scusate se riprendo un discorso vecchio... ma io proprio non ci sono riuscito a mettere un'immagine da sfondo. Avrei inoltre la necessita' di "ancorare" l'immagine in modo da poterla zoommare insieme al mio grafico XY Qualcuno sa darmi una mano? Grazie Sergio[/quote:11lkux59] Rettifico: Il grafico trasparente adesso funziona, ho comunque necessita' di ancorare un'immagine all'area del grafico in modo da poterla poi zoommare insieme ad esso Sergio ---------------------------------------- ================================================================================ Grafica ed effetti speciali ================================================================================ AUTORE: 645 DATA :23/12/2005 - 08:13:55 ---------------------------------------- Ciao a tutti. Sto cercando di capire qualcosina in più sulle interfacce grafiche di LabView (va bene il codice ma anche l'occhio vuole la sua parte). Sapreste indicarmi esempi di interfacce belle o interessanti per qualche caratteristica particolare? Qualcuno conosce siti o materiale cartaceo che suggerisca qualche trucco per rendere più bella la grafica di un VI? Grazie! ---------------------------------------- AUTORE: 278 DATA :23/12/2005 - 09:20:26 ---------------------------------------- Ciao, ti consiglio questo libro \"LabVIEW GUI: Essential Techniques\"; è un pò un mattone (549 Pagine!!!) ma ne vale sicuramente la pena ---------------------------------------- ================================================================================ help:comunicare con strumentazione ================================================================================ AUTORE: 116 DATA :23/12/2005 - 15:59:31 ---------------------------------------- ciao problema:leggere dati da uno strumento \"tipo oscilloscopio\" ho scaricato i drive dell'HAMEG (HM507)ma non riesco a leggere i dati acquisiti in memoria dello strumento. ho fatto delle prove in ambiente L.V.7.1, riesco a settare lo strumento via seriale 232, ma a leggere non se ne parla \":?\" non riesco a capire come farmi mandare l'array di dati per poi poterlo visualizzare. qualcuno ha qualche esempio, un link da dove scaricare un'idea grazie BUON NATALE E FELICE ANNO A TUTTI \":D\" Alberto S. ---------------------------------------- ================================================================================ regolatore pid ================================================================================ AUTORE: 683 DATA :24/12/2005 - 18:54:50 ---------------------------------------- ciao a tutti, innanzi tutto buon natale a tutti e vista l'ora un po' infelice del post Sbircinado qua e la tra i forum e i pdf di controllo automatici ecc... ho realizzato un controllore PID implmentando la regoletta e con le derivate calcolate a passi. Mi sembra che qualcosa di buono faccia ma c'è un problema l'uscita del pid visuaizzata sul grafico al variare del setpoint o della variabile di processo presenta delle sovraelongazioni notevoli: Come mi devo muovere? c'è qualche funzione in LV che fa un po da filtro?? o c'è qualcosa in termini si risposta in frequeza del sistema progettato da me che si potrebbe variare?? vi allego i VI buona feste Francesco ---------------------------------------- AUTORE: 683 DATA :24/12/2005 - 19:29:47 ---------------------------------------- devo aggiungere che avedo LV 6.1 a casa (perchè devo finire un progetto che va su lv6.1)e il 7.1 non ho ancora avuto modo di utilizzare i PID toolset di LV. sarebbe meglio che mi gurdo prima quelli?? ---------------------------------------- AUTORE: 247 DATA :26/12/2005 - 13:03:34 ---------------------------------------- Ciao, nel file .zip che hai postato manca il VI derivata.vi, ti conviene aggiungerlo per rendere funzionante il \"pid completo.vi\" in cui lo utilizzi. [quote="ilgurzo":2473fyc2]devo aggiungere che avedo LV 6.1 a casa (perchè devo finire un progetto che va su lv6.1)e il 7.1 non ho ancora avuto modo di utilizzare i PID toolset di LV. sarebbe meglio che mi gurdo prima quelli??[/quote:2473fyc2] Prima di utilizzare il tool di LV ti consiglio comunque di fare qualche \"prova\" da solo creandoti i tuoi VI per essere poi più sicuro di quello che stai facendo quando utilizzi i VI, certamente più complessi, del PID toolset. BYE. ---------------------------------------- AUTORE: 683 DATA :26/12/2005 - 21:04:05 ---------------------------------------- garda un po se puoi darmi qualche consiglio ---------------------------------------- ================================================================================ leggere e visualizzare su grafico 4 gruppi da 8 word ================================================================================ AUTORE: 1013 DATA :28/12/2005 - 11:25:28 ---------------------------------------- Ciao a Tutti, sono nuovo del forum ed un principiante in LV... Mi chiedevo se vi era la possibilita` di ricevere qualche ottimo consiglio riguardo un lavoro da fare con LV 8.0. Uso come interfaccia a PLC S7 una scheda Applicom (PCI1500) e dunque dei .vi personalizzati da woodheads. Preciso che il .vi in questione restituisce un`array di int32. Il lavoro consiste nel leggere e visualizzare su grafico 4 gruppi da 8 word. Mi spiego meglio, come background dovrei leggere 50 words ogni 100 ms, sempre fino ad un eventuale errore di lettura. Come foreground dovrei avere la possibilita` di configurare 1 gruppo con max 8 word a piacere, scelti dai 50 letti continuamente, da poter visualizzare sul grafico. Questo e` il mio primo problema... ripeto e` la prima volta che utilizzo e vedo LV. Sinceramente non ne conosco le potenzialita`. Se potete inizialmente aiutarmi in questo problema ve ne sarei grato. Grazie ---------------------------------------- ================================================================================ problema serio : output analogico!!!! ================================================================================ AUTORE: 977 DATA :29/12/2005 - 11:44:24 ---------------------------------------- Salve a tutti! Ho un problema abbastanza serio con la scheda di acquisizione dati, o meglio con l'output analogico, e spero che mi possiate dare una mano perchè non so proprio più dove andare a sbattere la testa!!! Vi descrivo il mio problema : Devo generare una serie di segnali DTMF e mandarli ad un apparecchio espterno tramite la scheda di acquisizione dati( purtroppo non l'ho a portata, ma, se non ricordo male, dovrebbe essere la 6229!). Purtroppo al momento non ho a disposizione il file ma cercherò di inviarlo al più presto!! Partiamo per gradi : un segnale DTMF non è altro che un segnale composto dalla somma puntuale di due armoniche, naturalmente a freq. diversa, di ampiezza diversa!! Per generare questo segnale ho usato due blocchi \"Simulate Sig\"(in ognuno ho specificato ampiezza, fase, freq...) e poi ho fatto la somma dei due segnali!(potevo anche usare il \"multitone generator\" ma l'ho scoperto dopo...) Questi due blocci sono contenuti dentro un ciclo while usato in modo da generare il segnale per 120 ms! Il risultato della somma delle due armoniche, ovvero il segnale DTMF, viene mandato successivamente al blocco per l'interfacciamento con la scheda di acquisizione dati(nome blocco : DAQmx Assist) settato \"Continius\"... Passati 120 ms dall'inizio dell'esecuzione il ciclo while termina e contemporaneamente viene abilitato il segnale di stop del blocco DAQmx in modo tale da terminare la comunicazione con l'esterno! Praticamente un'altro piccolo inconveniente è che il tempo non è mai 120ms ma è sempre maggiore fino ad un inaccettabile 250 ms; questo problema credo sia legato ai ritardi dovuti all'interfacciamento con l'esterno anche se per il momento non c'ho prestato molta attenzione...!! Supponendo che abbiate capito come funziona il blocco precedente( non sono riuscito ad essere molto chiaro, ma spero di si....) continuo col mio esposto : Supponiamo di avere 10 cifre (dallo 0 al 9 ) ognuna delle quali codificata univocamente con un segnale DTMF (naturalmente per ogni cifra variano freq e ampiezza delle due armoniche che formano il segnale DTMF). In un secondo blocco creo un array(bidimensionale) di controlli : ogni cella dell'array rappresenta una cifra da 0 a 9. Con un ciclo for vado a scandire ogni riga dell'array e con un ciclo while, nidificato all'interno del ciclo for, vado a scandire ogni elemento della riga del vettore. Per ogni elemento, attraverso un costrutto Case, vado a generare un segnale DTMF che viene trasferito sull'opportuna( SEMPRE LA STESSA) uscita analogica. Qui viene il problema : se nella sequenza di cifre da \"codificare in DTMF\" non ci sono delle cifre ripetute (ES: 0123456789) tutto funziona per il meglio ma se nella cifra da \"codificare\" ci sono delle cifre ripetute (Es. semplice : 11) il tutto si inchioda e mi viene fuori un errore, che purtroppo come suddetto non vi posso mostrare, che mi informa che il buffer è pieno e tutto si inchioda e non mi fà continuare nell'esecuzione del programma!! Qualcuno di voi sa dirmi come posso risolvere o ovviare a questo inconveniente?! Spero che mi possiate aiutare!! Nell'attesa di una vostra risposta cercherò di migliorare la mia esposizione per farvi comprendere al meglio il problema; se riesco, magari già oggi pomeriggio, invio i file relativi. Spero di avere presto vostre notizie. Per il momento vi ringrazio per la vostra attenzione!! Saluti Davide ---------------------------------------- ================================================================================ costruzione array ================================================================================ AUTORE: 706 DATA :29/12/2005 - 16:11:11 ---------------------------------------- Ciao a tutti, Prima di tutto buone feste a tutti e buon inizio di anno. Ora passiamo al problema che mi affligge: Devo costruire un \"super array\" che sia composto nel seguente modo: Si parte da un array con n dimensioni che contiene n elementi. Ho una variabile \"azimuth\" che assume tutti i valori di azimuth di un radar per un intero giro (360 gradi). Vorrei costruire questo super array associando ad ogni array di n elementi (sempre gli stessi) un array di n elementi contenenti ognuno un solo valore di azimuth. Giungendo alla fine il super array deve essere composto da 2 colonne e n * 360 (ad esempio se considero che la variabile di azimuth assumaa ogni singolo grado da 0 a 360). Come posso farlo? Ciao e grazie . P.S vi allego un disegno o minima spiegazione di quello che ho scritto. ---------------------------------------- AUTORE: 680 DATA :29/12/2005 - 17:09:39 ---------------------------------------- se riesci a spiegarmelo meglio, perchè io non ho ben capito.... ---------------------------------------- AUTORE: 706 DATA :30/12/2005 - 10:39:33 ---------------------------------------- Ciao Provo a spiegarmi meglio: Io ho a disposizione un array a n dimensioni (uno solo) e una variabile che assume in tempo reale l'azimuth del radar (quindi può assumere valori da 0 a 360 gradi ). Ammettiamo che tale variabile assuma valori discreti tipo ogni grado (0 poi 1 poi 2 etc..) La mia intenzione è di costruire un array a due colonne che contenga in una l'array iniziale di n dimensioni ripetuto (nel nostro esempio) 360 volte (quindi nella prima colonna dell'array finale deve contenere n * 360 elementi) e nell'altra deve contenere altrettanti n * 360 elementi composti dai primi n elementi dallo 0 gradi, i secondi n elementi devono essere uguali ad 1 grado .. etc.. fino ad arrivare all'ultimi n elementi composti dal grado 360. Es. array 2 dimensioni: variabile x (asumme 1 e 2) array finale 2 2 1 3 3 1 2 2 3 2 Spero di essere stato più chiaro . Ciao.. ---------------------------------------- AUTORE: 680 DATA :31/12/2005 - 17:50:25 ---------------------------------------- ciao, spero di aver capito...... prova a vedere se così va bene???? ---------------------------------------- AUTORE: 706 DATA :10/01/2006 - 10:03:08 ---------------------------------------- Grazie.. provo a vedere e poi ti faccio sapere... Grazie ancora .. Ciao ---------------------------------------- ================================================================================ utilizzare una dll che contiene un controllo grafico ================================================================================ AUTORE: 747 DATA :30/12/2005 - 10:40:01 ---------------------------------------- Sto cercando di usare con LV le librerie NetronGraphLib, NetronLithium per .NET(http://netron.sourceforge.net/ewiki/net ... onGraphLib) che contiene un controllo derivato da System.Windows.Form.Scrollable per disegnare diagrammi, in particolare tree view complessi: ho utilizzato il Costructor Node per richiamare i metodi delle classi interessate, ma non riesco da front panel a vedere il grafico creato. Potete darmi qualche dritta. Grazie Elio ----------------------------------------