Communication série/USB [VB 2010 Express]

Signaler
Messages postés
11
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
-
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
-
Bonjour,

Je cherche à réaliser un programme me permettant de récupérer les données d'un multimètre sur un PC à l'aide de VB 2010 express étant débutante sur VB j'éprouve quelque difficultés...
J'ai téléchargé MSCOMM32.ocx mais je ne parviens pas à l'intégrer à VB.
J'ai pour contrainte une liaison série/USB puisque le PC ne dispose pas de port série...
Après de nombreuses recherches je ne parvient pas à résoudre mes problèmes.
Quelqu'un pourrait t'il me donner des exemples de programmes permettant la communication série/USB ou m’aiguiller sur la manière d'y parvenir.

Merci d'avance.

10 réponses

Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
157
Bonjour,

Si tu as un adaptateur USB/RS232, il faut ouvrir le port COM virtuel menant vers l'adaptateur.
Pour voir le port COM, je pense qu'il faut aller voir dans le gestionnaire de périphériques.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
11
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
1
Tout d'abord merci pour votre réponse.

Je dispose d'un adaptateur USB/RS232 cependant je ne sais pas comment ouvrir les ports virtuels
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
157
Bonjour,

En .NET, il y a Io.Ports.SerialPort pour les ports COM.
Sinon, il te faut le numéro de port généré, quels numéros as-tu essayés ?
Quel montage as-tu mis en face pour tester ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
11
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
1
J'ai fait des tests de connections sur les ports mais aucun n'est détecté...
Le PC est directement connecter au multimetre via un cable série/USB.
Auriez vous un exemple de programme utilisant les ports série afin que je puisse comprendre le fonctionnement ?
De plus une autre contrainte se présente est-il pratique de programmer en SCPI avec VB 2010 ?
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
157
Bonjour,

"mais aucun n'est détecté", comment as-tu testé ? (Envoi de trame, boite à LED , ... ou erreur (laquelle ? ))

Dsl, mais je n'ai pas vraiment de programme en stock à ce sujet.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
pour verifier si cela fonctionne bien tout multimetre a un systeme de communication une sorte de ping qui lui est propre

pour ton test tu devrai faire
 
Dim ENQ = chr(5)

  SerialPort1.Open()
        SerialPort1.Write(ENQ)


Normalement sur l'evenement de retour ton multimetre devrai te renvoyer un ACK qui a normalement comme valeur (chr(6))

verifie egalement les bit vitesse et paritée du port com
Messages postés
11
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
1
Merci pour vos réponses.
J'ai finalement abandonné VB pour la communication rs232...
J'arrive désormais à le faire fonctionner grâce à l'hyper terminal, je cherche maintenant une manière d'ouvrir l'hyper terminal et d'y écrire automatiquement via VB.
Quelqu'un aurait une idée ?
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
157
Bonjour,

Oui, System.Serial.IO.Ports.SerialPort.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
11
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
28 avril 2012
1
System.Serial.IO.Ports.SerialPort ne fonctionne pas
ereur : 'Serial' n'est pas un membre de 'system'

Je cherche à écrire automatiquement dans une fenetre (Hyperterminal par exemple), existe t'il des fonctions qui permettent d'écrire de cette manière ?
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 décembre 2021
157
Bonjour,

Cette classe accède au port COM, si tu n'y arrives pas, il faut regarder tout les exemples dispo sur le net.
http://msdn.microsoft.com/fr-fr/library/system.io.ports.serialport.aspx