private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) { Exception ex = e.Exception; CommonLogHelper.GetInstance("LogFatal").Fatal($"\t线程致命错误{ex}"); MessageBox.Show(ex.ToString()); }
private void RadarFailureAlarm(AlarmData alarmData) { _synchContext.Post(a => { try { RadarAlarm radarAlarm = new RadarAlarm(); bool isalarm = radarAlarm.ProcessAlarm(alarmData); if (isalarm) { if (报警声音ToolStripMenuItem.Checked && _isCollect) { _soundAlarm.StartAlarm(AppDomain.CurrentDomain.BaseDirectory + "Alarm.wav"); } toolStripStatusLabel1.Image = Resources.red_light; Activate(); } else { toolStripStatusLabel1.Image = Resources.green_light; } } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"雷达故障报警过程出错", ex); } }, null); }
private void 启用控制ToolStripMenuItem_Click(object sender, EventArgs e) { if (启用控制ToolStripMenuItem.Text != @"禁用控制") { MessageBox.Show(@"开启控制后将停止后台采集数据,操作完毕后请及时禁用控制!", @"警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); AdminForm adminForm = new AdminForm(); adminForm.EnableControl += () => { _tmr.Stop(); tSSLSystemStatus.Text = @"正在使用控制功能"; toolSslNextUpdateTime.Text = @"停止后台采集数据功能"; radarControlUI.Enabled = true; 启用控制ToolStripMenuItem.Text = @"禁用控制"; CommonLogHelper.GetInstance("LogInfo").Info(@"启用了控制功能"); }; adminForm.ShowDialog(); } else { radarControlUI.Enabled = false; 启用控制ToolStripMenuItem.Text = @"启用控制"; tSSLSystemStatus.Text = @"等待采集数据"; DateTime dt = DateTime.Now; DateTime obdt = dt.AddSeconds(-dt.Second).AddMilliseconds(-dt.Millisecond); toolSslNextUpdateTime.Text = $"下次采集时间:{obdt.AddSeconds(30).AddMinutes(Para.UpdateDataIntl).ToString("yyyy-MM-dd HH:mm:ss")}"; _tmr.Start(); } }
private void tmrControl_Elapsed(object sender, EventArgs e) { _tmrControl.Stop(); #region 台站级别发送指令 try { Thread updateStatusThread = new Thread((ThreadStart) delegate { if (Para.StationGrade.Contains("台站")) { byte[] cmd = SerialPortCmdCombine.SetBaseCommand("FF", "03"); CommonLogHelper.GetInstance("LogInfo") .Info($@"延时8s后发送采集命令:{string.Join(" ", cmd.Select(x => x.ToString("X2")).ToArray())}"); _serialPort.SendCommand(cmd); } }) { IsBackground = true }; updateStatusThread.Start(); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"发送串口命令获取数据过程出错", ex); } #endregion 台站级别发送指令 }
private void btnEnter_Click(object sender, EventArgs e) { string pwd = "radarAdmin"; try { IQueryable <Administrator> p = from pwds in _sysManageDb.Administrators where pwds.User.Equals("Admin") select pwds; foreach (Administrator admin in p) { pwd = admin.Passwords; } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"匹配密码过程出错", exception); MessageBox.Show(exception.ToString()); return; } if (tbPwd.Text.Equals("radarAdmin") || tbPwd.Text.Equals(pwd)) { EnableControl(); Close(); } else { MessageBox.Show(@"密码错误,请重新输入!", @"密码错误", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Exception ex = (Exception)e.ExceptionObject; CommonLogHelper.GetInstance("LogFatal").Fatal($"\t未知致命错误{ex}"); MessageBox.Show(ex.ToString()); }
private void btnSave_Click(object sender, EventArgs e) { try { if (!File.Exists(PowerAlarmParameter.PowerConfigPath)) { PowerAlarmParameter.GenerateXmlFile(); } PowerAlarmPara powerAlarm = new PowerAlarmPara(); AlarmEnablePara powerEnable = new AlarmEnablePara(); powerAlarm.CurArtifLine = ConvertStr2Int(tbCurArtifLine.Text); powerAlarm.CurCatho = ConvertStr2Int(tbCurCatho.Text); powerAlarm.CurFilament = ConvertStr2Int(tbCurFilament.Text); powerAlarm.CurFocusCoil = ConvertStr2Int(tbCurFocusCoil.Text); powerAlarm.CurLeveling = ConvertStr2Int(tbCurLeveling.Text); powerAlarm.CurReversePeak = ConvertStr2Int(tbCurReversePeak.Text); powerAlarm.CurTitPump = ConvertStr2Int(tbCurTitPump.Text); powerAlarm.Vol15 = ConvertStr2Int(tbVol15.Text); powerAlarm.Vol28 = ConvertStr2Int(tbVol28.Text); powerAlarm.Vol45 = ConvertStr2Int(tbVol45.Text); powerAlarm.Vol5 = ConvertStr2Int(tbVol5.Text); powerAlarm.Vol510 = ConvertStr2Int(tbVol510.Text); powerAlarm.VolArtifLine = ConvertStr2Int(tbVolArtifLine.Text); powerAlarm.VolEleBeam = ConvertStr2Int(tbVolEleBeam.Text); powerAlarm.VolField = ConvertStr2Int(tbVolField.Text); powerAlarm.VolFilaInve = ConvertStr2Int(tbVolFilaInve.Text); powerAlarm.VolFilament = ConvertStr2Int(tbVolFilament.Text); powerAlarm.VolNeg15 = ConvertStr2Int(tbVolNeg15.Text); powerAlarm.VolTitPump = ConvertStr2Int(tbVolTitPump.Text); powerEnable.Vol5 = chkVol5.Checked; powerEnable.CurArtifLine = chkCurArtifLine.Checked; powerEnable.CurCatho = chkCurCatho.Checked; powerEnable.CurFilament = chkCurFilament.Checked; powerEnable.CurFocusCoil = chkCurFocusCoil.Checked; powerEnable.CurLeveling = chkCurLeveling.Checked; powerEnable.CurReversePeak = chkCurReversePeak.Checked; powerEnable.CurTitPump = chkCurTitPump.Checked; powerEnable.Vol15 = chkVol15.Checked; powerEnable.Vol28 = chkVol28.Checked; powerEnable.Vol45 = chkVol45.Checked; powerEnable.Vol510 = chkVol510.Checked; powerEnable.VolArtifLine = chkVolArtifLine.Checked; powerEnable.VolEleBeam = chkVolEleBeam.Checked; powerEnable.VolField = chkVolField.Checked; powerEnable.VolFilaInve = chkVolFilaInve.Checked; powerEnable.VolFilament = chkVolFilament.Checked; powerEnable.VolNeg15 = chkVolNeg15.Checked; powerEnable.VolTitPump = chkVolTitPump.Checked; PowerAlarmParameter.OperateXmlNodeInfo(powerEnable, powerAlarm); Close(); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"保存电源报警参数过程出错", ex); } }
private void StatusMonitorControlForm_Load(object sender, EventArgs e) { _serialPort = new SerialPortOperate(Para.SerialPortPara.PortName, Para.SerialPortPara.BaudRate, Para.SerialPortPara.DataBits, Para.SerialPortPara.StopBits, "NONE"); try { _serialPort.OpenPort(); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error($"打开串口{Para.SerialPortPara.PortName}出错", exception); MessageBox.Show($"打开串口{Para.SerialPortPara.PortName}出错"); } try { _powerAlarmPara.GetXmlNodeInfo(); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"读取电源报警参数出错", ex); } try { Text = StationId + @":雷达状态监控和控制"; _conn = $"Data Source={Para.SqlServerPara.SqlIp};Initial Catalog={Para.SqlServerPara.SqlDb};User ID={Para.SqlServerPara.SqlUser};Password={Para.SqlServerPara.SqlPwd};"; powerIndicationUI.StationId = StationId; powerIndicationUI.SqlConnection = _conn; if (Para.StationGrade.Contains("台站")) { 启用控制ToolStripMenuItem.Visible = true; _serialPort.ReturnCollectorRecData += RecDataProcessing; radarControlUI.SendCmd += SendControlCmd; } DateTime dt = DateTime.Now; int s = dt.Second; dt = dt.AddSeconds(-s); if (Para.StationGrade.Contains("台站")) { dt = s < 30 ? dt.AddSeconds(30) : dt.AddSeconds(30).AddMinutes(Para.UpdateDataIntl); } else { dt = dt.Second < 30 ? dt.AddSeconds(45) : dt.AddSeconds(45).AddMinutes(Para.UpdateDataIntl); } toolSslNextUpdateTime.Text = $"下次采集时间:{dt.ToString("yyyy-MM-dd HH:mm:ss")}"; _tmr.Start(); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"加载窗体过程出错", ex); } }
private void AlarmSettingForm_Load(object sender, EventArgs e) { try { PowerAlarmParameter powerAlarmParameter = new PowerAlarmParameter(); if (!File.Exists(PowerAlarmParameter.PowerConfigPath)) { PowerAlarmParameter.GenerateXmlFile(); } powerAlarmParameter.GetXmlNodeInfo(); tbCurArtifLine.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurArtifLine); tbCurCatho.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurCatho); tbCurFilament.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurFilament); tbCurFocusCoil.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurFocusCoil); tbCurLeveling.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurLeveling); tbCurReversePeak.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurReversePeak); tbCurTitPump.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.CurTitPump); tbVol15.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.Vol15); tbVol28.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.Vol28); tbVol45.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.Vol45); tbVol5.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.Vol5); tbVol510.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.Vol510); tbVolArtifLine.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolArtifLine); tbVolEleBeam.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolEleBeam); tbVolField.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolField); tbVolFilaInve.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolFilaInve); tbVolFilament.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolFilament); tbVolNeg15.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolNeg15); tbVolTitPump.Text = ConvertInt2Str(powerAlarmParameter.PowerAlarm.VolTitPump); chkVol5.Checked = powerAlarmParameter.PowerEnable.Vol5; chkCurArtifLine.Checked = powerAlarmParameter.PowerEnable.CurArtifLine; chkCurCatho.Checked = powerAlarmParameter.PowerEnable.CurCatho; chkCurFilament.Checked = powerAlarmParameter.PowerEnable.CurFilament; chkCurFocusCoil.Checked = powerAlarmParameter.PowerEnable.CurFocusCoil; chkCurLeveling.Checked = powerAlarmParameter.PowerEnable.CurLeveling; chkCurReversePeak.Checked = powerAlarmParameter.PowerEnable.CurReversePeak; chkCurTitPump.Checked = powerAlarmParameter.PowerEnable.CurTitPump; chkVol15.Checked = powerAlarmParameter.PowerEnable.Vol15; chkVol28.Checked = powerAlarmParameter.PowerEnable.Vol28; chkVol45.Checked = powerAlarmParameter.PowerEnable.Vol45; chkVol510.Checked = powerAlarmParameter.PowerEnable.Vol510; chkVolArtifLine.Checked = powerAlarmParameter.PowerEnable.VolArtifLine; chkVolEleBeam.Checked = powerAlarmParameter.PowerEnable.VolEleBeam; chkVolField.Checked = powerAlarmParameter.PowerEnable.VolField; chkVolFilaInve.Checked = powerAlarmParameter.PowerEnable.VolFilaInve; chkVolFilament.Checked = powerAlarmParameter.PowerEnable.VolFilament; chkVolNeg15.Checked = powerAlarmParameter.PowerEnable.VolNeg15; chkVolTitPump.Checked = powerAlarmParameter.PowerEnable.VolTitPump; } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"读取电源报警参数过程出错", ex); } }
private void 电源阈值ToolStripMenuItem_Click(object sender, EventArgs e) { using (AlarmSettingForm alarmSetForm = new AlarmSettingForm()) { if (alarmSetForm.ShowDialog() == DialogResult.OK) { try { _powerAlarmPara.GetXmlNodeInfo(); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"重新设置电源报警参数后读取出错", ex); } } } }
private void btnExport_Click(object sender, EventArgs e) { saveFileDia.Title = @"请选择文件的保存位置"; saveFileDia.Filter = "Excel 97-2003 工作簿|*.xls";//Excel 工作簿|*.xlsx| saveFileDia.FileName = @"雷达电源数据"; try { if (saveFileDia.ShowDialog() == DialogResult.OK) { Export2Excel.ExportToExcel(_powerDataDics, _sheetNameList, saveFileDia.FileName); MessageBox.Show($@"保存Excel文件{saveFileDia.FileName}成功!", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"数据查询窗口导出数据到Excel过程出错", exception); MessageBox.Show(@"保存Excel文件过程出错," + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnSavePic_Click(object sender, EventArgs e) { saveFileDia.Title = @"请选择图片的保存位置"; saveFileDia.Filter = "Jpeg图片|*.jpg|Png图片|*.png|Bmp图片|*.bmp|Tiff图片|*.tiff|Gif图片|*.gif|Emf图片|*.emf"; saveFileDia.FileName = $@"雷达曲线图{DateTime.Now.ToString("yyyyMMddHHmmss")}"; try { if (saveFileDia.ShowDialog() == DialogResult.OK) { chartVolCur.SaveImage(saveFileDia.FileName, (ChartImageFormat)(saveFileDia.FilterIndex - 1)); MessageBox.Show($@"保存图片文件{saveFileDia.FileName}成功!", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"数据查询窗口保存图片过程出错", exception); MessageBox.Show(@"保存图片文件过程出错," + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void tmr_Elapsed(object sender, EventArgs e) { DateTime dt = DateTime.Now; if (dt.Hour == 0 && dt.Minute == 0 && dt.Second == 0) { var updater = Updater.Instance; updater.Error -= updater_Error; updater.UpdatesFound -= updater_UpdatesFound; updater.NoUpdatesFound -= updater_NoUpdatesFound; updater.MinmumVersionRequired -= updater_OnUpdaterOnMinmumVersionRequired; updater.Error += (s, ee) => { CommonLogHelper.GetInstance("LogError").Error(@"后台自动更新发生了错误", updater.Context.Exception); }; updater.UpdatesFound += (s, ee) => { CommonLogHelper.GetInstance("LogInfo").Info($"后台自动更新发现了新版本:{updater.Context.UpdateInfo.AppVersion}"); }; updater.NoUpdatesFound += (s, ee) => { CommonLogHelper.GetInstance("LogInfo").Info("后台自动更新没有发现新版本!"); }; updater.MinmumVersionRequired += (s, ee) => { CommonLogHelper.GetInstance("LogWarn").Error("后台自动更新发现当前版本过低无法使用自动更新!"); }; updater.Context.ForceUpdate = true; updater.Context.MustUpdate = true; updater.Context.AutoClosePreviousPopup = true; updater.BeginCheckUpdateInProcess(); } if (!IsDisposed) { _synchContext.Post(a => { TimeToolStripMenuItem.Text = dt.ToString("yyyy-MM-dd HH:mm:ss"); }, null); } }
private void SendControlCmd(string cmd1, string cmd2) { Thread controlThread2 = new Thread((ThreadStart) delegate { try { string pwd = "88 88 88 88 88 88 88 88"; byte[] cmdbyte = SerialPortCmdCombine.SetBaseCommand("FF", pwd, "81", cmd1); CommonLogHelper.GetInstance("LogInfo").Info( $@"发送控制命令1:{string.Join(" ", cmdbyte.Select(x => x.ToString("X2")).ToArray())}"); //isfirsControlcmd = true; _serialPort.SendCommand(cmdbyte); //while (!isContinueKeyUp) //{ // //SpinWait.SpinUntil(() => isContinueKeyUp); //} Thread.Sleep(1200); //Thread.SpinWait(1200); //isfirsControlcmd = false; //isContinueKeyUp = false; byte[] cmdbyte2 = SerialPortCmdCombine.SetBaseCommand("FF", pwd, "81", cmd2); CommonLogHelper.GetInstance("LogInfo").Info( $@"发送控制命令2:{string.Join(" ", cmdbyte2.Select(x => x.ToString("X2")).ToArray())}"); _serialPort.SendCommand(cmdbyte2); _tmrControl.Start(); MessageBox.Show(@"发送控制指令成功,等待8秒后更新界面", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //返回状态更新界面 } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"发送控制命令过程出错", ex); MessageBox.Show(@"发送控制命令过程出错," + ex.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }) { IsBackground = true }; controlThread2.Start(); }
private void StatusMonitorControlForm_KeyDown(object sender, KeyEventArgs e) { if ((e.KeyCode == Keys.D) && e.Alt) { AdminForm adminForm = new AdminForm(); adminForm.EnableControl += () => { _debugmode = true; CommonLogHelper.GetInstance("LogInfo").Info(@"启用了终端调试功能"); }; adminForm.ShowDialog(); } if (_debugmode) { DebugForm debugForm = new DebugForm { ThisSerialPort = _serialPort }; debugForm.ShowDialog(); _debugmode = false; } }
private void btnExport_Click(object sender, EventArgs e) { saveFileDia.Title = @"请选择文件的保存位置"; saveFileDia.Filter = "Excel 97-2003 工作簿|*.xls";//Excel 工作簿|*.xlsx| try { string sheetName = StationId; string columnName = DataEnum2Titles.ToTitles(DataName); saveFileDia.FileName = $@"{StationId}雷达{columnName}电源数据"; if (saveFileDia.ShowDialog() == DialogResult.OK) { Export2Excel.ExportToExcel(_powerData, columnName, sheetName, saveFileDia.FileName); MessageBox.Show($@"保存Excel文件{saveFileDia.FileName}成功!", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"实时数据查询窗口导出数据Excel过程出错", exception); MessageBox.Show(@"保存Excel文件过程出错," + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public PagingRsp <UserRsp> GetUserRspList() { var list = new List <user>(); list.Add(new user { Id = 1, Name = "培根" }); var data = new MethodResultFull <List <user> >(); data.Content = list; var result = new PagingRsp <UserRsp>(data); result.Data = data.Content.Select(x => new UserRsp { Id = x.Id, Name = x.Name }).ToList(); CommonLogHelper.Info("调用成功!"); return(result); }
public bool ProcessAlarm(AlarmData alarmData) { try { if (alarmData == null) { return(false); } FieldInfo[] classobjs = typeof(AlarmData).GetFields(); List <string> alarmMsgList = (from classobj in classobjs let value = classobj.GetValue(alarmData) where value != null where !Convert.ToBoolean(value) select classobj.GetCustomAttributes(typeof(DescriptionAttribute), true) into customAttributes select $"{((DescriptionAttribute)customAttributes[0]).Description}").ToList(); if (alarmMsgList.Count > 0) { string oneMsg = string.Join(",", alarmMsgList.ToArray()); CommonLogHelper.GetInstance("LogWarn").Warn(oneMsg); return(true); } return(false); } catch { throw; } }
private void btnEnter_Click(object sender, EventArgs e) { for (int i = 0; i < dgvStationList.RowCount; i++) { if (dgvStationList[0, dgvStationList.CurrentCell.RowIndex].Value != null && dgvStationList[0, dgvStationList.CurrentCell.RowIndex].Value.ToString() != string.Empty) { if (dgvStationList[1, dgvStationList.CurrentCell.RowIndex].Value == null || dgvStationList[1, dgvStationList.CurrentCell.RowIndex].Value.ToString() == string.Empty) { MessageBox.Show(@"站号必须输入", @"警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } } try { _para = new CommonPara { StationGrade = cmbGrade.SelectedItem.ToString(), UpdateDataIntl = (int)(nUdIntl.Value), SerialPortPara = { PortName = cmbSerialPort.SelectedItem.ToString(), BaudRate = int.Parse(cmbBaudRate.SelectedItem.ToString()), DataBits = int.Parse(cmbDataBits.SelectedItem.ToString()), StopBits = cmbStopBit.SelectedItem.ToString(), CheckBit = cmbCheckBit.SelectedItem.ToString() }, SqlServerPara = { SqlIp = tbSqlIp.Text, SqlDb = tbDataBase.Text, SqlUser = tbUser.Text, SqlPwd = tbPassword.Text }, }; if (_para.StationGrade.Contains("台站")) { if (dgvStationList[1, 0].Value != null && dgvStationList[1, 0].Value.ToString() != string.Empty) { StationPara station = new StationPara { StationId = dgvStationList[1, 0].Value.ToString(), StationName = dgvStationList[2, 0].Value.ToString(), Slong = dgvStationList[3, 0].Value.ToString(), Slat = dgvStationList[4, 0].Value.ToString() }; _para.StationInfo = station; } else { MessageBox.Show(@"请配置台站信息", @"注意", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { string conn = $"Data Source={_para.SqlServerPara.SqlIp};Initial Catalog={_para.SqlServerPara.SqlDb};User ID={_para.SqlServerPara.SqlUser};Password={_para.SqlServerPara.SqlPwd};"; DataBaseOperate.StationParaTable stationInfo = new DataBaseOperate.StationParaTable { ID = Guid.NewGuid(), StationID = _para.StationInfo.StationId, StationName = _para.StationInfo.StationName, Slong = _para.StationInfo.Slong, Slat = _para.StationInfo.Slat }; DataBaseHelper dbHelper = new DataBaseHelper(conn); dbHelper.StationParaInsertorUpdate(stationInfo); dbHelper.SaveChanges(); } catch (Exception exception) { MessageBox.Show(@"保存台站信息到远程数据库出错:" + Environment.NewLine + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Parameter.WriteCfg(_para); Close(); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"保存参数文件出错", exception); MessageBox.Show(@"保存参数文件出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
private void RecDataProcessing(byte[] message) { Thread newThread = new Thread((ThreadStart) delegate { try { if (message.Length <= 4) { CommonLogHelper.GetInstance("LogInfo").Info(@"未接收到采集数据"); return; } if (message[0] != Convert.ToByte("7E", 16)) { return; } if (message[1] != Convert.ToByte("D1", 16)) { return; } string m = message[4].ToString("X2"); switch (m) { case "03": #region 获取到的状态、报警、电压数据处理 _synchContext.Post(a => { tSSLSystemStatus.Text = @"获取最新数据成功"; }, null); DateTime dt = DateTime.Now; DateTime obdt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, 0); DataAdapter dataadp = new DataAdapter(StationId, obdt); try { string msg = string.Join(" ", message.Select(x => x.ToString("X2")).ToArray()); CommonLogHelper.GetInstance("LogInfo").Info($@"接收到采集数据:{msg}"); dataadp.DataResolve(message); _synchContext.Post(a => { try { radarStatusUI.SetAlarmStatus(dataadp.AlarmStatusData); radarControlUI.SetControlStatus(dataadp.ControlStatusData); powerIndicationUI.SetPowerDataValue(dataadp.RadarPowerData); tSSLDataUpdateTime.Text = $"数据更新时间:{obdt.ToString("yyyy-MM-dd HH:mm")}"; } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"数据显示到界面上出错", ex); } }, null); RadarFailureAlarm(dataadp.AlarmStatusData); } catch (Exception e) { CommonLogHelper.GetInstance("LogError").Error(@"接收处理数据并显示过程出错", e); } if (_isCollect) { AlarmStatusTable alarmStatus = dataadp.DataResolve(dataadp.AlarmStatusData); ControlStatusTable controlStatus = dataadp.DataResolve(dataadp.ControlStatusData); PowerDataTable powerData = dataadp.DataResolve(dataadp.RadarPowerData); try { DataBaseHelper dbHelper = new DataBaseHelper(_conn); dbHelper.AlarmStatusInsert(alarmStatus); dbHelper.ControlStatusInsert(controlStatus); dbHelper.PowerDataInsert(powerData); dbHelper.SaveChanges(); CommonLogHelper.GetInstance("LogInfo").Info(@"数据入库成功"); } catch (Exception e) { CommonLogHelper.GetInstance("LogError").Error(@"数据入库过程出错", e); try { Lrdm.AlarmStatusModels localalarmStatus = dataadp.LocalDataResolve(dataadp.AlarmStatusData); Lrdm.ControlStatusModels localcontrolStatus = dataadp.LocalDataResolve(dataadp.ControlStatusData); Lrdm.PowerDataModels localpowerData = dataadp.LocalDataResolve(dataadp.RadarPowerData); DataBaseHelper dbHelper = new DataBaseHelper(); dbHelper.AlarmStatusInsert(localalarmStatus); dbHelper.ControlStatusInsert(localcontrolStatus); dbHelper.PowerDataInsert(localpowerData); CommonLogHelper.GetInstance("LogInfo").Info(@"数据入本地库成功"); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"数据入本地库过程出错", exception); } } try { RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(_conn); PowerDataTable prepowerData = radarDataContext.PowerDataTable.First( x => x.DateTime == dt.AddMinutes(-Para.UpdateDataIntl) && x.StationID == StationId); PowerAlarm(obdt, powerData, prepowerData); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"电源跳变检查报警过程出错", ex); } } #endregion 获取到的状态、报警、电压数据处理 break; case "81": string controlmsg = string.Join(" ", message.Select(x => x.ToString("X2")).ToArray()); CommonLogHelper.GetInstance("LogInfo").Info($@"接收到控制数据:{controlmsg}"); //isContinueKeyUp = isfirsControlcmd; break; } } catch (Exception e) { CommonLogHelper.GetInstance("LogError").Error(_isCollect ? @"接收处理数据并入库过程出错" : @"接收处理数据并显示过程出错", e); } finally { _isCollect = false; _synchContext.Post(a => { tSSLSystemStatus.Text = radarControlUI.Enabled ? @"正在使用控制功能" : @"等待采集数据"; }, null); } }) { IsBackground = true }; newThread.Start(); }
private void tmr_Elapsed(object sender, EventArgs e) { DateTime dt = DateTime.Now; DateTime obdt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, 0); if (dt.Minute % Para.UpdateDataIntl == 0 && dt.Second == 30) { #region 台站级别发送指令 if (Para.StationGrade.Contains("台站")) { Thread collectTimeThread = new Thread((ThreadStart) delegate { try { _synchContext.Post(a => { toolSslNextUpdateTime.Text = $"下次采集时间:{obdt.AddSeconds(30).AddMinutes(Para.UpdateDataIntl).ToString("yyyy-MM-dd HH:mm:ss")}"; tSSLSystemStatus.Text = @"正在获取最新数据"; }, null); byte[] cmd = SerialPortCmdCombine.SetBaseCommand("FF", "03"); CommonLogHelper.GetInstance("LogInfo") .Info($@"发送定时采集命令:{string.Join(" ", cmd.Select(x => x.ToString("X2")).ToArray())}"); _isCollect = true; _serialPort.SendCommand(cmd); } catch (Exception ex) { CommonLogHelper.GetInstance("LogInfo").Info(@"发送串口命令获取数据过程出错"); CommonLogHelper.GetInstance("LogError").Error(@"发送串口命令获取数据过程出错", ex); } }) { IsBackground = true }; collectTimeThread.Start(); } #endregion 台站级别发送指令 } if (dt.Second == 40) { #region 停止声音报警 _soundAlarm.StopAlarm(); #endregion 停止声音报警 } if (dt.Minute % Para.UpdateDataIntl == 0 && dt.Second == 45) { #region 省级级别操作数据库 if (Para.StationGrade.Contains("省级")) { Thread collectProThread = new Thread((ThreadStart) delegate { try { bool havePowerData = false; tSSLSystemStatus.Text = @"获取最新数据"; RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(_conn); DataAdapter dataadp = new DataAdapter(StationId, obdt); dataadp.DataResolve(radarDataContext); _synchContext.Post(a => { toolSslNextUpdateTime.Text = $"下次采集时间:{obdt.AddSeconds(45).AddMinutes(Para.UpdateDataIntl).ToString("yyyy-MM-dd HH:mm:ss")}"; try { if (dataadp.AlarmStatusData != null) { radarStatusUI.SetAlarmStatus(dataadp.AlarmStatusData); } else { CommonLogHelper.GetInstance("LogInfo").Error(@"无当前报警数据"); } if (dataadp.ControlStatusData != null) { radarControlUI.SetControlStatus(dataadp.ControlStatusData); } else { CommonLogHelper.GetInstance("LogInfo").Error(@"无当前状态数据"); } if (dataadp.RadarPowerData != null) { powerIndicationUI.SetPowerDataValue(dataadp.RadarPowerData); havePowerData = true; } else { CommonLogHelper.GetInstance("LogInfo").Error(@"无当前电源数据"); } if (dataadp.AlarmStatusData != null || dataadp.ControlStatusData != null || dataadp.RadarPowerData != null) { tSSLDataUpdateTime.Text = $"数据更新时间:{obdt.ToString("yyyy-MM-dd HH:mm")}"; } } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"数据显示到界面上出错", ex); } }, null); CommonLogHelper.GetInstance("LogInfo").Info(@"获取数据库数据成功"); try { RadarFailureAlarm(dataadp.AlarmStatusData); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"雷达故障报警过程出错", ex); } try { if (havePowerData) { PowerDataTable nowpowerData = radarDataContext.PowerDataTable.First(x => x.DateTime == dt && x.StationID == StationId); PowerDataTable prepowerData = radarDataContext.PowerDataTable.First( x => x.DateTime == dt.AddMinutes(-Para.UpdateDataIntl) && x.StationID == StationId); PowerAlarm(obdt, nowpowerData, prepowerData); } } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"电源跳变检查过程出错", ex); } } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"提取数据库数据处理过程出错", ex); } }) { IsBackground = true }; collectProThread.Start(); } #endregion 省级级别操作数据库 } if (dt.Minute % 5 == 0 && dt.Second == 50) { #region 正常入库失败后批量数据补入 Thread batchDataProcessThread = new Thread((ThreadStart) delegate { bool dbisAvaliable = true; try { RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(_conn); radarDataContext.Connection.Open(); radarDataContext.Connection.Close(); } catch (Exception) { dbisAvaliable = false; } if (dbisAvaliable) { DataBaseHelper dbHelper = new DataBaseHelper(_conn); try { DataAdapter dataAdapter = new DataAdapter(); CommonLogHelper.GetInstance("LogInfo").Info(@"开始批量数据入库"); dbHelper.AlarmStatusInsert(dataAdapter.DataResolve(new DataBaseHelper().AlarmStatusSelect())); dbHelper.ControlStatusInsert( dataAdapter.DataResolve(new DataBaseHelper().ControlStatusSelect())); dbHelper.PowerDataInsert(dataAdapter.DataResolve(new DataBaseHelper().PowerDataSelect())); dbHelper.SaveChanges(); CommonLogHelper.GetInstance("LogInfo").Info(@"批量数据入库成功"); new DataBaseHelper().DeleteAllSqLiteData(); CommonLogHelper.GetInstance("LogInfo").Info(@"本地数据删除成功"); } catch (Exception ex) { CommonLogHelper.GetInstance("LogInfo").Info(@"批量数据入库失败"); CommonLogHelper.GetInstance("LogError").Error(@"批量数据入库失败", ex); } finally { dbHelper.Dispose(); } } }) { IsBackground = true }; batchDataProcessThread.Start(); #endregion 正常入库失败后批量数据补入 } }
private static void updater_Error(object sender, EventArgs e) { CommonLogHelper.GetInstance("LogError").Error(@"更新发生了错误", Updater.Instance.Context.Exception); MessageBox.Show($"更新发生了错误:{Updater.Instance.Context.Exception.Message}"); }
private void MainForm_Load(object sender, EventArgs e) { try { var updater = Updater.Instance; updater.Error += updater_Error; updater.UpdatesFound += updater_UpdatesFound; updater.NoUpdatesFound += updater_NoUpdatesFound; updater.MinmumVersionRequired += updater_OnUpdaterOnMinmumVersionRequired; updater.BeginCheckUpdateInProcess(); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"自动更新过程出错", exception); } try { _para = Parameter.ReadCfg(); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"读取系统参数过程出错", exception); MessageBox.Show(@"读取系统参数过程出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (_para.StationGrade.Contains("省级")) { //采集器设置ToolStripMenuItem.Visible = false; 台站选择ToolStripMenuItem.Visible = true; try { _para.StationProList = new List <StationPara>(); string conn = $"Data Source={_para.SqlServerPara.SqlIp};Initial Catalog={_para.SqlServerPara.SqlDb};User ID={_para.SqlServerPara.SqlUser};Password={_para.SqlServerPara.SqlPwd};"; RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(conn); var stations = (from s in radarDataContext.StationParaTable select s).Distinct().ToList(); foreach (StationPara station in stations.Select(s => new StationPara { StationId = s.StationID, StationName = s.StationName, Slong = s.Slong, Slat = s.Slat })) { _para.StationProList.Add(station); } foreach (ToolStripMenuItem stationToolStripMenuItem in stations.Select(station => new ToolStripMenuItem { Name = "stationToolStripMenuItem", Text = station.StationName, Tag = station.StationID })) { stationToolStripMenuItem.Click += StationToolStripMenuItem_Click; 台站选择ToolStripMenuItem.DropDownItems.Add(stationToolStripMenuItem); StationToolStripMenuItem_Click(stationToolStripMenuItem, e); } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"加载站点信息出错", exception); MessageBox.Show(@"加载站点信息出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { //采集器设置ToolStripMenuItem.Visible = true; 台站选择ToolStripMenuItem.Visible = false; _smcForm = new StatusMonitorControlForm { MdiParent = this, WindowState = FormWindowState.Maximized, Para = _para, StationId = _para.StationInfo.StationId, }; _smcForm.Show(); } _tmr.Start(); }
private static void updater_UpdatesFound(object sender, EventArgs e) { CommonLogHelper.GetInstance("LogInfo").Info($"发现了新版本:{Updater.Instance.Context.UpdateInfo.AppVersion}"); }
private static void updater_NoUpdatesFound(object sender, EventArgs e) { CommonLogHelper.GetInstance("LogInfo").Info("没有新版本!"); }
private static void updater_OnUpdaterOnMinmumVersionRequired(object s, EventArgs e) { CommonLogHelper.GetInstance("LogError").Error("当前版本过低无法使用自动更新!"); MessageBox.Show(@"当前版本过低无法使用自动更新!"); }
private void 系统设置ToolStripMenuItem_Click(object sender, EventArgs e) { string staitongrad = _para.StationGrade; using (SettingForm setForm = new SettingForm()) { var result = setForm.ShowDialog(); if (result == DialogResult.OK) { _para = Parameter.ReadCfg(); if (!_para.StationGrade.Equals(staitongrad)) { foreach (Form mdiChild in MdiChildren) { ((StatusMonitorControlForm)mdiChild).CanClose = true; mdiChild.Close(); } if (_para.StationGrade.Contains("省级")) { //采集器设置ToolStripMenuItem.Visible = false; 台站选择ToolStripMenuItem.Visible = true; 台站选择ToolStripMenuItem.DropDownItems.Clear(); try { _para.StationProList = new List <StationPara>(); string conn = $"Data Source={_para.SqlServerPara.SqlIp};Initial Catalog={_para.SqlServerPara.SqlDb};User ID={_para.SqlServerPara.SqlUser};Password={_para.SqlServerPara.SqlPwd};"; RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(conn); var stations = (from s in radarDataContext.StationParaTable select s).Distinct().ToList(); foreach (StationPara station in stations.Select(s => new StationPara { StationId = s.StationID, StationName = s.StationName, Slong = s.Slong, Slat = s.Slat })) { _para.StationProList.Add(station); } foreach (ToolStripMenuItem stationToolStripMenuItem in stations.Select(station => new ToolStripMenuItem { Name = "stationToolStripMenuItem", Text = station.StationName, Tag = station.StationID })) { stationToolStripMenuItem.Click += StationToolStripMenuItem_Click; 台站选择ToolStripMenuItem.DropDownItems.Add(stationToolStripMenuItem); StationToolStripMenuItem_Click(stationToolStripMenuItem, e); } } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"加载站点信息出错", exception); MessageBox.Show(@"加载站点信息出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { //采集器设置ToolStripMenuItem.Visible = true; 台站选择ToolStripMenuItem.Visible = false; _smcForm = new StatusMonitorControlForm { MdiParent = this, WindowState = FormWindowState.Maximized, Para = _para, StationId = _para.StationInfo.StationId }; _smcForm.Show(); } } } } }
private void 实时采集ToolStripMenuItem_Click(object sender, EventArgs e) { DateTime dt = DateTime.Now; DateTime obdt = dt.AddSeconds(-dt.Second).AddMilliseconds(-dt.Millisecond); #region 台站级别发送指令 if (Para.StationGrade.Contains("台站")) { Thread collectThread = new Thread((ThreadStart) delegate { try { SerialPortOperate tempSerialPortOperate = _serialPort; //_tempSerialPortOperate.ReturnCollectorRecData += ManualRecDataProcessing; byte[] cmd = SerialPortCmdCombine.SetBaseCommand("FF", "03"); CommonLogHelper.GetInstance("LogInfo") .Info($@"实时采集:发送采集命令:{string.Join(" ", cmd.Select(x => x.ToString("X2")).ToArray())}"); tempSerialPortOperate.SendCommand(cmd); } catch (Exception ex) { CommonLogHelper.GetInstance("LogInfo").Info(@"实时采集:发送串口命令获取数据过程出错"); CommonLogHelper.GetInstance("LogError").Error(@"实时采集:发送串口命令获取数据过程出错", ex); _synchContext.Post(a => MessageBox.Show(this, @"实时采集:发送串口命令获取数据过程出错," + ex.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error) , null); } }) { IsBackground = true }; collectThread.Start(); } #endregion 台站级别发送指令 #region 省级级别操作数据库 try { if (Para.StationGrade.Contains("省级")) { Thread collectProThread = new Thread((ThreadStart) delegate { tSSLSystemStatus.Text = @"获取最新数据"; RadarDataClassesDataContext radarDataContext = new RadarDataClassesDataContext(_conn); DataAdapter dataadp = new DataAdapter(StationId, obdt); dataadp.DataResolve(radarDataContext); _synchContext.Post(a => { try { if (dataadp.AlarmStatusData != null) { radarStatusUI.SetAlarmStatus(dataadp.AlarmStatusData); } if (dataadp.ControlStatusData != null) { radarControlUI.SetControlStatus(dataadp.ControlStatusData); } if (dataadp.RadarPowerData != null) { powerIndicationUI.SetPowerDataValue(dataadp.RadarPowerData); } if (dataadp.AlarmStatusData != null || dataadp.ControlStatusData != null || dataadp.RadarPowerData != null) { tSSLDataUpdateTime.Text = $"数据更新时间:{obdt.ToString("yyyy-MM-dd HH:mm")}"; } else { MessageBox.Show(@"无当前实时数据"); } } catch (Exception ex) { MessageBox.Show(@"数据显示到界面上出错" + ex); } }, null); CommonLogHelper.GetInstance("LogInfo").Info(@"获取数据库数据成功"); try { RadarFailureAlarm(dataadp.AlarmStatusData); } catch (Exception ex) { CommonLogHelper.GetInstance("LogError").Error(@"雷达故障报警过程出错", ex); } }) { IsBackground = true }; collectProThread.Start(); } } catch (Exception ex) { MessageBox.Show(this, @"提取数据库数据处理过程出错" + ex, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion 省级级别操作数据库 }
private void btnQuery_Click(object sender, EventArgs e) { Thread drawDataLineProThread = new Thread((ThreadStart) delegate { try { _synchContext.Post(a => { gbControl.Enabled = false; stationchkListBox.Enabled = false; powerchkListBox.Enabled = false; circularProgress.IsRunning = true; circularProgress.Visible = true; }, null); _powerDataDics.Clear(); _sheetNameList.Clear(); List <string> stationsList = new List <string>(); for (int i = 1; i < stationchkListBox.Items.Count; i++) { if (stationchkListBox.GetItemChecked(i)) { stationsList.Add(stationchkListBox.GetItemText(stationchkListBox.Items[i])); } } string conn = $"Data Source={_para.SqlServerPara.SqlIp};Initial Catalog={_para.SqlServerPara.SqlDb};User ID={_para.SqlServerPara.SqlUser};Password={_para.SqlServerPara.SqlPwd};"; DateTime sdt = dtpStartTime.Value; DateTime edt = dtpEndTime.Value; RadarDataClassesDataContext radarDataClasses = new RadarDataClassesDataContext(conn); List <string> powerList = new List <string>(); for (int i = 1; i < powerchkListBox.Items.Count; i++) { if (powerchkListBox.GetItemChecked(i)) { powerList.Add(powerchkListBox.GetItemText(powerchkListBox.Items[i])); } } for (int i = 0; i < powerList.Count; i++) { powerList[i] = DataEnum2Titles.ToProperties(powerList[i]); } _synchContext.Post(a => { chartVolCur.Titles.Clear(); chartVolCur.Titles.Add("电源数据曲线图"); chartVolCur.Titles.Add( $"({sdt.ToString(CultureInfo.InvariantCulture)}——{edt.ToString(CultureInfo.InvariantCulture)})"); chartVolCur.ChartAreas.Clear(); chartVolCur.Series.Clear(); chartVolCur.Legends.Clear(); ChartArea ca = new ChartArea("Default"); chartVolCur.ChartAreas.Add(ca); chartVolCur.ChartAreas[0].AxisX.IsMarginVisible = true; chartVolCur.ChartAreas[0].AxisX.Interval = 1; chartVolCur.ChartAreas[0].AxisX.MajorGrid.Interval = 1; //chartVolCur.Legends["Legend2"].DockedToChartArea = "Default"; foreach (var stationid in stationsList) { Dictionary <string, List <string> > powerDataDic = new Dictionary <string, List <string> >(); List <string> columnName = new List <string>(); chartVolCur.Legends.Add(new Legend(stationid) { Title = stationid, Docking = Docking.Bottom }); foreach (var powerName in powerList) { //chartVolCur.Legends["Legend2"].CellColumns.Add(new LegendCellColumn("Name", LegendCellColumnType.Text, stationid)); // Assign the legend to Series1. Series s = new Series(stationid + "_" + powerName) { MarkerSize = 10, MarkerStyle = MarkerStyle.Star10, ChartType = SeriesChartType.Line, IsValueShownAsLabel = true, BorderWidth = 3, ShadowOffset = 1, Legend = stationid, LegendText = DataEnum2Titles.ToTitles(powerName), IsVisibleInLegend = true, Font = new Font("Microsoft Sans Serif", 8F, FontStyle.Bold), }; var allpowerdata = (from vol in radarDataClasses.PowerDataTable where stationsList.Contains(vol.StationID) && vol.DateTime >= sdt && vol.DateTime <= edt orderby vol.DateTime ascending select vol).ToList(); for (int i = 0; i <= (edt - sdt).TotalMinutes; i++) { DateTime dt = sdt.AddMinutes(i); List <string> powerdata = new List <string>(); if (!powerDataDic.ContainsKey(dt.ToString(CultureInfo.InvariantCulture))) { powerDataDic.Add(dt.ToString(CultureInfo.InvariantCulture), powerdata); } var pd = (from v in allpowerdata where v.DateTime == dt && v.StationID == stationid select v).Distinct().ToList(); if (pd.Count > 0) { object obj = (typeof(PowerDataTable)).GetProperty(powerName).GetValue(pd[0], null); s.Points.AddXY(dt.ToString("HH:mm"), obj); powerDataDic[dt.ToString(CultureInfo.InvariantCulture)].Add(obj.ToString()); } else { s.Points.AddXY(dt.ToString("HH:mm"), DBNull.Value); powerDataDic[dt.ToString(CultureInfo.InvariantCulture)].Add(string.Empty); } } chartVolCur.Series.Add(s); columnName.Add(DataEnum2Titles.ToTitles(powerName)); } _powerDataDics.Add(stationid, powerDataDic); _sheetNameList.Add(stationid, columnName); } }, null); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"数据查询并绘制曲线过程出错", exception); _synchContext.Post(a => MessageBox.Show(this, @"绘制复杂曲线过程错误," + exception.Message, @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error) , null); } finally { _synchContext.Post(a => { gbControl.Enabled = true; stationchkListBox.Enabled = true; powerchkListBox.Enabled = true; circularProgress.IsRunning = false; circularProgress.Visible = false; }, null); } }) { IsBackground = true }; drawDataLineProThread.Start(); }
private void SettingForm_Load(object sender, EventArgs e) { try { string[] ports = SerialPort.GetPortNames(); Array.Sort(ports); cmbSerialPort.Items.AddRange(ports); } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"加载本机串口号出错", exception); MessageBox.Show(@"加载本机串口号出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { _para = Parameter.ReadCfg(); cmbSerialPort.SelectedItem = _para.SerialPortPara.PortName; cmbBaudRate.SelectedItem = _para.SerialPortPara.BaudRate.ToString(CultureInfo.InvariantCulture); cmbDataBits.SelectedItem = _para.SerialPortPara.DataBits.ToString(CultureInfo.InvariantCulture); cmbStopBit.SelectedItem = _para.SerialPortPara.StopBits.ToString(CultureInfo.InvariantCulture); cmbCheckBit.SelectedItem = _para.SerialPortPara.CheckBit; tbSqlIp.Text = _para.SqlServerPara.SqlIp; tbDataBase.Text = _para.SqlServerPara.SqlDb; tbUser.Text = _para.SqlServerPara.SqlUser; tbPassword.Text = _para.SqlServerPara.SqlPwd; nUdIntl.Value = _para.UpdateDataIntl; cmbGrade.SelectedItem = _para.StationGrade; //if (para.StationGrade.Contains("省级")) //{ // dgvStationList.ReadOnly = true; // dgvStationList.RowCount = para.StationList.Count; // for (int i = 0; i < dgvStationList.RowCount; i++) // { // dgvStationList[0, i].Value = (i + 1).ToString(CultureInfo.InvariantCulture); // dgvStationList[1, i].Value = para.StationList[i].StationId; // dgvStationList[2, i].Value = para.StationList[i].StationName; // dgvStationList[3, i].Value = para.StationList[i].Slong; // dgvStationList[4, i].Value = para.StationList[i].Slat; // } //} //else //{ // dgvStationList.ReadOnly = false; // dgvStationList.RowCount = 1; // dgvStationList[0, 0].Value = "1"; // dgvStationList[1, 0].Value = para.StationList[0].StationId; // dgvStationList[2, 0].Value = para.StationList[0].StationName; // dgvStationList[3, 0].Value = para.StationList[0].Slong; // dgvStationList[4, 0].Value = para.StationList[0].Slat; //} } catch (Exception exception) { CommonLogHelper.GetInstance("LogError").Error(@"读取参数文件出错", exception); MessageBox.Show(@"读取参数文件出错", @"错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }