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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads