Événements VISA
- Mise à jour2025-07-30
- Temps de lecture : 4 minute(s)
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.
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.
| 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 |