Cours:Oscillogbf

De troyesGEII
Révision datée du 5 février 2025 à 09:57 par Bjacquot (discussion | contributions) (python et Qt)
Aller à : navigation, rechercher

python et Qt

Mise en place

QPushButton

import sys
import pyvisa

from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtWidgets import QApplication, QWidget, QFileDialog, QPushButton
from PySide2.QtUiTools import QUiLoader


def appui_bouton():
    print("Appui sur le bouton")
    print(gbf.query('*IDN?'))


loader = QUiLoader()
app = QtWidgets.QApplication(sys.argv)
window = loader.load("form.ui", None)
window.my_push_button = window.findChild(QPushButton, "pushButton_2")
window.show()

window.my_push_button.clicked.connect(appui_bouton)

materiel=pyvisa.ResourceManager()
print(materiel.list_resources())
gbf=materiel.open_resource('TCPIP::10.98.35.144::INSTR')

app.exec_()

liens

Tests

banc de mesure  : 1 scope DS1074 + 1 gbf DG822


le script (basique ...) qui gère le tout :


#!/bin/bash

IPSCOPE=192.168.1.111

freq=100

while true; do
      # 1 sinus ampl=5V, offset nul, dephasage nul
      ./dg822_write.py ":sour1:appl:harm $freq,5,0,0"
      sleep 2
      # demande un AUTo mode au scope
      lxi scpi -a $IPSCOPE "AUT"
      sleep 5
      let "freq += 100"
      done

les commandes python :


#!/usr/bin/python3

import sys
import pyvisa
rm=pyvisa.ResourceManager()
inst=rm.open_resource('USB0::6833::1603::DG8A231301537::0::INSTR')

print("commande = ",sys.argv[1])
commande=sys.argv[1]

inst.write(commande)