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

Windows Forms Discussion :

[VB 2005] Pilotage d'un dôme via le port COM en Visual Basic


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [VB 2005] Pilotage d'un dôme via le port COM en Visual Basic
    Bonjour,

    Voilà, je veux envoyer des commandes PTZ(zoom, gauche...) à une caméra via le port COM, ces commandes ont une structure spécifique :
    une commande est composée de 7 octets sous forme héxadécimale.

    Un exemple de message : FF 01 88 00 00 00 89.

    J'utilise un objet SerialPort, pour créer et ouvrir le port COM1 j'appelle la méthode My.Computer.Ports.OpenSerialPort(portName ,baudRate ,parity ,dataBits ,stopBits), ensuite je lui envoie un message avec la méthode com1.WriteLine(message).

    Mais le problème c'est qu'on envoie une chaîne et pas des valeurs hexadécimales et c'est la seule méthode que j'ai trouvé permettant d'envoyer des informations à un objet SerialPort.

    Alors, est-ce-que quelqu'un a une solution pour envoyer des données héxadécimales vers un port COM?

    Merci à tous!

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [VB 2005] Pilotage d'un dôme via le port COM
    Bonjour,

    A ce que je vois personne ne peut m'aider, c'est dommage. Je trouvais que ce problème pouvait en intéresser plus d'un, pouvoir piloter une caméra à distance ou tout autre dispositifs pilotable via visual basic 2005.

    Peut être que je n'ai pas été assez précis :

    J'éssaie de créer une petite application pour contrôler une caméra fonctionnant avec un protocol PELCO D RS422/485.

    Pour ce faire je dois envoyer des données au port série grâce à un adaptateur RS232/RS422.

    Mais ces données doivent avoir un format bien précis, vouv vous en doutez :
    exemple : FF, 01, 88, 00, 00 , 00, 89

    Il s'agit de 7 octets sous forme héxadécimale, actuellement j'ai écris un code pour pouvoir envoyer un tableau de 7 octets à un port en série et cela par diverses méthodes mais aucune ne fonctionnent, quelqu'un aurait la solution à mon probléme?

    Voici un de mes codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Imports System.IO.Ports
    Imports System
    Imports System.Collections
     
    Public Class Form2
     
        Sub GetSerialPortNames()
            ' Show all available COM ports.
            For Each sp As String In My.Computer.Ports.SerialPortNames
                ListBox1.Items.Add(sp)
            Next
        End Sub
     
    	Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            	GetSerialPortNames()
        	End Sub
     
     
        Sub SendSerialData(ByVal data1 As Byte(), ByVal data2 As Byte())
            ' Send bytes to a serial port.
            Using com1 As IO.Ports.SerialPort = _
                    My.Computer.Ports.OpenSerialPort("COM1", 4800, Parity.None, 8, StopBits.One)
                If com1.IsOpen Then
                    MsgBox("port opened")
                    com1.Write(data1, 0, 7)
                    com1.Write(data2, 0, 7)
                    MsgBox("message sended")
                    com1.Close()
                    MsgBox("port closed")
                Else
                    MsgBox("port closed")
                End If
            End Using
        End Sub
     
     
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim adresse As UInteger = 1
            adresse = Byte.Parse((adresse).ToString())
            Dim b As Byte() = New Byte() {&HFF, adresse, &H0, &H4, &H0, &H20, &H26}
            Dim c As Byte() = New Byte() {&HFF, adresse, &H88, &H0, &H0, &H0, &H89}
            SendSerialData(c, b)
        End Sub
     
     
    End Class
    merci!

    PS: pour d'autres informations telles que le fonctionnement de protocole ou le format des messages à envoyer ou quoi que ce soit, n'hésitez pas contactez moi!

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,

    Vous m'avez oublié ou c'est que personne n'a la moindre idée pour me donner un coup de main?

    Merci.

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Je pense que personne ne sait.

    Quant à l'intérêt de piloter qqch via le port série, bah.... franchement.... y'a pas de port série sur mon ordi Et vu l'ampleur que prend l'USB, je comprend que ça n'intéresse pas grand monde, contrairement à ce que tu penses.

    Voilou, dsl de pas pouvoir t'aider.

Discussions similaires

  1. Problème de connection via un port COM
    Par flamme34 dans le forum Périphériques
    Réponses: 0
    Dernier message: 06/11/2013, 15h58
  2. port serie sur visual basic 2005
    Par zentro dans le forum Framework .NET
    Réponses: 8
    Dernier message: 20/03/2008, 15h32
  3. [DOS] Transfert de texte via liaison port COM
    Par Dayssam dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/01/2008, 14h01
  4. Réponses: 1
    Dernier message: 29/03/2006, 11h05
  5. Pilotage de Word - Publipostage via BDD Firebird
    Par nonoxp dans le forum Bases de données
    Réponses: 1
    Dernier message: 06/04/2005, 09h30

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