Perdu en modbus ascii série

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Perdu en modbus ascii série

Message par itasoft »

lidlkidjoe a écrit : 04 oct. 2020, 19:33 @ itasoft Ces automates gèrent des vérins doubles effets avec distributeurs bistables , il s'agit d'un exercice, on ne s'occupe pas ici de leur mise en situation. Je pense que le but est de nous faire comprendre l'architecture d'une trame.
----------
OK, donc on ne te donne PAS ces deux automates pour faire une communication ModBus RTU entre un Maître et un esclave, c'est ça ?
Automaticien privé (de tout)
itasoft@free.fr
lidlkidjoe
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 04 oct. 2020, 14:27

Re: Perdu en modbus ascii série

Message par lidlkidjoe »

@itasoft , je suis surpris que ça ne parle pas !

Le maître dit :04 03 00 03 00 01 F5

L'esclave répond :04 03 02 0A EA 03

Analyser la trame, justifier le mot de contrôle et la réponse de l'esclave.

Et, je répète, l'intitulé est : Modbus ASCII série.

Pour ce que j'ai compris, il existe Modbus Rtu et Modbus ASCII .

Visiblement, les trames sont en hexa. Mais alors ? Je dois traduire ? Je pense que nous avons pour le maître : 30h 34h 30h 33h 30h 30h 30h 33h 30h 30h 30h 31h 45h 35h . Mais quoi en faire ? La somme de h pour le LRC ? J'ai beau tenter, ça ne donne pas le mot de contrôle. Je dois mal m'y prendre.
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 931
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Perdu en modbus ascii série

Message par Bruce33 »

@itasoft
Ce sont bien des trames ASCII. Comme si on les espionnait avec HyperTerminal ; on visualise les caractères et non les valeurs binaires de caractères ASCII.

@lidlkidjoe
On n'a pas les caractères CR (retour chariot) et LF (saut de ligne) parce qu'il ne sont pas "imprimables". Mais ils terminent systématiquement la trame Modbus ASCII.
La difficulté c'est effectivement que les caractères ASCII représentent des valeurs hexadécimales.

(Encore désolé pour ma méprise. Cela aurait pu être évité en passant par la case présentation.)
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 931
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Perdu en modbus ascii série

Message par Bruce33 »

La trame étant la suivante
:04 03 00 03 00 01 F5

Pour calculer le LRC :
1. Ajouter tous les octets du message (avant la conversion ASCII, sans le caractère de début ":" et sans les caractères finaux CR/LF).
2. Supprimer les bits de retenue au-delà des 8 bits.
3. Rendre le résultat négatif (par le complément à 2).

Ce qui donne l'addition suivante :
04 0000 0100
+03 0000 0011
+00 0000 0000
+03 0000 0011
+00 0000 0000
+01 0000 0001
-------------------
0000 1011
complément (inversion des bits) :
1111 0100
+1 1111 0101
= F5 en hexadécimal
Modifié en dernier par Bruce33 le 04 oct. 2020, 20:58, modifié 1 fois.
lidlkidjoe
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 04 oct. 2020, 14:27

Re: Perdu en modbus ascii série

Message par lidlkidjoe »

D'accord.... j'étais à mille lieux...
Donc je somme le binaire de chaque valeur. ensuite le complément. ( C'est bien l'opposé de la somme ? )
Et finalement j'ajoute 1 en binaire au résultat ?
Le binaire résultant est le mot de contrôle ?

Merci beaucoup pour cet éclaircissement.
Cdt.
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 931
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Perdu en modbus ascii série

Message par Bruce33 »

Oui c'est ça.
J'ai corrigé mon message précédent car j'avais voulu répondre vite... et j'avais mal fait.
lidlkidjoe
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 04 oct. 2020, 14:27

Re: Perdu en modbus ascii série

Message par lidlkidjoe »

Bon , je dois encore mal m'y prendre... je fais :

réponse esclave :

:04 03 02 0A EA 03

04 0000 0100
+03 0000 0011
+02 0000 0010
+0A 0000 1010
+EA 1110 1010
+03 0000 0011
-------------------
1 0000 0000
puis 0 1111 1111
+1 1 0000 0000 = 256 ?? donc pas le mot
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Perdu en modbus ascii série

Message par itasoft »

Bruce33 a écrit : 04 oct. 2020, 20:59 Oui c'est ça.
J'ai corrigé mon message précédent car j'avais voulu répondre vite... et j'avais mal fait.
---------
@Buce33
J’ai pas ta patience, dès que ça devient incohérent, je décroche, LOL

ceci dit, si on me donne deux M340 un maitre et un esclave c’est dans le but d’établir une communication entre les deux, c’est pas pour les accrocher au dessus de la cheminée
Modifié en dernier par itasoft le 04 oct. 2020, 21:28, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
lidlkidjoe
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 04 oct. 2020, 14:27

Re: Perdu en modbus ascii série

Message par lidlkidjoe »

@itasoft, et du coup un maître qui envoie un trame à un esclave qui répond c'est pas une communication ?
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Perdu en modbus ascii série

Message par itasoft »

lidlkidjoe a écrit : 04 oct. 2020, 21:31 @itasoft, et du coup un maître qui envoie un trame à un esclave qui répond c'est pas une communication ?
---
sauf que sur le M340 ya pas de trame à envoyer, le ModBus est encapsulé.
Tu aurais du poser la question de principe sur ModBus sans parler des M340 qui n'ont aucun rapport avec la question
Modifié en dernier par itasoft le 04 oct. 2020, 21:52, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
Répondre