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
///
/// Exception Log
///
private ILog ExceptionLog = LogManager.GetLogger("SHARP_CLAS_UI_Exception");
///
/// Button Log
///
private ILog Button_Log = LogManager.GetLogger("Button");
///
/// Interlock Log
///
private ILog Interlock_Log = LogManager.GetLogger("Interlock");
///
/// Position Parameter Log
///
private ILog Position_Parameter_Log = LogManager.GetLogger("Position_Parameter");
///
/// Mode Parameter Log
///
private ILog Mode_Parameter_Log = LogManager.GetLogger("Mode_Parameter");
///
/// Setting Parameter Log
///
private ILog Setting_Parameter_Log = LogManager.GetLogger("Setting_Parameter");
///
/// Exception Log Write
///
/// Method name of exception that occurred
/// exception
public void WriteExceptionLog(string Screenname, string Methodname, Exception ex)
{
if (ExceptionLog != null) ExceptionLog.Debug($"{Screenname}\t{Methodname}\t{ex.Message}");
}
///
/// Button Log Write
///
///
public void WriteButtonLog(string str)
{
Button_Log.Debug(str);
}
///
/// Interlock Log Write
///
/// Method name of exception that occurred
/// exception
public void Write_Interlock_Log(string message)
{
if (Interlock_Log != null) Interlock_Log.Debug($"{message}");
}
///
/// Interlock Log Write
///
/// Method name of exception that occurred
/// exception
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}");
}
///
/// Create excepton logger
///
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");
}
///
/// Create button logger
///
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");
}
///
/// Create excepton logger
///
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");
}
///
/// Create excepton logger
///
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";
}
catch(Exception )
{
}
finally
{
update_check = false;
}
}
}
///
/// initialize Screen
///
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();
}
///
/// initialize Frame Button
///
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.Engeener)
{
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);
}
}
}
}