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

MATLAB Discussion :

Connection port RS232


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Connection port RS232
    Bonjour,
    je veux connecter un boitier de mesure avec matlab via le port RS232 pour lire différentes mesures de tention.
    je suis débutant sur matlab j'ai essayé quelques petits programmes mais ça n'a pas voulu marcher je vous serai reconnaissant de m'aider Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pourrait-on savoir ce qui n'a pas marché, et les erreurs éventuelles?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    voici le programme que j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    s = serial("COM1"); %peut etre "COM2",ou "COM3" sa depend du port choisi
     
    set(s,'BaudRate',"19200");%La vitess du transmision sa depend de tn choix 1200 2400 4800 9600 14400 19200 38400 57600 115200
     
    set(s,'InputBufferSize',2);
     
    fopen(s) %Ouvrire le port serie
     
    u=fread(s,1,'int16'); lecture 
     
    fclose(s) % pour fermer le port

    l'erreur qu'il m'affiche est :
    Warning: The specified amount of data was not returned within the
    Timeout period. 
    
    u =
    
    Empty matrix: 1-by-0

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    Au vue de l´erreur retournée par Matlab la lecture a tout simplement échoué, ce qui signifie implicitement que la connexion a réussi, c´est déjà ca !
    Maintenant quel est le type d´appareil de mesure que tu utilises ? Regarde dans la documentation technique de ce dernier si il n´existe pas des commandes prédéfinies pour faire ce que tu souhaites.

    Je te donne un exemple dans mon cas si je veux mesurer un des ports de mon oscilloscope je dois rentrer 2 commandes pour lire un port :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fprintf(s,'ma commande ?')
    data = fscanf(s,'%s');
    PS : Pense quand même à vérifier sur quel port COM est connecté ton appareil : Control panel/System/Hardware/Device Manager (sous XP)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci de votre réponse j'ai trouvé le programme qui convient a mon probleme mais mnt j'ai un autre soucis c que Matlab m'afiche mon résultat de la tension mesurée sous forme d'une trame (en code ascii) mais moi je veux lire sa valeur réelle. pour une valeur de 2 volts sur CANAL1
    ~00012F202300400500600700800900:00;00
    et pour CANAL1 la valeur concernée est: 2F202
    normalement 2F202=2volts
    la question est comment décoder ceci ?
    merci

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    A mon avis il doit y avoir un moyen plus simple que d´essayer de 'décoder' ce string.
    Encore une fois c´est dans la documentation technique de ton appareil que tu trouveras les commandes adéquat, normalement tout doit être indiqué dedans.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Salut, je ne sais pas si tu as trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            s = serial('COM1');
            s.BaudRate = 115200;
            fopen(s);
            [C,A] = fread(s,1024,'uint8');
            fclose(s);
            for i=1:size(C)
            DATA(i) = uint8(C(i,1));
            end

Discussions similaires

  1. Connection automatque sur un port RS232
    Par kayri dans le forum C#
    Réponses: 1
    Dernier message: 21/03/2012, 16h46
  2. lecture/ecriture des broches RTS/CTS du port RS232
    Par .:: sly51 ::. dans le forum C
    Réponses: 3
    Dernier message: 24/10/2006, 15h28
  3. Port RS232
    Par jcharles dans le forum Composants VCL
    Réponses: 25
    Dernier message: 14/06/2005, 23h04
  4. Lecture port RS232
    Par hamster dans le forum MFC
    Réponses: 9
    Dernier message: 07/06/2005, 14h38
  5. Port RS232 et chargement d'un soft
    Par chrisis dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 20/05/2005, 13h22

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