Réseau modbus TCP/IP

Partie du forum pour tout ce qui concerne la partie réseau de communication dans l'industrie. Forum, conseil, astuce et entraide sur le réseau industriel tel que la connexion modbus, ethernet, fipio .
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 126
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Réseau modbus TCP/IP

Message par chgui »

Bonjour à vous,

J’ai découvert un truc chelou, :mrgreen: lors d’un revamping d’un API, sur un réseau modbus TCP/IP, si je Ping à l’adreses xxx.xxx.xxx.050 et bien c’est le xxx.xxx.xxx.40 qui répond :shock: :o :shock:
Bon du coup j’ai enlevé le 0 devant le 50 et tout va bien, mais je trouve cela bizarre et surtout, je ne sais pas pourquoi !!! :?
Si quelqu’un saurait et aurait la gentillesse de m’expliquer.
Je précise que le masque sous réseau est 255.255.255.0.
Avatar du membre
Béryl
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1953
Enregistré le : 20 oct. 2015, 12:00
Localisation : localhost

Re: Réseau modbus TCP/IP

Message par Béryl »

Le 40 ne serait pas l'ordi avec lequel tu ping ?
Quand un ping ne répond pas, c'est l'IP du poste qui ping qui répond.
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 126
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Re: Réseau modbus TCP/IP

Message par chgui »

Merci pour ta réponse,

En 40 c'est un coupleur TSX ETZ 510.

Ce que je trouve bizarre, c'est quand je mets 050 ça ping 40, mais quand je mets 50 ça donne pas de réponse (ce qui est logique :D ).
AC23
Forcené des structures
Forcené des structures
Messages : 174
Enregistré le : 29 mars 2021, 10:59

Re: Réseau modbus TCP/IP

Message par AC23 »

Bonjour,

C'est uniquement cette valeur (le "050") qui crée ce phénomène? Ça ressemble à un débordement de mémoire... Mais c'est le débordement de mémoire le plus bizarre que j'ai jamais vu :lol: . Ou il crée une addition avec la valeur 246 ? il faudrait tester avec d'autre valeurs pour voir.

Sinon, je me rappelle que sur certains vieux Microcontrôleurs quand on utilise des IDE récent pour convertir du C/C++ vers de l'assembleur, l'ajout de 0 (non nécessaire) dans des déclarations de variables était traduit par des shift left par le compilateur. Et donc on avait des valeurs complètement aléatoires.

Bien cordialement;
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
steph68
Codeur fou
Codeur fou
Messages : 275
Enregistré le : 21 oct. 2015, 08:23

Re: Réseau modbus TCP/IP

Message par steph68 »

Salut,

En C/C++ (et sûrement d'autres langages aussi), un 0 devant un nombre signifie qu'il est exprimé en octal (base 8).
050 (octal) = 5 x 8 = 40 (décimal), donc c'est logique ...

Plus d'infos ici : https://fr.wikipedia.org/wiki/Syst%C3%A8me_octal

@+
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Réseau modbus TCP/IP

Message par itasoft »

slts,
je connaissais le 0x pour l'hexa mais pas le 0 pour octal, ceci dit j'utilise pas le octal tous les jours, lol
Automaticien privé (de tout)
itasoft@free.fr
AC23
Forcené des structures
Forcené des structures
Messages : 174
Enregistré le : 29 mars 2021, 10:59

Re: Réseau modbus TCP/IP

Message par AC23 »

steph68 a écrit : 23 déc. 2021, 17:37 Salut,

En C/C++ (et sûrement d'autres langages aussi), un 0 devant un nombre signifie qu'il est exprimé en octal (base 8).
050 (octal) = 5 x 8 = 40 (décimal), donc c'est logique ...

Plus d'infos ici : https://fr.wikipedia.org/wiki/Syst%C3%A8me_octal

@+
Bien vu, je n'ai pas pensé à un changement de base.
itasoft a écrit : 23 déc. 2021, 17:50 slts,
je connaissais le 0x pour l'hexa mais pas le 0 pour octal, ceci dit j'utilise pas le octal tous les jours, lol
Idem, pour moi c'est : "std::oct" ou "std::Oct".
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 126
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Re: Réseau modbus TCP/IP

Message par chgui »

Ok merci les gars,

bon je m’étais bien rendu compte que c'était une connerie :mrgreen: :mrgreen:

mais du coup ça m'a titilé!!! merci pour les explication.
Avatar du membre
djé
Dieu du process
Dieu du process
Messages : 864
Enregistré le : 20 oct. 2015, 09:55
Localisation : Bretagne, Pays de la Loire, Nantes
Contact :

Re: Réseau modbus TCP/IP

Message par djé »

steph68 a écrit : 23 déc. 2021, 17:37 Salut,

En C/C++ (et sûrement d'autres langages aussi), un 0 devant un nombre signifie qu'il est exprimé en octal (base 8).
050 (octal) = 5 x 8 = 40 (décimal), donc c'est logique ...

Plus d'infos ici : https://fr.wikipedia.org/wiki/Syst%C3%A8me_octal

@+
Exact, c'est vraiment un truc à la con, je me suis déjà fait avoir comme ça.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.

Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Avatar du membre
chgui
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 126
Enregistré le : 20 oct. 2015, 08:05
Localisation : Amiens

Re: Réseau modbus TCP/IP

Message par chgui »

djé a écrit : 31 déc. 2021, 00:16
Exact, c'est vraiment un truc à la con, je me suis déjà fait avoir comme ça.
LOL!!! En même temps c'est une idée à la con que j'ai eu de mettre ce zéro!!! :lol: :lol: :mrgreen:
Répondre