Routine SIOC vannes carburant Baron58

Questions de programmation / Offset FSUIPC et IOCP

Routine SIOC vannes carburant Baron58

Messagede pierre01 » Ven 7 Nov 2014 14:14

Bonjour à tous,
Voilà mon code pour les vannes carburant du Baron58 !
Merci à FiX pour son code qui m'a bien aidé.

Code: Tout sélectionner
// Routine vannes carburant Baron58
// Pierre01 le 7 11 2014
// 2 switch par vanne (D et G) : Position "ON" et "CROSS FEED"
// Chaque switch est ON dans la position correspondante
// En position OFF, les 2 switch sont "off";
// Delay de 2 secondes entre le basculement des switch et la gestion effective dans SIOC (évite l'arrêt momentané du moteur)
// Delay supplémentaire quand on passe dans la position "off", permet l'arrêt moteur après "x" secondes (7 dans mon cas) réglable avec les Var : &5200 et &5201
//

Var 0000, name init, value 0       // Routine initialisation
{
  call &sub_V_Fuel_L                // Gestion valve carburant Left
  call &sub_V_Fuel_R                // Gestion valve carburant Right
}

//
// ==========================================
//    ££56  Routine Vannes carburant (Fuel valve)
// ==========================================
//
// Le passage de la position "ON" à "CROSS FEED" provoque un court arrêt moteur d'ou :
// L'appel de la subroutine "sub_V_Fuel_L" ou "sub_V_Fuel_R" après une attente de 2s
// et non par un "CALL" classique.
//

Var 5200, name Valves_delay, value 200      // Delay gestion des switch (entre "OFF", "ON" et "CROSS FEED")
Var 5201, name Valv_delay_of, value 500     // Delay supplémentaire si "OFF" (le moteur stoppe après "&Valves_delay + &Valv_delay_of" s)

Var 5202, name Valve_fuel_L, link FSUIPC_INOUT, Offset $3880, Length 4  // Commande Valve fuel Left
{
  CALL &sub_V_Fuel_L         // Accord entre FS et les switch vannes
}

Var 5204, name sw_fuel_L_ON, link IOCARD_SW, Input 141  // Switch position "ON"
{
  &sub_V_Fuel_L = DELAY 0 &Valves_delay     // Appel gestion switch après delay
}
Var 5205, name sw_fuel_L_CF, link IOCARD_SW, Input 140  // Switch position "CROSS FEED"
{
  &sub_V_Fuel_L = DELAY 0 &Valves_delay
}

Var 5206, name sub_V_Fuel_L, Link SUBRUTINE     // Gestion valve carburant Left
{
  if &sw_fuel_L_ON = 1          // Si valve sur ON
  {
    &Valve_fuel_L = 1           // Commande sur ON
  }
  else
  {
    if &sw_fuel_L_CF = 1        // Si valve sur cross Feed
    {
      &Valve_fuel_L = 3         // Commande sur Cross Feed
    }
    else
    {
      &Valve_F_L_OFF = DELAY 0 &Valv_delay_of     // delay +long à la fermeture
    }
  }
}
Var 5207, name Valve_F_L_OFF, link subrutine
{
  &Valve_fuel_L = 0             // Fermeture vanne après delay supplémentaire
}

Var 5210, name Valve_fuel_R, link FSUIPC_INOUT, Offset $37C0, Length 4  // Commande Valve fuel Right
{
  CALL &sub_V_Fuel_R
}

Var 5212, name sw_fuel_R_ON, link IOCARD_SW, Input 142  // "ON"
{
  &sub_V_Fuel_R = DELAY 0 &Valves_delay
}
Var 5214, name sw_fuel_R_CF, link IOCARD_SW, Input 135  // "CROSS FEED"
{
  &sub_V_Fuel_R = DELAY 0 &Valves_delay
}

Var 5216, name sub_V_Fuel_R, Link SUBRUTINE     // Gestion valve carburant Right
{
  if &sw_fuel_R_ON = 1          // Si valve sur ON
  {
    &Valve_fuel_R = 1           // Commande sur ON
  }
  else
  {
    if &sw_fuel_R_CF = 1        // Si valve sur cross Feed
    {
      &Valve_fuel_R = 2         // Commande sur Cross Feed
    }
    else
    {
      &Valve_F_R_OFF = DELAY 0 &Valv_delay_of     // delay +long à la fermeture
    }
  }
}

Var 5217, name Valve_F_R_OFF, link subrutine
{
  &Valve_fuel_R = 0             // Fermeture vanne après delay supplémentaire
}
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1769
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités