Prise en main du compactRIO-9074 de National Instrument

Le NI cRIO-9074 (Système avec contrôleur temps réel 400 MHz intégré et FPGA 2 millions de portes) équipe désormais tous les lycées ayant des sections STI2D SIN. De plus il est livré avec trois modules d’acquisition :

  • le NI9201 : Module d’entrée analogique 8 voies, ± 10 V, 500 kéch./s, 12 bits
  • le NI 9263 : Module de sortie analogique 4 voies, 16 bits, 100 kéch./s, ±10 V
  • le NI 9401 : Module d’E/S numériques bidirectionnelles haute vitesse 8 voies, TTL 5 V
  • Documentation au format PDF de ces trois modules : docs_modules_9201_9263_9401

Nous allons donc réaliser la mise en œuvre de cet appareil dans les pages suivantes.

Imprimer cet article Imprimer cet article

Le châssis NI cRIO-9074

Commencez par lire les spécifications techniques de la page d’accueil de ce châssis et la page généraliste sur les compactRIO.

Pour la partie logiciel, il faut installer :

  • LabVIEW 2011 ou plus récent et les drivers NI-DAQmx (version 9.6.1 à la date de rédaction de l’article),
  • Le driver RIO et les extensions RT (Real-Time) et FPGA (lire ces pages),
  • Le driver NI-488 et le driver NI-VISA

Ces trois étapes sont très importantes sinon le logiciel MAX, le gestionnaire de systèmes distribués puis ensuite LabVIEW ne fonctionneront pas avec le compactRIO !

Pour la partie matériel, il vous faut :

  • une alimentation 24V/50W continue : livré avec le matériel
  • un câble ethernet droit si vous prévoyez de connecter le compactRIO sur le réseau de l’établissement ou un câble croisé si vous voulez relier le compactRIO à votre ordinateur

Sur le coté gauche du compactRIO vous trouvez un ensemble de mini-interrupteurs. Par défaut tous ces interrupteurs sont en position ‘OFF’ :

  • Microinterrupteur CompactRIOSAFE MODE : cet interrupteur permet de lancer le système temps réel du compactRIO en mode normal (OFF) ou en position dégradé (ON). Le passage en mode dégradé est nécessaire si le logiciel embarqué est défectueux. Le logiciel embarqué est mis à jour depuis l’utilitaire MAX.
  • CONSOLE OUT : En utilisant un logiciel de terminal (hyperterminal sous Windows ou minicom sous GNU/Linux) vous pouvez visualiser les messages de démarrage du système compactRIO. Pour cela mettre l’interrupteur en position ON et connecter le DB9 du compactRIO à l’aide d’un cable croisé à la voie série du PC (utilisation possible de convertisseur USB-Série). La transmission de données s’effectue en mode 8N1 9600 bits/s. Vous pouvez alors visualiser la configuration IP et la version du logiciel embarqué entre autre. Dans le cadre normal, cet interrupteur est en position OFF.
  • IP RESET : Pour réinitialiser la configuration IP du compactRIO, positionner cet interrupteur en position ON puis démarrer l’appareil. Vous pouvez aussi activer cet interrupteur pour « débloquer » un châssis qui a été bloqué par le logiciel MAX. La position normale est donc OFF.
  • NO APP : Mettre cet interrupteur en position ON permet de ne PAS exécuter le VI téléchargé dans le chassis.
  • USER1 : la position de cet interrupteur peut être lu dans une application d’un utilisateur (VI RT Read Switch).
  • NO FPGA : Mettre cet interrupteur en position ON empêche une application FPGA de ce lancer au démarrage de l’appareil. Après le démarrage du compactRIO, vous pourrez téléchargé une nouvelle application FPGA depuis LabVIEW indépendamment de la position de ce bouton.

L’ensemble de DELs sur le coté gauche du compactRIO vous renseigne sur le fonctionnement de celui-ci :

  • DEL Power : une alimentation adéquate est connectée au chassis (alimentation continue 19 à 30V – 20W)
  • DEL FPGA : cette DEL peut être utilisée dans vos programmes.
  • DEL STATUS : cette DEL est éteinte en fonctionnement normal. Cet DEL s’allumera pour signaler des erreurs en clignotant un certain nombre de fois :
    • 1 fois : le châssis n’est pas configuré. Utilisez MAX pour le configurer.
    • 2 fois : le châssis a détecté une erreur dans son logiciel (par exemple aprés une mise à jour interrompue). Reprogrammez le logiciel embarqué depuis MAX.
    • 3 fois : le châssis est en mode dégradé (safe mode) (interrupteur safe mode en position ON ou pas de logiciel installé sur le châssis).
    • 4 fois : Le logiciel a « planté » deux fois ou plus. Cela peut arrivé si le châssis n’a plus assez de mémoire. Modifiez le VI implanté dans le compactRIO pour qu’il consomme moins de mémoire.
    • clignotement continu : le châssis a détecté une erreur irrécupérable. Contactez NI.
    • clignotement continu ou allumage constant : le châssis est configuré en mode DHCP et n’a pu récupérer une adresse IP. Vérifiez le câblage ethernet et que le serveur DHCP est actif.

    DEL USER1 : DEL disponible pour vos applications en utilisant le VI « RT LED ».

Le châssis est équipé de deux ports ethernet : le premier sert à la connexion à votre réseau, le second à chainer plusieurs compactRIO. Dans les huit emplacements disponibles vous pouvez connecter les modules d’entrées/sorties de la série C.

Premier démarrage du compactRIO, configuration IP de l’appareil et installation de logiciels

Câblez l’alimentation au module, suivant le cas connectez le châssis à l’aide d’un câble ethernet au réseau de l’établissement (câble droit) ou à votre PC (câble croisée). La configuration IP de votre établissement ou de votre portable est censé vous être connu. Si votre établissement est équipé d’un serveur DHCP ou si vous utilisé le châssis à la maison pour des tests (boxADSL), le châssis récupérera tout seul une adresse IP.

Nous allons maintenant configurer le châssis en fixant son adresse IP (adresse IP fixe : adapté au fonctionnement en établissement). Si vous avez un adaptateur série-usb et un câble série croisé sous la main, n’hésitez pas à regarder les messages de démarrage du compactRIO dans Hyperterminal (pensez à mettre l’interrupteur CONSOLE sur ON).

Avant toute chose : désactivez le parefeu de Microsoft Windows et éventuellement l’antivirus surtout s’il est lui aussi équipé d’un parefeu !

Lancez le logiciel MAX puis cliquez sur le ‘+’ de « Systèmes déportés » pour qu’une recherche sur le réseau s’effectue pour trouver les appareils compactRIO. Dans la capture ci-dessous, un appareil a été trouvé à l’adresse 192.168.1.67. Si l’appareil n’a pas pu récupérer une adresse ip sur un serveur DHCP, son adresse sera 0.0.0.0 = non configuré.

captur-logiciel-max-onglet-parametres

Dans le même temps, vous pouvez observer la voie série du compactRIO :

On remarque que l’adresse est « statique » donc qu’elle a été fixée par l’utilisateur. Les serveurs VISA et RIO sont fonctionnels.

Pour changer ou fixer l’adresse ip de l’appareil, cliquez sur l’onglet « Paramètres réseau » en bas de la fenêtre de MAX. Vous obtenez alors la page suivante :

capture-logiciel-max-onglet-reseau Ici on remarque que l’adresse est en mode « statique ». Si vous souhaitez passer votre compactRIO en mode DHCP ou si vous reliez le compactRIO à votre ordinateur à l’aide d’un cable croisé, cliquez sur le bouton à coté de « Configurer l’adresse IPv4 » et choisissez l’option « DHCP ou Link-local ».

Ici on restera en « statique » : il faudra adapter les paramètres IP à votre établissement.

Laissez la deuxième carte ethernet « eth1 » désactivée.

Sauvegardez vos changements par l’icone « Enregistrer » et faites redémarrer l’appareil par l’icone « Redémarrer ». Suivez le « boot » par voie série pour vérifier que les changements IP ont été pris en compte.

Laissez du temps à MAX pour retrouver l’appareil.

Remarque : si le compactRIO n’est pas visible dans les « systèmes déportés » il peut y avoir deux raisons essentielles à cela :

  • Les pilotes de matériel sont incomplets, manquants ou non installés : reprendre la procédure d’installation avec les DVD de LabVIEW,
  • votre PC et le compactRIO ne sont pas sur le même réseau IP et/ou dans le même adressage IP. Vérifiez vos paramètres IP et faites un « ping » entre votre PC et le compactRIO.

Nous allons maintenant rajouter quelques fonctionnalités à notre compactRIO. Pour cela toujours dans MAX cliquez sur l’item « Logiciels » de votre RIO. Puis en haut de la fenêtre cliquez sur « Ajouter/supprimer des logiciels ». Une nouvelle fenêtre s’ouvre comme dans la capture ci-dessous:

ajout-logiciels-dans-compactrio

Vous pouvez par exemple rajouter les fonctionnalités « webserver ». Ce qui permettra d’accéder au compactRIO et à ces réglages par l’intermédiaire d’un navigateur. Une fois cette fonctionnalité installée, pointez votre navigateur vers l’adresse ip du compactRIO pour observer le résultat. Rajoutez aussi la fonctionnalité « NI Scan engine » que nous allons utiliser par la suite.

Vérification du fonctionnement des modules de la série C du compactRIO

Le compactRIO est livré avec les trois modules décrit en début d’article. Pour pouvoir les tester à distance, il faut installer l’extension ou le logiciel « NI Scan engine » dans votre compactRIO (voir ci-dessus). Ensuite lancez l’application « Gestionnaire de systèmes distribués » dans le menu « Démarrer », « National Instrument ».

Le Gestionnaire de systèmes distribués centralise la gestion et la surveillance des systèmes NI sur votre réseau. C’est un outil très utile pour la mise au point et la visualisation rapide des valeurs de vos E/S ainsi que de l’utilisation des ressources systèmes.

Vous devez obtenir l’écran suivant (l’adresse IP peut être différente ainsi que le nombre de compactRIO détecté) :

gestionnaire-de-systemes-distribuesVous remarquez que l’on retrouve les trois modules installés sur le châssis. Ici les noms sont « Mod1 », « Mod2 » et « Mod3 ». Cliquez sur les différents items afin d’observer ce qu’ils contiennent.

Vérifiez que l’item « Affichage automatique » est coché dans le menu « Affichage » pour avoir des graphes déroulants et des renseignements complémentaires sur l’état des modules.

Vous pouvez connecter un capteur de température analogique LM35 ou un potentiomètre sur une des entrées analogiques pour vérifier qu’elle fonctionne correctement. Ou encore relier AO0 (Analogue Out 0) à AI0 (Analog In 0) à l’aide d’un simple fil…

Premier VI implanté sur le compactRIO

Lancez LabVIEW. Au démarrage si l’installation des logiciels c’est passé correctement, vous devez avoir le « SplashScreen » ci-dessous (notez l’horloge) et un choix supplémentaire en bas de la page d’accueil : Cibles => Projet Temps Réel.

splashscreen_labviewLors de la création d’un projet, vous pouvez sélectionner le mode de programmation de votre application :

  • le mode « Scan interface » qui vous permet d’utiliser vos modules de la série C directement depuis LabVIEW. Les entrées/sorties de chaque module sont accésibles comme de simples variables que vous glissez-déposez sur le diagramme.
  • le mode « FPGA interface » qui vous permet de piloter vos modules par le FPGA embarqué. Cette solution nécessite d’avoir installé l’extension FPGA de LabVIEW. C’est la solution pour avoir le maximum de rapidité (temps réel)  au prix d’une mise en oeuvre plus complexe. C’est aussi par ce biais que vous pouvez réaliser les bus I2C, SPI, Série matériel…

Dans notre cas, nous allons utiliser le mode « Scan Interface » (ou alors rajoutez 1H de téléchargement et une heure d’installation pour la solution FPGA).

Créez un « projet vide », puis dans la fenêtre de projet qui s’est ouverte faites un clic droit sur l’item « Projet ». Choisissez « Nouveau », « Cibles et périphériques ». Choisissez alors dans la fenêtre qui s’ouvre votre compactRIO (Item Real-Time CompactRIO). La fenêtre de l’explorateur de projet peut se présenter de la manière suivante (à l’adresse ip prés) :

explorateur-de-projetOn retrouve votre compactRIO (ici nommé RIO) avec l’adresse IP qui lui est affecté.

Vous retrouvez aussi les trois modules de la série C installés sur le châssis. Dans l’exercice qui suit on se propose de relier AO0 à AI0 à l’aide d’un fil, positionner DIO3 en sortie et DIO7 en entrée puis les relier par un fil et de vérifier que l’ensemble fonctionne correctement.

Ici le module1 (NI9201 : Entrées Analogiques) est déroulé et vous avez accès aux différentes voies (notées AI0 à AI7).

Pour accéder à ces entrées, il suffit de les glisser/déposer sur un diagramme.

Pour créer un VI qui sera implanté dans le compactRIO, il faut faire un clic droit  sur le nom de votre châssis (ici RIO) puis « Nouveau » puis « VI ». Vous retrouvez alors les fenêtres classiques de LabVIEW (face avant et diagramme). Renommez-le si vous le souhaitez puis glissez/déposez AI0 et AO0 sur le diagramme.

Il faut alors mettre en place une boucle de scrutation des entrées/sorties. En environnement temps réel, c’est la boucle « boucle cadencée » qui est utilisée.

Pour utiliser les E/S TOR TTL, il faut tout d’abord les configurer. Le module NI9401 permet de déterminer le sens des E/S par groupe de 4 (D7:D4 et D3:D0). Vous ne pouvez pas gérer individuellement chaque broche. Ce réglage est accessible en faisant un clic droit sur l’item « Mod3 » (NI9401) puis en choisissant « Propriétés ». Dans la fenêtre qui apparaît, choisissez le sens des E/S :choix_es_numeriqueVous pouvez alors glisser/déposer les E/S numériques dans le diagramme.

Vous réalisez donc la face avant suivante et le diagramme associé :

face-avant-test-esdiagramme-test-esUn mot sur la boucle cadencé : il faudra régler ces paramètres en double-cliquant sur son bloc de gauche. Les deux paramètres à régler sont :

  • la source de cadencement de la boucle : mettre « Synchroniser avec le moteur de balayage »,
  • Dans les attributs de cadencement de la boucle : régler la période (1: envoi des données à travers le réseau à chaque synchronisation de boucle, XX: envoi toutes les XX synchronisation de boucle). Dans le cas de phénomènes qui évoluent lentement il est donc inutile d’envoyer le résultat du capteur à chaque tour de boucle pour ne pas engorger le réseau ethernet. Le réglage du temps de balayage se fait en cliquant avec le bouton droit sur le nom de votre appareil dans l’arbre de projet (ici RIO) puis choisir « Propriétés ». Dans la fenêtre qui s’ouvre choisir l’item « Moteur de balayage » : vous pouvez alors modifier la période de balayage sur la partie droite de la fenêtre.

Vous pouvez observez l’effet du « dt » en le modifiant dans la boucle cadencée et en regardant à quel allure évolue l’indicateur « Nb d’itérations ».

Fonctionnalités étendues du module NI9401

Ce module permet de configurer ces 8 E/S suivant différentes configurations visibles ci dessous (clic droit sur le module NI9401 dans l’arbre de projet puis « Propriétés ». Dans la fenêtre qui vient de ‘s’ouvrir sélectionnez « Specialty Digital Configuration »):

choix_mode_es_numeriqueVous avez donc le choix entre :

  • des compteurs rapides (jusqu’à 1MHz),
  • des sorties MLI,
  • la gestion d’encodeur en quadrature.

Mais vous ne pouvez pas « mixer » ces configurations. De plus toutes les E/S sont concernées : c’est à dire que vous avez 8 compteurs ou 8 MLI ou 2 gestion d’encodeur.

Réalisez le VI ci-dessous. Il permet juste de générer un signal MLI (à l’origine je voulais piloter un petit servo moteur et faire l’alimentation avec une des sorties MLI en la mettant à 100% !) :

face-avant-test-pwmdiagramme-test-pwm

Vous prendrez pour la PWM1 une période de 50Hz. Le réglage de la MLI se fait avec une valeur comprise entre 0 et 100. Vérifiez à l’oscilloscope l’allure de la courbe et appréciez la justesse des temps ! (même en augmentant la fréquence de la MLI !

Lectures pour approfondir vos connaissances…

Je n’ai fait qu’effleurer les possibilités du compactRIO. Il faut explorer plus avant et en particulier avec le FPGA. Je vous conseille de lire les PDFs joints à la formation : « Getting started with CompactRIO and LabVIEW » et le guide du développeur du compactRIO (en anglais également)


1 réflexion sur « Prise en main du compactRIO-9074 de National Instrument »

  1. fodboldtrøjer

    MapleTie billige fodboldtrøjer RosaGilf SommerKe maglie
    calcio bambino MargeneG FriedaMa billige fotballdrakter ShelliPa AundreaC
    billiga fotbollströjor MaurineV

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.