Commit 386b9dc2 张东亮

佳世达包装仓

1 个父辈 591be05b
......@@ -397,5 +397,6 @@ namespace OnlineStore.ACPackingStore
UpdateUpdownPosition();
UpdateCompPosition();
}
}
}
......@@ -19,9 +19,11 @@
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.button1 = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btnLineBack = new System.Windows.Forms.Button();
this.btnNGlineStop = new System.Windows.Forms.Button();
this.btnNgLine = new System.Windows.Forms.Button();
this.btnDoorStop = new System.Windows.Forms.Button();
this.btnOpenAxisBreak = new System.Windows.Forms.Button();
this.btnBlow = new System.Windows.Forms.Button();
this.btnStoreOn = new System.Windows.Forms.Button();
this.btnStopMove = new System.Windows.Forms.Button();
......@@ -37,7 +39,6 @@
this.txtDOIndex = new System.Windows.Forms.TextBox();
this.txtDoName = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.btnOpenAxisBreak = new System.Windows.Forms.Button();
this.label14 = new System.Windows.Forms.Label();
this.txtWriteTime = new System.Windows.Forms.TextBox();
this.btnLocationDown = new System.Windows.Forms.Button();
......@@ -50,7 +51,6 @@
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.btnLineBack = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox3.SuspendLayout();
......@@ -112,6 +112,18 @@
this.groupBox1.TabStop = false;
this.groupBox1.Text = "DO写入";
//
// btnLineBack
//
this.btnLineBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLineBack.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLineBack.Location = new System.Drawing.Point(115, 221);
this.btnLineBack.Name = "btnLineBack";
this.btnLineBack.Size = new System.Drawing.Size(96, 45);
this.btnLineBack.TabIndex = 299;
this.btnLineBack.Text = "线体反转";
this.btnLineBack.UseVisualStyleBackColor = false;
this.btnLineBack.Click += new System.EventHandler(this.btnLineBack_Click);
//
// btnNGlineStop
//
this.btnNGlineStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
......@@ -148,6 +160,18 @@
this.btnDoorStop.UseVisualStyleBackColor = false;
this.btnDoorStop.Click += new System.EventHandler(this.btnDoorStop_Click);
//
// btnOpenAxisBreak
//
this.btnOpenAxisBreak.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOpenAxisBreak.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenAxisBreak.Location = new System.Drawing.Point(14, 447);
this.btnOpenAxisBreak.Name = "btnOpenAxisBreak";
this.btnOpenAxisBreak.Size = new System.Drawing.Size(125, 34);
this.btnOpenAxisBreak.TabIndex = 252;
this.btnOpenAxisBreak.Text = "打开刹车";
this.btnOpenAxisBreak.UseVisualStyleBackColor = false;
this.btnOpenAxisBreak.Click += new System.EventHandler(this.btnOpenAxisBreak_Click);
//
// btnBlow
//
this.btnBlow.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
......@@ -291,6 +315,7 @@
this.button2.TabIndex = 281;
this.button2.Text = "关闭";
this.button2.UseVisualStyleBackColor = false;
this.button2.Click += new System.EventHandler(this.btnWriteSingleDO_Click);
//
// txtDOIndex
//
......@@ -324,18 +349,6 @@
this.label17.Text = "设备IP:";
this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnOpenAxisBreak
//
this.btnOpenAxisBreak.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOpenAxisBreak.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenAxisBreak.Location = new System.Drawing.Point(14, 447);
this.btnOpenAxisBreak.Name = "btnOpenAxisBreak";
this.btnOpenAxisBreak.Size = new System.Drawing.Size(125, 34);
this.btnOpenAxisBreak.TabIndex = 252;
this.btnOpenAxisBreak.Text = "打开刹车";
this.btnOpenAxisBreak.UseVisualStyleBackColor = false;
this.btnOpenAxisBreak.Click += new System.EventHandler(this.btnOpenAxisBreak_Click);
//
// label14
//
this.label14.AutoSize = true;
......@@ -489,18 +502,6 @@
this.tableLayoutPanel1.Size = new System.Drawing.Size(218, 570);
this.tableLayoutPanel1.TabIndex = 102;
//
// btnLineBack
//
this.btnLineBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLineBack.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLineBack.Location = new System.Drawing.Point(115, 221);
this.btnLineBack.Name = "btnLineBack";
this.btnLineBack.Size = new System.Drawing.Size(96, 45);
this.btnLineBack.TabIndex = 299;
this.btnLineBack.Text = "线体反转";
this.btnLineBack.UseVisualStyleBackColor = false;
this.btnLineBack.Click += new System.EventHandler(this.btnLineBack_Click);
//
// FrmIOStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
......
......@@ -32,6 +32,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStore));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.label1 = new System.Windows.Forms.Label();
this.lblServerMsg = new System.Windows.Forms.Label();
this.chbAGV = new System.Windows.Forms.CheckBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
......@@ -72,7 +73,6 @@
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.label1 = new System.Windows.Forms.Label();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.groupBox4.SuspendLayout();
......@@ -120,6 +120,16 @@
this.tabPage1.Text = " 日志信息 ";
this.tabPage1.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(10, 539);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(219, 29);
this.label1.TabIndex = 202;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lblServerMsg
//
this.lblServerMsg.AutoSize = true;
......@@ -157,6 +167,7 @@
this.tableLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel2.AutoScroll = true;
this.tableLayoutPanel2.ColumnCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Location = new System.Drawing.Point(5, 14);
......@@ -487,16 +498,6 @@
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// label1
//
this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(10, 539);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(219, 29);
this.label1.TabIndex = 202;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// FrmStore
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
......
......@@ -755,9 +755,10 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_76_NGDoorDown))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_77_NGLineRun);
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":NG流水线转动5000", true);
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":NG流水线转动30s", true);
IOMove(IO_Type.NGLine_BackRun, IO_VALUE.LOW);
IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_77_NGLineRun))
......@@ -873,7 +874,16 @@ namespace OnlineStore.DeviceLibrary
private void StartExecuctOut(InOutParam param)
{
bool result = StartOutStoreMove(param);
bool result;
if (param.urgentReel)
{
result = StartUrgentOutStoreMove(param);
}
else
{
result = StartOutStoreMove(param);
}
if (!result)
{
LogInfo(" 执行出库【" + param.ToStr() + "】失败,加入等待队列");
......@@ -929,28 +939,28 @@ namespace OnlineStore.DeviceLibrary
(!storeRunStatus.Equals(StoreRunStatus.Runing))
|| (!MoveInfo.MoveType.Equals(StoreMoveType.None)))
{
LogUtil.error(Name + " 启动出库【" + param.ToStr() + "】失败,忙碌或报警中 ,storeStatus:" + storeRunStatus + ",MoveType:" + MoveInfo.MoveType + ",isInSuddenDown:" + isInSuddenDown + ",isNoAirCheck:" + isNoAirCheck);
LogUtil.error(Name + " 启动紧急料出库【" + param.ToStr() + "】失败,忙碌或报警中 ,storeStatus:" + storeRunStatus + ",MoveType:" + MoveInfo.MoveType + ",isInSuddenDown:" + isInSuddenDown + ",isNoAirCheck:" + isNoAirCheck);
return false;
}
if (WaitShelfEnter)
{
LogUtil.error(Name + " 启动出库【" + param.ToStr() + "】失败,WaitShelfEnter=true ,需要等待入库结束才能出库");
LogUtil.error(Name + " 启动紧急料出库【" + param.ToStr() + "】失败,WaitShelfEnter=true ,需要等待入库结束才能出库");
return false;
}
if (!StoreManager.LoadInoutParam(param, false, this))
{
LogUtil.error(Name + " 启动出库【" + param.ToStr() + "】出错,找不到库位信息");
LogUtil.error(Name + " 启动紧急料出库【" + param.ToStr() + "】出错,找不到库位信息");
return false;
}
CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
taskData = null;
storeStatus = StoreStatus.OutStoreExecute;
storeRunStatus = StoreRunStatus.Busy;
MoveInfo.NewMove(StoreMoveType.OutStore, param);
LogInfo("启动紧急料出库【" + param.ToStr() + "】 ");
MoveInfo.NextMoveStep(StoreMoveStep.SO_01_InoutBack);
InOutStoreLog("紧急料出库 " + MoveInfo.SLog + ":进出轴到P1 开始");
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
SO_03_ToBagPosition();
return true;
}
private void SO_03_ToBagPosition()
......@@ -1006,20 +1016,67 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StoreMoveStep.SO_20_UrgentDoorDown);
InOutStoreLog("紧急料 " + MoveInfo.SLog + ":关闭升降门,送出料盘结束", true);
CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
taskData = null;
Task.Factory.StartNew(delegate
{
int posLoc = StoreManager.GetShelfPosIndex(MoveInfo.MoveParam.ShelfPosID, ShelfPosList);
//紧急料发PutFinished
if (MoveInfo.MoveParam.urgentReel)
{
string msg = StoreManager.afterPutCut(Name, "1000A", MoveInfo.MoveParam.WareCode, CID, 1, out taskData);
if (String.IsNullOrEmpty(msg).Equals(false))
{
LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + "1000A" + "_" + GetLastRfid() + "] [" + 1 + "] afterPutCut 结果:" + msg);
}
}
});
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SO_20_UrgentDoorDown))
{
MoveInfo.NextMoveStep(StoreMoveStep.SO_21_UrgentLineRun);
InOutStoreLog("紧急料出库 " + MoveInfo.SLog + ":流水线转动10s", true);
IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
InOutStoreLog("紧急料出库 " + MoveInfo.SLog + ":流水线转动30s", true);
IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
IOMove(IO_Type.NGLine_BackRun, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.SO_21_UrgentLineRun))
{
IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
MoveInfo.NextMoveStep(StoreMoveStep.);
InOutStoreLog("紧急料出库 " + MoveInfo.SLog + ":停止紧急料线体转动,继续出紧急料盘");
IOMove(IO_Type.NGLine_BackRun, IO_VALUE.LOW);
InOutStoreLog("紧急料出库 " + MoveInfo.SLog + ":停止紧急料线体转动");
bool isFinish = false;
if (MoveInfo.MoveParam.urgentReel)
{
if (taskData != null && taskData.urgentPackageTask <= 0)
{
InOutStoreLog("紧急料出库完成,urgentPackageTask=" + taskData.urgentPackageTask + "");
isFinish = true;
}
else if (taskData == null)
{
InOutStoreLog("紧急料出库完成,taskData=null");
isFinish = true;
}
}
if (!isFinish)
{
TimeSpan span = DateTime.Now - startOutStoreTime;
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
storeStatus = StoreStatus.StoreOnline;
LogInfo(" 【" + posId + "】 " + " 紧急料出库结束,耗时【" + FormUtil.GetSpanStr(span) + "】!");
if (StoreManager.Store.AutoShelfInstore)
{
LogInfo("紧急料还有出库任务,设置 AutoShelfInstore = false");
ConfigAppSettings.SaveValue(Setting_Init.AutoShelfInstore, 0);
StoreManager.Store.AutoShelfInstore = false;
}
}
else
{
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
}
MoveEndToRuningStatus();
AutoInout.InOutEndProcess(this, StoreMoveType.OutStore);
}
#endregion
#region 出入库步骤
......@@ -1027,8 +1084,9 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveStep == StoreMoveStep.SO_01_InoutBack)
{
//判断是否需要送出料架,是否需要进入料架,是否可以直接开始
if (MoveInfo.MoveParam.rfid.Equals(""))
//判断是否需要送出料架,是否需要进入料架,是否可以直接开始,是否是紧急料
if (MoveInfo.MoveParam.urgentReel || MoveInfo.MoveParam.rfid.Equals(""))
{
SO_03_ToBagPosition();
}
......@@ -1119,15 +1177,8 @@ namespace OnlineStore.DeviceLibrary
//}
//else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_ComDownMove)
//{
if (MoveInfo.MoveParam.urgentReel)
{
}
else
{
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_InoutBack);
}
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_InoutBack);
InOutStoreLog("出库 " + MoveInfo.SLog + ":进出轴至待机点P1[" + moveP.InOut_P1 + "] ");
InOutBackToP1(moveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成
......@@ -1143,14 +1194,20 @@ namespace OnlineStore.DeviceLibrary
CompressSigTimeOut = false;
//LogUtil.info("出库步骤 SO_07_CheckComSig :IsIgnoreComSig = false, CompressSigTimeOut = false");
IO_VALUE iov = IOValue(IO_Type.Compress_Check);
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_ToShelfPosition);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子已到P1,Compress_Check=" + iov + ",走到料架位置,旋转轴至P101[" + moveP.Middle_P101 + "],升降轴至P102[" + moveP.UpDown_HP102 + "] ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
if (MoveInfo.MoveParam.urgentReel)
{
MoveInfo.NextMoveStep(StoreMoveStep.SO_15_ToUrgentDoor);
InOutStoreLog("紧急料 " + MoveInfo.SLog + ",升降轴到升降门口高点P12,旋转轴到升降门口P11");
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P12, Config.UpDownAxis_P1_Speed);
ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P11, Config.MiddleAxis_P1_Speed);
}
else
{
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_ToShelfPosition);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子已到P1,Compress_Check=" + iov + ",走到料架位置,旋转轴至P101[" + moveP.Middle_P101 + "],升降轴至P102[" + moveP.UpDown_HP102 + "] ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
}
//MoveInfo.NextMoveStep(StoreMoveStep.SO_09_CheckComSig);
//InOutStoreLog("出库 " + MoveInfo.SLog + ":等待料叉压紧信号 ");
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Compress_Check, IO_VALUE.HIGH));
......
......@@ -4,6 +4,7 @@ DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
,,,,,,,,,,
DI,L侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_2,0,L侧料盘检测1(识别区),X21,DI-21,0,
DI,L侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_2,0,L侧料盘检测2(识别区),X22,DI-22,0,
......
......@@ -4,6 +4,7 @@ DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
,,,,,,,,,,
DI,R侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_3,0,R侧料盘检测1(识别区),X41,DI-41,0,
DI,R侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_3,0,R侧料盘检测2(识别区),X42,DI-42,0,
......
......@@ -28,6 +28,7 @@ DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0,
DO,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,0,报警蜂鸣器,Y04,DO-04,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
,,,5,PRO_AOI_IP_1,0,,Y06,DO-06,0,
,,,6,PRO_AOI_IP_1,0,,Y07,DO-07,0,
,,,7,PRO_AOI_IP_1,0,,Y08,DO-08,0,
......
......@@ -135,7 +135,10 @@ namespace OnlineStore.LoadCSVLibrary
///DO NG料线体电机运转 NGLine_Run 4 Y05 DO-05
/// </summary>
public static string NGLine_Run = "NGLine_Run";
/// <summary>
///DO NG料线体电机反转 NGLine_BackRun 5 Y06 DO-06
/// </summary>
public static string NGLine_BackRun = "NGLine_BackRun";
/// <summary>
/// DO L侧料仓运转ON Run_Signal 0 Y21 DO-21
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!