Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Programme de liaison RS232 avec Visual Basic 2010



  1. #1
    Rendar

    Programme de liaison RS232 avec Visual Basic 2010


    ------

    Bonjour,
    je cherche à créer une liaison entre un pc et
    un automate via le RS232.Pour cela j'ai trouvé ces sites:
    http://grafikm.developpez.com/portcomm/
    et
    http://cherbe.free.fr/rs232.html

    Dans leur programme, ils mettent:
    MSComm.CommPort=1
    MSComm... etc...

    Voilà mon problème:
    J'ai installé Visual Basic 2010 (à défaut d'avoir la version 6.0 comme ils le demandent), et dans cette version il n'y a pas MSComm mais axMSComm.Je voudrais savoir quel est la différence entre les deux et que doit-je faire pour que ça marche (car j'ai essayé de le faire fonctionner et c'est pas concluant le test: seule la fenêtre s'ouvre et rien ne se passe...)

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    Bigonoff

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Salut
    ------

    J'ai installé Visual Basic 2010 (à défaut d'avoir la version 6.0 comme ils le demandent), et dans cette version il n'y a pas MSComm mais axMSComm.Je voudrais savoir quel est la différence entre les deux
    En fait le seul point commun c'est la base du langage: basic.

    VB6, c'est du visual basic destiné à générer du code exécutable natif. Il est évènementiel mais pas objet.

    VB2010 c'est intégré à Visual studio, et c'est du basic dotnet. C'est un langage orienté objet et le code produit est du code semi-compilé destiné à tourner sur une plateforme virtuelle framework dotnet ou Mono.

    Passer de Vb6 à Visual basic dotnet nécessite de réécrire l'intégralité du programme, on ne programme pas de la même façon dans les deux langages.

    A défaut de te procurer VB6 (obsolète maintenant), ton exemple ne te servira à rien du tout.

    A+
    Bigonoff
    Vive l'Internet libre

  5. #3
    simon.

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Bon j'ai fait un peu d’archéologie dans mes archives et trouvé ça:

    Code:
    Public Class Form1
        Dim WithEvents serialPort As New IO.Ports.SerialPort
        
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
            Try
                With serialPort
                    .PortName = "COM1"
                    '.BaudRate = 38400
                    .BaudRate = 9600
                    .Parity = IO.Ports.Parity.None
                    .DataBits = 8
                    .StopBits = IO.Ports.StopBits.One
                    .Handshake = IO.Ports.Handshake.None
                    ' .Encoding = System.Text.Encoding.Unicode
                End With
                serialPort.Open()
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            serialPort.Write("I0000i")
        End Sub
    Bon, ca ne dit pas comment lire depuis le port série.
    (Et c'est du VB2005, mais ca devrait pas changer grand chose)

  6. #4
    amoniaque

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Hello,

    Si tu veux j'ai fait un petit logiciel en VB.net (sous VS 2010) il permet de gérer l'ouverture et la communication (écriture et lecture sur le port) , il a un screen shot sur cette page : http://forums.futura-sciences.com/el...ic16f628a.html.

    Si ça t’intéresse je peux t'envoyer le projet par mp.

  7. A voir en vidéo sur Futura
  8. #5
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Pour commencer merci à tous pour vos réponses,ça fait une semaine que je cherche des topics sur un programme de liaison RS232.

    Simon, je viens de copier ton programme sur visual et il y a juste un problème sur ton dernier private sub:

    Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            serialPort.Write("I0000i")
        End Sub
    Sur ton Handles,le debuger demande une variable WithEvents et bug avec Button1.Click. Tu peux m'expliquer ce que ça veut dire en gros ^^?et si je supprime ce morceau ça marcherait?

    Merci pour ta lanterne bigonoff, ça me permet d'être moins à la ramasse là parce que je savais plus différencier visual basic et visual studio à force . Donc ça veut dire que axMSComm c'est la même chose que MSComm mais adapter pour du basic dotnet?

    Et amonique (sympa le pseudo) je veut bien ton programme en C mais le souci c'est, est-ce que ça sera compatible avec un PC? Parce que ma liaison est géré par le pc et l'automate attend juste constament une instruction du PC pour répondre(et que je ne doit pas toucher à l'automate aussi.

  9. #6
    amoniaque

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Citation Envoyé par Rendar Voir le message
    Et amonique (sympa le pseudo) je veut bien ton programme en C mais le souci c'est, est-ce que ça sera compatible avec un PC? Parce que ma liaison est géré par le pc et l'automate attend juste constament une instruction du PC pour répondre(et que je ne doit pas toucher à l'automate aussi.
    Hello,

    En C ? Tu es sûr ? Car la seule chose que j'ai en C c'est le code du micro-contrôleur.

    Tu parles peut être du code VB.net ?

    Pas de soucis pour le code, il suffit que tu saches exactement quelles trames tu dois envoyer à l'automate (tu devrais avoir la documentation non ?) et à toi de modifier mon programme VB.net pour que tu envois les bonnes trames au moment voulu.

  10. Publicité
  11. #7
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Citation Envoyé par amoniaque Voir le message
    Pas de soucis pour le code, il suffit que tu saches exactement quelles trames tu dois envoyer à l'automate (tu devrais avoir la documentation non ?) et à toi de modifier mon programme VB.net pour que tu envois les bonnes trames au moment voulu.
    J'ai ce qu'il faut pour les trames à envoyer mais je sais pas comment les envoyer ^^(c'était le début de mon stage car les fournisseurs n'avait pas voulu envoyer les docs donc je me suis débrouillé seul pour trouver les trames XD). Oui je veux bien ton programme en VB.net, ça m'arrangera énormement.
    Merci.

  12. #8
    ftorama

    Re : Programme de liaison RS232 avec Visual Basic 2010

    En VB, tu as un composant port série dans les composants par défaut. Tu le glisses sur ta fenêtre, tu le configures par l'inspecteur d'objet, et tu choisis dans les onglets évènements ceux auxquels tu veux réagir.

    A moins d'écrire une application console, il n'y a aucun intérêt à passer par la méthode à la main, surtout en phase de tests

  13. #9
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Au final j'ai supprimé ce private sub et j'ai gardé le main(load) pour faire un serialport.write et ça a marché avec hyperterminal et deux PC.Mais serialPort.write gère bien le code hexa?
    Ce que je veux dire:
    si je marque : serialPort.write ("A2 0D")
    l'automate comprendra que c'est de l'hexa?(ici A2 0D)

  14. #10
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Je viens de faire le test et il fait de la traduction Ascii en hexa, c'est pas bien grave tout ça ^^. grace au programme d'amoniauqe je devrait sans problème faire la réception et ainsi finir mon projet de stage .
    Merci à tous pour votre aide, je vous tiens au courant si la réception a un souci .

  15. #11
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    J'ai un souci avec le faite que write (02) envoi 50 en hexa à cause de l'ascii(même si par hyperterminal on peut lire 02, mon automate ne comprend que l'hexa et par l'ascii).
    je pense que je peux modifier le faite qu'il traduise ce que je marque en ascii et le mettre en hexa mais je sais pas vraiment comment faire ^^'. Est-ce qu'il existe une autre fonction que Write (qui renvoit du texte ascii) qui lui renvoirai direct l'hexadecimal écrit?
    Bonne journée.

  16. #12
    ftorama

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Citation Envoyé par Rendar Voir le message
    J'ai un souci avec le faite que write (02) envoi 50 en hexa à cause de l'ascii(même si par hyperterminal on peut lire 02, mon automate ne comprend que l'hexa et par l'ascii).
    je pense que je peux modifier le faite qu'il traduise ce que je marque en ascii et le mettre en hexa mais je sais pas vraiment comment faire ^^'. Est-ce qu'il existe une autre fonction que Write (qui renvoit du texte ascii) qui lui renvoirai direct l'hexadecimal écrit?
    Bonne journée.
    Ce que tu racontes n'a ni queue ni tête. Si tu envoies 02, tu dois lire 0 et 2 sur le port série.

    Si tu lis 50, c'est que tu écris le caractère 2.

    L'hexa n'est qu'une façon de représenter les données, et pas un format. Tu mélanges joyeusement un peu tout avec le résultat que tu vois. Si tu as F5 à envoyer, write(0xF5) devrait fonctionner, point-barre.

  17. Publicité
  18. #13
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Je me suis mal exprimé.
    Si tu préfères quand tu écris "serialPort.write (2)" tu peux lire sur hyperterminal 2, mais en vérité il reçoit en hexa 32 qu'il traduit par 2.
    Ce que je cherche à faire c'est que lorsque je tape serialPort.write (02), je veux que le programme envoi en vérité en hexa 02 et non 32.
    D'après la table ASCII la valeur 02 en Hexa est traduit par STX en ascii, j'ai essayé de marquer write STX mais ça ne marche pas.
    C'est pour cela que je demandais s'il n'existe pas une fonction qui me permettra d'envoyer 02 sur la liaison rs232 et pas 32^^

  19. #14
    Rendar

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Bonjour à tous,
    hier, un ami m'a donné un lien expliquant comment faire pour envoyer des valeurs en hexa et non en ascii:

    SerialPort.write (chr(02)), ça permet d'écrire le caractère ascii qui a la valeur 02 en hexa (c'est STX sur la table ASCII).

    Pour ceux que cela interesse voilà le lien:
    http://forums.futura-sciences.com/el...ees-rs232.html
    Bonne journée à tous

  20. #15
    coolilias

    Re : Programme de liaison RS232 avec Visual Basic 2010

    bonjour
    c'est vraiment très intéressante cette conversation,
    j'ai un projet c'est de connecté un équipement de mesure avec un ordinateur via cable RS232, et de realisé l'interface graphique aussi,
    pour ce la merci Mr SIMON de m’envoyai tout ton code pour l’exécuté car il vas bcp m'aidé.
    voila mon mail ####Adresse mail supprimée en respect de la charte#####
    merci d'avance
    Dernière modification par Tropique ; 14/05/2012 à 08h48. Motif: Suppression d'adresse mail

  21. #16
    MlleAsmae

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Salut,
    Svp ; j'ai besoin d'aide ; Je veux effectuer une communication entre Automate de type schneider , siemens , Rockwell avec une application développé en visual basic et ceci sans utiliser un interfacage software ( par exemple les OPC) ; l'application vb doit recevoir et envoyer les données directement ; c'est urgent
    si vous permettez je vx une réponse dans le plutot possible .

  22. #17
    conjunto

    Re : Programme de liaison RS232 avec Visual Basic 2010

    Bonjour a tous. Amonique, pourrai je avoir le code aussi, svp ? merci bien.

  23. #18
    blanc22

    Post Re : Programme de liaison RS232 avec Visual Basic 2010

    bonsour j ai une conexion serie Rs422 ou RS232 entre mon application developé vb.net et une tableau d'affichage officiel de handball oubien une carte stm32 !! merci de m envoyer vos code de transmission et reception serie je travaialle sur visual studio 2010!! merci d avance c est interessant forum vraiment .

  24. Publicité
  25. #19
    blanc22

    Unhappy Re : Programme de liaison RS232 avec Visual Basic 2010

    merci d m envoyer ce code Mr Simon .. les autres Merci aussi de m envoyer d code pareil pour la comunication serie !!

Discussions similaires

  1. problème dans mon mini projet développé en visual basic express 2010
    Par bamboutchatunisiano dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 25/04/2011, 18h18
  2. Programme entre Visual Basic et logiciel Arduino
    Par uzunmaki dans le forum Électronique
    Réponses: 39
    Dernier message: 26/03/2010, 14h58
  3. Réponses: 1
    Dernier message: 31/03/2009, 09h45
  4. programme visual basic, regulation PID
    Par guidance dans le forum Électronique
    Réponses: 3
    Dernier message: 01/05/2008, 22h45
  5. Problème avec visual basic
    Par KHEOPS1982 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 14/08/2004, 00h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.