Commit fa5015d9 LN

节拍优化

1 个父辈 f17ebf35
......@@ -77,10 +77,11 @@ namespace OnlineStore.AutoCountClient
string endStr = endTime.ToString(str);
bool result = RobotManager.robot.sQLite.Select(code, startStr,endStr, out array);
LogUtil.error("查数据【" + code + "】【" + startStr + "】【" + endStr + "】结果:" + result + "," + RobotManager.robot.sQLite.ErrInfo);
if (array != null && array.Length > 0)
{
LogUtil.info("共查询到【" + array.Length + "】行数据");
label4.Text = "开始时间["+ startStr + "] 结束时间["+ endStr + "] 条码["+ code + "] 共查询到"+ array.Length + "条记录";
this.dataGridView1.Rows.Clear();
int index = 1;
foreach (string[] a in array)
......
......@@ -371,7 +371,7 @@ namespace OnlineStore.DeviceLibrary
isOk = false;
WarnMsg = Name + msg;
Alarm(AlarmType.AxisMoveError);
LogUtil.error(WarnMsg, moveInfo.ErrorLogType);
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, moveInfo.logSeconds());
break;
}
}
......@@ -390,7 +390,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO io = Robot.Config.getWaitIO(wait.IoType);
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "] 等待" + NotOkMsg + " 超时 " + Math.Round(span.TotalSeconds, 1) + "秒";
LogUtil.error(WarnMsg, moveInfo.ErrorLogType);
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, moveInfo.logSeconds());
if (alarmType.Equals(AlarmType.None))
{
Alarm(AlarmType.IoSingleTimeOut);
......@@ -481,18 +481,18 @@ namespace OnlineStore.DeviceLibrary
else if (span.TotalSeconds > moveInfo.TimeOutSeconds)
{
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]等待" + NotOkMsg + "超时[" + Math.Round(span.TotalSeconds, 1) + "]秒";
int second = 10;
second = (int)(span.TotalSeconds/ moveInfo.TimeOutSeconds) * 10;
if (second > 120)
{
second = 120;
}
else if (second < 10)
{
second = 10;
}
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, second);
//int second = 10;
//second = (int)(span.TotalSeconds/ moveInfo.TimeOutSeconds) * 10;
//if (second > 120)
//{
// second = 120;
//}
//else if (second < 10)
//{
// second = 10;
//}
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, moveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
}
}
......
......@@ -329,7 +329,7 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = Name + msg;
Alarm(AlarmType.AxisMoveError);
LogUtil.error(WarnMsg, moveInfo.ErrorLogType);
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, moveInfo.logSeconds());
break;
}
}
......@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO io = baseConfig.getWaitIO(wait.IoType);
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "] 等待" + NotOkMsg + " 超时 " + Math.Round(span.TotalSeconds, 1) + "秒";
LogUtil.error( WarnMsg, moveInfo.ErrorLogType);
LogUtil.error( WarnMsg, moveInfo.ErrorLogType,moveInfo.logSeconds());
if (NoAlarm())
{
Alarm(AlarmType.IoSingleTimeOut);
......@@ -413,18 +413,18 @@ namespace OnlineStore.DeviceLibrary
{
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]等待" + NotOkMsg
+ "超时[" + Math.Round(span.TotalSeconds, 1) + "]秒";
int second = 10;
second = (int)(span.TotalSeconds/moveInfo.TimeOutSeconds ) * 10;
if (second > 120)
{
second = 120;
}
else if (second < 10)
{
second = 10;
}
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, second);
//int second = 10;
//second = (int)(span.TotalSeconds/moveInfo.TimeOutSeconds ) * 10;
//if (second > 120)
//{
// second = 120;
//}
//else if (second < 10)
//{
// second = 10;
//}
LogUtil.error(WarnMsg, moveInfo.ErrorLogType, moveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
}
}
......@@ -450,6 +450,7 @@ namespace OnlineStore.DeviceLibrary
{
level = WorkLogLevel;
}
level = WorkLogLevel;
string code = "";
if (MoveInfo.MoveParam != null && MoveInfo.MoveParam.WareCode != null)
{
......@@ -474,6 +475,7 @@ namespace OnlineStore.DeviceLibrary
{
level = SecWorkLogLevel;
}
level = SecWorkLogLevel;
string code = SecMoveInfo.MoveParam != null ? SecMoveInfo.MoveParam.WareCode : "";
if (level.Equals(1))
{
......
......@@ -139,34 +139,36 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
protected override void WorkingProcess()
private void OT02_MoveZToP1()
{
if (MoveInfo.IsInWait)
{
CheckWait(MoveInfo);
}
if (MoveInfo.IsInWait)
if (MoveZAxis.IsInPosition(Config.MoveZ_P1))
{
return;
OT03_MoveXToP2();
}
if (MoveInfo.IsStep(StepEnum.OT01_WaitCheck))
else
{
MoveInfo.NextMoveStep(StepEnum.OT02_MoveZToP1);
WorkLog("取料:取料Z轴到P1 ", 0);
MoveZAxis.AbsMove(MoveInfo, Config.MoveZ_P1, Config.MoveZ_P1Speed);
}
else if (MoveInfo.IsStep(StepEnum.OT02_MoveZToP1))
}
private void OT03_MoveXToP2()
{
int position = Config.GetMoveXP2(MoveInfo.MoveParam.PlateW);
if (MoveXAxis.IsInPosition(position))
{
OT05_GetImage();
}
else
{
MoveInfo.NextMoveStep(StepEnum.OT03_MoveXToP2);
WorkLog("取料:取料X轴到P2 ", 0);
MoveXAxis.AbsMove(MoveInfo, Config.GetMoveXP2(MoveInfo.MoveParam.PlateW), Config.MoveX_P2Speed);
MoveXAxis.AbsMove(MoveInfo, position, Config.MoveX_P2Speed);
}
else if (MoveInfo.IsStep(StepEnum.OT03_MoveXToP2))
}
private void OT05_GetImage()
{
//MoveInfo.NextMoveStep(StepEnum.OT04_CheckNeedImage);
//WorkLog("取料:判断是否需要拍照 ");
if (MoveInfo.MoveParam.IsNgReel)
{
MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2);
......@@ -180,16 +182,38 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
}
}
//else if (MoveInfo.IsStep(StepEnum.OT04_CheckNeedImage))
//{
protected override void WorkingProcess()
{
if (MoveInfo.IsInWait)
{
CheckWait(MoveInfo);
}
if (MoveInfo.IsInWait)
{
return;
}
//}
if (MoveInfo.IsStep(StepEnum.OT01_WaitCheck))
{
OT02_MoveZToP1();
}
else if (MoveInfo.IsStep(StepEnum.OT02_MoveZToP1))
{
OT03_MoveXToP2();
}
else if (MoveInfo.IsStep(StepEnum.OT03_MoveXToP2))
{
OT05_GetImage();
}
else if (MoveInfo.IsStep(StepEnum.OT05_GetImage))
{
//MoveInfo.NextMoveStep(StepEnum.OT06_MoveXToP2);
//WorkLog("取料:取料X轴运动到P2 ");
//MoveXAxis.AbsMove(MoveInfo, Config.GetMoveXP2(MoveInfo.MoveParam.PlateW), Config.MoveX_P2Speed);
MoveInfo.NextMoveStep(StepEnum.OT06_MoveXToP2);
WorkLog("取料:取料X轴运动到P2 ");
MoveXAxis.AbsMove(MoveInfo, Config.GetMoveXP2(MoveInfo.MoveParam.PlateW), Config.MoveX_P2Speed);
MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2);
WorkLog("取料:取料Z轴到P2 ", 0);
MoveZAxis.AbsMove(MoveInfo, Config.GetMoveZP2(MoveInfo.MoveParam.PlateH), Config.MoveZ_P2Speed);
CheckStartLabel();
////TODO 记录信息,判断贴标模块当前空闲,此时可以打印标签(取码气缸前进,打印标签,取码气缸后退)
......@@ -279,30 +303,42 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsStep(StepEnum.OT12_MoveXToP3))
{
//bool shelfOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.ShelfPro) && ShelfMoveInfo.IsStep(StepEnum.OS_22_WaitTray);
//bool debugOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.None) && MoveInfo.MoveParam.IsTest;
//if (shelfOk || debugOk)
//{
// ClearTimeoutAlarm("等待出料料串可放料");
MoveInfo.NextMoveStep(StepEnum.OT13_MoveZToP3);
WorkLog("放料:取料Z轴下降到P3 ");
MoveZAxis.AbsMove(MoveInfo, Config.GetMoveZP3(MoveInfo.MoveParam.PlateH), Config.MoveZ_P3Speed);
//}
//else if (MoveInfo.IsTimeOut(60))
//{
// WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "]" + "等待出料料串可放料(OS_22_WaitTray)超时[" + FormUtil.GetSpanStr(MoveInfo.StepSpan()) + "]";
// LogUtil.error(WarnMsg, MoveInfo.ErrorLogType, MoveInfo.logSeconds());
// Alarm(AlarmType.IoSingleTimeOut);
//}
//CheckStartLabel();
}
else if (MoveInfo.IsStep(StepEnum.OT13_MoveZToP3))
{
bool shelfOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.ShelfPro) && ShelfMoveInfo.IsStep(StepEnum.OS_22_WaitTray);
bool debugOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.None) && MoveInfo.MoveParam.IsTest;
if (shelfOk || debugOk)
{
ClearTimeoutAlarm("等待出料料串可放料");
MoveInfo.NextMoveStep(StepEnum.OT13_MoveZToP3);
WorkLog("放料:取料Z轴下降到P3 ");
MoveZAxis.AbsMove(MoveInfo, Config.GetMoveZP3(MoveInfo.MoveParam.PlateH), Config.MoveZ_P3Speed);
MoveInfo.NextMoveStep(StepEnum.OT14_Clamping_Relax);
WorkLog("放料:取料气缸放松 ", 0);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
}
else if (MoveInfo.IsTimeOut(60))
{
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "]" + "等待出料料串可放料(OS_22_WaitTray)超时[" + FormUtil.GetSpanStr(MoveInfo.StepSpan()) + "]";
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType,MoveInfo.logSeconds());
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType, MoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
}
CheckStartLabel();
}
else if (MoveInfo.IsStep(StepEnum.OT13_MoveZToP3))
{
MoveInfo.NextMoveStep(StepEnum.OT14_Clamping_Relax);
WorkLog("放料:取料气缸放松 ", 0);
CylinderMove(MoveInfo, IO_Type.TakeT_Clamping_Work, IO_Type.TakeT_Clamping_Relax);
CheckStartLabel();
}
else if (MoveInfo.IsStep(StepEnum.OT14_Clamping_Relax))
{
bool shelfOk = ShelfMoveInfo.MoveType.Equals(RobotMoveType.ShelfPro) && ShelfMoveInfo.IsStep(StepEnum.OS_22_WaitTray);
......@@ -488,10 +524,18 @@ namespace OnlineStore.DeviceLibrary
}
else if (SecMoveInfo.IsStep(StepEnum.OL08_ZToP1))
{
if (LabelYAxis.IsInPosition(Config.LabelY_P1))
{
SecMoveInfo.NextMoveStep(StepEnum.OL10_WaitCanLabel);
SecWorkLog("贴标: 等待取料机构返回待机点并且空闲");
}
else
{
SecMoveInfo.NextMoveStep(StepEnum.OL09_YToP1);
SecWorkLog("贴标: Y轴到P1点",0);
SecWorkLog("贴标: Y轴到P1点", 0);
LabelYAxis.AbsMove(SecMoveInfo, Config.LabelY_P1, Config.LabelY_P1Speed);
}
}
else if (SecMoveInfo.IsStep(StepEnum.OL09_YToP1))
{
SecMoveInfo.NextMoveStep(StepEnum.OL10_WaitCanLabel);
......
......@@ -103,14 +103,14 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XW02_InDoorOpen))
{
MoveInfo.NextMoveStep(StepEnum.XW04_InLineRun);
WorkLog("料盘处理:入口和中间皮带线转动,",0);
WorkLog("料盘处理:入口和中间皮带线转动", 0);
IOMove(IO_Type.X_InLine_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);
WorkLog("料盘处理:等待扫描区域信号检测",0);
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));
......@@ -121,11 +121,11 @@ namespace OnlineStore.DeviceLibrary
Work_ReelInfo = In_ReelInfo.GetReelInfo();
MoveInfo.MoveParam.SetReelInfo(Work_ReelInfo);
In_ReelInfo = new ReelInfo();
WorkLog("料盘处理:更新Work_ReelInfo【" + Work_ReelInfo.ToStr() + "】,清空 In_ReelInfo,再转动5秒钟");
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.LOW);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(StepEnum.XW06_WaitTime))
......@@ -279,12 +279,14 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.XW25_WaitTime);
Out_ReelInfo = Work_ReelInfo.GetReelInfo();
Work_ReelInfo = new ReelInfo();
WorkLog("料盘处理:清空 Work_ReelInfo,更新Out_ReelInfo【" + Out_ReelInfo.ToStr() + "】 再转动8秒");
WorkLog("料盘处理:清空 Work_ReelInfo,更新Out_ReelInfo【" + Out_ReelInfo.ToStr() + "】 ,中间皮带线先停止,出口皮带线 再转动2秒,出口门先关闭,档停先下降");
IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
IOMove(IO_Type.X_MLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.X_OLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(8000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
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_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
}
else if (MoveInfo.IsStep(StepEnum.XW25_WaitTime))
......@@ -297,7 +299,9 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XW26_OutLineStop))
{
MoveInfo.NextMoveStep(StepEnum.XW27_OutDoorClose);
WorkLog("料盘处理:出口门关闭,挡停下降");
WorkLog("料盘处理:中间皮带线,出口皮带线停止,出口门关闭,挡停下降");
IOMove(IO_Type.X_MLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.X_OLine_Run, IO_VALUE.LOW);
CylinderMove(MoveInfo, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up);
CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!