UDF > Visa >


_viSetAttribute

D�finit des attributs de VISA.

#include <Visa.au3>
_viSetAttribute ( $hSession, $iAttribute, $iValue )

Param�tres

$hSession Le descripteur de VISA (sring) ou le handle de la session VISA (integer).
Voir Remarques de _viExecCommand() pour plus d'info.
$iAttribute L'index de l'attribut qui doit �tre chang�.
Les attributs sont d�finis dans la biblioth�que VISA.
Cette biblioth�que AutoIt d�finit uniquement une constante pour l'attribut TIMEOUT ($VI_ATTR_TMO_VALUE) et pour les attributs et les valeurs de l'interface s�rie (voir Remarques), mais vous pouvez passer tout autre index valide (en tant qu'integer) si vous le souhaitez.
$iValue La valeur de l'attribut. Il doit �tre un entier et les valeurs possibles d�pendent du type d'attribut et sont d�finis dans la documentation VISA.

Valeur de retour

Succ�s: Retourne 0.
�chec: Retourne -1 et d�finit @error <> 0 si la dll VISA ne peut pas �tre ouverte
ou une valeur non nulle repr�sentant le code d'erreur VISA (voir le guide du programmeur VISA ).

Remarques

Cette fonction, qui est appel�e par _viSetTimeout, peut �galement �tre utilis�e pour d�finir les autres attributs sp�cifiques de VISA. Lisez la documentation de VISA pour plus d'informations et une liste d'attributs de VISA et leurs valeurs correspondantes.

Ci-dessous, une liste des attributs et des valeurs actuellement pr�-d�finies. N'oubliez pas que vous pouvez utiliser n'importe quel autre attribut/valeur valide en passant l'index entier correspondant (tel que d�fini dans le guide du programmeur de VISA) � cette fonction.

* Attribut: $VI_ATTR_TMO_VALUE -> D�finit Timeout
* Valeurs:
    Un d�lai d'attente en millisecondes ou
    $VI_TMO_IMMEDIATE (ou 0) pour un "Retour imm�diat"
    $VI_TMO_INFINITE (ou "INF") pour "Aucun d�lai d'expiration"

* Attribut: $VI_ATTR_ASRL_BAUD
* Valeurs:
    Toute vitesse de transmission valide (9600, 115200, etc..)

* Attribut: $VI_ATTR_ASRL_DATA_BITS
* Valeurs:
    De 5 � 8

* Attribut: $VI_ATTR_ASRL_PARITY
* Valeurs:
    $VI_ASRL_PAR_NONE
    $VI_ASRL_PAR_ODD
    $VI_ASRL_PAR_EVEN
    $VI_ASRL_PAR_MARK
    $VI_ASRL_PAR_SPACE

* Attribut: $VI_ATTR_ASRL_STOP_BITS
* Valeurs:
    $VI_ASRL_STOP_ONE
    $VI_ASRL_STOP_ONE5
    $VI_ASRL_STOP_TWO

* Attribut: $VI_ATTR_ASRL_FLOW_CNTRL
* Valeurs:
    $VI_ASRL_FLOW_NONE
    $VI_ASRL_FLOW_XON_XOFF
    $VI_ASRL_FLOW_RTS_CTS
    $VI_ASRL_FLOW_DTR_DSR

Comme pour toutes les fonctions VISA les biblioth�ques Visa doivent �tre install�es (vous pouvez v�rifier si visa32.dll est dans {WINDOWS}\system32).
Vous �tes seulement besoin d'une carte GPIB (comme par exemple une carte PCI-GPIB National Instruments NI ou une carte GPIB Agilent 82350B PCI haute performance) si vous utilisez les fonctions en relation avec GPIB.

* Pour une description d�taill�e des descripteurs VISA les plus courants, regarder Remarques de l'aide de la fonction _viExecCommand().

En relation

_viClose, _viExecCommand, _viOpen, _viSetTimeout

Exemple

; - Cet exemple suppose que vous avez install� l'instrument � l'adresse GPIB 3
; Si vous avez un instrument � une adresse diff�rente, changez "GPIB::3::0" en un descripteur correspondant. Faites de m�me pour l'appel � _viOpen.
; 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>

Local $h_Session = 0

; Interroge l'ID de l'instrument � l'address GPIB 3
MsgBox($MB_SYSTEMMODAL, "�tape 1", "Simple requ�te GPIB � l'aide d'un descripteur VISA")
Local $s_Answer = _viExecCommand("GPIB::3::0", "*IDN?", 10000) ; 10 secs timeout
MsgBox($MB_SYSTEMMODAL, "R�sultat de la requ�te GPIB", $s_Answer) ; Affiche la r�ponse

; C'est la m�me chose que d'utiliser la fonction _viSetAttribute en premier:
MsgBox($MB_SYSTEMMODAL, "�tape 2", "_vOpen + timeout � l'aide de _viSetAttribute + requ�te GPIB")
Local $h_Instr = _viOpen(3)
; NOTE - Ceci est pareil que: _viSetTimeout($h_Instr, 10000)
_viSetAttribute($h_Instr, $VI_ATTR_TMO_VALUE, 10000) ; 10000 ms = 10 secs

$s_Answer = _viExecCommand($h_Instr, "*IDN?") ; Pas besoin de d�finir timeout maintenant
MsgBox($MB_SYSTEMMODAL, "R�sultat de la requ�te GPIB", $s_Answer) ; Affiche la r�ponse

MsgBox($MB_SYSTEMMODAL, "�tape 3", "Ferme la connexion de l'instrument � l'aide de _viClose")
_viClose($h_Instr) ; Ferme la connexion de l'instrument