Commit d7abd7ab 张东亮

1

1 个父辈 d70f693d
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="agvClient\AgvClient_Dbline.cs" /> <Compile Include="agvClient\AgvClient_Dbline.cs" />
<Compile Include="bean\LineFloor.cs" />
<Compile Include="bean\RobotBase.cs" /> <Compile Include="bean\RobotBase.cs" />
<Compile Include="deviceLibrary\ABB\ABBControl.cs" /> <Compile Include="deviceLibrary\ABB\ABBControl.cs" />
<Compile Include="deviceLibrary\IO\AIOBOX\AIOBOX.cs" /> <Compile Include="deviceLibrary\IO\AIOBOX\AIOBOX.cs" />
......
...@@ -17,13 +17,45 @@ namespace OnlineStore.DeviceLibrary ...@@ -17,13 +17,45 @@ namespace OnlineStore.DeviceLibrary
/// 左下层链条 /// 左下层链条
/// </summary> /// </summary>
public static LineMonitor LeftLowLine; public static LineMonitor LeftLowLine;
public static LineMonitor LeftHighLine;
public static void InitLine() public static void InitLine()
{ {
LineMonitor.Log.LogEvent += Log_LogEvent; LineMonitor.Log.LogEvent += Log_LogEvent;
LeftLowLine = new LineMonitor("左下层链条"); LeftLowLine = new LineMonitor("左下层链条");
LeftHighLine = new LineMonitor("左上层链条");
LeftLowLine.LineOperateEvent += LeftLowLine_LineOperateEvent; LeftLowLine.LineOperateEvent += LeftLowLine_LineOperateEvent;
LeftLowLine.LineStateEvent += LeftLowLine_LineStateEvent; LeftLowLine.LineStateEvent += LeftLowLine_LineStateEvent;
LeftHighLine.LineOperateEvent += LeftHighLine_LineOperateEvent;
LeftHighLine.LineStateEvent += LeftHighLine_LineStateEvent;
}
private static bool LeftHighLine_LineStateEvent(LineRunParam runParam)
{
switch (runParam)
{
case LineRunParam.Run:
return IOManager.IOValue(IO_Type.LHigh_LineRun).Equals(IO_VALUE.HIGH);
case LineRunParam.Stop:
return IOManager.IOValue(IO_Type.LHigh_LineRun).Equals(IO_VALUE.LOW);
case LineRunParam.BackRun:
return false;
default: return false;
}
}
private static void LeftHighLine_LineOperateEvent(LineRunParam runParam)
{
switch (runParam)
{
case LineRunParam.Run:
IOManager.IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH);
break;
case LineRunParam.Stop:
IOManager.IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
break;
case LineRunParam.BackRun:
break;
}
} }
private static void Log_LogEvent(LogEventArgs args) private static void Log_LogEvent(LogEventArgs args)
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
internal enum LineFloor
{
/// <summary>
/// 未查询到
/// </summary>
None,
/// <summary>
/// 一层-大料架
/// </summary>
One,
/// <summary>
/// 二层-小料架
/// </summary>
Two,
}
}
...@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary
{ {
#region 流水线料架处理,料架进入,出去,工位流转 #region 流水线料架处理,料架进入,出去,工位流转
public string LeftUpdownRFID = "";
private Stopwatch lowWatch = new Stopwatch(); private Stopwatch lowWatch = new Stopwatch();
private Stopwatch lhighWatch = new Stopwatch(); private Stopwatch lhighWatch = new Stopwatch();
private Stopwatch rhighWatch = new Stopwatch(); private Stopwatch rhighWatch = new Stopwatch();
...@@ -26,6 +24,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -26,6 +24,14 @@ namespace OnlineStore.DeviceLibrary
private bool LHighProcess = false; private bool LHighProcess = false;
private bool RHighProcess = false; private bool RHighProcess = false;
private bool ROutProcess = false; private bool ROutProcess = false;
/// <summary>
/// 左侧进去料架所在层
/// </summary>
LineFloor leftInShelf;
/// <summary>
/// 左侧提升机rfid
/// </summary>
public string LeftUpdownRFID = "";
private void ShelfCheckPro() private void ShelfCheckPro()
{ {
...@@ -166,8 +172,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -166,8 +172,7 @@ namespace OnlineStore.DeviceLibrary
//开始料架进入处理 //开始料架进入处理
MoveInfo.NewMove(LineMoveType.LeftShelf, MoveStep.SI01_ShelfInLeft); MoveInfo.NewMove(LineMoveType.LeftShelf, MoveStep.SI01_ShelfInLeft);
IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW); IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.HIGH)); leftInShelf = LineFloor.None;
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_StopCheck, IO_VALUE.HIGH));
} }
else else
{ {
...@@ -271,11 +276,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -271,11 +276,13 @@ namespace OnlineStore.DeviceLibrary
//等待可放料架 //等待可放料架
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
{ {
leftInShelf = LineFloor.Two;
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待上层 LHigh_FullCheck无信号"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待上层 LHigh_FullCheck无信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_FullCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_FullCheck, IO_VALUE.LOW));
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix)) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix))
{ {
leftInShelf = LineFloor.One;
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待下层 LLow_FullCheck无信号"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",等待下层 LLow_FullCheck无信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_FullCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_FullCheck, IO_VALUE.LOW));
} }
...@@ -283,7 +290,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -283,7 +290,6 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.error(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",不是正确的料架,结束处理 "); LogUtil.error(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",不是正确的料架,结束处理 ");
MoveInfo.EndMove(); MoveInfo.EndMove();
} }
} }
else if (MoveInfo.MoveStep.Equals(MoveStep.SI02_ReadRFID)) else if (MoveInfo.MoveStep.Equals(MoveStep.SI02_ReadRFID))
...@@ -294,16 +300,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -294,16 +300,19 @@ namespace OnlineStore.DeviceLibrary
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr(); LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
{ {
leftInShelf = LineFloor.Two;
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",升降机上升"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",升降机上升");
CylinderMove(MoveInfo, IO_Type.L_Updown_Down, IO_Type.L_Updown_Up); CylinderMove(MoveInfo, IO_Type.L_Updown_Down, IO_Type.L_Updown_Up);
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix)) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix))
{ {
leftInShelf = LineFloor.One;
LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",升降机下降"); LogUtil.info(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",升降机下降");
CylinderMove(MoveInfo, IO_Type.L_Updown_Up, IO_Type.L_Updown_Down); CylinderMove(MoveInfo, IO_Type.L_Updown_Up, IO_Type.L_Updown_Down);
} }
else else
{ {
leftInShelf = LineFloor.None;
LogUtil.error(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",不是正确的料架,结束处理 "); LogUtil.error(Name + MoveInfo.SLog + " :左侧新料架=" + LeftUpdownRFID + ",不是正确的料架,结束处理 ");
MoveInfo.EndMove(); MoveInfo.EndMove();
} }
...@@ -353,7 +362,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -353,7 +362,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(MoveStep.SI06_WaitCheck1Low); MoveInfo.NextMoveStep(MoveStep.SI06_WaitCheck1Low);
LogUtil.info(Name + MoveInfo.SLog + ":阻挡上升,等待检测1灭,或者再等待15秒"); LogUtil.info(Name + MoveInfo.SLog + ":阻挡上升,等待检测1灭,或者再等待15秒");
LeftLineMove(IO_VALUE.HIGH, null); LeftLineMove(IO_VALUE.HIGH, null);
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW); IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(15000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(15000));
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
...@@ -400,8 +408,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -400,8 +408,8 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(MoveStep.SI08_UpdownDown); MoveInfo.NextMoveStep(MoveStep.SI08_UpdownDown);
LeftLineMove(IO_VALUE.HIGH, MoveInfo); LeftLineMove(IO_VALUE.HIGH, MoveInfo);
string result = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr(); LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
LogUtil.info(Name + MoveInfo.SLog + " 升降机下降,清理当前rfid:" + result); LogUtil.info(Name + MoveInfo.SLog + " 升降机下降,清理当前LeftUpdownRFID:" + LeftUpdownRFID);
IOMove(IO_Type.L_InLineRun, IO_VALUE.LOW); IOMove(IO_Type.L_InLineRun, IO_VALUE.LOW);
Thread.Sleep(100); Thread.Sleep(100);
...@@ -411,7 +419,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -411,7 +419,6 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(MoveStep.SI08_UpdownDown)) else if (MoveInfo.MoveStep.Equals(MoveStep.SI08_UpdownDown))
{ {
MoveInfo.NextMoveStep(MoveStep.SI09_WaitStopRun); MoveInfo.NextMoveStep(MoveStep.SI09_WaitStopRun);
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
MoveInfo.TimeOutSeconds = 30; MoveInfo.TimeOutSeconds = 30;
LogUtil.info(Name + MoveInfo.SLog + " 等待检测2亮,转动30秒"); LogUtil.info(Name + MoveInfo.SLog + " 等待检测2亮,转动30秒");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
...@@ -442,7 +449,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -442,7 +449,6 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(MoveStep.SI10_WaitTime); MoveInfo.NextMoveStep(MoveStep.SI10_WaitTime);
LogUtil.info(Name + MoveInfo.SLog + " 再转动5秒"); LogUtil.info(Name + MoveInfo.SLog + " 再转动5秒");
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
LeftLineMove(IO_VALUE.HIGH, null); LeftLineMove(IO_VALUE.HIGH, null);
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
...@@ -466,9 +472,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -466,9 +472,10 @@ namespace OnlineStore.DeviceLibrary
// } // }
// else // else
//{ //{
LeftLineMove(IO_VALUE.LOW);
LogUtil.info(Name + MoveInfo.SLog + " 停止链条转动,结束处理"); LogUtil.info(Name + MoveInfo.SLog + " 停止链条转动,结束处理");
IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW); IOMove(IO_Type.Line_StopCylinder, IO_VALUE.LOW);
LeftLineMove(IO_VALUE.LOW); leftInShelf = LineFloor.None;
MoveInfo.EndMove(); MoveInfo.EndMove();
//} //}
} }
...@@ -476,7 +483,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -476,7 +483,7 @@ namespace OnlineStore.DeviceLibrary
private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo = null) private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo = null)
{ {
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (leftInShelf.Equals(LineFloor.Two))
{ {
if (moveInfo != null) if (moveInfo != null)
{ {
...@@ -484,7 +491,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -484,7 +491,7 @@ namespace OnlineStore.DeviceLibrary
} }
CheckAndMove(IO_Type.LHigh_LineRun, value); CheckAndMove(IO_Type.LHigh_LineRun, value);
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix)) else if (leftInShelf.Equals(LineFloor.One))
{ {
if (moveInfo != null) if (moveInfo != null)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!