J'ai récemment appris à contrôler un instrument en utilisant python. Comparé au célèbre logiciel de contrôle d'instruments de mesure (LabV * EW, etc.), je suis impressionné par sa grande polyvalence et sa flexibilité. Je vais résumer des exemples de programmes spécifiques à une date ultérieure, mais ici je vais énumérer les commandes pyvisa fréquemment utilisées. C'est un mémorandum pour moi.
Page de référence: PyVISA https://pyvisa.readthedocs.io/en/latest/
python3.7.7 Windows10
Ici, nous supposons que Python est déjà installé.
Ce dont vous avez besoin pour communiquer. En règle générale, il est fourni gratuitement par National Instruments. Installez celui qui correspond au système d'exploitation de votre PC. De plus, PyVISA travaille avec VISA fourni par d'autres sociétés. (Keysight VISA, R & S VISA, tekVISA, etc.)
Entrez depuis pip (pip3).
$ pip install pyvisa
Ceci termine la construction de l'environnement. Très facile.
import pyvisa
rm = pyvisa.ResourceManager()
visa_list = rm.list_resources()
usb_1 = visa_list[0]
inst_1 = rm.openresources(usb1)
inst_1.write('*IDN?')
out = inst_1.read()
#Bien sûr, vous pouvez utiliser la requête
# out = inst_1.query('*IDN?')
print(out)
# (Informations sur l'instrument de mesure)
Ce code sera expliqué ci-dessous.
Importez et créez une instance sur python.
import pyvisa
#Génération d'instances, quelque chose comme de la magie
rm = pyvisa.ResourceManager()
#Obtention du nom de ressource VISA de l'instrument de mesure connecté au PC
visa_list = rm.list_resources()
Ici,
rm``` est facultatif. De plus,
rm.list_resources () '' `` renvoie le nom de la ressource VISA dans la liste. Ici, on suppose qu'un périphérique est connecté au port USB. Obtenez le nom de la ressource VISA.
#Nom de la ressource VISA
usb_1 = visa_list[0]
Spécifiez l'instrument à l'aide du nom de la ressource VISA.
#Désignation de l'instrument de mesure
inst_1 = rm.open_resource(usb1)
inst_1.write('*IDN?')
'*idn?'
Est une commande pour écouter les informations du modèle de l'instrument de mesure. Il est utilisé dans de nombreux appareils.
inst_1.read()
Vous pouvez lire la réponse à la requête que vous avez envoyée précédemment. Puisque nous envoyons "IDN?" Cette fois, les informations du modèle seront renvoyées.
inst_1.query('IDN?')
Suguremono qui envoie une requête et va tout à la fois jusqu'à ce qu'il reçoive une valeur de retour. Les deux premiers peuvent être écrits sur une seule ligne, ce qui peut être simplifié. Notez que si vous envoyez une commande sans requête, une erreur se produira.
inst_1.write('*rst, *IDN?')
Vous pouvez également envoyer plusieurs commandes à la fois. L'écriture de nombreuses lignes, telles que les commandes de configuration de périphérique, complique le programme. C'est un peu rafraîchissant à utiliser. Cependant, si vous envoyez trop de commandes à la fois, la communication ne pourra pas suivre, vous devez donc attendre et voir.
Un programme de contrôle est construit en combinant les commandes de communication VISA introduites jusqu'à présent avec le cadre de programmation de base tel que les boucles et les calculs. Pour la commande de communication SCPI envoyée à l'instrument de mesure via VISA, reportez-vous au manuel d'instructions de chaque instrument de mesure.
Ici, nous avons expliqué comment utiliser Python pour contrôler l'instrument. Je pense qu'il vaut mieux utiliser un câble USB ou le câble USB-GPIB de NI pour se connecter à l'instrument de mesure. Le câble GPIB est un peu cher, et les instruments de mesure récents ont essentiellement une borne USB, nous recommandons donc de se connecter avec un câble USB.
À l'avenir, nous prévoyons de résumer facilement les programmes qui contrôlent réellement et le code utilisé à ce moment-là.
Recommended Posts