Commit 2fc1e625 刘韬

基本走通出入库流程

1 个父辈 0840e7fe
......@@ -23,6 +23,8 @@
<add key="Store_CID" value="duo-store" />
<add key="Store_CID_1" value="duo-1" />
<add key="Store_CID_2" value="duo-2" />
<add key="Store_CID_1_disabled" value="1" />
<add key="Store_CID_2_disabled" value="1" />
<!--end one store config-->
<add key="ACBaudRate" value="115200" />
<add key="Config_Pwd" value="123456" />
......
......@@ -56,6 +56,7 @@ namespace OnlineStore.DUOStore
this.txtMiddleP3 = new System.Windows.Forms.TextBox();
this.btnMiddleP3 = new System.Windows.Forms.Button();
this.axisMoveControl1 = new OnlineStore.DUOStore.AxisMoveControl();
this.btnSotreReset = new System.Windows.Forms.Button();
this.groupInout.SuspendLayout();
this.SuspendLayout();
//
......@@ -549,11 +550,23 @@ namespace OnlineStore.DUOStore
this.axisMoveControl1.Size = new System.Drawing.Size(735, 305);
this.axisMoveControl1.TabIndex = 274;
//
// btnSotreReset
//
this.btnSotreReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSotreReset.Location = new System.Drawing.Point(762, 12);
this.btnSotreReset.Name = "btnSotreReset";
this.btnSotreReset.Size = new System.Drawing.Size(128, 39);
this.btnSotreReset.TabIndex = 275;
this.btnSotreReset.Text = "复位";
this.btnSotreReset.UseVisualStyleBackColor = true;
this.btnSotreReset.Click += new System.EventHandler(this.btnSotreReset_Click);
//
// FrmAxisMove
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(964, 630);
this.Controls.Add(this.btnSotreReset);
this.Controls.Add(this.groupInout);
this.Controls.Add(this.axisMoveControl1);
this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
......@@ -601,6 +614,7 @@ namespace OnlineStore.DUOStore
private System.Windows.Forms.Button btnSaveP;
public System.Windows.Forms.TextBox txtT2P4;
public System.Windows.Forms.Button btnT2P4;
private System.Windows.Forms.Button btnSotreReset;
}
}
......@@ -184,5 +184,14 @@ namespace OnlineStore.DUOStore
{
AxisABSMove(StoreManager.Store.T2_MiddleAxis, txtT2P4, StoreManager.Store.Config.MiddleAxis_P4Speed);
}
private void btnSotreReset_Click(object sender, EventArgs e)
{
if (StoreManager.Store.runStatus >= StoreRunStatus.HomeMoving)
{
StoreManager.Store.ResetLine();
//btnSotreReset.Enabled = false;
}
}
}
}
......@@ -110,6 +110,7 @@ namespace OnlineStore.DUOStore
this.btnStoreStart = new System.Windows.Forms.Button();
this.lblWarnMsg = new System.Windows.Forms.Label();
this.lblThisSta = new System.Windows.Forms.Label();
this.chbDisable = new System.Windows.Forms.CheckBox();
this.groupBox4.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tabControl1.SuspendLayout();
......@@ -1329,11 +1330,25 @@ namespace OnlineStore.DUOStore
this.lblThisSta.TabIndex = 216;
this.lblThisSta.Text = "等待启动";
//
// chbDisable
//
this.chbDisable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chbDisable.AutoSize = true;
this.chbDisable.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbDisable.Location = new System.Drawing.Point(153, 560);
this.chbDisable.Name = "chbDisable";
this.chbDisable.Size = new System.Drawing.Size(84, 24);
this.chbDisable.TabIndex = 273;
this.chbDisable.Text = "禁用料仓";
this.chbDisable.UseVisualStyleBackColor = true;
this.chbDisable.CheckedChanged += new System.EventHandler(this.chbDisable_CheckedChanged);
//
// FrmBox
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(1084, 623);
this.Controls.Add(this.chbDisable);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.chbDebug);
this.Controls.Add(this.lblTemp);
......@@ -1452,6 +1467,7 @@ namespace OnlineStore.DUOStore
private System.Windows.Forms.Button btnSingleOut;
private System.Windows.Forms.Button btnNgPro;
private System.Windows.Forms.Label lblCanOut;
private System.Windows.Forms.CheckBox chbDisable;
}
}
......@@ -60,6 +60,8 @@ namespace OnlineStore.DUOStore
acPosition = CSVPositionReader<ACBoxPosition>.GetPositon(cmbPosition.Text);
//BoxBean.PositionNumList = positionNumList;
}
chbDisable.Checked= ConfigAppSettings.GetIntValue("Store_CID_" + BoxBean.ID + "_disabled") == 1 ? true : false;
txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1.ToString();
......@@ -80,6 +82,8 @@ namespace OnlineStore.DUOStore
txtTempPort.Text = BoxBean.Config.Humiture_Port;
timer1.Start();
}
#endregion
......@@ -470,7 +474,7 @@ namespace OnlineStore.DUOStore
}
private void btnInoutP11_Click(object sender, EventArgs e)
{
AxisAbsMove(BoxBean.Config.UpDown_Axis, txtInoutP11, BoxBean.Config.InOutAxis_P11_Speed);
AxisAbsMove(BoxBean.Config.InOut_Axis, txtInoutP11, BoxBean.Config.InOutAxis_P11_Speed);
}
private void btnMiddleP11_Click(object sender, EventArgs e)
......@@ -829,5 +833,12 @@ namespace OnlineStore.DUOStore
MessageBox.Show("请先启动料仓!");
}
}
private void chbDisable_CheckedChanged(object sender, EventArgs e)
{
BoxBean.Disabled = chbDisable.Checked;
ConfigAppSettings.SaveValue("Store_CID_" + BoxBean.ID + "_disabled", chbDisable.Checked?1:0);
}
}
}
......@@ -43,7 +43,6 @@
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.button1 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox3.SuspendLayout();
......@@ -58,7 +57,6 @@
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.btnForceOutShelf);
this.groupBox1.Controls.Add(this.btnCloseAll);
this.groupBox1.Controls.Add(this.btnRelax);
......@@ -396,16 +394,6 @@
this.tableLayoutPanel1.Size = new System.Drawing.Size(244, 594);
this.tableLayoutPanel1.TabIndex = 102;
//
// button1
//
this.button1.Location = new System.Drawing.Point(34, 491);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 303;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// FrmIOStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
......@@ -458,7 +446,6 @@
private System.Windows.Forms.Button btnClamp;
private System.Windows.Forms.Button btnCloseAll;
private System.Windows.Forms.Button btnForceOutShelf;
private System.Windows.Forms.Button button1;
}
}
......@@ -287,7 +287,7 @@ namespace OnlineStore.DUOStore
private void btnStoreOn_Click(object sender, EventArgs e)
{
BtnMove(btnCamerLed, "打开设备电源", "关闭设备电源", IO_Type.Device_Led);
BtnMove(btnDeviceLed, "打开设备电源", "关闭设备电源", IO_Type.Device_Led);
}
private void btnCloseCyDo_Click(object sender, EventArgs e)
......@@ -357,16 +357,5 @@ namespace OnlineStore.DUOStore
StoreManager.Store.LO_31_BatchAxisToP1();
}
private void button1_Click_1(object sender, EventArgs e)
{
LogUtil.info("test");
LogUtil.info("test2");
List<string> cc = CodeManager.CameraScan(StoreManager.Store.Config.GetCameraList(), Name);
LogUtil.info(cc.Count().ToString());
}
}
}
......@@ -155,6 +155,7 @@ namespace OnlineStore.DUOStore
if (!equip.MoveInfo.MoveType.Equals(MoveType.None))
{
s = StoreRunStatus.Busy;
if (equip.MoveInfo!=null && equip.MoveInfo.MoveParam!=null)
trayInfo = equip.MoveInfo.MoveParam.ToStr();
}
SetItemText(i, item_move_info_index, trayInfo);
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,150,1000,1000,80,60,50,10,1000,0,0
AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,0
AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,0
AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,0
AXIS,,L1_旋转轴,Middle_Axis,1,COM2,,150,3000,1000,80,60,50,10,1000,0,0
AXIS,,L2_上下轴,UpDown_Axis,2,COM2,,150,3000,1000,400,400,400,10,1000,0,0
AXIS,,L3_进出轴,InOut_Axis,3,COM2,,100,3000,1000,20,60,200,10,1000,0,0
AXIS,,L4_压紧轴,Comp_Axis,4,COM2,,100,3000,1000,20,60,200,10,10000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P1待机点/入料口低点,UpDownAxis_P1,585000,,,,,,,,,,,,
PRO,,L2_上下轴_P2入料口高点,UpDownAxis_P2,604500,,,,,,,,,,,,
PRO,,L1_旋转轴_P1待机点/入料口位置,MiddleAxis_P1,307200,,,,,,,,,,,,
PRO,,L2_上下轴_P1待机点/入料口低点,UpDownAxis_P1,441828,,,,,,,,,,,,
PRO,,L2_上下轴_P2入料口高点,UpDownAxis_P2,449572,,,,,,,,,,,,
PRO,,L1_旋转轴_P1待机点/入料口位置,MiddleAxis_P1,92190,,,,,,,,,,,,
PRO,,L3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;,,,,,,,,,,,,
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,201264,,,,,,
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,169106,,,,,,,,,,,,
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=247455;12=383001;16=379001;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,284362,,,,,,,,,,,,
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,293122,,,,,,,,,,,,
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,290430,,,,,,,,,,,,
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,110339,,,,,,,,,,,,
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,110692,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
PRO,,L2_上下轴_P2速度/低速,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,,L2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,L2_上下轴_P2速度/低俗,UpDownAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,200,,,,,,,,,,,,
PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,100,,,,,,,,,,,,
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,100,,,,,,,,,,,,
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,100,,,,,,,,,,,,
PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P11速度/低速,UpDownAxis_P11_Speed,600,,,,,,,,,,,,
PRO,,L2_上下轴_P12速度/高速,UpDownAxis_P12_Speed,600,,,,,,,,,,,,
PRO,,L3_进出轴_P11速度,InOutAxis_P11_Speed,300,,,,,,,,,,,,
PRO,,L1_旋转轴_P11速度,MiddleAxis_P11_Speed,300,,,,,,,,,,,,
PRO,,L2_上下轴_P11速度,UpDownAxis_P11_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P12速度,UpDownAxis_P12_Speed,200,,,,,,,,,,,,
PRO,,L3_进出轴_P11速度,InOutAxis_P11_Speed,200,,,,,,,,,,,,
PRO,,L1_旋转轴_P11速度,MiddleAxis_P11_Speed,200,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM3,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,R1_旋转轴,Middle_Axis,1,COM2,,250,1000,1000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM2,,300,400,400,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM2,,100,300,300,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM2,,100,300,300,20,60,200,10,1000,0,0
AXIS,,R1_旋转轴,Middle_Axis,1,COM1,,150,3000,3000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM1,,150,3000,3000,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM1,,100,3000,3000,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM1,,100,3000,3000,20,60,200,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,445039,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,450927,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,634099,,,,,,,,,,,,
PRO,,R3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=201264;12=383001;16=379001;,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,231158,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,172009,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=240064;12=215074;16=196749;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,278888,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,290434,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,434114,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,110339,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,110339,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度/低速,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度/低速,UpDownAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,R2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,R2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,R2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,200,,,,,,,,,,,,
PRO,,R1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,100,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,100,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,100,,,,,,,,,,,,
PRO,,R4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11速度/低速,UpDownAxis_P11_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P12速度/高速,UpDownAxis_P12_Speed,600,,,,,,,,,,,,
PRO,,R3_进出轴_P11速度,InOutAxis_P11_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P11速度,MiddleAxis_P11_Speed,300,,,,,,,,,,,,
PRO,,R2_上下轴_P11速度,UpDownAxis_P11_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P12速度,UpDownAxis_P12_Speed,200,,,,,,,,,,,,
PRO,,R3_进出轴_P11速度,InOutAxis_P11_Speed,200,,,,,,,,,,,,
PRO,,R1_旋转轴_P11速度,MiddleAxis_P11_Speed,200,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM4,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM6,,600,1500,1500,100,300,1500,10,1000,0,0
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM6,,250,1000,1000,70,250,750,10,1000,0,0
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM6,,500,1500,1500,100,500,1500,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.201.21#16;192.168.201.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,
PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,
PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,
......@@ -59,8 +59,8 @@ DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,,
DI,2,右侧出料口门上升/打开端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,,
DI,2,右侧出料口门下降/关闭端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,,
DI,2,右侧料叉料盘检测,Fixture_Check,14,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,OutDoor_Check,15,PRO_AIO_IP_2,X36,,,,,,,,,,
DI,2,右侧料叉料盘检测,OutDoor_Check,15,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,Fixture_Check,14,PRO_AIO_IP_2,X36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AIO_IP_2,Y21,,,,,,,,,,
DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AIO_IP_2,Y22,,,,,,,,,,
......@@ -97,27 +97,27 @@ DO,0,设备内部照明ON,Device_Led,2,PRO_AIO_IP_3,Y43,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,Y47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,Y48,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,5000,,,,, ,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,4000,,,,, ,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,4000,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,500,,,,, ,,,,,,,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,500,,,,, ,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,3148341,,,,, ,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,800,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,400,,,,, ,,,,,,,
PRO,0,T1_提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,11000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,T2_旋转轴_料串取放料点P4:
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,5000,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,59002,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,59003,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,59004,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,500,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,5000,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,5001,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,5002,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,5003,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,5004,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,5005,,,,,,,,,,,,
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,18422,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,66376,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,-1500,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,32842,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,100,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,123352,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,0,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,137140,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,0,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,117616,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,0,,,,,,,,,,,,
PRO,0,T2_升降轴P1速度/慢速度,UpdownAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T2_升降轴P2速度/快速度,UpdownAxis_P2Speed,501,,,,,,,,,,,,
PRO,0,T2_升降轴P3速度/慢速度,UpdownAxis_P3Speed,502,,,,,,,,,,,,
......@@ -139,5 +139,5 @@ PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,duo-1,duo-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00E45255378)#,,,,,,,,,,,,
......@@ -142,7 +142,7 @@ namespace OnlineStore.DeviceLibrary
string r = "";
List<CodeInfo> tlci = EyemDecode.Decoder(ref bmp);
List<CodeInfo> tlci = EyemDecode.Decoder(ref bmp,null,15);
foreach (CodeInfo code in tlci)
{
......
......@@ -30,6 +30,8 @@ namespace OnlineStore.DeviceLibrary
public AxisBean ComAxis = null;
public AxisBean InoutAxis = null;
public bool Disabled = false;
/// <summary>
/// 出料口最后一盘料信息,0=暂无,1=单盘出库料亮绿灯,2=入库NG料亮红灯
/// </summary>
......@@ -109,6 +111,12 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + "启动失败:设备未初始化完成");
return false;
}
if (Disabled)
{
WarnMsg = "启动失败:设备被禁用";
LogUtil.error(Name + "启动失败:设备被禁用");
return false;
}
LogInfo("开始启动,启动时间:" + StartTime.ToString());
AutoInout.StopAuto();
mainTimer.Enabled = false;
......@@ -168,6 +176,8 @@ namespace OnlineStore.DeviceLibrary
public override void Reset(bool isNeedClearAuto = true)
{
if (Disabled)
return;
AutoInout.ClearCount();
//复位之前先停止运行
if (isNeedClearAuto)
......@@ -296,6 +306,7 @@ namespace OnlineStore.DeviceLibrary
else if (runStatus.Equals(StoreRunStatus.Runing))
{
ShowTimeLog("判断是否需要出入库");
AutoResetProcess();
ShowTimeLog("AutoResetProcess");
IOTimeOutProcess();
......@@ -321,6 +332,7 @@ namespace OnlineStore.DeviceLibrary
try
{
bool noInStore = MoveInfo.MoveType.Equals(MoveType.None) && alarmType.Equals(AlarmType.None);
//LogInfo($"判断是否需要出入库noInStore={noInStore},MoveInfo.MoveType={MoveInfo.MoveType},InDoor_Check={IOValue(IO_Type.InDoor_Check)},waitInStoreParam={waitInStoreParam},IsDebug={IsDebug}");
if (AutoInout.CurrInOutACount >= StoreManager.Config.Box_ResetACount && noInStore)
{
if (runStatus < StoreRunStatus.Runing || MoveInfo.MoveType == MoveType.InStore || MoveInfo.MoveType == MoveType.OutStore)
......@@ -334,7 +346,36 @@ namespace OnlineStore.DeviceLibrary
}
return;
}
else if (waitInStoreParam != null && noInStore && IsDebug.Equals(false))
else if (IOValue(IO_Type.OutDoor_Check).Equals(IO_VALUE.HIGH) && noInStore && IsDebug.Equals(false)) {
LogInfo("发现紧急出口有料");
InOutParam inOutParam = new InOutParam(MoveType.InStore);
inOutParam.InStoreNg = true;
inOutParam.TargetPosition = 1;
inOutParam.moveType = MoveType.InStore;
StoreManager.LoadInoutParam(inOutParam, MoveType.InStore, true, this);
runStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute;
MoveInfo.NewMove(MoveType.InStore, inOutParam);
MoveInfo.NextMoveStep(StoreMoveStep.SI_24_PurReel);
//InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
}
else if (false && IOValue(IO_Type.Fixture_Check).Equals(IO_VALUE.HIGH) && noInStore && IsDebug.Equals(false))
{
LogInfo("发现料叉上有料");
InOutParam inOutParam = new InOutParam(MoveType.InStore);
inOutParam.InStoreNg = true;
inOutParam.TargetPosition = 1;
inOutParam.moveType = MoveType.InStore;
StoreManager.LoadInoutParam(inOutParam, MoveType.InStore, true, this);
runStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute;
MoveInfo.NewMove(MoveType.InStore, inOutParam);
MoveInfo.NextMoveStep(StoreMoveStep.SI_04_GetReel);
//InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
}
else if (waitInStoreParam != null && IOValue(IO_Type.InDoor_Check).Equals(IO_VALUE.HIGH) && noInStore && IsDebug.Equals(false))
{
if (!StartInStoreMove(waitInStoreParam))
{
......@@ -346,6 +387,22 @@ namespace OnlineStore.DeviceLibrary
waitInStoreParam = null;
}
}
else if (waitInStoreParam == null && IOValue(IO_Type.InDoor_Check).Equals(IO_VALUE.HIGH) && noInStore && IsDebug.Equals(false))
{
InOutParam inOutParam = new InOutParam(MoveType.InStore);
inOutParam.InStoreNg = true;
inOutParam.TargetPosition = 1;
if (!StartInStoreMove(inOutParam))
{
LogInfo("执行无信息NG入库失败");
}
else
{
LogInfo("执行无信息NG紧急口出料成功,清理缓存");
//waitInStoreParam = null;
}
}
else if (waitOutStoreList.Count > 0 && noInStore && IsDebug.Equals(false))
{
InOutParam param = null;
......@@ -381,7 +438,7 @@ namespace OnlineStore.DeviceLibrary
public bool OpenAllAxis(bool isCheck)
{
return RunMultiAxis(true, IO_Type.Axis_Run, IO_Type.UpdownAxis_Break, new AxisBean[] { MiddleAxis, UpdownAxis, InoutAxis, ComAxis });
return RunMultiAxis(isCheck, IO_Type.Axis_Run, IO_Type.UpdownAxis_Break, new AxisBean[] { MiddleAxis, UpdownAxis, InoutAxis, ComAxis });
}
public void CloseAllAxis()
{
......
......@@ -177,7 +177,7 @@ namespace OnlineStore.DeviceLibrary
}
if (resultOperation.op.Equals(1))
{
// ReviceInStoreProcess("", resultOperation);
//ReviceInStoreProcess("", resultOperation);
}
else if (resultOperation.op.Equals(2))
{
......@@ -198,6 +198,58 @@ namespace OnlineStore.DeviceLibrary
}
}
public bool ReviceInStoreCMD( string posId, int plateH, int plateW, string message)
{
string logName = "入库库位验证【 " + message + "】【" + posId + "】:";
try
{
if (runStatus.Equals(StoreRunStatus.Wait))
{
LogUtil.info(logName + " 设备未启动,验证失败");
return false;
}
//发送扫码内容到服务器进行入库操作
Operation operation = getLineBoxStatus();
operation.op = 1;
operation.data = new Dictionary<string, string>() { { "code", message }, { "boxId", this.ID.ToString() }};
operation.data.Add("inPos", posId);
string server = ConfigAppSettings.GetValue(Setting_Init.http_server);
for (int i = 1; i <= 3; i++)
{
bool timeOut = false;
Operation resultOperation = HttpHelper.PostOperation(StoreManager.GetPostApi(server), operation);
if (timeOut)
{
LogUtil.info(logName + " 第" + i + "次发送超时 ");
continue;
}
if (resultOperation == null)
{
// CodeMsg = "二维码【" + message + "】没有收到服务器反馈";
LogUtil.info(logName + " 没有收到服务器反馈 ");
}
else if (!string.IsNullOrEmpty(resultOperation.msg))
{
//如果有提示消息,直接显示提示
LogUtil.info(logName + "服务器反馈 :" + resultOperation.msg);
}
else if (resultOperation.op.Equals(1))
{
LogUtil.info(logName + " 成功");
return true;
}
break;
}
}
catch (Exception ex)
{
LogUtil.info(logName + " 出错:" + ex.ToString());
}
return false;
}
private void ReviceOutStoreProcess(Operation resultOperation)
{
......@@ -260,7 +312,7 @@ namespace OnlineStore.DeviceLibrary
reviceList = (from m in reviceList where m.PosID.Equals(posId) select m).ToList<InOutParam>();
if (reviceList.Count > 0)
{
LogUtil.error(Name + " 出库命令【" + inoutParam.ToStr() + "】重复,排队列表中已存在【" + reviceList[0].ToStr() + "】");
LogUtil.error(Name + " 出库命令【" + inoutParam.ToStr() + "】重复,排队列表中已存在【" + reviceList[0].ToStr() + "】"+ reviceList.Count);
continue;
}
......
......@@ -58,7 +58,8 @@ namespace OnlineStore.DeviceLibrary
foreach (BOX_Config config in configList.Values)
{
BoxBean equip = new BoxBean(config);
bool boxDisable = ConfigAppSettings.GetIntValue("Store_CID_" + config.Id + "_disabled") == 1 ? true : false;
equip.Disabled = boxDisable;
AddDeviceName(ioList, config.IOIPList);
BoxMap.Add(config.Id, equip);
BoxConfigMap.Add(config.Id, config);
......@@ -74,7 +75,7 @@ namespace OnlineStore.DeviceLibrary
CurrShelfNum = ConfigAppSettings.GetIntValue(Setting_Init.CurrShelfNum);
CurrShelfType = ConfigAppSettings.GetIntValue(Setting_Init.CurrShelfType);
UpdateShelfNum(-1, -1);
UpdateShelfNum(CurrShelfNum, CurrShelfType);
Task.Factory.StartNew(delegate
{
// RFIDManager.RfidReader.Open(rfidList.ToArray());
......@@ -149,7 +150,7 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
bool boxreset = true;
public override void Reset(bool isNeedClearAuto = true)
{
mainTimer.Enabled = false;
......@@ -163,7 +164,7 @@ namespace OnlineStore.DeviceLibrary
}
runStatus = StoreRunStatus.Reset;
StartResetMove();
boxreset = true;
foreach (BoxBean equip in BoxMap.Values)
{
if (!equip.alarmType.Equals(AlarmType.None))
......@@ -178,6 +179,21 @@ namespace OnlineStore.DeviceLibrary
}
mainTimer.Enabled = true;
}
public void ResetLine()
{
mainTimer.Enabled = false;
boxreset = false;
//停止运动
MoveInfo.EndMove();
if (!OpenAllAxis(true))
{
LogInfo("复位时打开轴失败,需要再次复位,直接报警停止复位");
return;
}
runStatus = StoreRunStatus.Reset;
StartResetMove();
mainTimer.Enabled = true;
}
private void StartResetMove()
{
mainTimer.Enabled = false;
......@@ -265,10 +281,18 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(StoreMoveStep.LR_07_WaitBox))
{
bool isOk = true;
if (!boxreset) {
LogUtil.info(Name + "线体重置完成");
MoveEndP();
return;
}
//判断是否所有的已经返回完成
string msg = "等待BOX复位完成超时";
foreach (BoxBean box in this.BoxMap.Values)
{
if (box.Disabled)
continue;
if ((box.runStatus.Equals(StoreRunStatus.HomeMoving) || box.runStatus.Equals(StoreRunStatus.Reset)))
//if ((box.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || box.storeRunStatus.Equals(StoreRunStatus.Reset)) && box.IsDebug.Equals(false))
{
......@@ -421,6 +445,21 @@ namespace OnlineStore.DeviceLibrary
{
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
}
if (IOValue(IO_Type.Line_OutCheck).Equals(IO_VALUE.HIGH))
{
//IOMove(IO_Type.LineOut_Led, IO_VALUE.HIGH);
}
else {
//IOMove(IO_Type.LineOut_Led, IO_VALUE.LOW);
}
if (IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.LOW))
{
//IOMove(IO_Type.LineIn_Led, IO_VALUE.HIGH);
}
else
{
//IOMove(IO_Type.LineIn_Led, IO_VALUE.LOW);
}
}
catch (Exception ex)
......@@ -586,12 +625,35 @@ namespace OnlineStore.DeviceLibrary
private void LineOut_BTN_Process()
{
if (IOValue(IO_Type.LineOut_BTN).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.Line_OutCheck).Equals(IO_VALUE.HIGH))
if (IOValue(IO_Type.LineOut_BTN).Equals(IO_VALUE.LOW))
return;
if (IOValue(IO_Type.Line_OutCheck).Equals(IO_VALUE.HIGH))
{
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH, false, 3000);
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH, false, 4000);
IOMove(IO_Type.Line_Stop4_Out, IO_VALUE.HIGH, false, 1000);
LogUtil.info(Name + "脚踩按钮,放行区放行");
}
if (IOValue(IO_Type.Line_OutCheck).Equals(IO_VALUE.LOW)
&& IOValue(IO_Type.Line_BufferCheck).Equals(IO_VALUE.LOW)
&& IOValue(IO_Type.Line_WorkCheck).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.Hoister_Back).Equals(IO_VALUE.HIGH)
)
{
IOMove(IO_Type.Line_Run, IO_VALUE.HIGH, false, 3000);
IOMove(IO_Type.Line_Stop2_Work, IO_VALUE.HIGH, false, 2000);
LogUtil.info(Name + "脚踩按钮,工作区放行");
}
bool box1stay = BoxMap[1].runStatus == StoreRunStatus.Runing || BoxMap[1].runStatus == StoreRunStatus.Wait;
bool box2stay = BoxMap[2].runStatus == StoreRunStatus.Runing || BoxMap[2].runStatus == StoreRunStatus.Wait;
bool shelfstay = StoreManager.Store.MoveInfo.MoveStep.Equals(StoreMoveStep.LO_09_WaitOut);
if (box1stay && box2stay && shelfstay) {
//OutstoreEndSendShelf = true;
LO_31_BatchAxisToP1();
LogUtil.info(Name + "脚踩按钮,出库强制放行");
}
}
private bool LowProcess=false;
......
......@@ -170,6 +170,7 @@ namespace OnlineStore.DeviceLibrary
internal void MoveEndP()
{
MoveInfo.EndMove();
runStatus = StoreRunStatus.Runing;
storeStatus = StoreStatus.StoreOnline;
if (alarmType.Equals(AlarmType.None))
......
......@@ -86,8 +86,10 @@ namespace OnlineStore.DeviceLibrary
string config = appPath + moveEquipConfig.Replace(".csv", "_" + nameStr + ".csv");
string storeIdConfig = Setting_Init.Store_CID + "_" + i;
string boxCid = ConfigAppSettings.GetValue(storeIdConfig);
BOX_Config moveConfig = CSVConfigReader.LoadBoxConfig(i, boxCid, "BOX", config);
moveConfig.SetIO(i);
AllConfigMap.Add(i, moveConfig);
storeConfig.Add(i, moveConfig);
}
......@@ -216,6 +218,13 @@ namespace OnlineStore.DeviceLibrary
p.UpDown_P2 = box.Config.UpDownAxis_P2;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
if (param.TargetPosition == 1)
{
p.ComPress_P2 = box.Config.GetComP2(param.PlateH);
p.ComPress_P3 = box.Config.CompAxis_P3;
}
else
{
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(param.PosID);
if (position == null)
{
......@@ -226,11 +235,13 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(box.Name + "GetPositon[" + param.PosID + "]=null,没有库位不能执行出入库");
return false;
}
if (param.PlateH<=0)
if (param.PlateH <= 0)
{
param.PlateH = position.BagHigh;
}
if (param.PlateW<=0)
if (param.PlateW <= 0)
{
param.PlateW = position.BagWidth;
}
......@@ -242,6 +253,7 @@ namespace OnlineStore.DeviceLibrary
p.UpDown_P4 = position.UpdownAxis_IL_P4;
p.UpDown_P5 = position.UpdownAxis_OH_P5;
p.UpDown_P6 = position.UpdownAxis_OL_P6;
}
param.MoveP = p;
......@@ -372,7 +384,7 @@ namespace OnlineStore.DeviceLibrary
string cids = "";
foreach (int k in Store.BoxMap.Keys)
{
if (Store.BoxMap[k].runStatus > StoreRunStatus.Wait)
if (Store.BoxMap[k].runStatus > StoreRunStatus.Wait && Store.BoxMap[k].IOValue(IO_Type.InDoor_Check).Equals(IO_VALUE.LOW))
{
cids += Store.BoxMap[k].CID + ",";
}
......@@ -424,22 +436,26 @@ namespace OnlineStore.DeviceLibrary
if (Store.BoxMap.ContainsKey(storeId))
{
BoxBean box = Store.BoxMap[storeId];
if (box.IsReviceInPosId( posId))
if (false || box.IsReviceInPosId(posId))
{
result.Param.InStoreNg = true;
result.Param.NgMsg = "入库库位重复";
result.Msg = deviceName + ("收到入库命令:" + "入库库位重复: " + result.Param.ToStr() + " ,入库失败!");
return result;
}
LogUtil.info(deviceName + "收到入库命令: " + result.Param.ToStr() + " ");
if (!box.StartInStoreMove(result.Param))
{
if (box.waitInStoreParam == null)
{
result.Msg = deviceName + ("收到入库命令:" + "启动入库失败,缓存到waitInStoreList等待稍后入库: " + result.Param.ToStr() + " ");
box.waitInStoreParam = result.Param;
}
}
result.Param.InStoreNg = false;
result.Msg ="";
return result;
//if (!box.StartInStoreMove(result.Param))
//{
// if (box.waitInStoreParam == null)
// {
// result.Msg = deviceName + ("收到入库命令:" + "启动入库失败,缓存到waitInStoreList等待稍后入库: " + result.Param.ToStr() + " ");
// box.waitInStoreParam = result.Param;
// }
//}
}
else
{
......@@ -456,6 +472,7 @@ namespace OnlineStore.DeviceLibrary
}
return result;
}
//public static void SendPosToStoreCheck(string deviceName, InOutParam param)
//{
// if (param == null || param.InStoreNg)
......
......@@ -55,7 +55,7 @@ namespace OnlineStore.DeviceLibrary
}
if (storeMoveType.Equals(MoveType.InStore))
{
int newIndex = positionIndex;
int newIndex = positionIndex - Jiange;
if (newIndex < 0)
{
if (startIndex >= 0 && startIndex < boxBean.PositionNumList.Count)
......@@ -92,7 +92,7 @@ namespace OnlineStore.DeviceLibrary
}
else if (storeMoveType.Equals(MoveType.OutStore))
{
int newIndex = positionIndex - Jiange;
int newIndex = positionIndex;
if (newIndex < 0)
{
if (startIndex >= 0 && startIndex < boxBean.PositionNumList.Count)
......
......@@ -3,8 +3,10 @@ using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
......@@ -150,6 +152,16 @@ namespace OnlineStore.DeviceLibrary
}
}
public InOutParam clone()
{
return (InOutParam)this.MemberwiseClone();/*
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, this);
stream.Position = 0;
return formatter.Deserialize(stream) as InOutParam;*/
}
}
}
......@@ -276,7 +276,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SO_12_WaitTrayGo,
SO_14_InoutToP1,
SO_15_AxisBack,
SO_16_InoutToP2,
SO_17_GetReel,
/// <summary>
/// 单盘出库:移动到出料口,旋转轴到P11,升降轴到P12高点
/// </summary>
......@@ -599,6 +602,7 @@ namespace OnlineStore.DeviceLibrary
///送出料架, 流水线停止转动,
/// </summary>
LO_37_LineStop,
#endregion
}
......
......@@ -87,7 +87,7 @@ namespace OnlineStore.DeviceLibrary
{
param = new InOutParam(type);
}
this.MoveParam = param;
this.MoveParam = param.clone();
LastSetpTime = DateTime.Now;
WaitList = new List<WaitResultInfo>();
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!