Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
J'ai une question concernant la programmation SIOC sur le B 767 level d avec l'interface lekseecon qui facilite vraiment le codage puisqu'il suffit de codé par numéro de VAR.
En revanche je ne comprends pas comment coder l'allumage d'une LED en fonction de l'action qui va avec. Pour exemple lors du serrage du frein de parcking.
Frein de parck correspond à :
508 O Parking Brake position in panel (to be set by your SIOC application from FSUIPC 0x0BC8): 0=Released, 1=Set
509 OL 0=RELEASED, 1=SET
Pour moi la VAR 508 est celle de FS, la 509 la VAR hardware le SW, mais qu'elle est la variable permettant d'allumer une LED?
Ce type de code serait il une solution?
Var 509, Link IOCARD_SW, Input 1
{
IF V509 = 1
{
V1001 = 1
}
ELSE
{
V1001 = 0
}
}
Var 1001, Link IOCARD_OUT, Output 1
D'avance merci
Hors ligne
En fait il te dit qu'il faut envoyer l'état du Parking Brake via SIOC dans l'offset 0x0BC8 de fsuipc. SI tu veux allumer une LED, tu va lui faire lire l'état dans le même offset de fsuipc.
En partant du principe, comme tu le dis que l'offset FSUIPC du parking brake est 0x0BC8 sur 4 bits, et que 0=released et que 1=On, ça donne :
var 0100, name PkgBrake_LD, link IOCARD_OUT, Output 1 // Declaration de la led sur sortie 1 carte master
var 0200, name PkgBrake_FS, link FSUIPC_INOUT, offset $0x0BC8, length 4 // Declaration de l'offset FSUIPC
{
&PkgBrake_LD = PkgBrake_FS // Si offset =1, on allume la LED
}
var 0300, name PkgBrake_SW, link IOCARD_SW, input 1 // Declaration du switch du Parking Brake
{
&PkgBrake_FS = &PkgBrake_SW // Si switch on, Parking Brake est enclenché
}
Ce qui m'étonne c'est que dans FSUIPC, cet offset ne réagit pas comme ça. Normalement le 0=released et 32767 = set. Dans ce cas on change le code :
var 0100, name PkgBrake_LD, link IOCARD_OUT, Output 1 // Declaration de la led sur sortie 1 carte master
var 0200, name PkgBrake_FS, link FSUIPC_INOUT, offset $0x0BC8, length 4 // Declaration de l'offset FSUIPC
{
IF &PkgBrake_FS = 32767 // Si dans l'offset le Parking Brake est declare SET on allume la LED
{
&PkgBrake_LD = 1
}
ELSE // Sinon on la laisse eteinte
{
&PkgBrake_LD = 0
}
}
var 0300, name PkgBrake_SW, link IOCARD_SW, input 1 // Declaration du switch du Parking Brake
{
IF &PkgBrake_SW = 1 // Si le switch Parking Brake est enclenche on donne l'ordre a FSUIPC qu'il l'est
{
&PkgBrake_FS = 32767
}
ELSE // Sinon on laisse le parking brake en released
{
&PkgBrake_FS = 0
}
}
Hors ligne
Merci de ta réponse,
Je comprend ton code, cependant sauf erreur de ma part, celui-ci s'applique pour du codage juste en SIOC sans passé par lekseecon. Or le B767 level-d possède ces propres offset, c'est pour cela qu'il faut passer par lekseecon.
Je n'ai donc peut être pas compris ce que tu m'as expliqué si c'est le cas j'en suis désolé.
Bon vol
Hors ligne
Ok, excuse-moi, je n'avais pas fait le rapprochement avec Lekseecon, que tu peux d'ailleurs utiliser en mode FSUIPC. Si tu prends le mode natif, ça donne :
Var 508, name PkgBrake_LS // Declaration variable Lekseecon pour Parking Brake
Var 509, link IOCARD_SW, input 1, type I // Declaration switch en lien avec etat Lekseecon
Var 0100 name PkgBrake_FS Link FSUIPC_IN Offset $0BC8 Length 2 // Declaration offset FSUIPC Parking Brake
{
IF &PkgBrake_FS = 0 // Si parking Brake FSUIPC = 0
{
&PkgBrake = 0 // Variable PkgBrake = 0
}
ELSE
{
&PkgBrake = 1 // Variable PkgBrake = 1
}
}
Var 0900 name PkgBrake // Declaration variable interne PkgBrake commandee par etat offset FSUIPC
{
&PkgBrake_LS = &PkgBrake // Parking Brake Lekseecon prend etat variable interne
&PkgBrake_LD = &PkgBrake // Led prends etat variable interne
}
Var 7780 name PkgBrake_LD Link IOCARD_OUT Output 1 // Declaration sortie LED carte master
Bon code !
Seb
Hors ligne
bonsoir,
// 9.6 Parking Brake
Var 508 name LSCPbr
Var 509 Link IOCARD_SW Input 209 Type I
Var 7700 name FI_ParkBrake Link FSUIPC_IN Offset $0BC8 Length 2
{
C0 = &FI_ParkBrake = 0
IF C0
{
&ParkBrake = 0
}
ELSE
{
&ParkBrake = 1
}
}
Var 7710 name ParkBrake
{
&LSCPbr = &ParkBrake
CALL &OutParkBrake
}
Var 7720 name OutParkBrake Link SUBRUTINE
{
IF &ColdAndDark = 1
{
&O_ParkBrake = 0
}
ELSE
{
IF &TestPed = 1
{
&O_ParkBrake = 1
}
ELSE
{
&O_ParkBrake = &ParkBrake
}
}
}
Var 7780 name O_ParkBrake Link IOCARD_OUT Output 154
Cordialement
Hors ligne
Hors ligne
Pages : 1