Les VIs et fonctions de la palette Gestion d'événements gèrent les événements VISA. Pour gérer des événements VISA, vous devez activer la mise en file d'attente des événements avec la fonction VISA Enable Event. Les files d'attente fonctionnent par session et par type d'événement, vous devez donc activer la mise en file d'attente sur toutes les sessions pour lesquelles vous souhaitez gérer des événements.

Utilisez la fonction VISA Wait On Event pour récupérer des événements d'une file d'attente. Si un événement du type spécifié s'est déjà produit, l'appel de VISA Wait On Event renvoie cet événement immédiatement, indépendamment de la valeur que vous définissez pour le paramètre timeout.

Vous pouvez aussi utiliser VISA Wait On Event pour les événements qui n'existent pas actuellement dans la file d'attente. L'exécution s'arrête jusqu'à ce qu'un événement du type spécifié se produise ou que la fonction VISA Wait On Event donne lieu à un timeout. Définissez une valeur de timeout raisonnable pour attendre des événements qui n'existent pas actuellement dans la file d'attente.

Astuce Pour vérifier si la file d'attente contient des événements du type spécifié, réglez le délai d'attente de la fonction VISA Wait on Event sur 0 (immédiat).

Lorsque la fonction VISA Wait On Event renvoie un événement , l'événement n'existe plus dans la file d'attente pour la session sur laquelle vous avez défini l'opération d'attente. Toutefois, si la mise en file d'attente des événements est activée sur une autre session VISA, l'événement reste dans la file d'attente pour cette session jusqu'à ce qu'il soit reçu.

Utilisez la fonction VISA Disable Event pour désactiver la mise en file d'attente des événements pour une session VISA spécifique. Quand vous appelez cette fonction, aucun événement supplémentaire n'est ajouté à la file d'attente pour la session. Toutefois, la file d'attente conserve tout événement qui existait déjà dans la file d'attente. Vous pouvez récupérer ou rejeter ces événements. Pour récupérer ces événements, utilisez la fonction VISA Wait On Event. Pour rejeter ces événements, utilisez la fonction VISA Discard Events.

La longueur par défaut des files d'attente d'événements VISA est de 50. Si la file d'attente est pleine et qu'un nouvel événement arrive, ce dernier est rejeté. Les files d'attente d'événement VISA ne s'agrandissent pas de manière dynamique mais vous pouvez utiliser la propriété General Settings:Maximum Queue Length pour changer la taille d'une file d'attente d'événements par programmation. Si vous changez la longueur de la file d'attente sur une session donnée, vous devez le faire avant que la fonction VISA Enable Event soit appelée pour la première fois.

La table suivante dresse la liste des événements que vous pouvez gérer avec ces VIs et fonctions. Cette table contient une description de chaque événement et des classes de ressources qu'il supporte, comme GPIB, PXI, etc.

Remarque Les événements sériels ne sont valables que sous Windows et sur les plates-formes sur lesquelles National Instruments prend en charge ses produits ENET-Serial.
Nom de l'événement Description Classes de ressources
Service Request

Indique à l'application qu'une requête de service émanant de l'interface ou du périphérique associé avec une session donnée a été reçue.

Remarque Quand vous recevez cet événement sur une session d'instrument, vous devez appeler VISA Read STB pour garantir la livraison d'événements de requête de service futurs sur la session donnée.
GPIB INSTR, GPIB INTFC, GPIB-VXI INSTR, TCPIP INSTR, USB INSTR, VXI INSTR
Déclencher Indique à l'application qu'une interruption de déclenchement émise par le périphérique a été reçue. Il peut s'agir d'un déclenchement numérique ou logiciel, en fonction de l'interface et des paramètres actuels de la session. GPIB INTFC, VXI INSTR, VXI BACKPLANE, VXI SERVANT
Clear Indique à l'application qu'un message de suppression du périphérique a été envoyé au contrôleur local. GPIB INTFC, VXI SERVANT
VXI Signal Indique à l'application qu'un signal de bus VXI ou une interruption de bus VXI provenant du périphérique associé à une session donnée a été reçu. VXI INSTR
VXI/VME Interrupt Indique à l'application qu'une interruption de bus VXI provenant du périphérique associé à une session donnée a été reçu. VXI INSTR
VXI/VME Sysfail Indique à l'application que la ligne VXI/VME SYSFAIL* a été activée. VXI BACKPLANE
VXI/VME Sysreset Indique à l'application que la ligne VXI/VME SYSRESET* a été activée. VXI BACKPLANE, VXI SERVANT
GPIB-CIC Indique à l'application que le contrôleur GPIB a obtenu ou perdu son statut de contrôleur en charge (Controller-In-Charge). GPIB INTFC
GPIB-Talk Indique à l'application que le contrôleur GPIB a été adressé pour parler. GPIB INTFC
GPIB-Listen Indique à l'application que le contrôleur GPIB a été adressé pour écouter. GPIB INTFC
PXI Interrupt Indique à l'application qu'une interruption PXI s'est produite. PXI INSTR
USB Interrupt Indique à l'application qu'une interruption USB s'est produite. USB INSTR, USB RAW
Serial Break Indique à l'application qu'un signal de pause a été reçu. Serial INSTR
Serial TermChar Indique à l'application qu'un caractère de terminaison a été reçu. Le vrai caractère de terminaison est spécifié en définissant la propriété Message Based Settings:Termination Character Enable avant d'activer cet événement. Pour cet événement, le paramètre de la propriété Message Based Settings:Termination Character Enable est ignoré. Serial INSTR
Serial CTS Indique à l'application que la ligne CTS (Clear To Send) a changé d'état. Si la ligne CTS change d'état rapidement plusieurs fois d'affilée, tous les changements d'état de ligne ne résultent pas nécessairement en notifications d'événements. Serial INSTR
Serial DSR Indique à l'application que la ligne DSR (Data Set Ready) a changé d'état. Si la ligne DSR change d'état rapidement plusieurs fois d'affilée, tous les changements d'état de ligne ne résultent pas nécessairement en notifications d'événements. Serial INSTR
Serial DCD Indique à l'application que la ligne DCD (Data Carrier Detect) a changé d'état. Si la ligne DCD change d'état rapidement plusieurs fois d'affilée, tous les changements d'état de ligne ne résultent pas nécessairement en notifications d'événements. Serial INSTR
Serial RI Indique à l'application que le signal en entrée RI (Ring Indicator) a été activé. Serial INSTR
Serial Character Indique à l'application qu'au moins un octet de données a été reçu. Chaque caractère de donnée ne résulte pas nécessairement en une notification d'événement. En d'autres termes, si plusieurs octets de données arrivent à la fois, il se peut que vous ne receviez qu'un seul événement. Après avoir reçu cet événement, utilisez la propriété Serial Settings:Number of Bytes at Serial Port pour demander au port série le nombre d'octets disponibles. Serial INSTR