Commit 50d16e46 LN

料仓出库和料串入库 放料到托盘 时,如果是大于7寸的料盘,夹爪放松后夹紧一次,再放松。

1 个父辈 20c16f74
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
3.启用托盘会清理托盘信息,需拿走托盘上的物料。 3.启用托盘会清理托盘信息,需拿走托盘上的物料。
4.有托盘被禁用时,发送报警信息到服务器。 4.有托盘被禁用时,发送报警信息到服务器。
5.料仓出库和料串入库 放料到托盘 时,如果是大于7寸的料盘,夹爪放松后夹紧一次,再放松。
20200225 20200225
1.托盘增加禁用功能,禁用的托盘可在(设备调试->查看禁用托盘)界面手动启用。 1.托盘增加禁用功能,禁用的托盘可在(设备调试->查看禁用托盘)界面手动启用。
2.进仓界面增加启用托盘检测的勾选配置。 2.进仓界面增加启用托盘检测的勾选配置。
......
...@@ -1162,11 +1162,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -1162,11 +1162,11 @@ namespace OnlineStore.DeviceLibrary
//前进后退气缸后退以后才可以出库 //前进后退气缸后退以后才可以出库
else if (move.runStatus.Equals(LineRunStatus.Busy) && move.MoveInfo.MoveType.Equals(LineMoveType.OutStore)) else if (move.runStatus.Equals(LineRunStatus.Busy) && move.MoveInfo.MoveType.Equals(LineMoveType.OutStore))
{ {
if (move.MoveInfo.MoveStep >= (LineMoveStep.MO_58_CylinderDown)) if (move.MoveInfo.MoveStep >= (LineMoveStep.MO_62_CylinderDown))
{ {
return true; return true;
} }
else if (move.MoveInfo.MoveStep.Equals(LineMoveStep.MO_57_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false) else if (move.MoveInfo.MoveStep.Equals(LineMoveStep.MO_61_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false)
&&move.CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After)) &&move.CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After))
{ {
return true; return true;
......
...@@ -170,7 +170,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -170,7 +170,7 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 移载装置,放物品到流水线操作 #region 移载装置,放物品到流水线操作
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_57_CylinderAfter)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_61_CylinderAfter))
{ {
if (CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After)) if (CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After))
{ {
...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
{ {
int trayNum = SecondMoveInfo.MoveParam.TrayNumber; int trayNum = SecondMoveInfo.MoveParam.TrayNumber;
//去掉直接丢盘处理 //去掉直接丢盘处理
MoveInfo.NextMoveStep(LineMoveStep.MO_58_CylinderDown); MoveInfo.NextMoveStep(LineMoveStep.MO_62_CylinderDown);
OutLog("出库 " + MoveInfo.SLog + ": 拦截到空托盘【" + trayNum + "】, 上下气缸下降 ,顶升气缸上升"); OutLog("出库 " + MoveInfo.SLog + ": 拦截到空托盘【" + trayNum + "】, 上下气缸下降 ,顶升气缸上升");
if (MoveInfo.MoveParam != null) if (MoveInfo.MoveParam != null)
{ {
...@@ -194,7 +194,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -194,7 +194,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_58_CylinderDown)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_62_CylinderDown))
{ {
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松 "); OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松 ");
int trayNum = MoveInfo.MoveParam.TrayNumber; int trayNum = MoveInfo.MoveParam.TrayNumber;
...@@ -206,17 +206,40 @@ namespace OnlineStore.DeviceLibrary ...@@ -206,17 +206,40 @@ namespace OnlineStore.DeviceLibrary
//出库全部完成 //出库全部完成
lineStatus = LineStatus.StoreOnline; lineStatus = LineStatus.StoreOnline;
MoveInfo.NextMoveStep(LineMoveStep.MO_59_CylinderRelax); MoveInfo.NextMoveStep(LineMoveStep.MO_63_CylinderRelax);
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Slack, IO_Type.ClampCylinder_Tighten); CylinderMove(MoveInfo, IO_Type.ClampCylinder_Slack, IO_Type.ClampCylinder_Tighten);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_59_CylinderRelax)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_63_CylinderRelax))
{ {
this.MoveInfo.NextMoveStep(LineMoveStep.MO_60_CylinderUp); if (MoveInfo.MoveParam.PlateW > 7)
{
this.MoveInfo.NextMoveStep(LineMoveStep.MO_64_CylinderWork);
OutLog("出库 " + MoveInfo.SLog + ": 夹紧气缸夹紧");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack);
}
else
{
this.MoveInfo.NextMoveStep(LineMoveStep.MO_66_CylinderUp);
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升,同时顶升气缸先下降");
UpdownUpMove();
CylinderMove(null, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down);
}
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_64_CylinderWork))
{
this.MoveInfo.NextMoveStep(LineMoveStep.MO_65_CylinderRelax2);
OutLog("出库 " + MoveInfo.SLog + ": 夹紧气缸再次放松");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Slack, IO_Type.ClampCylinder_Tighten);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_65_CylinderRelax2))
{
this.MoveInfo.NextMoveStep(LineMoveStep.MO_66_CylinderUp);
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升,同时顶升气缸先下降"); OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升,同时顶升气缸先下降");
UpdownUpMove(); UpdownUpMove();
CylinderMove(null, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down); CylinderMove(null, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_66_CylinderUp))
{ {
// 减去需要的盘数 // 减去需要的盘数
// TrayManager.DelNeedEmptyTrayNum(); // TrayManager.DelNeedEmptyTrayNum();
...@@ -239,7 +262,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -239,7 +262,7 @@ namespace OnlineStore.DeviceLibrary
} }
private void MO_57_CylinderAfter() private void MO_57_CylinderAfter()
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_57_CylinderAfter); MoveInfo.NextMoveStep(LineMoveStep.MO_61_CylinderAfter);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退"); OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After); CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
...@@ -542,9 +565,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -542,9 +565,9 @@ namespace OnlineStore.DeviceLibrary
} }
bool isFull = TrayManager.TrayIsFull(currTrayNum); bool isFull = TrayManager.TrayIsFull(currTrayNum);
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_55_CylinderUp) || MoveInfo.MoveStep >= LineMoveStep.MO_57_CylinderAfter; bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_55_CylinderUp) || MoveInfo.MoveStep >= LineMoveStep.MO_61_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp))) && (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_66_CylinderUp)))
{ {
if (isFull.Equals(false)) if (isFull.Equals(false))
{ {
...@@ -569,9 +592,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -569,9 +592,9 @@ namespace OnlineStore.DeviceLibrary
{ {
return false; return false;
} }
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_55_CylinderUp) || MoveInfo.MoveStep >= LineMoveStep.MO_57_CylinderAfter; bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_55_CylinderUp) || MoveInfo.MoveStep >= LineMoveStep.MO_61_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp))) && (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_66_CylinderUp)))
{ {
return true; return true;
} }
......
...@@ -494,7 +494,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -494,7 +494,7 @@ namespace OnlineStore.DeviceLibrary
//如果是进仓门口 夹紧 //如果是进仓门口 夹紧
if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Slack))) if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Slack)))
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(800));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
} }
else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Tighten))) else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Tighten)))
......
...@@ -383,20 +383,28 @@ namespace OnlineStore.DeviceLibrary ...@@ -383,20 +383,28 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 移栽装置出库处理。 前后气缸1后退 /// 移栽装置出库处理。 前后气缸1后退
/// </summary> /// </summary>
MO_57_CylinderAfter, MO_61_CylinderAfter,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,上下气缸1下降 /// 移载(流水线)装置出库处理,上下气缸1下降
/// </summary> /// </summary>
MO_58_CylinderDown, MO_62_CylinderDown,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,夹料气缸1放松 /// 移载(流水线)装置出库处理,夹放松
/// </summary> /// </summary>
MO_59_CylinderRelax, MO_63_CylinderRelax,
/// <summary>
/// 移载(流水线)装置出库处理,夹爪夹紧
/// </summary>
MO_64_CylinderWork,
/// <summary>
/// 移载(流水线)装置出库处理,夹爪放松
/// </summary>
MO_65_CylinderRelax2,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,上下气缸1上升 /// 移载(流水线)装置出库处理,上下气缸1上升
/// </summary> /// </summary>
MO_60_CylinderUp, MO_66_CylinderUp,
#region 入料模块,紧急出料移栽处理 #region 入料模块,紧急出料移栽处理
...@@ -751,74 +759,83 @@ namespace OnlineStore.DeviceLibrary ...@@ -751,74 +759,83 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
FI_27_CylinderRelax, FI_27_CylinderRelax,
/// <summary> /// <summary>
/// 料盘移栽: 上料气缸夹紧
/// </summary>
FI_28_CylinderWork,
/// <summary>
/// 料盘移栽: 上料气缸再次放松
/// </summary>
FI_29_CylinderRelax2,
/// <summary>
/// 料盘移栽: 上料横移机构上升 /// 料盘移栽: 上料横移机构上升
/// </summary> /// </summary>
FI_28_WaitCylinderUp, FI_30_WaitCylinderUp,
/// <summary> /// <summary>
/// 料盘移栽:上料横移机构上升,定位或者顶升可以先下降 /// 料盘移栽:上料横移机构上升,定位或者顶升可以先下降
/// </summary> /// </summary>
FI_29_CylinderUp, FI_31_CylinderUp,
/// <summary> /// <summary>
/// 料盘移栽:升降伺服到P1点 /// 料盘移栽:升降伺服到P1点
/// </summary> /// </summary>
FI_30_UpDownAxisToP1, FI_32_UpDownAxisToP1,
/// <summary> /// <summary>
/// 上料完成,未检测到料盘,提升伺服到P2点 /// 上料完成,未检测到料盘,提升伺服到P2点
/// </summary> /// </summary>
FI_31_BatchAxisToP2 = 11031, FI_51_BatchAxisToP2 = 11051,
/// <summary> /// <summary>
/// 上料完成,升降盘定位气缸后退 /// 上料完成,升降盘定位气缸后退
/// </summary> /// </summary>
FI_32_TrayLocationCylinder_After, FI_52_TrayLocationCylinder_After,
/// <summary> /// <summary>
/// 上料完成,提升伺服到P1点 /// 上料完成,提升伺服到P1点
/// </summary> /// </summary>
FI_33_BatchAxisToP1, FI_53_BatchAxisToP1,
/// <summary> /// <summary>
/// 上料完成,等待出料线体无料架 /// 上料完成,等待出料线体无料架
/// </summary> /// </summary>
FI_34_OutCheck, FI_54_OutCheck,
/// <summary> /// <summary>
/// 上料完成,出口顶升气缸上升 /// 上料完成,出口顶升气缸上升
/// </summary> /// </summary>
FI_35_OutTopCylinder_Up , FI_55_OutTopCylinder_Up ,
/// <summary> /// <summary>
///上料完成, 线体横移电机运转,等待料架到达出口 ///上料完成, 线体横移电机运转,等待料架到达出口
/// </summary> /// </summary>
FI_36_SideWayLineRun , FI_56_SideWayLineRun ,
/// <summary> /// <summary>
///上料完成,等待料架到达出口 ///上料完成,等待料架到达出口
/// </summary> /// </summary>
FI_37_WaitShelfGo, FI_57_WaitShelfGo,
/// <summary> /// <summary>
///上料完成, 料架到达出口,线体横移电机停止 ///上料完成, 料架到达出口,线体横移电机停止
/// </summary> /// </summary>
FI_38_LineStop , FI_58_LineStop ,
/// <summary> /// <summary>
///上料完成, 料架到达出口,出口顶升下降,定位气缸下降, ///上料完成, 料架到达出口,出口顶升下降,定位气缸下降,
/// </summary> /// </summary>
FI_39_TopDown, FI_59_TopDown,
/// <summary> /// <summary>
///上料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架 ///上料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架
/// </summary> /// </summary>
FI_39_OutLineRun, FI_61_OutLineRun,
/// <summary> /// <summary>
///上料完成, AGV到达,继续转动出口线体,送走出料料架, ///上料完成, AGV到达,继续转动出口线体,送走出料料架,
/// </summary> /// </summary>
FI_40_OutLineRun, FI_62_OutLineRun,
/// <summary> /// <summary>
///上料完成, 料架送出, ///上料完成, 料架送出,
/// </summary> /// </summary>
FI_41_OutLineRun, FI_63_OutLineRun,
#endregion #endregion
#region 入料装置出料处理,12000开始 #region 入料装置出料处理,12000开始
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!