Programmation periodique

Forums Serveur WES Installation & Configuration Programmation periodique

  • Post
    disco67
    Participant

      Bonjiour,

      Je cherche un moyen simple pour programmer une action un jour sur 2 (ou sur 3)

      Pour 1 sur 2 y a bien => lundi/mercredi/vendredi/dimanche/mardi/jeudi/samedi => Reboucle sur lundi

      1 sur 3 => Lundi/jeudi/dimanche/mercredi/samedi/mardi/vendredi/ => Rebouche sur lundi

      Comment faire ?

      Cdlt

      • Ce sujet a été modifié il y a 4 années et 2 mois par disco67. Raison : Change question
      • Ce sujet a été modifié il y a 4 années et 2 mois par disco67. Raison : Change question
      0
      0
    Vous lisez 21 fils de discussion
    • Replies
        cdlog2
        Modérateur

          Bonjour,

          Voici un exemple pour répondre à votre programmation :

          Source : Prog.Hor – plage Hor. deb 14:00 fin 14h01 – Tl.jrs. >> Sortie. Switch.V. SW1 – Action = ON — actif si SW1 = OFF

          Src: SW1 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW2 – Action = Télérupteur — tjs Actif
          Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = Télérupteur — tjs Actif

          Src: SW1 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sort. Switch.V. SW1 – Action = OFF si cdt vrai pendant tempo 120s — actif si SW1 = ON

          Explication :

          Les lignes de programmes sont analysées avec une priorité en lecture des lignes de Haut vers le Bas.

          La 1ere ligne positionne le Switch Virtuel SW1 (peut être n’importe quel autre SW) = ON tous les jour entre 14:00 et 14h01 (peut être un autre horaire) mais le test doit être sur une durée de 1 Minute comme intervalle., dans l’exemple entre 14h00 et 14h01.

          La 2eme ligne bascule SW2 (peut être un autre SW) sur sa valeur Inverse (si SW2 = ON passe OFF et inversement) dès que SW1 = ON >> Donc SW2 va avoir un état ON seulement 1 jour sur 2.

          La 3eme ligne bascule SW3 (peut être un autre SW) sur sa valeur Inverse (si = SW3 ON passe OFF et inversement) dès que SW2 = ON >> Donc SW3 va avoir un état ON seulement 1 jour sur 3.

          La dernière ligne , remet SW1 = OFF après une tempo de 120s (2 minutes) pour être sûr d’être en dehors du Test du créneau horaire de 1 minute de la 1ere ligne.

          Donc SW2 = ON > 1 jour sur 2 et SW3 = ON > 1 jour sur 3

          Cdt

          0
          0
          disco67
          Participant

            Bonjour,

             

            Je vais tester s’la !

             

            Thx !

            0
            0
            cdlog2
            Modérateur

              Re: Dans mon exemple, il se peut que l’activation du SW3 ne se fasse que tous les 1 jour sur 4 au lieu de 1 sur 3 comme mentionné, c’est à tester !

              Concernant le SW2, il sera bien actif tous les 1 jour sur 2.

              Cdt

              0
              0
              cdlog2
              Modérateur

                Re: Si vous n’aviez qu’un test de 1 jour sur 2 à réaliser, alors vous pouvez simplifier avec une seule ligne de programme :

                Exemple SW1 sera actif à ON, 1 jour sur 2 :

                Source : Prog.Hor – plage Hor. deb 14:00 fin 14h01 – Tl.jrs. >> Sortie. Switch.V. SW1Action = Télérupteurtjs Actif

                Le créneau horaire du test et le SWx peuvent être modifiés bien sûr.

                Cdt

                0
                0
                cdlog2
                Modérateur

                  RE:

                  Un exemple plus complet qui vous permet de tester les phases 1 jour sur 2, 1 jour sur 3 et 1 jour sur 4
                  Les Switch Virtuel utilisés ici peuvent être changés à condition de garder entre eux les relations entre les SW identique

                  # les Switch Virtuel utilisés dans cet exemple :
                  # SW1 = ON tous les jours pendant un créneau horaire d’une minute pour incrémenter les compteurs jours.
                  # SW2 = Compteur qui peut servir de Test = ON 1 jour sur 2
                  # SW3 = Compteur qui peut servir de Test = ON 1 jour sur 3
                  # SW4 = Compteur qui peut servir de Test = ON 1 jour sur 4
                  # SW5 , SW6, SW7 Permet de calculer via le passage à 2 jours révolu de SW2 pour positionner SW3 au 3eme jour

                  # DEBUT PROGRAMMATION :

                  # Flag SW1 passe ON tous les jours suivant un créneau horaire de test de 1 minute
                  Source : Prog.Hor – plage Hor. deb 08:00 fin 08h01 – Tl.jrs. >> Sortie. Switch.V. SW1 – Action = ON — actif si SW1 = OFF

                  # Flag SW5 et SW6 sert à comptabilisé le cycle de 2 jours révolus testé via SW2 lors du passage au 3eme jour avec SW1 = ON
                  # test à faire avant le changement de SW2 au cycle suivant
                  Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW5 – Action = ON — actif si SW1 = OFF
                  Src: SW2 = OFF – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW6 – Action = ON — actif si SW1 = OFF
                  Src: SW5 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW7 – Action = ON tant que Cdt vrai — actif si SW6 = ON

                  # Compteur SW2 peut être testé ON pour le passage de 1 jour sur 2
                  Src: SW1 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW2 – Action = Télérupteur — tjs Actif

                  # Compteur SW3 peut être testé ON pour le passage de 1 jour sur 3 (test SW1 + SW7 = ON)
                  # Il faut remettre SW3, SW5, SW6 = OFF après avoir utilisé SW3 dans le programme — SW7 se remet à OFF suivant SW5 ou SW6 = OFF
                  Src: SW1 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = ON — actif si SW7 = ON

                  # Compteur SW4 peut être testé ON pour le passage de 1 jour sur 4
                  Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW4 – Action = Télérupteur — tjs Actif

                  # RAZ SW1 = OFF au bout de 2 minutes pour autoriser les prochains test du créneau horaire journalier
                  Src: SW1 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sort. Switch.V. SW1 – Action = OFF si cdt vrai pendant tempo 120s – actif si SW1 = ON

                  # Exemple Test de SW2 ( 1 jour sur 2) pour monter un RelJour2
                  Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. RelJour2 – Action = ON — tjs Actif

                  # Exemple Test de SW3 ( 1 jour sur 3) pour monter un RelJour3
                  Src: SW3 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. RelJour3 – Action = ON — tjs Actif

                  # Exemple Test de SW4 ( 1 jour sur 3) pour monter un RelJour4
                  Src: SW4 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. RelJour4 – Action = ON — tjs Actif

                  # Important : Reset de SW5, SW6 et SW3 = OFF dans cet ordre après usage de SW3
                  Src: SW3 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW5 – Action = OFF — tjs Actif
                  Src: SW3 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW6 – Action = OFF — tjs Actif
                  Src: SW3 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = OFF — tjs Actif

                  Cdt

                  0
                  0
                  disco67
                  Participant

                    Ok ! Merci ! J’ai pas encore eu le temps de me pencher dessus… 🙁

                    Le but est d’optimiser l’ECS avec la pompe à chaleur. Apres un test manuel le ballon de 200l est largfement suffisant pour 2 jours.

                    Surement demain matin … Pfff

                     

                    Cdlt

                    0
                    0
                    cdlog2
                    Modérateur

                      Re:

                      Le plus simple pour un test 1 jour sur  2  :

                      SW1 sera actif à ON, 1 jour sur 2  à partir de 7h00 dans l’exemple :

                      Source : Prog.Hor – plage Hor. deb 07:00 fin 07h01 – Tl.jrs. >> Sortie. Switch.Virt.  SW1Action = Télérupteurtjs Actif

                      Cdt

                      0
                      0
                      disco67
                      Participant

                        OK 1 jour sur deux a l’air de bien fonctionner.

                        Question, quelle est la fonction du bloc de bouton ON/OFF qui se trouvent sous « action suivant switch virtuel » ? Est ce une activation/desactivation manuel de TOUTe la « ligne de commande » ?

                        En cas de panne de courant l’etat des switch virtuel est il maintenu ?

                        Cdlt

                         

                        0
                        0
                        cdlog2
                        Modérateur

                          Bonjour,

                          le choix fourni par les boutons radio « ON » et « OFF » visible sous « Actif suivant switch Virtuel » dans une ligne de programme, n’est pas une fonction mais une Option pour déterminer l’état d’un SWITCH VIRTUEL qui peut servir d’une 2eme condition logique en complément au 1er TEST fourni par l’état d’une SOURCE, pour activer l’ACTION fourni en Sortie.

                          Ce TEST complémentaire est activé lorsque l’on personnalise un Switch Virtuel à la place du choix « Toujours Actif ! » depuis le Menu déroulant « Actif suivant switch Virtuel »

                          Cela permet de faire : SI le 1er Test est vraie et SI le 2eme Test est vraie ==> alors l’Action est autorisé

                          Pour illustrer ma réponse, voici 3 exemple d’utilisation :

                          Dans cette ligne, on force SW3 = ON, dès lors que SW2 = ON et Sans autre condition.
                          Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = ON —  actif suivant : tjs Actif

                          Dans cette ligne, on rajoute un 2eme TEST pour autoriser SW3 = ON, dès lors que SW2 = ON et à condition que SW1 = ON
                          Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = ON —  actif suivant : SW1 = ON

                          Dans cette ligne, on rajoute un 2eme TEST pour autoriser SW3 = ON, dès lors que SW2 = ON et à condition que SW1 = OFF
                          Src: SW2 = ON – plage Hor.deb 00:00 fin 00h00 – Tl.jrs. >> Sortie. Switch.V. SW3 – Action = ON —  actif suivant : SW1 = OFF

                          Cdt

                          0
                          0
                          cdlog2
                          Modérateur

                            RE : Pour répondre à votre 2eme question :

                            En cas de panne de courant l’etat des switch virtuel est il maintenu ?

                            Les Switch Virtuel et Relais du WES vont reprendre, dans le cas d’un Reboot du WES,  leur ETAT Initial tel que positionné par défaut lors de l’enregistrement de la Configuration de la page « Relais et Entrées du Serveur » ET SI l’option « Sauvegarde état » visible en haut à gauche de la Page est positionné sur « ON »

                            Vous devez personnaliser l’état de vos SWV et Relais soit sur « ON ou OFF » au préalable et ensuite mettre cette Option « Sauvegarde état » sur « ON » avant de faire l’enregistrement de la configuration, si vous voulez retrouver les mêmes état par défaut lors d’un redémarrage du WES lors d’un Reset ou suite à une coupure électrique.

                             

                            0
                            0
                            disco67
                            Participant

                              OK compris !

                              Derniere question, les boutons « ON » « OFF » programmation & actions/Actions/Enabas à droite font partis de la fonction Email ?

                              Cdlt

                              0
                              0
                              cdlog2
                              Modérateur

                                Bonjour,

                                Les deux boutons radio « ON » et « OFF » sont uniquement liés au menu déroulant « Actif suivant switch Virtuel » et seront interprétés comme une Condition  Logique supplémentaire avec le Test de base d’une Source afin d’activer n’importe qu’elle Actions, y compris l’envoie de e-MAIL. Ces Boutons ne sont pris en compte que lorsque le choix du menu déroulant est Différent de « Toujours Actif ! »

                                Ce qui peut effectivement gêner et porter question ! c’est effectivement de voir ces deux Bouton Radio visible même lorsque l’option du menu déroulant est sur « Toujours Actif ! » alors que ces Boutons ne seront pas interprété dans ce cas.

                                Je vous propose une modification Soft simple à réaliser, si votre WES est en version WES V 0.84A4 afin de masquer ces deux boutons Radio lorsqu’ils ne sont pas utiles.

                                Je vous joins en pièce jointe un fichier texte avec une méthode pour implémenter cette modification à réaliser si vous le voulez et qui concerne uniquement les versions WES V0.84A4 et V0.84A4 BETA05 double site

                                Les fichier à modifier concernés sont :
                                PROGRAM.HTM si version WES V 0.84A4 du 13 Novembre 2020 (simple site)
                                PROGRAM.HTM et program.html si version WES V 0.84A4 BETA05 du 17 Janvier 2021 (double site )

                                Avant de modifier vos fichiers d’origines, les sauvegarder au préalable dans votre PC en cas d’une erreur de votre part lors des modifications.

                                Vous pouvez éditer ces fichiers HTM et html à l’aide d’un éditeur de texte lambda (Bloc-Notes, NotePad, etc) par un clic droit sur le fichier et choisir ouvrir avec « votre éditeur choisi ».

                                Faire attention à bien garder les extensions des fichiers en .HTM ou .html suivant le cas, si lors de l’enregistrement de vos Modifs depuis votre éditeur de texte, ce dernier change l’extension en .TXT. Dans ce cas, Renommer éventuellement vos fichiers avec le bon nom « program » et la Bonne extensions .HTM ou .html suivant le cas, si votre éditeur les a modifiés.


                                @Nicolas
                                , je vous envoie ces mofifs à implémenter dans votre prochaine release si vous le souhaitez.

                                Cdt

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                 

                                Attachments:
                                You must be logged in to view attached files.
                                0
                                0
                                cdlog2
                                Modérateur

                                  ATTENTION : WARNING Suite à ma proposition de modification du fichier PROGRAM .HTM et .html du Précédent POST.

                                  J’ai oublié un cas de figure dans la gestion de la page PROGRAM et j’ai rajouté une modification par rapport à mon précédent fichier joint.

                                  Je vous joins un nouveau fichier TXT intégrant l’ensemble des Modifs à implémenter.

                                  Désolé pour cela.

                                  Cdt

                                  Attachments:
                                  You must be logged in to view attached files.
                                  0
                                  0
                                  disco67
                                  Participant

                                    OK. Modifs faites (site double) , semble OK

                                    Si je comprends bien avec le choix d’un SW virtuel ET le bouton OFF activé => Pareil que « Toujours actif »

                                    J’ai pas essayé de me plonger dans le prog 🙂

                                    Cdlt

                                     

                                    0
                                    0
                                    cdlog2
                                    Modérateur

                                      Si je comprends bien avec le choix d’un SW virtuel ET le bouton OFF activé => Pareil que « Toujours actif »

                                      Non votre réflexion n’est pas correcte !. L’Etat que vous donnez au SW, soit « On » ou « OFF » est une Condition Logique et dépend du Test à réaliser conjointement avec le Test de la Source.

                                      Exemple d’usage avec l’activation de votre ECS.  Vous voulez activer votre ECS uniquement que tous les 1 jour sur 2. Mais si vous recevez des personnes chez vous, il est plus que évident qu’il faudra l’activer plus souvent.

                                      Donc si vous voulez automatiser le fonctionnement de votre ECS, vous devez en plus du Test Temporel (1j / 2) conditionner l’ activation de l’ECS sur un seuil de la température minimal de l’eau chaude en sortie de l’ECS via l’usage d’un SW « Temp » et vous pouvez en Plus Obliger à activer ou désactiver cet Automatisme manuellement par l’Usage d’un autre SW « Inter »comme interrupteur.

                                      Dans ce cas le SW « Temp » et le SW « Inter » devront  être analysé dans les divers Test par Activé suivant = « OFF » , afin d’autoriser le basculement Temporel automatique de 1 jour sur 2.

                                      Cdt

                                      0
                                      0
                                      disco67
                                      Participant

                                        Donc en clair, Si le test est VRAI cela SET (ON) ou RESET(OFF)  la variable (SWx)

                                        J’ai compris ?

                                        0
                                        0
                                        cdlog2
                                        Modérateur

                                          Bon ! Pour clore ce fil de discussion !

                                          On reprend la ligne de programme qui permet d’activer votre ballon ECS via un Relais exemple « Relais-ECS », activé 1 jour sur 2 et sans autre condition

                                          Source : Prog.Hor – plage Hor. deb 07:00 fin 07h01 – Tl.jrs. >> Sortie. Relais-ECS – Action = Télérupteurtjs Actif

                                          Maintenant nous voulons rajouter un choix entre deux modes d’activation de l’ECS à l’aide d’un Switch Virtuel exemple « ModeECS« , activé manuellement depuis la Page WES:

                                          « ModeECS » = « ON » >> activation du ballon ECS automatique 1 jour sur 2
                                          « ModeECS » = « OFF » >> activation du ballon ECS suivant un seuil de température mesuré par une sonde 1Wire exemple « Sonde-ECS » fixée sur le départ eau chaude du ballon ECS.

                                          Début programmation :

                                          # SW « ChoixActECS » = « ON » >> activation ECS mode bascule 1 jour sur 2
                                          Source : Prog.Hor – plage Hor. deb 07:00 fin 07h01 – Tl.jrs. >> Sortie.« Relais-ECS » – Action = TélérupteurActif suivant « ModeECS » = ON

                                          # SW « ChoixActECS » = « OFF » >> activation ECS en mode thermostat
                                          Source : « Sonde-ECS » – Thermostat Chauffage – Hystérésis 10 – Consigne 50 – plage Hor. deb 00:00 fin 00h00 – Tl.jrs.
                                          >> Sortie.« Relais-ECS » – Action = Mode ThermostatActif suivant « ModeECS » = OFF

                                          Voila vous avez ici deux exemples de l’usage de la rubrique Actif suivant via un SW... qui permet de rajouter un Test en complément au Test de base d’une Source pour autoriser en fonction de la logique souhaitée dans la ligne de programme d’activer ou interdire l’activation d’une Action en Sortie.

                                          La Sortie sera conditionné par le test de la Source Et par le test sur l’état d’un SW défini dans la rubrique Actif suivant…
                                          Le SW sélectionné depuis la rubrique Actif suivant … n’est pas activé Par cette rubrique ??? mais seulement testé comme la Source !!!

                                          Cdt

                                          0
                                          0
                                          disco67
                                          Participant

                                            Il faut que je lise ca à tete reposé.

                                            Ex ing de Maintenance ma culture en langue ANGLAISE de programmation assembleur Z80 6800 68000 et C et Step 5/7 Siemens me donne beaucoup de mal avec la programmation du wes en langue francaise.

                                            Je vais m’fforcer de decoder toussa,

                                            Merci à vous

                                            0
                                            0
                                            cdlog2
                                            Modérateur

                                              Faut pas vous casser la tête, si je retranscris en langage C de façon succincte,  cela donne ceci :

                                              If ( (Source == ?) && (SW == ?) ) {

                                                   DoAction();

                                              }

                                               

                                              0
                                              0
                                              cdlog2
                                              Modérateur

                                                équivalent en assembleur :

                                                mov eax, Source
                                                cmp eax, ??
                                                jnz EndProg
                                                mov eax, SW
                                                cmp eax, ??
                                                jnz EndProg
                                                call DoAction

                                                EndProg:

                                                0
                                                0
                                                cdlog2
                                                Modérateur

                                                  Juste pour INFO, Je ne sais pas si vous l’avez vu,

                                                  Nicolas à déposé une nouvelle MAJ WES V 0.84A9  en téléchargement.

                                                  0
                                                  0
                                                  cdlog2
                                                  Modérateur

                                                    Pour Info : Lien vers la description de la nvelle MAJ WES V 084A9 déposé par Nicolas en téléchargement :

                                                    https://www.cartelectronic.fr/blog/?topic=mise-a-jour-0-84a9/#post-10898

                                                     

                                                    0
                                                    0
                                                Vous lisez 21 fils de discussion
                                                • Vous devez être connecté pour répondre à ce sujet.