Sinon, pour le plaisir du jeu, j’ai fait une fonction qui semble fonctionnel pour ton cas.
1- La valeur Modbus (ana16 - RAW) rentre dans un objet comparateur pour savoir sur la valeur modus est censé être positive ou négative.
Entrée A = valeur ModBus
Entrée B = 32768
Comparateur A < B :
- Si la valeur ModBus est inférieur à 32768, la sortie est à 1.
- Si la valeur ModBus est supérieur à 32768, la sortie est à 0.
2- La sortie du comparateur entre dans une variable IO en sélectionnant « NOT » sur le lien pour inversé la valeur.
- Si la valeur ModBus est supérieur à 32768, la variable IO est à 1. Sinon, elle est à 0.
3- La valeur ModBus entre également dans un objet Fonction en entrée « X ».
Fonction de transfert :
[Sortie Comparateur] * X/10 + ( [Variable IO] * (X - 65535)/10)
4- La valeur de sortie de l’Objet Fonction est votre valeur Modbus en watt comprise entre -3276,8 et +3276,7
Chez moi, ça a l’air fonctionnel.
Je sais pas si mes explication son claire, dite moi…
Plein d’info sur les Objet et les Liens sur le Wiki fait par @fgtoul