J'avance un peu dans la programmation, mais je patine aussi dans la programmation de la sécurité de train rentré.
Il s'agit d'allumer un voyant (LED rouge ) si, en approche, le train n'est pas sorti (GEAR_SW) lorsque l'on réduit les gaz à fond ( SECU_TRAIN 01 ).( Ce sont des choses qui hélas, arrivent sur les trains rentrants )
Il s'agit d'un double if, et j'ai du mal à programmer çà. Le voyant est soit toujours allumé, soit toujours éteint.
L'interrupteur GEAR_SW répond dans SIOC Monitor sur l'input 21 ( bit 0 quand le train est rentré ),l'interrupteur SECU_TRAIN 01 sur l'input 10 ( bit 01 lorsque les gaz sont réduits à fond ) 01, et la LED SECU_TRAIN02 s'allume aussi dans SIOC Monitor quand on clique sur l'output 27 ( bit 1 ).
Je vous joint le morceau de script que j'ai concocté, sans garantie , puisque çà ne marche pas:
- Code: Tout sélectionner
Var 0120, name SECU_TRAIN, Link FSUIPC_INOUT, Offset $060E, Length 2 // SWITCH Sécurité train rentré
{
IF &SECU_TRAIN01 = 0 // Gaz réduits
{
&SECU_TRAIN02 = 1
}
ELSE
{
IF &GEAR_SW = 0
{
&SECU_TRAIN02 = 1
}
ELSE
{
&SECU_TRAIN02 = 0
}
}
&SECU_TRAIN01 = &SECU_TRAIN01
}
Var 0125, name SECU_TRAIN01, Link IOCARD_SW, Input 10 // Switch Sécurité Train rentré
La variable 0300 donne précise la LED alarme:
Var 0300, name SECU_TRAIN02, Link IOCARD_OUT, Output 27 // Voyant sécurité train rentré
Merci pour votre aide toujours décisive.
PS :
J'aurai sans doute recours à vous car j'ai fini mon alti à partir d'un alti désossé, le moteur fonctionne, mais le variations des aiguilles ne suivent pas celles de l'alti virtuel.( Pb de coeff d'amplification ? )
Merci encore et
à +
Michel