public void BIZZRun() { RunClass.Instance().Meth.OutPut_One_Run("三色灯红", "true"); RunClass.Instance().Meth.OutPut_One_Run("三色灯绿", "false"); while (true) { RunClass.Instance().Meth.OutPut_One_Run("BIZZ", "true"); Thread.Sleep(2000); RunClass.Instance().Meth.OutPut_One_Run("BIZZ", "false"); Thread.Sleep(1000); //this.BeginInvoke(new EventHandler(delegate //{ if (AlarmForm.FormHint == "hint") { DateSave.Instance().Production.Current_TIME = 0; RunClass.Instance().Meth.OutPut_One_Run("BIZZ", "false"); RunClass.Instance().Meth.OutPut_One_Run("三色灯红", "false"); RunClass.Instance().Meth.OutPut_One_Run("三色灯绿", "true"); // AlarmForm.Hide(); break; // Bizz.Abort(); } //})); } }
private void StopClick() { //ComeOut.parse = false; isRunFinish = false; count = 0; IOManage.OUTPUT("焊接机允许入料").SetOutBit(false); TableManage.TableDriver("运动平台").Stop(TableAxisName.X); TableManage.TableDriver("运动平台").Stop(TableAxisName.Y); TableManage.TableDriver("运动平台").Stop(TableAxisName.Z); // RunClass.Instance().Stop = true; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().StartRun = false; DateSave.Instance().Production.IsStop = true; MainControls.taskInfo.iTaskStep = (int)MainControl.flowCharNew.接进料流程; MainControl.Weld_Sta = "空闲中"; }
private void StartClick() { if (!MainModule.FormMain.bHomeReady) { MainModule.FormMain.m_formAlarm.InsertAlarmMessage("请先回原点!"); return; } if (DateSave.Instance().Production.EStop == true) { MainModule.FormMain.m_formAlarm.InsertAlarmMessage("急停标志位未复位!"); return; } DateSave.Instance().Production.IsStop = false; //if (DateSave.Instance().Production.StationMaterial == true) //{ // MainModule.FormMain.m_formAlarm.InsertAlarmMessage("工位有料请先排料,并清除工位记忆!"); // return; //} MainModule.FormMain.bStartPress = true; // RunClass.Instance().Stop = false; // RunClass.Instance().AxisR.Stop = false; // RunClass.Instance().ClinderR.Stop= false; // RunClass.Instance().Meth.Stop = false; DateSave.Instance().Production.IsStop = false; if (!MainModule.FormMain.bAuto) { if (RunClass.Instance().Run_OneCase != null && RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } RunClass.Instance().parse = false; RunClass.Instance().GoOnRun = false;//继续运行标志位 RunClass.Instance().StartRun = false; MainControls.taskInfo.iTaskStep = 18; MainModule.FormMain.bAuto = true; // ControlPlatformLib.Global.logger.Info("自动运行开始:" + DateTime.Now.ToString("yyyy/MM/dd/ HH : mm : ss")); } }
private void 运行流程_Click(object sender, EventArgs e) { if (!MainModule.FormMain.bHomeReady) { MainModule.FormMain.m_formAlarm.InsertAlarmMessage("请先回原点!"); return; } if (MainModule.FormMain.bAuto) { MainModule.FormMain.m_formAlarm.InsertAlarmMessage("请先停止自动运行!"); return; } if (RunClass.Instance().Run_OneCase == null) { if (机种选择.Text != "" && 运行流程选择.Text != "") { DateSave.Instance().Production.IsStop = false; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + 机种选择.Text + "\\" + 运行流程选择.Text); } } else { if (RunClass.Instance().Run_OneCase.IsAlive == true) { MainModule.FormMain.m_formAlarm.InsertAlarmMessage("请先停止运行!"); return; } if (机种选择.Text != "" && 运行流程选择.Text != "") { DateSave.Instance().Production.IsStop = false; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + 机种选择.Text + "\\" + 运行流程选择.Text); } } }
//下料移栽 public override void Process() { try { lock (lockObj) { bool bAutoTrag = false; bool bManualTrag = false; bool bTragCondition = false; if (taskInfo.bTaskAlarm) { if (MainModule.FormMain.bResetPress) { taskInfo.bTaskAlarm = false; Thread.Sleep(10); m_taskTime.Start(); } return; } if (!MainModule.FormMain.bAuto) { return; } bTragCondition = true; bAutoTrag = MainModule.FormMain.bAuto && (!taskInfo.bTaskFinish) && (!taskInfo.bTaskOnGoing); bManualTrag = m_manualStart; switch (taskInfo.iTaskStep) { case (int)flowCharNew.任务开始: //任务开始 if ((bAutoTrag | bManualTrag) && bTragCondition) { m_taskTime.Start(); m_taskGroup.AddRunMessage("打标任务0,任务开始。"); taskInfo.bTaskOnGoing = true; taskInfo.iTaskStep = (int)flowCharNew.接进料流程; Weld_Log.Instance().Enqueue(LOG_LEVEL.LEVEL_3, "[IO输出]," + "任务开始"); //taskInfo.iTaskStep = (int)flowCharNew.与线体PLC对接进料信号; } break; case (int)flowCharNew.接进料流程: if (RunClass.Instance().StartRun == false && DateSave.Instance().Production.StationMaterial == false) { Weld_Sta = "焊接进料流程"; //DateSave.Instance().Production.StationMaterial = true; Weld_Log.Instance().Enqueue(LOG_LEVEL.LEVEL_3, "[IO输出]," + "焊接进料流程"); starttime = DateTime.Now; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接进料流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接进料流程。"); taskInfo.iTaskStep = (int)flowCharNew.接进料流程完成检测; } else { taskInfo.iTaskStep = (int)flowCharNew.接前流程; } // taskInfo.iTaskStep = 9; break; case (int)flowCharNew.接进料流程完成检测: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } Weld_Log.Instance().Enqueue(LOG_LEVEL.LEVEL_3, "[IO输出]," + "焊接进料流程完成"); m_taskGroup.AddRunMessage("焊接流程,焊接进料流程完成。"); taskInfo.iTaskStep = (int)flowCharNew.接前流程; } // taskInfo.iTaskStep = (int)flowCharNew.焊接进料流程完成检测; break; case (int)flowCharNew.接前流程: if (RunClass.Instance().StartRun == false) { Weld_Sta = "焊接前流程"; Weld_Log.Instance().Enqueue(LOG_LEVEL.LEVEL_3, "[IO输出]," + "焊接前流程"); starttime = DateTime.Now; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接前流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接前流程。"); } // taskInfo.iTaskStep = 9; taskInfo.iTaskStep = (int)flowCharNew.接前流程完成检测; break; case (int)flowCharNew.接前流程完成检测: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } Weld_Log.Instance().Enqueue(LOG_LEVEL.LEVEL_3, "[IO输出]," + "焊接前流程完成"); m_taskGroup.AddRunMessage("焊接流程,焊接前流程完成。"); taskInfo.iTaskStep = (int)flowCharNew.接中流程; } // taskInfo.iTaskStep = (int)flowCharNew.焊接前流程完成检测; break; case (int)flowCharNew.接中流程: if (DateSave.Instance().Production.LeftRun == true) { } else { if (RunClass.Instance().StartRun == false) { Weld_Sta = "焊接流程"; DateSave.Instance().Production.RightRun = true; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接流程。"); } taskInfo.iTaskStep = (int)flowCharNew.接中流程完成检测; } break; case (int)flowCharNew.接中流程完成检测: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } m_taskGroup.AddRunMessage("焊接流程,焊接前流程完成。"); taskInfo.iTaskStep = (int)flowCharNew.接后流程; } // taskInfo.iTaskStep = (int)flowCharNew.焊接中流程完成检测; break; case (int)flowCharNew.接后流程: if (RunClass.Instance().StartRun == false) { Weld_Sta = "焊接后流程"; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接后流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接后流程。"); } taskInfo.iTaskStep = (int)flowCharNew.接后流程完成检测; break; case (int)flowCharNew.接后流程完成检测: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } m_taskGroup.AddRunMessage("焊接流程,焊接后流程完成检测。"); taskInfo.iTaskStep = (int)flowCharNew.接排料流程; } // taskInfo.iTaskStep = (int)flowCharNew.焊接后流程完成检测; break; case (int)flowCharNew.接排料流程: if (RunClass.Instance().StartRun == false) { Weld_Sta = "焊接排料流程"; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接排料流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接排料流程。"); } taskInfo.iTaskStep = (int)flowCharNew.接排料流程完成检测; break; case (int)flowCharNew.接排料流程完成检测: if (RunClass.Instance().RunClass_IsFinish == true) { DateTime endtime = DateTime.Now; TimeSpan spantime = endtime - starttime; DateSave.Instance().Production.CTtime = spantime.TotalSeconds.ToString(); DateSave.Instance().Production.OK_date++; DateSave.Instance().Production.Current_TIME++; if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } m_taskGroup.AddRunMessage("焊接流程,焊接排料流程完成检测。"); taskInfo.iTaskStep = (int)flowCharNew.接进料流程; // DateSave.Instance().Production.StationMaterial = false; } // taskInfo.iTaskStep = (int)flowCharNew.焊接排料流程完成检测; break; case 8: if (RunClass.Instance().StartRun == false) { starttime = DateTime.Now; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接前流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接前流程。"); } taskInfo.iTaskStep = 9; break; case 9: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } m_taskGroup.AddRunMessage("焊接流程,焊接前流程完成。"); taskInfo.iTaskStep = 10; } break; case 10: if (DateSave.Instance().Production.LeftRun == true) { } else { if (RunClass.Instance().StartRun == false) { DateSave.Instance().Production.RightRun = true; RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接流程。"); } taskInfo.iTaskStep = 105; } break; case 105: if (RunClass.Instance().RunClass_IsFinish == true) { if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } DateSave.Instance().Production.RightRun = false; taskInfo.iTaskStep = 106; m_taskGroup.AddRunMessage("焊接流程,焊接流程完成。"); } break; case 106: if (RunClass.Instance().StartRun == false) { RunClass.Instance().RunClass_IsFinish = false; RunClass.Instance().runTask(ReadstfPath + "\\" + DateSave.Instance().Production.ModelNo + "\\" + "焊接后流程.csv"); m_taskGroup.AddRunMessage("焊接流程,焊接后流程。"); } taskInfo.iTaskStep = 107; break; case 107: if (RunClass.Instance().RunClass_IsFinish == true) { DateTime endtime = DateTime.Now; TimeSpan spantime = endtime - starttime; DateSave.Instance().Production.CTtime = spantime.TotalSeconds.ToString(); DateSave.Instance().Production.OK_date++; DateSave.Instance().Production.Current_TIME++; if (RunClass.Instance().Run_OneCase.IsAlive == true) { RunClass.Instance().Run_OneCase.Abort(); } m_taskGroup.AddRunMessage("焊接流程,焊接后流程完成。"); taskInfo.iTaskStep = 8; } break; } } } catch (Exception ex) { // m_taskGroup.AddAlarmMessage(string.Format("执行下料流程{0}时出现错误!错误信息:{1}", taskInfo.iTaskStep, ex.Message)); } }
private void timer1_Tick(object sender, EventArgs e) { if (MainControl.Weld_Sta != "") { lb_LeftStation.Text = MainControl.Weld_Sta; } //if (DateSave.Instance().Production.Door_Enable == true) //{ // DoorShow.Text = "门屏蔽"; //} //else //{ // DoorShow.Text = "门未屏蔽"; //} //if () //{ // WeldSta = true; //} if (IOManage.INPUT("锁光出光").On) { 锁光.Text = "可出光"; 锁光.BackColor = Color.Green; IOManage.OUTPUT("外部锁光").SetOutBit(true); } else { 锁光.Text = "已锁光"; 锁光.BackColor = Color.Red; IOManage.OUTPUT("外部锁光").SetOutBit(false); } if (DateSave.Instance().Production.StationMaterial == true) { btn_LeftPosWelding.Text = "工位有料"; } else { btn_LeftPosWelding.Text = "工位无料"; } if ((mes.Instance().DataReceivedstrSN != "" && LeftSnshow.Text == "") || (LeftSnshow.Text != mes.Instance().DataReceivedstrSN)) { LeftSnshow.Text = mes.Instance().DataReceivedstrSN; } try { if ((DateSave.Instance().Production.WeldDate.Average() != 0 && lb_LeftMarkPower.Text == "") || (lb_LeftMarkPower.Text != DateSave.Instance().Production.WeldDate.Average().ToString())) { lb_LeftMarkPower.Text = Math.Round(DateSave.Instance().Production.WeldDate.Average(), 1).ToString(); } } catch { } if ((DateSave.Instance().Production.OK_date != 0 && lb_LeftYield.Text == "") || (lb_LeftYield.Text != DateSave.Instance().Production.OK_date.ToString())) { lb_LeftYield.Text = DateSave.Instance().Production.OK_date.ToString(); } if ((DateSave.Instance().Production.Weld_Speed != 0 && lb_LeftMarkSpeed.Text == "") || (lb_LeftMarkSpeed.Text != DateSave.Instance().Production.Weld_Speed.ToString())) { lb_LeftMarkSpeed.Text = DateSave.Instance().Production.Weld_Speed.ToString(); } if (lb_LeftPos.Text != DateSave.Instance().Production.TheCurrentpoint.ToString()) { lb_LeftPos.Text = DateSave.Instance().Production.TheCurrentpoint.ToString(); } if ((DateSave.Instance().Production.CTtime != "" && lb_LeftCT.Text == "") || (lb_LeftCT.Text != DateSave.Instance().Production.CTtime)) { lb_LeftCT.Text = DateSave.Instance().Production.CTtime; } if (DateSave.Instance().Production.ModelNo != "" && 当前机种号.Text == "NUM" || 当前机种号.Text != DateSave.Instance().Production.ModelNo) { 当前机种号_.Text = DateSave.Instance().Production.ModelNo; 当前机种号.Text = DateSave.Instance().Production.ModelNo; } if (Socket_server.Instance().recvDate != "") { lb_RightMarkSpeed.Text = Socket_server.Instance().recvDate; } if ((DateSave.Instance().Production.Current_TIME != 0 && 清理铜嘴次数.Text == "") || (清理铜嘴次数.Text != DateSave.Instance().Production.Current_TIME.ToString())) { 清理铜嘴次数.Text = DateSave.Instance().Production.Current_TIME.ToString(); } if (DateSave.Instance().Production.Clear_TIME == DateSave.Instance().Production.Current_TIME) { MainControl.BIZZ("请清理铜嘴", "请清理铜嘴"); DateSave.Instance().Production.Current_TIME++; } if (frist == 0 && LoginForm.landingFinish == true) { frist++; asc.AddControl(panel2); } if (frist == 1) { this.Top = 0; this.Left = 0; frist++; delay(1000); int Width = Screen.PrimaryScreen.WorkingArea.Width; int Height = Screen.PrimaryScreen.WorkingArea.Height; int wih = MainModule.FormMain.Width; int aq1e = panel2.Width; int aqe = panel2.Height; panel2.SetBounds(asc.oldCtrl[0].Top, asc.oldCtrl[0].Left, Width, aqe); Thread.Sleep(100); if (asc.oldCtrl.Count > 0) { asc.controlAutoSize(panel2); } } double sd = 0.0; TableManage.TableDriver("运动平台")._GetAdc(1, out sd); if (startHoming || MainModule.FormMain.bAuto) { } else if (IOManage.INPUT("手轮X").On || IOManage.INPUT("手轮Y").On || IOManage.INPUT("手轮Z").On || IOManage.INPUT("手轮U").On) { if (IOManage.INPUT("手轮X").On&& setOk == false) { if (IOManage.INPUT("手轮1").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(1, 1); } else if (IOManage.INPUT("手轮10").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(1, 10); } else if (IOManage.INPUT("手轮100").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(1, 50); } } if (IOManage.INPUT("手轮Y").On&& setOk == false) { if (IOManage.INPUT("手轮1").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(2, 1); } else if (IOManage.INPUT("手轮10").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(2, 10); } else if (IOManage.INPUT("手轮100").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(2, 50); } } if (IOManage.INPUT("手轮Z").On&& setOk == false) { if (IOManage.INPUT("手轮1").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(3, 1); } else if (IOManage.INPUT("手轮10").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(3, 10); } else if (IOManage.INPUT("手轮100").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(3, 50); } } if (IOManage.INPUT("手轮U").On&& setOk == false) { if (IOManage.INPUT("手轮1").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(4, 1); } else if (IOManage.INPUT("手轮10").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(4, 10); } else if (IOManage.INPUT("手轮100").On) { setOk = true; TableManage.TableDriver("运动平台").StartManualPulser(4, 50); } } } else if (IOManage.INPUT("手轮X").Off&& IOManage.INPUT("手轮Y").Off&& IOManage.INPUT("手轮Z").Off&& setOk == true) { setOk = false; TableManage.TableDriver("运动平台").StopManualPulser(0); TableManage.TableDriver("运动平台").StopManualPulser(1); TableManage.TableDriver("运动平台").StopManualPulser(2); TableManage.TableDriver("运动平台").StopManualPulser(3); TableManage.TableDriver("运动平台").StopManualPulser(4); TableManage.TableDriver("运动平台").StopManualPulser(5); TableManage.TableDriver("运动平台").StopManualPulser(6); TableManage.TableDriver("运动平台").StopManualPulser(7); } if (MainModule.FormMain.Parse == false && RunClass.Instance().parse == true) { RunClass.Instance().parse = false; RunClass.Instance().GoOnRun = true; } // if (IOManage.INPUT("文档状态").On) //{ // RunClass.Instance(). WeldFinishSta = "StartWeld"; //} // if (IOManage.INPUT("文档状态").Off) // { // RunClass.Instance().WeldFinishSta = "WeldFinish"; // } //if (StartHome==true) //{ // MainModule.FormMain.bHomeReady = false; // StartHome = false; // MainModule.FormMain.bHomeReady = false; // StartHome = false; HomeDoneZ = false; // TableManage.TableDriver("运动平台").Home(TableAxisName.Z); //} //if (TableManage.TableDriver("运动平台").HomeDone(TableAxisName.Z) && HomeDoneZ == false) //{ // HomeDoneZ = true; // HomeDoneXY = false; //} //if (HomeDoneXY == false) //{ // HomeDoneXY = true; // TableManage.TableDriver("运动平台").Home(TableAxisName.X); // TableManage.TableDriver("运动平台").Home(TableAxisName.Y); //} //if (TableManage.TableDriver("运动平台").HomeDone(TableAxisName.X) && TableManage.TableDriver("运动平台").HomeDone(TableAxisName.Y)&& HomeDoneXY == false) //{ // HomeDoneXY = true; // MainModule.FormMain.bHomeReady = true; //} //string en = ""; //string sendd = ""; //sendd = Weld_Log.Instance().Dequeue(en); //if (sendd != "") //{ // Weld_Log.Instance().WriteLog(LOG_LEVEL.LEVEL_3, sendd, LOG_TYPE.INFO); //} //else //{ // // Thread.Sleep(200); //} if (MainModule.FormMain.bEstop == true) { DateSave.Instance().Production.EStop = true; } //else //{ // DateSave.Instance().Production.EStop = false; //} }