2 #ifndef _LOGIC_CONTROL_H_
3 #define _LOGIC_CONTROL_H_
10 /** Modelo de control lógico para automatización
13 class LogicControl:public IConector {
17 * \param ins Cantidad de entradas
18 * \param outs Cantidad de salidas
20 LogicControl(int ins, int outs):IConector(ins, outs) {}
22 virtual ~LogicControl() {}
24 /** Retorna el estado actual.
26 * Esta función retorna un valor booleano resultado
27 * de aplicar la operación lógica que cada hijo decida
30 virtual bool get_output() = 0;
32 /** Dice si la logica esta o no en operacion
34 * La logica de control puede no estar siendo utilizada, y eso
35 * se deduce si tiene alguien conectado a sus entradas.
36 * Si no hay nadie conectado, se contempla que no se esta utilizando
37 * y se debe utilizar en los casos que sea necesario para no recibir
38 * entradas falsas en los objetos controlados.
39 * \see Exclusa::update
41 bool is_operational() { return (in_list.begin() != in_list.end()); }
46 #endif // _LOGIC_CONTROL_H_