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

LabVIEW Discussion :

Ecriture/lecture avec NI-XNET sur réseau CANOpen avec un module NI 9862


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Ecriture/lecture avec NI-XNET sur réseau CANOpen avec un module NI 9862
    Bonjour,

    je développe un banc d'essai et j'utilise un compact DAQ contenant un module NI-9862. Sur le réseau CAN, il y a le module NI-9862 relié à mon PC et un variateur. J'ai fait un programme (que je mettrai ci dessous en screen) qui a pour but d’envoyer dans un premier temps une trame (Id : 0x608) qui questionne le variateur sur son constructeur (trame que j'ai trouvée dans la doc du variateur), quand il reçoit cette trame le variateur renvoi une trame de réponse (0x588) que j'observe bien sur le "BUS Monitor" de NI-MAX. Cependant quand j'essaye de lire cette trame dans mon programme, je la lis vide.
    Par contre, quand je lance chaque partie (lecture et écriture) du programme dans des VI différents en mettant une boucle sur la lecture, j'arrive à récupérer la trame. Malheureusement ce fonctionne ne me satisfait pas et je souhaiterai pouvoir faire cela de façon séquentielle dans mon programme.

    Merci d'avance pour vos réponses.

    Nom : Diagramme de Sans titre 2.vi.png
Affichages : 1400
Taille : 27,1 Ko

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Détail sur le but de la manoeuvre
    Voici les deux parties de code que j'aimerais faire fonctionner en "parallèle". enfin je ne sais pas si c'est possible de les mettre dans un même VI avec le lecture qui se lance puis l’écriture. Cependant la lecture reste reste bloquée indéfiniment alors que quand les deux parties du code sont dans deux fichier différents,cela fonctionne comme je le souhaite.

    Nom : 2016-09-06 14_48_44-Diagramme de Sans titre 3 (sous-VI).vi.png
Affichages : 1132
Taille : 71,6 Ko

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Dans un premier temps, j'utiliserai une structure événementielle avec deux événements distincts.
    Le premier dans la partie Time out s'assurerait de la lecture de ton CAN. La seconde que tu déclencherais par appui sur un bouton permettrait d'écrire ta trame dans le bus CAN.

    Après, pour un fonctionnement séquentiel, je te conseille de jeter un coup d’œil sur labview et les machines à état. En fait, ta boucle "IF" en Labview, si elle est connectée à un énum prendra pour des valeur des états et non plus des valeurs.

    Voila les deux pistes que je peux te donner.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Merci, je vais essayer de mettre ca en place.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Est ce que j'ai bien fait ma structure événement ? parce que je rencontre le même problème, le programme reste dans la fonction "Lecture" Voici mon programme : Nom : 2016-09-08 10_08_15-Diagramme de Sans titre EV.vi _.png
Affichages : 1153
Taille : 15,0 KoNom : 2016-09-08 10_08_38-Diagramme de Sans titre EV.vi _.png
Affichages : 1230
Taille : 22,5 Ko

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Si tu passes en mode pas-à-pas/débug, est-ce que le programme passe dans la boucle envoi quand tu modifies la valeur du booléen ?

    Au passage, je te conseille de mettre un bouton stop différent du bouton qui te sert à l'envoi, ceci pourrait être source d'erreur.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Quand je suis en mode pas à pas et que j'appuie sur le bouton, cela fait "planter" LabView enfin le logiciel ne répond pas tant que je n'ai pas changé de fenêtre.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut


    De deux choses l'une : ou tu souhaites un mode séquentiel, auquel cas on oublie cette structure événementielle. Ou on débug d'abord cette version là avant de passer à la suivante.

    Déjà, sans mettre en place le système de lecture/écriture des trames, mais en mettant des strings ou quelque chose qui te permette de savoir dans quel cas tu te situe, est-ce que la structure événementielle fonctionne.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Cela m'est égal pour le moment si le fonctionne est séquentiel ou événementiel. Mais étant donné que l'objectif est d'interroger un variateur via le réseau CAN, je dirai que les deux me seront utiles pour la suite du projet.

    La structure événementielle fonctionne si je met des chaines de caractère pour m'indiquer l'état.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    ok. Et si tu remets tes deux boucles dans les deux étapes ? Y a-t-il un mieux ?
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Mes deux boucles ? Si je remets les fonction de lecture/écriture, cela recommence à planter.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Est-ce que tu as pensé à câbler 0 à ton timeout (cf : la doc If the session mode is Frame Output Single-Point, you must set timeout to 0.0. Because this mode writes the most recent value of each frame, timeout does not apply)

    Autre point qui me surprend, c'est que tu crées à chaque fois une session, alors que d'habitude il ne faut en créer qu'une, du moins sur l'ensemble des programmes auquel j'ai été confronté. Idéalement essayes peut-être ceci http://digital.ni.com/public.nsf/all...25761800594631
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

Discussions similaires

  1. Erreur sur kill avec activation macro sur réseau
    Par rousse1 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/03/2015, 09h41
  2. Lecture de signaux ppm sur 4 cannaux avec Arduino
    Par artiom dans le forum Autres systèmes
    Réponses: 0
    Dernier message: 16/07/2012, 14h21
  3. réseau canopen avec M340 et STBNCO2212
    Par CJL131 dans le forum Automation
    Réponses: 4
    Dernier message: 15/07/2012, 08h07
  4. Réponses: 4
    Dernier message: 23/10/2006, 09h09
  5. Ouvrir une fenetre avec l'heure sur écran externe avec X11
    Par jamesleouf dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 20/03/2006, 14h56

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