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

VB 6 et antérieur Discussion :

[VB6] Probleme communication Port série


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut [VB6] Probleme communication Port série
    Bonjour,
    Je communique avec un automate via le port série de mon PC avec le control MScomm32.ocx.
    J'ai un probleme avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub lecture() 'Verification que le mot à été transmis à l'automate
    tampon = ""
    instant = Now
    Do
    DoEvents
    timeout = DateDiff("s", instant, Now)
    Loop Until InStr(tampon, "OK") Or timeout > 10
    If timeout > 10 Then
    MsgBox ("problème de timeout ")
    End If
    End Sub
    J'ai toujours mon message d'erreur qui s'affiche alors que dans mon tampon j'ai bien "OK" qui s'y trouve, en ASCII.
    Est ce que qqun voir le probleme ??
    Merci

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et si tu modifié ta ligne de test avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Loop Until InStr(TAMPON, "OK")>0  Or timeout > 10
    au cas ou OK ne soit pas au début de ta chaine...

    PS : Tant que tu est dans les modifs... modifie le titre du post .. en le "taggant" avec le tag qui convient [VB6],[VBA-E] ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut Toujours pas
    Non ça ne marche pas.
    Mais Loop until, je sais que cela sert à arreter la boucle,
    Mais instr c'est compatible avec le MScomm ??
    Sinon faut que j'envoi à l'automate une instruction pour lui dire d'arreter son envoi. mais sans LOOP until ...

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    eu... inStr permet de connaitre la position d'une chaine dans une autre...

    sinon comment est mis à jour ta variable tampon...? ou as tu mis cette partie de code..du genre Tampon = MScom.Input.. ?


    As tu consulter le tutorial relatif au mscom :
    http://grafikm.developpez.com/portcomm/

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    voila comment j'obtiens mon Tampon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub MSComm1_OnComm() 'Port en communication
    Select Case MSComm1.CommEvent
            Case comEvReceive 'Cas ou le port Reçoit des données
                'l'input est 1 caractere donc on va a chaque
                'envoi de caractere créer un tampon qui stocke les
                'données
            tampon = MSComm1.Input
     
          End Select
    End Sub

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu nous montre pas ou tu déclare ta variable tampon ...(Dim...) elle est bien globale et donc commune au 2 boucles..?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Oui je l'ai mis dans le (général) ; (déclaration)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim tampon, port As String
    Dim instant
    Dim timeout

  8. #8
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    dans tous les cas, tu n'auras jamais "OK" dans tampon avec
    tu aurais plus de chance avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tampon = tampon & MSComm1.Input
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 28
    Points
    28
    Par défaut Merci Beaucoup
    Merci beaucoup pour votre aide,
    j'ai bidouiller un peu et nottament ce que vous m'avez signalé et ça à l'air de fonctionner.
    Merci et bonne nuit à vous 2.

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

Discussions similaires

  1. communication VB6.0 et port série
    Par jleil dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/05/2008, 14h13
  2. Communication port série (RS232) avec VC++
    Par sanatou dans le forum Visual C++
    Réponses: 2
    Dernier message: 30/10/2006, 13h49
  3. Communication Port Série Internet
    Par psyckey dans le forum Hardware
    Réponses: 3
    Dernier message: 29/09/2006, 19h37
  4. Communication port série W2000/W98
    Par Fabsou dans le forum MFC
    Réponses: 4
    Dernier message: 24/10/2005, 19h57
  5. probleme de communication port série
    Par ben23 dans le forum MFC
    Réponses: 8
    Dernier message: 06/02/2004, 15h12

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