using DIT.SharedMemory;
|
using System;
|
using System.Collections.Generic;
|
using System.Reflection;
|
using System.Threading;
|
using System.Windows.Forms;
|
|
namespace SHARP_CLAS_UI
|
{
|
public partial class Form_Alarm_List : Form
|
{
|
Form_Frame _Parent;
|
|
List<Alarm_Occurred> AlarmList = new List<Alarm_Occurred>();
|
|
public Form_Alarm_List(Form_Frame _Parent)
|
{
|
InitializeComponent();
|
this._Parent = _Parent;
|
Init_Data_Grid_View();
|
}
|
|
private void Init_Data_Grid_View()
|
{
|
//Datagridview Double Buffer 사용.
|
Type dgvType = dgv_Alarm_list.GetType();
|
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
|
BindingFlags.Instance | BindingFlags.NonPublic);
|
pi.SetValue(dgv_Alarm_list, true, null);
|
//================================
|
|
int i = 0;
|
foreach (DataGridViewColumn dgvc in dgv_Alarm_list.Columns)
|
{
|
if (i == 0)
|
{
|
dgvc.Width = 160;
|
dgvc.DefaultCellStyle.Format = "yyyy/MM/dd HH:mm:ss.fff";
|
}
|
else if (i == 1)
|
dgvc.Width = 300;
|
else if (i == 2)
|
dgvc.Width = 200;
|
else if (i == 3)
|
dgvc.Width = 100;
|
|
i++;
|
}
|
|
foreach (DataGridViewColumn column in dgv_Alarm_list.Columns)
|
{
|
column.SortMode = DataGridViewColumnSortMode.NotSortable;
|
}
|
}
|
|
private void Form_Alarm_List_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
e.Cancel = true;
|
this.Hide();
|
}
|
|
public bool Add_Alarm(Alarm_Occurred Occurred_Alarm)
|
{
|
if(_Parent._equip.cim_mode == En_Cim_Mode.Online)
|
{
|
if (Occurred_Alarm.Code == En_Alarm_List.AL_0010_SAFETY_DOOR_2_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0011_SAFETY_DOOR_3_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0012_SAFETY_DOOR_4_OPEN ||
|
Occurred_Alarm.Code == En_Alarm_List.AL_0013_SAFETY_DOOR_5_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0014_SAFETY_DOOR_6_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0015_SAFETY_DOOR_7_OPEN ||
|
Occurred_Alarm.Code == En_Alarm_List.AL_0016_SAFETY_DOOR_8_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0017_SAFETY_DOOR_9_OPEN || Occurred_Alarm.Code == En_Alarm_List.AL_0018_SAFETY_DOOR_10_OPEN)
|
{
|
|
}
|
else
|
{
|
if (!_Parent._equip.cim_client.Send_Alarm("E12345678", true, Occurred_Alarm))
|
{
|
return false;
|
}
|
}
|
}
|
|
AlarmList.Add(Occurred_Alarm);
|
dgv_Alarm_list.Rows.Add(Occurred_Alarm.Time, Occurred_Alarm.Code, Occurred_Alarm.Description, Occurred_Alarm.Heavy);
|
return true;
|
}
|
|
private void btn_Alarm_Clear_Click(object sender, EventArgs e)
|
{
|
if(AlarmList.Count > 0)
|
{
|
if (_Parent._equip.cim_mode == En_Cim_Mode.Online)
|
{
|
foreach(Alarm_Occurred Occurred_Alarm in AlarmList)
|
{
|
_Parent._equip.cim_client.Send_Alarm("E12345678", false, Occurred_Alarm);
|
}
|
|
if(AlarmList.Exists(x=> x.Heavy == true))
|
_Parent._equip.Set_Equipment_Status_Code(En_Equipment_Status_Code.T3);
|
}
|
}
|
|
Alarm_Manager.Instance.Alarm_Clear();
|
AlarmList.Clear();
|
dgv_Alarm_list.Rows.Clear();
|
lb_Description.Text = string.Empty;
|
}
|
|
private void btn_Buzzer_Stop_Click(object sender, EventArgs e)
|
{
|
_Parent._equip.Board_Control.IO_manager.Set_Output(OutputData.Buzzer_1_Relay, false);
|
}
|
|
private void dgv_Alarm_list_CellClick(object sender, DataGridViewCellEventArgs e)
|
{
|
if (dgv_Alarm_list.CurrentRow != null && dgv_Alarm_list.CurrentRow.Selected)
|
{
|
lb_Description.Text = (string)dgv_Alarm_list.CurrentRow.Cells[2].Value;
|
}
|
else
|
{
|
lb_Description.Text = string.Empty;
|
}
|
}
|
}
|
}
|