[M241] Envoie fichier.bin en modbus

Forum traitant des automates industriels de marque Schneider - Telemecanique
MiGaNuTs
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1086
Enregistré le : 12 nov. 2015, 21:02
Localisation : 45 - Loiret
Contact :

Re: [M241] Envoie fichier.bin en modbus

Message par MiGaNuTs »

Bonjour,

le protocole modbus est conçu pour lire ou écrire des données dans des tableaux en mémoire du serveur ou de l'esclave.
Les plus grosses de ses tables font 2^15 mots de 16 bits, soit 64Ko (Des Ko de 1024 octets, pas de Ko de vendeurs de disques durs)
Les plus petites font 2^15 bits, soit 16 x moins. (ca doit faire 2Ko du coup ?)

En Modbus "pas standard" tu peut aller jusqu'a 2^16 mots ou bits, ce qui double la taille des tables, mais ça ne marche pas sur tous les équipements vu que c'est pas standard.

Ce n'est absolument pas fait pour transférer des fichiers, et encore moins pour mettre a jour des firmware.

Après, dans le protocole il y'a 255 codes fonctions possible, et a peine la moitié sont utilisés par le standard.
Il en reste donc beaucoup de disponibles pour faire des trucs "pas standard"
Certains constructeurs ont probablement développé des "fonctions supplémentaires" par dessus le protocole standard pour leur usage "propriétaire", mais je ne pense pas que tu puisse trouver les documentations et/ou les codes sources de leurs fonctions.

Mais le M221 ne connais de toutes façons que les codes standards. Si tu lui envoie d'autres choses je ne pense pas qu'il va réagir autrement qu'en te renvoyant des code d'erreur, ou bien en ne répondant pas du tout.

Bref, je ne voit pas bien ou tu veux en venir, mais je pense pas que cette voie te mène a destination. Ou alors il nous manque beaucoup d'informations pour t'y guider.
FloRel
Code sa première boucle
Code sa première boucle
Messages : 12
Enregistré le : 25 janv. 2021, 14:14

Re: [M241] Envoie fichier.bin en modbus

Message par FloRel »

JC87 a écrit : 04 juil. 2022, 08:37 Bonjour,

Le M241 peut être client/serveur ftp, il faudrait gratter de ce coté là je pense. Après je comprend toujours pas vraiment la finalité du projet. Une mise à jour de carte électronique ça se fait rarement à priori. Quel est l'intérêt de passer par un automate dans ce cas ?

JC
Notre client à des produits avec des cartes électroniques intégrer.
Suivant le modèle du produit nous devons mettre à jours le soft de cette carte.
FloRel
Code sa première boucle
Code sa première boucle
Messages : 12
Enregistré le : 25 janv. 2021, 14:14

Re: [M241] Envoie fichier.bin en modbus

Message par FloRel »

MiGaNuTs a écrit : 04 juil. 2022, 18:51 Bonjour,

le protocole modbus est conçu pour lire ou écrire des données dans des tableaux en mémoire du serveur ou de l'esclave.
Les plus grosses de ses tables font 2^15 mots de 16 bits, soit 64Ko (Des Ko de 1024 octets, pas de Ko de vendeurs de disques durs)
Les plus petites font 2^15 bits, soit 16 x moins. (ca doit faire 2Ko du coup ?)

En Modbus "pas standard" tu peut aller jusqu'a 2^16 mots ou bits, ce qui double la taille des tables, mais ça ne marche pas sur tous les équipements vu que c'est pas standard.

Ce n'est absolument pas fait pour transférer des fichiers, et encore moins pour mettre a jour des firmware.

Après, dans le protocole il y'a 255 codes fonctions possible, et a peine la moitié sont utilisés par le standard.
Il en reste donc beaucoup de disponibles pour faire des trucs "pas standard"
Certains constructeurs ont probablement développé des "fonctions supplémentaires" par dessus le protocole standard pour leur usage "propriétaire", mais je ne pense pas que tu puisse trouver les documentations et/ou les codes sources de leurs fonctions.

Mais le M221 ne connais de toutes façons que les codes standards. Si tu lui envoie d'autres choses je ne pense pas qu'il va réagir autrement qu'en te renvoyant des code d'erreur, ou bien en ne répondant pas du tout.

Bref, je ne voit pas bien ou tu veux en venir, mais je pense pas que cette voie te mène a destination. Ou alors il nous manque beaucoup d'informations pour t'y guider.
Pour moi il n'y a pas de limite de taille car je vais envoyer des parquets de quelques octets... (Le fichier de base de 100ko découpé en plusieurs paquets)
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7156
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [M241] Envoie fichier.bin en modbus

Message par itasoft »

Suivant le modèle du produit nous devons mettre à jours le soft de cette carte.
-------
Quelle est la procédure exacte pour faire la mise à jour ?
1-Lui envoyer un fichier façon copier/coller si c'est le cas le plus simple c'est via ftp
2-Lui envoyer le contenu du fichier si c'est le cas le plus simple c'est via Hyperteminal

Exemple cas 1 : La carte reçois le fichier et l’enregistre dans sa mémoire tel quel
Exemple cas 2 : La carte reçois le contenu du fichier avec des instructions que la carte exécute au fur à mesure de la réception pour mettre à jour son soft
Automaticien privé (de tout)
itasoft@free.fr
ASR
Code son premier grafcet
Code son premier grafcet
Messages : 33
Enregistré le : 16 juin 2019, 14:24

Re: [M241] Envoie fichier.bin en modbus

Message par ASR »

Bonjour
Suivant le modèle du produit nous devons mettre à jours le soft de cette carte.
La dernière fois que j'ai eu à faire ça, on a utilisé un PC indus :
- Le PC faisait tourner une supervision (un Wincc Scada)
- La supervision scrutait un bit de demande de programmation
- Lorsque le bit est à 1, la supervision vient piloter une sonde de programmation connectée au produit pour injecter le firmware. Plus en détail, elle appelle une DLL fait maison qui s'appuie sur une autre DLL fournie par le fabricant de la sonde.

Dans votre cas, j'ai du mal à voir comment vous allez tranferer le firmware dans le produit depuis l'automate.

A+
FloRel
Code sa première boucle
Code sa première boucle
Messages : 12
Enregistré le : 25 janv. 2021, 14:14

Re: [M241] Envoie fichier.bin en modbus

Message par FloRel »

itasoft a écrit : 08 juil. 2022, 12:01 Suivant le modèle du produit nous devons mettre à jours le soft de cette carte.
-------
Quelle est la procédure exacte pour faire la mise à jour ?
1-Lui envoyer un fichier façon copier/coller si c'est le cas le plus simple c'est via ftp
2-Lui envoyer le contenu du fichier si c'est le cas le plus simple c'est via Hyperteminal

Exemple cas 1 : La carte reçois le fichier et l’enregistre dans sa mémoire tel quel
Exemple cas 2 : La carte reçois le contenu du fichier avec des instructions que la carte exécute au fur à mesure de la réception pour mettre à jour son soft
Pour le moment je n'ai pas la procédure exacte nous en sommes au chiffrage et donc la possibilité technique.
Mais oui il y a bien une procédure, on envoie des requêtes à la carte pour qu'elle passe en mode mise à jour du firmware et une fois dans ce mode, il faut lui envoyer des paquets de X octets. Je ne sais pas si la carte utilise tout de suite ces paquets d'octets ou si elle les stocks et après les exploites.

Du coup je pense qu'avec le serveur FTP c'est possible de récupérer les infos sur le serveur?
Répondre