1、增加Input料仓取料失败自动跳过功能。

2、增加Input料盘取料完成搬运到Empty前报警检查是否有产品。
3、运动前增加对 “上下料光源上(原位)”的检测,原位不亮则设备停止。
develop
lhiven 2 weeks ago
parent cc0d00201d
commit f630ddeaa6

@ -22,6 +22,19 @@ namespace Rs.Framework
{
#region newpro
/// <summary>
/// 料仓取料拍照失败自动跳过
/// </summary>
[ParameterInit("bool", "true", "system", "料仓取料拍照失败自动跳过")]
public static bool BinTakeGrabFailSkip
{
get
{
return SysConfigParam.GetValue<bool>(nameof(BinTakeGrabFailSkip));
}
}
/// <summary>
/// 料仓取料失败是否跳过
/// </summary>

@ -490,33 +490,46 @@ namespace Rs.MotionPlat.Flow
}
else if (fixtureret != null && fixtureret.Result == EOneGrabSixteenResult.Slant)
{
//报警弹框
alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(ret.SlotIndex);
EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Skip | EButtonType.Retry | EButtonType.EndInput, true);
//EButtonType buttonSelect = Msgbox.ShowDialog(EButtonType.Skip | EButtonType.Retry | EButtonType.EndInput, $"穴位{ret.SlotIndex}定位失败,请把产品手动取走后点击跳过","tip",true);
if (buttonSelect == EButtonType.Retry)
if(GlobalVar.BinTakeGrabFailSkip)
{
logInfo = GetClassName() + "选择了重试";
MessageQueue.Instance.Insert(logInfo);
}
else if (buttonSelect == EButtonType.Skip)
{
logInfo = GetClassName() + "选择了跳过";
logInfo = GetClassName() + "系统设置了取料拍照失败自动跳过";
MessageQueue.Instance.Insert(logInfo);
exit = true;
GlobalTray.InputTray.ChangeStatus(ret.SlotIndex, ESlotStatus.NotHave);
//GlobalTray.InputTray.ChangeStatus(ret.SlotIndex, ESlotStatus.NotHave);
takeSlotIndex++;
flowStep = EDischargeFlowStep.;
}
else if (buttonSelect == EButtonType.EndInput)
else
{
logInfo = GetClassName() + "选择了结束上料";
MessageQueue.Instance.Insert(logInfo);
exit = true;
GlobalVar.Clear = true;
takeSlotIndex++;
flowStep = EDischargeFlowStep.;
//报警弹框
alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(ret.SlotIndex);
EButtonType buttonSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.Skip | EButtonType.Retry | EButtonType.EndInput, true);
//EButtonType buttonSelect = Msgbox.ShowDialog(EButtonType.Skip | EButtonType.Retry | EButtonType.EndInput, $"穴位{ret.SlotIndex}定位失败,请把产品手动取走后点击跳过","tip",true);
if (buttonSelect == EButtonType.Retry)
{
logInfo = GetClassName() + "选择了重试";
MessageQueue.Instance.Insert(logInfo);
}
else if (buttonSelect == EButtonType.Skip)
{
logInfo = GetClassName() + "选择了跳过";
MessageQueue.Instance.Insert(logInfo);
exit = true;
GlobalTray.InputTray.ChangeStatus(ret.SlotIndex, ESlotStatus.NotHave);
takeSlotIndex++;
flowStep = EDischargeFlowStep.;
}
else if (buttonSelect == EButtonType.EndInput)
{
logInfo = GetClassName() + "选择了结束上料";
MessageQueue.Instance.Insert(logInfo);
exit = true;
GlobalVar.Clear = true;
takeSlotIndex++;
flowStep = EDischargeFlowStep.;
}
}
}
//else if (fixtureret.Result == EOneGrabSixteenResult.NoHaveProdut)
//{

@ -32,12 +32,12 @@ namespace Rs.MotionPlat.Flow
AxisControl.LoadX.FunSafeCheck += LoadX_FunSafeCheck;
}
if (AxisControl.LoadX != null)
if (AxisControl.LoadY1 != null)
{
AxisControl.LoadY1.FunSafeCheck += LoadY_FunSafeCheck;
}
if (AxisControl.LoadX != null)
if (AxisControl.LoadY2 != null)
{
AxisControl.LoadY2.FunSafeCheck += LoadY_FunSafeCheck;
}
@ -95,6 +95,11 @@ namespace Rs.MotionPlat.Flow
}
}
if (Ops.IsOff("上下料光源上(原位)"))
{
MessageQueue.Instance.Warn($"上下料光源上(原位)不亮");
return false;
}
}
else
{
@ -122,7 +127,11 @@ namespace Rs.MotionPlat.Flow
return false;
}
}
if(Ops.IsOff("上下料光源上(原位)"))
{
MessageQueue.Instance.Warn($"上下料光源上(原位)不亮");
return false;
}
}
else
{

@ -865,7 +865,7 @@ namespace Rs.MotionPlat
StringBuilder msg = new StringBuilder();
//string reg = "[\\w,&,\\.]";
//string reg = "([a-z 0-9 A-Z]*_{0,1})";
string reg = "\\w";
string reg = "[a-z A-Z \\d \\- _]";
TextBox textBox = (TextBox)sender;
string text = textBox.Text;
char[] charData = text.ToCharArray();
@ -873,9 +873,9 @@ namespace Rs.MotionPlat
{
if (Regex.IsMatch(charData[i].ToString(), reg))
{
if(i>0 && charData[i]=='_')
if(i>0 && (charData[i]=='_' || charData[i]=='-'))
{
if (charData[i] != charData[i-1])
if (charData[i-1] != '_' && charData[i-1]!='-')
{
msg.Append(charData[i].ToString());
}

@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
[assembly: AssemblyVersion("20.25.35.1")]
[assembly: AssemblyVersion("20.25.37.1")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]

Loading…
Cancel
Save