lunes, 14 de marzo de 2011

Utilizando subrutinas

Mientras estube configurando la parte relativa a entradas, no me encontre con la necesidad de utilizar subrutinas en SIOC, pero al configurar las salidas, si.
El siguiente ejemplo muy sencillo, es para que si no hay corriente, no se enciendan las luces del tren de aterrizaje, para por ejemplo, si se nos para el motor y se nos acaba la bateria en pleno vuelo.
No tiene ningun misterio escepto que como hay dos variables desde las cuales se puede cambiar el estado de las salidas, en lugar de repetir el codigo dos veces, usamos subrutinas.


var 0046, name sub_gearr, link SUBRUTINE
{
if &fs_mainbusvolt = 0
{

L1 = 0
L2 = 0
}
ELSE
{
L0 = &fs_gearr
if L0 > 10
{
if L0 > 16370
{
L1 = 0
L2 = 1
}
ELSE
{
L1 = 1
L2 = 0
}
}
ELSE
{
L1 = 0
L2 = 0
}
}
&LED_R3 = l1
&LED_V3 = l2
}
Var 0060, name LED_R3, Link IOCARD_OUT, Output 11
Var 0061, name LED_V3, Link IOCARD_OUT, Output 12
var 0229, name fs_mainbusvolt, link FSUIPC_INOUT, offset $2840, length 8
{
CALL &sub_gearr
}
var 0228, name fs_gearr, link FSUIPC_INOUT, offset $0Bf0, length 4
{
CALL &sub_gearr
}

No hay comentarios:

Publicar un comentario