OVH Cloud OVH Cloud

Communication Modbus

4 réponses
Avatar
Franck
Bonjour,

Quelqu'un a t'il déjà développé une communication dans le protocole
Modbus/Tcp entre VB.net et un automate(schneider) ?
Je suis preneur de toute information !

Merci

4 réponses

Avatar
TroXsA
Bonjour

C'est pas tres connu ce protocol, que cherche tu as faire ?



--
Mail : http://cerbermail.com/?rIXgaw9Xsl
Site : http://planetenova.free.fr/


"Franck" a écrit dans le message de news:
43540a84$0$22014$
Bonjour,

Quelqu'un a t'il déjà développé une communication dans le protocole
Modbus/Tcp entre VB.net et un automate(schneider) ?
Je suis preneur de toute information !

Merci



Avatar
Titeuf
Bien sur que si c'est très connu...dans le milieu industriel !
Ici tu trouveras peut etre un composant pour modbus
http://www.automationcorner.com/menujs.html?index.html


"TroXsA" a écrit dans le message de news:
dj2eou$c04$
Bonjour

C'est pas tres connu ce protocol, que cherche tu as faire ?



--
Mail : http://cerbermail.com/?rIXgaw9Xsl
Site : http://planetenova.free.fr/


"Franck" a écrit dans le message de news:
43540a84$0$22014$
Bonjour,

Quelqu'un a t'il déjà développé une communication dans le protocole
Modbus/Tcp entre VB.net et un automate(schneider) ?
Je suis preneur de toute information !

Merci







Avatar
Cyril
On Mon, 17 Oct 2005 22:33:35 +0200, "Franck"
wrote:

Tu trouveras içi les spécifications ModBus
http://www.nsls.bnl.gov/organization/OpsEng/ElectricalSys/RFSys/PLCinterlocks/openmbustcp.htm

J'ai moi même commencé a développer un composant permettant de
communiquer en ModBus

Il suffit d'envoyer des bits en utilisant la référence suivante :

[code]
Imports System.Net.Sockets
[/code]


J'ai fait une enum pour les fonctions ModBus :

[code]
Public Enum ModbusFunctions
ReadCoils = 1
ReadInputDiscretes = 2
ReadMultipleRegisters = 3
ReadInputRegisters = 4
WriteCoil = 5
WriteSingleRegister = 6
ReadExceptionStatus = 7
ForceMultipleCoils = 15
WriteMultipleRegister = 16
ReadGeneralReference = 20
WriteGeneralReference = 21
MaskWriteRegister = 22
ReadWriteRegister = 23
ReadFIFOQueue = 24
End Enum
[/code]

et voici un exemple d'une méthode envoyant une séquence :

[code]
Public Function SendOneByte(ByVal Fonction As ModbusFunctions, ByVal
adresse As Integer, ByVal nombreMot As Integer) As String
If NetStream.CanWrite And NetStream.CanRead Then
'** envoyer
Dim sendByte(11) As Byte
sendByte(0) = 0
sendByte(1) = 0
sendByte(2) = 0
sendByte(3) = 0
sendByte(4) = 0
sendByte(5) = 6
sendByte(6) = 1
sendByte(7) = Fonction '3 ' fonction
sendByte(8) = 0
sendByte(9) = adresse
sendByte(10) = 0
sendByte(11) = nombreMot


NetStream.Write(sendByte, 0, sendByte.Length)

'** recevoir la réponse
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
NetStream.Read(bytes, 0,
CInt(tcpClient.ReceiveBufferSize))

Dim i As Integer


Dim returnData As String
For i = 0 To 15
returnData &= CStr(bytes(i)) & " "
Next

Return returnData

Else
If Not NetStream.CanWrite Then
MsgBox("Impossibe d'écrire sur le port TCP/IP")
Else
If Not NetStream.CanRead Then
MsgBox("Impossible de lire sur le portTCP/IP")
End If
End If
End If
End Function

End Class
[/code]

Ce n'est encore que du "bricolage", mais si ça peut te mettre sur le
voie...


Bonjour,

Quelqu'un a t'il déjà développé une communication dans le protocole
Modbus/Tcp entre VB.net et un automate(schneider) ?
Je suis preneur de toute information !

Merci



Avatar
Franck
Merci pour vos réponses, cela ma grandement aidé!



"Franck" a écrit dans le message de news:
43540a84$0$22014$
Bonjour,

Quelqu'un a t'il déjà développé une communication dans le protocole
Modbus/Tcp entre VB.net et un automate(schneider) ?
Je suis preneur de toute information !

Merci