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(); } }
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; } }