Suite à mon oeil rapide sur le programme et bien que vous ne sollicitiez pas d'aide pour ce programme que vous jugez fonctionnel, je tiens à faire ces quelques remarque:
SERIN [3000,norecep],C.0,T1200,($C9,$C9,$4E,$53,$D4,$A0),b2,b3,Amp
Il est plus simple et plus parlant de mettre comme je l'avais écrit:
SERIN [3000,norecep],C.0,T1200,("IINST "),b2,b3,Amp
et SERIN [3000,norecep],C.0,T1200,("PAPP "),b5,b6,b7,b8,Papp
Je suis très étonné car vos codes ASCII $C9 et $D4 ne font pas partie des codes correspondant aux caractères transmis par Linky (maxi 7F).
De plus, le code $A0 n'a pas de sens car c'est un séparateur ($20) qui est dans le groupe de données transmises en mode historique.
Donc les deux serin ne peuvent pas à priori, recevoir de réponse. !?
concernant
b4=b4 and %00001111 ; b4 unité des ampères est déjà défini comme variable Amp !
b3=b3 and %00001111 ; inutile puisque ne sont transmis que des chiffres 0 à 9
b3= b3*10; b3 contient les dizaines
Amp=Amp+b3; Amp contient la valeur globale intensite
donc pour simplifier:
Amp = b3*10+Amp
Vous écrivez:
Let Infonuit= PinsC AND %00000010
répété plusieurs fois dans le programme, sans raison. Il a été défini une fois, c'est suffisant.
donc en fait Infonuit = C.1
mais vous avez défini avant: symbol Infonuit=b10
Pour savoir si on est en mode producteur / consommateur, l'info est donnée par le Linky, directement par le bit8 du registre de status, (étiquette STGE).
1 si producteur 0 si consommateur.
exemple:
SERIN [3000,norecep],C.0,T1200,("STGE "),b1,b1,b1 ; (b1 , 3e byte reçu, composé des bits 8 à 15)
If bit8 = 1 then .... ; on est producteur
Le bit 7 peut être utile pour du délestage: à 1 si dépassement de la puissance souscrite,en cours.
Eviter d'utiliser b0 et b1 donc w0 en tant que variables. Cela permet d'utiliser des simples bits en les adressant directement comme ici.
Je ne suis pas allé plus avant car le cheminement logique de votre programme est semé d'embuches.
J'ai l'impression d'être devant une armoire électrique avec tous les fils qui se croisent, et rien de repéré. Mais je ne suis pas électricien !
C'est sympa de partager votre projet, qui vous conviendrait donc en l'état, même si je doute très fortement de sa fonctionnalité et qu'il ait pu "tomber en marche" pour reprendre l'expression de quelqu'un que nous connaissons bien sur ce forum ..