From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

lettura AI con T=1 microsecondo

Buongiorno a tutti,

possiedo una scheda NI USB-6210 con la quale devo azionare un relè tramite l'uscita digitale e contemporaneamente leggere un segnale analogico (assorbimento di un motore azionato dal relè).

Fatta la VI tutto funziona perfettamente con tempi di lettura dell'AI di 4 ms. Se scendo al di sotto di 4ms, per la lettura analogica, l'uscita digitale non rispetta più i tempi impostati di ON OFF.

Come posso rissolvere il problema?

grazie

0 Kudos
Messaggio 1 di 4
5.519Visualizzazioni

Ciao Traves,

per poter suggerire una soluzione è necessario avere ulteriori informazioni. 

Il fatto che un aumento della frequenza di acquisizione analogica pregiudichi la frequenza dell'output digitale mi porta ad ipotizzare che il software realizzato si basi su una sincronizzazione completamente di tipo software piuttosto che hardware; la mia è però solo una congettura. 

Potresti postare il codice di acquisizione e generazione?

 

Lucius

0 Kudos
Messaggio 2 di 4
5.507Visualizzazioni

Ciao Lucius,

 

come ben pensavi, il trigger è via software e non hardware dato che non possiedo strumenti adatti...

ti allego il VIù (la parte statistica è ancora work in progress)

 

grazie mille

0 Kudos
Messaggio 3 di 4
5.504Visualizzazioni

Ciao Traves,

come immaginavo stai basando la tua sincronizzazione sui cicli software.

In generale non è il modo corretto, in quanto i tempi ciclo software non sono assolutamente garantiti e dipendono fortemente dal carico della cpu.

Nel caso specifico inoltre il ciclo di generazione digitale viene eseguito ad ogni ciclo di lettura analogica: variando il tempo di quest'ultimo ciclo ovviamente cambia anche la frequenza con cui il ciclo digitale viene eseguito.

A mio avviso ti conviene trasformare il task in lettura analogica in modalità "continuos", impostando direttamente nel task la frequenza desiderata. 

Per quanto riguarda il digitale, tieni presenti che quando imposti un'uscita a "false", quell'uscita resta a false finché non la imposti a "true", quindi reimpostare ciclicamente l'uscita a false finché non è passato il tempo desiderato è, secondo me, uno spreco di risorse.

Buon lavoro,

 

Lucius

0 Kudos
Messaggio 4 di 4
5.486Visualizzazioni