Extension du serveur modbus tcp de mcsilver

Soyez le premier à donner votre avis sur cette source.

Vue 9 511 fois - Téléchargée 1 101 fois

Description

J'ai agrémenté le serveur ModBus de MCSilver (http://www.dotnet-news.com/lien.aspx?ID=32977) :
- rajout de la gestion de la fonction 2
- rajout d'une interface pour la gestion des bits
- rajout de boutons et de textbox pour changer la valeur d'un bit ou d'un registre
- pour mes besoins, la fonction 4 répond comme la 3, et la 1 répond comme la 2 (pas super clair tout ça :-)
- légère remise en forme de l'interface, j'ai pas pu m'en empêcher...
- rajout de gestion d'erreur à quelques endroits
- redimensionnement des liste de registres pour ne pas afficher le 26 qui n'est pas géré (25 par feuille), et qui générait une exception
J'ai testé avec ModScan32 et un programme de supervision (le but était de simuler un automate avec un logiciel).

Je tiens quand même à préciser que :
- MCSilver a fait un travail génial avec son serveur ModBus ! J'ai juste rajouté quelques fonctions et interfaces pour que le programme réponde à mes besoins.
- Tout ajout de code pour répondre aux fonctions manquantes est la bienvenue.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
127
Date d'inscription
lundi 11 octobre 2004
Statut
Membre
Dernière intervention
18 mai 2016

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 ^^
Messages postés
1
Date d'inscription
dimanche 28 mars 2010
Statut
Membre
Dernière intervention
2 mai 2010

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
Messages postés
9
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
7 décembre 2009

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.
Messages postés
2
Date d'inscription
mardi 27 décembre 2005
Statut
Membre
Dernière intervention
22 novembre 2009

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!
Messages postés
9
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
7 décembre 2009

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.
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.