Télécharger Imprimer la page

Publicité

Exemples de programme

C / C++

Remarques concernant la programmation :
Accès aux fonctions de RSIB.DLL ou RSIB32.DLL (plates-formes Windows)
Les fonctions de RSIB.DLL ou RSIB32.DLL sont déclarées dans le fichier d'en-tête RSIBC.H.
Les fonctions DLL peuvent être incorporées dans un programme C/C++ de différentes manières.
1. Pour les options d'éditeur de liens, indiquer l'une des bibliothèques des importations fournies
avec l'appareil (RSIB.LIB ou RSIB32.DLL).
2. Charger la bibliothèque lors de la durée d'exécution de la fonction LoadLibrary()et déterminer
les pointeurs des fonctions DLL avec GetProcAddress(). Avant la fin du programme, le fichier
RSIB.DLL doit être libéré avec la fonction FreeLibrary().
Lorsqu'on utilise les bibliothèques des importations, la DLL se charge immédiatement de manière
automatique avant le début de l'application. A la fin du programme, la DLL sera libérée à condition
qu'elle ne soit pas utilisée par d'autres applications.
Accès aux fonctions de librsib.so (plates-formes Unix)
Les fonctions de librsib.so sont déclarées dans le fichier d'en-tête RSIB.H ; sous Unix, on tient
typiquement compte des majuscules et des minuscules pour les noms de fichier. Les fonctions de
bibliothèque s'incorporent dans un programme C/C++ en indiquant l'option d'éditeur de liens
-lrsib.
shared library librsib.so se charge automatiquement lors du démarrage de l'application. La
disponibilité (par exemple via le chemin standard) de la bibliothèque doit être garantie. Voir aussi
"Environnements Unix" au début de ce chapitre.
Interrogation des chaînes
Lorsque des réponses d'appareil doivent être traitées sous forme de chaînes, il est nécessaire
d'ajouter un zéro comme terminaison.
Exemple :
char buffer[100];
...
RSDLLibrd( ud, buffer, &ibsta, &iberr, &ibcntl );
buffer[ibcntl] = 0;
Exemples de programmation :
Dans l'exemple de programme C suivant, un balayage unique est lancé sur l'appareil avec l'adresse
IP 89.10.38.97 puis un marqueur est positionné sur le niveau maximum. Le balayage doit être
cependant terminé avant de déterminer le maximum. La synchronisation sur la fin du balayage
s'effectue en déclenchant une demande de service à la fin du balayage avec l'instruction "*OPC"
(opération achevée). Le programme de commande attend le SRQ avec la fonction
RSDLLWaitSrq(). Le maximum est ensuite déterminé ("CALC:MARK:MAX") et le niveau est sorti
("Y?"). Avant la lecture, il est vérifié au moyen d'une reconnaissance série si les données sont
disponibles (bit MAV du registre d'état positionné, uniquement avec contrôleur Windows NT.
Note :
L'adresse
appareils à contrôleur DOS.
1065.6016.13
'@local'
et
le
fichier
7.10
RSIB.DLL
doivent
être
FSE
utilisés
sur
les
F-15

Publicité

Chapitres

loading