private void ciclo() { while (true) { if (cicloON) { modbus mod = new modbus(); try { byte adress = Convert.ToByte(idSlave); ushort end = (ushort)(registro - 1); short[] buffer = new short[2]; mod.Open(porta, bound, 8, Parity.None, StopBits.One); mod.SendFc3(adress, end, 2, ref buffer); int MB = Convert.ToInt32(buffer[0]); int LB = Convert.ToInt32(buffer[1]); lblLeitura.Text = Convert.ToString(MB + LB); lblStatus.Text = mod.modbusStatus; mod.Close(); alteratank(MB + LB, Convert.ToInt32(num4ma.Value), Convert.ToInt32(num20ma.Value)); } catch (Exception ex) { status = ""; status = mod.modbusStatus; timer1.Enabled = false; butConectar.Text = "Conectar"; painelConexInfo.Enabled = true; } } Thread.Sleep(polling); } }
private void timer1_Tick(object sender, EventArgs e) { modbus mod = new modbus(); try { byte adress = Convert.ToByte(idSlave); ushort end = (ushort)(registro - 1); short[] buffer = new short[2]; mod.Open(porta, bound, 8, Parity.None, StopBits.One); mod.SendFc3(adress, end, 2, ref buffer); int MB = Convert.ToInt32(buffer[0]); int LB = Convert.ToInt32(buffer[1]); lblLeitura.Text = Convert.ToString(MB + LB); lblStatus.Text = mod.modbusStatus; mod.Close(); alteratank(MB + LB, Convert.ToInt32(num4ma.Value), Convert.ToInt32(num20ma.Value)); } catch (Exception ex) { status = ""; status = mod.modbusStatus; timer1.Enabled = false; butConectar.Text = "Conectar"; painelConexInfo.Enabled = true; MessageBox.Show(ex.Message); } }