Agrégation des heures de routage sur plusieurs actions - Version imprimable +- F1ATB forum (https://f1atb.fr/forum_f1atb) +-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html) +--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html) +---- Forum : Evolutions faites, à faire, dont vous rêvez... (https://f1atb.fr/forum_f1atb/forum-10.html) +---- Sujet : Agrégation des heures de routage sur plusieurs actions (/thread-684.html) |
Agrégation des heures de routage sur plusieurs actions - Ludovic35 - 01-11-2024 Bonjour, J'ai un CE triphasé que je pilote avec 2 SSR sur 2 actions différentes (Action1 sur 1400W et Action2 sur 1400W). D'autres le font avec une action sur 2 résistances, et la seconde action sur la 3éme résistance (car un gpio ne peut pas piloter directement 3 SSR). Action2 est configurée pour ne s'activer que si Action1 est à plus de 70%. La durée de chauffe équivalente sur Action2 n'est donc pas corrélée à celle d'Action1. Pour le complément de chauffe la nuit, je configure une action pour atteindre 6h équivalentes. Les 2 actions chauffant le CE, j'aimerais pouvoir utiliser un compteur qui fait la somme des 2 actions pour déterminer si le complément de chauffe doit continuer ou non. J'ai fait un ajout dans le code permettant cela. La modification principale est dans la fonction InfoActionExterne() de RMS_Externes.ino Pour les actions qui sont identifiées comme devant être regroupées, le calcul retourne simplement la somme des heures équivalentes des actions concernées. if (actionTri > 0) { LesActions[RMS_Datas_idx].ExtHequiv = 0; for (int i = 0; i <= actionTri; i++) { if ( LesActions[i].Actif > 0 ) { LesActions[RMS_Datas_idx].ExtHequiv += int(PuissanceMax[i] * LesActions[i].H_Ouvre); //*100 dans PuissanceMax } } } else { LesActions[RMS_Datas_idx].ExtHequiv = int(100 * LesActions[SelectAction].H_Ouvre); //Duree heure decimale *100 action externe } Le groupe que je définis est l'ensemble des actions de 0 à actionTri (un booléen par action pourrait remplacer ce mode de sélection). Et j'ai aussi ajouté un coefficient de pondération PuissanceMax[i] qui permet de retrouver une somme d'heure équivalente pour une valeur de charge unique (on peut mettre 200% sur l'action1 et 100% sur action2 pour indiquer que la charge est 2 fois plus élevée sur Action1 que sur Action2). Les valeurs PuissanceMax[i], et actionTri sont passées via le titre de l'action. Là encore; cela pourrait se faire différemment. Cordialement, |