|
|
|
@ -41,43 +41,46 @@ namespace Rs.MotionPlat
|
|
|
|
|
|
|
|
|
|
private void Instance_OnMatchResult(List<MatchResult> obj)
|
|
|
|
|
{
|
|
|
|
|
int i = 1;
|
|
|
|
|
foreach (MatchResult matchResult in obj)
|
|
|
|
|
if(GlobalVar.EnableRefreshImageUI)
|
|
|
|
|
{
|
|
|
|
|
HWindow_Final hwin = null;
|
|
|
|
|
if (i == 9) return;
|
|
|
|
|
switch (i)
|
|
|
|
|
int i = 1;
|
|
|
|
|
foreach (MatchResult matchResult in obj)
|
|
|
|
|
{
|
|
|
|
|
case 1: hwin = himgNozzle1; break;
|
|
|
|
|
case 2: hwin = himgNozzle2; break;
|
|
|
|
|
case 3: hwin = himgNozzle3; break;
|
|
|
|
|
case 4: hwin = himgNozzle4; break;
|
|
|
|
|
case 5: hwin = himgNozzle5; break;
|
|
|
|
|
case 6: hwin = himgNozzle6; break;
|
|
|
|
|
case 7: hwin = himgNozzle7; break;
|
|
|
|
|
case 8: hwin = himgNozzle8; break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (hwin != null)
|
|
|
|
|
{
|
|
|
|
|
hwin.ClearWindow();
|
|
|
|
|
hwin.HobjectToHimage(matchResult.Himage);
|
|
|
|
|
if (matchResult.IsOK)
|
|
|
|
|
HWindow_Final hwin = null;
|
|
|
|
|
if (i == 9) return;
|
|
|
|
|
switch (i)
|
|
|
|
|
{
|
|
|
|
|
hwin.DispObj(matchResult.ContourXld, "green");
|
|
|
|
|
string OffsetCol = matchResult.OffsetCol.ToString("0.000");
|
|
|
|
|
string OffsetRow = matchResult.OffsetRow.ToString("0.000");
|
|
|
|
|
string OffsetA = matchResult.OffsetA.ToString("0.000");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"X:{OffsetCol}", 200, 20, "green");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"Y:{OffsetRow}", 400, 20, "green");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"R:{OffsetA}", 600, 20, "green");
|
|
|
|
|
case 1: hwin = himgNozzle1; break;
|
|
|
|
|
case 2: hwin = himgNozzle2; break;
|
|
|
|
|
case 3: hwin = himgNozzle3; break;
|
|
|
|
|
case 4: hwin = himgNozzle4; break;
|
|
|
|
|
case 5: hwin = himgNozzle5; break;
|
|
|
|
|
case 6: hwin = himgNozzle6; break;
|
|
|
|
|
case 7: hwin = himgNozzle7; break;
|
|
|
|
|
case 8: hwin = himgNozzle8; break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (hwin != null)
|
|
|
|
|
{
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "NG", 20, 20, "red");
|
|
|
|
|
hwin.ClearWindow();
|
|
|
|
|
hwin.HobjectToHimage(matchResult.Himage);
|
|
|
|
|
if (matchResult.IsOK)
|
|
|
|
|
{
|
|
|
|
|
hwin.DispObj(matchResult.ContourXld, "green");
|
|
|
|
|
string OffsetCol = matchResult.OffsetCol.ToString("0.000");
|
|
|
|
|
string OffsetRow = matchResult.OffsetRow.ToString("0.000");
|
|
|
|
|
string OffsetA = matchResult.OffsetA.ToString("0.000");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"X:{OffsetCol}", 200, 20, "green");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"Y:{OffsetRow}", 400, 20, "green");
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"R:{OffsetA}", 600, 20, "green");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "NG", 20, 20, "red");
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -344,72 +347,74 @@ namespace Rs.MotionPlat
|
|
|
|
|
|
|
|
|
|
private void Instance_OnShowGrabResult(VisionResult matchResult, bool arg2)
|
|
|
|
|
{
|
|
|
|
|
HWindow_Final hwin = null;
|
|
|
|
|
switch (matchResult.SlotIndex)
|
|
|
|
|
{
|
|
|
|
|
case 1: hwin = hwin_turnoverSlot1; break;
|
|
|
|
|
case 2: hwin = hwin_turnoverSlot2; break;
|
|
|
|
|
case 3: hwin = hwin_turnoverSlot3; break;
|
|
|
|
|
case 4: hwin = hwin_turnoverSlot4; break;
|
|
|
|
|
case 5: hwin = hwin_turnoverSlot5; break;
|
|
|
|
|
case 6: hwin = hwin_turnoverSlot6; break;
|
|
|
|
|
case 7: hwin = hwin_turnoverSlot7; break;
|
|
|
|
|
case 8: hwin = hwin_turnoverSlot8; break;
|
|
|
|
|
case 9: hwin = hwin_turnoverSlot9; break;
|
|
|
|
|
case 10: hwin = hwin_turnoverSlot10; break;
|
|
|
|
|
case 11: hwin = hwin_turnoverSlot11; break;
|
|
|
|
|
case 12: hwin = hwin_turnoverSlot12; break;
|
|
|
|
|
case 13: hwin = hwin_turnoverSlot13; break;
|
|
|
|
|
case 14: hwin = hwin_turnoverSlot14; break;
|
|
|
|
|
case 15: hwin = hwin_turnoverSlot15; break;
|
|
|
|
|
case 16: hwin = hwin_turnoverSlot16; break;
|
|
|
|
|
case 17: hwin = hwin_turnoverSlot17; break;
|
|
|
|
|
case 18: hwin = hwin_turnoverSlot18; break;
|
|
|
|
|
case 19: hwin = hwin_turnoverSlot19; break;
|
|
|
|
|
case 20: hwin = hwin_turnoverSlot20; break;
|
|
|
|
|
case 21: hwin = hwin_turnoverSlot21; break;
|
|
|
|
|
case 22: hwin = hwin_turnoverSlot22; break;
|
|
|
|
|
case 23: hwin = hwin_turnoverSlot23; break;
|
|
|
|
|
case 24: hwin = hwin_turnoverSlot24; break;
|
|
|
|
|
case 25: hwin = hwin_turnoverSlot25; break;
|
|
|
|
|
case 26: hwin = hwin_turnoverSlot26; break;
|
|
|
|
|
case 27: hwin = hwin_turnoverSlot27; break;
|
|
|
|
|
case 28: hwin = hwin_turnoverSlot28; break;
|
|
|
|
|
case 29: hwin = hwin_turnoverSlot29; break;
|
|
|
|
|
case 30: hwin = hwin_turnoverSlot30; break;
|
|
|
|
|
case 31: hwin = hwin_turnoverSlot31; break;
|
|
|
|
|
case 32: hwin = hwin_turnoverSlot32; break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (hwin != null)
|
|
|
|
|
{
|
|
|
|
|
hwin.ClearWindow();
|
|
|
|
|
if (arg2)
|
|
|
|
|
if (GlobalVar.EnableRefreshImageUI)
|
|
|
|
|
{
|
|
|
|
|
HWindow_Final hwin = null;
|
|
|
|
|
switch (matchResult.SlotIndex)
|
|
|
|
|
{
|
|
|
|
|
case 1: hwin = hwin_turnoverSlot1; break;
|
|
|
|
|
case 2: hwin = hwin_turnoverSlot2; break;
|
|
|
|
|
case 3: hwin = hwin_turnoverSlot3; break;
|
|
|
|
|
case 4: hwin = hwin_turnoverSlot4; break;
|
|
|
|
|
case 5: hwin = hwin_turnoverSlot5; break;
|
|
|
|
|
case 6: hwin = hwin_turnoverSlot6; break;
|
|
|
|
|
case 7: hwin = hwin_turnoverSlot7; break;
|
|
|
|
|
case 8: hwin = hwin_turnoverSlot8; break;
|
|
|
|
|
case 9: hwin = hwin_turnoverSlot9; break;
|
|
|
|
|
case 10: hwin = hwin_turnoverSlot10; break;
|
|
|
|
|
case 11: hwin = hwin_turnoverSlot11; break;
|
|
|
|
|
case 12: hwin = hwin_turnoverSlot12; break;
|
|
|
|
|
case 13: hwin = hwin_turnoverSlot13; break;
|
|
|
|
|
case 14: hwin = hwin_turnoverSlot14; break;
|
|
|
|
|
case 15: hwin = hwin_turnoverSlot15; break;
|
|
|
|
|
case 16: hwin = hwin_turnoverSlot16; break;
|
|
|
|
|
case 17: hwin = hwin_turnoverSlot17; break;
|
|
|
|
|
case 18: hwin = hwin_turnoverSlot18; break;
|
|
|
|
|
case 19: hwin = hwin_turnoverSlot19; break;
|
|
|
|
|
case 20: hwin = hwin_turnoverSlot20; break;
|
|
|
|
|
case 21: hwin = hwin_turnoverSlot21; break;
|
|
|
|
|
case 22: hwin = hwin_turnoverSlot22; break;
|
|
|
|
|
case 23: hwin = hwin_turnoverSlot23; break;
|
|
|
|
|
case 24: hwin = hwin_turnoverSlot24; break;
|
|
|
|
|
case 25: hwin = hwin_turnoverSlot25; break;
|
|
|
|
|
case 26: hwin = hwin_turnoverSlot26; break;
|
|
|
|
|
case 27: hwin = hwin_turnoverSlot27; break;
|
|
|
|
|
case 28: hwin = hwin_turnoverSlot28; break;
|
|
|
|
|
case 29: hwin = hwin_turnoverSlot29; break;
|
|
|
|
|
case 30: hwin = hwin_turnoverSlot30; break;
|
|
|
|
|
case 31: hwin = hwin_turnoverSlot31; break;
|
|
|
|
|
case 32: hwin = hwin_turnoverSlot32; break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (hwin != null)
|
|
|
|
|
{
|
|
|
|
|
if (matchResult.ScanBarCodeOK)
|
|
|
|
|
hwin.ClearWindow();
|
|
|
|
|
if (arg2)
|
|
|
|
|
{
|
|
|
|
|
string SN = matchResult.SN;
|
|
|
|
|
hwin.HobjectToHimage(matchResult.SourceImage);
|
|
|
|
|
HOperatorSet.GetImageSize(matchResult.SourceImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"sn:{SN}", h-200, 20, "green");
|
|
|
|
|
if (matchResult.ScanBarCodeOK)
|
|
|
|
|
{
|
|
|
|
|
string SN = matchResult.SN;
|
|
|
|
|
hwin.HobjectToHimage(matchResult.SourceImage);
|
|
|
|
|
HOperatorSet.GetImageSize(matchResult.SourceImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, $"sn:{SN}", h - 200, 20, "green");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
hwin.HobjectToHimage(matchResult.SourceImage);
|
|
|
|
|
HOperatorSet.GetImageSize(matchResult.SourceImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "NG", h - 200, 20, "red");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
hwin.HobjectToHimage(matchResult.SourceImage);
|
|
|
|
|
HOperatorSet.GetImageSize(matchResult.SourceImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "NG", h-200, 20, "red");
|
|
|
|
|
//加载默认图片
|
|
|
|
|
hwin.HobjectToHimage(defaultImage);
|
|
|
|
|
HOperatorSet.GetImageSize(defaultImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "no product", h - 200, 20, "red");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//加载默认图片
|
|
|
|
|
hwin.HobjectToHimage(defaultImage);
|
|
|
|
|
HOperatorSet.GetImageSize(defaultImage, out HTuple w, out HTuple h);
|
|
|
|
|
HalconTool.DispMessage(hwin.hWindowControl.HalconWindow, "no product", h-200, 20, "red");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnWholeHome_Load(object sender, EventArgs e)
|
|
|
|
|