Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

simuler Ni-USB avec NI-MAX vérifier état des e/s numériques gérées code en C#

 Bonjour,

 

Je develloppe actuellement un soft en C# sur visual C# dans lequel je viens gérer des sorties numériques d'un NI-USB 6501.

N'ayant pas encore la carte physiquement, j'ai voulu la simuler grâce à NI-MAX.

Je suis donc aller à "Périphériques et Interfaces" et j'ai créé mon objet.

Dans mon arbre, je vois bien NI-USB-6501 "Dev 1" qui est apparu.

 

Maintenant je ne comprends pas comment je peux venir regarder l'état de ses e/s en direct.

Dans mon soft, l'appui sur un bouton, mets une sortie à true. j'aimerais pouvoir vérifier en direct que ça ai marché.

Est ce qu'il faut créer une tâche qui à le même nom que notre tâche dans le soft (ce que j'ai fait mais je ne vois pas la sortie se mettre à haut dans ce cas mon soft n'est pas bon).?

Ou bien faut-il juste aller dans Panneau de Tests (et la encore je ne vois pas trop ce qu'il faut faire ensuite).

 

Voici mon code pour la mise à true de la sortie : 

Task DOVDTask;
        Task DOVGTask;
        Task CITask;
        DOChannel voyant_bord_dattaque_droit;
        DOChannel voyant_bord_dattaque_gauche;
        CIChannel bouton_start;
        DigitalSingleChannelWriter writerDOVD;

        public Carte_NI_USB()
        {
            DOVDTask = new Task();
            DOVGTask = new Task();
            CITask = new Task();
            voyant_bord_dattaque_droit = DOVDTask.DOChannels.CreateChannel("Dev1/Port0/line0", "B_A_D", ChannelLineGrouping.OneChannelForAllLines);
            voyant_bord_dattaque_gauche = DOVGTask.DOChannels.CreateChannel("Dev1/Port0/line1", "B_A_G", ChannelLineGrouping.OneChannelForAllLines);
            writerDOVD = new DigitalSingleChannelWriter(DOVDTask.Stream);
            CICountEdgesActiveEdge _edgetype = CICountEdgesActiveEdge.Falling;
            CICountEdgesCountDirection direction = CICountEdgesCountDirection.Up;
            bouton_start = CITask.CIChannels.CreateCountEdgesChannel("Dev1/ctr0", "bouton_start", _edgetype , 0, direction);
            DOVDTask.Start();
            DOVGTask.Start();
            CITask.Start();
        }

//cette fonction est appelée à l'appui d'un bouton.

        public void allumer_voyant_droit()
        {
            writerDOVD.WriteSingleSampleSingleLine(true,true);
        }

Voila, je vous remercie par avance de votre aide.

 

P.S: question bonus: je compte cabler sur ma carte NI un bouton start qui va démarrer une portion de code lors de l'appui physique sur ce bouton. AI-je fais le bon choix en créant pour cela une tâche Entrée compteur?

0 Compliments
Message 1 sur 1
3 293 Visites