MyModbus et Powertag Schneider

Si tu passes en stable, tu auras la même version que l’ancienne beta qui fonctionnait chez toi, donc tu auras la même version.

C’est ce que je te conseille de faire AVANT de rebasculer vers la nouvelle beta, de cette manière tu pourras faire des captures de ta config pour la restituer dans la nouvelle beta.
Mais si tu as le moyen de retrouver ta config, alors tu peux rester en beta et adapter… C’est toi qui vois.

Ce post te permet de savoir où en est le développement de la beta :

Malheureusement c’est trop tard en effet le 13.03 j’ai fait la mise à jour sans consulter le forum
et de toute façon il faudra bien migrer un jour … J’ai une capture sur ce post

Je vais essayer petit a petit

Si je passe en stable, mes objets créés dans la béta seront conservé ?

La configuration n’est pas compatible entre stable et bêta.
En cas de re-passage en stable, le nombre de commandes sera identique mais le paramétrage sera perdu. Seul l’historique restera.

Si tu n’as que ces 7 commandes, la reconfiguration ira vite, que la migration se fasse dans un sens ou dans l’autre.

edit: Si tu trouves un lien avec la doc (le lien de ton 1er post est mort) ou si tu la postes ici, je peux t’aider à la configuration

Ok du coup c’est mieux de faire la config sur la V2

C’est super sympa si tu peux me renseigner (juste une ligne après je me débrouilles)

Voici le lien vers le nouveau modele (EcoStruxure)
EcoStruxure Panel Server – Guide de l’utilisateur

Voici mon ancienne config

Et les tables

J’ai essayé avec l’adresse virtuel et sans le bus série

Avec es sans la case RTU …

Dans la V1 j’utilisai « Eastron input » que je ne trouve pas dans la V2

Ton ensemble fonctionne ? Je veux dire sans la remontée vers MyModbus, l’ecoStructure récupère bien les mesures ?
Tu utilisais quel Unit ID sur l’ancienne version MyModbus ?

J’ai l’impression d’avoir compris…

Pour l’équipement, c’est en TCP non RTU (ne pas cocher RTU over TCP).

Pour les commandes, je pense que l’adresse esclave à renseigner correspond au numéro « Serveur ID virtuel »

On pourrait faire des tests en live. Envoie moi un MP si t’es dispo

EDIT:
À la lecture de cette page-là :
https://www.productinfo.schneider-electric.com/ecostruxurepanelserverguide/doca0172-ecostruxure-panel-server-user-guide/French/DOCA0172%20EcoStruxure%20Panel%20Server%20Universal%20User%20Guide_fr_0000642575.xml/$/TPC_PanelServerGatewayFunction-3453ABB2
c’est sûr à 100% que l’adresse esclave doit avoir la valeur de l’ID virtuel

Ne t’occupe pas de ‹ Eastron input ›…

La fonction à utiliser est bien 0x03 Read holding registers
Le type de variable est exactement celui de la colonne ‹ Type › du fichier Excel dans la doc
Et pour les inversions d’octets ou de mots, il faut faire des essais… pas le choix

L’adresse modbus à utiliser est dans la colonne ‹ Register (dec) › (et il ne faut peut-être pas soustraire 1… mais ça, je suis pas trop sûr…)

Hello
Merci pour ta réponse

il me semble que l’unit ID était renseigné dans l’équipement
Les info remontent bien sur mon concentrateur mais pas dans le plugin …

Tu peux poster des captures de la config de l’équipement MyModbus + des commandes
Passer les log en debug et les poster aussi STP, après quelques cycles de polling ?

EDIT: par contre, il faudrait désactiver les autres équipements pour pouvoir se concentrer sur un seul équipement

Je viens de rentrer et reprend demain a 5h30, je continue ce weekend. Et ferrais ce que tu demmandes.
Mais si c est trop dificille j essaie de revenir en stable et de recuperer mes config …
Peut etre que qqun est toujours en V1 avec le meme matos ?

Hello voici mes dernier essais, j’ai désactivé les équipements …
avec cette erreur « sendToDaemon: socket_write ERROR: Broken pipe »


Mon ancienne configuration était comme celle-ci


Il y a toujours une différence de 1 car les registres commencent à 0 et les adresses à 1. Sur les notices Schneider, ils indiquent l’adresse ex 3000 mais c’est le registre 2999…
Comme le plugin ne supportait pas le 32bits
Pour le courant c’est 2 registres de 16 bits, le 2999 et le 3000 Float 32 qui sont rangées sur 2 registres parfois inversés et il faut considérer le registre 2999 en 1er ou le 3000 en 1er. Pour Schneider, il fallait donc choisir le format Eastrom Imput au lieu du format Register float et choisir 32 bits pour bien lui dire de prendre 2 registres de 16 bits.

Pour l’énergie cumulée, 4 registres (64 bits), du 3203 au 3206 et le format de chaque registre est du int sur 16 bits.

Voici aussi les logs
mymodbus(1).txt (23,4 Ko)

Salut @ced2001,

  1. Le message dans les logs :
Traceback (most recent call last):
  File "/var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/asyncio/selector_events.py", line 868, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/site-packages/pymodbus/client/base.py", line 272, in data_received
    return asyncio.Future()
  File "/var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/site-packages/pymodbus/framer/socket_framer.py", line 167, in processIncomingPacket
    self._process(callback)
  File "/var/www/html/plugins/mymodbus/ressources/_pyenv/versions/3.9.16/lib/python3.9/site-packages/pymodbus/framer/socket_framer.py", line 186, in _process
    raise ModbusIOException("Unable to decode request")
pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request

me fait penser qu’il faut peut-être essayer l’option « RTU sur TCP » si le framer retourne une erreur. Ou alors c’est juste que le float16 sur un demi float32 retourne une erreur (mais normalement ça retourne juste une valeur farfelue)

  1. Cette version de MyModbus sait gérer les float32 et les int64, tu devrais adapter la config. D’ailleurs tu as la dernière version ?

  2. Si tu veux, tu peux m’envoyer un MP, on regarde ça ensemble

EDIT:

  1. Tu peux poster une capture de la config de l’équipement (ancienne version et nouvelle version) STP ?


Je suis avec la version 2023-03-29 01:42:09

J’ai aussi retrouvé un message de Fred qui m’avait fait passer de la stable en beta lors de ma 1ere config…

Pourquoi ce ne sont pas les mêmes adresses IP ? Ta configuration matérielle a changé ?

EDIT: donc le problème ne vient pas du mode RTU sur TCP si ça fonctionnait en « tcpip » avant.

Oui il ne faut pas regarder les adresse IP c’est de veille capture que j’ai retrouvé
mes passerelles sont en 192.168.1.195 pour la powertag et .95 pour l’ecostruxure
les deux fonctionnait parfaitement jusqu’au 13. 03

Est-ce que tu utilisais la version du market ou Bebel27 avait adapté quelque chose chez toi ?

EDIT: on va faire un équipement après l’autre… step by step

Je ne pourrais pas te dire mais oui c’est possible je pense que j’avais juste activer la beta sur le market

OK, désactive un équipement, on va bosser sur l’autre.
Dans les log, c’est un polling à 60 sec, ta capture est à 30… Tu peux m’aider et éviter de montrer la config des 2 équipements ?

Tu as essayé avec le « RTU sur TCP » ?
Que donnent les log ?
Tu as un accès ssh à ta machine ?

Oui j’ai essayé de modifier il y a un moment . Non pas de SSH

Je t’ai envoyé un MP

Pour ceux qui passent par là, problème résolu en tuant les process qui ne prenaient plus les modifs de config.