Commit cb67e371 LN

bug修改。

1 个父辈 d9a847f0
...@@ -364,8 +364,8 @@ ...@@ -364,8 +364,8 @@
this.comTP.FormattingEnabled = true; this.comTP.FormattingEnabled = true;
this.comTP.Items.AddRange(new object[] { this.comTP.Items.AddRange(new object[] {
"XRay入口", "XRay入口",
"工位高层", "电容测值工位",
"工位低层"}); "电阻测值工位"});
this.comTP.Location = new System.Drawing.Point(752, 66); this.comTP.Location = new System.Drawing.Point(752, 66);
this.comTP.Name = "comTP"; this.comTP.Name = "comTP";
this.comTP.Size = new System.Drawing.Size(108, 28); this.comTP.Size = new System.Drawing.Size(108, 28);
...@@ -1018,7 +1018,7 @@ ...@@ -1018,7 +1018,7 @@
this.btnip4.RightToLeft = System.Windows.Forms.RightToLeft.No; this.btnip4.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnip4.Size = new System.Drawing.Size(163, 34); this.btnip4.Size = new System.Drawing.Size(163, 34);
this.btnip4.TabIndex = 319; this.btnip4.TabIndex = 319;
this.btnip4.Text = "进出轴人工工位放料点P4:"; this.btnip4.Text = "进出轴测值工位放料点P4:";
this.btnip4.UseVisualStyleBackColor = false; this.btnip4.UseVisualStyleBackColor = false;
this.btnip4.Click += new System.EventHandler(this.btnip4_Click); this.btnip4.Click += new System.EventHandler(this.btnip4_Click);
// //
...@@ -1048,7 +1048,7 @@ ...@@ -1048,7 +1048,7 @@
this.btnMP4.RightToLeft = System.Windows.Forms.RightToLeft.No; this.btnMP4.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnMP4.Size = new System.Drawing.Size(163, 34); this.btnMP4.Size = new System.Drawing.Size(163, 34);
this.btnMP4.TabIndex = 320; this.btnMP4.TabIndex = 320;
this.btnMP4.Text = "旋转轴人工工位放料点P4:"; this.btnMP4.Text = "旋转轴测值工位放料点P4:";
this.btnMP4.UseVisualStyleBackColor = false; this.btnMP4.UseVisualStyleBackColor = false;
this.btnMP4.Click += new System.EventHandler(this.btnMP4_Click); this.btnMP4.Click += new System.EventHandler(this.btnMP4_Click);
// //
......
...@@ -454,6 +454,17 @@ namespace OnlineStore.AutoCountClient ...@@ -454,6 +454,17 @@ namespace OnlineStore.AutoCountClient
SetItemText(i, item_debug_index, equip.IsDebug ? "✘" : "✔"); SetItemText(i, item_debug_index, equip.IsDebug ? "✘" : "✔");
SetItemText(i, item_alarm_index, equip.alarmType.ToString()); SetItemText(i, item_alarm_index, equip.alarmType.ToString());
SetItemText(i, item_runStr_index, equip.GetRunStr()); SetItemText(i, item_runStr_index, equip.GetRunStr());
string trayInfo = "";
if (equip.MoveInfo.MoveType.Equals(RobotMoveType.Working) || equip.MoveInfo.MoveType.Equals(RobotMoveType.Labelling))
{
trayInfo = equip.MoveInfo.MoveParam.OutStr();
}
else if (equip.SecMoveInfo.MoveType.Equals(RobotMoveType.Working) || equip.SecMoveInfo.MoveType.Equals(RobotMoveType.Labelling))
{
trayInfo = equip.SecMoveInfo.MoveParam.OutStr();
}
SetItemText(i,item_move_info_index, trayInfo);
SetItemColor(i, equip.runStatus, equip.alarmType); SetItemColor(i, equip.runStatus, equip.alarmType);
i++; i++;
} }
......
...@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO io = baseConfig.getWaitIO(wait.IoType); ConfigIO io = baseConfig.getWaitIO(wait.IoType);
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "] 等待" + NotOkMsg + " 超时 " + Math.Round(span.TotalSeconds, 1) + "秒"; WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "] 等待" + NotOkMsg + " 超时 " + Math.Round(span.TotalSeconds, 1) + "秒";
LogUtil.error(MoveInfo.Name + WarnMsg, DeviceID * 1000 + 13); LogUtil.error( WarnMsg, DeviceID * 1000 + 13);
if (NoAlarm()) if (NoAlarm())
{ {
Alarm(AlarmType.IoSingleTimeOut); Alarm(AlarmType.IoSingleTimeOut);
...@@ -452,13 +452,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -452,13 +452,13 @@ namespace OnlineStore.DeviceLibrary
code = "[" + MoveInfo.MoveParam.WareCode + "]"; code = "[" + MoveInfo.MoveParam.WareCode + "]";
} }
} }
LogUtil.info(MoveInfo.Name + " ["+ MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "] " + msg); LogUtil.info(MoveInfo.Name + "[" + MoveInfo.MoveStep + "] " + msg);
} }
protected void SecWorkLog(string msg) protected void SecWorkLog(string msg)
{ {
LogUtil.info(SecMoveInfo.Name + " [" + SecMoveInfo.MoveType + "][" + SecMoveInfo.MoveStep + "] " + msg); LogUtil.info(SecMoveInfo.Name + "[" + SecMoveInfo.MoveStep + "] " + msg);
} }
public virtual string GetMoveStr() public virtual string GetMoveStr()
......
...@@ -139,6 +139,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -139,6 +139,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.IR03_InoutToP1)) else if (MoveInfo.IsStep(StepEnum.IR03_InoutToP1))
{ {
MoveInfo.NextMoveStep(StepEnum.IR04_UpdownAxisHome); MoveInfo.NextMoveStep(StepEnum.IR04_UpdownAxisHome);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
WorkLog("复位:升降轴原点返回,左右批量轴开始回原点"); WorkLog("复位:升降轴原点返回,左右批量轴开始回原点");
UpdownAxis.HomeMove(MoveInfo); UpdownAxis.HomeMove(MoveInfo);
LeftBatchMove.Reset(); LeftBatchMove.Reset();
......
...@@ -175,9 +175,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -175,9 +175,10 @@ namespace OnlineStore.DeviceLibrary
if (moveBean.LastHeight > 0 || isOk) if (moveBean.LastHeight > 0 || isOk)
{ {
MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize); MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize);
WorkLog(" 测宽度,记录条码高度宽度,开始下一盘预扫码");
MoveInfo.MoveParam.PlateH = moveBean.LastHeight; MoveInfo.MoveParam.PlateH = moveBean.LastHeight;
MoveInfo.MoveParam.PlateW = GetWidth(); MoveInfo.MoveParam.PlateW = GetWidth();
WorkLog("测高结束, 记录尺寸【"+ MoveInfo.MoveParam.PlateW + "X"+ MoveInfo.MoveParam.PlateH + "】,开始下一盘预扫码");
} }
else if (MoveInfo.IsTimeOut(60)) else if (MoveInfo.IsTimeOut(60))
{ {
...@@ -190,25 +191,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -190,25 +191,32 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition); MoveInfo.NextMoveStep(StepEnum.IW11_GetTargetPosition);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
if (SServerManager.CanConnect()) if (String.IsNullOrEmpty(MoveInfo.MoveParam.WareCode))
{ {
Task task = Task.Factory.StartNew(delegate { MoveInfo.MoveParam.IsNgReel = true;
bool outNeed = false; MoveInfo.MoveParam.NgMsg = "无有效条码";
string msg = SServerManager.Get_VMICheckRLC(Name, MoveInfo.MoveParam.WareCode, out outNeed); MoveInfo.MoveParam.TargetPosType = 1;
if (!msg.Equals("")) WorkLog(" 无有效条码,从XRay放到NG箱:" + MoveInfo.MoveParam.ToStr());
}
else if (SServerManager.CanConnect())
{
Task task = Task.Factory.StartNew(delegate
{ {
int needPosition = 0;
string msg = SServerManager.Get_VMICheckRLC(Name, MoveInfo.MoveParam.WareCode, out needPosition);
WorkLog(" 【"+ MoveInfo.MoveParam.WareCode + "】获取是否测值失败:" + msg); if (needPosition >= 1 && needPosition <= 3)
MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = msg;
}else if (outNeed)
{ {
MoveInfo.MoveParam.TargetPosType = 2; MoveInfo.MoveParam.TargetPosType = needPosition;
WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】需要测值" ); WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】通过接口获取目标位置:" + needPosition);
}else }
// else if (!msg.Equals("") || needPosition.Equals(0))
else
{ {
WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】获取是否测值失败:" + msg);
MoveInfo.MoveParam.TargetPosType = 1; MoveInfo.MoveParam.TargetPosType = 1;
WorkLog(" 【" + MoveInfo.MoveParam.WareCode + "】无需测值,开始点料"); MoveInfo.MoveParam.IsNgReel = true;
MoveInfo.MoveParam.NgMsg = msg;
} }
}); });
} }
...@@ -253,13 +261,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -253,13 +261,13 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveParam.TargetPosType.Equals(1)) if (MoveInfo.MoveParam.TargetPosType.Equals(1))
{ {
MoveInfo.NextMoveStep(StepEnum.IW21_MiddleToP3); MoveInfo.NextMoveStep(StepEnum.IW21_MiddleToP3);
WorkLog(" 开始放料到XRay皮带线,旋转轴到P3"); WorkLog(" 开始放料到XRay入口,旋转轴到P3");
MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P3, Config.MiddleAxis_P3Speed); MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P3, Config.MiddleAxis_P3Speed);
} }
else else
{ {
MoveInfo.NextMoveStep(StepEnum.IW31_MIddleToP4); MoveInfo.NextMoveStep(StepEnum.IW31_MIddleToP4);
WorkLog(" 开始放料到人工工位,旋转轴到P4"); WorkLog(" 开始放料到测值工位,旋转轴到P4");
MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P4, Config.MiddleAxis_P4Speed); MiddleAxis.AbsMove(MoveInfo, Config.MiddleAxis_P4, Config.MiddleAxis_P4Speed);
} }
} }
...@@ -267,19 +275,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -267,19 +275,19 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.IW21_MiddleToP3)) else if (MoveInfo.IsStep(StepEnum.IW21_MiddleToP3))
{ {
MoveInfo.NextMoveStep(StepEnum.IW22_UpdownToP3); MoveInfo.NextMoveStep(StepEnum.IW22_UpdownToP3);
WorkLog(" 放料到XRay: 升降轴到P3"); WorkLog("->XRay: 升降轴到P3");
UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P3, Config.UpdownAxis_P3Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P3, Config.UpdownAxis_P3Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW22_UpdownToP3)) else if (MoveInfo.IsStep(StepEnum.IW22_UpdownToP3))
{ {
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3); MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
WorkLog(" 放料到XRay:进出轴到P3"); WorkLog("->XRay:进出轴到P3");
InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P3, Config.InoutAxis_P3Speed); InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P3, Config.InoutAxis_P3Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW23_InoutToP3)) else if (MoveInfo.IsStep(StepEnum.IW23_InoutToP3))
{ {
MoveInfo.NextMoveStep(StepEnum.IW24_WaitCanPut); MoveInfo.NextMoveStep(StepEnum.IW24_WaitCanPut);
WorkLog(" 放料到XRay:等待XRay可放料"); WorkLog("->XRay:等待XRay可放料");
MoveInfo.TimeOutSeconds = 120; MoveInfo.TimeOutSeconds = 120;
//TODO //TODO
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
...@@ -290,51 +298,50 @@ namespace OnlineStore.DeviceLibrary ...@@ -290,51 +298,50 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(StepEnum.IW41_Clamping_Relax); MoveInfo.NextMoveStep(StepEnum.IW41_Clamping_Relax);
RobotManager.robot.XrayBean.In_ReelInfo = MoveInfo.MoveParam.GetReelInfo(); RobotManager.robot.XrayBean.In_ReelInfo = MoveInfo.MoveParam.GetReelInfo();
WorkLog(" 放料到XRay:夹料气缸放松,更新XRay入口料盘信息:" + RobotManager.robot.XrayBean.In_ReelInfo.ToStr()); WorkLog("->XRay:夹料气缸放松,更新XRay入口料盘:" + RobotManager.robot.XrayBean.In_ReelInfo.ToStr());
CylinderMove(MoveInfo, IO_Type.Clamping_Work, IO_Type.Clamping_Relax); CylinderMove(MoveInfo, IO_Type.Clamping_Work, IO_Type.Clamping_Relax);
} }
else if (MoveInfo.IsStep(StepEnum.IW31_MIddleToP4)) else if (MoveInfo.IsStep(StepEnum.IW31_MIddleToP4))
{ {
MoveInfo.NextMoveStep(StepEnum.IW32_UpdownToP4); MoveInfo.NextMoveStep(StepEnum.IW32_UpdownToP4);
WorkLog(" 放料到工位:升降轴到P4"); WorkLog("->测值工位:升降轴到P4");
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_PutP(Config), Config.UpdownAxis_P4Speed); UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_PutP(Config), Config.UpdownAxis_P4Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW32_UpdownToP4)) else if (MoveInfo.IsStep(StepEnum.IW32_UpdownToP4))
{ {
MoveInfo.NextMoveStep(StepEnum.IW33_InoutToP4); MoveInfo.NextMoveStep(StepEnum.IW33_InoutToP4);
WorkLog(" 放料到工位:进出轴到P4"); WorkLog("->测值工位:进出轴到P4");
InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P4, Config.InoutAxis_P4Speed); InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P4, Config.InoutAxis_P4Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW33_InoutToP4)) else if (MoveInfo.IsStep(StepEnum.IW33_InoutToP4))
{ {
MoveInfo.NextMoveStep(StepEnum.IW41_Clamping_Relax); MoveInfo.NextMoveStep(StepEnum.IW41_Clamping_Relax);
WorkLog(" 放料到工位:夹料气缸放松"); WorkLog("->测值工位:夹料气缸放松");
CylinderMove(MoveInfo, IO_Type.Clamping_Work, IO_Type.Clamping_Relax); CylinderMove(MoveInfo, IO_Type.Clamping_Work, IO_Type.Clamping_Relax);
} }
else if (MoveInfo.IsStep(StepEnum.IW41_Clamping_Relax)) else if (MoveInfo.IsStep(StepEnum.IW41_Clamping_Relax))
{ {
MoveInfo.NextMoveStep(StepEnum.IW42_InoutToP1); MoveInfo.NextMoveStep(StepEnum.IW42_InoutToP1);
WorkLog(" 放料完成:进出轴返回P1"); WorkLog("放料完成:进出轴返回P1");
InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P1, Config.InoutAxis_P1Speed); InOutAxis.AbsMove(MoveInfo, Config.InoutAxis_P1, Config.InoutAxis_P1Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW42_InoutToP1)) else if (MoveInfo.IsStep(StepEnum.IW42_InoutToP1))
{ {
MoveInfo.NextMoveStep(StepEnum.IW43_UpdownToP1); MoveInfo.NextMoveStep(StepEnum.IW43_UpdownToP1);
WorkLog(" 放料完成:升降轴旋转轴返回P1"); WorkLog("放料完成:升降轴返回P1");
UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P1, Config.UpdownAxis_P1Speed); UpdownAxis.AbsMove(MoveInfo, Config.UpdownAxis_P1, Config.UpdownAxis_P1Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW43_UpdownToP1)) else if (MoveInfo.IsStep(StepEnum.IW43_UpdownToP1))
{ {
MoveInfo.NextMoveStep(StepEnum.IW44_MiddleToP2); MoveInfo.NextMoveStep(StepEnum.IW44_MiddleToP2);
WorkLog(" 放料完成:旋转轴返回P2"); WorkLog("放料完成:旋转轴返回P2");
MiddleAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Middle_P2(Config), Config.MiddleAxis_P2Speed); MiddleAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Middle_P2(Config), Config.MiddleAxis_P2Speed);
} }
else if (MoveInfo.IsStep(StepEnum.IW44_MiddleToP2)) else if (MoveInfo.IsStep(StepEnum.IW44_MiddleToP2))
{ {
MoveInfo.EndMove(); MoveInfo.EndMove();
WorkLog(" 放料完成"); WorkLog("放料完成");
} }
} }
......
...@@ -118,10 +118,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -118,10 +118,12 @@ namespace OnlineStore.DeviceLibrary
isNoAirCheck = false; isNoAirCheck = false;
MoveInfo.NextMoveStep(StepEnum.OMR01_MoveZHome); MoveInfo.NextMoveStep(StepEnum.OMR01_MoveZHome);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
WorkLog("取料Z轴原点返回"); WorkLog("取料Z轴原点返回");
MoveZAxis.HomeMove(MoveInfo); MoveZAxis.HomeMove(MoveInfo);
SecMoveInfo.NextMoveStep(StepEnum.OLR01_LabelZHome); SecMoveInfo.NextMoveStep(StepEnum.OLR01_LabelZHome);
SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退"); SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退");
LabelZAxis.HomeMove(SecMoveInfo); LabelZAxis.HomeMove(SecMoveInfo);
IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW); IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW);
...@@ -282,7 +284,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -282,7 +284,7 @@ namespace OnlineStore.DeviceLibrary
protected void ShelfWorkLog(string msg) protected void ShelfWorkLog(string msg)
{ {
LogUtil.info(ShelfMoveInfo.Name + " [" + ShelfMoveInfo.MoveType + "][" + ShelfMoveInfo.MoveStep + "] " + msg); LogUtil.info(ShelfMoveInfo.Name + "[" + ShelfMoveInfo.MoveStep + "] " + msg);
} }
private void BatchResetMovePro() private void BatchResetMovePro()
...@@ -316,6 +318,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -316,6 +318,7 @@ namespace OnlineStore.DeviceLibrary
{ {
ShelfMoveInfo.NextMoveStep(StepEnum.OBR04_BatchAxisHome); ; ShelfMoveInfo.NextMoveStep(StepEnum.OBR04_BatchAxisHome); ;
ShelfWorkLog(" :链条停止转动,批量轴原点返回"); ShelfWorkLog(" :链条停止转动,批量轴原点返回");
ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
IOMove(IO_Type.O_WLine_Run, IO_VALUE.LOW); IOMove(IO_Type.O_WLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.O_ELine_Run, IO_VALUE.LOW); IOMove(IO_Type.O_ELine_Run, IO_VALUE.LOW);
IOMove(IO_Type.O_SWLine_Run, IO_VALUE.LOW); IOMove(IO_Type.O_SWLine_Run, IO_VALUE.LOW);
......
...@@ -349,7 +349,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -349,7 +349,7 @@ namespace OnlineStore.DeviceLibrary
{ {
SecMoveInfo.NextMoveStep(StepEnum.OL03_PrintLabel); SecMoveInfo.NextMoveStep(StepEnum.OL03_PrintLabel);
RobotManager.LastPrintStatus = Asa.PrintLabel.PrinterStatus.Unknown; RobotManager.LastPrintStatus = Asa.PrintLabel.PrinterStatus.Unknown;
SecWorkLog("贴标: 重置状态=Unknown,开始打印标签 ,贴标XYR轴到取标签点P2,,等待2000ms"); SecWorkLog("贴标: 重置状态=Unknown,开始打印标签 ,贴标XYR轴到取标签点P2, 等待2000ms");
SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
LabelXAxis.AbsMove(SecMoveInfo, Config.LabelX_P2, Config.LabelX_P2Speed); LabelXAxis.AbsMove(SecMoveInfo, Config.LabelX_P2, Config.LabelX_P2Speed);
......
...@@ -166,20 +166,38 @@ namespace OnlineStore.DeviceLibrary ...@@ -166,20 +166,38 @@ namespace OnlineStore.DeviceLibrary
} }
BusyMoveProcess(); BusyMoveProcess();
IOTimeOutProcess(); IOTimeOutProcess();
//判断流水线打开了才可以运行
if (SecMoveInfo.MoveType.Equals(RobotMoveType.None)) if (NoAlarm() && MoveInfo.MoveType.Equals(RobotMoveType.None))
{
if (IOValue(IO_Type.X_ReelCheck).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.X_InLine_Check).Equals(IO_VALUE.HIGH))
{ {
StartWorking(new WorkParam());
}
}
LockOnProcess();
} }
if(NoAlarm()&& MoveInfo.MoveType.Equals(RobotMoveType.None)) private void LockOnProcess()
{ {
if (IOValue(IO_Type.X_ReelCheck).Equals(IO_VALUE.HIGH)||IOValue(IO_Type.X_InLine_Check ).Equals(IO_VALUE.HIGH)) //不在复位,可以验证是否打开互锁信号
if (IOValue(IO_Type.X_Lock_On).Equals(IO_VALUE.HIGH))
{ {
StartWorking(new WorkParam()); if (!LockOnCanMove())
{
IOMove(IO_Type.X_Lock_On, IO_VALUE.LOW);
}
}
else
{
if ((!MoveInfo.MoveType.Equals(RobotMoveType.Reset)) && (!MoveInfo.MoveType.Equals(RobotMoveType.RHome)))
{
if (LockOnCanMove() && (!isInSuddenDown) && (!isNoAirCheck))
{
IOMove(IO_Type.X_Lock_On, IO_VALUE.HIGH);
}
} }
} }
} }
......
...@@ -118,9 +118,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -118,9 +118,10 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XW05_WaitMCheck)) else if (MoveInfo.IsStep(StepEnum.XW05_WaitMCheck))
{ {
MoveInfo.NextMoveStep(StepEnum.XW06_WaitTime); MoveInfo.NextMoveStep(StepEnum.XW06_WaitTime);
WorkLog("料盘处理:更新Work_ReelInfo,清空 In_ReelInfo,再转动2秒钟");
Work_ReelInfo = In_ReelInfo.GetReelInfo(); Work_ReelInfo = In_ReelInfo.GetReelInfo();
In_ReelInfo = new ReelInfo(); In_ReelInfo = new ReelInfo();
WorkLog("料盘处理:更新Work_ReelInfo【" + Work_ReelInfo.ToStr() + "】,清空 In_ReelInfo,再转动2秒钟");
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(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
...@@ -201,12 +202,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -201,12 +202,13 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XW24_WaitOutCheck)) else if (MoveInfo.IsStep(StepEnum.XW24_WaitOutCheck))
{ {
MoveInfo.NextMoveStep(StepEnum.XW25_WaitTime); MoveInfo.NextMoveStep(StepEnum.XW25_WaitTime);
WorkLog("料盘处理:清空 Work_ReelInfo,更新 再转动2秒");
Out_ReelInfo = Work_ReelInfo.GetReelInfo(); Out_ReelInfo = Work_ReelInfo.GetReelInfo();
Work_ReelInfo = new ReelInfo(); Work_ReelInfo = new ReelInfo();
WorkLog("料盘处理:清空 Work_ReelInfo,更新Out_ReelInfo【"+ Out_ReelInfo .ToStr()+ "】 再转动3秒");
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(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Out_TrayCheck, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Out_TrayCheck, IO_VALUE.HIGH));
} }
......
...@@ -20,12 +20,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -20,12 +20,12 @@ namespace OnlineStore.DeviceLibrary
private static string Addr_VMICheckRLC = "/ESMTCommonInterface/CommonService.asmx?op=VMICheckRLC"; private static string Addr_VMICheckRLC = "/ESMTCommonInterface/CommonService.asmx?op=VMICheckRLC";
private static string Addr_Return_Material = "/ReturnOne/WebServiceF.asmx?op=Return_Material"; private static string Addr_Return_Material = "/ReturnOne/WebServiceF.asmx?op=Return_Material";
public static string Get_VMICheckRLC(string deviceName, string codeStr, out bool need) public static string Get_VMICheckRLC(string deviceName, string codeStr, out int targetP)
{ {
//reelID: //reelID:
//partNum: //partNum:
//{"data":{"IFneed":"不需要","iftest":"","component":"","msg":"不需要测量RLC","status":1}} //{"data":{"IFneed":"不需要","iftest":"","component":"","msg":"不需要测量RLC","status":1}}
need = false; targetP=0;
string msg = ""; string msg = "";
try try
{ {
...@@ -41,7 +41,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -41,7 +41,7 @@ namespace OnlineStore.DeviceLibrary
string server = GetAddr(Addr_VMICheckRLC, paramMap); string server = GetAddr(Addr_VMICheckRLC, paramMap);
if (server.Equals("")) if (server.Equals(""))
{ {
return "获取到测值结果失败"; return "获取是否测值失败";
} }
DateTime startTime = DateTime.Now; DateTime startTime = DateTime.Now;
string resultStr = HttpHelper.Post(server, ""); string resultStr = HttpHelper.Post(server, "");
...@@ -51,21 +51,29 @@ namespace OnlineStore.DeviceLibrary ...@@ -51,21 +51,29 @@ namespace OnlineStore.DeviceLibrary
if (dataResult == null) if (dataResult == null)
{ {
return "获取到测值结果失败"; return "获取是否测值失败";
} }
else if (dataResult.status.Equals(1) && dataResult.IFneed.Equals("不需要")) else if (dataResult.status.Equals(1) && dataResult.IFneed.Equals("不需要"))
{ {
need = false; targetP=1;
return ""; return "";
} }
else if (dataResult.status.Equals(1) && dataResult.IFneed.Equals("需要")) else if (dataResult.status.Equals(1) && dataResult.IFneed.Equals("需要"))
{ {
need = true; //需要时,component是电容 或者电阻
if (dataResult.component.Equals("电容"))
{
targetP = 2;
}
else
{
targetP = 3;
}
return ""; return "";
} }
else else
{ {
need = false; targetP = 0;
return msg; return msg;
} }
} }
......
...@@ -274,9 +274,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,9 +274,9 @@ namespace OnlineStore.DeviceLibrary
lastOkTime = DateTime.Now; lastOkTime = DateTime.Now;
if (IOManager.IOValue(TargetIoType, 0).Equals(TargetIoValue)) if (IOManager.IOValue(TargetIoType, 0).Equals(TargetIoValue))
{ {
AxisStopCheckMove();
LogUtil.info(AxisName + "上料轴,检测到 " + TargetIoType + "=" + TargetIoValue + ",停止运动"); LogUtil.info(AxisName + "上料轴,检测到 " + TargetIoType + "=" + TargetIoValue + ",停止运动");
SuddenStop(); SuddenStop();
AxisStopCheckMove();
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -49,7 +49,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -49,7 +49,7 @@ namespace OnlineStore.DeviceLibrary
public int InPosType = 0; public int InPosType = 0;
/// <summary> /// <summary>
/// 目标位置:1=XRay入口,2=人工工位上层,3=人工工位下层 /// 目标位置:1=XRay入口,2=测值工位上层 电容,3=测值工位下层 电阻
/// </summary> /// </summary>
public int TargetPosType = 0; public int TargetPosType = 0;
...@@ -65,17 +65,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -65,17 +65,17 @@ namespace OnlineStore.DeviceLibrary
string tP = ""; string tP = "";
if (TargetPosType.Equals(1)) if (TargetPosType.Equals(1))
{ {
tP = "[XRay入口]"; tP = "XRay入口";
} }
else if (TargetPosType.Equals(2)) else if (TargetPosType.Equals(2))
{ {
tP = "[工位上层]"; tP = "电容测值";
} }
else if (TargetPosType.Equals(3)) else if (TargetPosType.Equals(3))
{ {
tP = "[工位下层]"; tP = "电阻测值";
} }
return " [" + WareCode + "] " + "[" + PlateW + " X " + PlateH + "] " + "[" + (InPosType.Equals(1) ? "左侧入口" : "右侧入口") + "]-->" + tP; return " [" + WareCode + "] " + "[" + PlateW + " X " + PlateH + "] " + "[" + (InPosType.Equals(1) ? "左侧入口" : "右侧入口") + "-->" + tP+ "]";
} }
public string OutStr() public string OutStr()
{ {
...@@ -150,7 +150,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -150,7 +150,7 @@ namespace OnlineStore.DeviceLibrary
public class ReelInfo public class ReelInfo
{ {
public ReelInfo(string code = "", int plateW = 7, int plateH = 8,int count=0,bool IsNg=false,string msg="") public ReelInfo(string code = "", int plateW = 0, int plateH = 0,int count=0,bool IsNg=false,string msg="")
{ {
this.WareCode = code; this.WareCode = code;
this.PlateH = plateH; this.PlateH = plateH;
...@@ -183,7 +183,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -183,7 +183,7 @@ namespace OnlineStore.DeviceLibrary
public string ToStr() public string ToStr()
{ {
return "[" + WareCode + "] [ " + PlateW + "X" + PlateH + " ] ["+WareCount+"]"+(IsNgReel?"[NG料:"+NgMsg+"]":"")+""; return "[" + WareCode + "] [" + PlateW + "X" + PlateH + "] ["+WareCount+"]"+(IsNgReel?"[NG料:"+NgMsg+"]":"")+"";
} }
public ReelInfo GetReelInfo() public ReelInfo GetReelInfo()
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!