|
|
|
|
@ -24,6 +24,7 @@ using System.IO;
|
|
|
|
|
using Rs.MotionPlat.Entitys;
|
|
|
|
|
using static Rs.MotionPlat.Commom.SchedulingMessageBox;
|
|
|
|
|
using ICSharpCode.SharpZipLib.Zip;
|
|
|
|
|
using Rs.DataAccess;
|
|
|
|
|
|
|
|
|
|
namespace Rs.MotionPlat
|
|
|
|
|
{
|
|
|
|
|
@ -41,9 +42,9 @@ namespace Rs.MotionPlat
|
|
|
|
|
|
|
|
|
|
void CloseSubWindow()
|
|
|
|
|
{
|
|
|
|
|
foreach(Control f in panel_main.Controls)
|
|
|
|
|
foreach (Control f in panel_main.Controls)
|
|
|
|
|
{
|
|
|
|
|
if(f is Form && ((Form)f).Name!= "FormMain")
|
|
|
|
|
if (f is Form && ((Form)f).Name != "FormMain")
|
|
|
|
|
{
|
|
|
|
|
((Form)f).Close();
|
|
|
|
|
}
|
|
|
|
|
@ -69,7 +70,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
|
|
|
|
|
if (button == btnData)
|
|
|
|
|
{
|
|
|
|
|
if (Properties.Settings.Default.DefaultLanguage== "zh-CN")
|
|
|
|
|
if (Properties.Settings.Default.DefaultLanguage == "zh-CN")
|
|
|
|
|
{
|
|
|
|
|
LanguageHelper.SetDefaultLanguage("en-US");
|
|
|
|
|
}
|
|
|
|
|
@ -86,7 +87,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if(fm.Name!= "Home")
|
|
|
|
|
if (fm.Name != "Home")
|
|
|
|
|
{
|
|
|
|
|
LanguageHelper.LoadLanguage(fm, fm.GetType());
|
|
|
|
|
}
|
|
|
|
|
@ -138,7 +139,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
button.Selected = true;
|
|
|
|
|
CloseSubWindow();
|
|
|
|
|
BaseForm form = ActiveForms.Get("FormMain");
|
|
|
|
|
if(form!=null)
|
|
|
|
|
if (form != null)
|
|
|
|
|
{
|
|
|
|
|
panel_main.Controls.Add(form);
|
|
|
|
|
form.TopLevel = false;
|
|
|
|
|
@ -155,7 +156,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
form.Visible = true;
|
|
|
|
|
ActiveForms.Add(form);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//else if (button == btnQuit)
|
|
|
|
|
//{
|
|
|
|
|
@ -195,13 +196,13 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
else if (button == btnPermission)
|
|
|
|
|
{
|
|
|
|
|
if(btnPermission.ShowText.IndexOf("-")>0)
|
|
|
|
|
if (btnPermission.ShowText.IndexOf("-") > 0)
|
|
|
|
|
{
|
|
|
|
|
DialogResult dr = Msg.ShowQuestion("Are you sure to exit login?");
|
|
|
|
|
if(dr== DialogResult.OK)
|
|
|
|
|
if (dr == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
GlobalUser.UserName = "";
|
|
|
|
|
btnPermission.ShowText=btnPermission.ShowText.Substring(0,btnPermission.ShowText.IndexOf("-"));
|
|
|
|
|
btnPermission.ShowText = btnPermission.ShowText.Substring(0, btnPermission.ShowText.IndexOf("-"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
@ -209,7 +210,8 @@ namespace Rs.MotionPlat
|
|
|
|
|
selectedButton = null;
|
|
|
|
|
UserForm form;
|
|
|
|
|
form = new UserForm();
|
|
|
|
|
form.OnloginSuccessEvent += (uname) => {
|
|
|
|
|
form.OnloginSuccessEvent += (uname) =>
|
|
|
|
|
{
|
|
|
|
|
btnPermission.ShowText += $"-({uname})";
|
|
|
|
|
};
|
|
|
|
|
form.StartPosition = FormStartPosition.CenterScreen;
|
|
|
|
|
@ -217,7 +219,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
form.TopMost = true;
|
|
|
|
|
form.ShowDialog(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (button == btnLanguage)
|
|
|
|
|
{
|
|
|
|
|
@ -248,13 +250,13 @@ namespace Rs.MotionPlat
|
|
|
|
|
|
|
|
|
|
private void ShowBtn(string btnname)
|
|
|
|
|
{
|
|
|
|
|
if(btnname== "DebugMove")
|
|
|
|
|
if (btnname == "DebugMove")
|
|
|
|
|
{
|
|
|
|
|
btnAbout.Enabled = true;
|
|
|
|
|
}
|
|
|
|
|
else if(btnname== "VarConfig")
|
|
|
|
|
else if (btnname == "VarConfig")
|
|
|
|
|
{
|
|
|
|
|
btnLanguage.Enabled = true ;
|
|
|
|
|
btnLanguage.Enabled = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -275,7 +277,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
string language = Properties.Settings.Default.DefaultLanguage;
|
|
|
|
|
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);
|
|
|
|
|
LanguageHelper.LoadLanguage(this, typeof(Home));
|
|
|
|
|
if(language=="zh-CN")
|
|
|
|
|
if (language == "zh-CN")
|
|
|
|
|
{
|
|
|
|
|
btnMain.ShowText = "主页";
|
|
|
|
|
btnRecipe.ShowText = "配方";
|
|
|
|
|
@ -321,9 +323,10 @@ namespace Rs.MotionPlat
|
|
|
|
|
btnMain.Selected = true;
|
|
|
|
|
}
|
|
|
|
|
timer1.Enabled = true;
|
|
|
|
|
lblVersion.Text ="Version:"+System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
|
|
|
lblVersion.Text = "Version:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
|
|
|
|
|
|
|
|
new HotKeyManager(Keys.P, 1, (o,arg) => {
|
|
|
|
|
new HotKeyManager(Keys.P, 1, (o, arg) =>
|
|
|
|
|
{
|
|
|
|
|
LookCamera lookCamera = new LookCamera();
|
|
|
|
|
lookCamera.HeaderBackgroundColor = Color.Gray;
|
|
|
|
|
lookCamera.TopMost = true;
|
|
|
|
|
@ -332,7 +335,8 @@ namespace Rs.MotionPlat
|
|
|
|
|
lookCamera.ShowInTaskbar = false;
|
|
|
|
|
lookCamera.Show();
|
|
|
|
|
});
|
|
|
|
|
new HotKeyManager(Keys.T, 1, (o, arg) => {
|
|
|
|
|
new HotKeyManager(Keys.T, 1, (o, arg) =>
|
|
|
|
|
{
|
|
|
|
|
MonitorTray monitorTray = new MonitorTray();
|
|
|
|
|
//monitorTray.TopMost = true;
|
|
|
|
|
//monitorTray.ShowMax = false;
|
|
|
|
|
@ -341,9 +345,10 @@ namespace Rs.MotionPlat
|
|
|
|
|
monitorTray.Show();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
new HotKeyManager(Keys.F, 1, (o, arg) => {
|
|
|
|
|
new HotKeyManager(Keys.F, 1, (o, arg) =>
|
|
|
|
|
{
|
|
|
|
|
MonitorFlow mf = new MonitorFlow();
|
|
|
|
|
mf.StartPosition= FormStartPosition.CenterParent;
|
|
|
|
|
mf.StartPosition = FormStartPosition.CenterParent;
|
|
|
|
|
mf.HeaderBackgroundColor = Color.Gray;
|
|
|
|
|
mf.Show();
|
|
|
|
|
});
|
|
|
|
|
@ -357,16 +362,17 @@ namespace Rs.MotionPlat
|
|
|
|
|
{
|
|
|
|
|
timer3_Tick(null, null);
|
|
|
|
|
});
|
|
|
|
|
if(File.Exists("breakdown.csv"))
|
|
|
|
|
if (File.Exists("breakdown.csv"))
|
|
|
|
|
{
|
|
|
|
|
File.Delete("breakdown.csv");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(int i=1;i<9;i++)
|
|
|
|
|
for (int i = 1; i < 9; i++)
|
|
|
|
|
{
|
|
|
|
|
if (!NozzleManager.GetNozzle(i).Enable)
|
|
|
|
|
GlobalTray.DischargeNozzle.ChangeStatus(i, ESlotStatus.Disable);
|
|
|
|
|
}
|
|
|
|
|
InitDb();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ChangeLang()
|
|
|
|
|
@ -387,7 +393,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
btnLanguage.ShowText = "标定";
|
|
|
|
|
btnLanguage.Invalidate();
|
|
|
|
|
btnPermission.ShowText = "用户";
|
|
|
|
|
if(!string.IsNullOrEmpty(GlobalUser.UserName))
|
|
|
|
|
if (!string.IsNullOrEmpty(GlobalUser.UserName))
|
|
|
|
|
{
|
|
|
|
|
btnPermission.ShowText += $"-({GlobalUser.UserName})";
|
|
|
|
|
}
|
|
|
|
|
@ -414,7 +420,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
btnPermission.Invalidate();
|
|
|
|
|
//btnQuit.ShowText = "Quit";
|
|
|
|
|
// btnQuit.Invalidate();
|
|
|
|
|
// btnQuit.Invalidate();
|
|
|
|
|
btnData.ShowText = "中文";
|
|
|
|
|
btnData.Invalidate();
|
|
|
|
|
}
|
|
|
|
|
@ -430,13 +436,13 @@ namespace Rs.MotionPlat
|
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
GC.Collect();
|
|
|
|
|
if(MachineManage.Instance.MachineStatus.ToString()!=lblMachineState.Text)
|
|
|
|
|
if (MachineManage.Instance.MachineStatus.ToString() != lblMachineState.Text)
|
|
|
|
|
{
|
|
|
|
|
if(MachineManage.Instance.MachineStatus== EMachineStatus.NotInit)
|
|
|
|
|
if (MachineManage.Instance.MachineStatus == EMachineStatus.NotInit)
|
|
|
|
|
{
|
|
|
|
|
this.panel1.BackColor = Color.Red;
|
|
|
|
|
}
|
|
|
|
|
else if(MachineManage.Instance.MachineStatus== EMachineStatus.Homing || MachineManage.Instance.MachineStatus == EMachineStatus.Stop)
|
|
|
|
|
else if (MachineManage.Instance.MachineStatus == EMachineStatus.Homing || MachineManage.Instance.MachineStatus == EMachineStatus.Stop)
|
|
|
|
|
{
|
|
|
|
|
this.panel1.BackColor = Color.FromArgb(192, 192, 0);
|
|
|
|
|
}
|
|
|
|
|
@ -444,16 +450,16 @@ namespace Rs.MotionPlat
|
|
|
|
|
{
|
|
|
|
|
this.panel1.BackColor = Color.FromArgb(46, 46, 46);
|
|
|
|
|
}
|
|
|
|
|
lblMachineState.Text=MachineManage.Instance.MachineStatus.ToString();
|
|
|
|
|
lblMachineState.Text = MachineManage.Instance.MachineStatus.ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(MachineManage.Instance.GetLoadUnloadStatus().ToString() != lblRunState.Text.Replace("RunState:",""))
|
|
|
|
|
|
|
|
|
|
if (MachineManage.Instance.GetLoadUnloadStatus().ToString() != lblRunState.Text.Replace("RunState:", ""))
|
|
|
|
|
{
|
|
|
|
|
lblRunState.Text = "RunState:" + MachineManage.Instance.GetLoadUnloadStatus().ToString();
|
|
|
|
|
}
|
|
|
|
|
if(DischargeFlow.Instance.GetCurStep().ToString()!=lblDischargeFlow.Text.Replace("Discharge:",""))
|
|
|
|
|
if (DischargeFlow.Instance.GetCurStep().ToString() != lblDischargeFlow.Text.Replace("Discharge:", ""))
|
|
|
|
|
{
|
|
|
|
|
lblDischargeFlow.Text = "Discharge:"+DischargeFlow.Instance.GetCurStep().ToString();
|
|
|
|
|
lblDischargeFlow.Text = "Discharge:" + DischargeFlow.Instance.GetCurStep().ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (TurnoverFlow.Instance.GetStep().ToString() != lblTurnoverFlow.Text.Replace("Turnover:", ""))
|
|
|
|
|
@ -465,7 +471,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
lblMonitorFlow.Text = "Monitor:" + MonitorSystemButton.Instance.GetStep();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (MachineManage.Instance.InitializeState.ToString()!= lblInitializeState.Text.Replace("InitializeState:", ""))
|
|
|
|
|
if (MachineManage.Instance.InitializeState.ToString() != lblInitializeState.Text.Replace("InitializeState:", ""))
|
|
|
|
|
{
|
|
|
|
|
lblInitializeState.Text = $"InitializeState:{MachineManage.Instance.InitializeState.ToString()}";
|
|
|
|
|
}
|
|
|
|
|
@ -473,7 +479,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
if (proc != null)
|
|
|
|
|
{
|
|
|
|
|
long userdMem = proc.WorkingSet64;
|
|
|
|
|
lblMemory.Text = $"Mem:{(userdMem/1024)/1024} MB";
|
|
|
|
|
lblMemory.Text = $"Mem:{(userdMem / 1024) / 1024} MB";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -539,7 +545,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
private void timer2_Tick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
//ClearMemory();
|
|
|
|
|
if(!GlobalVar.DisableIonFanCheck)
|
|
|
|
|
if (!GlobalVar.DisableIonFanCheck)
|
|
|
|
|
{
|
|
|
|
|
if (MachineManage.Instance.MachineStatus != EMachineStatus.NotInit)
|
|
|
|
|
{
|
|
|
|
|
@ -570,7 +576,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
{
|
|
|
|
|
fanAlarms.Add("fan no.6 alarm");
|
|
|
|
|
}
|
|
|
|
|
if(fanAlarms.Count > 0)
|
|
|
|
|
if (fanAlarms.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
fanAlarm = true;
|
|
|
|
|
MessageQueue.Instance.Warn(string.Join(" ", fanAlarms));
|
|
|
|
|
@ -582,7 +588,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (Ops.IsOn("1号离子风报警")==false
|
|
|
|
|
if (Ops.IsOn("1号离子风报警") == false
|
|
|
|
|
&& Ops.IsOn("2号离子风报警") == false
|
|
|
|
|
&& Ops.IsOn("3号离子风报警") == false
|
|
|
|
|
&& Ops.IsOn("4号离子风报警") == false
|
|
|
|
|
@ -650,10 +656,10 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!GlobalVar.DisableDoor)
|
|
|
|
|
{
|
|
|
|
|
if(MachineManage.Instance.MachineStatus != EMachineStatus.NotInit && MachineManage.Instance.MachineStatus!= EMachineStatus.Stop)
|
|
|
|
|
if (MachineManage.Instance.MachineStatus != EMachineStatus.NotInit && MachineManage.Instance.MachineStatus != EMachineStatus.Stop)
|
|
|
|
|
{
|
|
|
|
|
if (!frontDoorAlarm)
|
|
|
|
|
{
|
|
|
|
|
@ -776,7 +782,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (!GlobalVar.DisableCheckSocketLock)
|
|
|
|
|
{
|
|
|
|
|
@ -801,16 +807,16 @@ namespace Rs.MotionPlat
|
|
|
|
|
{
|
|
|
|
|
fixedCylinderAlarms.Add("back-right socket unlock");
|
|
|
|
|
}
|
|
|
|
|
if(fixedCylinderAlarms.Count > 0)
|
|
|
|
|
if (fixedCylinderAlarms.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
fixedCylinderAlarm = true;
|
|
|
|
|
Ops.Stop();
|
|
|
|
|
PromptMessageBox.Show(AlarmConstID.治具未锁紧, string.Join(" ",fixedCylinderAlarms), SchedulingMessageBox.ETipButton.None);
|
|
|
|
|
PromptMessageBox.Show(AlarmConstID.治具未锁紧, string.Join(" ", fixedCylinderAlarms), SchedulingMessageBox.ETipButton.None);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//if (IoManager.Instance.ReadIn("左前固定气缸动位") == 0 || IoManager.Instance.ReadIn("左后固定气缸动位") == 0 || IoManager.Instance.ReadIn("右前固定气缸动位") == 0 || IoManager.Instance.ReadIn("右后固定气缸动位") == 0)
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// string alarmInfo = string.Empty;
|
|
|
|
|
// if (IoManager.Instance.ReadIn("左前固定气缸动位") == 0)
|
|
|
|
|
// {
|
|
|
|
|
@ -828,14 +834,14 @@ namespace Rs.MotionPlat
|
|
|
|
|
// {
|
|
|
|
|
// alarmInfo += "RightAfterSocketUnlock\r\n";
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (IoManager.Instance.ReadIn("左前固定气缸动位") == 1
|
|
|
|
|
&& IoManager.Instance.ReadIn("左后固定气缸动位") == 1
|
|
|
|
|
&& IoManager.Instance.ReadIn("右前固定气缸动位") == 1
|
|
|
|
|
if (IoManager.Instance.ReadIn("左前固定气缸动位") == 1
|
|
|
|
|
&& IoManager.Instance.ReadIn("左后固定气缸动位") == 1
|
|
|
|
|
&& IoManager.Instance.ReadIn("右前固定气缸动位") == 1
|
|
|
|
|
&& IoManager.Instance.ReadIn("右后固定气缸动位") == 1)
|
|
|
|
|
{
|
|
|
|
|
fixedCylinderAlarm = false;
|
|
|
|
|
@ -862,7 +868,7 @@ namespace Rs.MotionPlat
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
string dirpath = GlobalVar.ImageSavePath;// "D://images";
|
|
|
|
|
if(!string.IsNullOrEmpty(dirpath))
|
|
|
|
|
if (!string.IsNullOrEmpty(dirpath))
|
|
|
|
|
{
|
|
|
|
|
string[] dirs = Directory.GetDirectories(dirpath);
|
|
|
|
|
if (!Directory.Exists(dirpath))
|
|
|
|
|
@ -973,5 +979,37 @@ namespace Rs.MotionPlat
|
|
|
|
|
CopyDirectory(subdir.FullName, tempPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void InitDb()
|
|
|
|
|
{
|
|
|
|
|
SqliteHelper db = new SqliteHelper();
|
|
|
|
|
string querySql = "pragma table_info ('IO');";
|
|
|
|
|
DataTable dt = db.GetDataTable(querySql);
|
|
|
|
|
int count = dt.AsEnumerable().Where(t => t.Field<string>("name") == "CardEnName").Count();
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
string updateSql = "alter table IO ADD COLUMN CardEnName varchar(200)";
|
|
|
|
|
db.ExecuteNonQuery(updateSql);
|
|
|
|
|
List<string> dbSql = new List<string>();
|
|
|
|
|
dbSql.Add("update io set cardenname='Loader_PnP_Module1#' where cardname='龙门取放料模组1#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Loader_PnP_Module2#' where cardname='龙门取放料模组2#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Left_Stocker_Area8#' where cardname='左料仓模组8#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Right_Stock_Area10#' where cardname='右料仓模组10#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Tronove_module3#' where cardname='周转模组3#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Shuttle4#' where cardname='周转盘模组4#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Shuttle5#' where cardname='周转盘模组5#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Test_Area6#' where cardname='测试治具6#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Test_Area7#' where cardname='测试治具7#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Left_Stocker9#' where cardname='左料仓扩展卡9#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Right_Stocker11#' where cardname='右料仓扩展卡11#'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Gugao' where cardname='Gugao'");
|
|
|
|
|
dbSql.Add("update io set cardenname='Fixed_Fixture' where cardname='固定治具'");
|
|
|
|
|
foreach (string r in dbSql)
|
|
|
|
|
{
|
|
|
|
|
int rowAffect = db.ExecuteNonQuery(r);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|