Commit a859c3a1 张东亮

左侧放料检查问题修改

1 个父辈 fe52978a
...@@ -43,6 +43,7 @@ namespace DeviceLibrary ...@@ -43,6 +43,7 @@ namespace DeviceLibrary
/// 料盘高度 /// 料盘高度
/// </summary> /// </summary>
public int PlateH { get; set; } public int PlateH { get; set; }
public int PlwHight { get; set; }
/// <summary> /// <summary>
/// 料盘宽度 /// 料盘宽度
/// </summary> /// </summary>
......
...@@ -58,11 +58,16 @@ namespace DeviceLibrary ...@@ -58,11 +58,16 @@ namespace DeviceLibrary
} }
bool checkReelIsPutOk(int curPos) bool checkReelIsPutOk(int curPos)
{ {
if ((RightMoveInfo.MoveStep >= MoveStep.R12_ShelfNoTray) || RightMoveInfo.MoveStep == MoveStep.Wait)//无料盘.空料串时定位信号不亮
{
LeftMoveInfo.log("右侧已无料盘,该盘为最后一盘,不检测");
return true;
}
bool enableCheck = ConfigHelper.Config.Get("左侧料盘放料串检查是否启用", true); bool enableCheck = ConfigHelper.Config.Get("左侧料盘放料串检查是否启用", true);
if (enableCheck) if (enableCheck)
{ {
var aixH = 1f * Math.Abs(_leftBatchAxisPositionWhileTrayCheck - curPos) / Config.Left_Batch_ChangeValue; var aixH = 1f * Math.Abs(_leftBatchAxisPositionWhileTrayCheck - curPos) / Config.Left_Batch_ChangeValue;
int plateH = LeftMoveInfo.MoveParam.PlateH == 0 ? PlwHight / Config.Right_Batch_ChangeValue:LeftMoveInfo.MoveParam.PlateH; float plateH = Math.Max(LeftMoveInfo.MoveParam.PlwHight / Config.Right_Batch_ChangeValue, LeftMoveInfo.MoveParam.PlateH);
var canErrorMM = ConfigHelper.Config.Get("左侧料盘放料串检查厚度最大偏差值", 5); var canErrorMM = ConfigHelper.Config.Get("左侧料盘放料串检查厚度最大偏差值", 5);
if (Math.Abs(aixH - plateH) <= canErrorMM) if (Math.Abs(aixH - plateH) <= canErrorMM)
{ {
...@@ -107,14 +112,18 @@ namespace DeviceLibrary ...@@ -107,14 +112,18 @@ namespace DeviceLibrary
case MoveStep.L03: case MoveStep.L03:
LeftMoveInfo.NextMoveStep(MoveStep.L04); LeftMoveInfo.NextMoveStep(MoveStep.L04);
int targetP1 = Left_Batch_Axis.GetAclPosition() - ConfigHelper.Config.Get("LeftAxisDownValue", 50) * Config.Left_Batch_ChangeValue; int targetP1 = Left_Batch_Axis.GetAclPosition() - ConfigHelper.Config.Get("LeftAxisDownValue", 50) * Config.Left_Batch_ChangeValue;
int currpoint = Left_Batch_Axis.GetAclPosition();
if (PlwHight > 5000) if (PlwHight > 5000)
{ {
int currpoint = Left_Batch_Axis.GetAclPosition();
int countPleHight = PlwHight / Config.Right_Batch_ChangeValue * Config.Left_Batch_ChangeValue; int countPleHight = PlwHight / Config.Right_Batch_ChangeValue * Config.Left_Batch_ChangeValue;
targetP1 = currpoint - countPleHight + 5000; var target = currpoint - countPleHight + 5000;
if (target < targetP1)
{
targetP1 = target;
LeftMoveInfo.MoveParam.PlateH = countPleHight / Config.Left_Batch_ChangeValue; LeftMoveInfo.MoveParam.PlateH = countPleHight / Config.Left_Batch_ChangeValue;
LeftMoveInfo.log($"出料提升机构,获取到料盘高度脉冲{PlwHight},当前位置{currpoint},计算盘高{LeftMoveInfo.MoveParam.PlateH}"); LeftMoveInfo.log($"出料提升机构,获取到料盘高度脉冲{PlwHight},当前位置{currpoint},计算盘高{LeftMoveInfo.MoveParam.PlateH}");
} }
}
int targetSpeed = Config.Left_Batch_P1_speed; int targetSpeed = Config.Left_Batch_P1_speed;
if (targetP1 <= 0) if (targetP1 <= 0)
{ {
...@@ -181,8 +190,21 @@ namespace DeviceLibrary ...@@ -181,8 +190,21 @@ namespace DeviceLibrary
LeftMoveInfo.log($"批量轴上升到P2位置,LeftStartMovePosition={LeftStartMovePosition}"); LeftMoveInfo.log($"批量轴上升到P2位置,LeftStartMovePosition={LeftStartMovePosition}");
break; break;
case MoveStep.L13: case MoveStep.L13:
bool enableCheck = ConfigHelper.Config.Get("左侧料盘放料串检查是否启用", true);
if (enableCheck)
{
//等待右侧测高完成
if ((RightMoveInfo.MoveStep > MoveStep.R04 && RightMoveInfo.MoveStep <= MoveStep.R10_WaitReelLeave) || RightMoveInfo.MoveStep == MoveStep.Wait)//测高完成
{
LeftMoveInfo.MoveParam.PlwHight = PlwHight;
LeftMoveInfo.log($"右侧测高完成:PlwHight={PlwHight}");
}
else
{
return;
}
}
var curPos = Left_Batch_Axis.GetAclPosition(); var curPos = Left_Batch_Axis.GetAclPosition();
//判断当前料盘是否放到料串上 //判断当前料盘是否放到料串上
if (checkReelIsPutOk(curPos)) if (checkReelIsPutOk(curPos))
{ {
...@@ -213,6 +235,11 @@ namespace DeviceLibrary ...@@ -213,6 +235,11 @@ namespace DeviceLibrary
LeftMoveInfo.log($"批量轴重新上升到P2位置,LeftStartMovePosition={LeftStartMovePosition}"); LeftMoveInfo.log($"批量轴重新上升到P2位置,LeftStartMovePosition={LeftStartMovePosition}");
break; break;
case MoveStep.L16: case MoveStep.L16:
if (RightMoveInfo.MoveStep == MoveStep.Wait || RightShelfNoTray)
{
PlwHight = 0;
LeftMoveInfo.log($"右侧无料盘,PlwHight={PlwHight}");
}
LeftBatchAxisPositionWhileTrayCheck = Left_Batch_Axis.GetAclPosition(); LeftBatchAxisPositionWhileTrayCheck = Left_Batch_Axis.GetAclPosition();
LeftMoveInfo.NextMoveStep(MoveStep.L20_WaitLabel); LeftMoveInfo.NextMoveStep(MoveStep.L20_WaitLabel);
break; break;
...@@ -413,26 +440,26 @@ namespace DeviceLibrary ...@@ -413,26 +440,26 @@ namespace DeviceLibrary
/// <summary> /// <summary>
/// 下降固定值 /// 下降固定值
/// </summary> /// </summary>
void LeftBatchAxisDown() //void LeftBatchAxisDown()
{ //{
int targetP1 = Left_Batch_Axis.GetAclPosition() - ConfigHelper.Config.Get("LeftAxisDownValue", 50) * Config.Left_Batch_ChangeValue; // int targetP1 = Left_Batch_Axis.GetAclPosition() - ConfigHelper.Config.Get("LeftAxisDownValue", 50) * Config.Left_Batch_ChangeValue;
if (PlwHight > 5000) // if (PlwHight > 5000)
{ // {
int currpoint = Left_Batch_Axis.GetAclPosition(); // int currpoint = Left_Batch_Axis.GetAclPosition();
int countPleHight = PlwHight / Config.Right_Batch_ChangeValue * Config.Left_Batch_ChangeValue; // int countPleHight = PlwHight / Config.Right_Batch_ChangeValue * Config.Left_Batch_ChangeValue;
targetP1 = currpoint - countPleHight + 5000; // targetP1 = currpoint - countPleHight + 5000;
LeftMoveInfo.log($"出料提升机构,获取到料盘高度脉冲{PlwHight},当前位置{currpoint},计算盘高{countPleHight}"); // LeftMoveInfo.log($"出料提升机构,获取到料盘高度脉冲{PlwHight},当前位置{currpoint},计算盘高{countPleHight}");
} // }
int targetSpeed = Config.Left_Batch_P1_speed; // int targetSpeed = Config.Left_Batch_P1_speed;
if (targetP1 <= 0) // if (targetP1 <= 0)
{ // {
LeftMoveInfo.log("出料提升机构,下降固定值小于0,设置回到0原点。"); // LeftMoveInfo.log("出料提升机构,下降固定值小于0,设置回到0原点。");
targetP1 = 0; // targetP1 = 0;
} // }
LeftMoveInfo.log($"出料提升机构,下降固定值为{targetP1}脉冲!"); // LeftMoveInfo.log($"出料提升机构,下降固定值为{targetP1}脉冲!");
Left_Batch_Axis.AbsMove(LeftMoveInfo, targetP1, targetSpeed); // Left_Batch_Axis.AbsMove(LeftMoveInfo, targetP1, targetSpeed);
} //}
/// <summary> /// <summary>
/// 下降在上升以后,上升指定阈值,防止感应器失效 /// 下降在上升以后,上升指定阈值,防止感应器失效
......
...@@ -26,7 +26,7 @@ namespace DeviceLibrary ...@@ -26,7 +26,7 @@ namespace DeviceLibrary
//如果右侧可取料那么那么移动轴到p2点,夹爪释放。获取右侧的标签信息,右侧标签信息复位,否则等待 //如果右侧可取料那么那么移动轴到p2点,夹爪释放。获取右侧的标签信息,右侧标签信息复位,否则等待
if (RightMoveInfo.MoveStep == MoveStep.R10_WaitReelLeave) if (RightMoveInfo.MoveStep == MoveStep.R10_WaitReelLeave)
{ {
PlwHight = 0; //PlwHight = 0;
MiddleMoveInfo.NextMoveStep(MoveStep.M02); MiddleMoveInfo.NextMoveStep(MoveStep.M02);
Take_Middle_Axis.AbsMove(MiddleMoveInfo, Config.Take_Middle_P2, Config.Take_Middle_P2_speed); Take_Middle_Axis.AbsMove(MiddleMoveInfo, Config.Take_Middle_P2, Config.Take_Middle_P2_speed);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P2, Config.Take_UpDown_P2_speed); Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P2, Config.Take_UpDown_P2_speed);
...@@ -83,12 +83,12 @@ namespace DeviceLibrary ...@@ -83,12 +83,12 @@ namespace DeviceLibrary
{ {
if (MiddleMoveInfo.MoveParam.IsNg) if (MiddleMoveInfo.MoveParam.IsNg)
{ {
Msg.add(crc.GetString("Res0096","抓料失败请手动处理,请将料盘放入:NG箱,按右侧按钮继续"), MsgLevel.alarm); Msg.add(crc.GetString("Res0096", "抓料失败请手动处理,请将料盘放入:NG箱,按右侧按钮继续"), MsgLevel.alarm);
MiddleMoveInfo.log("抓料失败请手动处理,请将料盘放入:NG箱,按右侧按钮继续"); MiddleMoveInfo.log("抓料失败请手动处理,请将料盘放入:NG箱,按右侧按钮继续");
} }
else else
{ {
Msg.add(crc.GetString("Res0097","抓料失败请手动处理,请将料盘放入: 左侧料串,按右侧按钮继续"), MsgLevel.alarm); Msg.add(crc.GetString("Res0097", "抓料失败请手动处理,请将料盘放入: 左侧料串,按右侧按钮继续"), MsgLevel.alarm);
MiddleMoveInfo.log("抓料失败请手动处理,请将料盘放入: 左侧料串,按右侧按钮继续"); MiddleMoveInfo.log("抓料失败请手动处理,请将料盘放入: 左侧料串,按右侧按钮继续");
} }
...@@ -137,7 +137,7 @@ namespace DeviceLibrary ...@@ -137,7 +137,7 @@ namespace DeviceLibrary
Msg.add(msg, MsgLevel.info); Msg.add(msg, MsgLevel.info);
} }
//左侧空闲,等待贴标流程为打印标签,复制信息给标签流程,进入下一步,移动旋转轴到p3 //左侧空闲,等待贴标流程为打印标签,复制信息给标签流程,进入下一步,移动旋转轴到p3
else if(LeftMoveInfo.MoveStep == MoveStep.L10_WaitReelPut) else if (LeftMoveInfo.MoveStep == MoveStep.L10_WaitReelPut)
{ {
if (clampTool.IsClamp()) if (clampTool.IsClamp())
{ {
...@@ -183,6 +183,18 @@ namespace DeviceLibrary ...@@ -183,6 +183,18 @@ namespace DeviceLibrary
break; break;
//z轴到p4 //z轴到p4
case MoveStep.M08: case MoveStep.M08:
MiddleMoveInfo.NextMoveStep(MoveStep.M08_01);
if (MiddleMoveInfo.MoveParam.PlateW > 7)
{
MiddleMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1500));
MiddleMoveInfo.log($"尺寸:{MiddleMoveInfo.MoveParam.PlateW},停留1500ms");
}
else
{
MiddleMoveInfo.log($"尺寸:{MiddleMoveInfo.MoveParam.PlateW},不停留");
}
break;
case MoveStep.M08_01:
MiddleMoveInfo.NextMoveStep(MoveStep.M09); MiddleMoveInfo.NextMoveStep(MoveStep.M09);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P4, Config.Take_UpDown_P4_speed); Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P4, Config.Take_UpDown_P4_speed);
MiddleMoveInfo.log("左侧允许放料,上下轴到P4"); MiddleMoveInfo.log("左侧允许放料,上下轴到P4");
...@@ -202,7 +214,7 @@ namespace DeviceLibrary ...@@ -202,7 +214,7 @@ namespace DeviceLibrary
MiddleMoveInfo.NextMoveStep(MoveStep.M09); MiddleMoveInfo.NextMoveStep(MoveStep.M09);
MiddleMoveInfo.log("等待夹爪放松"); MiddleMoveInfo.log("等待夹爪放松");
} }
Msg.add(crc.GetString("Res0050","等待夹爪放松"), MsgLevel.info); Msg.add(crc.GetString("Res0050", "等待夹爪放松"), MsgLevel.info);
break; break;
//待机流程 //待机流程
case MoveStep.M10: case MoveStep.M10:
...@@ -217,20 +229,21 @@ namespace DeviceLibrary ...@@ -217,20 +229,21 @@ namespace DeviceLibrary
break; break;
//NG流程 //NG流程
case MoveStep.M20_ToNgBox: case MoveStep.M20_ToNgBox:
if (PlwHight > 65*1000) if (PlwHight > 65 * 1000)
{ {
Msg.add(crc.GetString("Res0166.2bf72810","NG物料厚度超过72mm无法放入NG箱"), MsgLevel.alarm); Msg.add(crc.GetString("Res0166.2bf72810", "NG物料厚度超过72mm无法放入NG箱"), MsgLevel.alarm);
} }
else if (PlwHight>0) { else if (PlwHight > 0)
{
MiddleMoveInfo.NextMoveStep(MoveStep.M20_1_ToNgBox); MiddleMoveInfo.NextMoveStep(MoveStep.M20_1_ToNgBox);
Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P1, Config.Take_UpDown_P1_speed); Take_UpDown_Axis.AbsMove(MiddleMoveInfo, Config.Take_UpDown_P1, Config.Take_UpDown_P1_speed);
MiddleMoveInfo.log("NG时上下轴转到P1"); MiddleMoveInfo.log("NG时上下轴转到P1");
} }
else else
{ {
Msg.add(crc.GetString("Res0182.2def73c9","NG物料, 等待测高"), MsgLevel.info); Msg.add(crc.GetString("Res0182.2def73c9", "NG物料, 等待测高"), MsgLevel.info);
MiddleMoveInfo.log("NG物料, 等待测高"); MiddleMoveInfo.log("NG物料, 等待测高");
} }
break; break;
...@@ -263,7 +276,7 @@ namespace DeviceLibrary ...@@ -263,7 +276,7 @@ namespace DeviceLibrary
MiddleMoveInfo.NextMoveStep(MoveStep.M22); MiddleMoveInfo.NextMoveStep(MoveStep.M22);
MiddleMoveInfo.log("等待夹爪放松"); MiddleMoveInfo.log("等待夹爪放松");
} }
Msg.add(crc.GetString("Res0050","等待夹爪放松"), MsgLevel.info); Msg.add(crc.GetString("Res0050", "等待夹爪放松"), MsgLevel.info);
break; break;
case MoveStep.M23: case MoveStep.M23:
MiddleMoveInfo.NextMoveStep(MoveStep.M_ReturnToP1); MiddleMoveInfo.NextMoveStep(MoveStep.M_ReturnToP1);
...@@ -288,12 +301,13 @@ namespace DeviceLibrary ...@@ -288,12 +301,13 @@ namespace DeviceLibrary
return 7; return 7;
} }
string MiddleState() { string MiddleState()
{
string state = ""; string state = "";
if (MiddleMoveInfo.MoveStep == MoveStep.M_Standby || MiddleMoveInfo.MoveStep == MoveStep.Wait) if (MiddleMoveInfo.MoveStep == MoveStep.M_Standby || MiddleMoveInfo.MoveStep == MoveStep.Wait)
state += crc.GetString("Res0074","等待中"); state += crc.GetString("Res0074", "等待中");
else else
state += crc.GetString("Res0045","当前ReelID:") + MiddleMoveInfo.MoveParam.WareCode; state += crc.GetString("Res0045", "当前ReelID:") + MiddleMoveInfo.MoveParam.WareCode;
return state; return state;
} }
......
...@@ -222,11 +222,11 @@ namespace DeviceLibrary ...@@ -222,11 +222,11 @@ namespace DeviceLibrary
{ {
if (IsHomeMove) if (IsHomeMove)
{ {
return "轴【" + AxisInfo.DisplayStr + "】原点返回"; return "【" + AxisInfo.DisplayStr + "】"+crc.GetString("AxisMoveControl_groupAxis_panel1_btnAxisReturnHome_Text","原点返回");
} }
else else
{ {
return "【" + AxisInfo.DisplayStr + "】绝对运动,目标位置【" + TargetPosition + "】"; return "【" + AxisInfo.DisplayStr + "】绝对运动,目标位置【" + TargetPosition + "】";
} }
} }
else if (WaitType.Equals(WaitEnum.W002_IOValue)) else if (WaitType.Equals(WaitEnum.W002_IOValue))
......
...@@ -99,6 +99,7 @@ namespace DeviceLibrary ...@@ -99,6 +99,7 @@ namespace DeviceLibrary
M07, M07,
M_ReturnToP1, M_ReturnToP1,
M08, M08,
M08_01,
M09, M09,
M10, M10,
M20_ToNgBox, M20_ToNgBox,
......
...@@ -125,7 +125,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -125,7 +125,7 @@ namespace OnlineStore.LoadCSVLibrary
{ {
get get
{ {
return Explain + "(" + ProName + ")"; return crc.GetString(ProName, "Explain") + "(" + ProName + ")";
} }
set set
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!