grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006
-
31 mai 2006 à 11:46
grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006
-
1 juin 2006 à 09:25
Bonjour
Voila mon problème. J'ai une carte PCI avec 2 entrée BNC qui me servent à echantilloner des signaux pour les afficher sur des oscillos virtuels. Les valeurs des echantillons se trouvent dans un tableau déclaré de type double. Quand je veux lire sur une seule entrée pas de problème. Mais pour le faire sur les 2.... "0,1" indique qu'on lit sur les voies 0 et 1.
Waveforms est le tableau contenant les echantillons des 2 signaux, 1000 est le nombre d'echantillons. Le reste n'est pas important
Et pour afficher un signal :
U1.PlotY(Waveforms)
'U1 est le nom de l'oscilloscope
Si quelqu'un pouvait m'expliquer ce qu'il y a dans le doc suivant ça m'aiderait beaucoup. Merci
NI-SCOPE returns this data sequentially, so all record 0 waveforms are first. For example, with a channel list of 0,1, you would have the following index values:
index 0 = record 0, channel 0
index x = record 0, channel 1
index 2x = record 1, channel 0
index 3x = record 1, channel 1
Where x = the record length
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 31 mai 2006 à 13:54
Bonjour,
si je comprend bien, "Where x = the record length" veut dire que x est ton nombre d'échantillions, et "NI-SCOPE returns this data sequentially" veut dire que les résultats retourné sont les uns a la suite des autres.
L'index permet de se positionner à un endroit de ton tableau, donc peut etre, pour afficher ton signal il faut faire ceci :
'enregistrement 0, channel 0
index 0
U1.PlotY(Waveforms)
'enregistrement 0, channel 1
index 1000
U1.PlotY(Waveforms)
grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006 31 mai 2006 à 14:21
Salut
Si je fais
index 0
U1.PlotY(Waveforms)
Il ne reconnait pas index 0. Il n'existe pas. Waveforms est un tableau à 2 dimensions (si je me trompe pas a mon avis). Je pense qu'il faut preciser lorsque je fais U1.PlotY(Waveforms) qu'on prend les valeurs de la premiere ligne et pour l'autre oscillo U2.PlotY(Waveforms) on prend les valeurs de la seconde ligne. C'est ça que je ne sais pas faire. Enfin je pense que c'est comme ça que ça marche.
crocejf2000
Messages postés260Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention27 août 20081 1 juin 2006 à 08:47
A tu éssayé index=0 ou U1.PlotY(Waveforms.index(0))
, essay de regarder dans cette variable index, sinon envoi un code plus long et la doc si tu veut.
A+,Jean-François
grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006 1 juin 2006 à 09:25
En fait j'ai trouvé la solution depuis. La doc induit en erreur puisque waveforms est en fiat un tableau à 1 dimension, dont la première moitiée de valeur correspondent à un signal et la seconde moitiée à l'autre.