Exemple #1
0
        private void OnScan()
        {
            try
            {
                string er = string.Empty;

                for (int i = _startAddr; i <= _endAddr; i++)
                {
                    if (_scanStopFlag)
                    {
                        return;
                    }

                    System.Threading.Thread.Sleep(_delayMs);

                    bool result = true;

                    string rData = string.Empty;

                    CrData data = new CrData();

                    if (!comMon.ReadData(i, ref data, out er))
                    {
                        result = false;
                    }
                    else
                    {
                        for (int ch = 0; ch < data.Volt.Length; ch++)
                        {
                            rData += data.Volt[ch].ToString("0.000") + "|";
                        }
                    }

                    ShowID(i, rData, result);

                    _rowNum++;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                ShowEnd();
            }
        }
Exemple #2
0
        private void btnReadData_Click(object sender, EventArgs e)
        {
            try
            {
                btnReadData.Enabled = false;

                if (!checkSystem())
                {
                    return;
                }

                for (int i = 0; i < labV.Count; i++)
                {
                    labV[i].Text      = "---";
                    labV[i].ForeColor = Color.Cyan;
                }

                for (int i = 0; i < labA.Count; i++)
                {
                    labA[i].Text      = "---";
                    labA[i].ForeColor = Color.Cyan;
                }

                int addr = System.Convert.ToInt16(txtAddr.Text);

                double Vmin = System.Convert.ToDouble(txtVmin.Text);

                double Vmax = System.Convert.ToDouble(txtVmax.Text);

                double Imin = System.Convert.ToDouble(txtImin.Text);

                double Imax = System.Convert.ToDouble(txtImax.Text);

                string er = string.Empty;

                CrData data = new CrData();

                if (!comMon.ReadData(addr, ref data, out er))
                {
                    showInfo("读取DD模块数据[" + addr.ToString("D2") + "]失败:" + er, true);
                    return;
                }

                labOnOff.Text = (data.OnOff == 1 ? "ON" : "OFF");

                for (int i = 0; i < data.Volt.Length; i++)
                {
                    labV[i].Text = data.Volt[i].ToString();

                    if (data.Volt[i] >= Vmin && data.Volt[i] <= Vmax)
                    {
                        labV[i].ForeColor = Color.Cyan;
                    }
                    else
                    {
                        labV[i].ForeColor = Color.Red;
                    }
                }

                for (int i = 0; i < data.Cur.Length; i++)
                {
                    labA[i].Text = data.Cur[i].ToString();

                    if (data.Cur[i] >= Imin && data.Cur[i] <= Imax)
                    {
                        labA[i].ForeColor = Color.Cyan;
                    }
                    else
                    {
                        labA[i].ForeColor = Color.Red;
                    }
                }

                showInfo("成功读取DD模块数据[" + addr.ToString("D2") + "]");
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                btnReadData.Enabled = true;
            }
        }