Commit 30ffdc55 LN

出料模块增加单个机构复位按钮。出口皮带线逻辑优化

1 个父辈 a132a6b2
...@@ -64,6 +64,9 @@ ...@@ -64,6 +64,9 @@
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage3 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.btnShelfReset = new System.Windows.Forms.Button();
this.btnLabelReset = new System.Windows.Forms.Button();
this.btnMoveReset = new System.Windows.Forms.Button();
this.lblAgvInfo = new System.Windows.Forms.Label(); this.lblAgvInfo = new System.Windows.Forms.Label();
this.chbPrint = new System.Windows.Forms.CheckBox(); this.chbPrint = new System.Windows.Forms.CheckBox();
this.btnPrint = new System.Windows.Forms.Button(); this.btnPrint = new System.Windows.Forms.Button();
...@@ -747,7 +750,7 @@ ...@@ -747,7 +750,7 @@
this.lblThisSta.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblThisSta.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblThisSta.ForeColor = System.Drawing.Color.Red; this.lblThisSta.ForeColor = System.Drawing.Color.Red;
this.lblThisSta.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; this.lblThisSta.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.lblThisSta.Location = new System.Drawing.Point(255, 68); this.lblThisSta.Location = new System.Drawing.Point(255, 118);
this.lblThisSta.Name = "lblThisSta"; this.lblThisSta.Name = "lblThisSta";
this.lblThisSta.Size = new System.Drawing.Size(1032, 121); this.lblThisSta.Size = new System.Drawing.Size(1032, 121);
this.lblThisSta.TabIndex = 246; this.lblThisSta.TabIndex = 246;
...@@ -783,6 +786,9 @@ ...@@ -783,6 +786,9 @@
this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox6.Controls.Add(this.btnShelfReset);
this.groupBox6.Controls.Add(this.btnLabelReset);
this.groupBox6.Controls.Add(this.btnMoveReset);
this.groupBox6.Controls.Add(this.lblAgvInfo); this.groupBox6.Controls.Add(this.lblAgvInfo);
this.groupBox6.Controls.Add(this.chbPrint); this.groupBox6.Controls.Add(this.chbPrint);
this.groupBox6.Controls.Add(this.btnPrint); this.groupBox6.Controls.Add(this.btnPrint);
...@@ -805,6 +811,48 @@ ...@@ -805,6 +811,48 @@
this.groupBox6.TabStop = false; this.groupBox6.TabStop = false;
this.groupBox6.Text = "消息"; this.groupBox6.Text = "消息";
// //
// btnShelfReset
//
this.btnShelfReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnShelfReset.BackColor = System.Drawing.Color.White;
this.btnShelfReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnShelfReset.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnShelfReset.Location = new System.Drawing.Point(1010, 17);
this.btnShelfReset.Name = "btnShelfReset";
this.btnShelfReset.Size = new System.Drawing.Size(126, 40);
this.btnShelfReset.TabIndex = 303;
this.btnShelfReset.Text = "料架模块复位";
this.btnShelfReset.UseVisualStyleBackColor = false;
this.btnShelfReset.Click += new System.EventHandler(this.btnShelfReset_Click);
//
// btnLabelReset
//
this.btnLabelReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnLabelReset.BackColor = System.Drawing.Color.White;
this.btnLabelReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLabelReset.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLabelReset.Location = new System.Drawing.Point(1142, 62);
this.btnLabelReset.Name = "btnLabelReset";
this.btnLabelReset.Size = new System.Drawing.Size(126, 40);
this.btnLabelReset.TabIndex = 302;
this.btnLabelReset.Text = "贴标机构复位";
this.btnLabelReset.UseVisualStyleBackColor = false;
this.btnLabelReset.Click += new System.EventHandler(this.btnLabelReset_Click);
//
// btnMoveReset
//
this.btnMoveReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnMoveReset.BackColor = System.Drawing.Color.White;
this.btnMoveReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnMoveReset.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnMoveReset.Location = new System.Drawing.Point(1142, 17);
this.btnMoveReset.Name = "btnMoveReset";
this.btnMoveReset.Size = new System.Drawing.Size(126, 40);
this.btnMoveReset.TabIndex = 301;
this.btnMoveReset.Text = "取放料机构复位";
this.btnMoveReset.UseVisualStyleBackColor = false;
this.btnMoveReset.Click += new System.EventHandler(this.btnMoveReset_Click);
//
// lblAgvInfo // lblAgvInfo
// //
this.lblAgvInfo.AutoSize = true; this.lblAgvInfo.AutoSize = true;
...@@ -820,7 +868,7 @@ ...@@ -820,7 +868,7 @@
// //
this.chbPrint.AutoSize = true; this.chbPrint.AutoSize = true;
this.chbPrint.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.chbPrint.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbPrint.Location = new System.Drawing.Point(1062, 25); this.chbPrint.Location = new System.Drawing.Point(664, 70);
this.chbPrint.Name = "chbPrint"; this.chbPrint.Name = "chbPrint";
this.chbPrint.Size = new System.Drawing.Size(112, 24); this.chbPrint.Size = new System.Drawing.Size(112, 24);
this.chbPrint.TabIndex = 299; this.chbPrint.TabIndex = 299;
...@@ -925,7 +973,7 @@ ...@@ -925,7 +973,7 @@
// //
this.chbAutoSend.AutoSize = true; this.chbAutoSend.AutoSize = true;
this.chbAutoSend.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.chbAutoSend.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbAutoSend.Location = new System.Drawing.Point(906, 25); this.chbAutoSend.Location = new System.Drawing.Point(508, 70);
this.chbAutoSend.Name = "chbAutoSend"; this.chbAutoSend.Name = "chbAutoSend";
this.chbAutoSend.Size = new System.Drawing.Size(140, 24); this.chbAutoSend.Size = new System.Drawing.Size(140, 24);
this.chbAutoSend.TabIndex = 290; this.chbAutoSend.TabIndex = 290;
...@@ -2154,6 +2202,9 @@ ...@@ -2154,6 +2202,9 @@
internal System.Windows.Forms.Button btnZP4; internal System.Windows.Forms.Button btnZP4;
internal System.Windows.Forms.TextBox txtZP4; internal System.Windows.Forms.TextBox txtZP4;
private System.Windows.Forms.Label lblAgvInfo; private System.Windows.Forms.Label lblAgvInfo;
private System.Windows.Forms.Button btnShelfReset;
private System.Windows.Forms.Button btnLabelReset;
private System.Windows.Forms.Button btnMoveReset;
} }
} }
...@@ -778,6 +778,32 @@ namespace OnlineStore.AutoCountClient ...@@ -778,6 +778,32 @@ namespace OnlineStore.AutoCountClient
{ {
AxisMove(equipBean.LabelZAxis, txtZP4, equipBean.Config.LabelZ_P4Speed); AxisMove(equipBean.LabelZAxis, txtZP4, equipBean.Config.LabelZ_P4Speed);
} }
private void btnShelfReset_Click(object sender, EventArgs e)
{
LogUtil.info(equipBean.Name + "点击:料架模块复位");
if (equipBase.runStatus > (RobotRunStatus.Wait))
{
equipBean.ShelfMoveReset();
}
}
private void btnMoveReset_Click(object sender, EventArgs e)
{
LogUtil.info(equipBean.Name + "点击:取放料机构复位");
if (equipBase.runStatus > (RobotRunStatus.Wait))
{
equipBean.MoveReset();
}
}
private void btnLabelReset_Click(object sender, EventArgs e)
{
LogUtil.info(equipBean.Name + "点击:贴标机构复位");
if (equipBase.runStatus > (RobotRunStatus.Wait))
{
equipBean.SecMoveReset();
}
}
} }
} }
......
...@@ -107,4 +107,8 @@ IO_Type.TakeCode_Back, IO_Type.TakeCode_Forward ...@@ -107,4 +107,8 @@ IO_Type.TakeCode_Back, IO_Type.TakeCode_Forward
20200911 20200911
增加光栅功能,料串进出时屏蔽光栅功能。 增加光栅功能,料串进出时屏蔽光栅功能。
光栅功能打开时,收到光栅信号急停。 光栅功能打开时,收到光栅信号急停。
增加光栅功能开关。
\ No newline at end of file \ No newline at end of file
增加光栅功能开关。
20200917
取料机构取料时,点料机不转动皮带线 ,防止出口有两盘料
\ No newline at end of file \ No newline at end of file
...@@ -125,18 +125,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -125,18 +125,18 @@ namespace OnlineStore.DeviceLibrary
isInSuddenDown = false; isInSuddenDown = false;
isNoAirCheck = false; isNoAirCheck = false;
TimerMaxSeconds = 0; TimerMaxSeconds = 0;
MoveInfo.NextMoveStep(StepEnum.OMR01_MoveZHome);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
WorkLog("取料Z轴原点返回");
MoveZAxis.HomeMove(MoveInfo);
SecMoveInfo.NextMoveStep(StepEnum.OLR01_LabelZHome); MoveReset();
SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退"); SecMoveReset();
LabelZAxis.HomeMove(SecMoveInfo);
IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW); ShelfMoveReset();
CylinderMove(SecMoveInfo, IO_Type.LablePaste_Forward, IO_Type.LablePaste_Back);
isInPro = false;
}
public void ShelfMoveReset()
{
ShelfMoveInfo.NextMoveStep(StepEnum.OBR01_StopUp); ShelfMoveInfo.NextMoveStep(StepEnum.OBR01_StopUp);
ShelfWorkLog("阻挡气缸上升"); ShelfWorkLog("阻挡气缸上升");
IOMove(IO_Type.O_ELine_InStop, IO_VALUE.LOW); IOMove(IO_Type.O_ELine_InStop, IO_VALUE.LOW);
...@@ -145,9 +145,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -145,9 +145,23 @@ namespace OnlineStore.DeviceLibrary
ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_ELine_InStop, IO_VALUE.LOW)); ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_ELine_InStop, IO_VALUE.LOW));
ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_WLine_OutStop, IO_VALUE.LOW)); ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_WLine_OutStop, IO_VALUE.LOW));
ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_WLine_WorkStop, IO_VALUE.LOW)); ShelfMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.O_WLine_WorkStop, IO_VALUE.LOW));
isInPro = false;
} }
public void MoveReset()
{
MoveInfo.NextMoveStep(StepEnum.OMR01_MoveZHome);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
WorkLog("取料Z轴原点返回");
MoveZAxis.HomeMove(MoveInfo);
}
public void SecMoveReset()
{
SecMoveInfo.NextMoveStep(StepEnum.OLR01_LabelZHome);
SecMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecWorkLog("贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退");
LabelZAxis.HomeMove(SecMoveInfo);
IOMove(IO_Type.Nozzle_Work, IO_VALUE.LOW);
CylinderMove(SecMoveInfo, IO_Type.LablePaste_Forward, IO_Type.LablePaste_Back);
}
protected override void ResetProcess() protected override void ResetProcess()
{ {
......
...@@ -47,6 +47,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -47,6 +47,16 @@ namespace OnlineStore.DeviceLibrary
} }
#region 取料 #region 取料
internal bool IsInGetWare()
{
if (MoveInfo.MoveStep >= StepEnum.OT07_MoveZToP2 && MoveInfo.MoveStep <= StepEnum.OT09_MoveZToP1)
{
return true;
}
return false;
}
private bool IsStartLabel = false;//当前取的料盘是否开始打印标签 private bool IsStartLabel = false;//当前取的料盘是否开始打印标签
public override bool StartWorking(WorkParam param) public override bool StartWorking(WorkParam param)
...@@ -212,30 +222,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -212,30 +222,11 @@ namespace OnlineStore.DeviceLibrary
OT05_GetImage(); OT05_GetImage();
} }
else if (MoveInfo.IsStep(StepEnum.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.OT07_MoveZToP2); MoveInfo.NextMoveStep(StepEnum.OT07_MoveZToP2);
WorkLog("取料:取料Z轴到P2 ", 0); WorkLog("取料:取料Z轴到P2 ", 0);
MoveZAxis.AbsMove(MoveInfo, Config.GetMoveZP2(MoveInfo.MoveParam.PlateH), Config.MoveZ_P2Speed); MoveZAxis.AbsMove(MoveInfo, Config.GetMoveZP2(MoveInfo.MoveParam.PlateH), Config.MoveZ_P2Speed);
CheckStartLabel(); CheckStartLabel();
////TODO 记录信息,判断贴标模块当前空闲,此时可以打印标签(取码气缸前进,打印标签,取码气缸后退)
//if (SecMoveInfo.MoveType.Equals(RobotMoveType.None))
//{
// IsStartLabel = true;
// WorkLog("取料:取料X轴运动到P2 , 贴标模块开始打印标签");
// //TODO
// StartLabelling(MoveInfo.MoveParam);
//}
//else if (MoveInfo.IsTimeOut(120))
//{
// WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "]" + "等待贴标模块空闲 超时[" + FormUtil.GetSpanStr(MoveInfo.StepSpan()) + "]";
// LogUtil.error(WarnMsg, MoveInfo.ErrorLogType);
// Alarm(AlarmType.IoSingleTimeOut);
//}
} }
else if (MoveInfo.IsStep(StepEnum.OT06_MoveXToP2)) else if (MoveInfo.IsStep(StepEnum.OT06_MoveXToP2))
{ {
......
...@@ -209,7 +209,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -209,7 +209,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StepEnum.XR02_DoorOpen)) else if (MoveInfo.IsStep(StepEnum.XR02_DoorOpen))
{ {
MoveInfo.NextMoveStep(StepEnum.XR03_LineRun); MoveInfo.NextMoveStep(StepEnum.XR03_LineRun);
WorkLog(" XRay复位: 皮带转动3秒"); WorkLog(" XRay复位: 皮带转动6秒");
if (IOValue(IO_Type.X_ReelCheck).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.X_ReelCheck).Equals(IO_VALUE.LOW))
{ {
...@@ -220,7 +220,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -220,7 +220,7 @@ namespace OnlineStore.DeviceLibrary
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(6000));
} }
else if (MoveInfo.IsStep(StepEnum.XR03_LineRun)) else if (MoveInfo.IsStep(StepEnum.XR03_LineRun))
{ {
......
...@@ -261,10 +261,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -261,10 +261,23 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.XW21_WaitOutNoReel)) else if (MoveInfo.IsStep(StepEnum.XW21_WaitOutNoReel))
{ {
MoveInfo.NextMoveStep(StepEnum.XW22_OutDoorOpen); //判断取料机构是否正转夹料
WorkLog("料盘处理:右侧门打开,挡停放行", 0); bool ingetWare = RobotManager.robot.outputEquip.IsInGetWare();
CylinderMove(MoveInfo, IO_Type.X_OutDoor_Up, IO_Type.X_OutDoor_Down);
CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Down, IO_Type.X_StopCylinder_Up); if (!ingetWare)
{
ClearTimeoutAlarm("取料机构取料完成");
MoveInfo.NextMoveStep(StepEnum.XW22_OutDoorOpen);
WorkLog("料盘处理:右侧门打开,挡停放行", 0);
CylinderMove(MoveInfo, IO_Type.X_OutDoor_Up, IO_Type.X_OutDoor_Down);
CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Down, IO_Type.X_StopCylinder_Up);
}
else if (MoveInfo.IsTimeOut(120))
{
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "]" + "等待 取料机构取料完成 超时[" + FormUtil.GetSpanStr(MoveInfo.StepSpan()) + "]";
LogUtil.error(WarnMsg, SecMoveInfo.ErrorLogType, SecMoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
}
} }
else if (MoveInfo.IsStep(StepEnum.XW22_OutDoorOpen)) else if (MoveInfo.IsStep(StepEnum.XW22_OutDoorOpen))
{ {
...@@ -319,15 +332,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -319,15 +332,15 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(StepEnum.XW26_OutLineStop)) else if (MoveInfo.IsStep(StepEnum.XW26_OutLineStop))
{ {
// MoveInfo.NextMoveStep(StepEnum.XW27_OutDoorClose); // MoveInfo.NextMoveStep(StepEnum.XW27_OutDoorClose);
// WorkLog("料盘处理:中间皮带线,出口皮带线停止,出口门关闭,挡停下降"); // WorkLog("料盘处理:中间皮带线,出口皮带线停止,出口门关闭,挡停下降");
// 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.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_OutDoor_Down, IO_Type.X_OutDoor_Up);
// 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.XW27_OutDoorClose)) //else if (MoveInfo.IsStep(StepEnum.XW27_OutDoorClose))
//{ //{
TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime; TimeSpan span = DateTime.Now - MoveInfo.MoveStartTime;
runStatus = RobotRunStatus.Runing; runStatus = RobotRunStatus.Runing;
MoveInfo.EndMove(); MoveInfo.EndMove();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!