示例#1
0
        private int ObtenerHolgura(bool enEntrada, int holgura)
        {
            EsquemaCalibracion datos   = (EsquemaCalibracion)vista.Table.DataSet;
            double             inicial = 0;
            double             final   = 0;

            if (enEntrada == true)
            {
                inicial = datos.Calibracion[0].Entrada;
                final   = datos.Calibracion[datos.Calibracion.Rows.Count - 1].Entrada;
            }
            else
            {
                inicial = datos.Calibracion[0].Salida;
                final   = datos.Calibracion[datos.Calibracion.Rows.Count - 1].Salida;
            }

            if (inicial < final)
            {
                return(holgura);
            }
            else
            {
                return(-holgura);
            }
        }
示例#2
0
        private void ActualizarPuntosCero(bool enEntrada, int holgura)
        {
            EsquemaCalibracion datos = (EsquemaCalibracion)vista.Table.DataSet;

            for (int i = 0; i < datos.Calibracion.Rows.Count - 1; i++)
            {
                EsquemaCalibracion.CalibracionRow fila1 = datos.Calibracion[i];
                EsquemaCalibracion.CalibracionRow fila2 = datos.Calibracion[i + 1];
                if (enEntrada == true)
                {
                    if (fila1.Salida == fila2.Salida)
                    {
                        fila1.Entrada -= holgura;
                        fila2.Entrada += holgura;
                    }
                }
                else
                {
                    if (fila1.Entrada == fila2.Entrada)
                    {
                        fila1.Salida -= holgura;
                        fila2.Salida += holgura;
                    }
                }
            }
        }
示例#3
0
        /// <summary>
        /// Actualiza los puntos extremos de la configuración
        /// </summary>
        /// <param name="datos">Puntos de calibración</param>
        /// <param name="enEntrada">indica si la actualización se aplica a los valores de entrada o de salida</param>
        /// <param name="holgura">Valor para la actualización</param>
        public void ActualizarPuntosExtremos(bool enEntrada, int holgura)
        {
            EsquemaCalibracion datos   = (EsquemaCalibracion)vista.Table.DataSet;
            double             inicial = 0;
            double             final   = 0;

            if (enEntrada == true)
            {
                inicial = datos.Calibracion[0].Entrada;
                final   = datos.Calibracion[datos.Calibracion.Rows.Count - 1].Entrada;
            }
            else
            {
                inicial = datos.Calibracion[0].Salida;
                final   = datos.Calibracion[datos.Calibracion.Rows.Count - 1].Salida;
            }

            holgura = ObtenerHolgura(enEntrada, holgura);

            if (enEntrada == true)
            {
                datos.Calibracion[0].Entrada = inicial + holgura;
                datos.Calibracion[datos.Calibracion.Rows.Count - 1].Entrada = final - holgura;
            }
            else
            {
                datos.Calibracion[0].Salida = inicial + holgura;
                datos.Calibracion[datos.Calibracion.Rows.Count - 1].Salida = final - holgura;
            }
            ActualizarPuntosCero(enEntrada, holgura);
        }
示例#4
0
        public Calibracion()
        {
            EsquemaCalibracion datosXml = new EsquemaCalibracion();

            vista      = datosXml.Calibracion.DefaultView;
            vista.Sort = "Entrada";

            difCambio = 3;
        }
示例#5
0
        public Calibracion(int diferenciaCambio)
        {
            EsquemaCalibracion datosXml = new EsquemaCalibracion();

            vista      = datosXml.Calibracion.DefaultView;
            vista.Sort = "Entrada";

            if (diferenciaCambio < 0)
            {
                diferenciaCambio = 0;
            }
            difCambio = diferenciaCambio;
        }
示例#6
0
 /// <summary>
 /// Guarda nuevos valores para la calibracion buscado los punto limites y dandole una holgura
 /// </summary>
 /// <param name="ArchivoXML">Ruta donde se va ha grabar el archivo XML</param>
 public void Guardar(string ArchivoXML)
 {
     try
     {
         EsquemaCalibracion datos = (EsquemaCalibracion)vista.Table.DataSet;
         datos.WriteXml(ArchivoXML);
         datos.Dispose();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
示例#7
0
        /// <summary>
        /// Busca un punto, edita la entrada y la salida, si este no existe crea el punto
        /// </summary>
        /// <param name="Punto">Punto a buscar</param>
        /// <param name="Entrada">Entrada para el punto</param>
        /// <param name="Salida">Salida para el punto</param>
        public void ProcesarPunto(int Punto, double Entrada, double Salida)
        {
            EsquemaCalibracion datos = (EsquemaCalibracion)vista.Table.DataSet;

            EsquemaCalibracion.CalibracionRow[] fila = (EsquemaCalibracion.CalibracionRow[])datos.Calibracion.Select("Punto = " + Punto);
            if (fila.Length > 0)
            {
                fila[0].BeginEdit();
                fila[0].Entrada = Entrada;
                fila[0].Salida  = Salida;
                fila[0].EndEdit();
            }
            else
            {
                datos.Calibracion.AddCalibracionRow(Punto, Entrada, Salida);
            }
            datos.AcceptChanges();
            datos.Dispose();
        }
示例#8
0
 /// <summary>
 /// Cargar la calibracion desde un archivo XML
 /// </summary>
 /// <param name="NombreArchivo">Ruta y nombre del archivo XML</param>
 public void Abrir(string archivoXML)
 {
     try
     {
         EsquemaCalibracion datosXml = new EsquemaCalibracion();
         datosXml.ReadXml(archivoXML);
         this.ArchivoXml = archivoXML;
         vista           = datosXml.Tables["Calibracion"].DefaultView;
         vista.Sort      = "Entrada";
         datosXml.Dispose();
     }
     catch (IOException ex)
     {
         throw new Exception(ex.Message);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }