EXTENSION DU SERVEUR MODBUS TCP DE MCSILVER

swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009 - 16 juil. 2009 à 14:47
PWM63 Messages postés 127 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 18 mai 2016 - 3 mai 2010 à 11:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50317-extension-du-serveur-modbus-tcp-de-mcsilver

PWM63 Messages postés 127 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 18 mai 2016
3 mai 2010 à 11:46
Bonjour SuperEnduro,

Si tu n'es pas fort du tout en prog, ca risque d'être dur...

Commence d'abord par potasser le protocole ModBus.

Ensuite, regarde tous les codes existants qui traitent du ModBus.

Une fois tout ça fait, je suppose que tu arriveras à commencer ton projet.

Concernant l'aide, c'est au point par point, ca marche pas pour la totalité...

Perso, c'est que j'ai fait. Y a pas mieux :)

Bon courage, tu en auras besoin ^^
SuperEnduro Messages postés 1 Date d'inscription dimanche 28 mars 2010 Statut Membre Dernière intervention 2 mai 2010
2 mai 2010 à 17:51
bonjour je suis nouveau je suis sur un projet d'interface d'une page html sur un automate wago 750-842 et je ne suis pas fort du tous en programmation quelqu'un pour une aide merci
swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009
7 déc. 2009 à 17:25
J'ai finalement cherché à comprendre plus en détail le protocole ModBus et j'ai développé mon propre serveur/esclave sur TCP/IP en C#.
J'ai déposé les sources à l'adresse http://www.csharpfr.com/codes/SERVEUR-ESCLAVE-MODBUS-TCP-IP_50946.aspx
Peut-être que cela aidera quelqu'un d'autre.
cs_cedric29200 Messages postés 2 Date d'inscription mardi 27 décembre 2005 Statut Membre Dernière intervention 22 novembre 2009
22 nov. 2009 à 17:44
Par curiosité j'ai testé l'application (sans avoir regardé les sources) et je me suis rendu compte d'un problème sur le serveur modbus. Lorsque les trames TCP sont contiguës (Algorithme de Nagle), la réception à l'air OK par contre le callback ne renvoi qu'une trame?!?

Exemple :

Reçu de: 127.0.0.1:1368, 48 bytes : 4.4.0.0.0.6.1.3.0.0.0.1.4.4.0.0.0.6.1.3.0.0.0.1.4.4.0.0.0.6.1.3.0.0.0.1.4.4.0.0.0.6.1.3.0.0.0.1.
Envoyé à: 127.0.0.1:1368, 11 bytes : 4.4.0.0.0.5.1.3.2.0.10.

- Pour l'affichage des trames c'est très moyen ça freeze l'appli...

Il est vrai que l'application à le mérite d'exister mais il ne faut pas trop lui en demander!
swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009
19 oct. 2009 à 22:31
Bah, je la mérite un peu cette mauvaise note, j'avais qu'à pas mettre un code qui n'est pas des plus beau... bon il a pas dû lire ma petite explication non plus :-)
Et mea culpa, j'ai rajouté mes trucs "à l'arrache", sur un coin de table vite fait, d'où le coup de la fonction 4. Le développeur du client à confondu la 3 et la 4 et moi j'étais perdu pour remettre son truc d'aplomb au début...
Quand j'aurais le temps (aie), je réécrirais complètement un serveur en C# et je penserais à le poster ici.
PWM63 Messages postés 127 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 18 mai 2016
19 oct. 2009 à 09:46
Oulaa, tu n'as eu qu'1 seule note, et mauvaise en plus...
Bon, je te remonte 1 peu ca, pas pour la structure, mais pour le fait que tu aies posté sur du Modbus (y en a pas foison) et que tu aies rajouté 1 FC.
J'ai le mien en .Net (en client par contre), mais je ne peux pas le poster ici, il appartient à la boîte.
Par contre, j'ai pas compris pourquoi tu dis que tu fais répondre la FC04 comme la 03. Un protocole est un protocole.
swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009
28 juil. 2009 à 17:22
Oui ça s'est sûr... J'ai juste rajouté mes trucs mais c'est sûr que ça ne respecte pas l'état de l'art. Je pense que McSilver vient du VB6, d'où cette structuration.
dieuzorro Messages postés 21 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 14 janvier 2008
28 juil. 2009 à 16:41
Sa marche peut-être comme code mais voir du dot net avec des Goto, une gestion des erreurs à la vb6 sa fait pas sérieux et PiloteModBus qui est un module non une classe. Pour moi ce n'est pas un bon exemple car il fait voir comment il ne faut pas faire!!!!
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
16 juil. 2009 à 20:15
Renomme-le en .ex& par exemple ...
On retire les EXE car il se pourrait qu'ils soient infectés (à ton insu, y'a des virus qui infectent les .exe, ils sont rares mais ils existent).
swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009
16 juil. 2009 à 14:50
J'ai oublié de préciser : excusez le code, je suis plus habitué au C# qu'au VB.NET... en plus ça a été vite fait sur un coin de table :-S
swonder Messages postés 9 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 7 décembre 2009
16 juil. 2009 à 14:47
L'EXE n'est pas passé dans le zip... je peux le comprendre mais c'est dommage.
Rejoignez-nous