IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Pyvisa "OSError" "viopen" [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Par défaut Pyvisa "OSError" "viopen"
    Bonjour,
    je viens vers la communauté car je tourne en rond autour du pb suivant:
    Je souhaite enregistrer des données sur le Disque Dur de l'appareil de mesure, et à intervalle régulier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    import pyvisa
    import time
     
    boucle = 0
    delais = 5  # délais entre 2 mesures
     
    # start of Sauvegarde
    # Permet de sauvegarder en S2P sur diskDur
    #
     
    print("Running Sequence")
     
     
    while boucle < 5:
        if boucle == 0:
            now = time.localtime(time.time())
            date = time.strftime("%y%m%d_%Hh%Mm%Ss", now)
            Nom_Fichier = str("Save") + str(boucle) + str("_") + str(date)
            rm = pyvisa.ResourceManager()
            #print(rm.list_resources())
            N9918A = rm.open_resource('TCPIP::192.168.1.91::INSTR')
            N9918A.write(':MMEMory:CDIRectory "%s"' % '[INTERNAL]:')
            N9918A.write(':MMEMory:STORe:SNP:DATA "%s"' % Nom_Fichier)
            N9918A.close()
            rm.close()
            print(Nom_Fichier)
            boucle = boucle + 1
        else:
            time.sleep(delais)
            now = time.localtime(time.time())
            date = time.strftime("%y%m%d_%Hh%Mm%Ss", now)
            Nom_Fichier = str("Save") + str(boucle) + str("_") + str(date)
            rm = pyvisa.ResourceManager()
            N9918A = rm.open_resource('TCPIP0::xxx.xxx.x.xx::INSTR') #adresse IP à définir
            N9918A.write(':MMEMory:CDIRectory "%s"' % '[INTERNAL]:')
            N9918A.write(':MMEMory:STORe:SNP:DATA "%s"' % Nom_Fichier)
            N9918A.close()
            rm.close()
            print(Nom_Fichier)
            boucle = boucle + 1
     
    print("Sequence Finished")
    # end of Sauvegarde
    J'utilise Python 3.8/ PyCharm 2019.2.5 / NI VISA 19.5
    Le code plante sur la ligne 22 :rm.opensource avec le message suivant:
    OSError: Could not open VISA library:
    function 'viOpen' not found
    Je me perd dans les explications des différents forums que j'ai pu parcourir.
    Est-ce qu'il me manque une librairie, Pyvisa ne prend-il pas en compte directement le "BackEnd?????" NI VISa qd j'ai installer ce dernier?
    Saurez-vous m'aider?
    Merci
    Bonne journée

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Lance ton code dans un terminal et copie-colle le traceback d'erreur parce que ton code ne se plante sûrement pas à la ligne 22.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Par défaut
    Citation Envoyé par VinsS Voir le message
    ton code ne se plante sûrement pas à la ligne 22.
    Ligne 18???

    C:\Users\steph\Documents\SharkNadows\venv\Scripts\python.exe C:/Users/steph/Documents/SharkNadows/Rec.py
    Running Sequence
    Traceback (most recent call last):
    File "C:/Users/steph/Documents/SharkNadows/Rec.py", line 18, in <module>
    rm = pyvisa.ResourceManager()
    File "C:\Users\steph\Documents\SharkNadows\venv\lib\site-packages\pyvisa\highlevel.py", line 1553, in __new__
    visa_library = open_visa_library(visa_library)
    File "C:\Users\steph\Documents\SharkNadows\venv\lib\site-packages\pyvisa\highlevel.py", line 1525, in open_visa_library
    return cls(argument)
    File "C:\Users\steph\Documents\SharkNadows\venv\lib\site-packages\pyvisa\highlevel.py", line 98, in __new__
    raise OSError('Could not open VISA library:\n' + '\n'.join(errs))
    OSError: Could not open VISA library:
    function 'viOpen' not found

    Process finished with exit code 1
    Merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    En fait je voulais dire que le plantage est en dehors de ton code mais au niveau de pyvisa, c'est pour cela que le traceback de Python est préférable.

    Il te manque manifestement quelque chose dans tes libs.

    Regarde ici dans leur doc, il y est question d'une lib que tu dois installer par toi-même: NI-VISA
    https://pyvisa.readthedocs.io/en/lat...n/getting.html

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 37
    Par défaut
    Ouaip, j'avais bien suivi ça en téléchargeant NI-VISA 19.5, mais ça n'avait rien changer....
    Dois-je mettre le chemin d'où est stocké le .dll de Visa32 dans les parenthèses de "ResourceManager"?

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quote dans une requete...
    Par Isildur dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/06/2006, 10h57
  2. [xsl]simuler le mecanisme OO de "liaison dynamique"
    Par philemon_siclone dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 19/12/2003, 11h34
  3. Problème de quote
    Par kennini dans le forum ASP
    Réponses: 4
    Dernier message: 20/11/2003, 09h40
  4. VARCHAR contenant une quote '
    Par tonyskn dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/05/2003, 19h21
  5. Quotes dans TFilenameEdit (RXLib)
    Par AnnSo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/01/2003, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo