| Comment programmer le Master Warning ? (résolu) | |
|
|
Auteur | Message |
---|
razmott
Nombre de messages : 246 Date d'inscription : 15/03/2008 Localisation : Laroque des Albères (66)
| Sujet: Comment programmer le Master Warning ? (résolu) Jeu 22 Mai - 19:33 | |
| Le test de mes alarmes fonctionne très bien (topic plus bas), je bute maintenant sur les alarmes Master. Le Master Warning rouge doit s'allumer quand une au moins des alarmes rouges est allumée. Le Master Caution jaune en fait autant avec les alarmes jaunes. Si je dis WARNING = ALARME 1, il va s'allumer et s'éteindre en même temps que ALARME 1. Très bien, mais si en même temps ALARME 2 est allumée, quand ALARME 1 va s'éteindre, elle mettra à 0 la variable de WARNING , alors que ALARME 2 toujours allumée devrait la maintenir à 1 ... Il faudrait une collection de OR , mais cela concerne 20 alarmes rouges et 12 jaunes. Passer par une variable relais comme pour le bouton de test ? Je vois mal comment faire. Si vous pouvez m'éclairer, merci par avance.
Claude
Dernière édition par razmott le Lun 26 Mai - 11:35, édité 1 fois | |
|
| |
steph737
Nombre de messages : 725 Date d'inscription : 15/03/2008 Localisation : Antananarivo
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Jeu 22 Mai - 21:11 | |
| Juste une petite idée de principe :
si à chaque alarme tu appelles une subroutine "master warning" genre:
master warning = alarme 1 + alarme 2 + ...... + Alarme 20
si master warning > 0 alors master warning =1 sinon master warning = 0
à chaque fois qu'une alarme est modifié, tu checke l'ensemble des 20 ou 12 alarmes concernées
Pas super élégant mais comme sioc va vite.... | |
|
| |
stevelep
Nombre de messages : 512 Date d'inscription : 16/03/2008 Age : 50 Localisation : Neuchâtel LSGN, Suisse
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Jeu 22 Mai - 22:10 | |
| Autre idée
(en complément à celle de steph)
tu attribue un BIT de la variable output MasterAlarm à chaque alarme
ex.
Var 2000, name alarm1 { &masteralarm = CHANGEBIT 1 &alarm1 } Var 2001, name alarm2 { &masteralarm = CHANGEBIT 2 &alarm2 }
etc etc,
si alarm2 = 1 le 2eme bit de masteralarm = 1 donc masteralarm > 0 donc la led master alarme s'allume.
si la moindre alarme = 1 la variable masteralarm sera plus grande que 0 donc la LED s'allumera
comme ca pas besoin de faire des additions de variables
Ouala BOB | |
|
| |
razmott
Nombre de messages : 246 Date d'inscription : 15/03/2008 Localisation : Laroque des Albères (66)
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Jeu 22 Mai - 23:49 | |
| Vous êtes géniaux, les deux solutions fonctionnent parfaitement. J'adopte celle de Bob, particulièrement futée. Merci beaucoup à vous deux,
Claude | |
|
| |
Papa Charlie
Nombre de messages : 528 Date d'inscription : 16/03/2008 Age : 56 Localisation : Haute-Savoie
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 0:02 | |
| J'en apprends moi aussi tous les jours sur ce forum, merci à vous. Philippe | |
|
| |
Kelt760
Nombre de messages : 285 Date d'inscription : 15/03/2008 Localisation : Saclay
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 0:08 | |
| Super, mais combien d'octets, donc combien de bits contient une variable SIOC ? J'ai dû le voir quelque part, mais j'ai oublié... Cela détermine le nombre d'alarmes possibles, non ? A moins d'avoir plusieurs Masteralarm ?
Pierre | |
|
| |
steph737
Nombre de messages : 725 Date d'inscription : 15/03/2008 Localisation : Antananarivo
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 0:50 | |
| Là je suis un peu largué aussi, les variables de longueur "4" dans sioc permettent de coder 16383, ça fait deux octets ça, donc 16 bits. On doit pouvoir mettre plus ?
Sinon, merci Bob, l'élégance en plus ! ( plus de subroutine ni de calcul, la variable master alarm est automatiquement activée au moindre changement dans les alarmes, super ) | |
|
| |
stevelep
Nombre de messages : 512 Date d'inscription : 16/03/2008 Age : 50 Localisation : Neuchâtel LSGN, Suisse
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 2:33 | |
| Dans mon code pour une variable normale j'ai été jusqu'au BIT 15, mais dans la console SIOC sous binary il affiche une trentaine de zéro Donc on doit pouvoir aller jusqu'à 32 BIT ? Faut tester ça Autre astuce pour faire un RESET de la Master Alarm.Tu peux pas simplement la mettre = 0 avec un switch car si une alarme est encore enclenchée la led va directement se réallumer. Pour simuler un reset il faut donc utiliser une variable temporaire de soustraction ou tu stocke la valeur de ta variable masteralarm. quand tu presses le reset. je m'explique: led = masteralarm - soustraction si switchreset = 1 -> soustraction=masteralarm donc au départ: soustration = 0 led = masteralarm = 0 une alarme se déclanche (BIT 3) led = masteralarm (2 puissance3) -soustraction ( 0) donc led = 8 (allumée) tu presses le reset soustraction = masteralarm ( 8) = 8 led = 8 - 8 = 0 (éteint malgré l'alarme N°3, tu as resetté cette alarme uniquement) si une autre alarme se déclanche la led va se réallumer en résumé ce reset permet de désactiver des alarmes tout en laissant les autres alarmes active c'est ce qui est utilisé sur un 737 avec le bouton "Master Caution (push to reset)" de plus tu peux ajouter un timer qui au bout de tant de secondes/minutes te remet la variable de soustraction à zéro et te réactive donc toutes tes alarmes ... Voila c'est un peu compliqué à expliquer mais relativement simple à faire ... BOB | |
|
| |
razmott
Nombre de messages : 246 Date d'inscription : 15/03/2008 Localisation : Laroque des Albères (66)
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 10:43 | |
| Pierre: je me suis posé la même question, en fait une variable interne quelconque a 32 bits, j'ai essayé, ça marche très bien du bit 00 au 31. C'est plus que le nécessaire pour mes alarmes. Bob: encore une astuce de programmation intéressante, qui pourrait améliorer le Beech 200, en particulier avec le reset temporisé. Améliorer, car le système d'origine de Beech est simplement que si le pilote est énervé par l'alarme Master -clignotante en plus- il peut tout simplement la couper en poussant sur l'inter incorporé... Cela ne supprime évidemment pas la cause de l'alarme, mais c'est le principe retenu par Beech. Pas trop dangereux quand même, car le panneau des alarmes rouges se trouve juste à côté, et ça éclaire assez fort pour qu'une alarme en marche ne puisse pas passer inapperçue.
Claude | |
|
| |
Kelt760
Nombre de messages : 285 Date d'inscription : 15/03/2008 Localisation : Saclay
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Ven 23 Mai - 10:49 | |
| OUAOUH !!! Mais où s'arrêtera-t-il ? On a de la chance d'avoir un pareil pro de la programmation... Merci, Bob. Pierre | |
|
| |
tabar57
Nombre de messages : 125 Date d'inscription : 17/03/2008 Age : 68 Localisation : Doncourt les conflans Meurthe et moselle
| |
| |
stevelep
Nombre de messages : 512 Date d'inscription : 16/03/2008 Age : 50 Localisation : Neuchâtel LSGN, Suisse
| Sujet: Re: Comment programmer le Master Warning ? (résolu) Lun 26 Mai - 13:06 | |
| merci tu sais je suis pas un pro, c'est juste des astuces découvertes en cours de programmation pour résoudre des problèmes BOB | |
|
| |
Contenu sponsorisé
| Sujet: Re: Comment programmer le Master Warning ? (résolu) | |
| |
|
| |
| Comment programmer le Master Warning ? (résolu) | |
|