Commit 38029e52 LN

横移逻辑优化

1 个父辈 8608cc51
...@@ -20,7 +20,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeVal ...@@ -20,7 +20,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeVal
AXIS,0,轴二移栽上下轴,UpDown_Axis,12,HC,,20000,10000,15000,500,4000,15000,10,100,0,0 AXIS,0,轴二移栽上下轴,UpDown_Axis,12,HC,,20000,10000,15000,500,4000,15000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,, PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=29000;8=30400;48=20800;12=26000;16=22000;24=22000;32=22800;44=28000;56=11000,, PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=29000;8=30400;48=20800;12=26000;16=22000;24=22000;32=22800;44=28000;56=11000,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,8800,, PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,8850,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,20000,, PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,20000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,20000,, PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,20000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,14000,, PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,14000,,
......
...@@ -20,7 +20,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeVal ...@@ -20,7 +20,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeVal
AXIS,0,轴二移栽上下轴,UpDown_Axis,10,HC,,40000,10000,15000,500,4000,15000,10,100,0,0 AXIS,0,轴二移栽上下轴,UpDown_Axis,10,HC,,40000,10000,15000,500,4000,15000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,, PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=692;8=28900;12=22000;16=22000;24=22000;32=22000;44=22000;48=22000;56=32674,, PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=692;8=28900;12=22000;16=22000;24=22000;32=22000;44=22000;48=22000;56=32674,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,12200,, PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,12100,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,40000,, PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,40000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,40000,, PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,40000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,14000,, PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,14000,,
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,
PRO,0,是否使用伺服,UpDownUseAxis,0,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,100,HC,,3000,4000,4000,1000,5000,10000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-11000,,
PRO,0,移栽上下轴托盘取料点P2,UpDownP2List,0=80000;12=141200;16=130000;24=110000;32=98000;44=76000;48=73700;56=61000;8=150000,,
PRO,0,移栽上下轴接驳台放料点P3,UpDownP3List,0=90000;12=157500;16=150800;24=138200;32=116800;44=92500;48=90000;56=95000;8=160000,,
PRO,0,移栽上下轴托盘取料详细点P2,UpDownP2DetialList,0X0=8000;,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,400,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,
PRO,0,是否存放的大料盘,IsBigTray,0
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,100,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-11000,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=141200;16=130000;24=110000;32=98000;44=76000;48=73700;56=61000;8=150000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=157500;16=150800;24=138200;32=116800;44=92500;48=90000;56=95000;8=160000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=8000;,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,400,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,300,,
...@@ -334,7 +334,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -334,7 +334,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_OL_Tray_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_OL_Tray_Check, IO_VALUE.HIGH));
} }
} }
internal void HY03_FrontStopUp() internal void HY03_FrontStopUp(int timeout= 30000)
{ {
frontTrayCheckWait.Stop(); frontTrayCheckWait.Stop();
trayCheckLowWait.Stop(); trayCheckLowWait.Stop();
...@@ -527,13 +527,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -527,13 +527,8 @@ namespace OnlineStore.DeviceLibrary
#region C1线分流横移入口处理 11 #region C1线分流横移入口处理 11
else if (MoveInfo.IsStep(LineMoveStep.HY11_TopUpToHY)) else if (MoveInfo.IsStep(LineMoveStep.HY11_TopUpToHY))
{ {
// MoveInfo.NextMoveStep(LineMoveStep.HY12_WaitHY2Free); HY_C1Line hyout =(HY_C1Line) GetHyOutEquip();
// CheckLog("托盘横移" + MoveInfo.SLog + " ,等待HY" + HyOutDeviceId + " 空闲,可以开始横移 "); if (hyout.HYOut51_WaitFree())
//}
//else if (MoveInfo.IsStep(LineMoveStep.HY12_WaitHY2Free))
//{
HYEquipBase hyout = GetHyOutEquip();
if (hyout.CanStartMove())
{ {
MoveInfo.NextMoveStep(LineMoveStep.HY13_WaitHY2Ready); MoveInfo.NextMoveStep(LineMoveStep.HY13_WaitHY2Ready);
CheckLog("托盘横移" + MoveInfo.SLog + " ,等待" + hyout.Name + " 准备完成(顶升上升,定位下降) "); CheckLog("托盘横移" + MoveInfo.SLog + " ,等待" + hyout.Name + " 准备完成(顶升上升,定位下降) ");
...@@ -541,9 +536,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -541,9 +536,9 @@ namespace OnlineStore.DeviceLibrary
HY_StopCylinderDown(MoveInfo); HY_StopCylinderDown(MoveInfo);
OL_StopCylinderUp(MoveInfo); OL_StopCylinderUp(MoveInfo);
hyout.MoveInfo.NewMove(LineMoveType.Fixture); //hyout.MoveInfo.NewMove(LineMoveType.Fixture);
hyout.runStatus = LineRunStatus.Busy; //hyout.runStatus = LineRunStatus.Busy;
hyout.MoveInfo.NextMoveStep(LineMoveStep.HY51_WaitFree); //hyout.MoveInfo.NextMoveStep(LineMoveStep.HY51_WaitFree);
ClearTimeoutAlarm("等待" + hyout.Name + "可以横移超时"); ClearTimeoutAlarm("等待" + hyout.Name + "可以横移超时");
} }
else if (MoveInfo.IsTimeOut()) else if (MoveInfo.IsTimeOut())
...@@ -824,8 +819,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -824,8 +819,8 @@ namespace OnlineStore.DeviceLibrary
private void HY11_TopUpToHY() private void HY11_TopUpToHY()
{ {
HYEquipBase hyout = GetHyOutEquip(); HY_C1Line hyout =(HY_C1Line) GetHyOutEquip();
if (hyout.CanStartMove()) if (hyout.HYOut51_WaitFree())
{ {
MoveInfo.NextMoveStep(LineMoveStep.HY13_WaitHY2Ready); MoveInfo.NextMoveStep(LineMoveStep.HY13_WaitHY2Ready);
CheckLog("托盘横移" + MoveInfo.SLog + " 开始C1->C1分流横移,顶升上升,横移阻挡气缸下降,出料线阻挡气缸上升,等待" + hyout.Name + " 准备完成(顶升上升,定位下降) "); CheckLog("托盘横移" + MoveInfo.SLog + " 开始C1->C1分流横移,顶升上升,横移阻挡气缸下降,出料线阻挡气缸上升,等待" + hyout.Name + " 准备完成(顶升上升,定位下降) ");
...@@ -833,9 +828,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -833,9 +828,9 @@ namespace OnlineStore.DeviceLibrary
HY_StopCylinderDown(MoveInfo); HY_StopCylinderDown(MoveInfo);
OL_StopCylinderUp(MoveInfo); OL_StopCylinderUp(MoveInfo);
hyout.MoveInfo.NewMove(LineMoveType.Fixture); //hyout.MoveInfo.NewMove(LineMoveType.Fixture);
hyout.runStatus = LineRunStatus.Busy; //hyout.runStatus = LineRunStatus.Busy;
hyout.MoveInfo.NextMoveStep(LineMoveStep.HY51_WaitFree); //hyout.MoveInfo.NextMoveStep(LineMoveStep.HY51_WaitFree);
ClearTimeoutAlarm("等待" + hyout.Name + "可以横移超时"); ClearTimeoutAlarm("等待" + hyout.Name + "可以横移超时");
} }
else else
...@@ -1229,6 +1224,79 @@ namespace OnlineStore.DeviceLibrary ...@@ -1229,6 +1224,79 @@ namespace OnlineStore.DeviceLibrary
private int LastValue = 0; private int LastValue = 0;
internal bool Move5Stop2Down()
{
if (DeviceID.Equals(208))
{
if (Monitor.TryEnter(lockObj, 100))
{
try
{
if (runStatus <= LineRunStatus.Wait)
{
return true;
}
else if (MoveInfo.MoveType.Equals(LineMoveType.None))
{
if (runStatus > LineRunStatus.Wait && MoveInfo.MoveType.Equals(LineMoveType.None))
{
LogUtil.debug("进仓05托盘离开," + Name + "开始等待托盘检测信号 HY03_FrontStopUp");
HY03_FrontStopUp(60000);
return true;
}
}
}
catch (Exception ex)
{
LogUtil.error(Name + " Move5Stop2Down " + " 出错:" + ex.ToString());
}
finally
{
Monitor.Exit(lockObj);
}
}
else
{
LogUtil.error(Name + " Move5Stop2Down 失败,未得到锁");
return false;
}
}
else
{
return true;
}
return false;
}
internal bool HYOut51_WaitFree()
{
if (Monitor.TryEnter(lockObj, 100))
{
try
{
if (CanStartMove())
{
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY51_WaitFree);
return true;
}
}
catch (Exception ex)
{
LogUtil.error(Name + " HYOut51_WaitFree " + " 出错:" + ex.ToString());
}
finally
{
Monitor.Exit(lockObj);
}
}
else
{
LogUtil.error(Name + " HYOut51_WaitFree 失败,未得到锁");
}
return false;
}
#region 阻挡气缸处理 #region 阻挡气缸处理
private void HY_StopCylinderUp(LineMoveInfo moveinfo = null) private void HY_StopCylinderUp(LineMoveInfo moveinfo = null)
......
...@@ -438,41 +438,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -438,41 +438,34 @@ namespace OnlineStore.DeviceLibrary
if (HYEquipMap.ContainsKey(208)) if (HYEquipMap.ContainsKey(208))
{ {
HYEquipBase hy8 = HYEquipMap[208]; HY_C1Line hy8 = (HY_C1Line)HYEquipMap[208];
if (hy8.runStatus <= LineRunStatus.Wait) return hy8.Move5Stop2Down();
{
return true;
}
else if (hy8.MoveInfo.MoveType.Equals(LineMoveType.None))
{
return true;
}
} }
return false; return false;
} }
internal void Move5Stop2Down(int deviceId) //internal void Move5Stop2Down(int deviceId)
{ //{
try // try
{ // {
if (!deviceId.Equals(5)) // if (!deviceId.Equals(5))
{ // {
return; // return;
} // }
if (HYEquipMap.ContainsKey(208)) // if (HYEquipMap.ContainsKey(208))
{ // {
HY_C1Line hy8 = (HY_C1Line)HYEquipMap[208]; // HY_C1Line hy8 = (HY_C1Line)HYEquipMap[208];
if (hy8.runStatus > LineRunStatus.Wait && hy8.MoveInfo.MoveType.Equals(LineMoveType.None)) // if (hy8.runStatus > LineRunStatus.Wait && hy8.MoveInfo.MoveType.Equals(LineMoveType.None))
{ // {
LogUtil.debug("进仓05托盘离开," + hy8.Name + "开始等待托盘检测信号 HY03_FrontStopUp"); // LogUtil.debug("进仓05托盘离开," + hy8.Name + "开始等待托盘检测信号 HY03_FrontStopUp");
hy8.HY03_FrontStopUp(); // hy8.HY03_FrontStopUp();
} // }
} // }
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
LogUtil.error("Move5Stop2Down[" + deviceId + "]出错:" + ex.ToString()); // LogUtil.error("Move5Stop2Down[" + deviceId + "]出错:" + ex.ToString());
} // }
} //}
} }
} }
...@@ -929,7 +929,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -929,7 +929,7 @@ namespace OnlineStore.DeviceLibrary
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " , 等待300ms后阻挡2上升"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " , 等待300ms后阻挡2上升");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
LineManager.Line.Move5Stop2Down(DeviceID); //LineManager.Line.Move5Stop2Down(DeviceID);
} }
else if (SecondMoveInfo.IsStep(LineMoveStep.MO_18_WaitTime)) else if (SecondMoveInfo.IsStep(LineMoveStep.MO_18_WaitTime))
{ {
......
...@@ -173,6 +173,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -173,6 +173,18 @@ namespace OnlineStore.DeviceLibrary
IdList.Add(i); IdList.Add(i);
} }
} }
else if (num.Equals(2))
{
IdList = new List<int>() { 4, 3, 2, 1 };
for (int i = 5; i <= 12; i++)
{
IdList.Add(i);
}
for (int i = 24; i >= 13; i--)
{
IdList.Add(i);
}
}
else else
{ {
for (int i = 1; i <= 12; i++) for (int i = 1; i <= 12; i++)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!