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 :

[LabView 8.2 / WinXp] Synchro série


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut [LabView 8.2 / WinXp] Synchro série
    Bonjour,

    Voila ce que je veux faire :

    + Lire une trame 'A' sur port série, ne rater aucune trame, à 9600 Bds, toutes les N miliisecondes avec N1 variant de 500 à 3000ms.

    + Lire une trame 'B' sur port série, ne rater aucune trame, à 4800 Bds, toutes les N millisecondes avec N2 variant de 300 à 2000ms.

    + Ecrire dans un fichier texte les valeurs qui m'intéressent dans ces deux trames

    + Afficher deux booleens pour controler graphiquement l'etat de chaque reception.
    -----------------------
    Voila ce que j'ai fait : je déclenche une lecture de la trame 'A' avec un VISA config, VISA Read et VISA Close , Je commence a decouper ma trame si l'entête de cette trame est correcte, je recupere les valeurs qui m'interessent et je lance une lecture (de la meme facon) de la trame 'B', si l'entete est correct, alors la seulement j'ecris dans mon fichier texte de sortie. Ca marche tres bien , mais ca demande un reglage fin des timeouts de mes lectures SERIE et de mon temps de boucle général, en fonction de la taille de mes trames et en fonction de N1 et N2.

    J'ai regarder ds les exemples, j'ai vu des VIs qiu gere les evenements sur ports series ..

    Est ce que l'un d'entre vous a deja utiliser ces VIs, pensez vous que je peux m'en sortir avec ca ? Quel est selon vous la meilleure solution .?

    ++, et merci ..

    unlucky

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Ou si vous avez un tutorial a me conseiller .. ?!

    ++

  3. #3
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Hello,
    Ce genre de problème est sensé être évité a l'aide des buffers associés a chaque port COM.

    Sinon, tu peux lire en permanence le buffer, récupérer ce qu'il y a dedans ( 1 ou plusieurs octets) avant de reconstituer ta trame et de la traiter.

    A+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    HEllo,

    Ouais mais c'est justement mon soucis, ou je choisi d'aller lire mes buffers (donc le vider) et apres le traitement dans un deuxieme temps .. mais encore faut il savoir qd aller lire (donc savoir tous les combien arrivent mes trames ) ou alors je ne m'occupe de rien pis je vais lire qd mon buffer est plein ou quand je recois un evenement decriture..

    J'avance un peu plus .. et je reviens ..

    ++

  5. #5
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    pour moi, il faut que tu lise en permanence ton buffer pour y lire des bout de trame que tu devra reconstituer avant de les gerer.

    C'est le mieux a faire etant donner que ta base de temps n'est pas stable.
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Re,

    Ok je vais essayer mais n y'a t il pas une solution par interruption genre

    "des que le caractere recu est CRLF" apres je lance une lecture
    ou
    "des que le buffer est plein" apres je lance une recherche de caraterre CRLF et je recupere la sous chaine precedente ..

    J'ai vu dans les "VISA config" le caractere de terminaison ca marche pas ..

    Dans VISA/VISA Avancé/Manipulation d'evenements tu crois que je pourrais m'en sortir avec ca ???

    Merci ++

    Unlucky

  7. #7
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    desolé mais je n'ai jamais cette methode.
    Par contre, la mienne fonctionnait pas trop mal
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

Discussions similaires

  1. [LV 8.6] Labview, port série et carte Technosoft
    Par ptit_knard dans le forum LabVIEW
    Réponses: 3
    Dernier message: 27/07/2010, 11h52
  2. [LabVIEW 7.1] Erreur port série
    Par Meuphis dans le forum LabVIEW
    Réponses: 2
    Dernier message: 06/05/2009, 08h13
  3. Réponses: 4
    Dernier message: 20/04/2009, 19h49
  4. [LabVIEW 7.1] Synchro entre pg carte DAQ PCI et carte GPIB
    Par Pierre13Th dans le forum LabVIEW
    Réponses: 0
    Dernier message: 21/07/2008, 11h29
  5. Réponses: 1
    Dernier message: 28/11/2007, 17h44

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