优化排料、周转流程

master
lhiven 2 years ago
parent 7be5f1319f
commit 045c14a5ed

@ -207,8 +207,9 @@ namespace Rs.MotionPlat.Flow.Camera
out HTuple row, out HTuple column, out HTuple angle, out HTuple score);
if (score.Length > 0)
{
vr.OffsetX = column;
vr.OffsetY = row;
vr.OffsetX = column-upCameraScanBarCodeModel.ModelMatchResult[1] * GlobalVar.UpCameraMmPerPixel;
vr.OffsetY = row- upCameraScanBarCodeModel.ModelMatchResult[0] * GlobalVar.UpCameraMmPerPixel;
vr.OffsetR = AngleTool.Rad2Deg((angle - upCameraScanBarCodeModel.ModelMatchResult[2]));
vr.SourceImage = image;
vr.SearchModelOK = true;
}

@ -25,6 +25,11 @@ namespace Rs.MotionPlat.Flow.Camera
/// 偏移量Y
/// </summary>
public double OffsetY { get; set; } = 0;
/// <summary>
/// 偏移量R
/// </summary>
public double OffsetR { get; set; } = 0;
/// <summary>
/// 扫码是否OK
/// </summary>

@ -1287,7 +1287,7 @@ namespace Rs.MotionPlat.Flow
{
if(curNozzle.ToType== TurnoverType.Turnover)
{
if (LoadAndUnloadTask.Instance.GetUndealedLoadToTurnoverTask().Count == 0)
if (LoadAndUnloadTask.Instance.GetUndealedLoadToTurnoverTask().Count == 0 && !GlobalVar.VirtualAxis)
{
//没有需要给周转盘上料的任务后,就开始上相机扫码
//判断周转盘第一行有没有产品,如果有产品则拍第一行

@ -1457,117 +1457,10 @@ namespace Rs.MotionPlat.Flow
public bool UnloadFinished()
{ return unloadOk; }
public void PressLoad(List<TurnoverInfo> taskList)
{
slots.Clear();
foreach(var slot in taskList)
{
slots.Add(slot.FromIndex+1);
}
pressLoad = true;
loadOk= false;
}
/// <summary>
/// 周转盘真空吸检测
/// </summary>
/// <returns></returns>
public List<int> TurnoverTrayVacCheck()
{
List<int> result = new List<int>();
foreach (var slot in slots)
{
if (!Ops.IsOn($"周转盘{slot+8}号穴位真空吸检测"))
{
result.Add(slot+8);
}
}
return result;
}
/// <summary>
/// 测试穴位真空吸检测
/// </summary>
/// <returns></returns>
public List<int> TestVacCheck()
{
List<int> result = new List<int>();
foreach (var slot in slots)
{
if (!Ops.IsOn($"测试{slot}号穴位真空吸检测"))
{
result.Add(slot);
}
}
return result;
}
public void PressUnload(List<TurnoverInfo> taskList)
{
slots.Clear();
foreach (var item in taskList)
{
slots.Add(item.FromIndex+1);
}
pressUnload = true;
unloadOk= false;
}
/// <summary>
/// 吸嘴真空吸检测
/// </summary>
/// <returns></returns>
List<int> CheckNozzleVac()
{
List<int> ngList = new List<int>();
//周转1号吸嘴真空吸检测
foreach (var slot in slots)
{
if (!Ops.IsOn($"周转{slot}号吸嘴真空吸检测"))
{
ngList.Add(slot);
}
}
return ngList;
}
void OpenNozzleVac()
{
foreach (var slot in slots)
{
Ops.On($"周转{slot}号吸嘴真空吸");
}
}
void CloseNozzleVac()
{
foreach (var slot in slots)
{
Ops.Off($"周转{slot}号吸嘴真空吸");
}
}
void OpenTurnoverTrayVac()
{
foreach (var slot in slots)
{
Ops.On($"周转盘{slot}号穴位真空吸");
}
}
void CloseTurnoverTrayVac()
{
foreach (var slot in slots)
{
Ops.Off($"周转盘{slot}号穴位真空吸");
}
}
void ClosePressVac()
public string GetStep()
{
//foreach (var slot in slots)
//{
// Ops.Off($"测试{slot}号穴位真空吸");
//}
return Step.ToString();
}
}

Loading…
Cancel
Save