Page 1 sur 1

[TUTO SIOC] Les SUBRUTINE

MessagePosté: Ven 27 Mar 2015 14:22
de mameloose
et rebonjour a tous !

aujourdhui nous allons utiliser les subroutines !
alors une subroutine ca sert a quoi ? a utiliser plusieurs conditions pour n'en faire qu'une tout simplement

petit exemple : j'ai dans mon avion 3 reservoir de carburant ; un centrale un gauche un droit

je veux maintenant allumer une led si l'un des 3 est inferieur a 30% de sa capacité par ex ..

je vais donc utiliser une subroutine qui va analyser en permanence l'etat de mes reservoirs et declencher la led si l'un des 3 est inferieur a 30%

1- declarer les variables

je recherche comme toujours dans le sdk les offsets de capacité des reservoirs centre gauche et droit

Image

ok ici l'offset $0B74 de longueur 4 nous donne la valeur en pourcentage du reservoir centrale
l'offset $0B7C pour le gauche et $0B94 pour le droit

on peut lire que dans la case de commande un reservoir plein a 100 % est egale a 128 multiplié par 65536

ce qui veut dire que 100% est egal a 8388608 !

maintenant petit produit en croix pour convertir cette valeur pour 30 % (retour en 5 eme ....)

ca nous donne 2516582 !

ok maintenant on sait que la valeurs qu'il faudra inscrire dans sioc sera de 2516582 pour dire 30%

c'est bon tout le monde suit??

on continue

je declare maintenant mes variables ainsi que ma led

EDIT INSERVAR

Image

pareil pour les autres

Image

Image

ok c'est good jusque la !

maintenant la suite

2- creer une subroutine
Image

ok maintenant nous allons faire comprendre a cette subroutine que si un des 3 reservoirs est en dessous de 30% il faut allumer l'alarme

CLIC dROIT ET NEWCOMMAND

Image

Image

alors ca veut dire quoi jusque la ?

LO est une variable interne comme on pourrai dire dans une equation mathematique X est egal a ?

ca permet de regrouper ici 2 valeurs ; celle du fuel centre et du droit
mais ils nous manque le fuel gauche donc continuont ...

Image

Image

Image

voila donc pour finaliser tout ca L2 est egale aux trois valeurs des reservoirs

vous noterez que j'ai utilisé AND et non pas + sinon les 3 valeurs auraient été additionnées ducoup ca ne marche pas pour cette exemple

maintenant la commande d'allumage

Image

Image

CLIC DROIT SUR LA CONDITION IF ET NEWCOMMAND

Image
Image

donc voila ici si un des 3 reservoirs atteind 30% la led s'allume

maintenant le contraire

CLIC DROIT SUR LA SUBROUTINE ET NEW COMMAND

Image

CLIC DROIT SUR ELSE ET NEWCOMMAND

Image
Image

RECLIC DROIT SUR LA CONDITION IF ET NEWCOMMAND

Image
Image

voila c'est presque fini maintenant il faut lier les variables de fuel a la subroutine

3- APPELER LA SUBROUTINE

clic droit sur les variables de fuel et newcommand

Image

pareil pour les deux autres ..

Image

et voilaaaa!!

ducoup on resume

ma subroutine dit que si un de mes 3 reservoirs est en dessous de 30% alors une led d'alarme s'allume et si c'est le contraire elle s'eteind.
pour lier cette subroutine au variables des reservoirs j'appel (CALL) la subroutine

les subroutines sont utiles pour plein d'autre choses comme une alarme de circuit hydraulique par exemple ....sur le meme principe

Re: tuto sioc les subroutines

MessagePosté: Ven 27 Mar 2015 17:27
de Boutondair
Alors là vraiment chapeau applaublanc applaublanc applaublanc

Avec les sites de Claude, Bernard, les 2 Pierres j'avais à peu près compris mais là c'est très limpide avec images à l'appuis, vraiment génial

David cligneoeil grandsoleil

Re: tuto sioc les subroutines

MessagePosté: Ven 27 Mar 2015 18:04
de mameloose
mercii grandsoleil

oui pas facile les sub faut pratiquer ....

Re: [TUTO SIOC] Les SUBRUTINE

MessagePosté: Mar 9 Fév 2021 18:57
de kheops43
Bonsoir Mameloose!
Tout d'abord un grand merci pour ce cour de soubroutine de sioc! tout est parfait! mais dans la config sioc: la ligne:
Variable 0004, name ledalarmefuel_out, output 25, le chiffre 25 venait d'où?
Merci d'avance pour l'explication.
cordialement
erich

Re: [TUTO SIOC] Les SUBRUTINE

MessagePosté: Mar 9 Fév 2021 19:15
de fab
J'vais répondre si Greg me l'autorise ? yeuxhaut ...

25, c'est une out de la carte IO qui porte le numéro 25 et sur laquelle est branchée la LED alarme fuel cligneoeil

Cela dépendra de ton câblage yeuxhaut

Re: [TUTO SIOC] Les SUBRUTINE

MessagePosté: Mar 9 Fév 2021 19:54
de mameloose
Nickel fab merci affiche

Re: [TUTO SIOC] Les SUBRUTINE

MessagePosté: Mer 10 Fév 2021 19:39
de kheops43
fab a écrit:J'vais répondre si Greg me l'autorise ? yeuxhaut ...

25, c'est une out de la carte IO qui porte le numéro 25 et sur laquelle est branchée la LED alarme fuel cligneoeil

Cela dépendra de ton câblage yeuxhaut


Merci pour la réponse si rapide!
Donc le n° 25 est le ( n° output de la carte IO), et il est gravé sur le circuit imprimé, ou peut-être simplement sur le schéma de la carte IO, le n°25 est indiqué sur la broche connectique .
A+
erich

Re: [TUTO SIOC] Les SUBRUTINE

MessagePosté: Mer 10 Fév 2021 22:03
de fab
Je ne sais pas si c'est le CI, mais en tout cas c'est dans la doc Opencockpit ...

Tu n'as pas encore utilisé de OUT sur tes cartes ?
Ou c'est pour ajouter une LED ?