|
|
|
@ -159,44 +159,50 @@ namespace Rs.MotionPlat.Flow.SubFlow
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EStockPlaceFlowStep.料仓穴位拍照:
|
|
|
|
|
VisionHelper.trayLocationVision.ClearQueue();
|
|
|
|
|
UpCameraHelper.Grab();
|
|
|
|
|
VisionResult vr = VisionHelper.Grab(Vision.EVisionScene.TrayLocation);
|
|
|
|
|
if((vr!=null && vr.Result) || GlobalVar.RunSpace)
|
|
|
|
|
if(VisionHelper.trayLocationVision.ClearQueue())
|
|
|
|
|
{
|
|
|
|
|
if(GlobalVar.RunSpace)
|
|
|
|
|
UpCameraHelper.Grab();
|
|
|
|
|
VisionResult vr = VisionHelper.Grab(Vision.EVisionScene.TrayLocation);
|
|
|
|
|
if ((vr != null && vr.Result) || GlobalVar.RunSpace)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EStockPlaceFlowStep.到料仓放料位上方;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
curNozzle = NozzleManager.GetNozzle(nozzleIndex);
|
|
|
|
|
slotOffsetX = vr.OffsetX;
|
|
|
|
|
slotOffsetY = vr.OffsetY;
|
|
|
|
|
string sn = "";
|
|
|
|
|
if (curNozzle != null && curNozzle.Product != null && !string.IsNullOrEmpty(curNozzle.Product.SN))
|
|
|
|
|
{
|
|
|
|
|
sn = curNozzle.Product.SN;
|
|
|
|
|
}
|
|
|
|
|
string title = "index,sn,offsetx,offsety,time\r\n";
|
|
|
|
|
string content = $"{slotIndex},{sn},{slotOffsetX},{slotOffsetY},{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff")}\r\n";
|
|
|
|
|
string dataDir = $"d://data/placestock//{DateTime.Now.ToString("yyyy-MM-dd")}";
|
|
|
|
|
if (!Directory.Exists(dataDir))
|
|
|
|
|
if (GlobalVar.RunSpace)
|
|
|
|
|
{
|
|
|
|
|
Directory.CreateDirectory(dataDir);
|
|
|
|
|
flowStep = EStockPlaceFlowStep.到料仓放料位上方;
|
|
|
|
|
}
|
|
|
|
|
string dataFilePath = $"{dataDir}//{GlobalVar.LotName}_{trayType}.csv";
|
|
|
|
|
if (!File.Exists(dataFilePath))
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
File.AppendAllText(dataFilePath, title);
|
|
|
|
|
curNozzle = NozzleManager.GetNozzle(nozzleIndex);
|
|
|
|
|
slotOffsetX = vr.OffsetX;
|
|
|
|
|
slotOffsetY = vr.OffsetY;
|
|
|
|
|
string sn = "";
|
|
|
|
|
if (curNozzle != null && curNozzle.Product != null && !string.IsNullOrEmpty(curNozzle.Product.SN))
|
|
|
|
|
{
|
|
|
|
|
sn = curNozzle.Product.SN;
|
|
|
|
|
}
|
|
|
|
|
string title = "index,sn,offsetx,offsety,time\r\n";
|
|
|
|
|
string content = $"{slotIndex},{sn},{slotOffsetX},{slotOffsetY},{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff")}\r\n";
|
|
|
|
|
string dataDir = $"d://data/placestock//{DateTime.Now.ToString("yyyy-MM-dd")}";
|
|
|
|
|
if (!Directory.Exists(dataDir))
|
|
|
|
|
{
|
|
|
|
|
Directory.CreateDirectory(dataDir);
|
|
|
|
|
}
|
|
|
|
|
string dataFilePath = $"{dataDir}//{GlobalVar.LotName}_{trayType}.csv";
|
|
|
|
|
if (!File.Exists(dataFilePath))
|
|
|
|
|
{
|
|
|
|
|
File.AppendAllText(dataFilePath, title);
|
|
|
|
|
}
|
|
|
|
|
File.AppendAllText(dataFilePath, content);
|
|
|
|
|
flowStep = EStockPlaceFlowStep.到料仓放料位上方;
|
|
|
|
|
}
|
|
|
|
|
File.AppendAllText(dataFilePath, content);
|
|
|
|
|
flowStep = EStockPlaceFlowStep.到料仓放料位上方;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Msgbox.ShowTipDialog(EButtonType.Retry, "stock slot location fail", "", true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Msgbox.ShowTipDialog(EButtonType.Retry, "stock slot location fail", "", true);
|
|
|
|
|
Msgbox.Show("send C to vision fail", EButtonType.Recheck);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case EStockPlaceFlowStep.到料仓放料位上方:
|
|
|
|
|