La série d’article sur le sujet est maintenant terminée, je vais donc sortir un petit résumé et surtout une méthode pour retrouver l’ordre d’utilisation des fonctions afin d’établir une communication correcte.

En premier lieu et c’est sans doute l’étape la plus importante dont on ne peut pas se passer, il faut ouvrir le port série qui permettra la communication. Pour le moment je ne passe que par un port COM, je travaille sur une mise à joueur pour passer en ethernet.

1. Ouvrir un port série en VB

Ensuite, maintenant que le port est ouvert… et avec les bons paramètres, on peut envoyer une trame de lecture pour recevoir une réponse.

2. Envoyer une trame en ModBus

Pour cette étape, on peut utiliser les constructeurs de trame pour ressortir ce qu’on veut envoyer, le tout combiné avec les fonctions CRC indispensable si vous utilisez les constructeurs.

2.1. Constructeurs de trame ModBus

2.2. Le CRC16 en ModBus

Maintenant qu’on sait se connecter et envoyer des infos, il faut pouvoir les recevoir.

3. Recevoir une trame en ModBus

Arrivé à ce point là, le plus dur est fait, déjà on peut savoir si on communique ou non avec l’appareil et si les trames reçues sont correctes. L’étape suivante consiste à décoder la trame en fonction de l’envoie et d’établir une correspondance entre les données reçues et celles demandées. Pour cela on va utiliser une fonction de décodage.

4. Décodage de trame ModBus reçue

A partir de là vous êtes tout seul et votre principale problématique sera de trouver une solution pour stocker les correspondances en fonction des machines. Personnellement, j’ai opté pour un stockage en base de données, ce qui a le gros avantage de n’avoir qu’à mettre la base à jour pour rajouter des infos. Le soucis c’est que ça demande pas mal de code pour intégrer la base de données, donc si on n’a qu’une ou deux machines à gérer ce n’est pas spécialement conseillé, l’utilisation d’un tableau serait plus adapté.

Au besoin je posterais une solution simple.

Laisser un commentaire