Bonjour,
Après avoir assemblé un premier module de tes (interrupteurs, gray encoder, affichage, ...), animer tout cela avec IOCard? Je commance à m'intéresser à la programmation sous SIOC. Ma question est surement stupide mais j'y vais.
En regardant le programme de Claude Kiefer que je remercie à nouveau pour ces contributions pour la commande des volets je note la partie suivante :
Var 0452, name FLAPS_UP_SW, Link IOCARD_SW, Input 63 // Volets position UP
{
IF &FLAPS_UP_SW = 1 // inter volets sur UP
{
&FLAPS = 0 // volets rentrés
&FLAPS_UP_LED = DELAY 1 ,650
&FLAPS_APPR_LED = 0
&FLAPS_DN_LED = 0
}
ELSE
{
&FLAPS = 8191 // Volets sur Approche
&FLAPS_APPR_LED = DELAY 1 ,650
&FLAPS_UP_LED = 0
&FLAPS_DN_LED = 0
}
}
Var 0453, name FLAPS_DN_SW, Link IOCARD_SW, Input 64 // Volets position DOWN
{
IF &FLAPS_DN_SW = 1
{
&FLAPS = 16383 // Volets sortis
&FLAPS_DN_LED = DELAY 1 ,1000
&FLAPS_UP_LED = 0
&FLAPS_APPR_LED = 0
}
ELSE
{
&FLAPS = 8191
&FLAPS_APPR_LED = DELAY 1 ,650
&FLAPS_UP_LED = 0
&FLAPS_DN_LED = 0
}
}
Les volets ont donc 3 positions : rentrés, approche, sortis ce qui correspond aux valeurs 0,8191,16383.
Si je prends le code pour la descente, je comprend que le IF regarde si l'interrupteur flaps est actif (1). S'il est actif il met la variable FLAPS à 16383 donc volet sorti. Si les volet était en position approche, on a bien augmenté Le ELSE qui suit dit quoi ? que l'interrupteur n'est pas actif ? (donc à 0) . je ne comprends pas la lecture de cette séquence qui j'imagine permet de descendre d'un cran les volets ?
Pas sûr d'avoir été clair, mais si quelqu'un avait la patience de me commenter cette séquence, j'en serais ravi.
Amitiés à tous
Jean-Philippe