Les fonctions suivantes sont incluses dans la sous-palette LabVIEW GPIB 488. Elles sont essentielles pour effectuer des interrogations série dans LabVIEW :
GPIB Serial Poll ( ibrsp dans NI-488) effectue une interrogation série et renvoie la valeur de Status Byte à partir d'un seul périphérique. Le programme doit vérifier manuellement le bit RQS dans la valeur d'octet d'état pour déterminer si ce périphérique a demandé un service.
GPIB Wait ( ibwait dans NI-488) attend l'état indiqué par un masque Status Word spécifié dans un bus GPIB particulier. Le mot d'état est une variable globale (16 bits) qui contient, entre autres informations GPIB, l'état de la ligne SRQ (bit 12, SRQI) et si un périphérique a demandé un service (bit 11, RQS). Si le vecteur passé en entrée est égal à 0, il n'attend aucune condition spécifiée et mettra à jour ibsta ou le mot d'état. Cependant, si le masque est configuré pour rechercher le bit 12 (SRQI), la fonction attendra que cette ligne particulière soit activée pour une carte GPIB particulière, dont l'adresse est spécifiée dans GPIB Wait.
Wait for GPIB RQS (ibwait dans NI-488, avec masque pour le bit 11) est similaire à l'utilisation de la fonction GPIB Wait avec un masque pour le bit 11, mais en utilisant l'adresse GPIB de l'adresse du périphérique particulier au lieu de l'adresse de la carte GPIB (lorsque vous attendez le bit 12). Cette fonction attend qu'un périphérique particulier demande un service et non qu'une carte (à laquelle plusieurs périphériques pourraient être connectés) reçoive une demande de service. Cette fonction attendra que le bit RQS soit activé ou que le timeout soit dépassé.
Les exemples suivants montrent comment entretenir les SRQ et interroger en série les périphériques en utilisant les fonctions LabVIEW GPIB.
Dans l'exemple LabVIEW 1 (figure 3), une commande est écrite dans un simulateur d'instruments NI. La commande inclut des instructions permettant à l'instrument de générer une requête de service (SRQ) si un événement Opération terminée est enregistré dans le registre d'état des événements (ESR). Les deux premières commandes écrivent ces instructions dans le registre d'activation de demande de service et dans le registre d'activation d'état d'événement (spécification IEEE-488.2). La troisième commande demande au simulateur d'instrument de générer un signal sinusoïdal ; la dernière commande génère un événement Opération terminée. La section suivante du code attend que la SRQ soit générée en vérifiant le bit 12 du mot d'état. Une fois qu'il a été généré, une interrogation série est effectuée sur le simulateur de périphérique pour lire l'octet d'état et connaître la raison pour laquelle il a généré une SRQ. Si le bit 5 est défini (du registre d'état d'événement avec le bit Operation Complete défini) et que le bit 6 est défini (RQS, le périphérique a demandé le service), le contrôleur continue et lit les données du simulateur de périphérique. Notez que le registre ESR doit être effacé. Cela empêche l'instrument de générer des requêtes de service indésirables.
Figure 3. Exemple LabVIEW 1
L'exemple LabVIEW 2 (figure 4) montre une autre façon d'attendre que le périphérique demande un service. Cependant, dans ce dernier exemple, le processeur s'arrête et attend sans effectuer d'autres opérations. Dans le premier exemple, d'autres opérations auraient pu être exécutées en parallèle en attendant que le périphérique demande un service.
Figure 4. Exemple LabVIEW 2