using NPOI.SS.Formula.Functions; using Rs.Controls; using Rs.Framework; using Rs.Motion; using Rs.MotionPlat.Commom; using Rs.MotionPlat.Entitys; using Rs.MotionPlat.Flow; using Rs.MotionPlat.Flow.SafePosFlow; using Rs.MotionPlat.Flow.SubFlow; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using static Rs.MotionPlat.Commom.SchedulingAlarms; using static Rs.MotionPlat.Commom.SchedulingMessageBox; namespace Rs.MotionPlat { public partial class TestFrm : BaseForm { public TestFrm() { InitializeComponent(); } private void btnTurnoverSlotException_Click(object sender, EventArgs e) { } private void btnTransiteNozzleExceptionGoSafePoint_Click(object sender, EventArgs e) { TransitModuleSafePosFlow.Instance.GoSafePostion(Commom.EExceptionSafePos.TransitNozzle); } private void btnSocketExceptionGoSafePoint_Click(object sender, EventArgs e) { TransitModuleSafePosFlow.Instance.GoSafePostion(Commom.EExceptionSafePos.Socket); } private void btnDischargeGoSafePoint_Click(object sender, EventArgs e) { DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); } private void btnTurnoverTrayExceptionGoSafePoint_Click(object sender, EventArgs e) { TransitModuleSafePosFlow.Instance.GoSafePostion(Commom.EExceptionSafePos.TurnoverTray); } private void btnTransitNozzlePress_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Task.Run(() => { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓tray盘取料报警), 1, 1); ETipButton btnText = (ETipButton.Retry | ETipButton.Skip | ETipButton.Yes); Dictionary buttonText = new Dictionary(); buttonText.Add(ETipButton.Retry, "重试|Retry"); buttonText.Add(ETipButton.Skip, "跳过|Skip"); buttonText.Add(ETipButton.Yes, "移动到安全位|MoveToSafePos"); // MsgBox.ShowDialog(AlarmConstID.料仓tray盘取料报警, alarminfo, btnText, buttonText); //AlarmMsg.Show(AlarmConstID.料仓tray盘取料报警,AlarmCollection.Get(AlarmConstID.料仓tray盘取料报警).Transform("1","1"), btnText, buttonText); ETipButton btns = AlarmMessageBox.ShowDialog(true, btnText, buttonText, AlarmConstID.料仓tray盘取料报警, "2", "1"); switch (btns) { case ETipButton.None: break; case ETipButton.Yes: break; case ETipButton.No: break; case ETipButton.Ok: break; case ETipButton.Cancel: break; case ETipButton.Retry: break; case ETipButton.Skip: break; case ETipButton.YesNo: break; case ETipButton.OkCancel: break; case ETipButton.OkRetryCancel: break; case ETipButton.RetrySkip: break; default: break; } }); } private void button2_Click(object sender, EventArgs e) { //string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓tray盘放料时丢料报警), 1, "ok"); //MsgBox.ShowDialog(AlarmConstID.料仓tray盘放料时丢料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); ETipButton btns = AlarmMessageBox.ShowDialog(true, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText(), AlarmConstID.料仓tray盘放料时丢料报警, "1", "ok"); switch (btns) { case ETipButton.None: break; case ETipButton.Yes: break; case ETipButton.No: break; case ETipButton.Ok: break; case ETipButton.Cancel: break; case ETipButton.Retry: break; case ETipButton.Skip: break; case ETipButton.YesNo: break; case ETipButton.OkCancel: break; case ETipButton.OkRetryCancel: break; case ETipButton.RetrySkip: break; default: break; } } private void button3_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.排料头在周转盘取料失败报警), 1, 1); ETipButton btnText = (ETipButton.Retry | ETipButton.Skip | ETipButton.Yes); Dictionary buttonText = new Dictionary(); buttonText.Add(ETipButton.Retry, "重试|Retry"); buttonText.Add(ETipButton.Skip, "跳过|Skip"); buttonText.Add(ETipButton.Yes, "移动到安全位|MoveToSafePos"); PromptMessageBox.ShowDialog(AlarmConstID.排料头在周转盘取料失败报警, alarminfo, btnText, buttonText); } private void button4_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.排料投在周转盘放料时丢料报警), 1); PromptMessageBox.ShowDialog(AlarmConstID.排料投在周转盘放料时丢料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button5_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.排料头放料到周转盘后周转盘真空吸报警), 1, 1); Dictionary buttons = new Dictionary() { { ETipButton.Retry,"重拍|Regrab" }, {ETipButton.Skip,"跳过|Skip" }, {ETipButton.Yes,"移动到安全位|MoveToSafePos" } }; PromptMessageBox.ShowDialog(AlarmConstID.排料头放料到周转盘后周转盘真空吸报警, alarminfo, ETipButton.Retry | ETipButton.Skip | ETipButton.Yes, buttons); } private void button6_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头在周转盘取料失败报警), "1,2", "1,2"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头在周转盘取料失败报警, alarminfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); } private void button7_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头在周转盘放料时丢料报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头在周转盘放料时丢料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button8_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头放料到周转盘后周转盘真空吸报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头放料到周转盘后周转盘真空吸报警, alarminfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); } private void button9_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头在测试治具取料失败报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头在测试治具取料失败报警 , alarminfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); } private void button10_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头在测试治具放料时丢料报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头在测试治具放料时丢料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button11_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头放料到测试治具后测试治具光纤报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头放料到测试治具后测试治具光纤报警, alarminfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); } private void button12_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转吸头放料到测试治具后测试治具真空吸报警), "3,7"); PromptMessageBox.ShowDialog(AlarmConstID.周转吸头放料到测试治具后测试治具真空吸报警, alarminfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); } private void button13_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓满料报警), "OK"); PromptMessageBox.ShowDialog(AlarmConstID.料仓满料报警, alarminfo, ETipButton.Ok); } private void button15_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料仓缺料报警), "OK"); PromptMessageBox.ShowDialog(AlarmConstID.料仓缺料报警, alarminfo, ETipButton.Ok); } private void button16_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.取料盘夹爪动位报警)); PromptMessageBox.ShowDialog(AlarmConstID.取料盘夹爪动位报警, alarminfo, ETipButton.Retry); } private void button17_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.取料盘夹爪原位报警)); PromptMessageBox.ShowDialog(AlarmConstID.取料盘夹爪原位报警, alarminfo, ETipButton.Retry); } private void button18_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.排料头粘料报警), "3"); PromptMessageBox.ShowDialog(AlarmConstID.排料头粘料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button14_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转头粘料报警), "3,8"); PromptMessageBox.ShowDialog(AlarmConstID.周转头粘料报警, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button19_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.治具产品未取出), "3"); PromptMessageBox.ShowDialog(AlarmConstID.治具产品未取出, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button20_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.周转盘产品未取出), "3"); PromptMessageBox.ShowDialog(AlarmConstID.周转盘产品未取出, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button21_Click(object sender, EventArgs e) { string alarminfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.料盘产品未取出), "3"); PromptMessageBox.ShowDialog(AlarmConstID.料盘产品未取出, alarminfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText()); } private void button22_Click(object sender, EventArgs e) { string alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.扫码失败), 3); Dictionary buttonTexts = new Dictionary() { { ETipButton.Retry,"重试|Retry"}, { ETipButton.No,"自动移走|Auto remove"} }; PromptMessageBox.ShowDialog(AlarmConstID.扫码失败, alarmInfo, ETipButton.Retry | ETipButton.No, buttonTexts); } private void button23_Click(object sender, EventArgs e) { } private void button24_Click(object sender, EventArgs e) { TestHeightResult thr = LaserFlow.Instance.HasProduct(ETrayType.Test,5); if (thr.HasProduct) Msg.ShowInfo("有产品"); else Msg.ShowInfo("无产品"); } private void button25_Click(object sender, EventArgs e) { double targetPos =SysConfigParam.GetValue($"TrayNozzle1TakeHeight"); LogHelper.Debug("到下方"); AxisControl.NozzleZ1.MovePos(targetPos, GlobalVar.WholeSpeed); while (true) { if(Ops.IsStop(AxisControl.NozzleZ1)) { break; } } LogHelper.Debug("已到下方"); Thread.Sleep(1000); LogHelper.Debug("到上方"); AxisControl.NozzleZ1.MovePos(0, GlobalVar.WholeSpeed); while (true) { if (Ops.IsStop(AxisControl.NozzleZ1)) { break; } } LogHelper.Debug("已到上方"); } private void button26_Click(object sender, EventArgs e) { Task.Run(() => { ETipButton button = AlarmMsg.Show(1001, AlarmCollection.Get(1001).Transform("3", "4"), ETipButton.Yes| ETipButton.No, null); Msg.ShowInfo(button.ToString()); }); } private void button27_Click(object sender, EventArgs e) { LoadAndUnloadTask.Instance.CreateTurnoverTrayCleanTask(); } private void button28_Click(object sender, EventArgs e) { int msgID = AlarmMessageBox.GetMsgID(SchedulingMessageBox.ETipButton.Skip); if (msgID > 0) { SchedulingAlarms alarmBoxs = new SchedulingAlarms(); alarmBoxs.Instruction = EInstruction.CancelAlarms; alarmBoxs.TurnoverID = 0; alarmBoxs.GroupID = 0; AlarmItem alarmItem = new AlarmItem(); alarmItem.NO = msgID; alarmItem.Pause= true; alarmItem.Button = ETipButton.Skip; alarmBoxs.Alarms.Add(alarmItem); TestCenter.Instance.ReportToTestCenter(alarmBoxs); } } private void button29_Click(object sender, EventArgs e) { Task.Run(() => { for(int i=0;i<32;i++) { Nozzle nozzle = new Nozzle(); nozzle.FromType = TurnoverType.ToBeTested; nozzle.FromFloor = 1; nozzle.FromIndex = i; nozzle.ToType = TurnoverType.Turnover; nozzle.ToFloor = 1; nozzle.ToIndex = i; nozzle.SN = ""; LoadAndUnloadTask.Instance.AddTurnoverResult(nozzle); } while (true) { DischargeFlow.Instance.ScanBarCode(); } }); } private void button28_Click_1(object sender, EventArgs e) { int step = 0; bool bArrived = false; ErrorCode errCode = ErrorCode.Ok; double cusPos = 0.0, targetPos = 0.0; Task.Run(() => { while (true) { switch (step) { case 0: AxisControl.LoadY.MovePos(50, 30); step++; break; case 1: errCode = AxisControl.LoadY.IsInPosition(out bArrived); if (errCode > ErrorCode.Ok) { Msg.ShowError($"move fail {errCode}"); } else { if (bArrived) { AxisControl.LoadY.GetEncoderPosition(out cusPos); AxisControl.LoadY.Get_Target_Position(out targetPos); LogHelper.Debug($"curpos:{cusPos},targetpos:{targetPos}"); step++; } else { AxisControl.LoadY.GetEncoderPosition(out cusPos); AxisControl.LoadY.Get_Target_Position(out targetPos); LogHelper.Debug($"--curpos:{cusPos},targetpos:{targetPos}"); } } break; case 2: AxisControl.LoadY.MovePos(350, 30); step++; break; case 3: errCode = AxisControl.LoadY.IsInPosition(out bArrived); if (errCode > ErrorCode.Ok) { Msg.ShowError($"move fail {errCode}"); } else { if (bArrived) { AxisControl.LoadY.GetEncoderPosition(out cusPos); AxisControl.LoadY.Get_Target_Position(out targetPos); LogHelper.Debug($"curpos:{cusPos},targetpos:{targetPos}"); step = 0; } else { AxisControl.LoadY.GetEncoderPosition(out cusPos); AxisControl.LoadY.Get_Target_Position(out targetPos); LogHelper.Debug($"--curpos:{cusPos},targetpos:{targetPos}"); } } break; default: break; } } }); } private void button30_Click(object sender, EventArgs e) { AxisControl.LoadX.ComparePulse(1, false); } private void button31_Click(object sender, EventArgs e) { double xposStart = 480.770; double yposStart = -45; AxisControl.LoadX.SetPosCompare(2, new double[] { 450}); AxisControl.LoadX.MovePos(xposStart, 10); AxisControl.LoadY.MovePos(yposStart, 10); while (true) { if(Ops.IsStop(AxisControl.LoadX,AxisControl.LoadY)) { break; } } AxisControl.LoadX.MovePos(430.520, 10); while (true) { AxisControl.LoadX.CompareStatus(out short p, out int count); if (Ops.IsStop(AxisControl.LoadX, AxisControl.LoadY)) { break; } } } } }