Commit d7abd7ab 张东亮

1

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