Пример #1
0
 public void Procesar(List <byte[]> datos)
 {
     //Procesa las variables de lectura
     foreach (byte[] var in datos)
     {
         int id = Globales.ObtenerValor(var[0], var[1]);
         IVariableHardware vHrd = variablesLectura.FirstOrDefault(v => v.Id == id);
         Globales.ProcesarVariable(ref vHrd, var);
     }
 }
Пример #2
0
 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));
         }
     }
 }