From b3277c6f8ba78ef0a033c361cf280687e5ff99d2 Mon Sep 17 00:00:00 2001 From: lhiven Date: Sat, 23 Sep 2023 09:56:29 +0900 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=99=E4=BB=93=E4=B8=8A?= =?UTF-8?q?=E6=96=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.SkyLine/Commom/Ops.cs | 5 ++- Rs.SkyLine/Flow/Space/TrayTest.cs | 15 +++++++- Rs.SkyLine/Flow/StockManager.cs | 62 ++++++++++++++++++++++++++++++ Rs.SkyLine/Flow/TakeTrayFlow.cs | 21 ++++++++-- Rs.SkyLine/Flow/TestCenter.cs | 18 ++++++--- Rs.SkyLine/Flow/WorkEnvironment.cs | 28 ++++++++++---- Rs.SkyLine/Flow/WorkFlow.cs | 56 +++++++++++++-------------- Rs.SkyLine/FormMain.cs | 31 ++++++++++++++- Rs.SkyLine/FormMain.designer.cs | 22 +++++++++++ Rs.SkyLine/FormMain.resx | 3 ++ Rs.SkyLine/Home.cs | 2 +- Rs.SkyLine/Home.designer.cs | 2 +- 12 files changed, 212 insertions(+), 53 deletions(-) diff --git a/Rs.SkyLine/Commom/Ops.cs b/Rs.SkyLine/Commom/Ops.cs index 1c439a6..f4894cb 100644 --- a/Rs.SkyLine/Commom/Ops.cs +++ b/Rs.SkyLine/Commom/Ops.cs @@ -23,7 +23,7 @@ namespace Rs.MotionPlat.Commom { SysConfigParam.Init(); int errNum = 0; - Task.Run(() => { + //Task.Run(() => { #region 初始化固高卡 ErrorCode errCode = GugaoPulseCardManager.Instance.Init(); if (errCode > ErrorCode.Ok) @@ -121,9 +121,10 @@ namespace Rs.MotionPlat.Commom Ops.Off("下左相机光源触发"); Ops.Off("下右相机光源触发"); Ops.Off("上相机光源触发"); + TakeTrayFlow.Instance.Start(); StockManager.Instance.Start(); MonitorSystemButton.Instance.Start(); - }); + //}); } diff --git a/Rs.SkyLine/Flow/Space/TrayTest.cs b/Rs.SkyLine/Flow/Space/TrayTest.cs index 32b7fcd..17caec0 100644 --- a/Rs.SkyLine/Flow/Space/TrayTest.cs +++ b/Rs.SkyLine/Flow/Space/TrayTest.cs @@ -92,6 +92,7 @@ namespace Rs.AutoDischarge.V3.Flow //trayHeight = GlobalVar.Instance.GetValue("TrayHeight"); } + private ETrayTestStep Step= ETrayTestStep.等待命令; bool bStop= false; IAxis StockFlow = null; @@ -117,8 +118,11 @@ namespace Rs.AutoDischarge.V3.Flow } else if (NeedLoad) { - if(!Ops.IsOn($"{stockNo}号料仓料盘到位光电检测")) + if(!Ops.IsOn($"{stockNo}号料仓料盘到位光电检测") || m_bWholeLoad==false) { + Ops.Off($"{stockNo}号料仓斜推气缸"); + Ops.Off($"{stockNo}号料仓斜推气缸"); + Thread.Sleep(500); //上料 Status = ETrayStatus.Loading; finished = false; @@ -308,16 +312,18 @@ namespace Rs.AutoDischarge.V3.Flow public void Unload() { + Status = ETrayStatus.Unloading; finished = false; NeedUnload = true; } public void Load(bool bWholeLoad) { + Status = ETrayStatus.Loading; m_bWholeLoad = bWholeLoad; finished = false; NeedLoad = true; - + } public bool Finished() @@ -338,5 +344,10 @@ namespace Rs.AutoDischarge.V3.Flow { return Status; } + + public void ChangeStatus(ETrayStatus status) + { + Status=status; + } } } diff --git a/Rs.SkyLine/Flow/StockManager.cs b/Rs.SkyLine/Flow/StockManager.cs index 68e69c0..652425d 100644 --- a/Rs.SkyLine/Flow/StockManager.cs +++ b/Rs.SkyLine/Flow/StockManager.cs @@ -31,6 +31,8 @@ namespace Rs.MotionPlat.Flow } } + + TrayTest Empty1 = new TrayTest(1); TrayTest Input = new TrayTest(2); TrayTest Ok = new TrayTest(3); @@ -38,6 +40,15 @@ namespace Rs.MotionPlat.Flow TrayTest Multi = new TrayTest(5); TrayTest Empty2 = new TrayTest(6); + + + public TrayTest Empty1Tray { get { return Empty1; } } + public TrayTest InputTray { get { return Input; } } + public TrayTest OkTray { get { return Ok; } } + public TrayTest NgTray { get { return Ng; } } + public TrayTest MultiTray { get { return Multi; } } + public TrayTest Empty2Tray { get { return Empty2; } } + public void Start() { Empty1.Start(); @@ -50,8 +61,34 @@ namespace Rs.MotionPlat.Flow public bool HasTray(EStockType stockType) { + if (Ops.IsOff($"{(int)stockType}号料仓料盘到位光电检测")) + { + //switch (stockType) + //{ + // case EStockType.Empty1: + // Empty1.Status = ETrayStatus.Unloaded; + // break; + // case EStockType.Input: + // Input.Status = ETrayStatus.Loaded; + // break; + // case EStockType.Ok: + // Ok.Status = ETrayStatus.Unloaded; + // break; + // case EStockType.Ng: + // Ng.Status = ETrayStatus.Unloaded; + // break; + // case EStockType.Multi: + // Multi.Status = ETrayStatus.Unloaded; + // break; + // case EStockType.Empty2: + // Empty2.Status = ETrayStatus.Loaded; + // break; + // default: + // break; + //} return false; + } return true; } @@ -156,5 +193,30 @@ namespace Rs.MotionPlat.Flow } return ETrayStatus.UnKnown; } + + public void ChangeStatus(EStockType stock, ETrayStatus status) + { + switch (stock) + { + case EStockType.Empty1: + Empty1.ChangeStatus(status); + break; + case EStockType.Input: + Input.ChangeStatus(status); + break; + case EStockType.Ok: + Ok.ChangeStatus(status); + break; + case EStockType.Ng: + Ng.ChangeStatus(status); + break; + case EStockType.Multi: + Multi.ChangeStatus(status); + break; + case EStockType.Empty2: + Empty2.ChangeStatus(status); + break; + } + } } } diff --git a/Rs.SkyLine/Flow/TakeTrayFlow.cs b/Rs.SkyLine/Flow/TakeTrayFlow.cs index b4eb619..14d85dc 100644 --- a/Rs.SkyLine/Flow/TakeTrayFlow.cs +++ b/Rs.SkyLine/Flow/TakeTrayFlow.cs @@ -26,6 +26,7 @@ namespace Rs.MotionPlat.Flow 取料盘后真空检测, 到放料盘上方, 等待到放料盘上方, + 等待放料仓准备就绪, 到下方放料盘, 等待运动到放料位下方, 放料盘完成后抬起, @@ -102,9 +103,7 @@ namespace Rs.MotionPlat.Flow case ETakeTrayFlowStep.等待到取料盘上方: if (Ops.IsStop("LoadX", "LoadY")) { - Ops.Off($"{(int)m_fromTray}号料仓斜推气缸"); - Ops.Off($"{(int)m_toTray}号料仓斜推气缸"); - Thread.Sleep(500); + step = ETakeTrayFlowStep.等待料盘准备就绪; } break; @@ -128,6 +127,9 @@ namespace Rs.MotionPlat.Flow stopwatch.Stop(); Ops.On("夹爪真空吸"); Thread.Sleep(150); + Ops.Off($"{(int)m_fromTray}号料仓斜推气缸"); + Ops.Off($"{(int)m_toTray}号料仓斜推气缸"); + Thread.Sleep(500); step = ETakeTrayFlowStep.取料盘完成抬起; } else if(stopwatch.ElapsedMilliseconds > 5000) @@ -136,6 +138,9 @@ namespace Rs.MotionPlat.Flow stopwatch.Restart(); Ops.On("夹爪真空吸"); Thread.Sleep(150); + Ops.Off($"{(int)m_fromTray}号料仓斜推气缸"); + Ops.Off($"{(int)m_toTray}号料仓斜推气缸"); + Thread.Sleep(500); step = ETakeTrayFlowStep.取料盘完成抬起; } break; @@ -169,7 +174,7 @@ namespace Rs.MotionPlat.Flow errCode = AxisControl.LoadX.MovePos(centerX + cameraCenterX, GlobalVar.TakeTraySpeed); if (errCode == Motion.ErrorCode.Ok) { - errCode = AxisControl.LoadY.MovePos(centerY + cameraCenterY-2, GlobalVar.TakeTraySpeed); + errCode = AxisControl.LoadY.MovePos(centerY + cameraCenterY - 2, GlobalVar.TakeTraySpeed); if (errCode == Motion.ErrorCode.Ok) { step = ETakeTrayFlowStep.等待到放料盘上方; @@ -178,6 +183,14 @@ namespace Rs.MotionPlat.Flow break; case ETakeTrayFlowStep.等待到放料盘上方: if (Ops.IsStop("LoadX", "LoadY")) + { + step = ETakeTrayFlowStep.等待放料仓准备就绪; + } + break; + case ETakeTrayFlowStep.等待放料仓准备就绪: + if (StockManager.Instance.GetStockStatus(m_toTray) == ETrayStatus.Unloaded + || StockManager.Instance.GetStockStatus(m_toTray) == ETrayStatus.IDLE + || StockManager.Instance.GetStockStatus(m_toTray) == ETrayStatus.Loaded) { step = ETakeTrayFlowStep.到下方放料盘; } diff --git a/Rs.SkyLine/Flow/TestCenter.cs b/Rs.SkyLine/Flow/TestCenter.cs index 0fcacdc..0b562c3 100644 --- a/Rs.SkyLine/Flow/TestCenter.cs +++ b/Rs.SkyLine/Flow/TestCenter.cs @@ -35,13 +35,19 @@ namespace Rs.MotionPlat.Flow case SchedulingStatusInfo.InfoType.State: break; case SchedulingStatusInfo.InfoType.RunStatus: - WorkFlow.Instance.Start(); - TurnoverFlow.Instance.Start(); - TakeTrayFlow.Instance.Start(); - StockManager.Instance.Start(); - MachineManage.Instance.RunState = ERunState.Waiting; + + WorkEnvironment.Instance.Ready(); + Task.Run(() => { + if (WorkEnvironment.Instance.EnvReadyOkEvent.WaitOne()) + { + WorkFlow.Instance.Start(); + TurnoverFlow.Instance.Start(); + MachineManage.Instance.RunState = ERunState.Waiting; + MachineManage.Instance.MachineStatus = EMachineStatus.Working; + } + }); MachineManage.Instance.RunStatus = ERunStatus.Started; - MachineManage.Instance.MachineStatus = EMachineStatus.Working; + MachineManage.Instance.RunState = ERunState.Interrupt; break; case SchedulingStatusInfo.InfoType.RunMode://手动自动 MachineManage.Instance.RunMode = (ERunMode)Enum.Parse(typeof(ERunMode), ssi.Info.ToString()); diff --git a/Rs.SkyLine/Flow/WorkEnvironment.cs b/Rs.SkyLine/Flow/WorkEnvironment.cs index 3506949..0dd71ea 100644 --- a/Rs.SkyLine/Flow/WorkEnvironment.cs +++ b/Rs.SkyLine/Flow/WorkEnvironment.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; namespace Rs.MotionPlat.Flow @@ -24,6 +25,7 @@ namespace Rs.MotionPlat.Flow EStockCheckStep step= EStockCheckStep.Input料仓是否就绪; EStockCheckStep restoreStep; public bool EnvironmentOk { get; set; } = false; + public ManualResetEvent EnvReadyOkEvent = new ManualResetEvent(false); private static WorkEnvironment instance; public static WorkEnvironment Instance { @@ -38,6 +40,7 @@ namespace Rs.MotionPlat.Flow { Task.Run(() => { + EnvironmentOk = false; while(true && !EnvironmentOk) { switch (step) @@ -48,20 +51,27 @@ namespace Rs.MotionPlat.Flow LogHelper.Debug("Input料仓无料,开始给Input料仓上料"); StockManager.Instance.Load(EStockType.Input); } + else + { + StockManager.Instance.ChangeStatus(EStockType.Input, AutoDischarge.V3.Flow.ETrayStatus.Loaded); + } if (!StockManager.Instance.HasTray(EStockType.Empty2)) { LogHelper.Debug("Empty2料仓无料,开始给Empty2料仓上料"); StockManager.Instance.Load(EStockType.Empty2); } + else + { + StockManager.Instance.ChangeStatus(EStockType.Empty2, AutoDischarge.V3.Flow.ETrayStatus.Loaded); + } step = EStockCheckStep.Ok料仓是否就绪; break; case EStockCheckStep.Ok料仓是否就绪: if (!StockManager.Instance.HasTray(EStockType.Ok)) { - LogHelper.Debug("Ok料仓无料,开始给Ok料仓上料"); - if (StockManager.Instance.HasTray(EStockType.Empty2)) + //if (StockManager.Instance.HasTray(EStockType.Empty2)) { - LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Ok"); + //LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Ok"); TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ok); step = EStockCheckStep.等待搬运料盘就绪; restoreStep = EStockCheckStep.Ng料仓是否就绪; @@ -69,6 +79,7 @@ namespace Rs.MotionPlat.Flow } else { + StockManager.Instance.ChangeStatus(EStockType.Ok, AutoDischarge.V3.Flow.ETrayStatus.Loaded); step = EStockCheckStep.Ng料仓是否就绪; } break; @@ -76,9 +87,9 @@ namespace Rs.MotionPlat.Flow if (!StockManager.Instance.HasTray(EStockType.Ng)) { LogHelper.Debug("Ng料仓无料,开始给Ng料仓上料"); - if (StockManager.Instance.HasTray(EStockType.Empty2)) + //if (StockManager.Instance.HasTray(EStockType.Empty2)) { - LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Ng"); + //LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Ng"); TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ng); step = EStockCheckStep.等待搬运料盘就绪; restoreStep = EStockCheckStep.Multi料仓是否就绪; @@ -86,6 +97,7 @@ namespace Rs.MotionPlat.Flow } else { + StockManager.Instance.ChangeStatus(EStockType.Ng, AutoDischarge.V3.Flow.ETrayStatus.Loaded); step = EStockCheckStep.Multi料仓是否就绪; } break; @@ -93,9 +105,9 @@ namespace Rs.MotionPlat.Flow if (!StockManager.Instance.HasTray(EStockType.Multi)) { LogHelper.Debug("Multi料仓无料,开始给Multi料仓上料"); - if (StockManager.Instance.HasTray(EStockType.Empty2)) + //if (StockManager.Instance.HasTray(EStockType.Empty2)) { - LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Multi"); + //LogHelper.Debug("Empty2料仓有料,开始搬运Empty2->Multi"); TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Multi); step = EStockCheckStep.等待搬运料盘就绪; restoreStep = EStockCheckStep.等待所有料仓就绪; @@ -103,6 +115,7 @@ namespace Rs.MotionPlat.Flow } else { + StockManager.Instance.ChangeStatus(EStockType.Multi, AutoDischarge.V3.Flow.ETrayStatus.Loaded); step = EStockCheckStep.等待所有料仓就绪; } break; @@ -127,6 +140,7 @@ namespace Rs.MotionPlat.Flow { LogHelper.Debug("所有料仓准备就绪"); EnvironmentOk = true; + EnvReadyOkEvent.Set(); } break; } diff --git a/Rs.SkyLine/Flow/WorkFlow.cs b/Rs.SkyLine/Flow/WorkFlow.cs index 664a2a0..ff4c3e8 100644 --- a/Rs.SkyLine/Flow/WorkFlow.cs +++ b/Rs.SkyLine/Flow/WorkFlow.cs @@ -179,12 +179,12 @@ namespace Rs.MotionPlat.Flow } else { - Msg.ShowInfo("Input料盘缺料,请手动切盘后点击确定"); - GlobalTray.InputTray.ResetTray(); - GlobalTray.InputTray.Fill(); - //TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload); - //restoreFlowStep = EWorkFlowStep.到取料位上方; - //flowStep = EWorkFlowStep.等待Input料盘搬运完成; + // Msg.ShowInfo("Input料盘缺料,请手动切盘后点击确定"); + // GlobalTray.InputTray.ResetTray(); + // GlobalTray.InputTray.Fill(); + TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload); + restoreFlowStep = EWorkFlowStep.到取料位上方; + flowStep = EWorkFlowStep.等待Input料盘搬运完成; } } if (curSlotPoint != null) @@ -590,16 +590,16 @@ namespace Rs.MotionPlat.Flow } else { - Msg.ShowInfo("OK料盘已满,请手动切盘后点击确定"); - GlobalTray.OkTary.ResetTray(); - GlobalTray.OkTary.Clear(); + //Msg.ShowInfo("OK料盘已满,请手动切盘后点击确定"); + //GlobalTray.OkTary.ResetTray(); + //GlobalTray.OkTary.Clear(); //TakeTrayFlow.Instance.Take(EStockType.Input, EStockType.Empty1, ELoadUnloadType.Unload); - - //StockManager.Instance.UnLoad(EStockType.Ok); - //restoreFlowStep = EWorkFlowStep.到放料位上方; - //flowStep = EWorkFlowStep.等待Ok料仓收料完成; + TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ok); + StockManager.Instance.UnLoad(EStockType.Ok); + restoreFlowStep = EWorkFlowStep.到放料位上方; + flowStep = EWorkFlowStep.等待Ok料盘搬运完成; } } else if (curNozzle.ToType == TurnoverType.Failed) @@ -611,14 +611,14 @@ namespace Rs.MotionPlat.Flow } else { - Msg.ShowInfo("NG料盘已满,请手动切盘后点击确定!"); - GlobalTray.NgTray.ResetTray(); - GlobalTray.NgTray.Clear(); - + //Msg.ShowInfo("NG料盘已满,请手动切盘后点击确定!"); + //GlobalTray.NgTray.ResetTray(); + //GlobalTray.NgTray.Clear(); - //StockManager.Instance.UnLoad(EStockType.Ng); - //restoreFlowStep = EWorkFlowStep.到放料位上方; - //flowStep = EWorkFlowStep.等待Ng料仓收料完成; + TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Ng); + StockManager.Instance.UnLoad(EStockType.Ng); + restoreFlowStep = EWorkFlowStep.到放料位上方; + flowStep = EWorkFlowStep.等待Ng料盘搬运完成; } } else if (curNozzle.ToType == TurnoverType.Multifunction) @@ -630,18 +630,16 @@ namespace Rs.MotionPlat.Flow } else { - Msg.ShowInfo("多功能料盘已满,请手动切盘后点击确定!"); - GlobalTray.MultiTray.ResetTray(); - GlobalTray.MultiTray.Clear(); + //Msg.ShowInfo("多功能料盘已满,请手动切盘后点击确定!"); + //GlobalTray.MultiTray.ResetTray(); + //GlobalTray.MultiTray.Clear(); - - //StockManager.Instance.UnLoad(EStockType.Multi); - //restoreFlowStep = EWorkFlowStep.到放料位上方; - //flowStep = EWorkFlowStep.等待Multi料仓收料完成; + TakeTrayFlow.Instance.Take(EStockType.Empty2, EStockType.Multi); + StockManager.Instance.UnLoad(EStockType.Multi); + restoreFlowStep = EWorkFlowStep.到放料位上方; + flowStep = EWorkFlowStep.等待Multi料盘搬运完成; } } - - } if (curSlotPoint!=null) diff --git a/Rs.SkyLine/FormMain.cs b/Rs.SkyLine/FormMain.cs index 24c5df4..9723dd8 100644 --- a/Rs.SkyLine/FormMain.cs +++ b/Rs.SkyLine/FormMain.cs @@ -265,6 +265,7 @@ namespace Rs.MotionPlat private void timer1_Tick(object sender, EventArgs e) { + //获取运行信息 while (MessageQueue.Instance.HaveMessage()) { @@ -371,7 +372,7 @@ namespace Rs.MotionPlat turnoverTray.ItemName = "中转盘"; turnoverTray.Init(); GlobalTray.TurnoverTray = turnoverTray; - + //dgv_runinfo.DataSource = runInfoList; //dgv_errinfo.DataSource = errorInfoList; @@ -414,6 +415,7 @@ namespace Rs.MotionPlat GlobalTray.Empty2Tray = trayEmpty2; GlobalTray.TurnoverTray = trayTurnover; tabControlEx1.TabPages.RemoveAt(1); + } private void btnWholeHome_Load(object sender, EventArgs e) @@ -468,5 +470,32 @@ namespace Rs.MotionPlat MachineManage.Instance.MachineStatus = EMachineStatus.Stop; } + private void timer2_Tick(object sender, EventArgs e) + { + if(trayEmpty1.Status != StockManager.Instance.Empty1Tray.Status.ToString()) + { + trayEmpty1.Status = StockManager.Instance.Empty1Tray.Status.ToString(); + } + if(trayInput.Status != StockManager.Instance.InputTray.Status.ToString()) + { + trayInput.Status = StockManager.Instance.InputTray.Status.ToString(); + } + if(trayOk.Status != StockManager.Instance.OkTray.Status.ToString()) + { + trayOk.Status = StockManager.Instance.OkTray.Status.ToString(); + } + if(trayNg.Status != StockManager.Instance.NgTray.Status.ToString()) + { + trayNg.Status = StockManager.Instance.NgTray.Status.ToString(); + } + if(trayMulti.Status != StockManager.Instance.MultiTray.Status.ToString()) + { + trayMulti.Status = StockManager.Instance.MultiTray.Status.ToString(); + } + if(trayEmpty2.Status != StockManager.Instance.Empty2Tray.Status.ToString()) + { + trayEmpty2.Status = StockManager.Instance.Empty2Tray.Status.ToString(); + } + } } } diff --git a/Rs.SkyLine/FormMain.designer.cs b/Rs.SkyLine/FormMain.designer.cs index b9fbc7f..81ab907 100644 --- a/Rs.SkyLine/FormMain.designer.cs +++ b/Rs.SkyLine/FormMain.designer.cs @@ -108,6 +108,7 @@ this.hwin_vac6 = new ChoiceTech.Halcon.Control.HWindow_Final(); this.groupBox5 = new System.Windows.Forms.GroupBox(); this.hwin_vac5 = new ChoiceTech.Halcon.Control.HWindow_Final(); + this.timer2 = new System.Windows.Forms.Timer(this.components); this.panel1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.panel3.SuspendLayout(); @@ -560,10 +561,12 @@ this.trayEmpty1.RowNum = 9; this.trayEmpty1.RowSpace = 3; this.trayEmpty1.SelectSlot = null; + this.trayEmpty1.ShowStatus = true; this.trayEmpty1.ShowText = false; this.trayEmpty1.SinglePoint = false; this.trayEmpty1.Size = new System.Drawing.Size(121, 399); this.trayEmpty1.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayEmpty1.Status = null; this.trayEmpty1.TabIndex = 0; this.trayEmpty1.TopSpaceHeight = 20; // @@ -587,10 +590,12 @@ this.trayInput.RowNum = 9; this.trayInput.RowSpace = 3; this.trayInput.SelectSlot = null; + this.trayInput.ShowStatus = true; this.trayInput.ShowText = false; this.trayInput.SinglePoint = false; this.trayInput.Size = new System.Drawing.Size(121, 399); this.trayInput.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayInput.Status = null; this.trayInput.TabIndex = 0; this.trayInput.TopSpaceHeight = 20; // @@ -614,10 +619,12 @@ this.trayOk.RowNum = 9; this.trayOk.RowSpace = 3; this.trayOk.SelectSlot = null; + this.trayOk.ShowStatus = true; this.trayOk.ShowText = false; this.trayOk.SinglePoint = false; this.trayOk.Size = new System.Drawing.Size(121, 399); this.trayOk.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayOk.Status = null; this.trayOk.TabIndex = 0; this.trayOk.TopSpaceHeight = 20; // @@ -642,10 +649,12 @@ this.trayNg.RowNum = 9; this.trayNg.RowSpace = 3; this.trayNg.SelectSlot = null; + this.trayNg.ShowStatus = true; this.trayNg.ShowText = false; this.trayNg.SinglePoint = false; this.trayNg.Size = new System.Drawing.Size(121, 399); this.trayNg.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayNg.Status = null; this.trayNg.TabIndex = 0; this.trayNg.TopSpaceHeight = 20; // @@ -670,10 +679,12 @@ this.trayMulti.RowNum = 9; this.trayMulti.RowSpace = 3; this.trayMulti.SelectSlot = null; + this.trayMulti.ShowStatus = true; this.trayMulti.ShowText = false; this.trayMulti.SinglePoint = false; this.trayMulti.Size = new System.Drawing.Size(121, 399); this.trayMulti.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayMulti.Status = null; this.trayMulti.TabIndex = 0; this.trayMulti.TopSpaceHeight = 20; // @@ -698,10 +709,12 @@ this.trayEmpty2.RowNum = 9; this.trayEmpty2.RowSpace = 3; this.trayEmpty2.SelectSlot = null; + this.trayEmpty2.ShowStatus = true; this.trayEmpty2.ShowText = false; this.trayEmpty2.SinglePoint = false; this.trayEmpty2.Size = new System.Drawing.Size(124, 399); this.trayEmpty2.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayEmpty2.Status = null; this.trayEmpty2.TabIndex = 0; this.trayEmpty2.TopSpaceHeight = 20; // @@ -750,10 +763,12 @@ this.trayTurnover.RowNum = 4; this.trayTurnover.RowSpace = 3; this.trayTurnover.SelectSlot = null; + this.trayTurnover.ShowStatus = false; this.trayTurnover.ShowText = false; this.trayTurnover.SinglePoint = false; this.trayTurnover.Size = new System.Drawing.Size(244, 193); this.trayTurnover.SortDir = Rs.Controls.ESortDir.Horizontal; + this.trayTurnover.Status = null; this.trayTurnover.TabIndex = 1; this.trayTurnover.TopSpaceHeight = 20; // @@ -1321,6 +1336,12 @@ this.hwin_vac5.Size = new System.Drawing.Size(180, 375); this.hwin_vac5.TabIndex = 11; // + // timer2 + // + this.timer2.Enabled = true; + this.timer2.Interval = 300; + this.timer2.Tick += new System.EventHandler(this.timer2_Tick); + // // FormMain // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -1455,5 +1476,6 @@ private ChoiceTech.Halcon.Control.HWindow_Final himgNozzle8; private System.Windows.Forms.GroupBox gboxNozzle4; private ChoiceTech.Halcon.Control.HWindow_Final himgNozzle4; + private System.Windows.Forms.Timer timer2; } } \ No newline at end of file diff --git a/Rs.SkyLine/FormMain.resx b/Rs.SkyLine/FormMain.resx index 5c02318..0f9c58e 100644 --- a/Rs.SkyLine/FormMain.resx +++ b/Rs.SkyLine/FormMain.resx @@ -132,4 +132,7 @@ True + + 107, 17 + \ No newline at end of file diff --git a/Rs.SkyLine/Home.cs b/Rs.SkyLine/Home.cs index 42db7aa..cbc8e8c 100644 --- a/Rs.SkyLine/Home.cs +++ b/Rs.SkyLine/Home.cs @@ -174,6 +174,7 @@ namespace Rs.MotionPlat private void Home2_Load(object sender, EventArgs e) { + timer1.Enabled = false; Ops.Init(); //SetFormStyle(); panel_main.Controls.Clear(); @@ -196,7 +197,6 @@ namespace Rs.MotionPlat ActiveForms.Add(form); btnMain.Selected = true; } - timer1.Enabled = true; lblVersion.Text ="Version:"+System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); } diff --git a/Rs.SkyLine/Home.designer.cs b/Rs.SkyLine/Home.designer.cs index 91e67ee..d38ea03 100644 --- a/Rs.SkyLine/Home.designer.cs +++ b/Rs.SkyLine/Home.designer.cs @@ -293,7 +293,7 @@ this.panelEx2.Dock = System.Windows.Forms.DockStyle.Left; this.panelEx2.Location = new System.Drawing.Point(158, 0); this.panelEx2.Name = "panelEx2"; - this.panelEx2.Size = new System.Drawing.Size(200, 33); + this.panelEx2.Size = new System.Drawing.Size(419, 33); this.panelEx2.TabIndex = 2; // // tableLayoutPanel3