Air-Cockpit
Air-Cockpit
Air-Cockpit
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Air-Cockpit

Echange et partage entre créateurs et réalisateurs de simulateurs de vol.
 
AccueilDernières imagesS'enregistrerConnexion
Aircokpit est définitivement transféré à sa nouvelle adresse http://www.aircockpit.com. Ce forum sera bientôt en lecture seule. Voir messages d'annonce dans les sujets ci-dessous. L'équipe AIRCOCKPIT
Le Deal du moment : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

 

 Tension batterie non testable ??

Aller en bas 
3 participants
AuteurMessage
Kelt760




Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

Tension batterie non testable ?? Empty
MessageSujet: Tension batterie non testable ??   Tension batterie non testable ?? EmptyLun 17 Mar - 1:57

Salut à tous

J'inaugure cette rubrique en revenant sur un topic disons... ancien !

RAPPEL

Je cherche à faire une condition de courant prenant en compte -entre autres-, la tension de la batterie. J'utilisie pour cela la l'offsett $2840, Length 8, Numbers 2 qui renvoie la tension du bus batterie.

J'ai nommé cette variable fs_batt_volt.

Elle fonctionne correctement,je récupère en effet cette tension. D'après IOCPConsole, elle est à 28 volts quand un alternateur fonctionne, et diminue régulièrement de 24 à 16,8 volts quand on laisse la seule batterie ON, ce qui est normal. En dessous de A7 volts tout s'éteint. Jusque là, tout va bien.

Si j'ai un alterateur en marche, le test

IF &fs_batt_volt = 2800

renvoie d'ailleurs bien VRAI. OK.

Mais dans le cas contraire,

IF &fs_batt_volt > 1700

ne renvoie jamais vrai, même quand la console indique que la variable vaut 2400 ?!?
Seul le test

IF &fs_batt_volt > 0

renvoie VRAI, ce qui n'avance pas à grand chose. Toute autre valeur positive renvoie FAUX, je pige pas.

NOUVEAU

Ce que j'ai trouvé : si je recopie &fs_batt_volt dans une autre variable, par exemple &temp_batt, alors je peux faire mon test dessus :

&temp_batt = &fs_batt_volt
IF &&temp_batt > 1700
{
traitement
}

Quelqu'un peut m'expliquer ?

Pierre


Dernière édition par Kelt760 le Sam 29 Mar - 18:59, édité 1 fois
Revenir en haut Aller en bas
http://www.simubaron.new.fr
steph737

steph737


Nombre de messages : 725
Date d'inscription : 15/03/2008
Localisation : Antananarivo

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptyMar 18 Mar - 20:54

Montres nous ton code complet svp ( enfin la partie concernée par le problème ), ça peut être juste un petit problème de syntaxe.
Revenir en haut Aller en bas
http://steph737.blogspot.com
stevelep

stevelep


Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 50
Localisation : Neuchâtel LSGN, Suisse

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptyMar 18 Mar - 22:00

ta ligne "IF &fs_batt_volt > 1700" est bien dans la variable fs_battvolt ?

SIOC est orienté évenement -> pas d'événement pas d'execution de code.
il faut donc que les IF qui contienne un evariable soit
- dans le code dessous la variable
- dans une subroutine, lancée par la variable
- dans une variable de temps (fs_secondes)

sinon le code n'est jamais executé...

BOB
Revenir en haut Aller en bas
Kelt760




Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptyVen 28 Mar - 1:04

Oui, bien sûr. J'ai bien compris le principe de SIOC.

Je ne suis actuellement pas sur la machine sur laquelle se trouve le programme. Je le posterai demain, après une dernière vérification.

Pierre
Revenir en haut Aller en bas
http://www.simubaron.new.fr
Kelt760




Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptySam 29 Mar - 14:03

Voici la portion du code concernée :

Var 0002, name fs_bat, Link FSUIPC_INOUT, Offset $3102, Length 1 // batterie FS
{
&fs_bat = &sw_batt // si on clique l'inter à l'écran, il revient comme celui du panneau
}

Var 0003, name sw_batt, Link IOCARD_SW, Input 1 // INTER_BATTERIE
{
&fs_bat = &sw_batt //commande la batterie FS
CALL &sub_courant // recalcule la présence du courant
CALL &affich_Leds // Affiche les leds si courant
}

Var 0011, name sub_courant, Link SUBRUTINE // détermine si courant d'après tension bus
{
IF &fs_batt_volt = 2800 // au moins si une génértrice fonctionne <--ICI LE TEST FONCTIONNE
{
&courant = 1 // le courant est ON...
}
ELSE
{
IF &fs_bat = 1 // si inter batterie ON
{
IF &temp_batt > 1680 // si tension suffisante <- ICI IL NE FONCTIONNE PAS AVEC &fs_batt_volt ???
{
&courant = 1 // le courant est ON...
}
}
ELSE
{
&courant = 0 // le courant est OFF
}
}
CALL &affich_Leds
}


Var 0014, name fs_batt_volt, Link FSUIPC_IN, Offset $2840, Length 8, Numbers 2 // tension batterie FS
{
&temp_batt = &fs_batt_volt // <-- VARIABLE OBLIGEE POUR QUE LE TEST MARCHE ???
CALL &sub_courant
CALL &affich_Leds
}

(je ne mets pas la routine Affich_Leds qui allume les leds s'il y a du courant)

Je ne comprends pas l'obligation de cette variable &temp_batt qui ne sert qu'au test...

Quelqu'un voit ?
Revenir en haut Aller en bas
http://www.simubaron.new.fr
stevelep

stevelep


Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 50
Localisation : Neuchâtel LSGN, Suisse

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptySam 29 Mar - 20:24

Hello,

Si c'est pour mettre une condition "courant"
sur tes LED/afficheur.
C'est à dire que quand la tension descent au dessous
de 17Volts, toute les LED/display s'éteignent (panne de courant)
et qu'il se rallume si la tension remonte.

Je procèderai comme ceci
en utilisant le mainbus voltage qui est déjà codé dans FS
pour la logique (switch batt on/off, alternateur on/off etc ...)

En résumé s'il y a un tension dans le mainbus les LED peuvent s'allumer
sinon elle restent éteintes:



Var 0001, name switch, Link IOCARD_SW, Input 1 // interrupteur qui allume une LED
{
CALL &lightsys
}

Var 0002, name led, Link IOCARD_OUT, Output 1 // LED allumée par le switch

Var 0003, name courant // 1= courant dans le mainbus

Var 0004, name fs_mainbus, Link FSUIPC_IN, Offset $2840, Length 8, Numbers 2 // Main Bus Voltage
{
IF &fs_mainbus > 1700
{
&courant = 1
}
ELSE
{
&courant = 0
}

CALL &lightsys

}


Var 0005, name lightsys, Link SUBRUTINE // subroutine qui controle les LEDs

{

&led = &switch * &courant // si switch ET courant = LED ON
}



Voila en quelques lignes un interrupteur qui allume une LED
la LED ne s'allume que si il y a du courant dans l'avion ...

BOB
Revenir en haut Aller en bas
stevelep

stevelep


Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 50
Localisation : Neuchâtel LSGN, Suisse

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptySam 29 Mar - 20:28

Si tu veux un code encore plus court et plus pro (sans IF THEN):



Var 0001, name switch, Link IOCARD_SW, Input 1 // interrupteur qui allume une LED
{
CALL &lightsys
}
Var 0002, name led, Link IOCARD_OUT, Output 1 // LED allumée par le switch
Var 0003, name courant // négatif si pas assez de courant
Var 0004, name fs_mainbus, Link FSUIPC_IN, Offset $2840, Length 8, Numbers 2 // Main Bus Voltage
{
&courant = &fs_mainbus - 1699
CALL &lightsys
}
Var 0005, name lightsys, Link SUBRUTINE // subroutine qui controle les LEDs
{
&led = &switch * &courant // si switch ET courant = LED ON
}


Explication si mainbus devient plus petit que 1700, la variable courant devient négative
donc quand on la multiplie par la variable switch ca reste un nombre négatif.
les led ne s'allume que si leur variable est >= 1.
Donc même pas besoin de IF THEN pour attribuer des 0 / 1 à la variable courant
une simple soustraction suffit CQFD

BOB
Revenir en haut Aller en bas
Kelt760




Nombre de messages : 285
Date d'inscription : 15/03/2008
Localisation : Saclay

Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? EmptyDim 30 Mar - 13:36

Merci, Bob

c'est sûr que ton code est plus compact que le mien ; je n'avais pas pris le temps de voir comment réagit le mainbus de FS. L'astuce de la variable courant négative est subtile ; encore fallait-il savoir que les leds ne s'allument pas quand leur valeur est négative ! Tension batterie non testable ?? 578777

Me permets-tu de mettre cette astuce sur notre site (dans ce cas, tu me diras sous quel nom/lien je dois te citer) ?

Mais pour en revenir au titre du post, cela n'explique pas la bizarrerie du test sur la batterie, qui ne se fait pas quand sa tension décroît...

A+

Pierre
Revenir en haut Aller en bas
http://www.simubaron.new.fr
Contenu sponsorisé





Tension batterie non testable ?? Empty
MessageSujet: Re: Tension batterie non testable ??   Tension batterie non testable ?? Empty

Revenir en haut Aller en bas
 
Tension batterie non testable ??
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fsxpand et batterie

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Air-Cockpit :: Réalisations électronique :: Programmations Pics , Sioc et autres-
Sauter vers: