using System.Windows.Forms;
|
using SHARP_CLAS_UI.Screen;
|
using System.Drawing;
|
using Navigation;
|
using log4net.Appender;
|
using log4net.Layout;
|
using log4net.Repository.Hierarchy;
|
using log4net;
|
using System;
|
using System.Text;
|
using DIT.SharedMemory;
|
using System.Threading;
|
using System.Globalization;
|
|
namespace SHARP_CLAS_UI
|
{
|
public partial class Form_Frame : Form
|
{
|
#region Enum
|
#endregion
|
|
#region Logger
|
/// <summary>
|
/// Exception Log
|
/// </summary>
|
private ILog ExceptionLog = LogManager.GetLogger("SHARP_CLAS_UI_Exception");
|
|
/// <summary>
|
/// Button Log
|
/// </summary>
|
private ILog Button_Log = LogManager.GetLogger("Button");
|
|
/// <summary>
|
/// Interlock Log
|
/// </summary>
|
private ILog Interlock_Log = LogManager.GetLogger("Interlock");
|
|
/// <summary>
|
/// Position Parameter Log
|
/// </summary>
|
private ILog Position_Parameter_Log = LogManager.GetLogger("Position_Parameter");
|
|
/// <summary>
|
/// Mode Parameter Log
|
/// </summary>
|
private ILog Mode_Parameter_Log = LogManager.GetLogger("Mode_Parameter");
|
|
/// <summary>
|
/// Setting Parameter Log
|
/// </summary>
|
private ILog Setting_Parameter_Log = LogManager.GetLogger("Setting_Parameter");
|
|
/// <summary>
|
/// Exception Log Write
|
/// </summary>
|
/// <param name="Methodname">Method name of exception that occurred</param>
|
/// <param name="ex">exception</param>
|
public void WriteExceptionLog(string Screenname, string Methodname, Exception ex)
|
{
|
if (ExceptionLog != null) ExceptionLog.Debug($"{Screenname}\t{Methodname}\t{ex.Message}");
|
}
|
|
/// <summary>
|
/// Button Log Write
|
/// </summary>
|
/// <param name="str"></param>
|
public void WriteButtonLog(string str)
|
{
|
Button_Log.Debug(str);
|
}
|
|
/// <summary>
|
/// Interlock Log Write
|
/// </summary>
|
/// <param name="Methodname">Method name of exception that occurred</param>
|
/// <param name="ex">exception</param>
|
public void Write_Interlock_Log(string message)
|
{
|
if (Interlock_Log != null) Interlock_Log.Debug($"{message}");
|
}
|
|
/// <summary>
|
/// Interlock Log Write
|
/// </summary>
|
/// <param name="Methodname">Method name of exception that occurred</param>
|
/// <param name="ex">exception</param>
|
public void Write_Position_Parameter_Log(string message)
|
{
|
if (Position_Parameter_Log != null) Position_Parameter_Log.Debug($"{message}");
|
}
|
public void Write_Mode_Parameter_Log(string message)
|
{
|
if (Mode_Parameter_Log != null) Mode_Parameter_Log.Debug($"{message}");
|
}
|
|
public void Write_Setting_Parameter_Log(string message)
|
{
|
if (Setting_Parameter_Log != null) Setting_Parameter_Log.Debug($"{message}");
|
}
|
/// <summary>
|
/// Create excepton logger
|
/// </summary>
|
private void Create_exception_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "SHARP_CLAS_UI_ExceptionRollingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\SHARP_CLAS_Exception\";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\'Exception'_MM_dd'.log'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff} %m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("SHARP_CLAS_UI_Exception");
|
ILog log = LogManager.GetLogger("SHARP_CLAS_UI_Exception");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
ExceptionLog = LogManager.GetLogger("SHARP_CLAS_UI_Exception");
|
}
|
|
/// <summary>
|
/// Create button logger
|
/// </summary>
|
private void Create_button_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "SHARP_CLAS_UI_ButtonRollingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\Button\";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\MM\\\\'Button'_dd'.csv'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff},%m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("Button");
|
ILog log = LogManager.GetLogger("Button");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
Button_Log = LogManager.GetLogger("Button");
|
}
|
|
/// <summary>
|
/// Create excepton logger
|
/// </summary>
|
private void Create_Interlock_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "Interlock_RoolingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\Interlock\";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\MM\\\\'Interlock'_dd'.csv'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff},%m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("Interlock");
|
ILog log = LogManager.GetLogger("Interlock");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
Interlock_Log = LogManager.GetLogger("Interlock");
|
}
|
|
/// <summary>
|
/// Create excepton logger
|
/// </summary>
|
private void Create_Position_Parameter_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "Position_Parameter_RoolingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\Position_Parameter\{DateTime.Now.Year}\{DateTime.Now.Month}\Position_Parameter.csv";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\MM\\\\'Position_Parameter'_dd'.csv'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff},%m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("Position_Parameter");
|
ILog log = LogManager.GetLogger("Position_Parameter");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
Position_Parameter_Log = LogManager.GetLogger("Position_Parameter");
|
}
|
|
private void Create_Mode_Parameter_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "Mode_Parameter_RoolingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\Mode_Parameter\";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\MM\\\\'Mode_Parameter'_dd'.csv'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff},%m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("Mode_Parameter");
|
ILog log = LogManager.GetLogger("Mode_Parameter");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
Mode_Parameter_Log = LogManager.GetLogger("Mode_Parameter");
|
}
|
|
private void Create_Setting_Parameter_logger()
|
{
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
RollingFileAppender rollingAppender = new RollingFileAppender();
|
|
PatternLayout layout = new PatternLayout();
|
hierarchy.Configured = true;
|
|
rollingAppender.Name = "Setting_Parameter_RoolingFile";
|
rollingAppender.LockingModel = new RollingFileAppender.MinimalLock();
|
rollingAppender.File = $@"D:\Logger\Setting_Parameter\";
|
rollingAppender.AppendToFile = true;
|
rollingAppender.DatePattern = "yyyy\\\\MM\\\\'Setting_Parameter'_dd'.csv'";
|
rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Composite;
|
rollingAppender.MaxSizeRollBackups = 10;
|
rollingAppender.MaximumFileSize = "100MB";
|
rollingAppender.StaticLogFileName = false;
|
rollingAppender.Encoding = Encoding.UTF8;
|
rollingAppender.PreserveLogFileNameExtension = true;
|
layout = new PatternLayout("%d{yyyy/MM/dd HH:mm:ss.fff},%m%n");
|
layout.ActivateOptions();
|
rollingAppender.Layout = layout;
|
rollingAppender.ActivateOptions();
|
|
hierarchy.GetLogger("Setting_Parameter");
|
ILog log = LogManager.GetLogger("Setting_Parameter");
|
Logger l = (Logger)log.Logger;
|
l.Level = log4net.Core.Level.Debug;
|
l.AddAppender(rollingAppender);
|
|
Setting_Parameter_Log = LogManager.GetLogger("Setting_Parameter");
|
}
|
#endregion
|
|
#region Property
|
private delegate void UI_Update_Delegate();
|
|
Thread UI_Update_Th;
|
private Navigator navi;
|
|
public SharedMemory sm;
|
|
public Form_Main Screen_Main;
|
|
public Form_Recipe Screen_Recipe;
|
|
public Form_Recipe_Main Screen_Recipe_Main;
|
|
public Form_Recipe_Type Screen_Recipe_Type;
|
|
public Form_Parameter Screen_Parameter;
|
|
public Form_Parameter_Position Screen_Parameter_Position;
|
|
public Form_Parameter_System Screen_Parameter_System;
|
|
public Form_Parameter_Alarm_Setting Screen_Parameter_Alarm_Setting;
|
|
public Form_Maintenance Screen_Maintenance;
|
|
public Form_Maintenance_Initialize Screen_Maintenance_Initialize;
|
|
public Form_Maintenance_IO Screen_Maintenance_IO;
|
|
public Form_Maintenance_Analog Screen_Maintenance_Analog;
|
|
public Form_Maintenance_Laser Screen_Maintenance_Laser;
|
|
public Form_Maintenance_Control Screen_Maintenance_Control;
|
|
public Form_Maintenance_User_Info Screen_Maintenance_User_Info;
|
|
public Form_Log Screen_Log;
|
|
public Form_Alarm_List Screen_Alarm_List;
|
|
public Equipment _equip;
|
|
public Form_Vision_Test Screen_Vision_Test;
|
|
public Form_Sequence_Viewer Screen_Sequence_Viewer;
|
|
public Form_Scanner_View Screen_Scanner_View;
|
|
public Form_Login Screen_Login;
|
|
public Interlock_View interlock_view;
|
|
bool language = true;
|
|
bool update_check;
|
|
bool isDispose = false;
|
#endregion
|
|
#region Construct
|
public Form_Frame()
|
{
|
InitializeComponent();
|
sm = new SharedMemory("SHARP_CLAS", 10000, true);
|
sm.Open();
|
|
interlock_view = new Interlock_View(this);
|
|
_equip = new Equipment();
|
|
UI_Update_Th = new Thread(UI_Update_Th_Set);
|
UI_Update_Th.Start();
|
}
|
#endregion
|
|
#region Form event
|
private void Form_Frame_Load(object sender, EventArgs e)
|
{
|
Create_exception_logger();
|
Create_button_logger();
|
Create_Interlock_logger();
|
Create_Position_Parameter_logger();
|
Create_Mode_Parameter_logger();
|
Create_Setting_Parameter_logger();
|
|
Init_Screen();
|
Init_Frame_Button();
|
this.Location = new Point(0, 0);
|
}
|
|
private void Form_Frame_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
if (_equip.cim_mode == En_Cim_Mode.Online)
|
{
|
_equip.Set_Cim_Mode(En_Cim_Mode.Offline);
|
}
|
|
isDispose = true;
|
Dispose_Child_Form();
|
_equip.Dispose();
|
sm.Close();
|
|
this.Dispose();
|
}
|
|
private void btn_AlarmView_Click(object sender, EventArgs e)
|
{
|
Screen_Alarm_List.Show();
|
Screen_Alarm_List.WindowState = FormWindowState.Normal;
|
Screen_Alarm_List.TopMost = true;
|
Screen_Alarm_List.TopMost = false;
|
}
|
|
private void lb_Language_Click(object sender, EventArgs e)
|
{
|
if (language)
|
{
|
lb_Language.Image = Properties.Resources.Japan;
|
resLanguage.Culture = new CultureInfo("ja-JP");
|
language = false;
|
}
|
else
|
{
|
lb_Language.Image = Properties.Resources.English;
|
resLanguage.Culture = new CultureInfo("");
|
language = true;
|
}
|
|
Set_Language();
|
|
Screen_Main.Set_Language();
|
|
Screen_Recipe_Main.Set_Language();
|
Screen_Recipe_Type.Set_Language();
|
|
Screen_Parameter_Position.Set_Language();
|
Screen_Parameter_System.Set_Language();
|
Screen_Parameter_Alarm_Setting.Set_Language();
|
|
Screen_Maintenance_Initialize.Set_Language();
|
Screen_Maintenance_Control.Set_Language();
|
Screen_Maintenance_User_Info.Set_Language();
|
|
Screen_Log.Set_Language();
|
|
Screen_Login.Set_Language();
|
}
|
|
private void btn_LampView_Click(object sender, EventArgs e)
|
{
|
bool value = _equip.sm.Get_Bit(Output_Memory_Address.Equipment_Internal_Light);
|
|
_equip.Board_Control.IO_manager.Set_Output(OutputData.Equipment_Internal_Light, !value);
|
}
|
#endregion
|
|
#region Function
|
public void Set_Language()
|
{
|
try
|
{
|
lb_Login_Info.Text = resLanguage.Login_Info;
|
lb_Name.Text = resLanguage.Name;
|
lb_Level.Text = resLanguage.Level;
|
btn_Log_Out.Text = resLanguage.Log_Out;
|
lb_Dust_Collector.Text = resLanguage.Dust_Collector;
|
lb_Recipe_Name.Text = resLanguage.Recipe_Name;
|
lb_Motor_Board_Status.Text = resLanguage.Motor_Board_Status;
|
lb_Align.Text = resLanguage.Align_PC;
|
lb_AOI.Text = resLanguage.AOI_PC;
|
btn_AlarmView.Text = resLanguage.Alarm;
|
lb_Lamp_Red.Text = resLanguage.Red;
|
lb_Lamp_Yellow.Text = resLanguage.Yellow;
|
lb_Lamp_Green.Text = resLanguage.Green;
|
lb_Lamp_Blue.Text = resLanguage.Blue;
|
}
|
catch(Exception ex)
|
{
|
|
}
|
}
|
|
private void UI_Update_Th_Set()
|
{
|
while (!this.IsDisposed)
|
{
|
Thread.Sleep(100);
|
|
if (!update_check)
|
{
|
update_check = true;
|
UI_Update();
|
}
|
}
|
}
|
|
private void UI_Update()
|
{
|
if (InvokeRequired)
|
{
|
BeginInvoke(new UI_Update_Delegate(UI_Update));
|
return;
|
}
|
else
|
{
|
try
|
{
|
if (_equip.equip_mode == En_Equipment_Mode.Auto)
|
{
|
if(Screen_Recipe_Main.Enabled)
|
{
|
Screen_Recipe_Main.Enabled = false;
|
}
|
|
if (Screen_Recipe_Type.Enabled)
|
{
|
Screen_Recipe_Type.Enabled = false;
|
}
|
|
if (Screen_Parameter_Position.Enabled)
|
{
|
Screen_Parameter_Position.Enabled = false;
|
}
|
|
if (Screen_Parameter_System.Enabled)
|
{
|
Screen_Parameter_System.Enabled = false;
|
}
|
|
if (Screen_Parameter_Alarm_Setting.Enabled)
|
{
|
Screen_Parameter_Alarm_Setting.Enabled = false;
|
}
|
}
|
else if (_equip.equip_mode != En_Equipment_Mode.Auto)
|
{
|
if (!Screen_Recipe_Main.Enabled)
|
{
|
Screen_Recipe_Main.Enabled = true;
|
}
|
|
if (!Screen_Recipe_Type.Enabled)
|
{
|
Screen_Recipe_Type.Enabled = true;
|
}
|
|
if (!Screen_Parameter_Position.Enabled)
|
{
|
Screen_Parameter_Position.Enabled = true;
|
}
|
|
if (!Screen_Parameter_System.Enabled)
|
{
|
Screen_Parameter_System.Enabled = true;
|
}
|
|
if (!Screen_Parameter_Alarm_Setting.Enabled)
|
{
|
Screen_Parameter_Alarm_Setting.Enabled = true;
|
}
|
}
|
|
Screen_Maintenance_User_Info.SetUIData(_equip.panel_count_info.CleaningCount);
|
|
if (Alarm_Manager.Instance.Occured_Alarm.Count > 0)
|
{
|
Alarm_Occurred alarm = Alarm_Manager.Instance.Occured_Alarm.Dequeue();
|
|
if (Screen_Alarm_List.Add_Alarm(alarm))
|
{
|
if(alarm.Heavy) _equip.Set_Equipment_Status_Code(En_Equipment_Status_Code.T2);
|
|
_equip.Board_Control.IO_manager.Set_Output(OutputData.Buzzer_1_Relay, true);
|
Screen_Alarm_List.Show();
|
}
|
else
|
{
|
Alarm_Manager.Instance.Occured_Alarm.Enqueue(alarm);
|
}
|
}
|
|
if (Interlock_Manager.Interlock_Msgs.Count > 0)
|
{
|
if (interlock_view.Visible == false)
|
{
|
_equip.Board_Control.IO_manager.Set_Output(OutputData.Buzzer_1_Relay, true);
|
Interlock_Msg msg = Interlock_Manager.Interlock_Msgs.Dequeue();
|
|
Write_Interlock_Log($"{msg.Interlock_Message},{msg.Interlock_Discription}");
|
interlock_view.Interlock_Message = msg.Interlock_Message;
|
interlock_view.Interlock_Discription = msg.Interlock_Discription;
|
interlock_view.Show();
|
|
Interlock_Manager.Interlock_Msgs.Clear();
|
_equip.Set_Equipment_Mode(En_Equipment_Mode.Pause);
|
}
|
}
|
|
if(Alarm_Manager.Instance.Alarm_Status == En_Alarm_Status.HEAVY)
|
{
|
btn_AlarmView.BackColor = Color.Red;
|
}
|
else if (Alarm_Manager.Instance.Alarm_Status == En_Alarm_Status.LIGHT)
|
{
|
btn_AlarmView.BackColor = Color.Yellow;
|
}
|
else
|
{
|
btn_AlarmView.BackColor = Color.White;
|
}
|
|
lb_Cim_Mode.BackColor = _equip.cim_mode == En_Cim_Mode.Online ? Color.Lime : Color.Green;
|
lb_Cim_Mode.Text = _equip.cim_mode == En_Cim_Mode.Online ? resLanguage.CIM_On_Line : lb_Cim_Mode.Text = resLanguage.CIM_Off_Line;
|
|
lb_Align.BackColor = _equip.Align_vision.isConnected ? Color.Lime : Color.Green;
|
lb_AOI.BackColor = _equip.Aoi_vision.isConnected ? Color.Lime : Color.Green;
|
|
lb_User_Name.Text = _equip.User.Name;
|
lb_User_Level.Text = _equip.User.Level.ToString();
|
|
btn_LampView.BackColor = sm.Get_Bit(Output_Memory_Address.Equipment_Internal_Light) ? Color.Yellow : Color.Olive;
|
lb_Lamp_Red.BackColor = sm.Get_Bit(Output_Memory_Address.Tower_Lamp_R) ? Color.Red : Color.DarkRed;
|
lb_Lamp_Yellow.BackColor = sm.Get_Bit(Output_Memory_Address.Tower_Lamp_Y) ? Color.Yellow : Color.Olive;
|
lb_Lamp_Green.BackColor = sm.Get_Bit(Output_Memory_Address.Tower_Lamp_G) ? Color.Lime : Color.Green;
|
lb_Lamp_Blue.BackColor = sm.Get_Bit(Output_Memory_Address.Tower_Lamp_B) ? Color.Blue : Color.SlateGray;
|
|
DateTime dt = DateTime.Now;
|
lb_Date.Text = dt.ToString("yyyy/MM/dd");
|
lb_Time.Text = dt.ToString("HH:mm:ss.ff");
|
|
tb_Dust_Collect.Text = _equip.Setting.Dust_Collector.ToString();
|
tb_Dust_Collect.BackColor = sm.Get_Bit(Output_Memory_Address.Dust_Collector_On) ? Color.Lime : Color.Red;
|
|
tb_Motor_Board_Status.Text = $"{_equip.Board_Control.BoardMode}";
|
tb_Motor_Board_Status.BackColor = _equip.Board_Control.BoardMode == MMCE_Test.NMCSDKLib.EcMstMode.eMM_RUN ? Color.Lime : Color.Red;
|
if (_equip.Cur_Main_Recipe != null)
|
tb_Main_Recipe_Name.Text = _equip.Cur_Main_Recipe.Name;
|
else
|
tb_Main_Recipe_Name.Text = "Not Selected";
|
|
if(_equip.process.ablation.Is_Power_Measure && _equip.User.Level < En_User_Level.Master)
|
{
|
pnl_Main.Enabled = false;
|
pnl_Bottom.Enabled = false;
|
}
|
else
|
{
|
pnl_Main.Enabled = true;
|
pnl_Bottom.Enabled = true;
|
}
|
}
|
catch(Exception )
|
{
|
|
}
|
finally
|
{
|
update_check = false;
|
}
|
}
|
|
}
|
|
/// <summary>
|
/// initialize Screen
|
/// </summary>
|
private void Init_Screen()
|
{
|
Screen_Main = new Form_Main(this);
|
|
Screen_Recipe_Main = new Form_Recipe_Main(this);
|
Screen_Recipe_Type = new Form_Recipe_Type(this);
|
Screen_Recipe = new Form_Recipe(this);
|
|
Screen_Parameter_Position = new Form_Parameter_Position(this);
|
Screen_Parameter_System = new Form_Parameter_System(this);
|
Screen_Parameter_Alarm_Setting = new Form_Parameter_Alarm_Setting(this);
|
Screen_Parameter = new Form_Parameter(this);
|
|
Screen_Maintenance_Initialize = new Form_Maintenance_Initialize(this);
|
Screen_Maintenance_IO = new Form_Maintenance_IO(this);
|
Screen_Maintenance_Analog = new Form_Maintenance_Analog(this);
|
Screen_Maintenance_Laser = new Form_Maintenance_Laser(this);
|
Screen_Maintenance_Control = new Form_Maintenance_Control(this);
|
Screen_Maintenance_User_Info = new Form_Maintenance_User_Info(this);
|
Screen_Maintenance = new Form_Maintenance(this);
|
|
Screen_Log = new Form_Log(this);
|
|
Screen_Alarm_List = new Form_Alarm_List(this);
|
|
Screen_Vision_Test = new Form_Vision_Test(this);
|
|
Screen_Sequence_Viewer = new Form_Sequence_Viewer(this);
|
|
Screen_Scanner_View = new Form_Scanner_View(this);
|
|
Screen_Login = new Form_Login(this);
|
|
Screen_Login.Show();
|
}
|
|
/// <summary>
|
/// initialize Frame Button
|
/// </summary>
|
private void Init_Frame_Button()
|
{
|
navi = new Navigator(this, pnl_Bottom, pnl_Main, Navigator.Menu_Sort.LEFT, Navigator.Navigation_Location.TOP);
|
navi.Set_Menu_Color(Color.LightSkyBlue, Color.LightSkyBlue);
|
navi.Set_Menu_Size(100, 120);
|
navi.Set_Menu_Font(15, Color.White, FontStyle.Bold, ContentAlignment.BottomCenter);
|
navi.Set_Navigation_Color(Color.White);
|
|
navi.Create_Menu("Main", Screen_Main, Navigator.User_Level.OPERATOR, btn_Menu_Click);
|
navi.Create_Menu("Recipe", Screen_Recipe, Navigator.User_Level.OPERATOR, btn_Menu_Click);
|
navi.Create_Menu("Parameter", Screen_Parameter, Navigator.User_Level.OPERATOR, btn_Menu_Click);
|
navi.Create_Menu("Maintenance", Screen_Maintenance, Navigator.User_Level.OPERATOR, btn_Menu_Click);
|
navi.Create_Menu("Log", Screen_Log, Navigator.User_Level.OPERATOR, btn_Menu_Click);
|
navi.Create_EXIT(btn_EXT_Click);
|
|
navi.Set_Margin(20);
|
}
|
|
private void btn_Menu_Click(object sender, EventArgs e)
|
{
|
Button data = (Button)sender;
|
WriteButtonLog($"{this.Name},{data.Name}");
|
}
|
|
private void btn_EXT_Click(object sender, EventArgs e)
|
{
|
Button data = (Button)sender;
|
if(data.DialogResult == DialogResult.OK) WriteButtonLog($"{this.Name},{data.Name}");
|
}
|
|
public void Set_User_Level(En_User_Level user_level)
|
{
|
Navigator.User_Level level;
|
|
if (user_level == En_User_Level.Operator)
|
{
|
level = Navigator.User_Level.OPERATOR;
|
}
|
else if(user_level == En_User_Level.Engineer)
|
{
|
level = Navigator.User_Level.ENGINEER;
|
}
|
else if(user_level == En_User_Level.Master)
|
{
|
level = Navigator.User_Level.MASTER;
|
}
|
else
|
{
|
level = Navigator.User_Level.OPERATOR;
|
}
|
|
navi.Set_User_Level(level);
|
|
Screen_Parameter.Set_User_Level(level);
|
Screen_Maintenance.Set_User_Level(level);
|
Screen_Recipe.Set_User_Level(level);
|
Screen_Recipe_Main.Set_User_Level(level);
|
Screen_Recipe_Type.Set_User_Level(level);
|
Screen_Parameter_Position.Set_User_Level(level);
|
Screen_Parameter_System.Set_User_Level(level);
|
Screen_Maintenance_User_Info.Set_User_Level(level);
|
Screen_Maintenance_Control.Set_User_Level(level);
|
}
|
|
public void Dispose_Child_Form()
|
{
|
Screen_Main.Dispose();
|
Screen_Recipe.Dispose();
|
Screen_Recipe_Main.Dispose();
|
Screen_Recipe_Type.Dispose();
|
Screen_Parameter.Dispose();
|
Screen_Parameter_Position.Dispose();
|
Screen_Parameter_System.Dispose();
|
Screen_Parameter_Alarm_Setting.Dispose();
|
Screen_Maintenance.Dispose();
|
Screen_Maintenance_Initialize.Dispose();
|
Screen_Maintenance_IO.Dispose();
|
Screen_Maintenance_Analog.Dispose();
|
Screen_Maintenance_Laser.Dispose();
|
Screen_Maintenance_Control.Dispose();
|
Screen_Maintenance_User_Info.Dispose();
|
Screen_Log.Dispose();
|
Screen_Alarm_List.Dispose();
|
Screen_Vision_Test.Dispose();
|
Screen_Sequence_Viewer.Dispose();
|
Screen_Scanner_View.Dispose();
|
Screen_Login.Dispose();
|
interlock_view.Dispose();
|
}
|
|
#endregion
|
|
private void btn_Log_Out_Click(object sender, EventArgs e)
|
{
|
_equip.User.Reset();
|
|
Set_User_Level(En_User_Level.Operator);
|
|
Screen_Login.Show();
|
}
|
|
private void lb_Cim_Mode_Click(object sender, EventArgs e)
|
{
|
if(_equip.cim_mode == En_Cim_Mode.Online)
|
{
|
_equip.Set_Cim_Mode(En_Cim_Mode.Offline);
|
}
|
else
|
{
|
_equip.Set_Cim_Mode(En_Cim_Mode.Online);
|
}
|
}
|
}
|
}
|