UDF > Visa >


_viOpen

Ouvre une connexion VISA avec un instrument ou un périphérique

#include <Visa.au3>
_viOpen ( $sVisa_Address [, $sVisa_Secondary_Address = 0] )

Paramètres

$sVisa_Address Une chaîne descripteur de ressource VISA (voir remarques dans _viExecCommand() pour plus d'infos)
En tant que raccourci, vous pouvez également passer directement une adresse GPIB comme un entier
$sVisa_Secondary_Address [optionnel] L'"adresse secondaire GPIB". Utilisé uniquement si l'adresse primaire est passé comme un entier.
Seuls quelques instruments GPIB ont des adresses secondaires. Dans ces cas, ce paramètre optionnel peut être utilisé pour la spécifier.
Ce paramètre est ZERO par défaut, ce qui signifie SANS ADRESSE SECONDAIRE.

Valeur de retour

Succès: Retourne le handle (POSITIF) de l'instrument VISA.
Échec: Retourne -1 et définit @error <> 0.

Remarques

Comme pour toutes les fonctions VISA les librairies VISA doivent être installées (vous pouvez tester si VISA32.DLLL est dans {WINDOWS}\system32) et une carte GPIB (comme une carte NI PCI- GPIB ou une une carte GPIB Agilent 82350B PCI High-Performance) doit être installé.

* Pour une description détaillée de descripteurs des cartes VISA les plus courantes regardez les Remarques de l'aide sur la fonction _viExecCommand().

En relation

_viClose, _viExecCommand, _viFindGpib, _viGpibBusReset, _viGTL, _viSetAttribute, _viSetTimeout

Exemple

; - Cet exemple suppose que vous avez installé l'instrument à l'adresse GPIB 1
; Il montre comment utiliser la fonction _viExecCommand en mode autonome et combiné avec _viOpen et _viClose.
; Il montre également la fonction _viGTL

#include <MsgBoxConstants.au3>
#include <Visa.au3>

Global $h_Session = 0

; Interroge l'ID de l'instrument à adresse GPIB 3
MsgBox($MB_SYSTEMMODAL, "Étape 1", "Ouvre la connexion de l'instrument avec _viOpen")
Global $h_Instr = _viOpen("GPIB::3::0")
MsgBox($MB_SYSTEMMODAL, "Handle de l'Instrument obtenu", "$h_Instr = " & $h_Instr) ; Affiche le handle de la session

; Interroge l'instrument
MsgBox($MB_SYSTEMMODAL, "Étape 2", "Interroge l'instrument en utilisant le handle de l'instrument Visa")
Global $s_Answer = _viExecCommand($h_Instr, "*IDN?") ; $h_Instr nest pas une chaîne!
MsgBox($MB_SYSTEMMODAL, "Résultat de GPIB QUERY", $s_Answer) ; Affiche la réponse

; Interroge de nouveau. Inutile d'ouvrir le lien de nouveau
MsgBox($MB_SYSTEMMODAL, "Étape 3", "Interroge de nouveau. Inutile d'ouvrir le lien de nouveau")
$s_Answer = _viExecCommand($h_Instr, "*IDN?")
MsgBox($MB_SYSTEMMODAL, "Résultat GPIB QUERY", $s_Answer) ; Affiche la réponse

MsgBox($MB_SYSTEMMODAL, "Étape 4", "Ferme la connexion avec l'instrument connection en utilisant _viClose")
_viClose($h_Instr) ; Ferme la connexion

MsgBox($MB_SYSTEMMODAL, "Étape 5", "Ouvre la connexion avec l'instrument en utilisant seulement le nombre adresse")
$h_Instr = _viOpen(3)
MsgBox($MB_SYSTEMMODAL, "Handle de l'instrument obtenu", "$h_Instr = " & $h_Instr) ; Affiche le handle de la session

; Interroge l'instrument
MsgBox($MB_SYSTEMMODAL, "Étape 6", "Interroge l'instrument en utilisant le handle de l'instrument VISA")
$s_Answer = _viExecCommand($h_Instr, "*IDN?") ; $h_Instr nest pas une chaîne!
MsgBox($MB_SYSTEMMODAL, "Résulat GPIB QUERY", $s_Answer) ; Affiche la réponse

; ; Interroge de nouveau. Inutile d'ouvrir le lien de nouveau
MsgBox($MB_SYSTEMMODAL, "Étape 7", "; Interroge de nouveau. Inutile d'ouvrir le lien de nouveau")
$s_Answer = _viExecCommand($h_Instr, "*IDN?")
MsgBox($MB_SYSTEMMODAL, "Résultat GPIB QUERY", $s_Answer) ; Affiche la réponse

MsgBox($MB_SYSTEMMODAL, "Étape 8", "Ferme la connexion à l'instrument à l'aide de _viClose")
_viClose($h_Instr) ; Ferme la connexion à l'instrument