API SolarLog et IPX800-V5

Bonjour @boban

Votre calcul doit être possible en utilisant l’astuce suggérée par @fgtoul ici:

Vous récupérez les 2 variables lues avec le modbus TCP et vous utilisez l’astuce.
Si vous voulez faire moins souvent le calcul vous pouvez utiliser un blinker en réglant les Ta et Tb pour que le recalcul soit fait à la fréquence que vous souhaitez

1 « J'aime »

Merci Jweb, ça marche.
J’ai inséré un clignotant avec des temps TA : 1 seconde et TB : 5 secondes
Seul petit défaut : entre une requête et une autre la valeur change pendant 1 seconde puis revient à la normale prt 5 srcodi. Existe-t-il un moyen d’éviter ce changement ?

Deuxième question, dans la V4, le graphique existait sous forme de widget. Sur V5 il n’est pas possible d’avoir un graphique ?

Salut, Boban

Bonjour @boban

Pour éviter ceci créez une nouvelle variable à la sortie de la fonction et affectez lui le résultat de la fonction. C’est cette nouvelle variable que vous devez afficher.

Un module graphique devrait arriver prochainement sur la V5 :wink:

Salut; salut. J’ai fait. Malheureusement le résultat est le même. A la sortie de la fonction j’ai inséré un A32. Le résultat de A32 est le widget de jauge Risultato A32

Voir la vidéo
IPX-800-V5 - Google Chrome 2022-01-18 19-38-59 (2).zip (610,2 Ko)

Bonsoir @boban ,

Pouvez vous nous faire passer des copies d’écran de l’objet fonction et de la formule que vous utilisez?

Voici.
Trouvez l’écran d’impression de toutes les étapes.
Je lis la valeur dans une variable A32, puis cette valeur x/65536/1000
Pour obtenir la différence je devrais prendre les deux valeurs des variables A32production - A32consommation. Soit deux aboutissements de fonctions et faire production-consommation.
Malheureusement le résultat est faux.
Je ne comprends pas pourquoi ce calcul fonctionne. C’est un mystère pour moi.
($327707$ - $327724$) + $327724$ Pour moi, ce calcul n’a aucun sens. Important que ça marche
id.327707 est A32 production, id.327724 est A32 consommation.
ana32_produzione
Cattura


function_produzione

Salut, boban

Bonjour
image

attention :
si l’objet « Fonction » utilise des variables sous la forme $id$, il faut lier une analogique comme ipx.clock pour forcer le calcul.
Voir cette discussion :

Vous pouvez aussi lier un clignotant à l’entrée d’un Preset, régler la valeur OFF du Preset à 0 et la valeur ON à 0.0001 (il faut régler les décimales sur la sortie)
Ce Preset pourra être lié à l’entrée de l’objet Fonction, son Entrée vaudra donc tour à tour 0 puis 0.0001.
Vous pourrez alors utiliser X dans votre formule, ses valeurs insignifiantes ne devraient pas en modifier le résultat.

bonne journée

Merci. Valeur ON N’accepte pas 0.0001
Sortie Preset A16

Effectivement, bien vu, mais la méthode reste identique.

Il faut cliquer sur la sortie du Preset, passer en unité REAL et régler la précision décimale à 4
image

image

Quoi qu’il en soit, 0.0001 n’est qu’un exemple pour montrer qu’il est possible de valoriser l’entrée X de la fonction avec une valeur « insignifiante » devant le résultat attendu de la fonction.

1 « J'aime »

Bonsoir,
On ne voit pas toute la logique de calcul là mais n’est-il pas possible de lier en entrée de la fonction SolarLog-risulto une des valeurs utilisée pour le calcul (plutôt $327707$ d’ailleurs)? Cela permettra une execution de la function dès que la valeur de l’entrée fluctue !

la fonction ne fera le calcul que si la valeur à son entrée fluctue.
Si les autres variables bougent alors qu’elles ne sont utilisées dans la formule que par leur $id$, le calcul ne se rafraichit pas.
C’est pourquoi je mets une valeur cadencée sur l’entrée.

Merci de votre aide. J’ai créé avec Preset. Malheureusement, je ne comprends pas vraiment la fonction du préréglage.
J’ai changé A16 dans la sortie Preset avec la valeur 0.0001
Que dois-je entrer dans la valeur ON ??

pour le preset, il faut renseigner

  • valeur ON : 0.0001
  • valeur OFF : 0

:tired_face: :tired_face: :tired_face:
Si je mets cette valeur dans ON plus save, j’obtiens une erreur.

Bonjour @boban ,

Avez vous essayé comme ceci?

ou la variante avec blinker? (sur Tb)

si vous ne pouvez pas mettre 0.0001 dans la valeur du preset alors mettez 1 et utilisez x dans la formule avec x/10000

Bonjour; salut. Si j’entre IPX_clock, le résultat est ce nombre 21474836.47. Je ne comprends pas pourquoi. Si j’utilise le Clignotant ça marche. Même formule
Cattura
Cattura2

Bonjour tout le monde. Moi encore.
J’ai rencontré ce problème.
Mon système PV produit actuellement environ 36 kW.
Malheureusement, j’ai réalisé que le système ne peut pas lire une valeur supérieure à 2147483647.
Est-ce que quelqu’un a une idée de comment je peux contourner ce problème. Merci.

Boban

Bonjour Boban,

vous pouvez éditer votre variable A32 qui est en unité REAL pour la passer en unité RAW. Vous pouvez maintenant lire jusqu’à 4294967295.

Bonne journée

1 « J'aime »

Tu es un génie.
Merci beaucoup