public static void ProcesarVariable(ref IVariableHardware vHrd, byte[] var) { if (vHrd is VariableDigital <bool> ) { ((VariableDigital <bool>)vHrd).Valor = Convertir.Booleano(var[3], (int)ValorBooleano.Verdadero); } else if (vHrd is VariableAnaloga) { ((VariableAnaloga)vHrd).Valor = Globales.ObtenerValor(var[2], var[3]); } else if (vHrd is VariableEncoder) { VariableEncoder enc = (VariableEncoder)vHrd; if (Convertir.Booleano(var[2], (int)ValorBooleano.Verdadero)) { enc.Incrementar((var[3] - 0x20)); } else if (var[2] == (byte)ValorBooleano.Falso) { enc.Decrementar((var[3] - 0x20)); } } }