Commit 9a73f2f2 刘韬

优化盘高识别

1 个父辈 4d1ea6c5
...@@ -338,7 +338,7 @@ namespace DeviceLibrary ...@@ -338,7 +338,7 @@ namespace DeviceLibrary
{ {
axisCheckTimer = new System.Timers.Timer(); axisCheckTimer = new System.Timers.Timer();
axisCheckTimer.AutoReset = true; axisCheckTimer.AutoReset = true;
axisCheckTimer.Interval += 15; axisCheckTimer.Interval += 10;
axisCheckTimer.Elapsed += CheckTimer_Elapsed; axisCheckTimer.Elapsed += CheckTimer_Elapsed;
axisCheckTimer.Enabled = false; axisCheckTimer.Enabled = false;
} }
......
...@@ -78,7 +78,7 @@ namespace DeviceLibrary ...@@ -78,7 +78,7 @@ namespace DeviceLibrary
moveInfo.WaitList.Add(wr); moveInfo.WaitList.Add(wr);
Task.Run(()=> { Task.Run(()=> {
while (!IOManager.IOValue(up.ToString()).Equals(IO_VALUE.HIGH)) { while (!IOManager.IOValue(up.ToString()).Equals(IO_VALUE.HIGH)) {
Task.Delay(15); Task.Delay(15).Wait();
if (paused) if (paused)
{ {
paused = false; paused = false;
...@@ -158,7 +158,7 @@ namespace DeviceLibrary ...@@ -158,7 +158,7 @@ namespace DeviceLibrary
Task.Run(() => { Task.Run(() => {
while (!IOManager.IOValue(down.ToString()).Equals(IO_VALUE.HIGH)) while (!IOManager.IOValue(down.ToString()).Equals(IO_VALUE.HIGH))
{ {
Task.Delay(15); Task.Delay(15).Wait();
if (paused) if (paused)
{ {
paused = false; paused = false;
......
...@@ -97,7 +97,6 @@ namespace DeviceLibrary ...@@ -97,7 +97,6 @@ namespace DeviceLibrary
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_01); StringMoveInfo.NextMoveStep(MoveStep.StringLoad_01);
StringMoveInfo.log($"检测到有料串"); StringMoveInfo.log($"检测到有料串");
CylinderMove(StringMoveInfo, IO_Type.StringFix_Bottom, IO_Type.StringFix_Top, IO_VALUE.LOW); CylinderMove(StringMoveInfo, IO_Type.StringFix_Bottom, IO_Type.StringFix_Top, IO_VALUE.LOW);
//StringState = StringStateE.OutStore;
} }
else if (IOValue(IO_Type.StringBack_Check).Equals(IO_VALUE.LOW) && IOValue(IO_Type.StringFront_Check).Equals(IO_VALUE.LOW)) else if (IOValue(IO_Type.StringBack_Check).Equals(IO_VALUE.LOW) && IOValue(IO_Type.StringFront_Check).Equals(IO_VALUE.LOW))
{ {
...@@ -132,7 +131,7 @@ namespace DeviceLibrary ...@@ -132,7 +131,7 @@ namespace DeviceLibrary
case MoveStep.StringLoad_02: case MoveStep.StringLoad_02:
if (IOValue(IO_Type.StringBack_Check).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.StringBack_Check).Equals(IO_VALUE.HIGH))
{ {
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_03); StringMoveInfo.NextMoveStep(MoveStep.StringLoad_02a);
StringMoveInfo.log($"顶起料串固定顶升"); StringMoveInfo.log($"顶起料串固定顶升");
CylinderMove(StringMoveInfo, IO_Type.StringFix_Bottom, IO_Type.StringFix_Top, IO_VALUE.HIGH); CylinderMove(StringMoveInfo, IO_Type.StringFix_Bottom, IO_Type.StringFix_Top, IO_VALUE.HIGH);
CylinderMove(StringMoveInfo, IO_Type.StringPosChecker_Home, IO_Type.StringPosChecker_Work, IO_VALUE.HIGH); CylinderMove(StringMoveInfo, IO_Type.StringPosChecker_Home, IO_Type.StringPosChecker_Work, IO_VALUE.HIGH);
...@@ -147,6 +146,26 @@ namespace DeviceLibrary ...@@ -147,6 +146,26 @@ namespace DeviceLibrary
downCheck2 = false; downCheck2 = false;
downCheck3 = false; downCheck3 = false;
break; break;
case MoveStep.StringLoad_02a:
if (ConfigHelper.Config.Get("Device_Disable_StringDoor", false) || IOValue(IO_Type.StringDoor_Close).Equals(IO_VALUE.HIGH))
{
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_02b);
StringMoveInfo.log($"批量轴高速到顶部检测点");
//CylinderMove(StringMoveInfo, IO_Type.StringDoor_Close, IO_Type.StringDoor_Open, IO_VALUE.LOW);
BatchAxisToP2(StringMoveInfo, true);
StringMoveInfo.WaitList.Add(WaitResultInfo.WaitMsg(crc.GetString("Res0009", "料串正在上升"), MsgLevel.warning));
}
else if (StringMoveInfo.IsTimeOut(10))
{
Msg.add(crc.GetString(L.wait_stringdoor_close, "等待关门折叠门"), MsgLevel.warning);
StringMoveInfo.log($"等待关门");
}
break;
case MoveStep.StringLoad_02b:
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_03);
StringMoveInfo.log($"料串下降到x13信号灭");
BatchAxisToTagLow(StringMoveInfo);
break;
case MoveStep.StringLoad_03: case MoveStep.StringLoad_03:
if (ConfigHelper.Config.Get("Device_Disable_StringDoor", false) || IOValue(IO_Type.StringDoor_Close).Equals(IO_VALUE.HIGH)) if (ConfigHelper.Config.Get("Device_Disable_StringDoor", false) || IOValue(IO_Type.StringDoor_Close).Equals(IO_VALUE.HIGH))
{ {
...@@ -198,7 +217,7 @@ namespace DeviceLibrary ...@@ -198,7 +217,7 @@ namespace DeviceLibrary
case MoveStep.StringLoad_04b: case MoveStep.StringLoad_04b:
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_05); StringMoveInfo.NextMoveStep(MoveStep.StringLoad_05);
if (!newreel) if (!newreel)
SetReelHeight(GetHeight(StringMoveInfo)); SetReelHeight(GetHeight(ClampMoveInfo));
newreel = false; newreel = false;
StringMoveInfo.log($"料串有盘下降5mm"); StringMoveInfo.log($"料串有盘下降5mm");
...@@ -214,7 +233,6 @@ namespace DeviceLibrary ...@@ -214,7 +233,6 @@ namespace DeviceLibrary
StringMoveInfo.log($"料串已满可以送出"); StringMoveInfo.log($"料串已满可以送出");
} }
Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1_speed); Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1_speed);
break; break;
case MoveStep.StringLoad_05: case MoveStep.StringLoad_05:
StringMoveInfo.NextMoveStep(MoveStep.StringLoad_06); StringMoveInfo.NextMoveStep(MoveStep.StringLoad_06);
...@@ -227,7 +245,7 @@ namespace DeviceLibrary ...@@ -227,7 +245,7 @@ namespace DeviceLibrary
StringMoveInfo.NextMoveStep(MoveStep.StringReadyGet); StringMoveInfo.NextMoveStep(MoveStep.StringReadyGet);
StringMoveInfo.log($"料串有盘上升5mm"); StringMoveInfo.log($"料串有盘上升5mm");
var tpos4 = Batch_Axis.GetAclPosition() + Config.Batch_PoToMM * (Config.Batch_DetectDownMM+2); var tpos4 = Batch_Axis.GetAclPosition() + Config.Batch_PoToMM * (Config.Batch_DetectDownMM+2);
Batch_Axis.AbsMove(StringMoveInfo, tpos4, Config.Batch_P1); Batch_Axis.AbsMove(StringMoveInfo, tpos4, Config.Batch_P1_speed);
CylinderMove(StringMoveInfo, IO_Type.Clamping_Relax, IO_Type.Clamping_Work, IO_VALUE.LOW); CylinderMove(StringMoveInfo, IO_Type.Clamping_Relax, IO_Type.Clamping_Work, IO_VALUE.LOW);
//OpenFlipDoor(StringMoveInfo); //OpenFlipDoor(StringMoveInfo);
StringType = StringTypeE.In; StringType = StringTypeE.In;
...@@ -241,7 +259,7 @@ namespace DeviceLibrary ...@@ -241,7 +259,7 @@ namespace DeviceLibrary
tpos2 = 0; tpos2 = 0;
} }
StringMoveInfo.log($"料串出库模式,下降{Config.Batch_OutStoreDownMM}cm,={tpos2},{Batch_Axis.GetAclPosition()}"); StringMoveInfo.log($"料串出库模式,下降{Config.Batch_OutStoreDownMM}cm,={tpos2},{Batch_Axis.GetAclPosition()}");
Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1); Batch_Axis.AbsMove(StringMoveInfo, tpos2, Config.Batch_P1_speed);
StringType = StringTypeE.Out; StringType = StringTypeE.Out;
} }
break; break;
...@@ -260,7 +278,7 @@ namespace DeviceLibrary ...@@ -260,7 +278,7 @@ namespace DeviceLibrary
var tpos1 = Batch_Axis.GetAclPosition() - Config.Batch_PoToMM * Config.Batch_DetectDownMM; var tpos1 = Batch_Axis.GetAclPosition() - Config.Batch_PoToMM * Config.Batch_DetectDownMM;
if (tpos1 < 0) if (tpos1 < 0)
tpos1 = 0; tpos1 = 0;
Batch_Axis.AbsMove(StringMoveInfo, tpos1, Config.Batch_P1); Batch_Axis.AbsMove(StringMoveInfo, tpos1, Config.Batch_P1_speed);
break; break;
case MoveStep.StringReadyPut: case MoveStep.StringReadyPut:
Msg.add(crc.GetString(L.string_ready_for_put, "料串放料准备就绪"), MsgLevel.info); Msg.add(crc.GetString(L.string_ready_for_put, "料串放料准备就绪"), MsgLevel.info);
...@@ -464,27 +482,18 @@ namespace DeviceLibrary ...@@ -464,27 +482,18 @@ namespace DeviceLibrary
int StartMovePosition = 0; int StartMovePosition = 0;
void BatchAxisToP2(MoveInfo moveInfo, bool isFirstMove = true) void BatchAxisToP2(MoveInfo moveInfo, bool isFirstMove = false)
{ {
int targetP2 = Config.Batch_P2; int targetP2 = Config.Batch_P2;
int targetSpeed = Config.Batch_P2_speed; int targetSpeed = Config.Batch_P2_speed;
if (!isFirstMove) if (isFirstMove)
{ {
int currPosition = Batch_Axis.GetAclPosition(); targetSpeed= Config.Batch_P1_speed;
if (currPosition != -1)
{
//targetP2 = currPosition + Config.Right_Batch_ChangeValue * 80;
if (targetP2 > Config.Batch_P2)
{
targetP2 = Config.Batch_P2;
}
//moveInfo.log("BatchAxisToP2 目标P2: " + targetP2 + "(" + currPosition + ")");
}
//targetSpeed = Config.BatchAxis_P3Speed / 2;
} }
moveInfo.log("BatchAxisToP2 目标P2: " + targetP2); moveInfo.log("BatchAxisToP2 目标P2: " + targetP2);
moveInfo.TimeOutSeconds = 200; moveInfo.TimeOutSeconds = 200;
moveInfo.CanWhileCount = 0; moveInfo.CanWhileCount = 0;
Batch_Axis.SuddenStop();
// 需要增加定时器,获取验证信号并停止伺服 // 需要增加定时器,获取验证信号并停止伺服
StartMovePosition = Batch_Axis.GetAclPosition()- (Config.Batch_PoToMM * 2); StartMovePosition = Batch_Axis.GetAclPosition()- (Config.Batch_PoToMM * 2);
moveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxisMove(Config.Batch_Axis, targetP2, targetSpeed)); moveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxisMove(Config.Batch_Axis, targetP2, targetSpeed));
...@@ -532,7 +541,7 @@ namespace DeviceLibrary ...@@ -532,7 +541,7 @@ namespace DeviceLibrary
} }
else if (moveInfo.MoveParam.PlateW == 13) else if (moveInfo.MoveParam.PlateW == 13)
{ {
//height -= 3; height -= 1;
} }
//如果检测出<=15,都按照8计算 //如果检测出<=15,都按照8计算
if (height < 12) if (height < 12)
......
...@@ -35,6 +35,8 @@ namespace DeviceLibrary ...@@ -35,6 +35,8 @@ namespace DeviceLibrary
StringLoad_01, StringLoad_01,
StringLoad_01a, StringLoad_01a,
StringLoad_02, StringLoad_02,
StringLoad_02a,
StringLoad_02b,
StringLoad_03, StringLoad_03,
StringLoad_04, StringLoad_04,
StringLoad_04a, StringLoad_04a,
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!