Working LabVIEW CodeLecture CI Fréquence en C# avec NI USB-6363
attaché ci-dessus est le code LabVIEW que je l'ai utilisé avec succès dans le passé pour lire des données de fréquence à partir d'un appareil. J'utilise également généralement le VI Démarrer la tâche entre mon nœud de propriété et sa boucle while. J'essaye de coder ceci en C#. Jusqu'à présent, j'ai réussi à coder les sorties analogiques et analogiques sur mon périphérique, USB-6363, (donc je sais que je peux écrire et lire des données de l'appareil avec succès avec C#).
J'ai également utilisé des multimètres (lien Grainger en bas de la colonne) pour lire les données de fréquence (mode Orange Hz sur lequel l'appareil est réglé dans l'image).
Cependant, mon code C# semble avoir des problèmes de lecture des données de fréquence. Mon code C# est attaché. Lorsque j'essaye d'exécuter ce programme, j'obtiens l'erreur suivante. C'est la même erreur que je reçois lors de l'utilisation du programme exemple appelé 'MeasDigFreqBuffCont_ExtClk_ArmStart.2013'. Le code que je montre est juste en train de créer la tâche, j'appelle le code plus tard dans mon programme dans une section différente et c'est ainsi que je reçois l'erreur.
---------------------------------------------- --- Commencer le code d'erreur -------------------------------------------- -----
{erreur = -200077 message = "valeur demandée n'est pas une valeur prise en charge pour cette propriété La valeur de la propriété peut être invalide parce qu'il est en conflit avec une autre propriété \ n \ nProperty..: NationalInstruments.DAQmx.CIChannel.FrequencyDivisor \ nRequested Valeur: 1 \ valeurs nPossible: 4 à 4294967295 \ nChannel Nom: Digital Fréquence \ n \ nTask Nom: _unnamedTask < 0> \ n \ nStatut code: -200077" }
-------------------------------------------- ----- Code d'erreur de fin ------------------------------------------ --------
Dans l'exemple de programme qu'il demande une source d'horloge d'échantillonnage (a de canal de PFI du dispositif). Cependant, dans le code LabVIEW, il ne le demande pas. Cet exemple est peut-être plus détaillé que ce que j'essaie de faire?
Task frequencyInput = new Task();
frequencyInput.CIChannels.CreateFrequencyChannel(
"Dev1/ctr0",
"Digital Frequency",
200,
15000,
CIFrequencyStartingEdge.Rising,
CIFrequencyMeasurementMethod.DynamicAveraging,
0.001,
1,
CIFrequencyUnits.Hertz
);
frequencyInput.CIChannels["Digital Frequency"].FrequencyTerminal = "/Dev1/PFI0";
CounterSingleChannelReader counterFreq = new CounterSingleChannelReader(frequencyInput.Stream);
double counterFreqData = counterFreq.ReadSingleSampleDouble();
txtPFI0.Text = Convert.ToString(counterFreqData);
FLUKE (R) Fluke-115 Compact - Basic Features Digital Multimeter, 14° to 122°F Temp. Range
S'il vous plaît coller le code à partir du haut de la question dans la question * comme texte *, pas en tant qu'image – Amy
Amy, Le code en haut de la question est du code LabVIEW, donc il n'y a pas de code basé sur du texte. LabVIEW est un langage de codage graphique. –
OK. Imgur est bloqué ici, merci. – Amy