Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }