Commit ba709f42 LN

最后一盘补充高度改为5

1 个父辈 4a0d06d5
...@@ -144,8 +144,6 @@ ...@@ -144,8 +144,6 @@
// checkBox1 // checkBox1
// //
this.checkBox1.AutoSize = true; this.checkBox1.AutoSize = true;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.checkBox1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.checkBox1.Location = new System.Drawing.Point(478, 137); this.checkBox1.Location = new System.Drawing.Point(478, 137);
this.checkBox1.Name = "checkBox1"; this.checkBox1.Name = "checkBox1";
......
...@@ -104,3 +104,96 @@ D2(上料模块出口) ...@@ -104,3 +104,96 @@ D2(上料模块出口)
20200217 20200217
Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。 Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。
上料机构最后一盘料需要补充2mm.
出库皮带线分配规则:
服务器出库参数:
(参数信息可以在日志中看到,或者点击主界面的【托盘信息】按钮看到)
urgentReel: =true 表示紧急料,需要出到料串上,=false出到流水线
cutReel: =true 表示分盘料,需要出到料串上,=false出到流水线
smallReel: =true表示 小料(7x8),放置到小料架上,=false表示大料
rfid: 分配的料架RFID
rfidLoc:料架位置
当为小料时(smallReel=true),
rfidLoc为 70,71,72,必须走 3 / 4号皮带线;
rfidLoc为 1 - 46, 优先走1 / 2号皮带线
rfidLoc为 47 - 92, 优先走3 / 4号皮带线,
当为大料时(smallReel=false),
rfidLoc为 12, 必须走 1号2后皮带线
rfidLoc为 1 - 6, 优先走1 / 2号皮带线,
rfidLoc为 7 - 11,优先走3 / 4号皮带线
出料机构空闲条件:没有处理料盘,或者上一个料盘已经放到流水线上(步骤已到达夹爪放松)
料盘出库超时条件:当前时间-料盘放入托盘的时间>3分钟
当出料机构检测到出料托盘后,
如果当前是出库必须走的皮带线,拦截托盘
如果当前是优先皮带线,且空闲中,拦截托盘
如果当前不是优先皮带线,但是优先皮带线全部不可用(未启动,急停,无气压信号)中,拦截托盘
如果当前不是优先皮带线,但是料盘出库超时,拦截托盘
如果此出库信息无优先线,且当前空闲中,拦截托盘
\ No newline at end of file \ No newline at end of file
...@@ -48,7 +48,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -48,7 +48,7 @@ namespace OnlineStore.DeviceLibrary
{ {
Line3MaxPosition = 22; Line3MaxPosition = 22;
} }
TimerMaxSeconds = 2; TimerMaxSeconds = 5;
} }
/// <summary> /// <summary>
...@@ -306,7 +306,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -306,7 +306,10 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.DLine_Run3).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.DLine_Run3).Equals(IO_VALUE.LOW))
{ {
return true; if (Line3Turn.CanStart(1000))
{
return true;
}
} }
else else
{ {
...@@ -328,7 +331,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -328,7 +331,7 @@ namespace OnlineStore.DeviceLibrary
{ {
//判断皮带三还有料盘,需要转动一个工位 //判断皮带三还有料盘,需要转动一个工位
UpdateLastP(); UpdateLastP();
LogUtil.debug(hengyiName+"空闲,且流水线还有料盘,转动一个工位"); LogUtil.info(hengyiName+"空闲,且流水线还有料盘,转动一个工位");
Line3Turn.StartLineRun(IO_Type.DLine_Run3, IO_Type.Location_Check3, Line3EndProcess); Line3Turn.StartLineRun(IO_Type.DLine_Run3, IO_Type.Location_Check3, Line3EndProcess);
} }
......
...@@ -167,7 +167,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -167,7 +167,9 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_04_SeparateMove)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_04_SeparateMove))
{ {
if (TrayLine2.Line3CanRun && TrayLine1.Line3CanRun) if (TrayLine2.Line3CanRun && TrayLine1.Line3CanRun
&& Line3TurnIsStop()
&& Line3Turn.CanStart())
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_05_LineRun); MoveInfo.NextMoveStep(LineMoveStep.DO_05_LineRun);
LogInfo(hengyiName + "出口有料,转动皮带线,同时转动分盘装置"); LogInfo(hengyiName + "出口有料,转动皮带线,同时转动分盘装置");
......
...@@ -951,44 +951,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -951,44 +951,34 @@ namespace OnlineStore.DeviceLibrary
int AxisChangeValue = Config.Height_ChangeValue; int AxisChangeValue = Config.Height_ChangeValue;
//计算高度 //计算高度
EndMovePosition = BatchAxis.GetAclPosition(); EndMovePosition = BatchAxis.GetAclPosition();
bool isLast = false;
int chaz = Math.Abs(EndMovePosition - Config.BatchAxisP3);
if (chaz < BatchAxis.Config.CanErrorCountMax)
{
isLast = true;
}
float height = (float)Math.Ceiling(1F * (EndMovePosition - StartMovePosition) / AxisChangeValue); float height = (float)Math.Ceiling(1F * (EndMovePosition - StartMovePosition) / AxisChangeValue);
// int addHeight = 0; string buchongStr = "";
//如果检测信号未亮,极限亮了,需要补充高 if (isLast)
//if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.LOW)) {
//{ buchongStr = "(最后一盘料已补充5)";
// addHeight = Config.LastTrayAddHeight; height += 5;
//} }
// height += addHeight;
//if (height <= 8) { height = 8; }
//else
//{
// height = (int)Math.Floor(1F * (height - 4) / 4) * 4;
//}
// height = height - 4;
// if (height <= 8) { height = 8; }
// LastHeight =(int) height-4;
List<int> heightList = LineManager.GetTrayList(); List<int> heightList = LineManager.GetTrayList();
heightList = (from m in heightList orderby m descending select m).ToList<int>(); heightList = (from m in heightList orderby m descending select m).ToList<int>();
float minCha =height ; float minCha = height;
foreach (int h in heightList) foreach (int h in heightList)
{ {
//取差值最小的接近值 //取差值最小的接近值
float cha = Math.Abs(h - (height-4)); float cha = Math.Abs(h - (height - 4));
if (cha < minCha) if (cha < minCha)
{ {
LastHeight = h; LastHeight = h;
minCha = cha; minCha = cha;
} }
//if (LastHeight >= h)
//{
// LastHeight = h;
// break;
//}
} }
if (LastHeight <= 8) { LastHeight = 8; } if (LastHeight <= 8) { LastHeight = 8; }
string msg = Name + " 计算盘高:上升前 [" + StartMovePosition + "]实时[ " + EndMovePosition + "]差值["+ (EndMovePosition - StartMovePosition) + "]系数["+AxisChangeValue+"] 计算后[" + height + "]" + ",归类为【" + LastHeight+"mm】"; string msg = Name + " 计算盘高:上升前 [" + StartMovePosition + "]实时[ " + EndMovePosition + "]差值[" + (EndMovePosition - StartMovePosition) + "]系数[" + AxisChangeValue + "] 计算后"+buchongStr+"[" + height + "]" + ",归类为【" + LastHeight + "mm】";
LogUtil.info(msg); LogUtil.info(msg);
return LastHeight; return LastHeight;
} }
......
...@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
public partial class LineBean : KTK_Store public partial class LineBean : KTK_Store
{ {
public bool IsDebug = false; public bool IsDebug = false;
public bool UseAgvClient = true; public bool UseAgvClient = false;
/// <summary> /// <summary>
/// 灯闪烁定时器 /// 灯闪烁定时器
/// </summary> /// </summary>
......
...@@ -330,13 +330,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -330,13 +330,14 @@ namespace OnlineStore.DeviceLibrary
private string LastCheckDI = ""; private string LastCheckDI = "";
private int subType = 0; private int subType = 0;
internal DateTime LastEndTime = DateTime.Now; internal DateTime LastEndTime = DateTime.Now;
public bool CanStart(int totalMS=2000) public bool CanStart(int totalMS = 3000)
{ {
TimeSpan span = DateTime.Now - LastEndTime; TimeSpan span = DateTime.Now - LastEndTime;
if (span.TotalMilliseconds > totalMS) if (span.TotalMilliseconds > totalMS)
{ {
return true; return true;
}return false; }
return false;
} }
public LineTurnBean(int subType) public LineTurnBean(int subType)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!