private void Instance_OnAlarming(XAlarmEventArgs e) { try { this.BeginInvoke(new Action(() => { string[] cellValues = new string[] { e.StartTime.ToString("yyyy/MM/dd"), e.StartTime.ToString("HH:mm:ss"), e.Code.ToString(), e.Category, e.Duration.ToString(), e.Description }; DataRow dr1 = dt.NewRow(); for (int i = 0; i < 6; i++) { dr1[i] = cellValues[i]; } //dt.Rows.Add(dr1); dt.Rows.InsertAt(dr1, 0); this.LB_CodeDescription.Items.Clear(); this.LB_CodeDescription.Items.Add("ErrorCode :" + e.Code + " Category:" + e.Category); this.LB_CodeDescription.Items.Add("Description :" + e.Description); SavecsvLog(); //for alarm statistics DataManager.Instance.alarmRecord.AlarmCodeArr[Math.Abs(e.Code)] += 1; DataManager.Instance.alarmRecord.Save(); })); } catch { } }
private void Instance_OnAlarmCleared(XAlarmEventArgs args) { try { this.BeginInvoke(new Action(() => { try { TimeSpan duration = DateTime.Now - args.StartTime; dataGridView1.Rows[0].Cells[4].Value = duration.Hours.ToString("00") + ":" + duration.Minutes.ToString("00") + ":" + duration.Seconds.ToString("00"); SavecsvLog(); } catch { } })); } catch { } }
private void Instance_OnAlarmReportSave(XAlarmEventArgs e) { //FileLog.WriteErrLog(e.Category+"_"+e.Description);//报警文档都保存到本地 #region data处理 string[] cellValues = new string[] { e.StartTime.ToString("yyyy-MM-dd"), e.StartTime.ToString("HH:mm:ss"), e.Code.ToString(), e.Category, e.Duration.ToString(), e.Description }; cellValues[2] = Globals.dt_ErrCode.Rows[e.Code][1].ToString(); // 把e.code变成ERR-ESB01-10001,第2行固定为RESET cellValues[3] = Globals.dt_ErrCode.Rows[e.Code][2].ToString(); // English discribtion string Locationpath = Globals.Dir_Record_Alarm + "\\" + cellValues[0] + "\\" + cellValues[0] + "_LocationErrorCode.csv"; string Updatepath = Globals.Dir_Record_Alarm + "\\" + cellValues[0] + "\\" + cellValues[0] + "_UpdateErrorCode.csv"; Globals.comf.IsDirExist(Locationpath);//建立对应的文件夹 Globals.comf.IsDirExist(Updatepath); string strHeader = "Time,Project,Vendor,BU,Floor,Line,AEID,AESUB_ID,Time Mode,ErrorCode,Description,Color,Notes"; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Clear(); stringBuilder.Append(cellValues[0] + " " + cellValues[1]); stringBuilder.Append("," + Globals.settingMachineInfo.Project); stringBuilder.Append("," + Globals.settingMachineInfo.Vendor); stringBuilder.Append("," + Globals.settingMachineInfo.BU); stringBuilder.Append("," + Globals.settingMachineInfo.Floor); stringBuilder.Append("," + Globals.settingMachineInfo.Line); stringBuilder.Append("," + Globals.settingMachineInfo.AEID); stringBuilder.Append("," + Globals.settingMachineInfo.AESUB_ID); #endregion #region TimeMode处理 string timemode = (e.Code == 2) ? "1" : "0"; stringBuilder.Append("," + timemode); //timemode stringBuilder.Append("," + cellValues[2]); //ErrorCode stringBuilder.Append("," + cellValues[3]); //English Description bool needsave_csv = false; if (e.Code == 2) //2 is RST-------//color//Timemode=true 1 为正常,FALSE 0 位异常 { PVar.LampStatus = 30; stringBuilder.Append(",Green"); if (!Globals.settingFunc.TimeMode) { Globals.settingFunc.TimeMode = true; needsave_csv = true; } this.AlarmStatus.BZ_Color = PVar.BZColor_SelectedBtn; this.AlarmStatus.Text = "Alarm"; this.AlarmTime.BZ_Color = PVar.BZColor_SelectedBtn; this.AlarmTime.BZ_BigText = "00:00:00"; } else { PVar.LampStatus = 10; stringBuilder.Append(",Red"); if (Globals.settingFunc.TimeMode) { Globals.settingFunc.TimeMode = false; needsave_csv = true; } PVar.Ring_EN = true;//buzzer if (On_Errorbtn != null) { On_Errorbtn(); } this.AlarmStatus.BZ_Color = PVar.BZColor_ErrorRed; this.AlarmStatus.Text = "Alarm"; this.AlarmTime.BZ_Color = PVar.BZColor_ErrorRed; this.AlarmTime.BZ_BigText = e.StartTime.ToString("HH:mm:ss"); } //cellValues[5] = Globals.dt_ErrCode.Rows[2][3].ToString();// 中文说明 stringBuilder.Append("," + cellValues[5]); if (needsave_csv) { if (File.Exists(Locationpath) == false) { CsvServer.Instance.WriteLine(Locationpath, strHeader); } if (File.Exists(Updatepath) == false && Globals.settingFunc.ErrorCode是否上传) { CsvServer.Instance.WriteLine(Updatepath, strHeader); } if (Globals.settingFunc.ErrorCode是否上传) { CsvServer.Instance.WriteLine(Updatepath, stringBuilder.ToString()); } CsvServer.Instance.WriteLine(Locationpath, stringBuilder.ToString()); } #endregion stringBuilder.Clear(); }