Top Qs
Chronologie
Chat
Contexte

Virtual Instrument Software Architecture

De Wikipédia, l'encyclopédie libre

Remove ads

Virtual Instrument Software Architecture, appelé généralement VISA, est une interface de programmation largement utilisée dans le domaine de l'instrumentation et l'industrie du test et de la mesure. VISA permet de communiquer avec des instruments de mesure depuis un ordinateur.

Le logiciel Standard Instrument Control Library avait été développé par Agilent Technologies pour rendre la programmation des instruments indépendante de l’interface physique utilisée (bus GPIB, RS-232, USB[1]…). À partir de cela fut développé VISA, sous l’impulsion de National Instruments. Actuellement, la plupart des pilotes d’instruments sont écrits avec VISA. Des programmeurs avancés peuvent toutefois écrire leurs propres pilotes, en utilisant des commandes de niveau inférieur (comme SCPI), dans des cas d’exigences plus importantes (vitesse de fonctionnement optimisée, utilisation de fonctions d’instruments non gérés par les pilotes disponibles…)[2].

Remove ads

Implémentations logicielles

PyVISA en langage Python, est une implémentation en logiciel libre du protocole, il gère les interfaces GPIB, RS232, Ethernet ou USB pour se connecter aux instruments, et ne nécessite que de préciser l'interface pour se connecter et les instructions qui sont envoyés à l'instrument, la partie de gestion de l'interface est transparente pour le script qui l'utilise[3].

Exemple de code pilotant un générateur de courant/tension Keysight B2900. Le programme établit la communication avec l'appareil, identifie celui-ci (et retourne l'identification à l'écran), et ordonne à l'appareil d'émettre une tonalité à 440 Hz pendant une seconde.

import visa 

rm = visa.ResourceManager()
b2900 = rm.get_instrument('TCPIP0::A-B2902A-41271.local::hislip0::INSTR') #Adresse de l'instrument, connecté en Ethernet, sur le réseau local

msg = b2900.ask('*IDN?')
print(msg)
# identification : l'instrument retourne sa référence et son numéro de série

b2900.write(':SYST:BEEP:STAT ON')
b2900.write(':SYST:BEEP 440,1')
Remove ads

Annexes

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads