Commit e0e17dc7 LN

1.大料盘出库时,在料仓门口等待,等到拦截到托盘上后,再去流水线上方。

2.气缸动作代码调整.
1 个父辈 b42d2d18
...@@ -127,7 +127,7 @@ namespace OnlineStore.AssemblyLine ...@@ -127,7 +127,7 @@ namespace OnlineStore.AssemblyLine
FormStatus(false); FormStatus(false);
} }
} }
lblMoveInfo.Text = equipBean.GetMoveStr(); lblMoveInfo.Text = equipBean.GetMoveStr()+"\r\n料仓类型:"+(equipBean.Config.IsBigTray.Equals(1)?"大料盘":"小料盘");
string canOut = LineManager.Line.CanOutStore(equipBean.DeviceID) ? "可出库" : "不可出库"; string canOut = LineManager.Line.CanOutStore(equipBean.DeviceID) ? "可出库" : "不可出库";
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus) + "(" + canOut + ")"; lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus) + "(" + canOut + ")";
lblThisSta.Text = equipBean.WarnMsg; lblThisSta.Text = equipBean.WarnMsg;
......
...@@ -165,6 +165,21 @@ AIO的dll更新,增加重连功能。 ...@@ -165,6 +165,21 @@ AIO的dll更新,增加重连功能。
20200228修改,横移机构可以同时存在两个托盘 20200228修改,横移机构可以同时存在两个托盘
20200229
1.大料盘出库时,在料仓门口等待,等到拦截到托盘上后,再去流水线上方。
2.气缸动作代码调整.
Config_MoveEquip_03.csv
Config_MoveEquip_04.csv
Config_MoveEquip_05.csv
Config_MoveEquip_06.csv
Config_MoveEquip_07.csv
Config_MoveEquip_10.csv
以上配置文件增加一行配置:
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,11,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,11,COM6,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,12,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,12,COM6,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,13,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,13,COM6,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,14,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,14,COM6,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,17,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,17,COM6,0,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义 类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,, PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,
PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
,,,,,,,,, ,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,, PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,18,COM6,0,,, AXIS,0,移栽上下轴,UpDown_Axis,18,COM6,0,,,
......
...@@ -1018,7 +1018,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1018,7 +1018,7 @@ namespace OnlineStore.DeviceLibrary
else if (move.MoveInfo.MoveStep.Equals(LineMoveStep.MO_56_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false)) else if (move.MoveInfo.MoveStep.Equals(LineMoveStep.MO_56_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false))
{ {
return true; return true;
} }
} }
} }
return false; return false;
......
...@@ -57,13 +57,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -57,13 +57,13 @@ namespace OnlineStore.DeviceLibrary
#region 移载装置 移栽物品操作 #region 移载装置 移栽物品操作
if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_50_StartOutProcess)) if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_50_StartOutProcess))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_51_CylinderBefore); MoveInfo.NextMoveStep(LineMoveStep.MO_51_CylinderBefore);
OutLog("出库 "+MoveInfo.MoveStep+": 前后气缸前进"); OutLog("出库 " + MoveInfo.MoveStep + ": 前后气缸前进");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_After, IO_Type.BeforeAfterCylinder_Before); CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_After, IO_Type.BeforeAfterCylinder_Before);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_51_CylinderBefore)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_51_CylinderBefore))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_52_CylinderDown); MoveInfo.NextMoveStep(LineMoveStep.MO_52_CylinderDown);
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸下降 "); OutLog("出库 " + MoveInfo.SLog + ": 上下气缸下降 ");
UpdownDownP3Move(MoveInfo.MoveParam.PlateH); UpdownDownP3Move(MoveInfo.MoveParam.PlateH);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down); // CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
...@@ -71,13 +71,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -71,13 +71,13 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_52_CylinderDown)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_52_CylinderDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_53_DownWait); MoveInfo.NextMoveStep(LineMoveStep.MO_53_DownWait);
OutLog("出库 " + MoveInfo.SLog + ": 等待300ms后夹紧"); OutLog("出库 " + MoveInfo.SLog + ": 等待600ms后夹紧");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(600));
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_53_DownWait)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_53_DownWait))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_54_CylinderOpen); MoveInfo.NextMoveStep(LineMoveStep.MO_54_CylinderOpen);
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸夹紧,更新料盘位置【"+MoveInfo.MoveParam.WareCode+"】【MOVING】【"+DeviceID+"】"); OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸夹紧,更新料盘位置【" + MoveInfo.MoveParam.WareCode + "】【MOVING】【" + DeviceID + "】");
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack); CylinderMove(MoveInfo, IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack);
//更新料盘位置 //更新料盘位置
...@@ -94,18 +94,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -94,18 +94,34 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_55_CylinderUp)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_55_CylinderUp))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_56_CylinderAfter); if (IsBigStore())
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退"); {
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After); if (TrayIsOk())
{
MoveInfo.NextMoveStep(LineMoveStep.MO_56_CylinderAfter);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
}
}
else
{
MoveInfo.NextMoveStep(LineMoveStep.MO_56_CylinderAfter);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
}
} }
#endregion #endregion
#region 移载装置,放物品到流水线操作 #region 移载装置,放物品到流水线操作
else if ( MoveInfo.MoveStep.Equals(LineMoveStep.MO_56_CylinderAfter) ) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_56_CylinderAfter))
{ {
if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && !SecondMoveInfo.IsInWait)
{
//if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && !SecondMoveInfo.IsInWait)
//{
if (TrayIsOk())
{
int trayNum = SecondMoveInfo.MoveParam.TrayNumber; int trayNum = SecondMoveInfo.MoveParam.TrayNumber;
//去掉直接丢盘处理 //去掉直接丢盘处理
MoveInfo.NextMoveStep(LineMoveStep.MO_58_CylinderDown); MoveInfo.NextMoveStep(LineMoveStep.MO_58_CylinderDown);
...@@ -120,19 +136,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -120,19 +136,20 @@ namespace OnlineStore.DeviceLibrary
} }
//更新料盘位置 //更新料盘位置
SServerManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, LocStatus.INLINE, "E"+trayNum.ToString().PadLeft(2,'0')); SServerManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, LocStatus.INLINE, "E" + trayNum.ToString().PadLeft(2, '0'));
UpdownDownP2Move(MoveInfo.MoveParam.PlateH); UpdownDownP2Move(MoveInfo.MoveParam.PlateH);
} }
else if (MoveInfo.IsTimeOut(180)) //}
{ //else if (MoveInfo.IsTimeOut(180))
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveType + "][" + MoveInfo.SLog + "]等待空托盘到达超时[" + Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) + "]秒"; //{
LogUtil.error(WarnMsg, DeviceID + 12); // WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveType + "][" + MoveInfo.SLog + "]等待空托盘到达超时[" + Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) + "]秒";
Alarm(LineAlarmType.IoSingleTimeOut); // LogUtil.error(WarnMsg, DeviceID + 12);
} // Alarm(LineAlarmType.IoSingleTimeOut);
//}
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_58_CylinderDown)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_58_CylinderDown))
{ {
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘【" + MoveInfo.MoveParam.TrayNumber + "】,有料盘,OutStore,【" +MoveInfo.MoveParam.ToStr() + "】"); OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘【" + MoveInfo.MoveParam.TrayNumber + "】,有料盘,OutStore,【" + MoveInfo.MoveParam.ToStr() + "】");
TrayManager.UpdateTrayInfo(MoveInfo.MoveParam.TrayNumber, true, ReelType.OutStore, MoveInfo.MoveParam); TrayManager.UpdateTrayInfo(MoveInfo.MoveParam.TrayNumber, true, ReelType.OutStore, MoveInfo.MoveParam);
//出库全部完成 //出库全部完成
...@@ -149,7 +166,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -149,7 +166,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp))
{ {
// 减去需要的盘数 // 减去需要的盘数
// TrayManager.DelNeedEmptyTrayNum(); // TrayManager.DelNeedEmptyTrayNum();
SOutLog("出库 :移栽完成,放行托盘"); SOutLog("出库 :移栽完成,放行托盘");
SecondMoveInfo.NewMove(LineMoveType.CheckFixture); SecondMoveInfo.NewMove(LineMoveType.CheckFixture);
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_14_TopDown); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_14_TopDown);
...@@ -161,8 +178,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -161,8 +178,25 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
} }
private bool TrayIsOk()
{
if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && !SecondMoveInfo.IsInWait)
{
return true;
}
else if (MoveInfo.IsTimeOut(180))
{
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveType + "][" + MoveInfo.SLog + "]等待空托盘到达超时[" + Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) + "]秒";
LogUtil.error(WarnMsg, DeviceID + 12);
Alarm(LineAlarmType.IoSingleTimeOut);
return false;
}
return false;
}
private bool IsBigStore()
{
return Config.IsBigTray.Equals(1);
}
#endregion #endregion
#region 入库 #region 入库
...@@ -178,10 +212,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -178,10 +212,14 @@ namespace OnlineStore.DeviceLibrary
lineStatus = LineStatus.InStoreExecute; lineStatus = LineStatus.InStoreExecute;
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
MoveInfo.NewMove(LineMoveType.InStore); MoveInfo.NewMove(LineMoveType.InStore);
LogInfo("入库【" + posId + "】处理(移栽):(MI_07_CylinderDown,上下气缸下降)");
MoveInfo.NextMoveStep(LineMoveStep.MI_06_CylinderDown); LogInfo("入库【" + posId + "】处理(移栽):MI_05_ToLineUp, 前后气缸后退)");
//MoveInfo.NextMoveStep(LineMoveStep.MI_06_CylinderDown);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
//UpdownDownP2Move(MoveInfo.MoveParam.PlateH);
MoveInfo.NextMoveStep(LineMoveStep.MI_05_ToLineUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
UpdownDownP2Move(MoveInfo.MoveParam.PlateH); CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
return true; return true;
} }
else else
...@@ -205,11 +243,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -205,11 +243,18 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosId : ""; string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosId : "";
if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_06_CylinderDown)) if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_05_ToLineUp))
{
MoveInfo.NextMoveStep(LineMoveStep.MI_06_CylinderDown);
InLog("入库 " + MoveInfo.SLog + ": 升降下降");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
UpdownDownP2Move(MoveInfo.MoveParam.PlateH);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_06_CylinderDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MI_07_DownWait); MoveInfo.NextMoveStep(LineMoveStep.MI_07_DownWait);
InLog("入库 " + MoveInfo.SLog + ": 等待300ms后夹紧"); InLog("入库 " + MoveInfo.SLog + ": 等待600ms后夹紧");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(600));
} }
//只有当BOX可以进行出入库时,移栽物品,防止卡住 //只有当BOX可以进行出入库时,移栽物品,防止卡住
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_07_DownWait)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_07_DownWait))
...@@ -230,7 +275,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -230,7 +275,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.MI_10_WaitBox); MoveInfo.NextMoveStep(LineMoveStep.MI_10_WaitBox);
LogInfo("入库【" + posId + "】 " + MoveInfo.SLog + ": 等待box可入库,更新托盘【" + num + "】为空盘"); LogInfo("入库【" + posId + "】 " + MoveInfo.SLog + ": 等待box可入库,更新托盘【" + num + "】为空盘");
MoveInfo.WaitList.Add(WaitResultInfo.WaitBoxCanReviceTray()); MoveInfo.WaitList.Add(WaitResultInfo.WaitBoxCanReviceTray());
TrayManager.UpdateTrayInfo(num ); TrayManager.UpdateTrayInfo(num);
//阻挡气缸移动 //阻挡气缸移动
SecondMoveInfo.NewMove(LineMoveType.CheckFixture); SecondMoveInfo.NewMove(LineMoveType.CheckFixture);
...@@ -269,9 +314,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -269,9 +314,9 @@ namespace OnlineStore.DeviceLibrary
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After); CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
//此时box就可以入库操作了 //触发事件,BOX入库 //此时box就可以入库操作了 //触发事件,BOX入库
// LineServer.StartInStore(DeviceID, MoveInfo.MoveParam); // LineServer.StartInStore(DeviceID, MoveInfo.MoveParam);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_14_CylinderAfter)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.MI_14_CylinderAfter))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MI_15_SendPosToStore); MoveInfo.NextMoveStep(LineMoveStep.MI_15_SendPosToStore);
...@@ -348,9 +393,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -348,9 +393,13 @@ namespace OnlineStore.DeviceLibrary
private bool CheckIsNeedOutStore() private bool CheckIsNeedOutStore()
{ {
bool isFull = TrayManager.TrayIsFull(currTrayNum); bool isFull = TrayManager.TrayIsFull(currTrayNum);
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && (MoveInfo.MoveStep >= LineMoveStep.MO_56_CylinderAfter)
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_55_CylinderUp) || MoveInfo.MoveStep >= LineMoveStep.MO_56_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp))) && (!MoveInfo.MoveStep.Equals(LineMoveStep.MO_60_CylinderUp)))
{ {
if (isFull.Equals(false)) if (isFull.Equals(false))
{ {
LogInfo(" 出库中,拦截空托盘【 " + currTrayNum + "】~"); LogInfo(" 出库中,拦截空托盘【 " + currTrayNum + "】~");
......
...@@ -373,9 +373,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -373,9 +373,10 @@ namespace OnlineStore.DeviceLibrary
} }
public void CylinderMove(LineMoveInfo moveInfo, string IoLowType, string IoHighType, bool isCheckMove = false) public void CylinderMove(LineMoveInfo moveInfo, string IoLowType, string IoHighType, bool isCheckMove = false)
{ {
try try
{ {
if (baseConfig.DType.Equals(DeviceType.FeedingEquip)) if (baseConfig.DType.Equals(DeviceType.FeedingEquip))
{ {
if (!baseConfig.DOList.ContainsKey(IoLowType)) if (!baseConfig.DOList.ContainsKey(IoLowType))
...@@ -387,6 +388,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -387,6 +388,18 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
} }
if (moveInfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
if (IoHighType.Equals(IO_Type.ClampCylinder_Slack) || IoHighType.Equals(IO_Type.ClampCylinder_Tighten) ||
IoHighType.Equals(IO_Type.UpDownCylinder_Down) || IoHighType.Equals(IO_Type.UpDownCylinder_Up) ||
IoHighType.Equals(IO_Type.BeforeAfterCylinder_After) || IoHighType.Equals(IO_Type.BeforeAfterCylinder_Before)
)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
}
}
if (isCheckMove) if (isCheckMove)
{ {
CheckAndMove(IoLowType, IO_VALUE.LOW); CheckAndMove(IoLowType, IO_VALUE.LOW);
...@@ -401,11 +414,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -401,11 +414,7 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.error(Name + "CylinderMove ["+moveInfo.Name+"] ["+IoLowType+"] ["+IoHighType+"] ["+isCheckMove+"] 出错:"+ex.ToString()); LogUtil.error(Name + "CylinderMove ["+moveInfo.Name+"] ["+IoLowType+"] ["+IoHighType+"] ["+isCheckMove+"] 出错:"+ex.ToString());
} }
if (moveInfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
}
} }
public void CheckAndMove(string IoType, IO_VALUE value) public void CheckAndMove(string IoType, IO_VALUE value)
{ {
......
...@@ -193,9 +193,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -193,9 +193,9 @@ namespace OnlineStore.DeviceLibrary
#region 移载装置入库处理 3000-3050 #region 移载装置入库处理 3000-3050
/// <summary> /// <summary>
///移载装置入库处理,检测 夹具编码 ///移载装置入库处理,横移气缸到流水线上方
/// </summary> /// </summary>
MI_05_CodeCheck = 3005, MI_05_ToLineUp = 3005,
/// <summary> /// <summary>
///移载装置入库处理,编码与仓位一致,上下气缸1下降 ///移载装置入库处理,编码与仓位一致,上下气缸1下降
......
...@@ -20,7 +20,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -20,7 +20,11 @@ namespace OnlineStore.LoadCSVLibrary
{ {
} }
/// <summary>
/// PRO,0,是否存放的大料盘,IsBigTray,1,,,,,
/// </summary>
[ConfigProAttribute("IsBigTray",false)]
public int IsBigTray { get; set; }
/// <summary> /// <summary>
/// 设备是否处于调试状态(1=调试,0=正常) /// 设备是否处于调试状态(1=调试,0=正常)
/// </summary> /// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!