FSE
Fonctions de l'interface RSIB
Ce paragraphe décrit toutes les fonctions de la bibliothèque "RSIB.DLL" ou "RSIB32.DLL" ou
"librsib.so", qui permettent de générer des applications de commande.
Variables ibsta, iberr, ibcntl
Comme pour l'interface National Instruments, l'exécution correcte d'une instruction peut se vérifier au
moyen des variables ibsta, iberr et ibcntl. A cet effet, des références à ces trois variables sont
transmises pour toutes les fonctions RSIB. De plus, le mot d'état ibsta est retourné comme valeur de
fonction par toutes les fonctions.
Mot d'état - ibsta
Toutes les fonctions retournent un mot d'état contenant des informations sur l'état de l'interface RSIB.
Les bits suivants sont définis :
Nom du bit
Bit
ERR
15
TIMO
14
CMPL
8
Variable d'erreur - iberr
Si le bit ERR (8000h) est positionné dans le mot d'état, iberr contient un code d'erreur spécifiant l'erreur.
L'interface RSIB a ses propres codes d'erreur indépendant de l'interface de National Instruments.
Erreur
IBERR_DEVICE_REGISTER
IBERR_CONNECT
IBERR_NO_DEVICE
IBERR_MEM
IBERR_TIMEOUT
IBERR_BUSY
IBERR_FILE
IBERR_SEMA
1065.6016.13
Code hex
Description
8000
Est positionné lorsqu'une erreur se produit lors de l'appel d'une fonction. Si ce
bit est positionné, iberr contient un code d'erreur spécifiant l'erreur.
Est positionné lorsqu'une temporisation a lieu lors de l'appel d'une fonction.
4000
Une temporisation peut avoir lieu dans les situations suivantes :
• lors de l'attente d'un SRQ avec la fonction RSDLLWaitSrq().
• si aucun acquittement n'est reçu pour les données transmises à l'appareil
avec RSDLLibwrt() ou RSDLLilwrt().
• aucune réponse n'est reçue de la part du serveur à une interrogation de
données émise avec la fonction RSDLLibrd() ou RSDLLilrd().
Est positionné si la réponse à l'analyseur syntaxique du bus CEI est
0100
entièrement lue. Si une réponse à l'analyseur syntaxique est lue avec la
fonction RSDLLilrd()et que la longueur de la file d'attente n'est pas suffisante,
le bit est effacé.
Code
Description
d'erreur
1
RSIB.DLL ne peut enregistrer de nouvel appareil.
2
La liaison avec l'appareil de mesure n'a pas pu être établie.
3
Une fonction de l'interface a été appelée avec une saisie d'appareil non
valable.
4
Capacité mémoire non disponible.
5
Une temporisation (timeout) a eu lieu.
6
L'interface RSIB est bloquée par une fonction non encore terminée.
Par exemple, Windows n'est pas bloqué par la fonction RSDLLibrd()si les
données doivent encore être transmises en réponse à cette fonction. Dans ce
cas, un nouvel appel est possible. D'autres appels, cependant, sont rejetés
par RSIB:DLL avec le code d'erreur IBERR_BUSY.
7
Erreur lors de la lecture ou l'écriture dans un fichier.
8
Erreur lors de la création ou de l'occupation d'un sémaphore (uniquement
sous Unix).
8.13
Interfaces
F-13