Bonjour à tous,

j'ai un problème avec une carte d'acquisition NI PCI 4461 que j'essaie d'utiliser avec Simulink. J'utilise simplement les blocs fournis avec la DAQ, à savoir Analog Input et Analog Output, en les reliant simplement l'un à l'autre (dans le but, plus tard, d'effectuer un traitement entre les deux).

Lorsque j'utilise l'Input seul, cela fonctionne, je peux bien acquérir des signaux, mais dès que je mets l'Output, j'ai un message d'erreur:
Could not create an analog output subsystem. This hardware does not support GETSAMPLE. Use GETDATA instead.
Si je passe la sortie en Synchronous, j'obtiens alors:
To run in a hardware-clocked output mode, this hardware requires that at least 34 samples be queued using PUTDATA. 
You must pad your output with additional samples to use PUTDATA, or use PUTSAMPLE instead.
Le serpent se mort la queue...

Je n'ai trouvé qu'un semblant de solution sur internet, consistant à écrire soit-même son bloc avec quelque chose comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function output_s(signal)
 
eml.extrinsic('analogoutput','addchannel','putdata','delete')
 
ao = analogoutput('nidaq','Dev2');
addchannel(ao, 0);
 
putdata(ao,signal);
 
delete(ao)
Cependant, le temps de calcul n'est plus du tout "temps réel", et surtout je n'ai rien en sortie, même s'il n'y a plus de message d'erreur.

Quelqu'un connaîtrait-il une solution à ce problème?

Je vous remercie!