优化扫码功能

master
lhiven 1 year ago
parent 9f39f71010
commit e8c3c75ef9

@ -34,7 +34,7 @@ namespace Rs.MotionPlat.Commom
/// </summary>
/// <param name="eOperator"></param>
/// <param name="indexes"></param>
public static void DischargeVacSuction(EVacOperator eOperator, params int[] indexes)
public static void DischargeVacSuction(EVacOperator eOperator, bool needSleep,params int[] indexes)
{
if (indexes.Length > 0)
{
@ -52,12 +52,14 @@ namespace Rs.MotionPlat.Commom
if (eOperator == EVacOperator.Open)
{
Thread.Sleep(GlobalVar.LoadNozzleOpenVacSuctionDelaytime);
if (needSleep)
Thread.Sleep(GlobalVar.LoadNozzleOpenVacSuctionDelaytime);
MessageQueue.Instance.Insert($"打开排料{string.Join(",", indexes)}号吸嘴真空吸");
}
else
{
Thread.Sleep(GlobalVar.LoadNozzleCloseVacSuctionDelaytime);
if (needSleep)
Thread.Sleep(GlobalVar.LoadNozzleCloseVacSuctionDelaytime);
MessageQueue.Instance.Insert($"关闭排料{string.Join(",", indexes)}号吸嘴真空吸");
}
}
@ -102,7 +104,7 @@ namespace Rs.MotionPlat.Commom
/// </summary>
/// <param name="eOperator"></param>
/// <param name="indexes"></param>
public static void TurnoverTrayVacSuction(EVacOperator eOperator, params int[] indexes)
public static void TurnoverTrayVacSuction(EVacOperator eOperator,bool NeedSleep=true, params int[] indexes)
{
if (indexes.Length > 0)
{
@ -120,12 +122,14 @@ namespace Rs.MotionPlat.Commom
if (eOperator == EVacOperator.Open)
{
Thread.Sleep(GlobalVar.TurnoverNozzleOpenVacBreakDelaytime);
if(NeedSleep)
Thread.Sleep(GlobalVar.TurnoverNozzleOpenVacBreakDelaytime);
MessageQueue.Instance.Insert($"打开周转盘{string.Join(",", indexes)}号穴位真空吸");
}
else
{
Thread.Sleep(GlobalVar.TurnoverNozzleCloseVacBreakDelaytime);
if(NeedSleep)
Thread.Sleep(GlobalVar.TurnoverNozzleCloseVacBreakDelaytime);
MessageQueue.Instance.Insert($"关闭周转盘{string.Join(",", indexes)}号穴位真空吸");
}
}
@ -154,12 +158,12 @@ namespace Rs.MotionPlat.Commom
if (eOperator == EVacOperator.Open)
{
Thread.Sleep(GlobalVar.TurnoverNozzleOpenVacBreakDelaytime);
Thread.Sleep(GlobalVar.TurnoverTrayOpenVacBreakDelaytime);
MessageQueue.Instance.Insert($"打开周转盘{indexes.ToJoinString()}号穴位真空破");
}
else
{
Thread.Sleep(GlobalVar.TurnoverNozzleCloseVacBreakDelaytime);
Thread.Sleep(GlobalVar.TurnoverTrayCloseVacBreakDelaytime);
MessageQueue.Instance.Insert($"关闭周转盘{indexes.ToJoinString()}号穴位真空破");
}
}

@ -198,7 +198,7 @@ namespace Rs.MotionPlat.Flow.Camera
/// 检测周转盘放料是否OK
/// </summary>
/// <returns></returns>
public static VisionResult TurnoverTrayDumpProductOK(HObject image)
public static VisionResult TurnoverTrayDumpProductOK(HObject image,bool bNeedLocation=true)
{
upCameraScanBarCodeModel = new ModelParameter("周转盘产品定位");
VisionResult vr = new VisionResult();
@ -208,7 +208,7 @@ namespace Rs.MotionPlat.Flow.Camera
HOperatorSet.ReduceDomain(image, upCameraScanBarCodeModel.SearchRegion, out searchImg);
else
searchImg = image;
if(GlobalVar.EnableTurnoverTrayRecheck)
if(bNeedLocation)
{
HOperatorSet.GetShapeModelContours(out HObject modelContours, upCameraScanBarCodeModel.ModelID, 1);
HOperatorSet.FindShapeModel(searchImg, upCameraScanBarCodeModel.ModelID,
@ -227,9 +227,10 @@ namespace Rs.MotionPlat.Flow.Camera
vr.OffsetY = -1 * (row.D - upCameraScanBarCodeModel.ModelMatchResult[0].D) * GlobalVar.UpCameraMmPerPixel;
vr.OffsetR = AngleTool.Rad2Deg((angle.D - upCameraScanBarCodeModel.ModelMatchResult[2].D));
vr.SourceImage = image;
if (vr.OffsetX < GlobalVar.TurnoverTrayLocateXRange && vr.OffsetY < GlobalVar.TurnoverTrayLocateYRange && vr.OffsetR < GlobalVar.TurnoverTrayLocateRRange)
if (Math.Abs(vr.OffsetX) < GlobalVar.TurnoverTrayLocateXRange
&& Math.Abs(vr.OffsetY) < GlobalVar.TurnoverTrayLocateYRange
&& Math.Abs(vr.OffsetR) < GlobalVar.TurnoverTrayLocateRRange)
{
vr.SearchModelOK = true;
}
else
@ -283,7 +284,7 @@ namespace Rs.MotionPlat.Flow.Camera
//HOperatorSet.GenRectangle1(out HObject searchRegion,row1, col1, row2, col2);
HOperatorSet.ReduceDomain(images, _barCodeRegion, out HObject imgReduaced);
HOperatorSet.Emphasize(imgReduaced, out HObject imageEmphasize, new HTuple(7), new HTuple(7), new HTuple(1));
//HOperatorSet.Emphasize(imgReduaced, out HObject imageEmphasize, new HTuple(7), new HTuple(7), new HTuple(1));
//HOperatorSet.CropDomain(imgReduaced, out HObject imagePart);
//HOperatorSet.WriteImage(imagePart, "bmp", 0, "d://images/11");
//HOperatorSet.Threshold(imagePart, out HObject region, new HTuple(200), new HTuple(255));
@ -308,14 +309,29 @@ namespace Rs.MotionPlat.Flow.Camera
foreach (string mode in modes)
{
HOperatorSet.CreateDataCode2dModel("Data Matrix ECC 200", "default_parameters", mode, out HTuple dataCodeHandle);
HOperatorSet.FindDataCode2d(imageEmphasize, out xlds, dataCodeHandle, new HTuple(), new HTuple(), out HTuple resultHandles, out decodedDataStrings);
HOperatorSet.FindDataCode2d(imgReduaced, out xlds, dataCodeHandle, new HTuple(), new HTuple(), out HTuple resultHandles, out decodedDataStrings);
if (decodedDataStrings.Length > 0)
{
HOperatorSet.ClearDataCode2dModel(dataCodeHandle);
return decodedDataStrings.ToString().Replace("\"", "");
}
else
{
HOperatorSet.ClearDataCode2dModel(dataCodeHandle);
//增强对比度之后再识别一次
HOperatorSet.MultImage(imgReduaced, imgReduaced, out HObject imageMulti, new HTuple(0.005), new HTuple(0));
HOperatorSet.CreateDataCode2dModel("Data Matrix ECC 200", "default_parameters", mode, out dataCodeHandle);
HOperatorSet.FindDataCode2d(imageMulti, out xlds, dataCodeHandle, new HTuple(), new HTuple(), out resultHandles, out decodedDataStrings);
if (decodedDataStrings.Length > 0)
{
HOperatorSet.ClearDataCode2dModel(dataCodeHandle);
return decodedDataStrings.ToString().Replace("\"", "");
}
else
{
HOperatorSet.ClearDataCode2dModel(dataCodeHandle);
}
if (mode == "maximum_recognition")
{
string saveDir = $"d://images//{DateTime.Now.ToString("yyyyMMdd")}//Ng";

@ -17,6 +17,7 @@ using System.Diagnostics;
using System.Diagnostics.Eventing.Reader;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@ -291,6 +292,8 @@ namespace Rs.MotionPlat.Flow
if (curTask.FromType == TurnoverType.Turnover)
{
targetPos = GetVacOffsetHeight(reFetchNum) + SysConfigParam.GetValue<double>($"TurnoverNozzle{curNozzle.NozzleIndex}TakeHeight");
VacManager.DischargeVacSuction(EVacOperator.Open, false, curNozzle.NozzleIndex);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, false, curNozzle.FromIndex + 1);
}
else if (curTask.FromType == TurnoverType.ToBeTested)
{
@ -334,7 +337,7 @@ namespace Rs.MotionPlat.Flow
/*打开排料吸嘴真空吸*/
//Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空吸电磁阀");
//Thread.Sleep(GlobalVar.LoadNozzleOpenVacSuctionDelaytime);
VacManager.DischargeVacSuction(EVacOperator.Open, curNozzle.NozzleIndex);
//logInfo = GetClassName()+ $"打开{curNozzle.NozzleIndex}号排料吸嘴真空吸";
//MessageQueue.Instance.Insert(logInfo);
if (curTask.FromType == TurnoverType.Turnover)
@ -344,7 +347,7 @@ namespace Rs.MotionPlat.Flow
//Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空吸");
//Thread.Sleep(GlobalVar.TurnoverTrayCloseVacSuctionDelaytime);
//MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, curNozzle.FromIndex+1);
//VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, curNozzle.FromIndex+1);
/*打开周转盘真空破*/
//logInfo = GetClassName() + $"打开周转盘{curTask.FromIndex + 1}号穴位真空破";
//Ops.On($"周转盘{curTask.FromIndex + 1}号穴位真空破");
@ -356,7 +359,11 @@ namespace Rs.MotionPlat.Flow
//Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空破");
//Thread.Sleep(GlobalVar.TurnoverTrayCloseVacBreakDelaytime);
//MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacBreak( EVacOperator.Close,curNozzle.FromIndex + 1);
}
else
{
VacManager.DischargeVacSuction(EVacOperator.Open, true, curNozzle.NozzleIndex);
}
flowStep = EDischargeFlowStep.;
break;
@ -382,7 +389,11 @@ namespace Rs.MotionPlat.Flow
if (Ops.IsStop($"NozzleZ{curNozzle.NozzleIndex}") || GlobalVar.VirtualAxis)
{
logInfo = GetClassName()+$"取{WitchTrayWitchSlot(curNozzle.FromType, curNozzle.FromIndex)}号穴位产品完成已抬起";
MessageQueue.Instance.Insert(logInfo);
MessageQueue.Instance.Insert(logInfo);
if (curTask.FromType == TurnoverType.Turnover)
{
VacManager.TurnoverTrayVacBreak(EVacOperator.Close, curNozzle.FromIndex + 1);
}
flowStep = EDischargeFlowStep.;
}
break;
@ -1140,6 +1151,10 @@ namespace Rs.MotionPlat.Flow
if (curNozzle.ToType == TurnoverType.Turnover)
{
targetPos = SysConfigParam.GetValue<double>($"TurnoverNozzle{curNozzle.NozzleIndex}TakeHeight");
/*打开周转盘真空吸*/
logInfo = GetClassName() + $"打开周转盘{curNozzle.ToIndex + 1}号穴位真空吸";
MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacSuction(EVacOperator.Open, false, curNozzle.ToIndex + 1);
}
else
{
@ -1165,18 +1180,12 @@ namespace Rs.MotionPlat.Flow
MessageQueue.Instance.Insert(logInfo);
if (curNozzle.ToType == TurnoverType.Turnover)
{
/*打开周转盘真空吸*/
logInfo = GetClassName() + $"打开周转盘{curNozzle.ToIndex + 1}号穴位真空吸";
MessageQueue.Instance.Insert(logInfo);
//Ops.On($"周转盘{curNozzle.ToIndex + 1}号穴位真空吸");
//Thread.Sleep(GlobalVar.TurnoverTrayOpenVacSuctionDelaytime);
VacManager.TurnoverTrayVacSuction(EVacOperator.Open, curNozzle.ToIndex + 1);
/*关闭排料吸嘴真空吸*/
logInfo = GetClassName() + $"关闭{curNozzle.NozzleIndex}号排料吸嘴真空吸";
MessageQueue.Instance.Insert(logInfo);
//Ops.Off($"{curNozzle.NozzleIndex}号吸嘴真空吸电磁阀");//关闭真空
//Thread.Sleep(GlobalVar.LoadNozzleCloseVacSuctionDelaytime);
VacManager.DischargeVacSuction(EVacOperator.Close, curNozzle.NozzleIndex);
VacManager.DischargeVacSuction(EVacOperator.Close, true, curNozzle.NozzleIndex);
/*打开排料吸嘴真空破*/
logInfo = GetClassName() + $"打开{curNozzle.NozzleIndex}号排料吸嘴真空破";
MessageQueue.Instance.Insert(logInfo);
@ -1192,7 +1201,7 @@ namespace Rs.MotionPlat.Flow
MessageQueue.Instance.Insert(logInfo);
//Ops.Off($"{curNozzle.NozzleIndex}号吸嘴真空吸电磁阀");
//Thread.Sleep(GlobalVar.LoadNozzleCloseVacSuctionDelaytime);
VacManager.DischargeVacSuction(EVacOperator.Close, curNozzle.NozzleIndex);
VacManager.DischargeVacSuction(EVacOperator.Close,true, curNozzle.NozzleIndex);
/*打开排料吸嘴真空破*/
logInfo = GetClassName() + $"打开{curNozzle.NozzleIndex}号排料吸嘴真空破";
MessageQueue.Instance.Insert(logInfo);
@ -1357,7 +1366,7 @@ namespace Rs.MotionPlat.Flow
//排料轴先回到安全位,等待异常处理吸嘴过来处理这颗异常料
DischargeModuleGoSafePosFlow.Instance.GoSafePostion();
WarningSuckerNgFlow.Instance.DealNgProduct(ETrayType.Turnover, curNozzle.ToIndex + 1);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, curNozzle.ToIndex + 1);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, curNozzle.ToIndex + 1);
curNozzle.Reset();
flowStep = EDischargeFlowStep.;
exit = true;
@ -1366,7 +1375,7 @@ namespace Rs.MotionPlat.Flow
{
if (!UpCameraCheckFlow.Instance.CheckTurnoverTrayHasProduct(null, curNozzle.ToIndex + 1))
{
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, curNozzle.ToIndex + 1);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, curNozzle.ToIndex + 1);
curNozzle.Reset();
flowStep = EDischargeFlowStep.;
exit = true;
@ -1471,8 +1480,18 @@ namespace Rs.MotionPlat.Flow
}
else
{
//复制二维码
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex-1, "");
//如果扫码失败再重扫一次
UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true);
VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle();
if(vrsigle.ScanBarCodeOK)
{
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN);
}
else
{
//复制二维码
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, "");
}
}
}
}
@ -1515,8 +1534,18 @@ namespace Rs.MotionPlat.Flow
}
else
{
//复制二维码
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex-1, "");
//如果扫码失败再重扫一次
UpCameraScanBarCodeFlow.Instance.ScanSingle(vr.SlotIndex, true);
VisionResult vrsigle = UpCameraScanBarCodeFlow.Instance.WaitSingle();
if (vrsigle.ScanBarCodeOK)
{
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, vr.SN);
}
else
{
//复制二维码
LoadAndUnloadTask.Instance.CopyBarcodeToTask(vr.SlotIndex - 1, "");
}
}
}
}

@ -192,7 +192,7 @@ namespace Rs.MotionPlat.Flow
step = ETakeTrayFlowStep.;
break;
case ETakeTrayFlowStep.:
if (stopwatch.ElapsedMilliseconds < 5000)
if (stopwatch.ElapsedMilliseconds < 10000)
{
if ((Ops.IsOn("上下气缸原位")) || (GlobalVar.VirtualAxis))
{

@ -257,7 +257,7 @@ namespace Rs.MotionPlat.Flow
{
WarningSuckerNgFlow.Instance.DealNgProduct(ETrayType.Turnover, slot.Index);
slot.ClearProduct();
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, slot.Index);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close,true, slot.Index);
GlobalTray.TurnoverTray.ChangeStatus(slot.Index, ESlotStatus.NotHave);
}
exit = true;
@ -271,7 +271,7 @@ namespace Rs.MotionPlat.Flow
TestHeightResult heightResult = LaserFlow.Instance.HasProduct(ETrayType.Turnover, slot.Index);
if (!heightResult.HasProduct)
{
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, slot.Index);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, slot.Index);
slot.ClearProduct();
GlobalTray.TurnoverTray.ChangeStatus(slot.Index, ESlotStatus.NotHave);
}
@ -350,7 +350,7 @@ namespace Rs.MotionPlat.Flow
/*打开周转吸嘴真空吸*/
VacManager.TransitNozzleVacSuction(EVacOperator.Open, undealTasks.Select(t => t.ToIndex + 1).ToArray());
/*关闭周转盘真空吸*/
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, undealTasks.Select(t => t.FromIndex + 1).ToArray());
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, undealTasks.Select(t => t.FromIndex + 1).ToArray());
/*打开周转盘真空破*/
VacManager.TurnoverTrayVacBreak(EVacOperator.Open, undealTasks.Select(t => t.FromIndex + 1).ToArray());
Step = ETurnoverFlowStep.;
@ -415,7 +415,7 @@ namespace Rs.MotionPlat.Flow
undealTasks = LoadAndUnloadTask.Instance.GetTurnoverToTestTasks(ETaskDealStatus.Undeal);
foreach (TurnoverInfo task in undealTasks)
{
if (Ops.IsOn($"周转{task.FromIndex + 1}号吸嘴真空吸检测") || GlobalVar.VirtualAxis || GlobalVar.RunSpace)
if (Ops.IsOn($"周转{task.ToIndex + 1}号吸嘴真空吸检测") || GlobalVar.VirtualAxis || GlobalVar.RunSpace)
{
//如果真空检测OK带料产品已经吸上了
TransitNozzleManager.Instance.Nozzle(task.ToIndex + 1).AddProduct(task);
@ -971,7 +971,7 @@ namespace Rs.MotionPlat.Flow
break;
case ETurnoverFlowStep.:
targetPos = SysConfigParam.GetValue<double>("PressSafeZ");
errCode = AxisControl.PressZ.MovePos(0, GlobalVar.WholeSpeed);
errCode = AxisControl.PressZ.MovePos(targetPos, GlobalVar.WholeSpeed);
if(errCode == Motion.ErrorCode.Ok || GlobalVar.VirtualAxis)
{
if (GlobalVar.VirtualAxis)
@ -1476,7 +1476,7 @@ namespace Rs.MotionPlat.Flow
MessageQueue.Instance.Insert(logInfo);
hasProductNozzles = TransitNozzleManager.Instance.GetHasProductNozzles();
/*打开周转盘真空吸*/
VacManager.TurnoverTrayVacSuction(EVacOperator.Open, hasProductNozzles.Select(n => n.ToIndex+1).ToArray());
VacManager.TurnoverTrayVacSuction(EVacOperator.Open, true, hasProductNozzles.Select(n => n.ToIndex+1).ToArray());
/*关闭周转吸头真空吸*/
VacManager.TransitNozzleVacSuction( EVacOperator.Close,hasProductNozzles.Select(n=>n.FromIndex + 1).ToArray());
/*打开周转吸头真空破*/
@ -1660,7 +1660,7 @@ namespace Rs.MotionPlat.Flow
DischargeModuleGoSafePosFlow.Instance.GoSafePostion();
WarningSuckerNgFlow.Instance.DealNgProduct(ETrayType.Turnover, slot.Index);
nozzle.Clear();
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, slot.Index);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, slot.Index);
exit = true;
}
else
@ -1669,7 +1669,7 @@ namespace Rs.MotionPlat.Flow
if (!UpCameraCheckFlow.Instance.CheckTurnoverTrayHasProduct(null, slot.Index, true))
{
nozzle.Clear();
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, slot.Index);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, slot.Index);
exit = true;
}
}

@ -226,6 +226,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
}
break;
case EUpCameraScanBarCodeFlowStep.:
vReslutList.Clear();
int slotIndex = 0;
foreach (var img in grabImages)
{
@ -241,7 +242,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
VisionResult vr = new VisionResult();
if (TurnoverTrayManager.Instance.Slot(sIndex).IsHasProduct)
{
vr = VisionManager.TurnoverTrayDumpProductOK(img);
vr = VisionManager.TurnoverTrayDumpProductOK(img,GlobalVar.EnableTurnoverTrayRecheck);
}
vr.SlotIndex = sIndex;
vReslutList.Add(vr);
@ -335,6 +336,7 @@ namespace Rs.MotionPlat.Flow.SubFlow
break;
case EUpCameraFixedScanBarCodeFlowStep.:
singleResult = VisionManager.TurnoverTrayDumpProductOK(imageSingle);
singleResult.SlotIndex = SlotIndex;
exit = true;
grabFinishedEvent.Set();
break;

@ -182,7 +182,7 @@ namespace Rs.MotionPlat.Flow.NgFlow
//打开强力吸嘴真空
VacManager.ForceNozzleVacSuction(EVacOperator.Open);
//关闭周转盘真空吸
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, exceptionSlotIndex);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, true, exceptionSlotIndex);
//打开周转盘这空破
VacManager.TurnoverTrayVacBreak(EVacOperator.Open, exceptionSlotIndex);
step = EWarningSuckerNgFlowStep.;

@ -192,7 +192,7 @@
this.btnMoveEmpty2TakeTrayX.Name = "btnMoveEmpty2TakeTrayX";
this.btnMoveEmpty2TakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveEmpty2TakeTrayX.TabIndex = 45;
this.btnMoveEmpty2TakeTrayX.Tag = "LoadY";
this.btnMoveEmpty2TakeTrayX.Tag = "LoadX";
this.btnMoveEmpty2TakeTrayX.Text = "运动到此";
this.btnMoveEmpty2TakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveEmpty2TakeTrayX.Click += new System.EventHandler(this.Move_Click);
@ -319,7 +319,7 @@
this.btnMoveMultiTakeTrayX.Name = "btnMoveMultiTakeTrayX";
this.btnMoveMultiTakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveMultiTakeTrayX.TabIndex = 45;
this.btnMoveMultiTakeTrayX.Tag = "LoadY";
this.btnMoveMultiTakeTrayX.Tag = "LoadX";
this.btnMoveMultiTakeTrayX.Text = "运动到此";
this.btnMoveMultiTakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveMultiTakeTrayX.Click += new System.EventHandler(this.Move_Click);
@ -446,7 +446,7 @@
this.btnMoveNgTakeTrayX.Name = "btnMoveNgTakeTrayX";
this.btnMoveNgTakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveNgTakeTrayX.TabIndex = 45;
this.btnMoveNgTakeTrayX.Tag = "LoadY";
this.btnMoveNgTakeTrayX.Tag = "LoadX";
this.btnMoveNgTakeTrayX.Text = "运动到此";
this.btnMoveNgTakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveNgTakeTrayX.Click += new System.EventHandler(this.Move_Click);
@ -573,7 +573,7 @@
this.btnMoveOkTakeTrayX.Name = "btnMoveOkTakeTrayX";
this.btnMoveOkTakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveOkTakeTrayX.TabIndex = 45;
this.btnMoveOkTakeTrayX.Tag = "LoadY";
this.btnMoveOkTakeTrayX.Tag = "LoadX";
this.btnMoveOkTakeTrayX.Text = "运动到此";
this.btnMoveOkTakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveOkTakeTrayX.Click += new System.EventHandler(this.Move_Click);
@ -715,7 +715,7 @@
this.btnMoveInputTakeTrayX.Name = "btnMoveInputTakeTrayX";
this.btnMoveInputTakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveInputTakeTrayX.TabIndex = 45;
this.btnMoveInputTakeTrayX.Tag = "LoadY";
this.btnMoveInputTakeTrayX.Tag = "LoadX";
this.btnMoveInputTakeTrayX.Text = "运动到此";
this.btnMoveInputTakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveInputTakeTrayX.Click += new System.EventHandler(this.Move_Click);
@ -890,7 +890,7 @@
this.btnMoveEmpty1TakeTrayX.Name = "btnMoveEmpty1TakeTrayX";
this.btnMoveEmpty1TakeTrayX.Size = new System.Drawing.Size(80, 25);
this.btnMoveEmpty1TakeTrayX.TabIndex = 45;
this.btnMoveEmpty1TakeTrayX.Tag = "LoadY";
this.btnMoveEmpty1TakeTrayX.Tag = "LoadX";
this.btnMoveEmpty1TakeTrayX.Text = "运动到此";
this.btnMoveEmpty1TakeTrayX.UseVisualStyleBackColor = false;
this.btnMoveEmpty1TakeTrayX.Click += new System.EventHandler(this.Move_Click);

Loading…
Cancel
Save