Commit dbedd0e8 刘韬

优化节拍

1 个父辈 7bb711d0
...@@ -48,7 +48,7 @@ namespace OnlineStore.AutoCountClient ...@@ -48,7 +48,7 @@ namespace OnlineStore.AutoCountClient
MessageBox.Show("数据未初始化完成,请稍后!"); MessageBox.Show("数据未初始化完成,请稍后!");
return; return;
} }
//RobotManager.robot.sQLite.Insert("", 0, 0, 0, "123");
DateTime startTime = dtpStartTime.Value; DateTime startTime = dtpStartTime.Value;
DateTime endTime = dtpEndTime.Value; DateTime endTime = dtpEndTime.Value;
......
...@@ -53,8 +53,10 @@ namespace OnlineStore.AutoCountClient ...@@ -53,8 +53,10 @@ namespace OnlineStore.AutoCountClient
/// </summary> /// </summary>
[STAThread] [STAThread]
static void Main(string[] Args) static void Main(string[] Args)
{ {
//string code = " (X: 380,Y: 148) L00000000000WG9D19055;E20191230 0180;B7H.10618.5B1008082019123004000;R0080820191230E9600"; //string code = " (X: 380,Y: 148) L00000000000WG9D19055;E20191230 0180;B7H.10618.5B1008082019123004000;R0080820191230E9600";
//string r = CodeManager.ReplaceCode(code); //string r = CodeManager.ReplaceCode(code);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
......
...@@ -95,11 +95,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -95,11 +95,11 @@ namespace OnlineStore.DeviceLibrary
//UpdateAction(id, ClientAction.Ready); //UpdateAction(id, ClientAction.Ready);
LogUtil.info("收到 AgvClient_Ready [" + id + "] [" + rfid + "] "+ GetAction(id).ToString()); LogUtil.info("收到 AgvClient_Ready [" + id + "] [" + rfid + "] "+ GetAction(id).ToString());
if (GetAction(id) == ClientAction.NeedEnter) if (GetAction(id) == ClientAction.NeedEnter || id=="D1")
{ {
SetStatus(id, "", ClientAction.MayEnter); SetStatus(id, "", ClientAction.MayEnter);
} }
else if (GetAction(id) == ClientAction.NeedLeave) else if (GetAction(id) == ClientAction.NeedLeave || id=="D2")
{ {
SetStatus(id, "", ClientAction.MayLeave); SetStatus(id, "", ClientAction.MayLeave);
} }
......
...@@ -411,7 +411,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -411,7 +411,7 @@ namespace OnlineStore.DeviceLibrary
if (!first) if (!first)
{ {
//如果不是第一次取盘,则每次最多上升16mm //如果不是第一次取盘,则每次最多上升16mm
targetP3 = StartMovePosition+Robot.Config.Height_ChangeValue*80; targetP3 = StartMovePosition+Robot.Config.Height_ChangeValue*60;
if (targetP3 > BatchAxisP3) if (targetP3 > BatchAxisP3)
targetP3 = BatchAxisP3; targetP3 = BatchAxisP3;
} }
......
...@@ -469,7 +469,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -469,7 +469,7 @@ namespace OnlineStore.DeviceLibrary
#region 日志打印 #region 日志打印
internal int WorkLogLevel = 1; internal int WorkLogLevel = 1;
private int SecWorkLogLevel = 1; private int SecWorkLogLevel = 1;
protected void WorkLog(string msg,int level=-1) protected void WorkLog(string msg,int level=1)
{ {
if (level < 0) if (level < 0)
{ {
...@@ -515,15 +515,22 @@ namespace OnlineStore.DeviceLibrary ...@@ -515,15 +515,22 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
LogUtil.debug(SecMoveInfo.Name + "[" + code + "]" + "[" + SecMoveInfo.MoveStep + "] " + msg); LogUtil.debug(SecMoveInfo.Name + "[" + code + "]" + "[" + SecMoveInfo.MoveStep + "] " + msg);
} }
} }
protected void TickLog(string stepname,bool steptime=false) protected void TickLog(string stepname,bool steptime=false)
{ {
TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime; TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime;
if (steptime) if (steptime)
span = DateTime.Now - MoveInfo.LastSetpTime; ; span = DateTime.Now - MoveInfo.LastSetpTime;
LogUtil.ticklog(MoveInfo.Name, MoveInfo.MoveParam.WareCode, span.TotalSeconds, stepname); LogUtil.ticklog(MoveInfo.Name, MoveInfo.MoveParam.WareCode, span.TotalSeconds, stepname);
} }
protected void SecTickLog(string stepname,bool steptime=false)
{
TimeSpan span = DateTime.Now - SecMoveInfo.MoveStartTime;
if (steptime)
span = DateTime.Now - SecMoveInfo.LastSetpTime;
LogUtil.ticklog(SecMoveInfo.Name, SecMoveInfo.MoveParam.WareCode, span.TotalSeconds, stepname);
}
public virtual string GetMoveStr() public virtual string GetMoveStr()
{ {
string msg = ""; string msg = "";
......
...@@ -84,9 +84,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -84,9 +84,13 @@ namespace OnlineStore.DeviceLibrary
} }
private void IW04_InoutToP2() private void IW04_InoutToP2()
{ {
MoveInfo.NextMoveStep(StepEnum.IW04_InoutToP2); //MoveInfo.NextMoveStep(StepEnum.IW04_InoutToP2);
WorkLog("取料: 进出轴前进到P2",0); WorkLog("取料: 进出轴前进到P2",0);
InOutAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Inout_P2(Config), Config.InoutAxis_P2Speed); InOutAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Inout_P2(Config), Config.InoutAxis_P2Speed);
MoveInfo.NextMoveStep(StepEnum.IW05_UpdownToP2);
WorkLog("取料: 升降轴下降到P2", 1);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_P2(Config), Config.UpdownAxis_P2Speed);
} }
private Task GetTargetPTask = null; private Task GetTargetPTask = null;
protected override void WorkingProcess() protected override void WorkingProcess()
...@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.IW04_InoutToP2)) else if (MoveInfo.IsStep(StepEnum.IW04_InoutToP2))
{ {
MoveInfo.NextMoveStep(StepEnum.IW05_UpdownToP2); //MoveInfo.NextMoveStep(StepEnum.IW05_UpdownToP2);
WorkLog("取料: 升降轴下降到P2",1); //WorkLog("取料: 升降轴下降到P2",1);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_P2(Config), Config.UpdownAxis_P2Speed); //UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_P2(Config), Config.UpdownAxis_P2Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW05_UpdownToP2)) else if (MoveInfo.IsStep(StepEnum.IW05_UpdownToP2))
{ {
...@@ -133,6 +137,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -133,6 +137,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.IW07_UpdownToP1); MoveInfo.NextMoveStep(StepEnum.IW07_UpdownToP1);
WorkLog("取料: 升降轴到待机点P1",0); WorkLog("取料: 升降轴到待机点P1",0);
UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P1, Config.UpdownAxis_P1Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P1, Config.UpdownAxis_P1Speed);
WorkLog("取料: 进出轴返回P1", 1);
InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P1, Config.InoutAxis_P1Speed);
} }
else else
{ {
...@@ -157,8 +163,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -157,8 +163,10 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.IW08_WaitAxisCheck)) else if (MoveInfo.IsStep(StepEnum.IW08_WaitAxisCheck))
{ {
MoveInfo.NextMoveStep(StepEnum.IW09_InoutToP1); //MoveInfo.NextMoveStep(StepEnum.IW09_InoutToP1);
WorkLog("取料: 进出轴返回P1",1); MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize);
if (MoveInfo.MoveParam.InPosType.Equals(1)) if (MoveInfo.MoveParam.InPosType.Equals(1))
{ {
LeftBatchMove.GetTrayOK(); LeftBatchMove.GetTrayOK();
...@@ -167,10 +175,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -167,10 +175,10 @@ namespace OnlineStore.DeviceLibrary
{ {
RightBatchMove.GetTrayOK(); RightBatchMove.GetTrayOK();
} }
InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P1, Config.InoutAxis_P1Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW09_InoutToP1)) else if (MoveInfo.IsStep(StepEnum.IW09_InoutToP1))
{ {/*
bool isOk = MoveInfo.MoveParam.PlateH > 0 && MoveInfo.MoveParam.PlateW > 0; bool isOk = MoveInfo.MoveParam.PlateH > 0 && MoveInfo.MoveParam.PlateW > 0;
BatchMoveBean moveBean = MoveInfo.MoveParam.InPosType.Equals(1) ? LeftBatchMove : RightBatchMove; BatchMoveBean moveBean = MoveInfo.MoveParam.InPosType.Equals(1) ? LeftBatchMove : RightBatchMove;
if (moveBean.LastHeight > 0 || isOk) if (moveBean.LastHeight > 0 || isOk)
...@@ -188,25 +196,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -188,25 +196,27 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType,MoveInfo.logSeconds()); LogUtil.error(WarnMsg, MoveInfo.ErrorLogType,MoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut); Alarm(AlarmType.IoSingleTimeOut);
} }
*/
} }
else if (MoveInfo.IsStep(StepEnum.IW10_SaveSize)) else if (MoveInfo.IsStep(StepEnum.IW10_SaveSize))
{ {
GetTargetPTask = null; GetTargetPTask = null;
MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition); MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
if (String.IsNullOrEmpty(MoveInfo.MoveParam.WareCode)) if (String.IsNullOrEmpty(MoveInfo.MoveParam.WareCode))
{ {
MoveInfo.MoveParam.IsNgReel = true; MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = "无有效条码"; MoveInfo.MoveParam.NgMsg = "无有效条码";
MoveInfo.MoveParam.TargetPosType = 1; MoveInfo.MoveParam.TargetPosType = 1;
WorkLog(" 无有效条码,从XRay放到NG箱:" + MoveInfo.MoveParam.ToStr(),1); WorkLog(" 无有效条码,从XRay放到NG箱:" + MoveInfo.MoveParam.ToStr(),1);
string outF = "无有效条码NG.";
RobotManager.robot.sQLite.Insert(MoveInfo.MoveParam.WareCode, MoveInfo.MoveParam.PlateW, MoveInfo.MoveParam.PlateH, 0, outF);
} }
//else if (MoveInfo.MoveParam.InPosType.Equals(2)) //else if (MoveInfo.MoveParam.InPosType.Equals(2))
//{ //{
// MoveInfo.MoveParam.TargetPosType = 1; // MoveInfo.MoveParam.TargetPosType = 1;
// WorkLog(" 右侧入口入料,直接放到XRay:" + MoveInfo.MoveParam.ToStr()); // WorkLog(" 右侧入口入料,直接放到XRay:" + MoveInfo.MoveParam.ToStr());
//} //}
else if (SServerManager.CanConnect()) else if (SServerManager.CanConnect())
{ {
GetTargetPTask = Task.Factory.StartNew(delegate GetTargetPTask = Task.Factory.StartNew(delegate
...@@ -226,6 +236,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -226,6 +236,9 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.MoveParam.TargetPosType = 1; MoveInfo.MoveParam.TargetPosType = 1;
MoveInfo.MoveParam.IsNgReel = true; MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = msg; MoveInfo.MoveParam.NgMsg = msg;
string outF = msg;
RobotManager.robot.sQLite.Insert(MoveInfo.MoveParam.WareCode, MoveInfo.MoveParam.PlateW, MoveInfo.MoveParam.PlateH, 0, outF);
} }
}); });
} }
...@@ -273,13 +286,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -273,13 +286,15 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.IW21_MiddleToP3); MoveInfo.NextMoveStep(StepEnum.IW21_MiddleToP3);
WorkLog(" 开始放料到XRay入口,旋转轴到P3", 1); WorkLog(" 开始放料到XRay入口,旋转轴到P3", 1);
MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P3, Config.MiddleAxis_P3Speed); MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P3, Config.MiddleAxis_P3Speed);
} }
else else
{ {
ClearTimeoutAlarm("验证是否测值"); ClearTimeoutAlarm("验证是否测值");
MoveInfo.NextMoveStep(StepEnum.IW31_MIddleToP4); MoveInfo.NextMoveStep(StepEnum.IW31_MIddleToP4);
WorkLog(" 开始放料到测值工位,旋转轴到P4", 1); WorkLog(" 开始放料到测值工位,旋转轴到P4", 1);
string outF = MoveInfo.MoveParam.TargetPosType.Equals(2)?"电容":"电阻";
outF += "需测值";
RobotManager.robot.sQLite.Insert(MoveInfo.MoveParam.WareCode, MoveInfo.MoveParam.PlateW, MoveInfo.MoveParam.PlateH, 0, outF);
MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P4, Config.MiddleAxis_P4Speed); MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P4, Config.MiddleAxis_P4Speed);
} }
}else if (MoveInfo.IsTimeOut(120)) }else if (MoveInfo.IsTimeOut(120))
...@@ -294,8 +309,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -294,8 +309,8 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.TakeAxis_Location_1).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.TakeAxis_Location_1).Equals(IO_VALUE.HIGH))
{ {
//MoveInfo.NextMoveStep(StepEnum.IW22_UpdownToP3); MoveInfo.NextMoveStep(StepEnum.IW22_UpdownToP3);
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3); //MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
WorkLog("->XRay: 升降轴到P3", 1); WorkLog("->XRay: 升降轴到P3", 1);
UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P3, Config.UpdownAxis_P3Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P3, Config.UpdownAxis_P3Speed);
WorkLog("->XRay:进出轴到P3", 1); WorkLog("->XRay:进出轴到P3", 1);
...@@ -313,7 +328,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -313,7 +328,27 @@ namespace OnlineStore.DeviceLibrary
{ {
//向上合并 //向上合并
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3); MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
bool isOk = MoveInfo.MoveParam.PlateH > 0 && MoveInfo.MoveParam.PlateW > 0;
BatchMoveBean moveBean = MoveInfo.MoveParam.InPosType.Equals(1) ? LeftBatchMove : RightBatchMove;
if (moveBean.LastHeight > 0 || isOk)
{
ClearTimeoutAlarm("测高结束超时");
//MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize);
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
MoveInfo.MoveParam.PlateH = moveBean.LastHeight;
MoveInfo.MoveParam.PlateW = GetWidth();
WorkLog("测高结束, 记录尺寸【" + MoveInfo.MoveParam.PlateW + "X" + MoveInfo.MoveParam.PlateH + "】,开始下一盘预扫码", 1);
}
else if (MoveInfo.IsTimeOut(60))
{
WarnMsg = Name + "等待" + moveBean.Name + "测高结束超时[" + MoveInfo.TimeOutSeconds + "]秒";
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType, MoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
}
} }
else if (MoveInfo.IsStep(StepEnum.IW23_InoutToP3)) else if (MoveInfo.IsStep(StepEnum.IW23_InoutToP3))
{ {
...@@ -321,7 +356,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -321,7 +356,7 @@ namespace OnlineStore.DeviceLibrary
WorkLog("->XRay:等待XRay可放料",1); WorkLog("->XRay:等待XRay可放料",1);
MoveInfo.TimeOutSeconds = 120; MoveInfo.TimeOutSeconds = 120;
//TODO //TODO
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_InLine_Check, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_InLine_Check, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_InLine_Run, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_InLine_Run, IO_VALUE.LOW));
} }
...@@ -365,7 +400,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -365,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.IW42_InoutToP1)) else if (MoveInfo.IsStep(StepEnum.IW42_InoutToP1))
{ {
//可上合并 //可上合并
MoveInfo.NextMoveStep(StepEnum.IW43_UpdownToP1); //MoveInfo.NextMoveStep(StepEnum.IW43_UpdownToP1);
} }
else if (MoveInfo.IsStep(StepEnum.IW43_UpdownToP1)) else if (MoveInfo.IsStep(StepEnum.IW43_UpdownToP1))
...@@ -378,7 +413,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -378,7 +413,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.IW44_MiddleToP2)) else if (MoveInfo.IsStep(StepEnum.IW44_MiddleToP2))
{ {
TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime; TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime;
TickLog("放料完成", true); TickLog("放料完成", false);
WorkLog("放料完成,耗时(" + FormUtil.GetSpanStr(span) + ")"); WorkLog("放料完成,耗时(" + FormUtil.GetSpanStr(span) + ")");
MoveInfo.EndMove(); MoveInfo.EndMove();
......
...@@ -577,7 +577,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -577,7 +577,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient.NeedEnter(Config.AgvInName, "", Asa.ClientLevel.High); AgvClient.NeedEnter(Config.AgvInName, "", Asa.ClientLevel.High);
} }
} }
else if (AgvClient.GetAction(Config.AgvInName) != Asa.ClientAction.MayEnter) else if (AgvClient.GetAction(Config.AgvInName) != Asa.ClientAction.MayEnter && AgvClient.GetAction(Config.AgvInName) != Asa.ClientAction.None)
{ {
needEnterWatch.Stop(); needEnterWatch.Stop();
AgvClient.SetToNone(Config.AgvInName); AgvClient.SetToNone(Config.AgvInName);
...@@ -592,7 +592,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -592,7 +592,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient.NeedLeave(Config.AgvOutName, "", Asa.ClientLevel.High); AgvClient.NeedLeave(Config.AgvOutName, "", Asa.ClientLevel.High);
} }
} }
else if (AgvClient.GetAction(Config.AgvOutName) != Asa.ClientAction.MayLeave) else if (AgvClient.GetAction(Config.AgvOutName) != Asa.ClientAction.MayLeave && AgvClient.GetAction(Config.AgvOutName) != Asa.ClientAction.None)
{ {
needLeaveWatch.Stop(); needLeaveWatch.Stop();
AgvClient.SetToNone(Config.AgvOutName); AgvClient.SetToNone(Config.AgvOutName);
......
...@@ -99,22 +99,31 @@ namespace OnlineStore.DeviceLibrary ...@@ -99,22 +99,31 @@ namespace OnlineStore.DeviceLibrary
WorkLog("料盘处理:左侧门打开,挡停下降", 0); WorkLog("料盘处理:左侧门打开,挡停下降", 0);
CylinderMove(MoveInfo, IO_Type.X_InDoor_Up, IO_Type.X_InDoor_Down); CylinderMove(MoveInfo, IO_Type.X_InDoor_Up, IO_Type.X_InDoor_Down);
CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down); CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
}
else if (MoveInfo.IsStep(StepEnum.XW02_InDoorOpen))
{
MoveInfo.NextMoveStep(StepEnum.XW04_InLineRun); MoveInfo.NextMoveStep(StepEnum.XW04_InLineRun);
WorkLog("料盘处理:入口和中间皮带线转动", 0); WorkLog("料盘处理:入口和中间皮带线转动", 0);
IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
}
else if (MoveInfo.IsStep(StepEnum.XW04_InLineRun))
{
MoveInfo.NextMoveStep(StepEnum.XW05_WaitMCheck); MoveInfo.NextMoveStep(StepEnum.XW05_WaitMCheck);
WorkLog("料盘处理:等待扫描区域信号检测", 0); WorkLog("料盘处理:等待扫描区域信号检测", 0);
IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH); //IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH); //IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(StepEnum.XW02_InDoorOpen))
{
}
else if (MoveInfo.IsStep(StepEnum.XW04_InLineRun))
{
//MoveInfo.NextMoveStep(StepEnum.XW05_WaitMCheck);
//WorkLog("料盘处理:等待扫描区域信号检测", 0);
//IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(StepEnum.XW05_WaitMCheck)) else if (MoveInfo.IsStep(StepEnum.XW05_WaitMCheck))
{ {
MoveInfo.NextMoveStep(StepEnum.XW06_WaitTime); MoveInfo.NextMoveStep(StepEnum.XW06_WaitTime);
...@@ -125,7 +134,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -125,7 +134,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.X_InLine_Run, IO_VALUE.LOW); IOMove(IO_Type.X_InLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(4000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH));
} }
else if (MoveInfo.IsStep(StepEnum.XW06_WaitTime)) else if (MoveInfo.IsStep(StepEnum.XW06_WaitTime))
...@@ -189,7 +198,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -189,7 +198,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.XW11_StartCount); MoveInfo.NextMoveStep(StepEnum.XW11_StartCount);
WorkLog("点料:启用X射线点料,等待X射线可以启动"); WorkLog("点料:启用X射线点料,等待X射线可以启动");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
CylinderMove(MoveInfo, IO_Type.X_InDoor_Down, IO_Type.X_InDoor_Up); CylinderMove(MoveInfo, IO_Type.X_InDoor_Down, IO_Type.X_InDoor_Up);
CylinderMove(MoveInfo, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up); CylinderMove(MoveInfo, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_Lock_On, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_Lock_On, IO_VALUE.HIGH));
...@@ -225,8 +234,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -225,8 +234,9 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.XW12_XRayStart)) else if (MoveInfo.IsStep(StepEnum.XW12_XRayStart))
{ {
TickLog("打开xray",true);
MoveInfo.NextMoveStep(StepEnum.XW13_GetXRayImage); MoveInfo.NextMoveStep(StepEnum.XW13_GetXRayImage);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(8000)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(8000));
WorkLog("点料:清理" + path1_tif + "内容,开始获取X射线图形 "); WorkLog("点料:清理" + path1_tif + "内容,开始获取X射线图形 ");
CapImage(); CapImage();
...@@ -292,7 +302,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -292,7 +302,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
MoveInfo.NextMoveStep(StepEnum.XW23_OutLineRun); MoveInfo.NextMoveStep(StepEnum.XW23_OutLineRun);
WorkLog("料盘处理:中间皮带线,出口皮带线转动", 0); WorkLog("料盘处理:中间皮带线,出口皮带线转动", 1);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.LOW)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.LOW));
...@@ -301,7 +311,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -301,7 +311,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XW23_OutLineRun)) else if (MoveInfo.IsStep(StepEnum.XW23_OutLineRun))
{ {
MoveInfo.NextMoveStep(StepEnum.XW24_WaitOutCheck); MoveInfo.NextMoveStep(StepEnum.XW24_WaitOutCheck);
WorkLog("料盘处理:继续转动3秒后,等待出口皮带线检测到料盘", 0); WorkLog("料盘处理:继续转动3秒后,等待出口皮带线检测到料盘", 1);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
...@@ -316,7 +326,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -316,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.X_MLine_Run, IO_VALUE.LOW); IOMove(IO_Type.X_MLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Out_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Out_TrayCheck, IO_VALUE.HIGH));
//CylinderMove(null, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up); //CylinderMove(null, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up);
CylinderMove(null, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down); CylinderMove(null, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
...@@ -366,7 +376,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -366,7 +376,7 @@ namespace OnlineStore.DeviceLibrary
private void XW12_XRayStart() private void XW12_XRayStart()
{ {
MoveInfo.NextMoveStep(StepEnum.XW12_XRayStart); MoveInfo.NextMoveStep(StepEnum.XW12_XRayStart);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
InXWork = true; InXWork = true;
bool result = xRay.Start(); bool result = xRay.Start();
WorkLog("料盘处理:启动X射线[" + result + "],等待1秒"); WorkLog("料盘处理:启动X射线[" + result + "],等待1秒");
...@@ -386,7 +396,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -386,7 +396,7 @@ namespace OnlineStore.DeviceLibrary
} }
MoveInfo.NextMoveStep(StepEnum.XW15_GetResult); MoveInfo.NextMoveStep(StepEnum.XW15_GetResult);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300000)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
GetResultTask = Task.Factory.StartNew(delegate { GetResultTask = Task.Factory.StartNew(delegate {
try try
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!