Envoie de commande vers une sonde à l'aide d'une carte NI PCMCIA-485/2

Bonjour,  Je suis actuellement en stage pour finir mon projet de fin d'études, et mon sujet de stage et de faire l'acquisition de données d'une sonde à partir d'une carte d'acquisition NI PCMCIA-485/2 à l'aide du logiciel Labview. Je ne suis que débutant dans cette matière de programmation. J'utilise la version Labview 2009.
 Pour se faire, je dois utiliser des commandes de formats (n)Byte de type de données U8/U16. Dans le protocole de ma sonde, les commandes à envoyer sont sous la forme Hexa.
 Je me suis inspiré des exemples E/S matérielles -> Série pour élaborer ma configuration de la carte série ainsi que de l'envoie/réception de commande.
 Je n'ai pas trouvé d'autres moyens pour envoyer ma commande (en Hexa) que de l'écrire dans un tableau d'octets non signés et de la transformer en chaîne.
 Jusque là, ça me parraissait assez bon.
 Mais une fois que j'exécute mon programme, j'ai au bout de 10s environ, un message d'erreur : "-1073807339 " / "Hex 0xBFFF0015" m'indiquant que le délai d'attente (Timeout) a expiré avant que l'opération ne soit achevée. ( Visa Read )
 J'ai pensé que cette erreur venait de ma constante que j'avais gardé par défaut sur l'exemple, mais même en la modifiant je me retrouve devant cette erreur. Et qui plus est, je n'ai pas de réception de réponse sur le Visa Read.
 Je ne comprends pas d'où vient mon erreur. Si ce n'est qu'elle intervient au moment du Visa Read.
 Je vous joinds mon vi pour que mieux contextualiser ma démarche.
 Si quelqu'un a une idée, je suis preneur
 Bonne journée,
 Sma.
Résolu !
Accéder à la solution.
Pièces jointes :
Config_RS485.vi ‏17 KB

Bonjour Sma_31 et bienvenue sur le forum National Instruments,
L'erreur rencontrée est assez classique. 
Voici ce qui se passe : dans la configuration actuelle, le nombre d'octets à lire ( 12 par défaut dans le VI en pièce jointe) est supérieur au nombre d'octets physiquement disponibles (à un moment ou à un autre).
D'où l'origine du timeout.
Voici la démarche à suivre pour éviter ce comportement :
http://digital.ni.com/public.nsf/allkb/874B379E24C0A0D686256FCF007A6EA0
ps: en fonction de votre instrument/sonde, il peut être utile d'insérer une temporisation entre le write et le read afin de "laisser du temps" entre la commande et la récupération des infos. 
Je vous invite également à consulter les exemples (accessibles via Aide -> Exemples sous LabVIEW), qui vous guideront et vous apporteront beaucoup d'idées et de conseils pour le développement de votre application (dont les exemples de communication VISA).
Cordialement, 
Alexandre D.
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> Les présentations NIDays 2010 déjà disponibles au téléchargement !

Similar Messages

  • Envoie de commandes cycliquement

    Bonsoir à tous
    Je cherche une façon simple d'envoyer cycliquement des commandes à un équipement.
    Voilà mon probleme:
    Je dois envoyer une commande "A" tout les 500ms à un équipement, celui-ci me répond et j'arrive à décortiquer sa trame sans soucis...
    Mais maintenant je dois envoyer aussi toute les 10 min une commande "B" et 2 min apres celle -ci une commande "C" (tout en continuant à l'interroger toute les 500ms grace à la commande "A").
    J'ai essayé avec une boucle événement en essayant de déclencher l'envoie des commandes avec la sortie "Time has Elapsed"  d'un module "temps écoulé" sans résultat
    Si quelqu'un à une idée, je sui preneur.

    Je suis arrivé à ceci : ....  
    il y a certainement 25 solutions pour résoudre ce problème.
    ici, c'est juste une solution. J'ai fait une petite cabriole en codant les infos dans un tableau de I32.
    (j'aime bien les cabrioles   )
    J'ai voulu solutionner ce problème avec un seul process et une seule structure Event.
    Fait tourner le vi ... et regarde les Leds A, B et C.
    Le code génère la séquence, mais "simule" aussi les événements par un flash de 100ms sur chacune des Leds.
    ici j'ai une séquence : "B" ... "A" toutes les 500ms pendant 2sec ... "C" .... "A" toutes les 500ms pendant 8sec ... "B" ... etc
    Le tableau qui correspond à ta séquence est juste à côté.
    La durée du "flash" est déduite de la temporisation ... les 500ms sont respectés.
    Le "type" d'événement (A, B, ou C) et la durée sont codés dans un Tableau qui effectue une rotation en anneau.
    La durée est codée en "nombre de périodes" (ici 500ms)
    exemple "10239"
    10239:10000 = 1, reste 239
    1 est l'événement "A" ("B"=2,"C"=3)
    239 ... 239 x 500ms = 119,5 sec = 2min - 500ms .... le dernier pulse pour arriver à 2min étant le pulse "C".
    Tu dois placer la commande de tes événements dans la structure case.
    PS:
    la boucle "While" sert uniquement à "éteindre" les Leds pour générer un flash. (simulation des commandes)
    Si tu supprimes cette While, tu peux enlever le shift-registre qui contrôle la tempo et placer cette tempo (500ms) en constante sur la structure event.
    il est 2hrs du mat, le cerveau un peu dans la colle, mais ça cevrait être bon.
    Le snippet est en LV2013, le vi joint en LV2010.
    Avec ce code, tu peux modifier ta séqeunce et le nombre d'événements différents comme tu veux ...
    suffit de modifier les infos dans le Tableau.
    Pièces jointes :
    flagada_1.vi ‏13 KB

  • Il est impossible de lire le fichier « iTunes Library.itl » car il a été créé à l'aide d'une version plus récente d'iTunes, Il est impossible de lire le fichier « iTunes Library.itl » car il a été créé à l'aide d'une version plus récente d'iTunes

    Il est impossible de lire le fichier « iTunes Library.itl » car il a été créé à l’aide d’une version plus récente d’iTunes
    je fait quoi maintenant

    Download iTunes from the Apple web site (do not use Software Update) and re-install.

  • Calcul RMS d'un signal à l'aide d'une fenêtre temporelle rectangulaire à décaler

    Bonjour !
    D’un signal (sinus par exemple), j’ai besoin de calculer la valeur RMS, avec une durée d’intégration de 1 ms, à l’aide d’une fenêtre rectangulaire. Cette simple fenêtre rectangulaire (pas Hann, ni Kaiser, etc.) doit avoir un décalage de 25%. Autrement dit, au lieu de considérer des fenêtres sur des intervalles consécutifs de 1ms, on considère la première fenêtre de 1 ms d’intervalle, on se décale de 25% (de la taille de la fenêtre) et on reconsidère un intervalle de 1ms (donc 75% du premier intervalle sont superposés), et ainsi de suite.
    Si quelqu’un peu m’aider, toute piste est la bienvenue.
    Merci d’avance.
    Résolu !
    Accéder à la solution.

    Bonjour, as-tu du code exemple à nous proposer pour t'aider? Le scan rate est-il fixé?
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Comment stopper l'envoi de sms vers  447786205094?

    Bonjour,
    Depuis quelques semaines, mon iPhone5, envoie des SMS vers le numéro +447786205094 qui me sont facturés par mon fournisseur Mobistar 0,37 € le message.
    Pourriez-vous m'indiquer comment stopper l'envoi de ces sms?
    Merci d'avance car cela devient très très désagréable!

    Je ne voix pas en quoi cela peut résoudre mon problème en effet, si je prends pas exemple le fait que de mettre en route mon système 10 fois commence à le faire ramer. Si je rafraichis moins, je vais perdre en précision et au bout de 30 cycles j'aurais toujours ce même. Cette solutio ndécalle uniquement mon problème, cependant je veux le supprimer en vidant les datas ou faire qqch ...

  • Comment creer une interface labview pour simuler une cle hasp

    bonjour,
    je souhaite creer une interface labview pour simuler une cle hasp.
    si quelqu'un sait comment faire je vous remercie d'avance de votre aide 

    Hello,
    Please post this question on the French forums to get a prompt response to your question:
    http://forums.ni.com/t5/Discussions-au-sujet-de-NI​/bd-p/4171
    Regards
    Arham H
    Applications Engineer
    National Instruments

  • Sur une clé usb connectée à une télé, un film HD qui tourne en boucle, comment faire ?

    Bonjour.
    Mon objectif : installer sur une clé usb connectée à une télé HD un film HD qui tourne en boucle. Sans utiliser la visionneuse d'un micro avec sa touche répétition, ou des fonctions propres au téléviseur, etc..mais uniquement à partir de la clé USB.
    Ma vidéo est monté avec after effect, possible avec media encoder ? quel réglage ?
    Merci pour votre aide :-)

    Je suppose que ça dépend de la télé et du lecteur de média (et pas du tout du format du film)… cf How to play videos on loop from a usb flash drive on Samsung tv - YouTube
    Ce que vous stockez sur la clé USB est un simple fichier, sans information précise quand à sa lecture…

  • Ajouter une zone de clic sur une zone de survol

    Bonjour,
    Je voudrais rajouter une zone de clic (pour aller sur une autre diapo) sur une zone de survol.
    Est-ce que c'est possible ?
    Ou rajouter une action (qui renvoit à une diapo) sur la zone de survol.
    Merci de votre aide.
    Sabrina

    J’ai un bouton « ? » en haut à droite de mon module e-learning, avec donc ma
    zone de survol pour indiquer aux participants qu’il s’agit de l’accès à
    un test de connaissance. Je possède la version 5.5. Merci de votre aide.
    I have a button "? "At the top right of my e-learning module, so with my fly
    box to indicate to participants that they are accessing a knowledge test.
    I have a version 5.5. Thank you for your help.
    Sabrina
    De : Lilybiri [email protected]
    Envoyé : vendredi 22 mars 2013 11:46
    À : sabrina2013
    Objet : ajouter une zone de clic sur une zone de survol
    Re: ajouter une zone de clic sur une zone de survol
    created by Lilybiri <http://forums.adobe.com/people/Lilybiri>  in Adobe
    Captivate - View the full discussion
    <http://forums.adobe.com/message/5169457#5169457

  • Est-il possible pour un developpeur de proposer une version bêta d'une application sur l'app store?

    Est-il possible pour un developpeur de proposer une version bêta d'une application sur l'app store?

    Bonjour, vous pouvez trouver les infos concernant la structure évènement ici :
    Loops and Structures : http://zone.ni.com/devzone/devzone.nsf/webcategories/E27D46969B82A7FD86256A23005B6947
    Plus précisément dans :
    - Event-Driven Programming in LabVIEW
    - Use the Event Structure in LabVIEW to Capture a Panel Close Event
    - Inside LabVIEW : Event-Driven Programming
    N'hésitez pas à me dire si cela répond à votre besoin.
    Cordialement
    Nicolas François
    National Instruments France

  • Bonjour jai recu un iphone 4S je suis aller sur itune enregistré mon nouvelle appareil et jai fait une restauration a partir d'une sauvegarde  jai recu tout mes apps mes je ne peut avoir mes sonnerie

    bonjour jai recu un iphone 4S je suis aller sur itune enregistré mon nouvelle appareil et jai fait une restauration a partir d'une sauvegarde  jai recu tout mes apps mes je ne peut avoir mes sonnerie

  • Comment inclure un dessin à la place d'une moitié de lettre dans une signature ?

    Bonjour,
    Je cherche à changer les "B" comme ceci :
    "BamBoo"
    Changer les "B" ou plutôt la barre verticale du B en forme de dessin d'un authentique Bambou telle la tige d'un bambou.
    Ainsi cette tige remplacerait juste la barre du B et non la lettre B entière
    PS : ce mot servirait utltérieurement de signature répétitive.
    Merci

    Dans InDesign, vous pouvez utiliser un script pour créer une police personnalisée avec une image grâce au script de Theunis de Jong (Jongware).
    La version de démo vous permet de créer 1 caractère. Ce qui serait suffisant pour vous.
    http://www.indiscripts.com/post/2012/06/indyfont-build-opentype-fonts-from-within-indesign
    Ensuite, vous pouvez utiliser cette police OpenType dans tous les programmes.
    Si vous voulez l'utiliser dans InDesign, avec les styles de paragraphes et la fonction de style GREP, votre texte BamBoo serait alors formaté automatiquement à chaque fois que vous entrez ce mot.

  • Je suis débutant,j​e veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci

    je suis débutant,je veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci  

    abdelkhalk wrote:
    je suis débutant,je veus savoir comment commander moteur pas à pas avec labVIEW via la carte NI UMI-7764 merci  
    Pour commander un moteur pas à pas il faut également un controleur (NI-7330,7340 ou 7350) et un driver. Les controleurs NI viennent avec la librairie Motion I/O qui contient les VIs qui permettent de controler le moteur.
    Ben64

  • Bonjour, j'ai besoin d'aide pour une activation de license

    Bonjour,
    Je cherche une aide par chat pour activer ma License sur INDSGN CS5.5

    Bonjour Francine,
    Il n'y a pas de numéros de série pour les logiciels de la Creative Cloud. On se sert de son Adobe ID (identifiant + mot de passe) pour se faire reconnaitre, et si jamais on n'y arrive pas tout de suite on a 30 jours le faire.
    Sinon, c'est au Service clientèle qu'il faut s'adresser, ici c'est un forum d'utilisateurs.
    Le service de Chat est très réactif : http://www.adobe.com/fr/company/contact.html

  • Filtre numérique à l'aide d'une équation récurrente dans FPGA

    Bonjour à tous,
    Je souhaite implémenter un filtre numérique dans un FPGA (Virtex-II à 1 million de portes logiques).
    Pour cela j'ai calculer mon équation récurrente qui est : S(n) = (1/b0)*[a0.E(n) + a1.E(n-1) + a2.E(n-2) - b1.S(n-1) - b2.S(n-2).
    Je me suis dis qu'implémenter cette équation serait facile avec les registres à décalages mais finalement j'ai plutôt un problème avec le format des datas.
    En effet, les coefficients calculés sont très petits. Par exemple a0 = 0,01226993865.
    Et donc en utilisant le format FXP (virgule fixe), je dois mettre le format <+/-,39,2> : [-2,000000E+0 , -2,000000E+0]:7,275958E-12  , pour avoir la résolution adéquate à mes coefficients.
    Le problème c'est que lors d'une multiplication, le nombre de bits "word length" (39 dans mon exemple) et "integer word length" (2) est doublé...
    Avec un maximum de 64bits pour le "word length", j'atteins vite la limite...
    Avez-vous une idée pour la mise en oeuvre de ce filtre ?
    Une astuce à utiliser pour manipuler des nombres très petits dans un FPGA ?
    Benjamin
    Résolu !
    Accéder à la solution.

    Bon, voilà comment j'ai fais :
    Depuis mon controleur, je multiplie par 2^15 mes coefficients puis je les envoie dans mon FPGA.
    Et dans mon équation récurrente sur FPGA, je multiplie ma sortie par 2^(-15) !
    Et le tour est joué !

  • Afficher le temps d'attente à l'aide d'une barre de progression

    Je cherche à afficher un temps d'attente sous la forme d'une barre de progression.
    Pouvez vosu m'aidez ?

    Salut,
    Jette un oeil ici et là
    A+
    Mathieu Steiner, Test System Engineer, Safran Engineering
    CLD, ISTQB

Maybe you are looking for