Commit 4f262f65 LN

料仓内部逻辑

1 个父辈 140cc20a
...@@ -211,11 +211,10 @@ namespace OnlineStore.DUOStore ...@@ -211,11 +211,10 @@ namespace OnlineStore.DUOStore
{ {
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving) if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{ {
//string selectPositionNum = cmbPosition.Text; string selectPositionNum = cmbPosition.Text;
//string sleShelfNum = cmbShelfPosition.Text; LineMoveP ktk = LoadPostion();
//LineMoveP ktk = LoadPostion(); InOutParam param = new InOutParam("", selectPositionNum, ktk);
//InOutParam param = new InOutParam("", selectPositionNum, sleShelfNum, ktk); BoxBean.StartOutStoreMove(param);
//BoxBean.StartOutStoreMove(param);
} }
else else
{ {
...@@ -227,10 +226,9 @@ namespace OnlineStore.DUOStore ...@@ -227,10 +226,9 @@ namespace OnlineStore.DUOStore
{ {
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving) if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{ {
//string selectPositionNum = cmbPosition.Text; string selectPositionNum = cmbPosition.Text;
//string sleShelfNum = cmbShelfPosition.Text; LineMoveP ktk = LoadPostion();
//LineMoveP ktk = LoadPostion(); BoxBean.StartInStoreMove(new InOutParam("", selectPositionNum, ktk));
//BoxBean.StartInStoreMove(new InOutParam("", selectPositionNum, sleShelfNum, ktk));
} }
else else
{ {
...@@ -801,5 +799,34 @@ namespace OnlineStore.DUOStore ...@@ -801,5 +799,34 @@ namespace OnlineStore.DUOStore
{ {
BoxBean.CylinderMove(null, IO_Type.OutDoor_Up, IO_Type.OutDoor_Down); BoxBean.CylinderMove(null, IO_Type.OutDoor_Up, IO_Type.OutDoor_Down);
} }
private void btnNgPro_Click(object sender, EventArgs e)
{
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{
string selectPositionNum = cmbPosition.Text;
LineMoveP ktk = LoadPostion();
BoxBean.StartInStoreMove(new InOutParam("", selectPositionNum, ktk,1));
}
else
{
MessageBox.Show("请先启动料仓!");
}
}
private void btnSingleOut_Click(object sender, EventArgs e)
{
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{
string selectPositionNum = cmbPosition.Text;
LineMoveP ktk = LoadPostion();
InOutParam param = new InOutParam("", selectPositionNum, ktk,1);
BoxBean.StartOutStoreMove(param);
}
else
{
MessageBox.Show("请先启动料仓!");
}
}
} }
} }
...@@ -51,14 +51,14 @@ DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AIO_IP_2,X23,,,,,,,,,, ...@@ -51,14 +51,14 @@ DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AIO_IP_2,X23,,,,,,,,,,
DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AIO_IP_2,X24,,,,,,,,,, DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AIO_IP_2,X24,,,,,,,,,,
DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AIO_IP_2,X25,,,,,,,,,, DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AIO_IP_2,X25,,,,,,,,,,
DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AIO_IP_2,X26,,,,,,,,,, DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AIO_IP_2,X26,,,,,,,,,,
DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AIO_IP_2,X27,,,,,,,,,, DI,1,左侧出料口门上升/打开端,OutDoor_Up,6,PRO_AIO_IP_2,X27,,,,,,,,,,
DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AIO_IP_2,X28,,,,,,,,,, DI,1,左侧出料口门下降/关闭端,OutDoor_Down,7,PRO_AIO_IP_2,X28,,,,,,,,,,
DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AIO_IP_2,X29,,,,,,,,,, DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AIO_IP_2,X29,,,,,,,,,,
DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AIO_IP_2,X30,,,,,,,,,, DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AIO_IP_2,X30,,,,,,,,,,
DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,, DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,, DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,,
DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,, DI,2,右侧出料口门上升/打开端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,,
DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,, DI,2,右侧出料口门下降/关闭端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,,
DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AIO_IP_2,X35,,,,,,,,,, DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AIO_IP_2,X36,,,,,,,,,, DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AIO_IP_2,X36,,,,,,,,,,
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
...@@ -74,10 +74,10 @@ DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AIO_IP_2,Y29,,,,,,,,,, ...@@ -74,10 +74,10 @@ DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AIO_IP_2,Y29,,,,,,,,,,
DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AIO_IP_2,Y30,,,,,,,,,, DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AIO_IP_2,Y30,,,,,,,,,,
DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AIO_IP_2,Y31,,,,,,,,,, DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AIO_IP_2,Y31,,,,,,,,,,
DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AIO_IP_2,Y32,,,,,,,,,, DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AIO_IP_2,Y32,,,,,,,,,,
DO,1,左侧出料口门上升SOL,OutDoor_Up,12,PRO_AIO_IP_2,Y33,,,,,,,,,, DO,1,左侧出料口门上升/打开SOL,OutDoor_Up,12,PRO_AIO_IP_2,Y33,,,,,,,,,,
DO,1,左侧出料口门下降SOL,OutDoor_Down,13,PRO_AIO_IP_2,Y34,,,,,,,,,, DO,1,左侧出料口门下降/关闭SOL,OutDoor_Down,13,PRO_AIO_IP_2,Y34,,,,,,,,,,
DO,2,右侧出料口门上升SOL,OutDoor_Up,14,PRO_AIO_IP_2,Y35,,,,,,,,,, DO,2,右侧出料口门上升/打开SOL,OutDoor_Up,14,PRO_AIO_IP_2,Y35,,,,,,,,,,
DO,2,右侧出料口门下降SOL,OutDoor_Down,15,PRO_AIO_IP_2,Y36,,,,,,,,,, DO,2,右侧出料口门下降/关闭SOL,OutDoor_Down,15,PRO_AIO_IP_2,Y36,,,,,,,,,,
,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,
DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AIO_IP_3,X41,,,,,,,,,, DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AIO_IP_3,X41,,,,,,,,,,
DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AIO_IP_3,X42,,,,,,,,,, DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AIO_IP_3,X42,,,,,,,,,,
......
...@@ -30,30 +30,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -30,30 +30,27 @@ namespace OnlineStore.DeviceLibrary
public List<string> PositionNumList = new List<string>(); public List<string> PositionNumList = new List<string>();
public HumitureBean humBean = null; public HumitureBean humBean = null;
private System.Timers.Timer serverConnectTimer = new System.Timers.Timer();
private System.Timers.Timer IoCheckTimer = new System.Timers.Timer();
private int logType = 1000; private int logType = 1000;
public AxisBean UpdownAxis = null; public AxisBean UpdownAxis = null;
public AxisBean MiddleAxis = null; public AxisBean MiddleAxis = null;
public AxisBean ComAxis = null; public AxisBean ComAxis = null;
public AxisBean InoutAxis = null; public AxisBean InoutAxis = null;
/// <summary>
/// 出料口最后一盘料信息,0=暂无,1=单盘出库料亮绿灯,2=入库NG料亮红灯
/// </summary>
public int OutDoorReelType = 0;
public BoxBean(BOX_Config config) public BoxBean(BOX_Config config)
{ {
Init(); Init();
baseConfig = config; baseConfig = config;
CID = config.CID; CID = config.CID;
serverConnectTimer = new System.Timers.Timer();
serverConnectTimer.Interval = 1000;
serverConnectTimer.AutoReset = true;
serverConnectTimer.Enabled = false;
serverConnectTimer.Elapsed += server_connect_timer_Tick;
IoCheckTimer = new System.Timers.Timer();
IoCheckTimer.Interval = 200;
IoCheckTimer.AutoReset = true;
IoCheckTimer.Enabled = false;
IoCheckTimer.Elapsed += IoCheckTimer_Elapsed; IoCheckTimer.Elapsed += IoCheckTimer_Elapsed;
serverConnectTimer.Elapsed += server_connect_timer_Tick;
logType = 1000 * config.Id; logType = 1000 * config.Id;
//添加调试 //添加调试
IsDebug = config.IsInDebug.Equals(1); IsDebug = config.IsInDebug.Equals(1);
...@@ -111,7 +108,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -111,7 +108,6 @@ namespace OnlineStore.DeviceLibrary
public void MoveAxisConfig() public void MoveAxisConfig()
{ {
Config.UpDown_Axis.BreakOnDO = IO_Type.UpdownAxis_Break; Config.UpDown_Axis.BreakOnDO = IO_Type.UpdownAxis_Break;
moveAxisList = new List<ConfigMoveAxis>(); moveAxisList = new List<ConfigMoveAxis>();
moveAxisList.Add(Config.Middle_Axis); moveAxisList.Add(Config.Middle_Axis);
moveAxisList.Add(Config.UpDown_Axis); moveAxisList.Add(Config.UpDown_Axis);
...@@ -242,7 +238,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -242,7 +238,7 @@ namespace OnlineStore.DeviceLibrary
case StoreMoveStep.BOX_H01_InOutBack: case StoreMoveStep.BOX_H01_InOutBack:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H02_InoutToP1); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H02_InoutToP1);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
LogInfo(MoveInfo.MoveType + ": ,进出轴到待机点P1,关闭仓"); LogInfo(MoveInfo.MoveType + ": ,进出轴到待机点P1,关闭仓");
InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed); InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
CylinderMove(MoveInfo, IO_Type.OutDoor_Up, IO_Type.OutDoor_Down); CylinderMove(MoveInfo, IO_Type.OutDoor_Up, IO_Type.OutDoor_Down);
break; break;
...@@ -354,8 +350,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -354,8 +350,7 @@ namespace OnlineStore.DeviceLibrary
storeStatus = StoreStatus.SuddenStop; storeStatus = StoreStatus.SuddenStop;
} }
} }
private bool InProcess = false; private bool InProcess = false;
//private DateTime preProcessTime = DateTime.Now;
private bool IsChongfu = false; private bool IsChongfu = false;
private Stopwatch stopwatch = new Stopwatch(); private Stopwatch stopwatch = new Stopwatch();
protected override void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) protected override void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
......
...@@ -42,6 +42,36 @@ namespace OnlineStore.DeviceLibrary ...@@ -42,6 +42,36 @@ namespace OnlineStore.DeviceLibrary
SendLineStatus(); SendLineStatus();
} }
if (OutDoorReelType.Equals(1))
{
IOMove(IO_Type.DoorLed_Red, IO_VALUE.LOW, true);
if (IOValue(IO_Type.DoorLed_Green).Equals(IO_VALUE.LOW))
{
IOMove(IO_Type.DoorLed_Green, IO_VALUE.HIGH);
}
else
{
IOMove(IO_Type.DoorLed_Green, IO_VALUE.LOW);
}
}
else if (OutDoorReelType.Equals(2))
{
IOMove(IO_Type.DoorLed_Green, IO_VALUE.LOW, true);
if (IOValue(IO_Type.DoorLed_Red).Equals(IO_VALUE.LOW))
{
IOMove(IO_Type.DoorLed_Red, IO_VALUE.HIGH);
}
else
{
IOMove(IO_Type.DoorLed_Red, IO_VALUE.LOW);
}
}
else
{
IOMove(IO_Type.DoorLed_Green, IO_VALUE.LOW, true);
IOMove(IO_Type.DoorLed_Red, IO_VALUE.LOW, true);
}
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
#region 位置加载 #region 位置加载
public static bool LoadInoutParam(InOutParam param, bool needCheckShelf, BoxBean box) public static bool LoadInoutParam(InOutParam param, MoveType movetype, bool needCheckShelf, BoxBean box)
{ {
if (param == null) if (param == null)
{ {
...@@ -188,13 +188,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -188,13 +188,27 @@ namespace OnlineStore.DeviceLibrary
if (param.MoveP == null) if (param.MoveP == null)
{ {
LineMoveP p = new LineMoveP(); LineMoveP p = new LineMoveP();
p.ComPress_P1 = box.Config.CompAxis_P1;
p.InOut_P1 = box.Config.InOutAxis_P1;
p.Middle_P1 = box.Config.MiddleAxis_P1;
p.InOut_P2 = box.Config.InOutAxis_P2;
p.UpDown_P1 = box.Config.UpDownAxis_P1;
// p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8;
p.UpDown_P2 = box.Config.UpDownAxis_P2;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(param.PosID); ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(param.PosID);
if (position == null) if (position == null)
{ {
if (movetype.Equals(MoveType.InStore) && param.TargetPosition.Equals(1))
{
return true;
}
LogUtil.error(box.Name + "GetPositon[" + param.PosID + "]=null,没有库位不能执行出入库"); LogUtil.error(box.Name + "GetPositon[" + param.PosID + "]=null,没有库位不能执行出入库");
return false; return false;
} }
if (String.IsNullOrEmpty(param.PlateH)) if (String.IsNullOrEmpty(param.PlateH))
{ {
param.PlateH = position.BagHigh.ToString(); param.PlateH = position.BagHigh.ToString();
...@@ -203,23 +217,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -203,23 +217,6 @@ namespace OnlineStore.DeviceLibrary
{ {
param.PlateW = position.BagWidth.ToString(); param.PlateW = position.BagWidth.ToString();
} }
p.ComPress_P1 = box.Config.CompAxis_P1;
p.InOut_P1 = box.Config.InOutAxis_P1;
p.Middle_P1 = box.Config.MiddleAxis_P1;
p.InOut_P2 = box.Config.InOutAxis_P2 ;
p.UpDown_P1 = box.Config.UpDownAxis_P1;
// p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8;
p.UpDown_P2 = box.Config.UpDownAxis_P2;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
//p.InOut_P11 = box.Config.InOutAxis_P11 ;
//p.Middle_P11 = box.Config.MiddleAxis_P11;
//p.UpDown_P11 = box.Config.UpDownAxis_P11;
//p.UpDown_P12 = box.Config.UpDownAxis_P12;
p.ComPress_P2 = box.Config.GetComP2(position.BagHigh); p.ComPress_P2 = box.Config.GetComP2(position.BagHigh);
p.ComPress_P3 = box.Config.CompAxis_P3; p.ComPress_P3 = box.Config.CompAxis_P3;
p.InOut_P3 = position.InoutAxis_P3; p.InOut_P3 = position.InoutAxis_P3;
......
...@@ -6,30 +6,32 @@ using System.Collections.Generic; ...@@ -6,30 +6,32 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public class InOutParam public class InOutParam
{ {
public InOutParam(string wareNo="", string posId="", string platew = "", string plateh = "") public InOutParam(string wareNo = "", string posId = "", string platew = "", string plateh = "", int targetP = 0)
{ {
WareCode = wareNo; WareCode = wareNo;
PosID = posId; PosID = posId;
MoveP = null; MoveP = null;
this.PlateW = platew; this.PlateW = platew;
this.PlateH = plateh; this.PlateH = plateh;
} this.TargetPosition = targetP;
public InOutParam(string wareNo, string posId, string ShelfPosID,LineMoveP linePosition ) }
{ public InOutParam(string wareNo, string posId, LineMoveP linePosition, int targetP = 0)
WareCode = wareNo; {
WareCode = wareNo;
PosID = posId; PosID = posId;
MoveP = linePosition; MoveP = linePosition;
this.TargetPosition = targetP;
} }
public InOutParam NewParam() public InOutParam NewParam()
{ {
InOutParam newp = new InOutParam(WareCode,PosID, PlateW, PlateH); InOutParam newp = new InOutParam(WareCode, PosID, PlateW, PlateH);
return newp; return newp;
} }
/// <summary> /// <summary>
...@@ -40,17 +42,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -40,17 +42,23 @@ namespace OnlineStore.DeviceLibrary
/// 位置坐标名(对应配置表的位置) /// 位置坐标名(对应配置表的位置)
/// </summary> /// </summary>
public string PosID { get; set; } public string PosID { get; set; }
public LineMoveP MoveP { get; set; } public LineMoveP MoveP { get; set; }
/// <summary> /// <summary>
/// 料盘高度 /// 料盘高度
/// </summary> /// </summary>
public string PlateH { get; set; } public string PlateH { get; set; }
/// <summary> /// <summary>
/// 料盘宽度 /// 料盘宽度
/// </summary> /// </summary>
public string PlateW { get; set; } public string PlateW { get; set; }
/// <summary>
/// 出入库目标位置,
/// 0=出库表示批量出料,入库表示目标库位
/// 1=紧急出料到NG口,入库NG送到NG口
/// </summary>
public int TargetPosition = 0;
/// <summary> /// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1 /// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// </summary> /// </summary>
...@@ -68,7 +76,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -68,7 +76,7 @@ namespace OnlineStore.DeviceLibrary
string[] arr = posId.Split('#'); string[] arr = posId.Split('#');
if (arr.Length >= 2) if (arr.Length >= 2)
{ {
return int.Parse(arr[0]); return int.Parse(arr[0]);
} }
else else
{ {
...@@ -85,54 +93,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -85,54 +93,8 @@ namespace OnlineStore.DeviceLibrary
public string ToStr() public string ToStr()
{ {
return " 库位 [" + PosID + "] [" + WareCode + "], [" + PlateW + "x" + PlateH + "] "; return " 库位 [" + PosID + "] [" + WareCode + "], [" + PlateW + "x" + PlateH + "] ";
}
internal void UpdatePosId(string message, string posId, string plateW, string plateH,int comP2,int comP3)
{
this.WareCode = message;
this.PosID = posId;
this.PlateH = plateH;
this.PlateW = plateW;
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId);
if (position == null)
{
LogUtil.error( "GetPositon[" + posId + "] =null,没有库位不能执行出入库");
}
MoveP.ComPress_P2 = comP2;
MoveP.ComPress_P3 = comP3;
MoveP.InOut_P3 = position.InoutAxis_P3;
MoveP.Middle_P2 = position.MiddleAxis_P2;
MoveP.UpDown_P3 = position.UpdownAxis_IH_P3;
MoveP.UpDown_P4 = position.UpdownAxis_IL_P4;
MoveP.UpDown_P5 = position.UpdownAxis_OH_P5;
MoveP.UpDown_P6 = position.UpdownAxis_OL_P6;
} }
internal void UpdatePosIdAndShelfId(string wareNo,string rfid,string posId )
{
WareCode = wareNo;
PosID = posId;
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId);
if (position == null)
{
LogUtil.error("GetPositon[" + posId + "] =null,没有库位不能执行出入库");
}
//MoveP.ComPress_P2 = comP2; }
//MoveP.ComPress_P3 = comP3;
MoveP.InOut_P3 = position.InoutAxis_P3;
MoveP.Middle_P2 = position.MiddleAxis_P2;
MoveP.UpDown_P3 = position.UpdownAxis_IH_P3;
MoveP.UpDown_P4 = position.UpdownAxis_IL_P4;
MoveP.UpDown_P5 = position.UpdownAxis_OH_P5;
MoveP.UpDown_P6 = position.UpdownAxis_OL_P6;
}
}
} }
...@@ -39,11 +39,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -39,11 +39,10 @@ namespace OnlineStore.DeviceLibrary
/// 料仓状态 /// 料仓状态
/// </summary> /// </summary>
private StoreRunStatus storerunstatus = StoreRunStatus.Wait; private StoreRunStatus storerunstatus = StoreRunStatus.Wait;
/// <summary>
/// 定时器
/// </summary>
protected System.Timers.Timer mainTimer; protected System.Timers.Timer mainTimer;
protected System.Timers.Timer serverConnectTimer = new System.Timers.Timer();
protected System.Timers.Timer IoCheckTimer = new System.Timers.Timer();
private bool isInit = false; private bool isInit = false;
public bool IsDebug = false; public bool IsDebug = false;
...@@ -231,12 +230,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -231,12 +230,22 @@ namespace OnlineStore.DeviceLibrary
{ {
if (!isInit) if (!isInit)
{ {
mainTimer = new System.Timers.Timer(); mainTimer = new System.Timers.Timer();
mainTimer.Enabled = false; mainTimer.Enabled = false;
mainTimer.Interval = 300; mainTimer.Interval = 300;
mainTimer.Elapsed += timersTimer_Elapsed; mainTimer.Elapsed += timersTimer_Elapsed;
mainTimer.AutoReset = true; mainTimer.AutoReset = true;
serverConnectTimer = new System.Timers.Timer();
serverConnectTimer.Interval = 1000;
serverConnectTimer.AutoReset = true;
serverConnectTimer.Enabled = false;
IoCheckTimer = new System.Timers.Timer();
IoCheckTimer.Interval = 200;
IoCheckTimer.AutoReset = true;
IoCheckTimer.Enabled = false;
isInit = true; isInit = true;
} }
} }
...@@ -361,10 +370,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -361,10 +370,14 @@ namespace OnlineStore.DeviceLibrary
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IoHighType, IO_VALUE.HIGH));
} }
} }
public void IOMove(string IoType, IO_VALUE value) public void IOMove(string IoType, IO_VALUE value, bool isCheck = false)
{ {
if (isCheck && (IOValue(IoType).Equals(value)))
{
return;
}
IOManager.IOMove(IoType, value, baseConfig.Id); IOManager.IOMove(IoType, value, baseConfig.Id);
} }
public IO_VALUE IOValue(string IoType) public IO_VALUE IOValue(string IoType)
{ {
return IOManager.IOValue(IoType, baseConfig.Id); return IOManager.IOValue(IoType, baseConfig.Id);
...@@ -381,8 +394,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -381,8 +394,18 @@ namespace OnlineStore.DeviceLibrary
} }
protected void InOutStoreLog(string msg) protected void InOutStoreLog(string msg)
{ {
string type = "";
if (MoveInfo.MoveType.Equals(MoveType.OutStore))
{
type = "出库";
}
else if (MoveInfo.MoveType.Equals(MoveType.InStore))
{
type = "入库";
}
string posId = MoveInfo.MoveParam != null ? "["+MoveInfo.MoveParam.PosID+"]" : ""; string posId = MoveInfo.MoveParam != null ? "["+MoveInfo.MoveParam.PosID+"]" : "";
LogInfo(" " + posId +" :" + msg);
LogInfo( posId +" "+ MoveInfo.SLog+":" + msg);
} }
protected int GetAlarmCodeByAxis(ConfigMoveAxis axis) protected int GetAlarmCodeByAxis(ConfigMoveAxis axis)
{ {
......
...@@ -449,49 +449,74 @@ namespace OnlineStore.DeviceLibrary ...@@ -449,49 +449,74 @@ namespace OnlineStore.DeviceLibrary
#region 料仓内部入库步骤 200开始 #region 料仓内部入库步骤 200开始
/// <summary> /// <summary>
/// 入库,。进出轴返回P1 /// 入库进出轴返回P1
/// </summary> /// </summary>
SI_01_InoutToP1 = 201, SI_01_InoutToP1 = 201,
/// <summary> /// <summary>
/// 入库 升降轴,旋转轴到P1,压紧轴到P3 /// 入库 升降轴,旋转轴到P1,压紧轴到P3
/// </summary> /// </summary>
SI_02_AxisBack, SI_02_AxisBack,
/// <summary> /// <summary>
/// 入库进出轴到P2( 进料口取料点) /// 入库进出轴到P2( 进料口取料点)
/// </summary> /// </summary>
SI_03_InoutToP2 , SI_03_InoutToP2,
/// <summary> /// <summary>
/// 入库升降轴到P7( 进料口取料缓冲点)压紧轴到P2(压紧点) /// 入库升降轴到P7( 进料口取料缓冲点)压紧轴到P2(压紧点)
/// </summary> /// </summary>
SI_04_GetWare , SI_04_GetReel,
/// <summary> /// <summary>
/// 入库进出轴返回P1 /// 入库进出轴返回P1
/// </summary> /// </summary>
SI_05_InoutToP1 , SI_05_InoutToP1,
/// <summary> /// <summary>
/// 入库。。移动到库位点,旋转轴到P2( 库位点),升降轴到P3(库位入库前点) /// 入库移动到库位点,旋转轴到P2( 库位点),升降轴到P3(库位入库前点)
/// </summary> /// </summary>
SI_06_ToBag , SI_06_ToPos,
/// <summary> /// <summary>
/// 入库。。进出轴到P3(库位取放料点) /// 入库进出轴到P3(库位取放料点)
/// </summary> /// </summary>
SI_07_InoutToP3 , SI_07_InoutToP3,
/// <summary> /// <summary>
/// 入库升降轴到P4( 库位入料缓冲点)压紧轴到P3( 压紧前点) /// 入库升降轴到P4( 库位入料缓冲点)压紧轴到P3( 压紧前点)
/// </summary> /// </summary>
SI_08_PutWare , SI_08_PutReel,
/// <summary> /// <summary>
/// 入库进出轴返回P1 /// 入库进出轴返回P1
/// </summary> /// </summary>
SI_09_InoutToP1 , SI_09_InoutToP1,
/// <summary> /// <summary>
/// 入库旋转轴,升降轴,压紧轴到待机点P1 /// 入库旋转轴,升降轴,压紧轴到待机点P1
/// </summary> /// </summary>
SI_10_GoBack , SI_10_GoBack,
/// <summary>
/// 入库NG料:移动到出料口,旋转轴到P11,升降轴到P12高点
/// </summary>
SI_21_ToOutDoor,
/// <summary>
/// 入库NG料:打开出料口门
/// </summary>
SI_22_OpenOutDoor,
/// <summary>
/// 入库NG料:进出轴到_P11-出料口取放料点
/// </summary>
SI_23_InoutToP11,
/// <summary>
/// 入库NG料:升降轴到_P11-出料口-低点,压紧轴到压紧前点P3
/// </summary>
SI_24_PurReel,
/// <summary>
/// 入库NG料:进出轴返回待机点P1
/// </summary>
SI_25_InoutToP1,
/// <summary>
/// 入库NG料:升降轴,旋转轴,压紧轴返回P1,关闭出料口门
/// </summary>
SI_26_GoBack,
#endregion #endregion
#region 料仓内部出库 500 开始 #region 料仓内部出库 500 开始
...@@ -543,7 +568,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -543,7 +568,34 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 料仓出库:升降轴,旋转轴到待机点P1 /// 料仓出库:升降轴,旋转轴到待机点P1
/// </summary> /// </summary>
SO_10_GoBack, SO_10_GoBack,
/// <summary>
/// 单盘出库:移动到出料口,旋转轴到P11,升降轴到P12高点
/// </summary>
SO_21_ToOutDoor,
/// <summary>
/// 单盘出库:打开出料口门
/// </summary>
SO_22_OpenOutDoor,
/// <summary>
/// 单盘出库:进出轴到_P11-出料口取放料点
/// </summary>
SO_23_InoutToP11,
/// <summary>
/// 单盘出库:升降轴到_P11-出料口-低点,压紧轴到压紧前点P3
/// </summary>
SO_24_PurReel,
/// <summary>
/// 单盘出库:进出轴返回待机点P1
/// </summary>
SO_25_InoutToP1,
/// <summary>
/// 单盘出库:升降轴,旋转轴,压紧轴返回P1,关闭出料口门
/// </summary>
SO_26_GoBack,
#endregion #endregion
} }
......
...@@ -60,9 +60,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -60,9 +60,7 @@ namespace OnlineStore.DeviceLibrary
} }
public int ErrorLogType { get; internal set; } public int ErrorLogType { get; internal set; }
public bool SingleInstore = false;
public void NextMoveStep(StoreMoveStep step) public void NextMoveStep(StoreMoveStep step)
{ {
// PreMoveStep = moveStep; // PreMoveStep = moveStep;
...@@ -92,7 +90,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -92,7 +90,6 @@ namespace OnlineStore.DeviceLibrary
this.MoveParam = param; this.MoveParam = param;
LastSetpTime = DateTime.Now; LastSetpTime = DateTime.Now;
WaitList = new List<WaitResultInfo>(); WaitList = new List<WaitResultInfo>();
SingleInstore = false;
} }
public void EndMove() public void EndMove()
{ {
......
...@@ -178,11 +178,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -178,11 +178,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
public static string InDoor_Check = "InDoor_Check"; public static string InDoor_Check = "InDoor_Check";
/// <summary> /// <summary>
/// DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AOI_IP_2,X27, /// DI,1,左侧出料口门上升/打开端,OutDoor_Up,6,PRO_AOI_IP_2,X27,
/// </summary> /// </summary>
public static string OutDoor_Up = "OutDoor_Up"; public static string OutDoor_Up = "OutDoor_Up";
/// <summary> /// <summary>
/// DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AOI_IP_2,X28, /// DI,1,左侧出料口门下降/关闭端,OutDoor_Down,7,PRO_AOI_IP_2,X28,
/// </summary> /// </summary>
public static string OutDoor_Down = "OutDoor_Down"; public static string OutDoor_Down = "OutDoor_Down";
/// <summary> /// <summary>
...@@ -202,11 +202,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -202,11 +202,11 @@ namespace OnlineStore.LoadCSVLibrary
///// </summary> ///// </summary>
//public static string InDoor_Check = "InDoor_Check"; //public static string InDoor_Check = "InDoor_Check";
///// <summary> ///// <summary>
///// DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AOI_IP_2,X33, ///// DI,2,右侧出料口门上升/打开端,OutDoor_Up,12,PRO_AOI_IP_2,X33,
///// </summary> ///// </summary>
//public static string OutDoor_Up = "OutDoor_Up"; //public static string OutDoor_Up = "OutDoor_Up";
///// <summary> ///// <summary>
///// DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AOI_IP_2,X34, ///// DI,2,右侧出料口门下降/关闭端,OutDoor_Down,13,PRO_AOI_IP_2,X34,
///// </summary> ///// </summary>
//public static string OutDoor_Down = "OutDoor_Down"; //public static string OutDoor_Down = "OutDoor_Down";
///// <summary> ///// <summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!