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; } }
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(); }
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; }
private void LiberarRecursos() { if (PuertoSerial.IsOpen) { PuertoSerial.DiscardInBuffer(); } PuertoSerial.Close(); }
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; } } }
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(); } } }
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)); } }
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(); } }
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"); } } }
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"); } } }
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]; } }
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(); } }
private void AnguloPasos_ValueChanged(object sender, EventArgs e) { PuertoSerial.Write(Convert.ToString(AnguloPasos.Value + 200) + "\n"); }
private void BtnEnciender2_Click(object sender, EventArgs e) { PuertoSerial.Write("193\n"); }
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); } }
private void BtnApagar2_Click(object sender, EventArgs e) { PuertoSerial.Write("194\n"); }
private void trackBar1_Scroll(object sender, EventArgs e) { Angulo = Convert.ToInt32(Barra_.Value); TextoAngulo.Text = Convert.ToString(Angulo); PuertoSerial.Write(Convert.ToString(Angulo) + "\n"); }
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); } }
private void BtnEncender1_Click(object sender, EventArgs e) { //int enciende1 = 190; // PuertoSerial.Write() + "\n"); PuertoSerial.Write("190\n"); }
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"); } }