Exemple #1
0
        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 { }
        }
Exemple #2
0
 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
     {
     }
 }
Exemple #3
0
        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();
        }