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

Réseau .NET Discussion :

Communication Modbus TCP


Sujet :

Réseau .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut Communication Modbus TCP
    Bonjour à toute la communauté.

    Je poste ce message car je suis face à un soucis.
    J'ai en ma disposition un automate Wago sur lequel est connecté un capteur tout ou rien.

    J'aimerai développer un programme en vb.net qui viendrait lire l'information du capteur (mon pc est relié via un câble Ethernet sur le module Wago).

    J'aimerai connaitre les fonctions que je dois utiliser pour pouvoir envoyer une requète à mon module Wago (je connais le format de la trame) et ensuite attendre la réponse de mon module Wago et en fonction de la réponse que j'aurais soit je refait une lecture sur le module Wago ou j'effectue le traitement de l'information.

    J'aimerai pouvoir utiliser les socket qui sont disponible dans le framework v2.0 (enfin il me semble qu'il y en a ).

    Pouvez-vous me donner des informations sur les sockets car je patauge vraiment sur ce problème.

    Merci d'avance des réponses que vous allez me faire.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par K3naton Voir le message
    J'aimerai pouvoir utiliser les socket qui sont disponible dans le framework v2.0 (enfin il me semble qu'il y en a ).
    Et même dans .NET 1.0


    Tu as un article ici sur l'utilisation des sockets (c'est en C#, mais à part la syntaxe ça fonctionne pareil en VB.NET)

    Sinon, tu peux éventuellement utiliser les classes TcpClient ou UdpClient, c'est plus facile que de manipuler directement les sockets (en supposant que la communication se fasse bien en TCP ou UDP bien sûr)

  3. #3
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Salut,

    J'avais développé une petite classe permettant une communication ModBus TCP il y a quelque semaine.

    Voici quelques méthodes qui, je pense, pourront t'aider:
    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
    49
    50
    51
    52
    53
    54
    55
    56
    Imports System.Net.Sockets
     
    Public Class ModbusTCP
     
        Private Shared instance As ModbusTCP = Nothing
        Private server As String = ""
        Private port As Integer = 0
     
        Private tcpClient As TcpClient = Nothing
        Private networkStream As NetworkStream
        Private connected As Boolean = False
     
        Private Sub New()
     
        End Sub
     
        Shared Function GetInstance(addressIP As String, port As Integer) As ModbusTCP
            If instance Is Nothing Then
                instance = New ModbusTCP
            End If
            Return instance
        End Function
     
     
        Public Sub SetConnection(ByVal server As String, ByVal port As Integer)
            Me.server = server
            Me.port = port
        End Sub
     
     
        Public Function Connect()
            Try
                tcpClient = New TcpClient(server, port)
                networkStream = tcpClient.GetStream()
                connected = True
            Catch ex As Exception
                connected = False
            End Try
     
            Return connected
        End Function
     
     
        Public Sub Disconnect()
            networkStream.Close()
            tcpClient.Close()
        End Sub
     
     
        Private Function ExecQuery(ByVal requestFrame As Byte(), ByVal responseFrame As Byte()) As Byte()
            tcpClient.SendTimeout = 5000
            tcpClient.ReceiveTimeout = 5000
            networkStream.Write(requestFrame, 0, requestFrame.Length)
            networkStream.Read(responseFrame, 0, responseFrame.Length)
            Return responseFrame
        End Function

Discussions similaires

  1. [WD18] Communication Modbus TCP/IP
    Par cid5420 dans le forum WinDev
    Réponses: 8
    Dernier message: 17/07/2017, 19h46
  2. Communication Modbus TCP entre ET200S et M340
    Par hell3 dans le forum Automation
    Réponses: 4
    Dernier message: 02/03/2015, 13h05
  3. [Lazarus] Communication Modbus TCP/IP
    Par Darkcrusade64 dans le forum Lazarus
    Réponses: 3
    Dernier message: 04/06/2014, 11h24
  4. Réponses: 23
    Dernier message: 17/05/2014, 12h08
  5. Communication avec ModBus/TCP
    Par fabou3377 dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2006, 01h49

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