Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            switch (FlagConexion)
            {
            case true:
                timer1.Stop();
                FlagConexion = false;
                PuertoSerial.Close();
                Bconexion.Text = "Conectar";

                Barra_.Enabled      = false;
                TextoAngulo.Enabled = false;

                break;

            case false:
                timer1.Start();

                FlagConexion          = true;
                PuertoSerial.PortName = Tserial.Text;
                PuertoSerial.BaudRate = Convert.ToInt32(Tvelocidad.Text);
                PuertoSerial.Open();
                Bconexion.Text = "Desconectar";

                Barra_.Enabled      = true;
                TextoAngulo.Enabled = true;
                Angulo           = Convert.ToInt32(Barra_.Value);
                TextoAngulo.Text = Convert.ToString(Angulo);

                PuertoSerial.Write(Convert.ToString(Angulo) + "\n");

                break;
            }
        }
Пример #2
0
 public Romanero_Vista()
 {
     InitializeComponent();
     SQLiteManager.CheckFolders();
     _cooperado = new Cooperado_Vista();
     SetearSegundaPantalla();
     SetearFechaHora();
     SetearNombrePlanta();
     _cooperado.PlantaInfo.Text = Nombre_Planta;
     PlantaInfo.Text            = Nombre_Planta;
     WindowState = FormWindowState.Minimized;
     //SetStartUp();
     OracleManager.SetConfiguracionDePuerto(PuertoSerial, _MarcasUsuario.ID_Planta, 2);
     TopMost            = true;
     _cooperado.TopMost = true;
     try
     {
         PuertoSerial.Open();
     }
     catch (Exception _error)
     {
         MessageBox.Show("Configuración del Serial Incorrecta. Error: " + _error.Message, "ERROR FATAL",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     //EscribirEnLog(GetExecutingDirectoryName());
     //PowerModeChangedEventHandler += new SystemEvents_PowerModeChanged();
 }
Пример #3
0
 private void BtnDetener_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     //msg = "400000*";
     this.RTBx_Terminal.AppendText("Deteniendo Calendario\n");
     //EnviarComando(msg);
     PuertoSerial.Write("X");//se hace una parada forzada que no usa el protocolo normal
     btn_conexion.Enabled = true;
 }
Пример #4
0
 private void LiberarRecursos()
 {
     if (PuertoSerial.IsOpen)
     {
         PuertoSerial.DiscardInBuffer();
     }
     PuertoSerial.Close();
 }
Пример #5
0
        private void btn_conexion_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (estado_conexion == 0)
            {
                if (!PuertoSerial.IsOpen)
                {
                    PuertoSerial.PortName = PuertoList.Text;
                }
                PuertoSerial.Close();
                PuertoSerial.Open();


                if (!PuertoSerial.IsOpen)
                {
                    MessageBox.Show("No hay un puerto abierto.", "Error de conexion.",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    PuertoSerial.Write("#");//prende led D6
                    MessageBox.Show("Puerto" + PuertoList.Text + "Conectado con exito", "Exito en la conexion.",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    estado_conexion     = 1;
                    L_conexion.Text     = "Desconectar";
                    BtnEjecutar.Enabled = true;
                    BtnDetener.Enabled  = true;
                    // btn_enviar.Enabled = true;
                }
            }
            else
            {
                //PuertoSerial.Close();
                PuertoSerial.Write("#");//desconexion
                PuertoSerial.Close();
                if (PuertoSerial.IsOpen)
                {
                    MessageBox.Show("No se ha podido desconectar.", "Error en desconexion",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    MessageBox.Show("Puerto " + PuertoList.Text + " desconectado con exito.", "Exito en la desconexión.",
                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    estado_conexion     = 0;
                    L_conexion.Text     = "Conectar";
                    BtnEjecutar.Enabled = false;
                    BtnDetener.Enabled  = false;
                    //btn_conexion.Enabled = false;
                }
            }
        }
Пример #6
0
 public void LiberandoRecursos()
 {
     if (!RecursosLiberados)
     {
         DialogResult resultado = MessageBox.Show("¿Estás seguro de querer anular la toma de grado ?. " +
                                                  "Deberás reiniciar el proceso desde la página web.", "Anular Acción", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
         if (resultado == DialogResult.OK)
         {
             RecursosLiberados = true;
             SQliteManager.CambiarEstado_App(3);
             PuertoSerial.Close();
             //Aqui minimizar, botar los datos
             _observador.Stop();
             Cooperado.Close();
             Application.Exit();
         }
     }
 }
Пример #7
0
        private void PuertoSerial_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            data1 = PuertoSerial.ReadExisting();
            if (data1 == "@")
            {
                data2 = data1;
            }
            else
            {
                data += data1;
            }


            if (data.EndsWith("*"))
            {
                data = data.Remove(data.Length - 1);
                this.Invoke(new EventHandler(ProcesarComando));
            }
        }
Пример #8
0
 public Refracto_Vista()
 {
     if (File.Exists(ConfigPath))
     {
         InitializeComponent();
         FechaInfo.Text = DateTime.Now.ToString("dd-MM-yyyy");
         HoraInfo.Text  = DateTime.Now.ToString("HH:mm:ss");
         SQLiteManager.CheckDataBase();
         ID_Planta = ConfirmarPlanta();
         if (!XML_Valido(PuertoSerial))
         {
             OracleManager.SetConfiguracionDePuerto(PuertoSerial, ID_Planta, 1);
         }
         _cooperado = new Cooperado_Vista();
         SetearSegundaPantalla();
         _cooperado.TopMost = true;
         try
         {
             PuertoSerial.Open();
         }
         catch (Exception _error)
         {
             MessageBox.Show("PuertoSerial mal configurado.Esto se debe a ERROR. " +
                             "Verifique la conexión y vuelva a iniciar la App. Error: " + _error.Message, "ERROR",
                             MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1,
                             MessageBoxOptions.DefaultDesktopOnly);
             Application.Exit();
         }
         TopMost = true;
         _cooperado.PlantaInfo.Text = OracleManager.ObtenerNombrePlanta(ConfirmarPlanta());
         //SetStartUp();
         WindowState = FormWindowState.Minimized;
         EscribirEnLog(GetExecutingDirectoryName());
     }
     else
     {
         MessageBox.Show("NO EXISTE ARCHIVO DE CONFIGURACIONES.", "ERROR",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
         Application.Exit();
     }
 }
Пример #9
0
        private void EnviarComando(string Enviardato)
        {
            int    tam_s = 0;
            string temp_char;

            tam_s = Enviardato.Length;
            if (tam_s != 0)
            {
                this.RTbx_terminal.AppendText("->");
                for (int i = 1; i < tam_s; i++)
                {
                    while (data2 != "@")
                    {
                    }
                    if (data2 == "@")
                    {
                        data2     = "noconfirmapic";
                        temp_char = Enviardato.Remove(i);
                        temp_char = temp_char.Remove(0, i - 1);
                        PuertoSerial.Write(temp_char);
                        this.RTbx_terminal.AppendText(temp_char);
                        //Thread.Sleep(150);
                    }
                    while (data2 != "@")
                    {
                    }
                }
                if (data2 == "@") // el programa dificilmente entra en esta parte debido a que el SO no le envia
                //el mensaje @ que es la confirmacion, por lo que al no entrar no salta de linea por ende el siguiente
                //dato aparece al costado del dato anterior y no debajo como se ha programado en esta parte del codigo.
                //ESTO SE SOLUCIONO AGREGANDO UN THREAD.SLEEP EN LA LINEA DE ENVIO DE COMANDO
                //OTRA SOLUCION PODRIA SER CREAR UN WHILE DE ESPERA MIENTRAS LLEGA EL SIGUEINTE DATO.
                {
                    temp_char = Enviardato.Remove(0, tam_s - 1);
                    PuertoSerial.Write(temp_char);
                    this.RTbx_terminal.AppendText(temp_char);
                    this.RTbx_terminal.AppendText("\n");
                }
            }
        }
Пример #10
0
        private void EnviarComando(string Enviardato)
        {
            int tam_s = 0;
            string temp_char;
            tam_s = Enviardato.Length;
            if (tam_s != 0)
            {
                this.Txb_proc.AppendText("->");
                for (int i = 1; i < tam_s; i++)
                {
                    while (data2 != "@")
                    {
                        Thread.Sleep(5);
                    }
                    //El envio se da de izquierda a derecha
                    if (data2 == "@")
                    {
                        data2 = "noconfirmapic";
                        temp_char = Enviardato.Remove(i);
                        temp_char = temp_char.Remove(0, i - 1);
                        PuertoSerial.Write(temp_char);
                        this.Txb_proc.AppendText(temp_char);
                        //Thread.Sleep(150);

                    }

                }
                while (data2 != "@")
                {
                    Thread.Sleep(5);
                }
                if (data2 == "@")
                {
                    temp_char = Enviardato.Remove(0, tam_s - 1);
                    PuertoSerial.Write(temp_char);
                    this.Txb_proc.AppendText(temp_char);
                    this.Txb_proc.AppendText("\n");
                }
            }
        }
Пример #11
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            int Angulo_Recibido;

            while (PuertoSerial.BytesToRead > 0)
            {
                dato[0] = PuertoSerial.ReadByte();
                if ((dato[2] == 255) && (dato[1] == 255))
                {
                    Angulo_Recibido = dato[0];
                    if (Angulo_Recibido < 181)
                    {
                        Angulo           = Angulo_Recibido;
                        TextoAngulo.Text = Convert.ToString(Angulo);
                        Barra_.Value     = Convert.ToInt32(Angulo);
                    }
                }

                dato[2] = dato[1];
                dato[1] = dato[0];
            }
        }
Пример #12
0
 public Trabajador_Vista()
 {
     if (File.Exists(ConfigPath))
     {
         InitializeComponent();
         _observador = new MonitorArchivos(this, Cooperado);
         CheckForIllegalCrossThreadCalls = false;
         SettingUI();
         _observador.Run();
         SQliteManager.CheckDataBase();
         ID_Planta_Revision = ConfirmarPlanta();
         _MarcasUsuario     = new Session();
         _observador.InsertarProceso_Planta(_MarcasUsuario);
         OracleManager.SetConfiguracionDePuerto(PuertoSerial, _MarcasUsuario.Id_Planta, _MarcasUsuario.Tipo_Proceso);
         ConfigurarSerial();
         Cooperado.TopMost = true;
         TopMost           = true;
         //SetAutoRun();
         try
         {
             PuertoSerial.Open();
         }
         catch (Exception _error)
         {
             MessageBox.Show("PuertoSerial mal configurado. Error: " + _error.Message, "Error",
                             MessageBoxButtons.OK, MessageBoxIcon.Error);
             Application.Exit();
         }
         GC.KeepAlive(PuertoSerial);
     }
     else
     {
         MessageBox.Show("NO EXISTE ARCHIVO DE CONFIGURACIONES. GENERAR ARCHIVO .CONFIG", "ERROR",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
         Application.Exit();
     }
 }
Пример #13
0
 private void AnguloPasos_ValueChanged(object sender, EventArgs e)
 {
     PuertoSerial.Write(Convert.ToString(AnguloPasos.Value + 200) + "\n");
 }
Пример #14
0
 private void BtnEnciender2_Click(object sender, EventArgs e)
 {
     PuertoSerial.Write("193\n");
 }
Пример #15
0
        private void DataRecibida(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            try
            {
                _userSession.TipoDeConfig = ConfirmarPlanta();
                var Resultado = PuertoSerial.ReadExisting();
                switch (_userSession.TipoDeConfig)
                {
                    #region Vicuña
                case 1:
                    if (Resultado.Length == 3)
                    {
                        PuertoSerial.DiscardInBuffer();
                        break;
                    }
                    var Vicuna = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Vicuna);
                    break;
                    #endregion

                    #region Salamanca
                case 2:
                    Resultado = Resultado.Substring(0, 5);
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Resultado);
                    break;
                    #endregion

                    #region Sotaqui
                case 3:
                    if (Resultado.Contains("F") && Resultado.Contains("M"))
                    {
                        Resultado = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                        PuertoSerial.DiscardInBuffer();
                        AccesoInterrupcion(Resultado);
                        break;
                    }
                    else
                    {
                        AccesoInterrupcion("00.0");
                        break;
                    }
                    #endregion

                    #region Alto del Carmen
                case 4:
                    if (_userSession.Id_Recepcion > 0)
                    {
                        if (Resultado.Contains("F") && Resultado.Contains("M"))
                        {
                            var AltoDelCarmen = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion(AltoDelCarmen);
                            break;
                        }
                        else
                        {
                            AccesoInterrupcion("00.00");
                            break;
                        }
                    }
                    else
                    {
                        AccesoInterrupcion("00.0");
                        break;
                    }
                    #endregion

                    #region Hurtado
                case 6:
                    if (_userSession.Id_Recepcion > 0)
                    {
                        if (Resultado.Contains("F") && Resultado.Contains("M"))
                        {
                            var Hurtado = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "").Replace(".", ",");
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion(Hurtado);
                            break;
                        }
                        else
                        {
                            AccesoInterrupcion("00.00");
                            break;
                        }
                    }
                    else
                    {
                        AccesoInterrupcion("00.0");
                        break;
                    }
                    #endregion

                    #region Montegrande
                case 7:
                    if (_userSession.Id_Recepcion > 0)
                    {
                        if (Resultado.Contains("F") && Resultado.Contains("M"))
                        {
                            var Montegrande = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion(Montegrande);
                            break;
                        }
                        else
                        {
                            AccesoInterrupcion("00.00");
                            break;
                        }
                    }
                    else
                    {
                        AccesoInterrupcion("00.0");
                        break;
                    }
                    #endregion

                    #region Chimba
                case 8:
                    if (_userSession.Id_Recepcion > 0)
                    {
                        if (Resultado.Contains("F") && Resultado.Contains("M"))
                        {
                            var Ovalle = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion(Ovalle);
                            break;
                        }
                        else
                        {
                            AccesoInterrupcion("00.00");
                            break;
                        }
                    }
                    else
                    {
                        AccesoInterrupcion("00.0");
                        break;
                    }
                    #endregion

                    #region Atacama
                case 9:
                    EscribirEnLog("Leyendo Atacama");
                    EscribirEnLog("Info de Ticket: ID_Recepcion: " + _userSession.Id_Recepcion + " " +
                                  "ID_PLANTA:" + _userSession.Id_Planta + "");
                    EscribirEnLog("Con resultado:" + Resultado);
                    if (_userSession.Id_Recepcion > 0)
                    {
                        if (Resultado.Length == 3)
                        {
                            PuertoSerial.DiscardInBuffer();
                            break;
                        }
                        var Atacama = new string(Resultado.Take(5).ToArray()).Replace("F", "").Replace("M", "");
                        PuertoSerial.DiscardInBuffer();
                        AccesoInterrupcion(Atacama);
                        break;
                    }
                    else
                    {
                        AccesoInterrupcion("00,0");
                        break;
                    }
                    #endregion
                }
            }
            catch (ArgumentException)
            {
                //EscribirEnLog("Error en el recibimiento de Data. Error : "+ error.Message);
                //Error al parsear
                _cooperado.GradoText.Text = "00.00";
            }
            catch (TimeoutException ex)
            {
                EscribirEnLog("Error en los instrumentos de medición.Error: " + ex.Message);
            }
        }
Пример #16
0
 private void BtnApagar2_Click(object sender, EventArgs e)
 {
     PuertoSerial.Write("194\n");
 }
Пример #17
0
 private void trackBar1_Scroll(object sender, EventArgs e)
 {
     Angulo           = Convert.ToInt32(Barra_.Value);
     TextoAngulo.Text = Convert.ToString(Angulo);
     PuertoSerial.Write(Convert.ToString(Angulo) + "\n");
 }
Пример #18
0
        private void DataRecibida(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            //RECIBI DATA xdddd
            try
            {
                switch (_MarcasUsuario.ID_Planta)
                {
                case 0:
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion("00,0");
                    break;

                case 1:
                    PuertoSerial.ReadLine();
                    PuertoSerial.ReadLine();
                    var Vicuna = PuertoSerial.ReadLine();
                    Vicuna = Vicuna.ToLower();
                    Vicuna = Vicuna.Replace(" ", "");
                    Vicuna = Vicuna.Substring(0, Vicuna.IndexOf(Properties.Settings.Default.Valor_Anexado));
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Vicuna);
                    break;

                case 2:
                    PuertoSerial.ReadLine();
                    PuertoSerial.ReadLine();
                    var Salamanca = PuertoSerial.ReadLine();
                    Salamanca = Salamanca.ToLower();
                    Salamanca = Salamanca.Replace(" ", "");
                    Salamanca = Salamanca.Substring(0, Salamanca.IndexOf("kg"));
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Salamanca);
                    break;

                case 3:
                    PuertoSerial.ReadLine();
                    PuertoSerial.ReadLine();
                    var Sotaqui = PuertoSerial.ReadLine();
                    Sotaqui = Sotaqui.ToLower();
                    Sotaqui = Sotaqui.Replace(" ", "");
                    Sotaqui = Sotaqui.Substring(0, Sotaqui.IndexOf(Properties.Settings.Default.Valor_Anexado));
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Sotaqui);
                    break;

                case 4:
                    var AltoDelCarmen = PuertoSerial.ReadLine();
                    AltoDelCarmen = AltoDelCarmen.ToLower().Replace(" ", "");
                    AltoDelCarmen = AltoDelCarmen.Substring(0, AltoDelCarmen.IndexOf("kg"));
                    AltoDelCarmen = AltoDelCarmen.Replace("kg", "");
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(AltoDelCarmen);
                    break;

                case 5:
                    var Prueba1 = PuertoSerial.ReadLine();
                    var Prueba2 = PuertoSerial.ReadLine();
                    var Copiapo = PuertoSerial.ReadLine();
                    Copiapo = Copiapo.ToLower().Replace(" ", "");
                    Copiapo = Copiapo.Substring(0, Copiapo.IndexOf("kg"));
                    EscribirEnLog(Copiapo);
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Copiapo);
                    break;

                case 6:
                    var Hurtado      = PuertoSerial.ReadLine();
                    var Aux1         = PuertoSerial.ReadLine();
                    var Aux2         = PuertoSerial.ReadLine();
                    var Hurta2       = Hurtado.Replace("Gross:", "").Trim();
                    var HurtadoFinal = Hurta2.Replace("kg", "").Trim();
                    AccesoInterrupcion(HurtadoFinal);
                    break;

                case 7:
                    PuertoSerial.ReadLine();
                    PuertoSerial.ReadLine();
                    var Montegrande = PuertoSerial.ReadLine();
                    Montegrande = Montegrande.ToLower().Replace(" ", "");
                    Montegrande = Montegrande.Substring(0, Montegrande.IndexOf("kg"));
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Montegrande);
                    break;

                case 8:
                    var Chimba = PuertoSerial.ReadExisting();
                    //Chimba = Chimba.Split(new char[0])[0];
                    Chimba = Chimba.Trim();
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Chimba);
                    break;

                case 9:
                    //var final = PuertoSerial.ReadExisting();
                    //final = final.Substring(0,final.IndexOf("kg"));
                    //final = final.Replace(" ","").Replace("kg","");
                    //AccesoInterrupcion(final);
                    //break;
                    var Atacama = PuertoSerial.ReadLine();
                    //MessageBox.Show("Linea Entrante: "+Atacama,"Captura");
                    EscribirEnLog(Atacama);
                    PuertoSerial.DiscardInBuffer();
                    //Atacama = Atacama.Substring(0,Atacama.IndexOf("kg"));
                    Atacama = Atacama.ToLower().Replace("kg", "").Replace("t", "")
                              .Replace("\r", "").Replace(" ", "");
                    var Numero = Convert.ToInt32(Atacama);
                    if (Numero > 0)
                    {
                        AccesoInterrupcion(Atacama);
                        break;
                    }
                    break;

                    #region codigo descontinuado
                    //EscribirEnLog("Escribiendo Atacama ...");
                    //var DataIn = PuertoSerial.ReadLine();
                    //EscribirEnLog(DataIn);
                    //var Data2 = PuertoSerial.ReadLine();
                    //EscribirEnLog(Data2);
                    //var Data3 = PuertoSerial.ReadLine();
                    //EscribirEnLog(Data3);
                    //EscribirEnLog("Pase los readlines");
                    //File.AppendAllLines("C://ROMANA//transitorio.txt",
                    //    new string[] { DataIn, Data2, Data3 });
                    ////File.AppendAllLines("C://ROMANA//casiFinal.txt",
                    ////    new string[] { VariDataIn });
                    //var final = DataIn.ToLower().Substring(0, DataIn.IndexOf("kg"));
                    //final = final.Replace(" ", "").Replace("kg", "");
                    //File.WriteAllText("C://ROMANA/final.txt", final);
                    #endregion
                case 10:
                    var Punitaqui = PuertoSerial.ReadLine();
                    Punitaqui = Punitaqui.ToLower().Replace(" ", "");
                    Punitaqui = Punitaqui.Substring(0, Punitaqui.IndexOf("kg"));
                    Punitaqui = Punitaqui.Replace("scale1", "").Replace("kg", "");
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Punitaqui);
                    break;

                case 15:
                    var RON = PuertoSerial.ReadExisting();
                    //Chimba = Chimba.Split(new char[0])[0];
                    RON = RON.Trim();
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(RON);
                    break;

                default:
                    var Resultado = PuertoSerial.ReadExisting().Split(new char[0])[0];
                    PuertoSerial.DiscardInBuffer();
                    AccesoInterrupcion(Resultado);
                    break;
                }
                PuertoSerial.DiscardInBuffer();
            }
            catch (Exception _ex)
            {
                EscribirEnLog("Error al Limpiar la Data que ingresa por Puerto Serial. Con el siguiente mensaje " +
                              " " + _ex.Message);
                SQLiteManager.CambiarEstado_App(5);
            }
        }
Пример #19
0
 private void BtnEncender1_Click(object sender, EventArgs e)
 {
     //int enciende1 = 190;
     //  PuertoSerial.Write() + "\n");
     PuertoSerial.Write("190\n");
 }
Пример #20
0
        private void DataRecibida(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            if (_MarcasUsuario.NUM_TICKET > 0)
            {
                try
                {
                    _MarcasUsuario.Id_Planta = ConfirmarPlanta();
                    switch (_MarcasUsuario.Id_Planta)
                    {
                    //Salamanca - Maseli
                    case 2:
                        var Resultado = PuertoSerial.ReadLine();
                        Resultado = Resultado.Substring(0, 5);
                        Resultado = Resultado.Replace(".", ",");
                        //Resultado = Resultado.Replace("F","").Replace("M","");
                        PuertoSerial.DiscardInBuffer();
                        AccesoInterrupcion(Resultado);
                        break;

                    //Sotaqui
                    case 3:
                        var Sotaqui = PuertoSerial.ReadExisting();
                        if (Sotaqui.Contains("F") && Sotaqui.Contains("M"))
                        {
                            Sotaqui = new string(Sotaqui.Take(5).ToArray()).Replace("F", "").Replace("M", "").Replace(".", ",");
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion(Sotaqui);
                            break;
                        }
                        else
                        {
                            PuertoSerial.DiscardInBuffer();
                            AccesoInterrupcion("00,0");
                            break;
                        }

                    case 10:
                        var Punitaqui = PuertoSerial.ReadLine();
                        EscribirEnLog(Punitaqui);
                        Punitaqui = Punitaqui.ToLower();
                        EscribirEnLog(Punitaqui);
                        //BRIX: %VOL
                        Punitaqui = Punitaqui.Substring(5, Punitaqui.IndexOf("%"));
                        EscribirEnLog(Punitaqui);
                        Punitaqui = Punitaqui.Replace("brix;", "").Replace("%", "").Replace("vol", "").Replace(" ", "");
                        EscribirEnLog(Punitaqui);
                        Punitaqui = Punitaqui.Replace(".", ",");
                        EscribirEnLog(Punitaqui);
                        PuertoSerial.DiscardInBuffer();
                        AccesoInterrupcion(Punitaqui);
                        break;

                    default:
                        PuertoSerial.DiscardInBuffer();
                        AccesoInterrupcion("00,0");
                        break;
                    }
                }
                catch (Exception _error)
                {
                    EscribirEnLog("Error en la recepción de data. Error: " + _error.Message);
                }
            }
            else
            {
                PuertoSerial.DiscardInBuffer();
                PuertoSerial.DiscardOutBuffer();
                AccesoInterrupcion("00,0");
            }
        }