Astuces et Exemples de Programmations du Millénium II
Modérateurs : ramses, Balajol, monteric, j2c
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Bonsoir
Si on envoie un programme vierge au millenium il se purge (des fonctions métier si j'ai bien compris le message aperçu hier au détour d'une modif)...
Je ne pense pas que ce soit le problème de Kroutchef, il doit déborder, même en mode simulation.
Je me bat depuis un bon moment pour faire rentrer les choses dans le mien... Voici quelques conclusions:
* Les fonctions métier permettent un gain de place important en particulier la fonction Boolean cela remplace efficacement les fonction logiques (ne pas oublier de mettre dans les commentaires une explication de la table de vérité pour les maintenances ultérieures)
* Les timers en tous genre sont très gourmands => à limiter
* Preferer up/down counter (fonction métier) à preset count (mais cela ne fait pas exactement la même chose).
* Pour soustraire une constante la fonction gain est moins chère que la fonction addition + variable
* l'input analogique filtré est cher (mais bien) : blindez vos connexions sonde-convertisseur-millenium et augmentez légerement les hystérésis des fonction trigger
* Effectivement les paramtres sont très chers il faut donc limiter... un moyen est parfois de cacher un parametre dans la fonction gain, ou plus efficace de virer la fonction....
* Beaucoup de fonctions analogiques ont des entrées par défaut à 0 c'est à utiliser par exemple dans la fonction trigger. Au lieu de comparer "T compris entre A et B" il vaut mieux comparer "T-A entre 0 et A-B". Si T-A est calculé dans une fonction gain, on y gagne...
*La fonction métier mémoire peut être remplacée par un "muxAB" en reliant la sortie à l'entrée A. On gagne en place et on supprime une fonction métier. (Ne marche que si on a absolument besoin de remise à 0).
*Les displays un peu compliqués bouffent aussi de l'énergie. Il faut là aussi ne conserver que l'essentiel :( ... Ou/et faire comme moi un display spécial 'bug du jour' que l'on change en fonction des besoins
Dernier point qui fait gagner du temsp pour ceux qui ne l'avait pas vu: Pour voir si votre programme déborde sans le télécharger ou passer en mode simulation il existe l'outil kivabien: dans le menu "Controleur>Vérifier le programme", on tombe directemnt sur la fenètre d'info qui vous dit que vous êtes trop gros!!!
Courage ça va bien finir par rentrer :D !!!
Si on envoie un programme vierge au millenium il se purge (des fonctions métier si j'ai bien compris le message aperçu hier au détour d'une modif)...
Je ne pense pas que ce soit le problème de Kroutchef, il doit déborder, même en mode simulation.
Je me bat depuis un bon moment pour faire rentrer les choses dans le mien... Voici quelques conclusions:
* Les fonctions métier permettent un gain de place important en particulier la fonction Boolean cela remplace efficacement les fonction logiques (ne pas oublier de mettre dans les commentaires une explication de la table de vérité pour les maintenances ultérieures)
* Les timers en tous genre sont très gourmands => à limiter
* Preferer up/down counter (fonction métier) à preset count (mais cela ne fait pas exactement la même chose).
* Pour soustraire une constante la fonction gain est moins chère que la fonction addition + variable
* l'input analogique filtré est cher (mais bien) : blindez vos connexions sonde-convertisseur-millenium et augmentez légerement les hystérésis des fonction trigger
* Effectivement les paramtres sont très chers il faut donc limiter... un moyen est parfois de cacher un parametre dans la fonction gain, ou plus efficace de virer la fonction....
* Beaucoup de fonctions analogiques ont des entrées par défaut à 0 c'est à utiliser par exemple dans la fonction trigger. Au lieu de comparer "T compris entre A et B" il vaut mieux comparer "T-A entre 0 et A-B". Si T-A est calculé dans une fonction gain, on y gagne...
*La fonction métier mémoire peut être remplacée par un "muxAB" en reliant la sortie à l'entrée A. On gagne en place et on supprime une fonction métier. (Ne marche que si on a absolument besoin de remise à 0).
*Les displays un peu compliqués bouffent aussi de l'énergie. Il faut là aussi ne conserver que l'essentiel :( ... Ou/et faire comme moi un display spécial 'bug du jour' que l'on change en fonction des besoins
Dernier point qui fait gagner du temsp pour ceux qui ne l'avait pas vu: Pour voir si votre programme déborde sans le télécharger ou passer en mode simulation il existe l'outil kivabien: dans le menu "Controleur>Vérifier le programme", on tombe directemnt sur la fenètre d'info qui vous dit que vous êtes trop gros!!!
Courage ça va bien finir par rentrer :D !!!
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Re bonsoir
Au fait, j'oubliais le plus agaçant :evil: :
Cela ne sert à rien (ou presque) d'avoir un tableau des poids des diverses fonctions. En effet le machin coince AVANT que l'une des zones (parametre / TOR / autre / Programme) n'ait atteind le maximum exemple (tout frais, du jour):
Mon programme actuel occupe:
Param:650
TOR:101
Autre:124
Programme:1859
si j'ajoute un timer BH j'explose le compteur:
Param:654
TOR:103
Autre:127
Programme:2053
Alors qu'un timerBH seul coûte:
Param:4
TOR:3
Autre:3
Programme:43
Moralité: le millenium ne sait pas faire d'addition.
....
ça rentrera quand même!!!
Au fait, j'oubliais le plus agaçant :evil: :
Cela ne sert à rien (ou presque) d'avoir un tableau des poids des diverses fonctions. En effet le machin coince AVANT que l'une des zones (parametre / TOR / autre / Programme) n'ait atteind le maximum exemple (tout frais, du jour):
Mon programme actuel occupe:
Param:650
TOR:101
Autre:124
Programme:1859
si j'ajoute un timer BH j'explose le compteur:
Param:654
TOR:103
Autre:127
Programme:2053
Alors qu'un timerBH seul coûte:
Param:4
TOR:3
Autre:3
Programme:43
Moralité: le millenium ne sait pas faire d'addition.

ça rentrera quand même!!!
- kroutchef
- Expert Solaire
- Messages : 686
- Enregistré le : dim. déc. 25, 2005 17:44 pm
- Localisation : ALBI (81)
- Contact :
Voici la description d'une erreur de conception qui ne se voie qu'une fois le programme executé en réel sur l'automate ( ne se voie pas en simulation PC) ...
Utiliser un comparateur pour comparer deux valeurs ( une constante et une température par exemple ) et utiliser le résultat directement pour commander un relais de sortie !
Sur le principe cela paraît tout à fait logique et normal, en fait dans la pratique pour une température qui "oscille" légèrement autour de la valeur de seuil il se passe un phénomène de "sonnette"! j'y vais... j'y vais pas... Pour palier à cette erreur il faut utiliser un Trigger et insérer une hystéresis ( encore elle ) de quelques "degrés" qui va différencier le seuil d'enclenchement et de déclenchement...
C'est tout bète mais il faut tomber sur cette valeur de basculement non franche pour s'en appercevoir, je n'ai remarqué ce phénomène qu'aprés plusieurs jours de fonctionnement ,en tests finaux de ma PC ( cartes sondes / Millenium cablés en maquette )...
( Concerné la gestion du choix d'aiguillage serpentin solaire Haut ou Bas de ma cuve en fonction de la température haute de cuve )
Utiliser un comparateur pour comparer deux valeurs ( une constante et une température par exemple ) et utiliser le résultat directement pour commander un relais de sortie !
Sur le principe cela paraît tout à fait logique et normal, en fait dans la pratique pour une température qui "oscille" légèrement autour de la valeur de seuil il se passe un phénomène de "sonnette"! j'y vais... j'y vais pas... Pour palier à cette erreur il faut utiliser un Trigger et insérer une hystéresis ( encore elle ) de quelques "degrés" qui va différencier le seuil d'enclenchement et de déclenchement...
C'est tout bète mais il faut tomber sur cette valeur de basculement non franche pour s'en appercevoir, je n'ai remarqué ce phénomène qu'aprés plusieurs jours de fonctionnement ,en tests finaux de ma PC ( cartes sondes / Millenium cablés en maquette )...
( Concerné la gestion du choix d'aiguillage serpentin solaire Haut ou Bas de ma cuve en fonction de la température haute de cuve )
Amitiés ensoleillées ...
Alain R. (Albi)
"Ne quid nimis, sol lucet omnibus !"
http://alainraynal.wordpress.com (site catastrophe aprés migration de windowslive > description install)
Alain R. (Albi)
"Ne quid nimis, sol lucet omnibus !"
http://alainraynal.wordpress.com (site catastrophe aprés migration de windowslive > description install)
- françois34
- Modérateur
- Messages : 1213
- Enregistré le : ven. janv. 20, 2006 12:33 pm
- Localisation : Herault
Salut Alain,
@+
Pourquoi tu ne mets pas simplement un TIMER AC ?Sur le principe cela paraît tout à fait logique et normal, en fait dans la pratique pour une température qui "oscille" légèrement autour de la valeur de seuil il se passe un phénomène de "sonnette"! j'y vais... j'y vais pas... Pour palier à cette erreur il faut utiliser un Trigger et insérer une hystéresis ( encore elle ) de quelques "degrés" qui va différencier le seuil d'enclenchement et de déclenchement
@+
Avec Linux vous avez un noyau. Avec Windows vous avez des pépins...
-
- Modérateur
- Messages : 879
- Enregistré le : sam. déc. 24, 2005 13:42 pm
- Localisation : Vinay - 38 - ISERE
Bonjour à tous
En ce qui concerne l' emploi des tempo en amont des relais, je crois que c' est une des premières choses que j' avais conseillées.
C' est vrai qu' en simulation, on ne peut pas espérer reproduire la réalité du fonctionnement de l' installation.
Un timer n' est pas trés gourmand question place, et on peut régler son enclenchement à 0
Mais pourquoi faire simple, quand on peut faire compliqué ??
:D :D :D
En ce qui concerne l' emploi des tempo en amont des relais, je crois que c' est une des premières choses que j' avais conseillées.
C' est vrai qu' en simulation, on ne peut pas espérer reproduire la réalité du fonctionnement de l' installation.
Un timer n' est pas trés gourmand question place, et on peut régler son enclenchement à 0
Mais pourquoi faire simple, quand on peut faire compliqué ??
:D :D :D
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Bonsoir,
On voit que vous avez les moyens!!!
Le coût de 1 comparateur + un timer AC est bien supérieur à celui d'un trigger bien paramétré... Je pense même que pour le prix on doit pouvoir filtrer l'entrée analogique à comparer...(A ce propos vous pouvez y aller franchement sur le filtrage 0.1 Hz de coupure cela paraît déjà bien au dela de nos besoins solaires...)
Le timer AC, pour les gens qui, comme moi, courrent (à plus de 1Hz) après la place sur leur millenium devrait être réservé au filtrage du résultat d'une fonction Booléene un peu complexe "(T1>T2) ET (T3>cste)"
A+
On voit que vous avez les moyens!!!
Le coût de 1 comparateur + un timer AC est bien supérieur à celui d'un trigger bien paramétré... Je pense même que pour le prix on doit pouvoir filtrer l'entrée analogique à comparer...(A ce propos vous pouvez y aller franchement sur le filtrage 0.1 Hz de coupure cela paraît déjà bien au dela de nos besoins solaires...)
Le timer AC, pour les gens qui, comme moi, courrent (à plus de 1Hz) après la place sur leur millenium devrait être réservé au filtrage du résultat d'une fonction Booléene un peu complexe "(T1>T2) ET (T3>cste)"
A+
-
- Modérateur
- Messages : 879
- Enregistré le : sam. déc. 24, 2005 13:42 pm
- Localisation : Vinay - 38 - ISERE
Bonsoir Yves Guern
Kroutchef ne parlait pas de manque de place, mais d' erreur de conception
De quelle erreur de conception parle t' il ?? De son programme, du millénium, de quoi exactement ?
Si son M2 est plein jusqu' à raz bord, on est OK sur le fait qu' il cherche à gagner de la place, comme tout le monde , mais jusqu' à preuve du contraire, un COMPARE et un TIMER A/C, c' est un montage qui fonctionne bien
Kroutchef ne parlait pas de manque de place, mais d' erreur de conception
De quelle erreur de conception parle t' il ?? De son programme, du millénium, de quoi exactement ?
Si son M2 est plein jusqu' à raz bord, on est OK sur le fait qu' il cherche à gagner de la place, comme tout le monde , mais jusqu' à preuve du contraire, un COMPARE et un TIMER A/C, c' est un montage qui fonctionne bien
- françois34
- Modérateur
- Messages : 1213
- Enregistré le : ven. janv. 20, 2006 12:33 pm
- Localisation : Herault
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Bonjour
J'ai essayé et j'ai les chiffres (comme on dit en ces périodes électorales):
1 entrée analogique + deux constante numériques + 1 trigger cela coûte:
Param:6
TOR:2
Autre:8
Programme:62
1 entrée analogique + une constante numérique + 1 comparateur + 1 timer AC cela coûte:
Param:10
TOR:5
Autre:11
Programme:103
Yapafoto non?
Et encore, pour le trigger, en faisant à l'économie, on peu virer une des deux constantes.
A+
J'ai essayé et j'ai les chiffres (comme on dit en ces périodes électorales):
1 entrée analogique + deux constante numériques + 1 trigger cela coûte:
Param:6
TOR:2
Autre:8
Programme:62
1 entrée analogique + une constante numérique + 1 comparateur + 1 timer AC cela coûte:
Param:10
TOR:5
Autre:11
Programme:103
Yapafoto non?
Et encore, pour le trigger, en faisant à l'économie, on peu virer une des deux constantes.
A+
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
A André:
Bonjour,
Je suis tout à fait d'accord avec le fait que la question/remarque de kroutchef ne portait pas, ce coup là, sur le manque de place mais sur un problème d'oscillation.
Je voulais juste dire qu'entre deux solutions, toutes aussi efficaces contre la sus-dite oscillation, il y en a une nettement moins gourmande. J'aurais donc tendance à la conseiller à ceux qui partent d'une feuille vierge.
A+
Bonjour,
Je suis tout à fait d'accord avec le fait que la question/remarque de kroutchef ne portait pas, ce coup là, sur le manque de place mais sur un problème d'oscillation.
Je voulais juste dire qu'entre deux solutions, toutes aussi efficaces contre la sus-dite oscillation, il y en a une nettement moins gourmande. J'aurais donc tendance à la conseiller à ceux qui partent d'une feuille vierge.
A+
-
- Modérateur
- Messages : 879
- Enregistré le : sam. déc. 24, 2005 13:42 pm
- Localisation : Vinay - 38 - ISERE
Bonjour Yves
As tu essayé ton montage en réel ( filtrage + Trigger ) ?? et es tu sûr que tu peux te passer de la tempo, car comme on le disait un peu plus haut , ce genre de chose ( oscillation d' 1/10 éme de seconde ) est impossible à réaliser en simulation, par contre , le relais lui, va le voir.
Donc si ton montage est au top, ça fait effectivement une excellente solution à employer
A bientôt
As tu essayé ton montage en réel ( filtrage + Trigger ) ?? et es tu sûr que tu peux te passer de la tempo, car comme on le disait un peu plus haut , ce genre de chose ( oscillation d' 1/10 éme de seconde ) est impossible à réaliser en simulation, par contre , le relais lui, va le voir.
Donc si ton montage est au top, ça fait effectivement une excellente solution à employer
A bientôt
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Re bonjour,
Que dire d'autre que "c'est ce que j'emploie chez moi" ? J'en suis très content, pas en simulation, mais en réel depuis 3 mois maintenant.
C'est vrai que ce n'est pas exactement la même philosophie, mais en final l'effet est le même. Il suffit que les valeurs de commutation du trigger soient suffisament élognées l'une de l'autre (en fait de la valeur du bruit de mesure).
Au début, avant de faire de la place, j'avais des entrées non filtrées. Un écart de 3° entre la mise en marche et l'arret des trigger était tout à fait satisfaisant, même pour comparer 2 entrées analogiques. Depuis que je filtre les entrées j'ai réduit certain des triggers à 2° d'écart et je pense qu'on pourrait mettre moins...
A+
Que dire d'autre que "c'est ce que j'emploie chez moi" ? J'en suis très content, pas en simulation, mais en réel depuis 3 mois maintenant.
C'est vrai que ce n'est pas exactement la même philosophie, mais en final l'effet est le même. Il suffit que les valeurs de commutation du trigger soient suffisament élognées l'une de l'autre (en fait de la valeur du bruit de mesure).
Au début, avant de faire de la place, j'avais des entrées non filtrées. Un écart de 3° entre la mise en marche et l'arret des trigger était tout à fait satisfaisant, même pour comparer 2 entrées analogiques. Depuis que je filtre les entrées j'ai réduit certain des triggers à 2° d'écart et je pense qu'on pourrait mettre moins...
A+
- françois34
- Modérateur
- Messages : 1213
- Enregistré le : ven. janv. 20, 2006 12:33 pm
- Localisation : Herault
- Yves Guern
- Expert Solaire
- Messages : 522
- Enregistré le : dim. janv. 01, 2006 20:02 pm
- Localisation : Jouques (13)
Bonsoir,
"Cela fonctionne comment ?"
J'en ai une vague idée (mais elle n'a pas vraiement d'importance), il doit s'agir d'un 'filtre récursif' qui a pour effet de donner la valeur moyenne de n acquisitions successives faites à 100Hz (10ms). On gagne en bruit racine(n). Ce gain et théorique, c'est donc une limite accessible à condition qu'ils soient très efficaces chez Crouzet (à André : j'en doute pas
) et que notre électronique le soit aussi (là, j'ai pas d'avis(je tiens à être élu aux prochaines élections)
).
Bref vu le temps de réponse des vannes que l'on emploie (1 minute ou plus), les inerties thermique diverses et variées, on peut (doit) filtrer à 0.1 Hz (voir moins) soit une moyenne sur 10s (ou plus).
Limite: quels que soit vos efforts, la température mesurée va varier (hésiter) parfois d'un bit (sur l'echelle 0-255): n'espérez pas moins de 0.4° "d'hésitation" de votre entrée (pour une sonde 0-100°), tablez sur 0.8° et vous ne serez jamais déçus. => pas de trigger avec moins de 1° d'écart entre Ton et Toff.
La nature est moins pressé et moins pointilleuse que l'homme ...???
A+
"Cela fonctionne comment ?"
J'en ai une vague idée (mais elle n'a pas vraiement d'importance), il doit s'agir d'un 'filtre récursif' qui a pour effet de donner la valeur moyenne de n acquisitions successives faites à 100Hz (10ms). On gagne en bruit racine(n). Ce gain et théorique, c'est donc une limite accessible à condition qu'ils soient très efficaces chez Crouzet (à André : j'en doute pas
Bref vu le temps de réponse des vannes que l'on emploie (1 minute ou plus), les inerties thermique diverses et variées, on peut (doit) filtrer à 0.1 Hz (voir moins) soit une moyenne sur 10s (ou plus).
Limite: quels que soit vos efforts, la température mesurée va varier (hésiter) parfois d'un bit (sur l'echelle 0-255): n'espérez pas moins de 0.4° "d'hésitation" de votre entrée (pour une sonde 0-100°), tablez sur 0.8° et vous ne serez jamais déçus. => pas de trigger avec moins de 1° d'écart entre Ton et Toff.
La nature est moins pressé et moins pointilleuse que l'homme ...???
A+
-
- Modérateur
- Messages : 879
- Enregistré le : sam. déc. 24, 2005 13:42 pm
- Localisation : Vinay - 38 - ISERE
Bonsoir yves
J' ai essayé à plusieurs reprises aujourd' hui d' avoir le technicien maison, pour en savoir un peu plus sur le filtrage des entrées , mais pas moyen, trés occupé, le Monsieur.
Je recommencerai demain ou un autre jour. parce que j' aimerais bien savoir si ce qui est gagné en occupation mémoire ne se fait pas au détriment du temps de traitement du programme.
Je suis peut être en train de vouloir enc... une mouche, mais j' ai un peu de temps à perdre, alors ...
Qu' est ce que tu en penses ???
A bientôt
J' ai essayé à plusieurs reprises aujourd' hui d' avoir le technicien maison, pour en savoir un peu plus sur le filtrage des entrées , mais pas moyen, trés occupé, le Monsieur.
Je recommencerai demain ou un autre jour. parce que j' aimerais bien savoir si ce qui est gagné en occupation mémoire ne se fait pas au détriment du temps de traitement du programme.
Je suis peut être en train de vouloir enc... une mouche, mais j' ai un peu de temps à perdre, alors ...
Qu' est ce que tu en penses ???
A bientôt