Commit 3350a450 张东亮

报警添加、异常处理

1 个父辈 d1886a64
......@@ -203,6 +203,7 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
static Dictionary<string, int> axisPrePulse = new Dictionary<string, int>();
public static bool HomeMoveIsEnd(DeviceMoveInfo MoveInfo, ConfigMoveAxis axis, out string msg)
{
msg = "";
......@@ -238,6 +239,18 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(msg);
}
}
//var curPulse = AxisManager.instance.GetActualtPosition(axis.DeviceName, axis.GetAxisValue());
//if (axisPrePulse.ContainsKey(axis.DeviceName))
//{
// if (axisPrePulse[axis.DeviceName] != curPulse)//在运行
// {
// return true;
// }
//}
//else
//{
// axisPrePulse[axis.DeviceName] = curPulse;
//}
return false;
}
......@@ -285,7 +298,7 @@ namespace OnlineStore.DeviceLibrary
/// <param name="high"></param>
/// <param name="canErrorMax"></param>
/// <returns></returns>
public bool WithinRange(int low,int high,int canErrorMax=0)
public bool WithinRange(int low, int high, int canErrorMax = 0)
{
if (canErrorMax <= 0)
{
......@@ -361,7 +374,7 @@ namespace OnlineStore.DeviceLibrary
private bool IsInProcess = false;
private void CheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (IsInProcess ) { return; }
if (IsInProcess) { return; }
try
{
......
......@@ -4,11 +4,13 @@ using OnlineStore.DeviceLibrary.deviceLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web.ModelBinding;
namespace OnlineStore.DeviceLibrary
{
......@@ -224,23 +226,37 @@ namespace OnlineStore.DeviceLibrary
public abstract bool StartOutstore(InOutParam param);
protected abstract void OutstoreProcess();
/// <summary>
/// 设置警告并上报
/// </summary>
/// <param name="msg"></param>
public void SetWarnMsg(string msg = "")
{
if (String.IsNullOrEmpty(msg).Equals(false))
{
if (WarnMsg.Equals(msg))
if (!WarnMsg.Equals(msg))
{
if (msg.StartsWith(Name))
{
LogUtil.error(msg, 801);
LogUtil.error(msg);
}
else
{
LogUtil.error(Name + msg, 801);
LogUtil.error(Name + msg);
}
}
}
else
WarnMsg = msg;
if(!string.IsNullOrEmpty(WarnMsg))
{
Msg.add(WarnMsg, MsgLevel.alarm);
}
}
public void SetCriticalMsg(string msg = "")
{
if (String.IsNullOrEmpty(msg).Equals(false))
{
if (!WarnMsg.Equals(msg))
{
if (msg.StartsWith(Name))
{
......@@ -251,12 +267,15 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + msg);
}
}
}
WarnMsg = msg;
if(!string.IsNullOrEmpty(WarnMsg))
if (!string.IsNullOrEmpty(WarnMsg))
{
Msg.add(WarnMsg, MsgLevel.alarm);
Msg.add(WarnMsg, MsgLevel.critical);
}
}
public string GetRunStr( )
{
string sta = "运行中";
......@@ -401,11 +420,34 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil.debug(Name + logInfo);
}
string errormsg = "";
public void LogError(string logInfo)
{
if (string.IsNullOrEmpty(logInfo))
{
return;
}
if (!logInfo.Equals(errormsg))
{
errormsg = logInfo;
LogUtil.error(Name + logInfo);
}
}
public void LogInfo(string logInfo)
{
if(string.IsNullOrEmpty(logInfo))
{
return;
}
if(!logInfo.Equals(StepMsg))
{
StepMsg = logInfo;
LogUtil.info(Name + logInfo);
}
}
protected void MoveLog(string msg)
{
string posId = (MoveInfo.MoveParam != null && MoveInfo.MoveParam.PosInfo != null) ? " [" + MoveInfo.MoveParam.PosInfo.PosId + "]" : "";
......
......@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 超时时间
/// </summary>
public int TimeOutSeconds = 60;
public int TimeOutSeconds = 120;
public string Name = "";
public bool ShelfNoTray = false;
public DeviceMoveInfo(int storeId,string name)
......
......@@ -82,6 +82,7 @@ namespace OnlineStore.DeviceLibrary
{
if (MoveStop)
{
Msg.add(Name + " 暂停运动中", MsgLevel.critical);
return;
}
if (MoveInfo.MoveType.Equals(MoveType.RHome))
......@@ -201,6 +202,7 @@ namespace OnlineStore.DeviceLibrary
else if (runStatus.Equals(RunStatus.Runing) && alarmType.Equals(AlarmType.None))
{
//设备处于空闲时且无异常,清空异常缓存
if (!MoveStop)
if (WarnMsg != "")
SetWarnMsg("");
}
......@@ -491,11 +493,12 @@ namespace OnlineStore.DeviceLibrary
public virtual string GetMoveStr()
{
string msg = "";
msg += "runS: " + runStatus + "\n";
msg += "alarm: " + alarmType + " " + LastAlarmTime.ToLongTimeString() + "\n";
msg += "MoveT:" + MoveInfo.MoveType + "\n";
msg += "MoveS :" + MoveInfo.MoveStep + "\n";
msg += "StepMsg :" + StepMsg + "\n";
msg += "运行状态: " + runStatus + "\n";
msg += "报警: " + alarmType + " " + LastAlarmTime.ToLongTimeString() + "\n";
msg += "类型:" + MoveInfo.MoveType + "\n";
msg += "步骤 :" + MoveInfo.MoveStep + "\n";
msg += "消息 :" + StepMsg + "\n";
msg += "暂停 :" + (MoveStop ? "是" : "否") + "\n";
return msg;
}
......
......@@ -251,9 +251,9 @@ namespace OnlineStore.DeviceLibrary
AgvClient.SetCancelState(AgvClient.CurrCancelState);
LogUtil.info(Name + "复位完成 [" + FormUtil.GetSpanStr(span) + "]");
}
else if (span.TotalSeconds > 120)
else if (span.TotalSeconds > 240)
{
WarnMsg = Name + "[" + MoveInfo.MoveStep + "][" + msg + "]已等待超过2分钟";
WarnMsg = Name + "[" + MoveInfo.MoveStep + "][" + msg + "]已等待超过4分钟";
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType);
Alarm(AlarmType.IoSingleTimeOut);
}
......
......@@ -808,7 +808,8 @@ namespace OnlineStore.DeviceLibrary
int SigLastTime = 7;//5秒
protected override void OnTimerProcess()
{
if (ExecuteOutListProcess())
bool isRunning = runStatus.Equals(RunStatus.Runing);
if (isRunning && ExecuteOutListProcess())
{
LogInfo("优先出库执行");
return;
......@@ -861,7 +862,8 @@ namespace OnlineStore.DeviceLibrary
ClearSpecifiedAlarm("B下出料暂存区有料盘,但信号未亮");
errUnderB = DateTime.Now;
}
if (!runStatus.Equals(RunStatus.Runing))
return;
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.AInStoreInfo != null
&& IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.BInStoreInfo != null
&& (BufferDataManager.AInStoreInfo.PlateW == BufferDataManager.BInStoreInfo.PlateW && BufferDataManager.AInStoreInfo.PlateH == BufferDataManager.BInStoreInfo.PlateH))
......
......@@ -129,7 +129,7 @@ namespace OnlineStore.DeviceLibrary
}
public void ProcessMsg(List<Msg> msg)
{
uploadMsg = string.Join(",", msg.Select(x =>
uploadMsg = string.Join("\r\n", msg.Select(x =>
{
//if (x.msgLevel == MsgLevel.warning || x.msgLevel == MsgLevel.alarm)
{
......@@ -414,7 +414,8 @@ namespace OnlineStore.DeviceLibrary
if (position == null)
{
//出入库没有找到服务器发送的库位,需要打印日志方便查询原因
Msg.add(Name + "未找到库位:【" + inoutParam.PosInfo.ToStr() + "】", MsgLevel.warning);
WarnMsg = Name + "未找到库位:【" + inoutParam.PosInfo.ToStr() + "】";
Msg.add(WarnMsg, MsgLevel.warning);
LogUtil.error(WarnMsg);
continue;
}
......
......@@ -272,15 +272,14 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_05_GetReel:
if (!CheckReel(true))
{
WarnMsg= $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SI_06_InOutBackToP1FromBuff);
LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到待机点P1,行走机构到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
ignoreCurFork = false;
XAxis_To_P1();
MoveAxisToP1();
break;
......@@ -338,26 +337,27 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_08_ToPosition:
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SI_08_ToPosition1);
ignoreCurFork = false;
LogInfo($"入库 {MoveInfo.SLog}:运行到库位,行走机构到存储库位取放点位P3," +
$"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxisToP3();
ForkCheckWhenRunning();
break;
case StepEnum.SI_08_ToPosition1:
StopForkCheck();
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SI_09_ToTray);
ignoreCurFork = false;
LogInfo($"入库 {MoveInfo.SLog}:到抽屉提取点,料斗拉取进出轴到抽屉提取点P2/P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P2_P4();
break;
......@@ -396,12 +396,12 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_12_MiddleToP3:
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SI_13_GetReel);
ignoreCurFork = false;
LogInfo($"入库 {MoveInfo.SLog}:进入库位中,移栽升降轴到抽屉取放点P7/P13[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
UpdownAxisToP7_P13();
break;
......@@ -503,11 +503,11 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_19_InoutBack:
if (!CheckReel(false))
{
WarnMsg = "检测到料叉上有料盘,请检查";
SetCriticalMsg("检测到料叉上有料盘,请检查");
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SI_19_InoutBack_1);
ignoreCurFork = false;
MiddleAxis_To_P2();
LogInfo($"入库 {MoveInfo.SLog}:移栽旋转轴到水平点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
break;
......
......@@ -175,12 +175,12 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SO_13_InoutBack_1:
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg,MsgLevel.critical);
SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
return;
}
ignoreCurFork = false;
MoveInfo.NextMoveStep(StepEnum.SO_13_InoutBack);
ignoreCurFork = false;
LogInfo($"出库 {MoveInfo.SLog}:抽屉拉取进出轴已到达拍照点,移栽旋转轴到取放料水平点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MiddleAxis_To_P2();
break;
......@@ -243,28 +243,29 @@ namespace OnlineStore.DeviceLibrary
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfoBack.ToStr()}]取料完成,准备送往出料口,抽屉升降轴到P1点,移栽升降轴到下暂存区出库放料高点P4/P10");
break;
case StepEnum.SO_14_GetReels_Ready:
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
return;
}
ignoreCurFork = false;
//if (!CheckReel(true))
//{
// SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
// return;
//}
MoveInfo.NextMoveStep(StepEnum.SO_14_GetReels_Ready1);
MoveAxisToP1();
ignoreCurFork = false;
LogInfo($"出库 {MoveInfo.SLog}:准备送往出料口。行走机构到待机点P1");
ForkCheckWhenRunning();
break;
case StepEnum.SO_14_GetReels_Ready1:
if (!CheckReel(true))
{
WarnMsg = $"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查";
Msg.add(WarnMsg,MsgLevel.critical);
return;
}
ignoreCurFork = false;
//if (!CheckReel(true))
//{
// SetCriticalMsg($"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查");
// return;
//}
//已出一边的料,切换到另一边
MoveInfo.NextMoveStep(StepEnum.SO_15_ToBufferArea);
StopForkCheck();
ignoreCurFork = false;
//LogInfo($"出库 {MoveInfo.SLog}:到暂存区出料口," +
// $"行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
break;
......@@ -308,7 +309,7 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SO_18_PutReel:
if (!StoreManager.XLRStore.boxEquip.SendStoreState(MoveInfo.MoveParam.PosInfo.PosId, MoveInfo.MoveParam.PosInfo.barcode, DeviceStatus.OutStoreBoxEnd))
return;
Msg.add($"出库完成:【{MoveInfo.MoveParam.PosInfo.PosId}】【{MoveInfo.MoveParam.PosInfo.barcode}】【{DeviceStatus.OutStoreBoxEnd}】",MsgLevel.info);
Msg.add($"出库完成:【{MoveInfo.MoveParam.PosInfo.PosId}】【{MoveInfo.MoveParam.PosInfo.barcode}】【{DeviceStatus.OutStoreBoxEnd}】", MsgLevel.info);
MoveInfo.NextMoveStep(StepEnum.SO_19_InOutBackFromBuff);
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成[耗时:{(DateTime.Now - startTime).TotalSeconds.ToString("f2")}秒],移栽X轴到待机点P1,行走机构到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P1();
......
......@@ -38,14 +38,15 @@ namespace OnlineStore.DeviceLibrary
Msg.add(WarnMsg, MsgLevel.critical);
return;
}
ignoreCurFork = false;
//两侧已有同尺寸的料
MoveInfo.NextMoveStep(StepEnum.SOB_15_ToBufferArea);
ignoreCurFork = false;
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。行走机构到待机点P1");
MoveAxisToP1();
//PullAxis_UpdownToP1();
// UpdownAxisTo_P4_P10();
BuffAreaOutstoreDoor(true);
ForkCheckWhenRunning();
break;
case StepEnum.SOB_15_ToBufferArea:
if (!BothOutDoorCheck(MoveInfo.MoveParam))
......@@ -56,6 +57,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StepEnum.SOB_16_VerifyBufferState);
BuffAreaOutstoreDoor(true);
StopForkCheck();
LogInfo($"出库 {MoveInfo.SLog}:出料口无料盘确认,打开出料防护门,准备放料[barcode={MoveInfo.MoveParam.PosInfo.barcode}][barcode={MoveInfo.MoveParam.PosInfoBack.barcode}]");
}
break;
......@@ -94,11 +96,10 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SOB_19_InOutBackFromBuff:
if (!CheckBothReel(false))
{
WarnMsg = $"两面料叉上还能检测到料盘,请检查";
Msg.add(WarnMsg, MsgLevel.critical);
SetCriticalMsg($"两面料叉上还能检测到料盘,请检查");
return;
}
ignoreCurFork = false;
//出库料盘放置成功,将料盘信息写入对应出料口
if (CheckASide())
{
......@@ -112,6 +113,7 @@ namespace OnlineStore.DeviceLibrary
}
MoveInfo.NextMoveStep(StepEnum.SOB_20_Finish);
BuffAreaOutstoreDoor(false);
ignoreCurFork = false;
LogInfo($"出库 {MoveInfo.SLog}:关闭出料防护门,出库结束");
break;
......
using CodeLibrary;
using log4net.Util;
using OnlineStore.Common;
using OnlineStore.DeviceLibrary.deviceLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
......@@ -12,11 +13,152 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms.VisualStyles;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
namespace OnlineStore.DeviceLibrary
{
partial class BoxEquip
{
public bool IgnoreFortACheck = false;
public bool ForkAChecking = false;
public bool ForkBChecking = false;
public bool IgnoreForkBCheck = false;
public bool IsStopForkCheck = false;
bool enableForkCehck { get { return ConfigHelper.Config.Get("启用行走中料叉检测", true); } }
public void StopForkCheck()
{
ForkAChecking = false;
ForkBChecking = false;
IsStopForkCheck = true;
IgnoreFortACheck = false;
IgnoreForkBCheck = false;
if (!enableForkCehck) return;
LogUtil.info($"{Name}-停止料叉监控");
}
public void ForkACheck()
{
if (!enableForkCehck) return;
ForkAChecking = true;
IsStopForkCheck = false;
Task.Run(() =>
{
try
{
Task.Delay(200).Wait();
IgnoreFortACheck = false;
DateTime highTime = DateTime.Now;
LogUtil.info($"{Name}-开始料叉{IO_Type.ForkA_Tray_Check}监控");
while (!IsStopForkCheck && !IgnoreFortACheck)
{
if (MoveStop)
{
Task.Delay(50).Wait();
highTime = DateTime.Now;
SetCriticalMsg($"料叉A监控到料盘信号丢失");
continue;
}
bool check = IOValue(IO_Type.ForkA_Tray_Check).Equals(IO_VALUE.HIGH);
if (check)
{
highTime = DateTime.Now;
}
var highinterval = (DateTime.Now - highTime).TotalSeconds;
if (highinterval >= 1)
{
UserPause(true, $"料叉{IO_Type.ForkA_Tray_Check}检测到灭了{highinterval}秒");
Thread.Sleep(500);
MoveAxis.SuddenStop();
LogUtil.error($"料叉{IO_Type.ForkA_Tray_Check}检测到灭了{highinterval}秒,行走机构停止");
}
Task.Delay(50).Wait();
}
LogUtil.info($"{Name}-结束料叉{IO_Type.ForkA_Tray_Check}监控,停止状态={IsStopForkCheck},忽略状态={IgnoreFortACheck}");
}
catch (Exception ex)
{
LogUtil.error("ForkACheck error", ex);
}
});
}
void ForkCheckWhenRunning()
{
if (IOValue(IO_Type.ForkA_Tray_Check).Equals(IO_VALUE.HIGH))
{
ForkACheck();
}
if (IOValue(IO_Type.ForkB_Tray_Check).Equals(IO_VALUE.HIGH))
{
ForkBCheck();
}
}
public void ForkBCheck()
{
if (!enableForkCehck) return;
ForkAChecking = true;
IsStopForkCheck = false;
Task.Run(() =>
{
try
{
Task.Delay(200).Wait();
IgnoreForkBCheck = false;
DateTime highTime = DateTime.Now;
LogUtil.info($"{Name}-开始料叉{IO_Type.ForkB_Tray_Check}监控");
while (!IsStopForkCheck && !IgnoreForkBCheck)
{
if (MoveStop)
{
Task.Delay(50).Wait();
highTime = DateTime.Now;
SetCriticalMsg($"料叉A监控到料盘信号丢失");
continue;
}
bool check = IOValue(IO_Type.ForkB_Tray_Check).Equals(IO_VALUE.HIGH);
if (check)
{
highTime = DateTime.Now;
}
var highinterval = (DateTime.Now - highTime).TotalSeconds;
if (highinterval >= 1)
{
UserPause(true, $"料叉{IO_Type.ForkB_Tray_Check}检测到灭了{highinterval}秒");
Thread.Sleep(500);
MoveAxis.SuddenStop();
LogUtil.error($"料叉{IO_Type.ForkB_Tray_Check}检测到灭了{highinterval}秒,行走机构停止");
}
Task.Delay(50).Wait();
}
LogUtil.info($"{Name}-结束料叉{IO_Type.ForkB_Tray_Check}监控,停止状态={IsStopForkCheck},忽略状态={IgnoreFortACheck}");
}
catch (Exception ex)
{
LogUtil.error("ForkBCheck error", ex);
}
});
}
public void UserPause(bool pause, string msg)
{
if (!enableForkCehck)
{
return;
}
if (pause)
{
LogUtil.info($"{Name}-用户停止:{msg}");
}
else
{
LogUtil.info($"{Name}-用户继续:{msg}");
}
MoveStop = pause;
}
protected override bool CheckWaitResult(DeviceMoveInfo moveInfo, WaitResultInfo wait)
{
return false;
......@@ -595,6 +737,7 @@ namespace OnlineStore.DeviceLibrary
return IOValue(IO_Type.ForkB_Tray_Check).Equals(hasReel ? IO_VALUE.HIGH : IO_VALUE.LOW);
}
}
bool CheckBothReel(bool hasReel)
{
if (ignoreFork)
......
......@@ -598,7 +598,7 @@ namespace OnlineStore.DeviceLibrary
{
return false;
}
else if(posInfo.IsNG)
else if (posInfo.IsNG)
{
return false;
}
......@@ -627,7 +627,7 @@ namespace OnlineStore.DeviceLibrary
{
InOutParam param = new InOutParam(posInfo.ToCopy());
param.ShelfType = moveBean.ShelfType;
if(StartOutstore(param))
if (StartOutstore(param))
{
LogInfo($"{posType}物料{param.PosInfo.ToStr()},准备出库到料串{param.ShelfType}");
}
......@@ -681,7 +681,7 @@ namespace OnlineStore.DeviceLibrary
{
return false;
}
else if(posInfo.singleOut)
else if (posInfo.singleOut)
{
return false;
}
......@@ -707,7 +707,7 @@ namespace OnlineStore.DeviceLibrary
{
InOutParam param = new InOutParam(posInfo.ToCopy());
param.ShelfType = moveBean.ShelfType;
if(StartOutstore(param))
if (StartOutstore(param))
{
LogInfo($"{posType}物料{param.PosInfo.ToStr()},准备出库到料串{param.ShelfType}");
}
......@@ -989,6 +989,10 @@ namespace OnlineStore.DeviceLibrary
}
if (StoreManager.DisSecurityAccess)
{
if (CurrSecurityAccess.Equals(1))
{
SecurityAccessReset();
}
}
else if (IOValue(IO_Type.Feeding_LDoor_Limit).Equals(IO_VALUE.LOW))
{
......@@ -1000,16 +1004,29 @@ namespace OnlineStore.DeviceLibrary
}
else if (IOValue(IO_Type.SafetyRasterSignal).Equals(IO_VALUE.LOW))
{
bool enable = ConfigHelper.Config.Get("启用入料口光栅", false);
if (enable)
SecurityAccessStop("光栅被遮挡");
}
}
else if (CurrSecurityAccess.Equals(1))
{
bool enable = ConfigHelper.Config.Get("启用入料口光栅", false);
if (enable)
{
if (IOValue(IO_Type.SafetyRasterSignal).Equals(IO_VALUE.HIGH))
{
SecurityAccessReset();
}
}
else
{
if (IOValue(IO_Type.Feeding_LDoor_Limit).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.Feeding_RDoor_Limit).Equals(IO_VALUE.HIGH))
{
SecurityAccessReset(); ;
}
}
}
}
catch (Exception ex)
......
......@@ -281,7 +281,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(60))
{
MoveTimeOut(MoveInfo, "" + moveBean.Name + "获取料盘高度超时");
SetWarnMsg(Name+" " + moveBean.Name + "获取料盘高度超时");
}
}
else if (MoveInfo.IsStep(StepEnum.II13_GetPosId))
......@@ -305,7 +305,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(15))
{
MoveTimeOut(MoveInfo, "获取库位号超时 " + getPosIdMsg);
SetWarnMsg("获取库位号超时 " + getPosIdMsg);
}
}
......@@ -341,7 +341,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(60))
{
MoveTimeOut(MoveInfo, "A上暂存区物料拿走");
SetWarnMsg("A上暂存区物料拿走");
}
}
else if (MoveInfo.IsStep(StepEnum.II43_InoutToP2))
......@@ -432,7 +432,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(60))
{
MoveTimeOut(MoveInfo, "B上暂存区物料拿走");
SetWarnMsg("B上暂存区物料拿走");
}
}
else if (MoveInfo.IsStep(StepEnum.II63_InoutToP3))
......@@ -473,7 +473,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(20))
{
MoveTimeOut(MoveInfo, "等待" + BatchMove_B.Name + "扫码结束");
SetWarnMsg("等待" + BatchMove_B.Name + "扫码结束");
}
}
else if (MoveInfo.IsStep(StepEnum.II67_MiddleToP1))
......@@ -831,7 +831,7 @@ namespace OnlineStore.DeviceLibrary
{
if (!NoAlarm())
{
LogInfo("报警中,无法开始出库:" + param.PosInfo.ToStr());
LogError("报警中,无法开始出库:" + param.PosInfo.ToStr());
return false;
}
if (AxisInWorkingArea(new int[] { 1, 2, 3, 4 }))
......@@ -1121,7 +1121,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsTimeOut(30))
{
MoveTimeOut(MoveInfo, "等待料串可放料");
SetWarnMsg("等待料串可放料");
}
}
else if (MoveInfo.IsStep(StepEnum.IO23_MiddleToP2))
......
......@@ -91,6 +91,9 @@
this.toolStripSeparator17 = new System.Windows.Forms.ToolStripSeparator();
this.禁用安全光栅ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.启用门禁ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.设备恢复ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.lblWarnMsg = new System.Windows.Forms.Label();
......@@ -121,7 +124,7 @@
this.tabControl1.Multiline = true;
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1000, 649);
this.tabControl1.Size = new System.Drawing.Size(1342, 643);
this.tabControl1.TabIndex = 0;
this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem);
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
......@@ -129,9 +132,9 @@
// tabPage1
//
this.tabPage1.Controls.Add(this.logBox);
this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Location = new System.Drawing.Point(4, 32);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Size = new System.Drawing.Size(992, 616);
this.tabPage1.Size = new System.Drawing.Size(1334, 607);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = " 运行日志 ";
this.tabPage1.UseVisualStyleBackColor = true;
......@@ -144,7 +147,7 @@
this.logBox.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.logBox.Location = new System.Drawing.Point(5, 3);
this.logBox.Name = "logBox";
this.logBox.Size = new System.Drawing.Size(981, 605);
this.logBox.Size = new System.Drawing.Size(1323, 596);
this.logBox.TabIndex = 106;
this.logBox.Text = "";
this.logBox.VisibleChanged += new System.EventHandler(this.logBox_VisibleChanged);
......@@ -152,9 +155,9 @@
// tabPage2
//
this.tabPage2.Controls.Add(this.panel1);
this.tabPage2.Location = new System.Drawing.Point(4, 29);
this.tabPage2.Location = new System.Drawing.Point(4, 32);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Size = new System.Drawing.Size(992, 616);
this.tabPage2.Size = new System.Drawing.Size(192, 64);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = " 设备状态 ";
this.tabPage2.UseVisualStyleBackColor = true;
......@@ -165,7 +168,7 @@
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(992, 616);
this.panel1.Size = new System.Drawing.Size(192, 64);
this.panel1.TabIndex = 1;
//
// tableLayoutPanel1
......@@ -190,7 +193,7 @@
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.28571F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 19.04762F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 19.04762F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(992, 616);
this.tableLayoutPanel1.Size = new System.Drawing.Size(192, 64);
this.tableLayoutPanel1.TabIndex = 0;
//
// InputControl
......@@ -201,11 +204,11 @@
this.tableLayoutPanel1.SetColumnSpan(this.InputControl, 2);
this.InputControl.Dock = System.Windows.Forms.DockStyle.Fill;
this.InputControl.EquipText = "上料机构";
this.InputControl.Location = new System.Drawing.Point(4, 383);
this.InputControl.Margin = new System.Windows.Forms.Padding(4);
this.InputControl.Location = new System.Drawing.Point(4, 43);
this.InputControl.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.InputControl.MoveInfo = "暂无出入库";
this.InputControl.Name = "InputControl";
this.InputControl.Size = new System.Drawing.Size(984, 109);
this.InputControl.Size = new System.Drawing.Size(184, 4);
this.InputControl.TabIndex = 5;
this.InputControl.WorkStatus = "暂未启动";
//
......@@ -215,11 +218,11 @@
this.ReelControlA1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ReelControlA1.ColorStatus = System.Drawing.Color.White;
this.ReelControlA1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ReelControlA1.Location = new System.Drawing.Point(4, 209);
this.ReelControlA1.Margin = new System.Windows.Forms.Padding(4);
this.ReelControlA1.Location = new System.Drawing.Point(4, 25);
this.ReelControlA1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ReelControlA1.Name = "ReelControlA1";
this.ReelControlA1.ReelText = "暂存区物料";
this.ReelControlA1.Size = new System.Drawing.Size(488, 79);
this.ReelControlA1.Size = new System.Drawing.Size(88, 1);
this.ReelControlA1.TabIndex = 0;
//
// ReelControlA2
......@@ -228,11 +231,11 @@
this.ReelControlA2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ReelControlA2.ColorStatus = System.Drawing.Color.White;
this.ReelControlA2.Dock = System.Windows.Forms.DockStyle.Fill;
this.ReelControlA2.Location = new System.Drawing.Point(4, 296);
this.ReelControlA2.Margin = new System.Windows.Forms.Padding(4);
this.ReelControlA2.Location = new System.Drawing.Point(4, 34);
this.ReelControlA2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ReelControlA2.Name = "ReelControlA2";
this.ReelControlA2.ReelText = "暂存区物料";
this.ReelControlA2.Size = new System.Drawing.Size(488, 79);
this.ReelControlA2.Size = new System.Drawing.Size(88, 1);
this.ReelControlA2.TabIndex = 1;
//
// ReelControlB1
......@@ -241,11 +244,11 @@
this.ReelControlB1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ReelControlB1.ColorStatus = System.Drawing.Color.White;
this.ReelControlB1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ReelControlB1.Location = new System.Drawing.Point(500, 209);
this.ReelControlB1.Margin = new System.Windows.Forms.Padding(4);
this.ReelControlB1.Location = new System.Drawing.Point(100, 25);
this.ReelControlB1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ReelControlB1.Name = "ReelControlB1";
this.ReelControlB1.ReelText = "暂存区物料";
this.ReelControlB1.Size = new System.Drawing.Size(488, 79);
this.ReelControlB1.Size = new System.Drawing.Size(88, 1);
this.ReelControlB1.TabIndex = 2;
//
// ReelControlB2
......@@ -254,11 +257,11 @@
this.ReelControlB2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ReelControlB2.ColorStatus = System.Drawing.Color.White;
this.ReelControlB2.Dock = System.Windows.Forms.DockStyle.Fill;
this.ReelControlB2.Location = new System.Drawing.Point(500, 296);
this.ReelControlB2.Margin = new System.Windows.Forms.Padding(4);
this.ReelControlB2.Location = new System.Drawing.Point(100, 34);
this.ReelControlB2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ReelControlB2.Name = "ReelControlB2";
this.ReelControlB2.ReelText = "暂存区物料";
this.ReelControlB2.Size = new System.Drawing.Size(488, 79);
this.ReelControlB2.Size = new System.Drawing.Size(88, 1);
this.ReelControlB2.TabIndex = 3;
//
// BoxControl
......@@ -270,10 +273,10 @@
this.BoxControl.Dock = System.Windows.Forms.DockStyle.Fill;
this.BoxControl.EquipText = "存储机构";
this.BoxControl.Location = new System.Drawing.Point(4, 4);
this.BoxControl.Margin = new System.Windows.Forms.Padding(4);
this.BoxControl.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.BoxControl.MoveInfo = "暂无出入库";
this.BoxControl.Name = "BoxControl";
this.BoxControl.Size = new System.Drawing.Size(984, 197);
this.BoxControl.Size = new System.Drawing.Size(184, 13);
this.BoxControl.TabIndex = 4;
this.BoxControl.WorkStatus = "暂未启动";
//
......@@ -284,11 +287,11 @@
this.ShelfAControl.ColorStatus = System.Drawing.Color.White;
this.ShelfAControl.Dock = System.Windows.Forms.DockStyle.Fill;
this.ShelfAControl.EquipText = "A料口";
this.ShelfAControl.Location = new System.Drawing.Point(4, 500);
this.ShelfAControl.Margin = new System.Windows.Forms.Padding(4);
this.ShelfAControl.Location = new System.Drawing.Point(4, 55);
this.ShelfAControl.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ShelfAControl.MoveInfo = "暂无出入库";
this.ShelfAControl.Name = "ShelfAControl";
this.ShelfAControl.Size = new System.Drawing.Size(488, 112);
this.ShelfAControl.Size = new System.Drawing.Size(88, 5);
this.ShelfAControl.TabIndex = 6;
this.ShelfAControl.WorkStatus = "暂未启动";
//
......@@ -299,11 +302,11 @@
this.ShelfBControl.ColorStatus = System.Drawing.Color.White;
this.ShelfBControl.Dock = System.Windows.Forms.DockStyle.Fill;
this.ShelfBControl.EquipText = "B料口";
this.ShelfBControl.Location = new System.Drawing.Point(500, 500);
this.ShelfBControl.Margin = new System.Windows.Forms.Padding(4);
this.ShelfBControl.Location = new System.Drawing.Point(100, 55);
this.ShelfBControl.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.ShelfBControl.MoveInfo = "暂无出入库";
this.ShelfBControl.Name = "ShelfBControl";
this.ShelfBControl.Size = new System.Drawing.Size(488, 112);
this.ShelfBControl.Size = new System.Drawing.Size(88, 5);
this.ShelfBControl.TabIndex = 7;
this.ShelfBControl.WorkStatus = "暂未启动";
//
......@@ -324,24 +327,24 @@
this.toolStripSeparator8,
this.toolStripMenuItem1});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(113, 62);
this.contextMenuStrip1.Size = new System.Drawing.Size(125, 74);
//
// 显示ToolStripMenuItem
//
this.显示ToolStripMenuItem.Name = "显示ToolStripMenuItem";
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(112, 26);
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(124, 32);
this.显示ToolStripMenuItem.Text = "显示";
this.显示ToolStripMenuItem.Click += new System.EventHandler(this.显示ToolStripMenuItem_Click);
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
this.toolStripSeparator8.Size = new System.Drawing.Size(109, 6);
this.toolStripSeparator8.Size = new System.Drawing.Size(121, 6);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(112, 26);
this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 32);
this.toolStripMenuItem1.Text = "退出";
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
//
......@@ -364,68 +367,68 @@
this.toolStripSeparator2,
this.退出ToolStripMenuItem});
this.操作ToolStripMenuItem.Name = "操作ToolStripMenuItem";
this.操作ToolStripMenuItem.Size = new System.Drawing.Size(96, 25);
this.操作ToolStripMenuItem.Size = new System.Drawing.Size(118, 31);
this.操作ToolStripMenuItem.Text = " 设备操作 ";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(173, 6);
this.toolStripSeparator1.Size = new System.Drawing.Size(215, 6);
//
// 启动AToolStripMenuItem
//
this.启动AToolStripMenuItem.Name = "启动AToolStripMenuItem";
this.启动AToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
this.启动AToolStripMenuItem.Size = new System.Drawing.Size(218, 32);
this.启动AToolStripMenuItem.Text = "启动 ";
this.启动AToolStripMenuItem.Click += new System.EventHandler(this.启动所有料仓AToolStripMenuItem_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(173, 6);
this.toolStripSeparator4.Size = new System.Drawing.Size(215, 6);
//
// 复位RToolStripMenuItem
//
this.复位RToolStripMenuItem.Name = "复位RToolStripMenuItem";
this.复位RToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
this.复位RToolStripMenuItem.Size = new System.Drawing.Size(218, 32);
this.复位RToolStripMenuItem.Text = "复位";
this.复位RToolStripMenuItem.Click += new System.EventHandler(this.复位RToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(173, 6);
this.toolStripSeparator3.Size = new System.Drawing.Size(215, 6);
//
// 停止TToolStripMenuItem
//
this.停止TToolStripMenuItem.Name = "停止TToolStripMenuItem";
this.停止TToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
this.停止TToolStripMenuItem.Size = new System.Drawing.Size(218, 32);
this.停止TToolStripMenuItem.Text = "停止";
this.停止TToolStripMenuItem.Click += new System.EventHandler(this.停止所有料仓TToolStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(173, 6);
this.toolStripSeparator5.Size = new System.Drawing.Size(215, 6);
//
// 启用配置模式ToolStripMenuItem
//
this.启用配置模式ToolStripMenuItem.Enabled = false;
this.启用配置模式ToolStripMenuItem.Name = "启用配置模式ToolStripMenuItem";
this.启用配置模式ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
this.启用配置模式ToolStripMenuItem.Size = new System.Drawing.Size(218, 32);
this.启用配置模式ToolStripMenuItem.Text = "启用配置模式";
this.启用配置模式ToolStripMenuItem.Click += new System.EventHandler(this.启用配置模式ToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(173, 6);
this.toolStripSeparator2.Size = new System.Drawing.Size(215, 6);
this.toolStripSeparator2.Visible = false;
//
// 退出ToolStripMenuItem
//
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(176, 26);
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(218, 32);
this.退出ToolStripMenuItem.Text = "退出";
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click_1);
//
......@@ -446,85 +449,85 @@
this.toolStripSeparator9,
this.解锁舱门ToolStripMenuItem});
this.设置TToolStripMenuItem.Name = "设置TToolStripMenuItem";
this.设置TToolStripMenuItem.Size = new System.Drawing.Size(91, 25);
this.设置TToolStripMenuItem.Size = new System.Drawing.Size(112, 31);
this.设置TToolStripMenuItem.Text = "设备调试 ";
//
// 忽略当次料叉检查ToolStripMenuItem
//
this.忽略当次料叉检查ToolStripMenuItem.Name = "忽略当次料叉检查ToolStripMenuItem";
this.忽略当次料叉检查ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.忽略当次料叉检查ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.忽略当次料叉检查ToolStripMenuItem.Text = "忽略当次料叉检查";
this.忽略当次料叉检查ToolStripMenuItem.Click += new System.EventHandler(this.忽略当次料叉检查ToolStripMenuItem_Click);
//
// toolStripSeparator13
//
this.toolStripSeparator13.Name = "toolStripSeparator13";
this.toolStripSeparator13.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator13.Size = new System.Drawing.Size(255, 6);
//
// a料口重置料串ToolStripMenuItem
//
this.a料口重置料串ToolStripMenuItem.Name = "a料口重置料串ToolStripMenuItem";
this.a料口重置料串ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.a料口重置料串ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.a料口重置料串ToolStripMenuItem.Text = "A料口重置料串";
this.a料口重置料串ToolStripMenuItem.Click += new System.EventHandler(this.a料口重置料串ToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator6.Size = new System.Drawing.Size(255, 6);
this.toolStripSeparator6.Visible = false;
//
// b料口重置料串ToolStripMenuItem
//
this.b料口重置料串ToolStripMenuItem.Name = "b料口重置料串ToolStripMenuItem";
this.b料口重置料串ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.b料口重置料串ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.b料口重置料串ToolStripMenuItem.Text = "B料口重置料串";
this.b料口重置料串ToolStripMenuItem.Click += new System.EventHandler(this.b料口重置料串ToolStripMenuItem_Click);
//
// toolStripSeparator12
//
this.toolStripSeparator12.Name = "toolStripSeparator12";
this.toolStripSeparator12.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator12.Size = new System.Drawing.Size(255, 6);
//
// 二维码学习ToolStripMenuItem
//
this.二维码学习ToolStripMenuItem.Name = "二维码学习ToolStripMenuItem";
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.二维码学习ToolStripMenuItem.Text = "二维码学习";
this.二维码学习ToolStripMenuItem.Click += new System.EventHandler(this.二维码学习ToolStripMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator7.Size = new System.Drawing.Size(255, 6);
//
// 托盘初始化ToolStripMenuItem
//
this.托盘初始化ToolStripMenuItem.Name = "托盘初始化ToolStripMenuItem";
this.托盘初始化ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.托盘初始化ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.托盘初始化ToolStripMenuItem.Text = "托盘编码";
//
// toolStripSeparator16
//
this.toolStripSeparator16.Name = "toolStripSeparator16";
this.toolStripSeparator16.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator16.Size = new System.Drawing.Size(255, 6);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(208, 26);
this.toolStripMenuItem3.Size = new System.Drawing.Size(258, 32);
this.toolStripMenuItem3.Text = "脆盘料号配置";
this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(205, 6);
this.toolStripSeparator9.Size = new System.Drawing.Size(255, 6);
//
// 解锁舱门ToolStripMenuItem
//
this.解锁舱门ToolStripMenuItem.Name = "解锁舱门ToolStripMenuItem";
this.解锁舱门ToolStripMenuItem.Size = new System.Drawing.Size(208, 26);
this.解锁舱门ToolStripMenuItem.Size = new System.Drawing.Size(258, 32);
this.解锁舱门ToolStripMenuItem.Text = "解锁舱门";
this.解锁舱门ToolStripMenuItem.Click += new System.EventHandler(this.解锁舱门ToolStripMenuItem_Click);
//
......@@ -537,37 +540,37 @@
this.toolStripSeparator11,
this.版本号ToolStripMenuItem});
this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(69, 25);
this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(84, 31);
this.帮助ToolStripMenuItem.Text = " 系统 ";
//
// 清空日志ToolStripMenuItem
//
this.清空日志ToolStripMenuItem.Name = "清空日志ToolStripMenuItem";
this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.清空日志ToolStripMenuItem.Size = new System.Drawing.Size(178, 32);
this.清空日志ToolStripMenuItem.Text = "清空日志";
this.清空日志ToolStripMenuItem.Click += new System.EventHandler(this.清空日志ToolStripMenuItem_Click);
//
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(141, 6);
this.toolStripSeparator10.Size = new System.Drawing.Size(175, 6);
//
// 复制日志ToolStripMenuItem
//
this.复制日志ToolStripMenuItem.Name = "复制日志ToolStripMenuItem";
this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.复制日志ToolStripMenuItem.Size = new System.Drawing.Size(178, 32);
this.复制日志ToolStripMenuItem.Text = "复制日志";
this.复制日志ToolStripMenuItem.Click += new System.EventHandler(this.复制日志ToolStripMenuItem_Click);
//
// toolStripSeparator11
//
this.toolStripSeparator11.Name = "toolStripSeparator11";
this.toolStripSeparator11.Size = new System.Drawing.Size(141, 6);
this.toolStripSeparator11.Size = new System.Drawing.Size(175, 6);
//
// 版本号ToolStripMenuItem
//
this.版本号ToolStripMenuItem.Name = "版本号ToolStripMenuItem";
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(178, 32);
this.版本号ToolStripMenuItem.Text = "关于软件";
this.版本号ToolStripMenuItem.Click += new System.EventHandler(this.版本号ToolStripMenuItem_Click);
//
......@@ -580,10 +583,13 @@
this.操作ToolStripMenuItem,
this.运行参数ToolStripMenuItem,
this.设置TToolStripMenuItem,
this.帮助ToolStripMenuItem});
this.帮助ToolStripMenuItem,
this.设备恢复ToolStripMenuItem,
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem,
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1006, 29);
this.menuStrip1.Size = new System.Drawing.Size(1348, 35);
this.menuStrip1.TabIndex = 4;
this.menuStrip1.Text = "menuStrip1";
//
......@@ -599,37 +605,37 @@
this.禁用安全光栅ToolStripMenuItem,
this.启用门禁ToolStripMenuItem});
this.运行参数ToolStripMenuItem.Name = "运行参数ToolStripMenuItem";
this.运行参数ToolStripMenuItem.Size = new System.Drawing.Size(86, 25);
this.运行参数ToolStripMenuItem.Size = new System.Drawing.Size(106, 31);
this.运行参数ToolStripMenuItem.Text = "运行参数";
//
// 开机自动启动ToolStripMenuItem
//
this.开机自动启动ToolStripMenuItem.Name = "开机自动启动ToolStripMenuItem";
this.开机自动启动ToolStripMenuItem.Size = new System.Drawing.Size(206, 26);
this.开机自动启动ToolStripMenuItem.Size = new System.Drawing.Size(254, 32);
this.开机自动启动ToolStripMenuItem.Text = "开机自动启动";
this.开机自动启动ToolStripMenuItem.Click += new System.EventHandler(this.开机自动启动ToolStripMenuItem_Click);
//
// toolStripSeparator15
//
this.toolStripSeparator15.Name = "toolStripSeparator15";
this.toolStripSeparator15.Size = new System.Drawing.Size(203, 6);
this.toolStripSeparator15.Size = new System.Drawing.Size(251, 6);
//
// 启用蜂鸣器ToolStripMenuItem
//
this.启用蜂鸣器ToolStripMenuItem.Name = "启用蜂鸣器ToolStripMenuItem";
this.启用蜂鸣器ToolStripMenuItem.Size = new System.Drawing.Size(206, 26);
this.启用蜂鸣器ToolStripMenuItem.Size = new System.Drawing.Size(254, 32);
this.启用蜂鸣器ToolStripMenuItem.Text = "启用蜂鸣器";
this.启用蜂鸣器ToolStripMenuItem.Click += new System.EventHandler(this.启用蜂鸣器ToolStripMenuItem_Click);
//
// toolStripSeparator25
//
this.toolStripSeparator25.Name = "toolStripSeparator25";
this.toolStripSeparator25.Size = new System.Drawing.Size(203, 6);
this.toolStripSeparator25.Size = new System.Drawing.Size(251, 6);
//
// aGVCancelStateToolStripMenuItem
//
this.aGVCancelStateToolStripMenuItem.Name = "aGVCancelStateToolStripMenuItem";
this.aGVCancelStateToolStripMenuItem.Size = new System.Drawing.Size(206, 26);
this.aGVCancelStateToolStripMenuItem.Size = new System.Drawing.Size(254, 32);
this.aGVCancelStateToolStripMenuItem.Text = "AGV cancelState";
this.aGVCancelStateToolStripMenuItem.Visible = false;
this.aGVCancelStateToolStripMenuItem.Click += new System.EventHandler(this.aGVCancelStateToolStripMenuItem_Click);
......@@ -637,23 +643,48 @@
// toolStripSeparator17
//
this.toolStripSeparator17.Name = "toolStripSeparator17";
this.toolStripSeparator17.Size = new System.Drawing.Size(203, 6);
this.toolStripSeparator17.Size = new System.Drawing.Size(251, 6);
this.toolStripSeparator17.Visible = false;
//
// 禁用安全光栅ToolStripMenuItem
//
this.禁用安全光栅ToolStripMenuItem.Name = "禁用安全光栅ToolStripMenuItem";
this.禁用安全光栅ToolStripMenuItem.Size = new System.Drawing.Size(206, 26);
this.禁用安全光栅ToolStripMenuItem.Size = new System.Drawing.Size(254, 32);
this.禁用安全光栅ToolStripMenuItem.Text = "启用安全光栅";
this.禁用安全光栅ToolStripMenuItem.Click += new System.EventHandler(this.启用安全光栅ToolStripMenuItem_Click);
//
// 启用门禁ToolStripMenuItem
//
this.启用门禁ToolStripMenuItem.Name = "启用门禁ToolStripMenuItem";
this.启用门禁ToolStripMenuItem.Size = new System.Drawing.Size(206, 26);
this.启用门禁ToolStripMenuItem.Size = new System.Drawing.Size(254, 32);
this.启用门禁ToolStripMenuItem.Text = "启用门禁";
this.启用门禁ToolStripMenuItem.Click += new System.EventHandler(this.启用门禁ToolStripMenuItem_Click);
//
// 设备恢复ToolStripMenuItem
//
this.设备恢复ToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.设备恢复ToolStripMenuItem.Name = "设备恢复ToolStripMenuItem";
this.设备恢复ToolStripMenuItem.Size = new System.Drawing.Size(106, 31);
this.设备恢复ToolStripMenuItem.Text = "设备恢复";
this.设备恢复ToolStripMenuItem.Visible = false;
this.设备恢复ToolStripMenuItem.Click += new System.EventHandler(this.设备恢复ToolStripMenuItem_Click);
//
// 忽略行走机构运行期间A侧料叉ToolStripMenuItem
//
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem.Name = "忽略行走机构运行期间A侧料叉ToolStripMenuItem";
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem.Size = new System.Drawing.Size(220, 31);
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem.Text = "忽略运行期间A侧料叉";
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem.Visible = false;
this.忽略行走机构运行期间A侧料叉ToolStripMenuItem.Click += new System.EventHandler(this.忽略行走机构运行期间A侧料叉ToolStripMenuItem_Click);
//
// 忽略行走机构运行期间B侧料叉ToolStripMenuItem1
//
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Name = "忽略行走机构运行期间B侧料叉ToolStripMenuItem1";
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Size = new System.Drawing.Size(219, 31);
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Text = "忽略运行期间B侧料叉";
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Visible = false;
this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Click += new System.EventHandler(this.忽略行走机构运行期间B侧料叉ToolStripMenuItem1_Click);
//
// tableLayoutPanel2
//
this.tableLayoutPanel2.ColumnCount = 1;
......@@ -661,12 +692,12 @@
this.tableLayoutPanel2.Controls.Add(this.tabControl1, 0, 1);
this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel3, 0, 0);
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 29);
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 35);
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 2;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 37F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(1006, 692);
this.tableLayoutPanel2.Size = new System.Drawing.Size(1348, 686);
this.tableLayoutPanel2.TabIndex = 97;
//
// tableLayoutPanel3
......@@ -681,7 +712,7 @@
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.RowCount = 1;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel3.Size = new System.Drawing.Size(1000, 31);
this.tableLayoutPanel3.Size = new System.Drawing.Size(1342, 31);
this.tableLayoutPanel3.TabIndex = 1;
//
// lblWarnMsg
......@@ -692,16 +723,16 @@
this.lblWarnMsg.ForeColor = System.Drawing.Color.Red;
this.lblWarnMsg.Location = new System.Drawing.Point(3, 0);
this.lblWarnMsg.Name = "lblWarnMsg";
this.lblWarnMsg.Size = new System.Drawing.Size(607, 31);
this.lblWarnMsg.Size = new System.Drawing.Size(816, 31);
this.lblWarnMsg.TabIndex = 97;
this.lblWarnMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lbldiancifa
//
this.lbldiancifa.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbldiancifa.Location = new System.Drawing.Point(616, 0);
this.lbldiancifa.Location = new System.Drawing.Point(825, 0);
this.lbldiancifa.Name = "lbldiancifa";
this.lbldiancifa.Size = new System.Drawing.Size(381, 31);
this.lbldiancifa.Size = new System.Drawing.Size(514, 31);
this.lbldiancifa.TabIndex = 98;
this.lbldiancifa.Text = "label1";
//
......@@ -710,9 +741,9 @@
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.lblStatus});
this.statusStrip1.Location = new System.Drawing.Point(0, 697);
this.statusStrip1.Location = new System.Drawing.Point(0, 695);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(1006, 24);
this.statusStrip1.Size = new System.Drawing.Size(1348, 26);
this.statusStrip1.TabIndex = 98;
this.statusStrip1.Text = "statusStrip1";
//
......@@ -720,14 +751,14 @@
//
this.lblStatus.ForeColor = System.Drawing.Color.Green;
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(61, 19);
this.lblStatus.Size = new System.Drawing.Size(69, 20);
this.lblStatus.Text = "等待启动";
//
// FrmXLRStore
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1006, 721);
this.ClientSize = new System.Drawing.Size(1348, 721);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.tableLayoutPanel2);
this.Controls.Add(this.menuStrip1);
......@@ -827,6 +858,9 @@
private System.Windows.Forms.ToolStripMenuItem 忽略当次料叉检查ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
private System.Windows.Forms.ToolStripMenuItem 启用配置模式ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 设备恢复ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 忽略行走机构运行期间A侧料叉ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 忽略行走机构运行期间B侧料叉ToolStripMenuItem1;
}
}
......@@ -170,6 +170,7 @@ namespace OnlineStore.XLRStore
DialogResult result = MessageBox.Show("确定清除A上暂存区物料:" + BufferDataManager.AInStoreInfo.ToStr(), "", MessageBoxButtons.OKCancel);
if (result.Equals(DialogResult.OK))
{
SServerManager.cancelPutInTask(Name, BufferDataManager.AInStoreInfo.barcode);
LogUtil.info(Name + "手动清除A上暂存区物料:" + BufferDataManager.AInStoreInfo.ToStr());
BufferDataManager.AInStoreInfo = null;
}
......@@ -197,6 +198,7 @@ namespace OnlineStore.XLRStore
DialogResult result = MessageBox.Show("确定清除B上暂存区物料:" + BufferDataManager.BInStoreInfo.ToStr(), "", MessageBoxButtons.OKCancel);
if (result.Equals(DialogResult.OK))
{
SServerManager.cancelPutInTask(Name, BufferDataManager.BInStoreInfo.barcode);
LogUtil.info(Name + "手动清除B上暂存区物料:" + BufferDataManager.BInStoreInfo.ToStr());
BufferDataManager.BInStoreInfo = null;
}
......@@ -553,6 +555,34 @@ namespace OnlineStore.XLRStore
{
lbldiancifa.Text = "干燥机电磁阀关闭";
}
if (StoreManager.XLRStore?.boxEquip?.MoveStop??false)
{
设备恢复ToolStripMenuItem.Visible = true;
if (StoreManager.XLRStore?.boxEquip?.ForkAChecking ?? false)
{
忽略行走机构运行期间A侧料叉ToolStripMenuItem.Visible = true;
}
else
{
忽略行走机构运行期间A侧料叉ToolStripMenuItem.Visible = false;
}
if (StoreManager.XLRStore?.boxEquip?.ForkBChecking ?? false)
{
忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Visible = true;
}
else
{
忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Visible = false;
}
}
else
{
设备恢复ToolStripMenuItem.Visible = false;
忽略行走机构运行期间B侧料叉ToolStripMenuItem1.Visible = false;
忽略行走机构运行期间A侧料叉ToolStripMenuItem.Visible = false;
}
}
private void SetMenuS(ToolStripMenuItem toolMenu, bool isEn)
{
......@@ -858,5 +888,21 @@ namespace OnlineStore.XLRStore
{
}
private void 忽略行走机构运行期间A侧料叉ToolStripMenuItem_Click(object sender, EventArgs e)
{
StoreManager.XLRStore.boxEquip.IgnoreFortACheck = true;
}
private void 忽略行走机构运行期间B侧料叉ToolStripMenuItem1_Click(object sender, EventArgs e)
{
StoreManager.XLRStore.boxEquip.IgnoreForkBCheck = true;
}
private void 设备恢复ToolStripMenuItem_Click(object sender, EventArgs e)
{
StoreManager.XLRStore.boxEquip.UserPause(false, "用户点击恢复");
}
}
}
......@@ -168,7 +168,7 @@
this.chbMoveStop.TabIndex = 262;
this.chbMoveStop.Text = "暂停运动";
this.chbMoveStop.UseVisualStyleBackColor = true;
this.chbMoveStop.Click += new System.EventHandler(this.chbMoveStop_CheckedChanged);
this.chbMoveStop.CheckedChanged += new System.EventHandler(this.chbMoveStop_CheckedChanged);
//
// lblName
//
......
......@@ -51,7 +51,6 @@ namespace OnlineStore.XLRStore
{
btnReset.Enabled = true;
}
text += "\r\n" + moveBean.MoveInfo.MoveType + "_" + moveBean.MoveInfo.MoveStep;
text += "\r\n" + moveBean.CurrShelf?.ToStr();
lblAgvInfo.Text = text;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!