NI Home
Cart Carrello | Aiuto
Hello Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI
Tu sei qui: 
NI Home > NI Developer Zone > NI Discussion Forums


Rispondere
Member
DavideB
Post: 78
0 Kudos

task out

Buongiorno,

in un sistema di acquisizione dati, ho messo alcuni Create channel in parallelo, il cui task out entra nei Daqmx read successivi. 

Non so però dove fare convergere tutti i task out dei read. Se fosse uno solo lo metterei in ingresso nel task in del Clear task, appena fuoiri dal loop... ma quando sono due o più non è possibile (credo). Come dovrei fare?

Grazie mille a tutti, 

Davide

Trusted Enthusiast
RobertoBozzolo
Post: 4.570
0 Kudos

Rif.: task out

Due alternative:

1. Usare un unico Create Channel con tutti i canali in ingresso che ti servono. I canali possono essere scelti interattivamente oppure puoi creare una stringa tipo "Dev1/Ai0÷2" se sono consecutivi oppure "Dev1/Ai0,Dev1/Ai3" nel caso opposto

2. Mettere i Create Channel in serie, il task out del primo nel task in del secondo e così via: se i canali non sono duplicati fra i vari create non hai errori in compilazione (però non posso provare se funziona se non con schede virtuali: a te la prova sul campo)

 

In ogni caso dovrai dopo usare l'opportuna istanza del Read considerando che usi più canali.

Puoi cercare negli esempi di acquisizione dei vi già pronti.




Using LW/CVI from 3.1 on.

My contributions to the Developer Zone Community
________________________________________
If I have helped you, why not giving a kudos?
Member
DavideB
Post: 78
0 Kudos

Rif.: task out

Ciao e grazie,

ma non mi è chiaro: io ho read diversi , uno per ogni canale.. in alcuni casi si tratta di acquisizioni di temperature, in altri di segnali digitali ecc. Come posso mettere un unico read dopo i vari create channel in serie (soluzione 2) ?

Grazie

Davide

Trusted Enthusiast
RobertoBozzolo
Post: 4.570
0 Kudos

Rif.: task out

Non puoi comunque mischiare fra loro misure analogiche e digitali, mentre puoi acquisire temperature, tensioni ecc ecc nello stesso task.

Per leggere i digitali devi creare un task diverso e sincronizzare i due task.




Using LW/CVI from 3.1 on.

My contributions to the Developer Zone Community
________________________________________
If I have helped you, why not giving a kudos?
Member
DavideB
Post: 78
0 Kudos

Rif.: task out

Infatti.. poi come posso gestire i task out paralleli?? devo per forza  cablarli o li lascio float? è possibile usare più clear task?

Grazie

Davide

Trusted Enthusiast
RobertoBozzolo
Post: 4.570
0 Kudos

Rif.: task out

Non avevo capito che il problema erano i segnali non omogenei. Ogni task deve aprirsi e chiudersi: metti un clear per ogni task che crei nel programma.




Using LW/CVI from 3.1 on.

My contributions to the Developer Zone Community
________________________________________
If I have helped you, why not giving a kudos?
Member
DavideB
Post: 78
0 Kudos

Rif.: task out

Ok Roberto, grazie mille. Come vedi dagli allegati, ho messo un clear task per ogni channel/read. 

Adesso però devo gestire error in-out. Meglio la soluzione in serie, oppure il parallelo (come credo) ?

Grazie,

Davide

Trusted Enthusiast
RobertoBozzolo
Post: 4.570
0 Kudos

Rif.: task out

[ Modificato ]

Dunque, per prima cosa come puoi vedere aprendo il Clear.vi il task viene arrestato comunque che è la cosa più importante (=non è uno di quei vi che se c'è un errore in ingresso non fanno nulla).

Rimane da vedere cosa succede in caso di errore: il merge errors restituisce il primo errore trovato, mettendoli in serie ti viene segnalato l'ultimo.

In ogni caso se c'è un solo errore la segnalazione ce l'hai comunque, se ce n'è più d'uno ne hai solamente una: quale opzione preferisci? A te la scelta :smileywink:




Using LW/CVI from 3.1 on.

My contributions to the Developer Zone Community
________________________________________
If I have helped you, why not giving a kudos?
Consultando questo sito, si accettano i Termini di utilizzo per questo sito. Si prega di leggere attentamente i Termini di utilizzo prima di utilizzare una qualsiasi parte di questo sito. Si prega di cliccare qui per ottenere informazioni sulla politica di violazione del copyright di NI.
Profilo utente | Privacy | Legal | Contatta NI © 2011 National Instruments Corporation. All rights reserved.    |    Segnala ad un amico Segnala ad un amico