Commit f5560e6b 张东亮

20221119

1 个父辈 70311462
正在显示 72 个修改的文件 包含 127 行增加70 行删除
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.Common</RootNamespace> <RootNamespace>OnlineStore.Common</RootNamespace>
<AssemblyName>Common</AssemblyName> <AssemblyName>Common</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
......
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
...@@ -173,7 +173,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -173,7 +173,7 @@ namespace OnlineStore.DeviceLibrary
{ {
ClientAction currA = GetAction(id); ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter)) if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{ {
SetStatus(id, shelfId, ClientAction.NeedLeave, level); SetStatus(id, shelfId, ClientAction.NeedLeave, level);
return true; return true;
} }
......
...@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
MoveInfo.EndMove(); MoveInfo.EndMove();
SecondMoveInfo.EndMove(); SecondMoveInfo.EndMove();
runStatus = LineRunStatus.HomeMoving; runStatus = LineRunStatus.HomeMoving;
LogInfo("开始原点返回: "); LogInfo("开始原点返回: ");
...@@ -89,13 +89,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -89,13 +89,13 @@ namespace OnlineStore.DeviceLibrary
} }
public override bool Reset() public override bool Reset()
{ {
runStatus = LineRunStatus.Reset; runStatus = LineRunStatus.Reset;
StopMove("复位"); StopMove("复位");
MoveInfo.NewMove(LineMoveType.Reset); MoveInfo.NewMove(LineMoveType.Reset);
SecondMoveInfo.EndMove(); SecondMoveInfo.EndMove();
if (RunAxis(true, BatchAxis) && RunAxis(true, UpdownAxis)) if (RunAxis(true, BatchAxis) && RunAxis(true, UpdownAxis))
{ {
alarmType = LineAlarmType.None; alarmType = LineAlarmType.None;
LogInfo("开始重置: "); LogInfo("开始重置: ");
runStatus = LineRunStatus.Reset; runStatus = LineRunStatus.Reset;
...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
OutStoreHeight = -1; OutStoreHeight = -1;
//OutStoreCount = 0; //OutStoreCount = 0;
BatchAxisStopCheck(); BatchAxisStopCheck();
ResetClearData(); ResetClearData();
IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.SL_HddLed, IO_VALUE.HIGH);
MoveInfo.NextMoveStep(LineMoveStep.FR_01_StopUp); MoveInfo.NextMoveStep(LineMoveStep.FR_01_StopUp);
...@@ -284,11 +284,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -284,11 +284,11 @@ namespace OnlineStore.DeviceLibrary
case LineMoveStep.FR_17_BatchAxisToP1: case LineMoveStep.FR_17_BatchAxisToP1:
MoveInfo.NextMoveStep(LineMoveStep.FR_18_ClampCheck); MoveInfo.NextMoveStep(LineMoveStep.FR_18_ClampCheck);
DebugInfo(MoveInfo.MoveType + " : 等待夹爪料盘检测信号无料"); DebugInfo(MoveInfo.MoveType + " : 等待夹爪料盘检测信号无料");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_ClampCylinder_Check, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_ClampCylinder_Check, IO_VALUE.LOW));
break; break;
case LineMoveStep.FR_18_ClampCheck: case LineMoveStep.FR_18_ClampCheck:
LogInfo("重置完成!"); LogInfo("重置完成!");
MoveEndS(); MoveEndS();
break; break;
default: break; default: break;
...@@ -331,10 +331,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -331,10 +331,10 @@ namespace OnlineStore.DeviceLibrary
//CheckAndMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); //CheckAndMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
CloseAllDO(); CloseAllDO();
} }
public override void StopRun() public override void StopRun()
{ {
runStatus = LineRunStatus.Wait; runStatus = LineRunStatus.Wait;
if (mainTimer != null) if (mainTimer != null)
{ {
mainTimer.Enabled = false; mainTimer.Enabled = false;
...@@ -345,7 +345,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -345,7 +345,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient.SetStatus(Config.AgvOutName, "", ClientAction.None, ClientLevel.Low, true); AgvClient.SetStatus(Config.AgvOutName, "", ClientAction.None, ClientLevel.Low, true);
} }
protected override void BaseTimerProcess() protected override void BaseTimerProcess()
{ {
if (runStatus.Equals(LineRunStatus.Wait)) if (runStatus.Equals(LineRunStatus.Wait))
...@@ -353,10 +353,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -353,10 +353,10 @@ namespace OnlineStore.DeviceLibrary
//取新的Io状态 //取新的Io状态
IO_VALUE fuweiValue = IOValue(IO_Type.SL_Reset_BTN); IO_VALUE fuweiValue = IOValue(IO_Type.SL_Reset_BTN);
IO_VALUE lastFuwei = DILastValueMap[IO_Type.SL_Reset_BTN]; IO_VALUE lastFuwei = DILastValueMap[IO_Type.SL_Reset_BTN];
addLastDI(IO_Type.SL_Reset_BTN, fuweiValue); addLastDI(IO_Type.SL_Reset_BTN, fuweiValue);
//收到复位信号后启动 //收到复位信号后启动
if ( fuweiValue.Equals(IO_VALUE.HIGH) && lastFuwei.Equals(IO_VALUE.LOW)) if (fuweiValue.Equals(IO_VALUE.HIGH) && lastFuwei.Equals(IO_VALUE.LOW))
{ {
//没有启动时收到启动按钮 //没有启动时收到启动按钮
LogUtil.info(Name + "没有启动时收到复位按钮,开始调用启动方法!"); LogUtil.info(Name + "没有启动时收到复位按钮,开始调用启动方法!");
...@@ -426,6 +426,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -426,6 +426,7 @@ namespace OnlineStore.DeviceLibrary
{ {
StartOutStoreP(); StartOutStoreP();
} }
OutLineProcess();
} }
AgvStatusPro(); AgvStatusPro();
...@@ -434,17 +435,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -434,17 +435,16 @@ namespace OnlineStore.DeviceLibrary
if (UseAxis && runStatus >= LineRunStatus.Runing) if (UseAxis && runStatus >= LineRunStatus.Runing)
{ {
CheckAxisAlarm(UpdownAxis,BatchAxis); CheckAxisAlarm(UpdownAxis, BatchAxis);
} }
OutLineProcess();
} }
} }
private void CloseLed() private void CloseLed()
{ {
CheckAndMove(IO_Type.SL_AlarmLed, IO_VALUE.LOW); CheckAndMove(IO_Type.SL_AlarmLed, IO_VALUE.LOW);
CheckAndMove(IO_Type.SL_HddLed, IO_VALUE.LOW); CheckAndMove(IO_Type.SL_HddLed, IO_VALUE.LOW);
} }
private DateTime lastProLedTime = DateTime.Now; private DateTime lastProLedTime = DateTime.Now;
private void LedProcess() private void LedProcess()
...@@ -525,10 +525,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -525,10 +525,10 @@ namespace OnlineStore.DeviceLibrary
#region 气缸判断及动作 #region 气缸判断及动作
public void TopCylinderUp(LineMoveInfo moveinfo = null) public void TopCylinderUp(LineMoveInfo moveinfo = null)
{ {
CylinderMove(moveinfo, IO_Type.SL_TopCylinder_Down, IO_Type.SL_TopCylinder_Up); CylinderMove(moveinfo, IO_Type.SL_TopCylinder_Down, IO_Type.SL_TopCylinder_Up);
if (moveinfo != null) if (moveinfo != null)
{ {
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Down, IO_VALUE.LOW)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Down, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Up, IO_VALUE.HIGH)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Up, IO_VALUE.HIGH));
} }
...@@ -536,13 +536,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -536,13 +536,13 @@ namespace OnlineStore.DeviceLibrary
public void TopCylinderDown(LineMoveInfo moveinfo = null) public void TopCylinderDown(LineMoveInfo moveinfo = null)
{ {
CylinderMove(moveinfo, IO_Type.SL_TopCylinder_Up, IO_Type.SL_TopCylinder_Down); CylinderMove(moveinfo, IO_Type.SL_TopCylinder_Up, IO_Type.SL_TopCylinder_Down);
if (moveinfo != null) if (moveinfo != null)
{ {
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Up, IO_VALUE.LOW)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Up, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Down, IO_VALUE.HIGH)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutTopCylinder_Down, IO_VALUE.HIGH));
} }
} }
public void LocationCylinderUp(LineMoveInfo moveinfo = null) public void LocationCylinderUp(LineMoveInfo moveinfo = null)
{ {
...@@ -568,7 +568,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -568,7 +568,7 @@ namespace OnlineStore.DeviceLibrary
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_LocationCylinder_Up2, IO_VALUE.LOW)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_LocationCylinder_Up2, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_LocationCylinder_Down2, IO_VALUE.HIGH)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_LocationCylinder_Down2, IO_VALUE.HIGH));
} }
} }
public void FixedCylinderUp(LineMoveInfo moveinfo = null) public void FixedCylinderUp(LineMoveInfo moveinfo = null)
{ {
IOMove(IO_Type.SL_FixedCylinder_Down, IO_VALUE.LOW); IOMove(IO_Type.SL_FixedCylinder_Down, IO_VALUE.LOW);
...@@ -629,7 +629,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -629,7 +629,7 @@ namespace OnlineStore.DeviceLibrary
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_TrayLocation2_Before, IO_VALUE.HIGH)); moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_TrayLocation2_Before, IO_VALUE.HIGH));
} }
} }
public void TrayLCylinderAfter(LineMoveInfo moveinfo = null) public void TrayLCylinderAfter(LineMoveInfo moveinfo = null)
{ {
if (TrayLCylinderCanAfter()) if (TrayLCylinderCanAfter())
...@@ -672,9 +672,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -672,9 +672,9 @@ namespace OnlineStore.DeviceLibrary
} }
return false; return false;
} }
public bool IsTrayLCylinderAfter() public bool IsTrayLCylinderAfter()
{ {
if (IOValue(IO_Type.SL_TrayLocation1_After).Equals(IO_VALUE.HIGH) && if (IOValue(IO_Type.SL_TrayLocation1_After).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.SL_TrayLocation1_Before).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SL_TrayLocation1_Before).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.SL_TrayLocation2_After).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SL_TrayLocation2_After).Equals(IO_VALUE.HIGH) &&
...@@ -701,12 +701,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -701,12 +701,12 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.SL_FixedCylinder_Down2).Equals(IO_VALUE.LOW)) IOValue(IO_Type.SL_FixedCylinder_Down2).Equals(IO_VALUE.LOW))
{ {
return true; return true;
} }
} }
return false; return false;
} }
public bool UpdownIsInP1() public bool UpdownIsInP1()
{ {
if (UpdownAxis.IsInPosition(Config.UpDownAxisP1)) if (UpdownAxis.IsInPosition(Config.UpDownAxisP1))
...@@ -720,8 +720,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -720,8 +720,8 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 提升轴匀速上升处理 #region 提升轴匀速上升处理
public bool LastMoveIsTest = true; public bool LastMoveIsTest = true;
public void BatchAxisToP3(bool isFirstMove = true, bool isWait = true, bool IsTest = false ) public void BatchAxisToP3(bool isFirstMove = true, bool isWait = true, bool IsTest = false)
{ {
int targetP3 = Config.BatchAxisP3; int targetP3 = Config.BatchAxisP3;
int targetSpeed = Config.BatchAxis_P3Speed; int targetSpeed = Config.BatchAxis_P3Speed;
...@@ -777,7 +777,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -777,7 +777,7 @@ namespace OnlineStore.DeviceLibrary
return true; return true;
} }
public bool BatchAxisStopCheck() public bool BatchAxisStopCheck()
{ {
if (!(axisCheckTimer == null)) if (!(axisCheckTimer == null))
{ {
...@@ -787,13 +787,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -787,13 +787,13 @@ namespace OnlineStore.DeviceLibrary
} }
public bool IsBatchMove() public bool IsBatchMove()
{ {
if (axisCheckTimer!=null&& axisCheckTimer.Enabled) if (axisCheckTimer != null && axisCheckTimer.Enabled)
{ {
return true; return true;
} }
return false; return false;
} }
private bool IsInProcess = false; private bool IsInProcess = false;
private DateTime lastOkTime = DateTime.Now; private DateTime lastOkTime = DateTime.Now;
private void CheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) private void CheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
...@@ -810,7 +810,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -810,7 +810,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + "上料轴,检测到 " + TargetIoType + "=" + TargetIoValue + ",停止运动"); LogUtil.info(Name + "上料轴,检测到 " + TargetIoType + "=" + TargetIoValue + ",停止运动");
BatchAxis.SuddenStop(); BatchAxis.SuddenStop();
BatchAxisStopCheck(); BatchAxisStopCheck();
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -994,12 +994,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -994,12 +994,12 @@ namespace OnlineStore.DeviceLibrary
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
int StopDownMS = 0; int StopDownMS = 0;
string checkIo = IO_Type.SL_Out_Check; string checkIo = IO_Type.SL_Out_Check;
string lineDo = IO_Type.SL_OutSideWay_Run; string lineDo = IO_Type.SL_OutSideWay_Run;
string stopDo = IO_Type.SL_Out_StopDown; string stopDo = IO_Type.SL_Out_StopDown;
if (HasOutLine) if (HasOutLine)
{ {
StopDownMS = 1500; StopDownMS = 3000;
checkIo = IO_Type.SL_OutLine_Check; checkIo = IO_Type.SL_OutLine_Check;
lineDo = IO_Type.SL_OutLine_Run; lineDo = IO_Type.SL_OutLine_Run;
} }
...@@ -1009,16 +1009,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -1009,16 +1009,17 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(logName + "开始,先设置状态为 MayLeave,阻挡下降" + StopDownMS); LogUtil.info(logName + "开始,先设置状态为 MayLeave,阻挡下降" + StopDownMS);
AgvClient.SetStatus(Config.AgvOutName, LastOutShelfId, ClientAction.MayLeave, ClientLevel.High, true); AgvClient.SetStatus(Config.AgvOutName, LastOutShelfId, ClientAction.MayLeave, ClientLevel.High, true);
if (IOValue(checkIo).Equals(IO_VALUE.HIGH)) if (IOValue(checkIo).Equals(IO_VALUE.HIGH))
{ {
ProcessShelfOut = true; ProcessShelfOut = true;
//出口阻挡下降,出口线体转动 //出口阻挡下降,出口线体转动
IOMove(stopDo, IO_VALUE.HIGH, StopDownMS);
IOMove(lineDo, IO_VALUE.HIGH); IOMove(lineDo, IO_VALUE.HIGH);
Thread.Sleep(2000);
IOMove(stopDo, IO_VALUE.HIGH, StopDownMS);
bool result = WaitIo(checkIo, IO_VALUE.LOW, 60000); bool result = WaitIo(checkIo, IO_VALUE.LOW, 60000);
if (!result) if (!result)
{ {
LogUtil.info(logName + " 等待 "+ checkIo + "=LOW超时,等待8000后停止" + lineDo+"转动,发送FinishLeave"); LogUtil.info(logName + " 等待 " + checkIo + "=LOW超时,等待8000后停止" + lineDo + "转动,发送FinishLeave");
} }
else else
{ {
...@@ -1103,7 +1104,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1103,7 +1104,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW);
} }
//料架可离开 //料架可离开
AgvClient.SetStatus(Config.AgvInName, "", ClientAction.FinishEnter, ClientLevel.High, true); AgvClient.SetStatus(Config.AgvInName, "", ClientAction.FinishEnter, ClientLevel.High, true);
Thread.Sleep(5000); Thread.Sleep(5000);
AgvClient.SetStatus(Config.AgvInName, "", ClientAction.None, ClientLevel.High, true); AgvClient.SetStatus(Config.AgvInName, "", ClientAction.None, ClientLevel.High, true);
...@@ -1244,21 +1245,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -1244,21 +1245,21 @@ namespace OnlineStore.DeviceLibrary
{ {
leftTask = "剩余任务:" + taskData.ToStr(); leftTask = "剩余任务:" + taskData.ToStr();
} }
msg += "料架:" + CurrShelfId + " "+leftTask + "\r\n"; msg += "料架:" + CurrShelfId + " " + leftTask + "\r\n";
if (LastOutParam.rfid != "") if (LastOutParam.rfid != "")
{ {
msg += "出库信息:" + LastOutParam.ToShortStr() + "\r\n"; msg += "出库信息:" + LastOutParam.ToShortStr() + "\r\n";
} }
msg += "当前托盘:" + currTrayNum + " 上个托盘:" + preTrayNum + "\n"; msg += "当前托盘:" + currTrayNum + " 上个托盘:" + preTrayNum + "\n";
msg += "runS: " + runStatus + "\n"; msg += "runS: " + runStatus + "\n";
msg += "alarm: " + alarmType + "\n"; msg += "alarm: " + alarmType + "\n";
msg += "MoveT:" + MoveInfo.MoveType + " " + MoveInfo.SLog + "\n"; msg += "MoveT:" + MoveInfo.MoveType + " " + MoveInfo.SLog + "\n";
return msg; return msg;
} }
public string GetLastTrayInfo() public string GetLastTrayInfo()
{ {
return "" + LastWidth + "X" + LastHeight + "=" + lastcode + "["+((LastPosParam!=null) ?LastPosParam.PosId:"")+"]"; return "" + LastWidth + "X" + LastHeight + "=" + lastcode + "[" + ((LastPosParam != null) ? LastPosParam.PosId : "") + "]";
} }
} }
} }
...@@ -755,10 +755,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -755,10 +755,10 @@ namespace OnlineStore.DeviceLibrary
if (HasOutLine) if (HasOutLine)
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_62_OutLineRun); MoveInfo.NextMoveStep(LineMoveStep.FI_62_OutLineRun);
InLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"); InLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动15秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(15000));
if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
{ {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
......
...@@ -543,10 +543,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -543,10 +543,10 @@ namespace OnlineStore.DeviceLibrary
if (HasOutLine) if (HasOutLine)
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_62_OutLineRun); MoveInfo.NextMoveStep(LineMoveStep.FO_62_OutLineRun);
OutLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"); OutLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动30秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
{ {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
......
...@@ -247,14 +247,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -247,14 +247,18 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(LineMoveStep.OHY02_TopDown)) else if (MoveInfo.IsStep(LineMoveStep.OHY02_TopDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY03_LongLStopDown); MoveInfo.NextMoveStep(LineMoveStep.OHY03_LongLStopDown);
CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 长线体阻挡下降1200"); CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 长线体阻挡下降");
IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.HIGH, 1200); IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LongL_StopDown, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LongL_StopCheck, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY03_LongLStopDown)) else if (MoveInfo.IsStep(LineMoveStep.OHY03_LongLStopDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY04_WaitTray); MoveInfo.NextMoveStep(LineMoveStep.OHY04_WaitTray);
IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.LOW);
CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 等待托盘检测信号"); CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 等待托盘检测信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LongL_StopCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LongL_StopDown, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY04_WaitTray)) else if (MoveInfo.IsStep(LineMoveStep.OHY04_WaitTray))
...@@ -263,13 +267,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -263,13 +267,29 @@ namespace OnlineStore.DeviceLibrary
CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 再次等待托盘检测信号500ms"); CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 再次等待托盘检测信号500ms");
IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY05_TrayCheck)) else if (MoveInfo.IsStep(LineMoveStep.OHY05_TrayCheck))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY21_WaitTrayLeave); if(IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 等待托盘离开"); {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.LOW)); MoveInfo.NextMoveStep(LineMoveStep.OHY21_WaitTrayLeave);
CheckLog("出料线横移(长线)" + MoveInfo.SLog + " 等待托盘离开");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.LOW));
}
else if (MoveInfo.IsTimeOut())
{
LogInfo("出料线横移(长线)" + MoveInfo.SLog + " 60秒超时,自动复位");
MoveInfo.EndMove();
Reset();
}
else if(MoveInfo.IsTimeOut(15))
{
MoveInfo.NextMoveStep(LineMoveStep.OHY05_TrayCheck);
LogInfo("出料线横移(长线)" + MoveInfo.SLog + " 15秒超时,长线体阻挡下降1200");
IOMove(IO_Type.HY_LongL_StopDown, IO_VALUE.HIGH,1200);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
}
} }
#endregion #endregion
...@@ -284,15 +304,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -284,15 +304,19 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(LineMoveStep.OHY12_TopUp)) else if (MoveInfo.IsStep(LineMoveStep.OHY12_TopUp))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY13_ShortLStopDown); MoveInfo.NextMoveStep(LineMoveStep.OHY13_ShortLStopDown);
CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 短线阻挡下降1200,线体转动"); CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 短线阻挡下降,线体转动");
IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.HIGH, 1200);
LineRun(MoveInfo); LineRun(MoveInfo);
IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_ShortL_StopDown, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_ShortL_StopCheck, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY13_ShortLStopDown)) else if (MoveInfo.IsStep(LineMoveStep.OHY13_ShortLStopDown))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY14_WaitTray); MoveInfo.NextMoveStep(LineMoveStep.OHY14_WaitTray);
CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 等待托盘检测信号"); CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 等待托盘检测信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_ShortL_StopCheck, IO_VALUE.LOW)); IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_ShortL_StopDown, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY14_WaitTray)) else if (MoveInfo.IsStep(LineMoveStep.OHY14_WaitTray))
...@@ -301,14 +325,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -301,14 +325,29 @@ namespace OnlineStore.DeviceLibrary
CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 再次等待托盘检测信号500ms"); CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 再次等待托盘检测信号500ms");
IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.LOW); IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY15_TrayCheck)) else if (MoveInfo.IsStep(LineMoveStep.OHY15_TrayCheck))
{ {
MoveInfo.NextMoveStep(LineMoveStep.OHY16_TopDown); if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 顶升气缸下降,线体停止"); {
CylinderMove(MoveInfo, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down); MoveInfo.NextMoveStep(LineMoveStep.OHY16_TopDown);
LineStop(MoveInfo); CheckLog("出料线横移(短线)" + MoveInfo.SLog + " 顶升气缸下降,线体停止");
CylinderMove(MoveInfo, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
LineStop(MoveInfo);
}
else if (MoveInfo.IsTimeOut())
{
LogInfo("出料线横移(短线)" + MoveInfo.SLog + " 60秒超时,自动复位");
MoveInfo.EndMove();
Reset();
}
else if(MoveInfo.IsTimeOut(15))
{
MoveInfo.NextMoveStep(LineMoveStep.OHY15_TrayCheck);
LogInfo("出料线横移(短线)" + MoveInfo.SLog + " 15秒超时,短线阻挡下降1200");
IOMove(IO_Type.HY_ShortL_StopDown, IO_VALUE.HIGH,1200);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
}
} }
else if (MoveInfo.IsStep(LineMoveStep.OHY16_TopDown)) else if (MoveInfo.IsStep(LineMoveStep.OHY16_TopDown))
{ {
......
...@@ -37,12 +37,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -37,12 +37,14 @@ namespace OnlineStore.DeviceLibrary
else if (ioType.Equals(IO_Type.HY_FrontStopCheck) || ioType.Equals(IO_Type.HY_OL_Tray_Check)) else if (ioType.Equals(IO_Type.HY_FrontStopCheck) || ioType.Equals(IO_Type.HY_OL_Tray_Check))
{ {
} }
else if ( ioType.Equals(IO_Type.SL_RollerLine_Run)|| ioType.Equals(IO_Type.SL_OutLine_Run) || ioType.Equals(IO_Type.SL_OutLine_Check)) else if (ioType.Equals(IO_Type.SL_RollerLine_Run) || ioType.Equals(IO_Type.SL_OutLine_Run) || ioType.Equals(IO_Type.SL_OutLine_Check))
{ {
}else if (ioType.Equals(IO_Type.HY_LongL_StopDown)) }
else if (ioType.Equals(IO_Type.HY_LongL_StopDown))
{ {
}else if (IOType.Equals(IO_Type.SL_Buffer_StopDown)) }
else if (IOType.Equals(IO_Type.SL_Buffer_StopDown))
{ {
} }
...@@ -58,7 +60,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -58,7 +60,9 @@ namespace OnlineStore.DeviceLibrary
if (configIo != null) if (configIo != null)
{ {
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue); instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
Thread.Sleep(10); Thread.Sleep(100);
if (!IOValue(ioType, subType).Equals(ioValue))
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue);
} }
else else
{ {
......
...@@ -428,42 +428,55 @@ namespace OnlineStore.DeviceLibrary ...@@ -428,42 +428,55 @@ namespace OnlineStore.DeviceLibrary
//夹爪夹紧 //夹爪夹紧
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
} }
else if (baseConfig.DType.Equals(DeviceType.FeedingEquip) && (IoHighType.Equals(IO_Type.SL_ClampCylinder_Relax))) else if (baseConfig.DType.Equals(DeviceType.FeedingEquip) && (IoHighType.Equals(IO_Type.SL_ClampCylinder_Relax)))
{ {
//夹爪放松 //夹爪放松
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
} }
else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Relax))) else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Relax)))
{ {
//夹爪放松 //夹爪放松
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
} }
else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Work))) else if (baseConfig.DType.Equals(DeviceType.MoveEquip) && (IoHighType.Equals(IO_Type.ClampCylinder_Work)))
{ {
//夹爪夹紧 //夹爪夹紧
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
} }
else if (baseConfig.DType.Equals(DeviceType.HYEquip) && (IoHighType.Equals(IO_Type.HY_ClampCylinder_Relax))) else if (baseConfig.DType.Equals(DeviceType.HYEquip) && (IoHighType.Equals(IO_Type.HY_ClampCylinder_Relax)))
{ {
//夹爪放松 //夹爪放松
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
} }
else if (baseConfig.DType.Equals(DeviceType.HYEquip) && (IoHighType.Equals(IO_Type.HY_ClampCylinder_Work))) else if (baseConfig.DType.Equals(DeviceType.HYEquip) && (IoHighType.Equals(IO_Type.HY_ClampCylinder_Work)))
{ {
//夹爪夹紧 //夹爪夹紧
moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); moveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
} }
else else
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoLowType, IO_VALUE.LOW));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
} }
} }
if (isCheckMove) if (isCheckMove)
{ {
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.LoadCSVLibrary</RootNamespace> <RootNamespace>OnlineStore.LoadCSVLibrary</RootNamespace>
<AssemblyName>LoadCSVLibrary</AssemblyName> <AssemblyName>LoadCSVLibrary</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
......
文件属性发生变化
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!