Commit 3d8c9bd3 LN

紧急出库修改

1 个父辈 34140148
...@@ -411,7 +411,7 @@ namespace OnlineStore.AssemblyLine ...@@ -411,7 +411,7 @@ namespace OnlineStore.AssemblyLine
int speed = equipBean.Config.UpdownAxis_P2Speed; int speed = equipBean.Config.UpdownAxis_P2Speed;
LogUtil.info("点击【移栽位置P2】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【移栽位置P2】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
...@@ -444,7 +444,7 @@ namespace OnlineStore.AssemblyLine ...@@ -444,7 +444,7 @@ namespace OnlineStore.AssemblyLine
int position = FormUtil.GetIntValue(txtP1); int position = FormUtil.GetIntValue(txtP1);
int speed = equipBean.Config.UpdownAxis_P1Speed; int speed = equipBean.Config.UpdownAxis_P1Speed;
LogUtil.info("点击【移栽升降轴待机位置P1:】, 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【移栽升降轴待机位置P1:】, 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
private void btnSave_Click(object sender, EventArgs e) private void btnSave_Click(object sender, EventArgs e)
...@@ -490,19 +490,19 @@ namespace OnlineStore.AssemblyLine ...@@ -490,19 +490,19 @@ namespace OnlineStore.AssemblyLine
private void btnBP1_Click(object sender, EventArgs e) private void btnBP1_Click(object sender, EventArgs e)
{ {
int position = FormUtil.GetIntValue(txtBp1); int position = FormUtil.GetIntValue(txtBp1);
equipBean.BatchAxis.AbsMove(position, equipBean.Config.BatchAxis_P1Speed); equipBean.BatchAxis.AbsMove(null, position, equipBean.Config.BatchAxis_P1Speed);
} }
private void btnBP2_Click(object sender, EventArgs e) private void btnBP2_Click(object sender, EventArgs e)
{ {
int position = FormUtil.GetIntValue(txtBP2); int position = FormUtil.GetIntValue(txtBP2);
equipBean.BatchAxis.AbsMove(position, equipBean.Config.BatchAxis_P2Speed); equipBean.BatchAxis.AbsMove(null, position, equipBean.Config.BatchAxis_P2Speed);
} }
private void btnBP3_Click(object sender, EventArgs e) private void btnBP3_Click(object sender, EventArgs e)
{ {
int position = FormUtil.GetIntValue(txtBP3); int position = FormUtil.GetIntValue(txtBP3);
equipBean.BatchAxis.AbsMove(position, equipBean.Config.BatchAxis_P3Speed); equipBean.BatchAxis.AbsMove(null, position, equipBean.Config.BatchAxis_P3Speed);
} }
private void btnBSave_Click(object sender, EventArgs e) private void btnBSave_Click(object sender, EventArgs e)
...@@ -539,7 +539,7 @@ namespace OnlineStore.AssemblyLine ...@@ -539,7 +539,7 @@ namespace OnlineStore.AssemblyLine
int position = FormUtil.GetIntValue(txtUpdownP3); int position = FormUtil.GetIntValue(txtUpdownP3);
int speed = equipBean.Config.UpdownAxis_P3Speed; int speed = equipBean.Config.UpdownAxis_P3Speed;
LogUtil.info("点击【移栽升降轴取料位置P3:】, 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【移栽升降轴取料位置P3:】, 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
private void chbMoveStop_CheckedChanged(object sender, EventArgs e) private void chbMoveStop_CheckedChanged(object sender, EventArgs e)
......
...@@ -395,7 +395,7 @@ namespace OnlineStore.AssemblyLine ...@@ -395,7 +395,7 @@ namespace OnlineStore.AssemblyLine
int position = FormUtil.GetIntValue(txtP2); int position = FormUtil.GetIntValue(txtP2);
int speed = equipBean.Config.UpdownAxis_P2Speed; int speed = equipBean.Config.UpdownAxis_P2Speed;
LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
...@@ -435,7 +435,7 @@ namespace OnlineStore.AssemblyLine ...@@ -435,7 +435,7 @@ namespace OnlineStore.AssemblyLine
int speed = equipBean.Config.UpdownAxis_P1Speed; int speed = equipBean.Config.UpdownAxis_P1Speed;
LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
...@@ -460,7 +460,7 @@ namespace OnlineStore.AssemblyLine ...@@ -460,7 +460,7 @@ namespace OnlineStore.AssemblyLine
int speed = equipBean.Config.UpdownAxis_P3Speed; int speed = equipBean.Config.UpdownAxis_P3Speed;
LogUtil.info("点击【料仓门口下降位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【料仓门口下降位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
equipBean.UpdownAxis.AbsMove(position, speed); equipBean.UpdownAxis.AbsMove(null, position, speed);
} }
......
...@@ -363,7 +363,7 @@ namespace OnlineStore.AssemblyLine ...@@ -363,7 +363,7 @@ namespace OnlineStore.AssemblyLine
{ {
int speed = equipBean.Config.UpdownAxis_P3Speed; int speed = equipBean.Config.UpdownAxis_P3Speed;
LogUtil.info("点击【出料皮带线位置P3】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【出料皮带线位置P3】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
equipBase.UpdownAxis.AbsMove(position, speed); equipBase.UpdownAxis.AbsMove(null, position, speed);
} }
} }
private void btnMoveto_Click(object sender, EventArgs e) private void btnMoveto_Click(object sender, EventArgs e)
...@@ -373,7 +373,7 @@ namespace OnlineStore.AssemblyLine ...@@ -373,7 +373,7 @@ namespace OnlineStore.AssemblyLine
{ {
int speed = equipBean.Config.UpdownAxis_P2Speed; int speed = equipBean.Config.UpdownAxis_P2Speed;
LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
equipBase.UpdownAxis.AbsMove(position, speed); equipBase.UpdownAxis.AbsMove(null, position, speed);
} }
} }
private void btnMoveToP1_Click(object sender, EventArgs e) private void btnMoveToP1_Click(object sender, EventArgs e)
...@@ -383,7 +383,7 @@ namespace OnlineStore.AssemblyLine ...@@ -383,7 +383,7 @@ namespace OnlineStore.AssemblyLine
{ {
int speed = equipBean.Config.UpdownAxis_P1Speed; int speed = equipBean.Config.UpdownAxis_P1Speed;
LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】"); LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】");
equipBase.UpdownAxis.AbsMove(position, speed); equipBase.UpdownAxis.AbsMove(null, position, speed);
} }
} }
private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e) private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e)
......
...@@ -540,7 +540,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -540,7 +540,7 @@ namespace OnlineStore.DeviceLibrary
msg += "runStatus:".PadRight(tLength, ' ') + runStatus + "\n"; msg += "runStatus:".PadRight(tLength, ' ') + runStatus + "\n";
msg += "lineStatus:".PadRight(tLength, ' ') + lineStatus + "\n"; msg += "lineStatus:".PadRight(tLength, ' ') + lineStatus + "\n";
msg += "MoveType:".PadRight(tLength, ' ') + MoveInfo.MoveType+"\n"; msg += "MoveType:".PadRight(tLength, ' ') + MoveInfo.MoveType+"\n";
msg += "MoveStep:".PadRight(tLength, ' ') + MoveInfo.MoveStep + "\n"; msg += "MoveStep:".PadRight(tLength, ' ') + MoveInfo.SLog + "\n";
msg += "SMoveType:".PadRight(tLength, ' ') + SecondMoveInfo.MoveType + "\n"; msg += "SMoveType:".PadRight(tLength, ' ') + SecondMoveInfo.MoveType + "\n";
msg += "SMoveStep:".PadRight(tLength, ' ') + SecondMoveInfo.MoveStep + ""; msg += "SMoveStep:".PadRight(tLength, ' ') + SecondMoveInfo.MoveStep + "";
return msg; return msg;
......
...@@ -97,18 +97,24 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,18 +97,24 @@ namespace OnlineStore.DeviceLibrary
private void StartReset() private void StartReset()
{ {
if (OutStoreHeight > 0)
{
LogInfo("复位前,清理出库高度:" + OutStoreHeight);
}
OutStoreHeight = -1;
BatchAxisStopCheck(); BatchAxisStopCheck();
ResetClearData(); ResetClearData();
lineStatus = LineStatus.ResetMove; lineStatus = LineStatus.ResetMove;
IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH);
MoveInfo.NextMoveStep(LineMoveStep.FR_00_LineRun); MoveInfo.NextMoveStep(LineMoveStep.FR_00_LineRun);
LogInfo(MoveInfo.MoveType + ":" + MoveInfo.SLog + ":开始复位,放料顶升下降, 所有阻挡上升,链条先转动3秒钟"); LogInfo(MoveInfo.MoveType + ":" + MoveInfo.SLog + ":开始复位,放料顶升下降, 所有阻挡上升,链条先转动3秒钟或等待定位工位有料架");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
//CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); //CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
//CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down); //CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
//阻挡上升 //阻挡上升
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.HIGH); IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
if (Config.SidesWayNum <= 0) if (Config.SidesWayNum <= 0)
{ {
...@@ -126,7 +132,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,7 +132,8 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH));
MoveInfo.OneWaitCanEndStep = true;
isInPro = false; isInPro = false;
} }
//复位时,应该先提升伺服回原点,然后提升伺服下降到P2点,放开定位气缸,顶升气缸下降,提升伺服在上升到P1点。 //复位时,应该先提升伺服回原点,然后提升伺服下降到P2点,放开定位气缸,顶升气缸下降,提升伺服在上升到P1点。
...@@ -150,7 +157,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -150,7 +157,9 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Line_Run, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW));
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down); CylinderMove(MoveInfo, IO_Type.SL_OutTopCylinder_Up, IO_Type.SL_OutTopCylinder_Down);
if (Config.SidesWayNum <= 0) if (Config.SidesWayNum <= 0)
...@@ -218,10 +227,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -218,10 +227,19 @@ namespace OnlineStore.DeviceLibrary
case LineMoveStep.FR_08_MoveCylinder_Slack: case LineMoveStep.FR_08_MoveCylinder_Slack:
if (MoveCylineCanTakeOrGive()) if (MoveCylineCanTakeOrGive())
{ {
MoveInfo.NextMoveStep(LineMoveStep.FR_09_MoveCylinder_Give); MoveInfo.NextMoveStep(LineMoveStep.FR_09_MoveCylinder_Give);
if (Config.IsCanOut.Equals(1))
{
LogInfo(MoveInfo.MoveType + ":" + MoveInfo.SLog + ": 上料横移气缸取料端SOL");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Give, IO_Type.SL_MoveCylinder_Take);
}
else
{
LogInfo(MoveInfo.MoveType + ":" + MoveInfo.SLog + ": 上料横移气缸放料端SOL"); LogInfo(MoveInfo.MoveType + ":" + MoveInfo.SLog + ": 上料横移气缸放料端SOL");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give);
} }
}
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.FR_07_MoveCylinder_Up); MoveInfo.NextMoveStep(LineMoveStep.FR_07_MoveCylinder_Up);
...@@ -271,12 +289,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -271,12 +289,14 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
public override void StopRun() public override void StopRun()
{ {
runStatus = LineRunStatus.Wait;
lineStatus = LineStatus.StoreOnline;
if (mainTimer != null) if (mainTimer != null)
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
} }
StopMove(); StopMove();
runStatus = LineRunStatus.Wait;
} }
...@@ -633,7 +653,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -633,7 +653,7 @@ namespace OnlineStore.DeviceLibrary
ProcessShelfEnter = true; ProcessShelfEnter = true;
//进料阻挡下降,缓冲阻挡上升 //进料阻挡下降,缓冲阻挡上升
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH); IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH);
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW); // IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);
//转动线体 //转动线体
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
......
...@@ -10,7 +10,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -10,7 +10,7 @@ namespace OnlineStore.DeviceLibrary
{ {
partial class FeedingEquip partial class FeedingEquip
{ {
protected override bool CheckWaitResult(LineMoveInfo moveInfo,WaitResultInfo wait) protected override bool CheckWaitResult(LineMoveInfo moveInfo, WaitResultInfo wait)
{ {
if (wait.WaitType.Equals(WaitEnum.W101_BatchAxisMove)) if (wait.WaitType.Equals(WaitEnum.W101_BatchAxisMove))
{ {
...@@ -40,6 +40,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -40,6 +40,7 @@ namespace OnlineStore.DeviceLibrary
} }
#region 托盘检测 #region 托盘检测
private InOutParam CheckParam = new InOutParam();
private void StartCheckFixture() private void StartCheckFixture()
{ {
if (!LineManager.Line.CanProcessLine()) if (!LineManager.Line.CanProcessLine())
...@@ -54,9 +55,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -54,9 +55,9 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH) && (isTestNeed || isNeedTray)) if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH) && (isTestNeed || isNeedTray))
{ {
//判断是否是需要的托盘 //判断是否是需要的托盘
if (NeedCurrTray()) if (CurrTrayIsNeed(true))
{ {
SecondMoveInfo.NewMove(LineMoveType.CheckFixture); SecondMoveInfo.NewMove(LineMoveType.CheckFixture, CheckParam);
TrayManager.UpdateSWState(Config.SidesWayNum, 2); TrayManager.UpdateSWState(Config.SidesWayNum, 2);
CheckLog("检测到SW_TrayCheck:" + SecondMoveInfo.SLog + "横移顶升气缸上升 )"); CheckLog("检测到SW_TrayCheck:" + SecondMoveInfo.SLog + "横移顶升气缸上升 )");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp);
...@@ -68,12 +69,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -68,12 +69,12 @@ namespace OnlineStore.DeviceLibrary
TrayManager.UpdateSWState(Config.SidesWayNum, 1); TrayManager.UpdateSWState(Config.SidesWayNum, 1);
} }
} }
else if (Config.SidesWayNum .Equals(2)&& IOValue(IO_Type.SW_StopCheck).Equals(IO_VALUE.HIGH) && (isTestNeed || isNeedTray)) else if (Config.SidesWayNum.Equals(2) && IOValue(IO_Type.SW_StopCheck).Equals(IO_VALUE.HIGH) && (isTestNeed || isNeedTray))
{ {
//判断是否是需要的托盘 //判断是否是需要的托盘
if (NeedCurrTray()) if (CurrTrayIsNeed(true))
{ {
SecondMoveInfo.NewMove(LineMoveType.CheckFixture); SecondMoveInfo.NewMove(LineMoveType.CheckFixture, CheckParam);
TrayManager.UpdateSWState(Config.SidesWayNum, 2); TrayManager.UpdateSWState(Config.SidesWayNum, 2);
CheckLog("检测到SW_StopCheck:" + SecondMoveInfo.SLog + "阻挡气缸下降 ,最多等待1秒"); CheckLog("检测到SW_StopCheck:" + SecondMoveInfo.SLog + "阻挡气缸下降 ,最多等待1秒");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_StopCylinder1Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_StopCylinder1Down);
...@@ -167,33 +168,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -167,33 +168,32 @@ namespace OnlineStore.DeviceLibrary
{ {
preTrayNum = currTrayNum; preTrayNum = currTrayNum;
currTrayNum = TrayManager.GetTrayNum(DeviceID); currTrayNum = TrayManager.GetTrayNum(DeviceID);
if (Config.SidesWayNum <= 0)
{
//出料中,需要拦盘 //出料中,需要拦盘
if (NeedCurrTray(true)) if (CurrTrayIsNeed(true))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_05_WaitTime); SecondMoveInfo.MoveParam = CheckParam;
SecondMoveInfo.EndStepWait(); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp);
return; if (Config.SidesWayNum <= 0)
{
CheckLog("托盘检测: " + SecondMoveInfo.SLog + " 顶升气缸上 升 )");
CylinderMove(SecondMoveInfo, IO_Type.FL_TopCylinder_Down, IO_Type.FL_TopCylinder_Up);
} }
else else
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo); TrayManager.UpdateSWState(Config.SidesWayNum, 2);
TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum); CheckLog("托盘检测:" + SecondMoveInfo.SLog + " 需要此托盘,横移顶升气缸上 升 )");
LogInfo(SecondMoveInfo.MoveNum + "***************上个托盘号【" + preTrayNum + "】,当前 【" + tray.ToStr() + "】没有出入料任务,放盘通过~"); CylinderMove(SecondMoveInfo, IO_Type.SW_TopCylinder_Down, IO_Type.SW_TopCylinder_Up);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)");
} }
} }
else else
{ {
//判断是否是需要的托盘 if (Config.SidesWayNum <= 0)
if (NeedCurrTray())
{ {
SecondMoveInfo.NewMove(LineMoveType.CheckFixture); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
TrayManager.UpdateSWState(Config.SidesWayNum, 2); TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum);
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " 需要此托盘,横移顶升气缸上 升 )"); LogInfo(SecondMoveInfo.MoveNum + "***************上个托盘号【" + preTrayNum + "】,当前 【" + tray.ToStr() + "】没有出入料任务,放盘通过~");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)");
CylinderMove(SecondMoveInfo, IO_Type.SW_TopCylinder_Down, IO_Type.SW_TopCylinder_Up);
} }
else else
{ {
...@@ -203,12 +203,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -203,12 +203,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_05_WaitTime))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopCylinderUp);
CheckLog("托盘检测: " + SecondMoveInfo.SLog + " 顶升气缸上 升 )");
CylinderMove(SecondMoveInfo, IO_Type.FL_TopCylinder_Down, IO_Type.FL_TopCylinder_Up);
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_06_TopCylinderUp)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_06_TopCylinderUp))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_07_LocationCylinderUp); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_07_LocationCylinderUp);
...@@ -276,6 +271,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -276,6 +271,15 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopCylinder_Down)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopCylinder_Down))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
if (Config.SidesWayNum > 0)
{
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待托盘离开");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.LOW));
}
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
{
if (Config.SidesWayNum > 0) if (Config.SidesWayNum > 0)
{ {
//更新横移托盘已处理完成 //更新横移托盘已处理完成
...@@ -286,16 +290,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -286,16 +290,11 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)");
}
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_StopCylinder2_Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_StopCylinder2_Down);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡气缸1-2下降)"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡气缸1-2下降)");
IOMove(IO_Type.FL_StopCylinder_Down2, IO_VALUE.HIGH); IOMove(IO_Type.FL_StopCylinder_Down2, IO_VALUE.HIGH);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.FL_StopCylinder_Down2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.FL_StopCylinder_Down2, IO_VALUE.HIGH));
}
// SecondMoveInfo.EndStepWait(); // SecondMoveInfo.EndStepWait();
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_16_StopCylinder2_Down)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_16_StopCylinder2_Down))
...@@ -327,6 +326,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -327,6 +326,7 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveType.Equals(LineMoveType.None)) if (MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
StartTrayOut(SecondMoveInfo.MoveParam); StartTrayOut(SecondMoveInfo.MoveParam);
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_201_WaitOutEnd);
} }
else else
{ {
...@@ -414,19 +414,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -414,19 +414,19 @@ namespace OnlineStore.DeviceLibrary
else if (IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH)) else if (IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart); MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart);
InLog("入料检测: " + MoveInfo.SLog + " 阻挡工位检测有料架,进料阻挡上升,缓冲阻挡下降,流水线转动 1000"); InLog("入料检测: " + MoveInfo.SLog + " 阻挡工位检测有料架,进料阻挡下降,缓冲阻挡下降,流水线转动 1000");
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH);//进料阻挡上升 IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH);//进料阻挡下降
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降 IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
//等待指定时间 //等待指定时间
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH));
}else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH)) } else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart); MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart);
InLog("入料检测: " + MoveInfo.SLog + " 进料口检测有料架,进料阻挡下降,缓冲阻挡上升,流水线转动 1000"); InLog("入料检测: " + MoveInfo.SLog + " 进料口检测有料架,进料阻挡上升,缓冲阻挡上升,流水线转动 1000");
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);//进料阻挡上升 IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);//进料阻挡上升
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.HIGH);//缓冲阻挡下降 IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.HIGH);//缓冲阻挡上升
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
//等待指定时间 //等待指定时间
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
...@@ -609,7 +609,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -609,7 +609,7 @@ namespace OnlineStore.DeviceLibrary
{ {
InLog("料盘移栽" + MoveInfo.SLog + ":记录高度尺寸 高度【" + LastHeight + "】宽度【" + LastWidth + "】,已经没有料盘,提升轴开始回下降待机点P2"); InLog("料盘移栽" + MoveInfo.SLog + ":记录高度尺寸 高度【" + LastHeight + "】宽度【" + LastWidth + "】,已经没有料盘,提升轴开始回下降待机点P2");
MoveInfo.ShelfNoTray = true; MoveInfo.ShelfNoTray = true;
BatchAxis.AbsMove(Config.BatchAxisP2, Config.BatchAxis_P2Speed); BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
} }
else else
{ {
...@@ -650,7 +650,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -650,7 +650,7 @@ namespace OnlineStore.DeviceLibrary
TimeSpan span = DateTime.Now - MoveInfo.LastSetpTime; TimeSpan span = DateTime.Now - MoveInfo.LastSetpTime;
if (span.TotalSeconds > 180) if (span.TotalSeconds > 180)
{ {
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]等待空托盘到达超时[" + Math.Round(span.TotalSeconds, 1) + "]秒"; WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveType + "][" + MoveInfo.SLog + "]等待空托盘到达超时[" + Math.Round(span.TotalSeconds, 1) + "]秒";
LogUtil.error(WarnMsg, DeviceID + 12); LogUtil.error(WarnMsg, DeviceID + 12);
Alarm(LineAlarmType.IoSingleTimeOut); Alarm(LineAlarmType.IoSingleTimeOut);
} }
...@@ -687,14 +687,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -687,14 +687,14 @@ namespace OnlineStore.DeviceLibrary
TrayManager.UpdateTrayInfo(currTrayNum, true, 1, code, "", LastHeight, LastWidth); TrayManager.UpdateTrayInfo(currTrayNum, true, 1, code, "", LastHeight, LastWidth);
if (code.Equals("")) if (code.Equals(""))
{ {
TrayManager.UpdateInStoreNG(currTrayNum, true,"扫码失败"); TrayManager.UpdateInStoreNG(currTrayNum, true, "扫码失败");
} }
//从服务器获取库位号 //从服务器获取库位号
string result = StoreServerManager.CodeReceived(Name, currTrayNum, LastCodeList, LastHeight, LastWidth); string result = StoreServerManager.CodeReceived(Name, currTrayNum, LastCodeList, LastHeight, LastWidth);
if (!result.Equals("")) if (!result.Equals(""))
{ {
TrayManager.UpdateInStoreNG(currTrayNum, true,result); TrayManager.UpdateInStoreNG(currTrayNum, true, result);
LogUtil.error(Name+"托盘【"+currTrayNum+"】"+ result); LogUtil.error(Name + "托盘【" + currTrayNum + "】" + result);
} }
}); });
...@@ -819,7 +819,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -819,7 +819,7 @@ namespace OnlineStore.DeviceLibrary
StartMovePosition = BatchAxis.GetAclPosition(); StartMovePosition = BatchAxis.GetAclPosition();
MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, Config.BatchAxisP3, Config.BatchAxis_P3Speed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, Config.BatchAxisP3, Config.BatchAxis_P3Speed));
Config.Batch_Axis.TargetPosition = Config.BatchAxisP3; Config.Batch_Axis.TargetPosition = Config.BatchAxisP3;
BatchAxis.AbsMove( Config.BatchAxisP3, Config.BatchAxis_P3Speed); BatchAxis.AbsMove( MoveInfo, Config.BatchAxisP3, Config.BatchAxis_P3Speed);
//开始检测信号 //开始检测信号
BatchAxisStartCheck(); BatchAxisStartCheck();
} }
...@@ -882,7 +882,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -882,7 +882,9 @@ namespace OnlineStore.DeviceLibrary
/// 是否需要拦截当前托盘进行处理 /// 是否需要拦截当前托盘进行处理
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
internal bool NeedCurrTray(bool checkAndMove = false) internal bool CurrTrayIsNeed(bool NeedSaveParam )
{
try
{ {
if (IsDebug && runStatus <= LineRunStatus.Wait) if (IsDebug && runStatus <= LineRunStatus.Wait)
{ {
...@@ -904,17 +906,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -904,17 +906,13 @@ namespace OnlineStore.DeviceLibrary
} }
bool isJinji = info.EmergencyOut && info.IsFull && runStatus >= LineRunStatus.Runing; bool isJinji = info.EmergencyOut && info.IsFull && runStatus >= LineRunStatus.Runing;
if (debugNeed || isJinji ) if (debugNeed || isJinji)
{ {
if (checkAndMove)
{
SecondMoveInfo.MoveParam = param;
}
//判断是否有料架,是否可以出库 //判断是否有料架,是否可以出库
if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.LOW))
{ {
LogUtil.error(Name+" 【" + info.ToStr() + "】需要出库,定位工位无料架,暂不处理",DeviceID+16); LogUtil.error(Name + " 【" + info.ToStr() + "】需要出库,定位工位无料架,暂不处理", DeviceID + 16);
} }
else if (OutStoreHeight < 0) else if (OutStoreHeight < 0)
{ {
...@@ -922,6 +920,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -922,6 +920,11 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
if (NeedSaveParam)
{
LogInfo(" 【" + info.ToStr() + "】需要出库,参数信息:" + param.ToStr());
CheckParam = param;
}
return true; return true;
} }
} }
...@@ -934,15 +937,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -934,15 +937,20 @@ namespace OnlineStore.DeviceLibrary
//入料执行中, 且需要空托盘 //入料执行中, 且需要空托盘
if (MoveInfo.MoveStep >= LineMoveStep.FI_11_MoveCylinder_Up && MoveInfo.MoveStep <= LineMoveStep.FI_20_WaitTray) if (MoveInfo.MoveStep >= LineMoveStep.FI_11_MoveCylinder_Up && MoveInfo.MoveStep <= LineMoveStep.FI_20_WaitTray)
{ {
if (checkAndMove) if (NeedSaveParam)
{ {
SecondMoveInfo.MoveParam = param; CheckParam = param;
}
LogUtil.info(Name + "拦截到空托盘【" + trayNum + "】,入料执行中,需要空托盘"); LogUtil.info(Name + "拦截到空托盘【" + trayNum + "】,入料执行中,需要空托盘");
}
return true; return true;
} }
} }
} }
}
catch (Exception ex)
{
LogUtil.error(Name + "CurrTrayIsNeed出错:" + ex.StackTrace);
}
return false; return false;
} }
......
...@@ -14,17 +14,28 @@ namespace OnlineStore.DeviceLibrary ...@@ -14,17 +14,28 @@ namespace OnlineStore.DeviceLibrary
private int OutStoreHeight = -1; private int OutStoreHeight = -1;
private void StartTrayOut(InOutParam outParam) private bool StartTrayOut(InOutParam outParam)
{ {
if(outParam == null || outParam.PosId == null || outParam.PosId.Equals(""))
{
LogUtil.error(Name + "出库失败,参数不完整:" ) ;
LogUtil.error(outParam.ToStr());
return false ;
}
runStatus = LineRunStatus.Busy; runStatus = LineRunStatus.Busy;
lineStatus = LineStatus.OutStoreExecute; lineStatus = LineStatus.OutStoreExecute;
MoveInfo.NewMove(LineMoveType.OutStore,outParam); MoveInfo.NewMove(LineMoveType.OutStore,outParam);
//可以开始出库啦 //可以开始出库啦
MoveInfo.NextMoveStep(LineMoveStep.FO_211_AxisDownMove); MoveInfo.NextMoveStep(LineMoveStep.FO_211_AxisDownMove);
OutLog("出库移栽 " + MoveInfo.SLog + " :提升伺服下降指定的高度,升降轴回原点"); OutLog("出库移栽 " + MoveInfo.SLog + " :提升伺服下降指定的高度,升降轴回原点");
int targetPosition = Config.BatchAxisP3 + outParam.PlateH * Config.Height_ChangeValue; int targetPosition = BatchAxis.GetAclPosition() - outParam.PlateH * Config.Height_ChangeValue;
BatchAxis.AbsMove(MoveInfo, targetPosition, Config.BatchAxis_TargetSpeed); if (targetPosition < Config.BatchAxisP2)
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed); {
targetPosition = Config.BatchAxisP2;
}
BatchAxis.AbsMove(MoveInfo, targetPosition, Config.BatchAxis_P2Speed);
return true;
//UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
} }
public void StartOutStoreP() public void StartOutStoreP()
{ {
...@@ -61,9 +72,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -61,9 +72,9 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_01_TrayLocation_After); MoveInfo.NextMoveStep(LineMoveStep.FO_00_BatchAxisToP2);
TrayLCylinderAfter(MoveInfo); BatchAxis.AbsMove(MoveInfo, Config.BatchAxisP2, Config.BatchAxis_P2Speed);
OutLog("准备出库料架, "+MoveInfo.SLog+" :升降盘定位气缸后退"); OutLog("准备出库料架, " + MoveInfo.SLog + " :提升伺服先回到P2");
} }
return true; return true;
} }
...@@ -71,6 +82,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -71,6 +82,7 @@ namespace OnlineStore.DeviceLibrary
{ {
//定位工位有料架,等待1秒后再次检测 //定位工位有料架,等待1秒后再次检测
MoveInfo.NextMoveStep(LineMoveStep.FO_04_WaitTime); MoveInfo.NextMoveStep(LineMoveStep.FO_04_WaitTime);
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);
OutLog("准备出库料架 " + MoveInfo.SLog + "定位工位检测到料架: 等待1秒再次检测"); OutLog("准备出库料架 " + MoveInfo.SLog + "定位工位检测到料架: 等待1秒再次检测");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
} }
...@@ -87,9 +99,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -87,9 +99,9 @@ namespace OnlineStore.DeviceLibrary
else if (IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH)) else if (IOValue(IO_Type.SL_Stop_Check).Equals(IO_VALUE.HIGH))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart); MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart);
OutLog("准备出库料架: " + MoveInfo.SLog + " 阻挡工位检测有料架,进料阻挡下降,缓冲阻挡上升,流水线转动 1000"); OutLog("准备出库料架: " + MoveInfo.SLog + " 阻挡工位检测有料架,进料阻挡下降,缓冲阻挡下降,流水线转动 1000");
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH);//进料阻挡下降 IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.HIGH);
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡上升 IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
//等待指定时间 //等待指定时间
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
...@@ -98,7 +110,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -98,7 +110,7 @@ namespace OnlineStore.DeviceLibrary
else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH)) else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart); MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart);
OutLog("准备出库料架: " + MoveInfo.SLog + " 进料口检测有料架,进料阻挡上升,缓冲阻挡下降,流水线转动 1000"); OutLog("准备出库料架: " + MoveInfo.SLog + " 进料口检测有料架,进料阻挡上升,缓冲阻挡上升,流水线转动 1000");
IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);//进料阻挡上升 IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);//进料阻挡上升
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.HIGH);//缓冲阻挡下降 IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.HIGH);//缓冲阻挡下降
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
...@@ -123,11 +135,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -123,11 +135,11 @@ namespace OnlineStore.DeviceLibrary
{ {
return; return;
} }
if (MoveInfo.MoveStep.Equals(LineMoveStep.Wait)) if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_00_BatchAxisToP2))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_01_TrayLocation_After); MoveInfo.NextMoveStep(LineMoveStep.FO_01_TrayLocation_After);
TrayLCylinderAfter(MoveInfo); TrayLCylinderAfter(MoveInfo);
OutLog("准备出库料架" + MoveInfo.SLog + ":升降盘定位气缸后退"); OutLog("准备出库料架, " + MoveInfo.SLog + " :升降盘定位气缸后退");
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_01_TrayLocation_After)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_01_TrayLocation_After))
{ {
...@@ -150,7 +162,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -150,7 +162,7 @@ namespace OnlineStore.DeviceLibrary
{ {
//定位工位有料架,直接开始入料 //定位工位有料架,直接开始入料
MoveInfo.NextMoveStep(LineMoveStep.FO_05_LocationCylinder_Up); MoveInfo.NextMoveStep(LineMoveStep.FO_05_LocationCylinder_Up);
OutLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡上升, 定位气缸上升"); OutLog("定位工位检测到料架: " + MoveInfo.SLog + " 缓冲阻挡下降, 定位气缸上升");
IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降 IOMove(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW);//缓冲阻挡下降
CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Down, IO_Type.SW4_LocationCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_LocationCylinder_Down, IO_Type.SW4_LocationCylinder_Up);
} }
...@@ -158,6 +170,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -158,6 +170,7 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.EndMove(); MoveInfo.EndMove();
runStatus = LineRunStatus.Runing; runStatus = LineRunStatus.Runing;
lineStatus = LineStatus.StoreOnline;
OutLog(" 未检测到料架,料架处理结束"); OutLog(" 未检测到料架,料架处理结束");
} }
} }
...@@ -191,6 +204,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -191,6 +204,7 @@ namespace OnlineStore.DeviceLibrary
//如果再出库中直接出库 //如果再出库中直接出库
MoveInfo.EndMove(); MoveInfo.EndMove();
runStatus = LineRunStatus.Runing; runStatus = LineRunStatus.Runing;
lineStatus = LineStatus.StoreOnline;
// MoveInfo.NextMoveStep(LineMoveStep.FO_39_OutLineRun); // MoveInfo.NextMoveStep(LineMoveStep.FO_39_OutLineRun);
OutLog("准备出库料架完成"); OutLog("准备出库料架完成");
// FO_11_AxisDownMove(); // FO_11_AxisDownMove();
...@@ -214,17 +228,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -214,17 +228,14 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.CanWhileCount = 0; MoveInfo.CanWhileCount = 0;
MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, tp, Config.BatchAxis_P3Speed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, tp, Config.BatchAxis_P3Speed));
Config.Batch_Axis.TargetPosition = tp; Config.Batch_Axis.TargetPosition = tp;
BatchAxis.AbsMove(tp, Config.BatchAxis_P3Speed); BatchAxis.AbsMove(MoveInfo, tp, Config.BatchAxis_P3Speed);
//开始检测信号 //开始检测信号
BatchAxisStartCheck(IO_Type.SL_AxisLocationCheck, IO_VALUE.LOW); BatchAxisStartCheck(IO_Type.SL_AxisLocationCheck, IO_VALUE.LOW);
} }
} }
} }
else if (MoveInfo.MoveStep >= LineMoveStep.FO_211_AxisDownMove && MoveInfo.MoveStep <= LineMoveStep.FO_33_BatchAxisToP1)
{
TrayOutProcess();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_31_BatchAxisToP2)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_31_BatchAxisToP2))
{ {
...@@ -290,23 +301,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -290,23 +301,14 @@ namespace OnlineStore.DeviceLibrary
OutLog("出料完成 " + MoveInfo.SLog + ", 出口线体运转,料架到达出口处, 通知AGV取空料架, 出料结束"); OutLog("出料完成 " + MoveInfo.SLog + ", 出口线体运转,料架到达出口处, 通知AGV取空料架, 出料结束");
AgvClient.ReadyEmpty(Config.AgvOutName); AgvClient.ReadyEmpty(Config.AgvOutName);
} }
//else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_40_OutLineRun)) else if (MoveInfo.MoveStep >= LineMoveStep.FO_211_AxisDownMove && MoveInfo.MoveStep < LineMoveStep.FO_31_BatchAxisToP2)
//{ {
// MoveInfo.NextMoveStep(LineMoveStep.FO_40_OutLineRun); TrayOutProcess();
// OutLog("出料完成 " + MoveInfo.SLog + ", AGV到达,继续转动出口线体,送走出料料架, "); }
//} else
//else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_40_OutLineRun)) {
//{ LogUtil.error(Name + " " + MoveInfo.MoveType + MoveInfo.SLog + "未找到相关处理", 19);
// MoveInfo.NextMoveStep(LineMoveStep.FO_41_OutLineRun); }
// OutLog("上料完成 " + MoveInfo.SLog + ", 料架送出, ");
//}
//else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_41_OutLineRun))
//{
// MoveInfo.EndMove();
// runStatus = LineRunStatus.Runing;
// lastOutParam = null;
// LogUtil.info("空料架已送出,出料结束");
//}
} }
private void TrayOutProcess() private void TrayOutProcess()
...@@ -316,74 +318,72 @@ namespace OnlineStore.DeviceLibrary ...@@ -316,74 +318,72 @@ namespace OnlineStore.DeviceLibrary
if (MoveCylineCanTakeOrGive()) if (MoveCylineCanTakeOrGive())
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_212_MoveCylinder_Take); MoveInfo.NextMoveStep(LineMoveStep.FO_212_MoveCylinder_Take);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构取料端"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构取料端");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Give, IO_Type.SL_MoveCylinder_Take); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Give, IO_Type.SL_MoveCylinder_Take);
} }
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_211_AxisDownMove); MoveInfo.NextMoveStep(LineMoveStep.FO_211_AxisDownMove);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构取料端 前先上升横移气缸"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构取料端 前先上升横移气缸");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
} }
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_212_MoveCylinder_Take)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_212_MoveCylinder_Take))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_213_MoveCylinder_Down); MoveInfo.NextMoveStep(LineMoveStep.FO_213_MoveCylinder_Down);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构下降"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构下降");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Up, IO_Type.SL_MoveCylinder_Down); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Up, IO_Type.SL_MoveCylinder_Down);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_213_MoveCylinder_Down)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_213_MoveCylinder_Down))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_214_UpdownAxisToP2); MoveInfo.NextMoveStep(LineMoveStep.FO_214_UpdownAxisToP2);
int targetP = Config.GetUpdownPositionP2(MoveInfo.MoveParam.PlateH); int targetP = Config.GetUpdownPositionP2(MoveInfo.MoveParam.PlateH);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":升降伺服下降到指定位置" + targetP); OutLog("紧急出料移栽" + MoveInfo.SLog + ":升降伺服下降到P2:" + targetP);
UpdownAxis.AbsMove(MoveInfo, targetP, Config.UpdownAxis_P2Speed); UpdownAxis.AbsMove(MoveInfo, targetP, Config.UpdownAxis_P2Speed);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_214_UpdownAxisToP2)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_214_UpdownAxisToP2))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_215_MoveCylinder_Tighten); MoveInfo.NextMoveStep(LineMoveStep.FO_215_MoveCylinder_Tighten);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料气缸夹紧"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料气缸夹紧");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Slack, IO_Type.SL_MoveCylinder_Tighten); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Slack, IO_Type.SL_MoveCylinder_Tighten);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_215_MoveCylinder_Tighten)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_215_MoveCylinder_Tighten))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_216_UpdownAxisToP1); MoveInfo.NextMoveStep(LineMoveStep.FO_216_UpdownAxisToP1);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":升降伺服到P1"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":升降伺服到P1");
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_216_UpdownAxisToP1)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_216_UpdownAxisToP1))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_217_MoveCylinder_Up); MoveInfo.NextMoveStep(LineMoveStep.FO_217_MoveCylinder_Up);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构上升,更新【" + currTrayNum + "】为空托盘"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构上升,更新【" + currTrayNum + "】为空托盘");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
//更新此托盘为空托盘 //更新此托盘为空托盘
TrayManager.UpdateTrayInfo(currTrayNum, false); TrayManager.UpdateTrayInfo(currTrayNum, false);
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_13_LoactionCylinder_Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_12_MoveOk);
SOutLog("紧急出料移栽" + SecondMoveInfo.MoveStep + " 托盘开始放行,定位气缸下降");
CylinderMove(MoveInfo, IO_Type.SW_LocationCylinder_Up, IO_Type.SW_LocationCylinder_Down);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_217_MoveCylinder_Up)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_217_MoveCylinder_Up))
{ {
if (MoveCylineCanTakeOrGive()) if (MoveCylineCanTakeOrGive())
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_218_MoveCylinder_Give); MoveInfo.NextMoveStep(LineMoveStep.FO_218_MoveCylinder_Give);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构到放料端"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构到放料端");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give);
} }
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_217_MoveCylinder_Up); MoveInfo.NextMoveStep(LineMoveStep.FO_217_MoveCylinder_Up);
OutLog("紧急出料移栽" + MoveInfo.MoveStep + ":上料横移机构到放料端前先上升横移气缸"); OutLog("紧急出料移栽" + MoveInfo.SLog + ":上料横移机构到放料端前先上升横移气缸");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
} }
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.FO_218_MoveCylinder_Give)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_218_MoveCylinder_Give))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_219_UpdownAxisToP3); MoveInfo.NextMoveStep(LineMoveStep.FO_219_UpdownAxisToP3);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服到P3"); OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服到P3");
UpdownAxis.AbsMove(Config.UpDownAxisP3, Config.UpdownAxis_P3Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP3, Config.UpdownAxis_P3Speed);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_219_UpdownAxisToP3)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_219_UpdownAxisToP3))
{ {
...@@ -395,7 +395,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -395,7 +395,7 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_221_UpdownAxisToP1); MoveInfo.NextMoveStep(LineMoveStep.FO_221_UpdownAxisToP1);
OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服上升到待机点P1"); OutLog("紧急出料移栽 " + MoveInfo.SLog + ":移栽伺服上升到待机点P1");
UpdownAxis.AbsMove(Config.UpDownAxisP1, Config.UpdownAxis_P1Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_221_UpdownAxisToP1)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FO_221_UpdownAxisToP1))
{ {
......
...@@ -930,7 +930,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -930,7 +930,7 @@ namespace OnlineStore.DeviceLibrary
msg += "runStatus: "+ runStatus + "\n"; msg += "runStatus: "+ runStatus + "\n";
msg += "lineStatus: "+ lineStatus + "\n"; msg += "lineStatus: "+ lineStatus + "\n";
msg += "MoveType: " + MoveInfo.MoveType + "\n"; msg += "MoveType: " + MoveInfo.MoveType + "\n";
msg += "MoveStep: " + MoveInfo.MoveStep + "\n"; msg += "MoveStep: " + MoveInfo.SLog + "\n";
msg += "SW41_Move: "+ SW41_MoveInfo.MoveType + " "+ SW41_MoveInfo.MoveStep + "\n"; msg += "SW41_Move: "+ SW41_MoveInfo.MoveType + " "+ SW41_MoveInfo.MoveStep + "\n";
msg += "SW23_Move: " + SW23_MoveInfo.MoveType + " " + SW23_MoveInfo.MoveStep + "\n"; msg += "SW23_Move: " + SW23_MoveInfo.MoveType + " " + SW23_MoveInfo.MoveStep + "\n";
return msg; return msg;
......
...@@ -110,7 +110,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -110,7 +110,7 @@ namespace OnlineStore.DeviceLibrary
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error("InOutTimerProcess出错:" + ex.ToString()); LogUtil.error("InOutTimerProcess出错:" + ex.StackTrace);
} }
isInprocess = false; isInprocess = false;
...@@ -663,7 +663,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -663,7 +663,7 @@ namespace OnlineStore.DeviceLibrary
FeedingEquip equip = FeedingEquipMap[deviceId]; FeedingEquip equip = FeedingEquipMap[deviceId];
if (equip.runStatus >= LineRunStatus.Runing) if (equip.runStatus >= LineRunStatus.Runing)
{ {
if (equip.NeedCurrTray()) if (equip.CurrTrayIsNeed(false ))
{ {
return true; return true;
} }
......
...@@ -115,10 +115,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -115,10 +115,17 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
public void AbsMove(LineMoveInfo MoveInfo, int targetPosition, int targetSpeed) public void AbsMove(LineMoveInfo MoveInfo, int targetPosition, int targetSpeed)
{ {
if (MoveInfo == null)
{
AbsMove(targetPosition, targetSpeed);
}
else
{
MoveInfo.WaitList.Add(WaitResultInfo.WaitAxis(Config, targetPosition, targetSpeed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitAxis(Config, targetPosition, targetSpeed));
Config.TargetPosition = targetPosition; Config.TargetPosition = targetPosition;
ACServerManager.AbsMove(Config.DeviceName, Config.GetAxisValue(), targetPosition, targetSpeed); ACServerManager.AbsMove(Config.DeviceName, Config.GetAxisValue(), targetPosition, targetSpeed);
} }
}
/// <summary> /// <summary>
/// 判断AC伺服电机轴是否运动完成 /// 判断AC伺服电机轴是否运动完成
...@@ -143,12 +150,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -143,12 +150,13 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.error(axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount + LogUtil.error(axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount +
"],误差过大,重新开始运动,剩余[" + MoveInfo.CanWhileCount + "]次"); "],误差过大,重新开始运动,剩余[" + MoveInfo.CanWhileCount + "]次");
ACServerManager.SuddenStop(axis.DeviceName, axis.GetAxisValue());
ACServerManager.AbsMove(axis.DeviceName, axis.GetAxisValue(), targetPosition, targetSpeed); ACServerManager.AbsMove(axis.DeviceName, axis.GetAxisValue(), targetPosition, targetSpeed);
MoveInfo.CanWhileCount--; MoveInfo.CanWhileCount--;
} }
else else
{ {
msg = " storeMoveStep=" + MoveInfo.MoveStep + axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount msg = " storeMoveStep=" + MoveInfo.SLog + axis.DisplayStr + "目标位置[" + targetPosition + "]当前位置[" + outCount
+ "],误差过大,需要报警"; + "],误差过大,需要报警";
LogUtil.error(msg,1034); LogUtil.error(msg,1034);
} }
...@@ -177,7 +185,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -177,7 +185,7 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
msg = " storeMoveStep=" + MoveInfo.MoveStep + axis.DisplayStr + "收到原点完成信号,当前位置[" + outCount + "],误差过大,需要报警"; msg = " storeMoveStep=" + MoveInfo.SLog + axis.DisplayStr + "收到原点完成信号,当前位置[" + outCount + "],误差过大,需要报警";
LogUtil.error(msg); LogUtil.error(msg);
} }
} }
...@@ -192,7 +200,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -192,7 +200,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 绝对运动至点,不等待结果 /// 绝对运动至点,不等待结果
/// </summary> /// </summary>
public void AbsMove(int targetPos, double targetSpeed) private void AbsMove(int targetPos, double targetSpeed)
{ {
if (targetPos.Equals(-1)) if (targetPos.Equals(-1))
{ {
......
...@@ -43,24 +43,24 @@ namespace OnlineStore.DeviceLibrary ...@@ -43,24 +43,24 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 物品二维码信息 /// 物品二维码信息
/// </summary> /// </summary>
public string WareCode { get; set; } public string WareCode = "";
/// <summary> /// <summary>
/// 位置坐标名(对应配置表的位置) /// 位置坐标名(对应配置表的位置)
/// </summary> /// </summary>
public string PosId { get; set; } public string PosId = "";
/// <summary> /// <summary>
/// 托盘号 /// 托盘号
/// </summary> /// </summary>
public int TrayNumber { get; set; } public int TrayNumber = -1;
/// <summary> /// <summary>
/// 料盘高度 /// 料盘高度
/// </summary> /// </summary>
public int PlateH { get; set; } public int PlateH = 0;
/// <summary> /// <summary>
/// 料盘宽度 /// 料盘宽度
/// </summary> /// </summary>
public int PlateW { get; set; } public int PlateW = 0;
public string ToStr() public string ToStr()
{ {
......
...@@ -384,7 +384,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -384,7 +384,10 @@ namespace OnlineStore.DeviceLibrary
/// 等待当前的出入库结束 /// 等待当前的出入库结束
/// </summary> /// </summary>
MO_200_WaitInoutParam=3200, MO_200_WaitInoutParam=3200,
/// <summary>
/// 等待紧急出料结束
/// </summary>
MO_201_WaitOutEnd=3201,
#endregion #endregion
...@@ -706,8 +709,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -706,8 +709,10 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 入料装置出料处理,12000开始 #region 入料装置出料处理,12000开始
/// <summary>
/// 出库流程:提升伺服到P2
/// </summary>
FO_00_BatchAxisToP2=12000,
/// <summary> /// <summary>
/// 出料流程:升降盘定位气缸后退 /// 出料流程:升降盘定位气缸后退
/// </summary> /// </summary>
......
...@@ -49,32 +49,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -49,32 +49,32 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 夹具编码值(1-32?) /// 夹具编码值(1-32?)
/// </summary> /// </summary>
public int TrayCode { get; set; } public int TrayCode = -1;
/// <summary> /// <summary>
/// 是否有料盘,true=有料盘 /// 是否有料盘,true=有料盘
/// </summary> /// </summary>
public bool IsFull { get; set; } public bool IsFull = false;
/// <summary> /// <summary>
/// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库 /// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库
/// </summary> /// </summary>
public int InOrOutStore { get; set; } public int InOrOutStore = 0;
/// <summary> /// <summary>
/// 物品二维码信息 /// 物品二维码信息
/// </summary> /// </summary>
public string WareCode { get; set; } public string WareCode = "";
/// <summary> /// <summary>
/// 位置名(对应配置表的位置) /// 位置名(对应配置表的位置)
/// </summary> /// </summary>
public string PosId { get; set; } public string PosId = "";
/// <summary> /// <summary>
/// 料盘高度 /// 料盘高度
/// </summary> /// </summary>
public int PlateH { get; set; } public int PlateH = 0;
/// <summary> /// <summary>
/// 料盘宽度 /// 料盘宽度
/// </summary> /// </summary>
public int PlateW { get; set; } public int PlateW = 0;
/// <summary> /// <summary>
/// 入库失败料盘,未扫到码或获取库位号失败 /// 入库失败料盘,未扫到码或获取库位号失败
/// </summary> /// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!