Commit 82e759d4 LN

1

1 个父辈 3d146856
正在显示 47 个修改的文件 包含 397 行增加752 行删除
......@@ -11,9 +11,9 @@
<!--<add key="http.server" value="http://localhost/myproject/service/store/emptyPosForPutin"/>-->
<add key="http.server" value="http://10.85.199.25/myproject/" />
<!--storeType-->
<add key="Line_moveEquip_count" value="6" />
<add key="Line_moveEquip_count" value="7" />
<add key="Line_feedingEquip_count" value="1" />
<add key="Line_HYEquip_count" value="5" />
<add key="Line_HYEquip_count" value="4" />
<!--<add key="Line_dischargeLine_count" value="2" />-->
<!--start one store config-->
<add key="ConfigPath_Line" value="\LineConfig\Config_Line.csv" />
......
......@@ -62,20 +62,19 @@ namespace OnlineStore.AssemblyLine
tableLayoutPanel2.RowStyles.Clear();
this.tableLayoutPanel2.RowCount = maxCount;
this.tableLayoutPanel4.RowStyles.Clear();
this.tableLayoutPanel4.RowCount = maxCount;
roleindex = 0;
i = 0;
foreach (ConfigIO ioValue in equipBean.Config.DOList.Values)
{
IOTextControl control = new IOTextControl(ioValue.ElectricalDefinition + "_" + ioValue.Explain, ioValue.ProName);
control.Click += Control_Click;
if (i >= maxCount)
{
this.tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Absolute, 28));
this.tableLayoutPanel4.Controls.Add(control, 0, roleindex - maxCount);
}
else
//if (i >= maxCount)
//{
// this.tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Absolute, 28));
// this.tableLayoutPanel4.Controls.Add(control, 0, roleindex - maxCount);
//}
//else
{
this.tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 28));
this.tableLayoutPanel2.Controls.Add(control, 0, roleindex);
......
......@@ -151,7 +151,7 @@
this.groupBox1.Controls.Add(this.txtSlaveId);
this.groupBox1.Controls.Add(this.cmbWriteIO);
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(497, 391);
this.groupBox1.Location = new System.Drawing.Point(497, 380);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(731, 111);
this.groupBox1.TabIndex = 105;
......@@ -362,7 +362,7 @@
this.groupDo.Controls.Add(this.HY_LineRun);
this.groupDo.Controls.Add(this.HY_TopCylinder_Up);
this.groupDo.Controls.Add(this.HY_LineBackRun);
this.groupDo.Location = new System.Drawing.Point(497, 192);
this.groupDo.Location = new System.Drawing.Point(497, 180);
this.groupDo.Name = "groupDo";
this.groupDo.Size = new System.Drawing.Size(731, 195);
this.groupDo.TabIndex = 255;
......@@ -374,7 +374,7 @@
this.HY_MoveCylinder_Give.BackColor = System.Drawing.Color.White;
this.HY_MoveCylinder_Give.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_MoveCylinder_Give.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_MoveCylinder_Give.Location = new System.Drawing.Point(338, 61);
this.HY_MoveCylinder_Give.Location = new System.Drawing.Point(328, 63);
this.HY_MoveCylinder_Give.Name = "HY_MoveCylinder_Give";
this.HY_MoveCylinder_Give.Size = new System.Drawing.Size(140, 34);
this.HY_MoveCylinder_Give.TabIndex = 268;
......@@ -387,7 +387,7 @@
this.HY_LocationCylinder_Down.BackColor = System.Drawing.Color.White;
this.HY_LocationCylinder_Down.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_LocationCylinder_Down.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_LocationCylinder_Down.Location = new System.Drawing.Point(175, 61);
this.HY_LocationCylinder_Down.Location = new System.Drawing.Point(172, 63);
this.HY_LocationCylinder_Down.Name = "HY_LocationCylinder_Down";
this.HY_LocationCylinder_Down.Size = new System.Drawing.Size(140, 34);
this.HY_LocationCylinder_Down.TabIndex = 267;
......@@ -400,7 +400,7 @@
this.HY_TopCylinder_Down.BackColor = System.Drawing.Color.White;
this.HY_TopCylinder_Down.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_TopCylinder_Down.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_TopCylinder_Down.Location = new System.Drawing.Point(17, 61);
this.HY_TopCylinder_Down.Location = new System.Drawing.Point(17, 63);
this.HY_TopCylinder_Down.Name = "HY_TopCylinder_Down";
this.HY_TopCylinder_Down.Size = new System.Drawing.Size(140, 34);
this.HY_TopCylinder_Down.TabIndex = 266;
......@@ -413,7 +413,7 @@
this.HY_MoveCylinder_Take.BackColor = System.Drawing.Color.White;
this.HY_MoveCylinder_Take.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_MoveCylinder_Take.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_MoveCylinder_Take.Location = new System.Drawing.Point(338, 22);
this.HY_MoveCylinder_Take.Location = new System.Drawing.Point(328, 22);
this.HY_MoveCylinder_Take.Name = "HY_MoveCylinder_Take";
this.HY_MoveCylinder_Take.Size = new System.Drawing.Size(140, 34);
this.HY_MoveCylinder_Take.TabIndex = 263;
......@@ -426,7 +426,7 @@
this.HY_FrontStopDown.BackColor = System.Drawing.Color.White;
this.HY_FrontStopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_FrontStopDown.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_FrontStopDown.Location = new System.Drawing.Point(17, 146);
this.HY_FrontStopDown.Location = new System.Drawing.Point(17, 145);
this.HY_FrontStopDown.Name = "HY_FrontStopDown";
this.HY_FrontStopDown.Size = new System.Drawing.Size(140, 34);
this.HY_FrontStopDown.TabIndex = 261;
......@@ -439,7 +439,7 @@
this.HY_LocationCylinder_Up.BackColor = System.Drawing.Color.White;
this.HY_LocationCylinder_Up.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_LocationCylinder_Up.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_LocationCylinder_Up.Location = new System.Drawing.Point(175, 22);
this.HY_LocationCylinder_Up.Location = new System.Drawing.Point(172, 22);
this.HY_LocationCylinder_Up.Name = "HY_LocationCylinder_Up";
this.HY_LocationCylinder_Up.Size = new System.Drawing.Size(140, 34);
this.HY_LocationCylinder_Up.TabIndex = 260;
......@@ -452,7 +452,7 @@
this.HY_StopDown.BackColor = System.Drawing.Color.White;
this.HY_StopDown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_StopDown.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_StopDown.Location = new System.Drawing.Point(17, 107);
this.HY_StopDown.Location = new System.Drawing.Point(172, 145);
this.HY_StopDown.Name = "HY_StopDown";
this.HY_StopDown.Size = new System.Drawing.Size(140, 34);
this.HY_StopDown.TabIndex = 258;
......@@ -465,7 +465,7 @@
this.HY_LineRun.BackColor = System.Drawing.Color.White;
this.HY_LineRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_LineRun.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_LineRun.Location = new System.Drawing.Point(175, 107);
this.HY_LineRun.Location = new System.Drawing.Point(17, 104);
this.HY_LineRun.Name = "HY_LineRun";
this.HY_LineRun.Size = new System.Drawing.Size(140, 34);
this.HY_LineRun.TabIndex = 256;
......@@ -491,7 +491,7 @@
this.HY_LineBackRun.BackColor = System.Drawing.Color.White;
this.HY_LineBackRun.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.HY_LineBackRun.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.HY_LineBackRun.Location = new System.Drawing.Point(175, 146);
this.HY_LineBackRun.Location = new System.Drawing.Point(172, 104);
this.HY_LineBackRun.Name = "HY_LineBackRun";
this.HY_LineBackRun.Size = new System.Drawing.Size(140, 34);
this.HY_LineBackRun.TabIndex = 246;
......@@ -507,9 +507,9 @@
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.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.lblThisSta.Location = new System.Drawing.Point(6, 103);
this.lblThisSta.Location = new System.Drawing.Point(6, 93);
this.lblThisSta.Name = "lblThisSta";
this.lblThisSta.Size = new System.Drawing.Size(719, 71);
this.lblThisSta.Size = new System.Drawing.Size(719, 63);
this.lblThisSta.TabIndex = 246;
this.lblThisSta.Text = "等待启动";
this.lblThisSta.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
......@@ -553,7 +553,7 @@
this.groupBox6.Controls.Add(this.lblThisSta);
this.groupBox6.Location = new System.Drawing.Point(497, 6);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(731, 182);
this.groupBox6.Size = new System.Drawing.Size(731, 169);
this.groupBox6.TabIndex = 278;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "消息";
......
......@@ -529,14 +529,14 @@ namespace OnlineStore.AssemblyLine
private void btnLineBackRun_Click(object sender, EventArgs e)
{
if (equipBase.IOValue(IO_Type.HY_LineBackRun).Equals(IO_VALUE.HIGH))
{
LogUtil.info(equipBase.Name + "界面点击:" + HY_LineRun.Text + ",已在反转中,停止转动");
equipBean.LineStop();
return;
}
LogUtil.info(equipBase.Name + "界面点击:" + HY_LineBackRun.Text);
equipBean.LineBackRun();
//if (equipBase.IOValue(IO_Type.HY_LineBackRun).Equals(IO_VALUE.HIGH))
//{
// LogUtil.info(equipBase.Name + "界面点击:" + HY_LineRun.Text + ",已在反转中,停止转动");
// equipBean.LineStop();
// return;
//}
//LogUtil.info(equipBase.Name + "界面点击:" + HY_LineBackRun.Text);
//equipBean.LineBackRun();
}
......
......@@ -225,7 +225,7 @@
this.groupBox4.Controls.Add(this.tableLayoutPanel2);
this.groupBox4.Location = new System.Drawing.Point(289, 5);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(276, 360);
this.groupBox4.Size = new System.Drawing.Size(276, 364);
this.groupBox4.TabIndex = 104;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "DO列表";
......@@ -243,7 +243,7 @@
this.tableLayoutPanel2.RowCount = 2;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(265, 340);
this.tableLayoutPanel2.Size = new System.Drawing.Size(265, 344);
this.tableLayoutPanel2.TabIndex = 103;
//
// groupBox3
......@@ -253,7 +253,7 @@
this.groupBox3.Controls.Add(this.tableLayoutPanel1);
this.groupBox3.Location = new System.Drawing.Point(6, 5);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(276, 360);
this.groupBox3.Size = new System.Drawing.Size(276, 364);
this.groupBox3.TabIndex = 103;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "DI列表";
......@@ -271,16 +271,16 @@
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(265, 340);
this.tableLayoutPanel1.Size = new System.Drawing.Size(265, 344);
this.tableLayoutPanel1.TabIndex = 102;
//
// groupBox5
//
this.groupBox5.Controls.Add(this.btnLineStop);
this.groupBox5.Controls.Add(this.btnDriveMotor_Run);
this.groupBox5.Location = new System.Drawing.Point(573, 141);
this.groupBox5.Location = new System.Drawing.Point(573, 137);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(475, 119);
this.groupBox5.Size = new System.Drawing.Size(475, 83);
this.groupBox5.TabIndex = 246;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "IO操作测试";
......@@ -289,7 +289,7 @@
//
this.btnLineStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLineStop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLineStop.Location = new System.Drawing.Point(13, 69);
this.btnLineStop.Location = new System.Drawing.Point(171, 25);
this.btnLineStop.Name = "btnLineStop";
this.btnLineStop.Size = new System.Drawing.Size(140, 37);
this.btnLineStop.TabIndex = 278;
......@@ -301,7 +301,7 @@
//
this.btnDriveMotor_Run.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDriveMotor_Run.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDriveMotor_Run.Location = new System.Drawing.Point(13, 22);
this.btnDriveMotor_Run.Location = new System.Drawing.Point(13, 25);
this.btnDriveMotor_Run.Name = "btnDriveMotor_Run";
this.btnDriveMotor_Run.Size = new System.Drawing.Size(140, 37);
this.btnDriveMotor_Run.TabIndex = 260;
......@@ -314,7 +314,7 @@
this.lblTrayNum.AutoSize = true;
this.lblTrayNum.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblTrayNum.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.lblTrayNum.Location = new System.Drawing.Point(262, 371);
this.lblTrayNum.Location = new System.Drawing.Point(215, 546);
this.lblTrayNum.Name = "lblTrayNum";
this.lblTrayNum.Size = new System.Drawing.Size(68, 17);
this.lblTrayNum.TabIndex = 275;
......@@ -347,9 +347,9 @@
this.groupBox2.Controls.Add(this.btnClear);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.lblSelTrayNum);
this.groupBox2.Location = new System.Drawing.Point(571, 271);
this.groupBox2.Location = new System.Drawing.Point(571, 227);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(477, 327);
this.groupBox2.Size = new System.Drawing.Size(475, 327);
this.groupBox2.TabIndex = 283;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "托盘信息编辑";
......@@ -612,7 +612,7 @@
//
this.lblMsg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblMsg.ForeColor = System.Drawing.Color.Red;
this.lblMsg.Location = new System.Drawing.Point(3, 476);
this.lblMsg.Location = new System.Drawing.Point(3, 375);
this.lblMsg.Name = "lblMsg";
this.lblMsg.Size = new System.Drawing.Size(562, 131);
this.lblMsg.TabIndex = 279;
......@@ -622,7 +622,7 @@
//
this.lblMoveInfo.AutoSize = true;
this.lblMoveInfo.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblMoveInfo.Location = new System.Drawing.Point(12, 371);
this.lblMoveInfo.Location = new System.Drawing.Point(17, 546);
this.lblMoveInfo.Name = "lblMoveInfo";
this.lblMoveInfo.Size = new System.Drawing.Size(29, 17);
this.lblMoveInfo.TabIndex = 276;
......
......@@ -792,7 +792,7 @@ namespace OnlineStore.AssemblyLine
int num = 0;
//List<int> moveIDList = new List<int>() { 1, 3, 5, 7, 9, 11, 2, 4, 6, 8, 10, 12, 13, 15, 17, 19, 21, 23, 14, 16, 18, 20, 22, 24 };
List<int> moveIDList = new List<int>() { 1, 2, 3, 4, 5, 6, 101, 201, 202, 203, 204, 205 };
List<int> moveIDList = new List<int>() { 1, 2, 3, 4, 5, 6, 7,101, 201, 202, 203, 204 };
//for (int i = 0; i < moveEquipList.Count; i++)
foreach (int i in moveIDList)
{
......
......@@ -61,6 +61,12 @@ namespace OnlineStore.AssemblyLine
this.Text = equipBean.Name;
LoadDP2();
LoadDOBtn(groupDO);
if (equipBean.OnlyProOutTray)
{
btnInStore.Text = "出库盘移栽";
btnOutStore.Visible = false;
}
IsLoad = true;
}
......@@ -90,7 +96,7 @@ namespace OnlineStore.AssemblyLine
roleindex++;
DOControlList.Add(ioValue.ProName, control);
}
this.SuspendLayout(); //此处为不闪屏,一定要有的!
this.SuspendLayout();
cmbWriteIO.DataSource = new List<ConfigIO>(equipBean.Config.DOList.Values);
cmbWriteIO.ValueMember = "ProName";
......@@ -138,7 +144,14 @@ namespace OnlineStore.AssemblyLine
}
if (equipBean.MoveInfo.MoveType.Equals(LineMoveType.InStore) || equipBean.MoveInfo.MoveType.Equals(LineMoveType.OutStore))
{
lblInoutInfo.Text = (equipBean.MoveInfo.MoveType.Equals(LineMoveType.InStore) ? "入库:" : "出库") + equipBean.MoveInfo.MoveParam.ToStr();
if (!equipBean.OnlyProOutTray)
{
lblInoutInfo.Text = (equipBean.MoveInfo.MoveType.Equals(LineMoveType.InStore) ? "入库:" : "出库:") + equipBean.MoveInfo.MoveParam.ToStr();
}
else
{
lblInoutInfo.Text = "出料:" + equipBean.MoveInfo.MoveParam.ToStr();
}
}
else
{
......@@ -149,26 +162,29 @@ namespace OnlineStore.AssemblyLine
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.runStatus) + "(" + canOut + ")";
lblThisSta.Text = equipBean.WarnMsg;
string text = "";
List<InOutParam> ps = new List<InOutParam>(equipBean.waitInStoreList);
if (ps.Count > 0)
{
text = "等待入库列表:\r";
foreach (InOutParam param in ps)
{
text += param.ToStr() + "\r";
}
}
else
if (!equipBean.OnlyProOutTray)
{
ps = new List<InOutParam>(equipBean.waitOutStoreList);
List<InOutParam> ps = new List<InOutParam>(equipBean.waitInStoreList);
if (ps.Count > 0)
{
text = "等待库列表:\r";
text = "等待库列表:\r";
foreach (InOutParam param in ps)
{
text += param.ToStr() + "\r";
}
}
else
{
ps = new List<InOutParam>(equipBean.waitOutStoreList);
if (ps.Count > 0)
{
text = "等待出库列表:\r";
foreach (InOutParam param in ps)
{
text += param.ToStr() + "\r";
}
}
}
}
if (!lblInstoreList.Text.Equals(text))
{
......@@ -378,7 +394,7 @@ namespace OnlineStore.AssemblyLine
}
else
{
MessageBox.Show("未启动或不在空闲中,无法入库测试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show("未启动或不在空闲中,无法"+btnInStore.Text+"!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e)
......

8.6 KB | 宽: | 高:

21.1 KB | 宽: | 高:

source/AssemblyLineClient/image/line.png
source/AssemblyLineClient/image/line.png
source/AssemblyLineClient/image/line.png
source/AssemblyLineClient/image/line.png
  • 两方对比
  • 交换覆盖
  • 透明覆盖
20200105
1.获取入库库位号时需要判断是否是出库料。
2.HY9和HY15,如果是NG料直接横移。
3.入库时需要判断托盘的库位号和入库任务的库位号一致。
4.横移模块出口加延迟。
5.入料使用维护数据高度。
6.暂停运动时界面未显示勾选。
7.上料提升上料轴增加P4速度/料盘拿走后提升轴下降速度。
20201022
新建项目,SO664环形线
移栽修改:夹紧信号需要拿料,气缸上升之后再检测。
上料修改:夹紧信号需要拿料,气缸上升之后再检测。
新加固定气缸,固定气缸固定之后,定位气缸再动作
定位工位的顶升气缸只有在横移料架离开的时候才用。
出料线分为两种。
上料环形线托盘处理模块放入横移处理中,或者T3-C1处理。
夹爪气缸修改。上料模块增加固定气缸
上料机构,入料判断托盘是否到位,放行托盘,从lineBean里调用
紧急出料,开始紧急出库横移主动调用开始 托盘出库方法。放行从lineBean里调用
HY,T3C1,只使用MoveInfo,暂不使用,托盘处理MoveType=CheckFixture;
接驳台横移,托盘处理用SecondMoveInfo,料盘移栽用MoveInfo
出料与托盘关联
20201210
定位气缸定位之后,固定气缸才下降。
固定气缸默认是上升状态
上料模块,顶升气缸升降时,出口顶升气缸同时动作。
上料机构,入料横移到放料端时,再检测料盘宽度
20201216
前阻挡放行10秒后,若还未收到托盘检测信号,结束托盘处理。
进仓和T3-C1料盘检测增加验证,若未检测到信号结束处理。
20201217
HY17,HY5,顶升气缸默认上升。
20201218
HY3等待HY0托盘检测和前阻挡检测都没信号时再放行空托盘。
出料料盘更新的线体位置错误。
接驳台托盘离开线体没转。
T4,缓冲阻挡去掉
20201228
机器人编号修改,左侧2,右侧1.
1.HY8托盘逻辑修改。
2.接驳台提前放行托盘.
T4料架处理修改。
/****************************************原有更改**********************************************/
20200429:
入料口定位工位检测料架后延迟3秒
停止运行时需要给agv发none
needEnter和needLeave都延迟3秒再发。
入料缓冲阻挡修改。
20200428:
出大料时,横移气缸还未后退,叉子出料与横移气缸相撞
料仓出料到门口后,最好验证门口有料盘信号,否则报警。
20200417
进料阻挡只下降500ms。
入库未收到服务器反馈时,调用下取消入库任务。
放托盘放在前面.
agvCancelState默认需要不打勾
急停时agv需要设置None
20200415
findTempRfid只有启动之后第一个料料架需要验证,其他不需要。
皮带线每一个都扫码。
20200411
紧急出料料串逻辑修改:
//如果虚拟料架号为空,或者虚拟料架号与当前一致才可以出库
//料架号不一致时,直接送出料架
第一次启动时,需要查询下当前料架是否有虚拟料架号,没有虚拟料架号,可以直接用
有虚拟料架号,判断是否还有任务,没有任务就结束处理。
分盘料/紧急料放上料串或料架时调用
/rest/api/qisda/device/afterPutCut
参数:
cid: 料仓cid,流水线可传入空
barcode : 条码
rfid : RFID
rfidLoc: 料架位置,流水线可传-1
> 返回:
>>` {"code": 0, "msg":"ok", "data":{"cutPackageTask":"0","urgentPackageTask":"20","cutTask":"21","urgentTask":"22"}} `
>>
>> - code: 0为正常,其他为异常,
>> - msg:消息,
>> - data:为包装料仓的空闲仓位数(key为与客户端一致的料仓标识,value为空闲仓位)
>> - cutPackageTask: 表示当前包装仓的分盘任务数
>> - urgentPackageTask: 表示当前包装仓的紧急料任务数
>> - cutTask: 表示流水线分盘任务数
>> - urgentTask: 表示流水线紧急料任务数
分盘料/紧急料启动时获取料架的虚拟RFID调用
地址:
/rest/api/qisda/device/findTempRfid
参数:
rfid : RFID
返回:
{"code": 0, "msg":"ok", "data":{"tempRfid":""}}
code: 0为正常,其他为异常,
msg:消息,
data:
tempRfid: 表示当前料架(料串)对应的虚拟RFID
20200410
上料模块,RFID读取改为扫描模式,如果没有读到料架号,直接送出料架。
大盘>30mm的料入库时,托盘先不顶升,等待横移机构到达托盘上方后,升降下降,顶升上升。
七寸盘最高=16mm.
11,13,15,最低=12mm
20200409
紧急出料模块,料架离开时,mark=紧急料或者分配料,rfid=料架号
20200408 盘高计算修改:如果检测出<=15,都按照8计算
agv更新
20200403
紧急出料不放太慢。
rfid不需要格式化。
上料模块批量轴上升时,如果不是第一次上升,最多上升100mm
20200324
1.入库逻辑修改:提升轴先上升后需要下降到料盘不溢出的位置,横移气缸才能动作。
2.出料模块取料条件修改:随意放时需要等皮带线空闲。
3.移栽模块出库过程中或还有出库任务,不能入库,完全出库完成再入库
紧急出料速度优化
出料模块伺服速度变慢问题?
出料四横移顶升增加延迟。
20200323
。出库料盘在料仓门口,入库又拿了一盘料。
皮带线6有时会转两个盘到接驳台
20200317
1.托盘检测的还会报警。
2.伺服问题?测高不准确。
3.条码扫一种类型后,判断有有效条码则不再扫码。
20200315:
皮带线报警后不继续转动皮带线。
http发送去掉ping。
20200314:
出料机构:如果是7寸盘,提前放行托盘
皮带线123:增加NG气缸逻辑
急停判断修改。
T5上料时,T4的托盘没有等待。

20210114
新建项目,SO827环形线
线体转动方向
D7处无检测信号,如何判断出料口是否有料
......@@ -158,9 +158,6 @@
<Content Include="LineConfig\HY\Config_HYEquip.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="LineConfig\HY\Config_HYEquip_05.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="LineConfig\MoveEquip\Config_MoveEquip.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
......@@ -179,6 +176,11 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="LineConfig\MoveEquip\Config_MoveEquip_07.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
......
......@@ -19,10 +19,10 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeVal
,,,,,,
AXIS,0,轴二移栽上下轴,UpDown_Axis,12,HC,,20000,10000,15000,500,4000,15000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=29000;8=30400;48=20800;12=26000;16=22000;24=22000;32=22800;44=28000;56=11000,,
PRO,0,移栽上下轴P2移栽机构下降位置,UpDownP2List,0=11000,,
PRO,0,移栽上下轴P3取料位置,UpDownAxisP3,8800,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,20000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,20000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,14000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=30400;7X12=30000;7X16=29800;7X24=29600;15X44=24500;15X32=25800;15X56=23100;15X24=26600;15X16=27100;15X12=20800;11X12=29200;11X16=28700;13X12=27900;13X16=27800;13X24=27100;13X32=26200;13X44=25100;13X56=23700,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=11000,,
,,,,,,
......@@ -5,6 +5,9 @@ PRO,0,IO信号超时时间(秒),IOSingle_TimerOut,15,,
,0,IO模块对应的DI数量,IO_DILength,,,
,0,模块对应的DO数量,IO_DOLength,,,
,,,,,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,3000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,2000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,2000,,
,,,,,,
PRO,0,D1移栽1-托盘-RFID-IP,PRO_RFIP_001,192.168.210.138,,
PRO,0,D1移栽2-托盘-RFID-IP,PRO_RFIP_002,192.168.210.139,,
......@@ -23,12 +26,12 @@ PRO,0,上料模块T1-料架-RFID-IP,PRO_RFIP_101,192.168.210.149,,
DI,0,急停,SuddenStop_BTN,0,HC,X00
DI,0,复位,Reset_BTN,1,HC,X01
DI,0,气压检测,Airpressure_Check,2,HC,X02
DI,205,D7阻挡1托盘检测,HY_FrontStopCheck,3,HC,X03
DI,205,D7阻挡2托盘检测,HY_TrayCheck,4,HC,X04
DI,205,D7顶升上升端,HY_TopCylinder_Up,5,HC,X05
DI,205,D7顶升上升端,HY_TopCylinder_Down,6,HC,X06
DI,205,D7横移前进端,HY_MoveCylinder_Take,7,HC,X07
DI,205,D7横移后退端,HY_MoveCylinder_Give,8,HC,X08
DI,7,D7阻挡1托盘检测,StopCheck1,3,HC,X03
DI,7,D7阻挡2托盘检测,StopCheck2,4,HC,X04
DI,7,D7顶升上升端,TopCylinder_Up,5,HC,X05
DI,7,D7顶升上升端,TopCylinder_Down,6,HC,X06
DI,7,D7横移前进端,BeforeAfterCylinder_Before,7,HC,X07
DI,7,D7横移后退端,BeforeAfterCylinder_After,8,HC,X08
DI,201,HY1横移前阻挡托盘检测,HY_FrontStopCheck,9,HC,X09
DI,201,HY1横移托盘检测,HY_TrayCheck,10,HC,X10
DI,201,HY1横移顶升上升端,HY_TopCylinder_Up,11,HC,X11
......@@ -40,30 +43,30 @@ DI,202,HY2横移定位1上升端,HY_LocationCylinder_Up1,16,HC,X16
DI,202,HY2横移定位1下降端,HY_LocationCylinder_Down1,17,HC,X17
DI,202,HY2横移定位2上升端,HY_LocationCylinder_Up2,18,HC,X18
DI,202,HY2横移定位2下降端,HY_LocationCylinder_Down2,19,HC,X19
DI,1,D1阻挡1托盘检测,StopDown1,20,HC,X20
DI,1,D1阻挡2托盘检测,StopDown2,21,HC,X21
DI,1,D1阻挡1托盘检测,StopCheck1,20,HC,X20
DI,1,D1阻挡2托盘检测,StopCheck2,21,HC,X21
DI,1,D1顶升上升端,TopCylinder_Up,22,HC,X22
DI,1,D1顶升下降端,TopCylinder_Down,23,HC,X23
DI,1,D1横移前进端,BeforeAfterCylinder_Before,24,HC,X24
DI,1,D1横移后退端,BeforeAfterCylinder_After,25,HC,X25
DI,1,D1升降上升端,UpDownCylinder_Up,26,HC,X26
DI,1,D1升降下降端,UpDownCylinder_Down,27,HC,X27
DI,2,D2阻挡1托盘检测,StopDown1,28,HC,X28
DI,2,D2阻挡2托盘检测,StopDown2,29,HC,X29
DI,2,D2阻挡1托盘检测,StopCheck1,28,HC,X28
DI,2,D2阻挡2托盘检测,StopCheck2,29,HC,X29
DI,2,D2顶升上升端,TopCylinder_Up,30,HC,X30
DI,2,D2顶升下降端,TopCylinder_Down,31,HC,X31
DI,2,D2横移前进端,BeforeAfterCylinder_Before,32,HC,X32
DI,2,D2横移后退端,BeforeAfterCylinder_After,33,HC,X33
DI,2,D2升降上升端,UpDownCylinder_Up,34,HC,X34
DI,2,D2升降下降端,UpDownCylinder_Down,35,HC,X35
DI,3,D3阻挡1托盘检测,StopDown1,36,HC,X36
DI,3,D3阻挡2托盘检测,StopDown2,37,HC,X37
DI,3,D3阻挡1托盘检测,StopCheck1,36,HC,X36
DI,3,D3阻挡2托盘检测,StopCheck2,37,HC,X37
DI,3,D3顶升上升端,TopCylinder_Up,38,HC,X38
DI,3,D3顶升下降端,TopCylinder_Down,39,HC,X39
DI,3,D3横移前进端,BeforeAfterCylinder_Before,40,HC,X40
DI,3,D3横移后退端,BeforeAfterCylinder_After,41,HC,X41
DI,4,D4阻挡1托盘检测,StopDown1,42,HC,X42
DI,4,D4阻挡2托盘检测,StopDown2,43,HC,X43
DI,4,D4阻挡1托盘检测,StopCheck1,42,HC,X42
DI,4,D4阻挡2托盘检测,StopCheck2,43,HC,X43
DI,4,D4顶升上升端,TopCylinder_Up,44,HC,X44
DI,4,D4顶升下降端,TopCylinder_Down,45,HC,X45
DI,4,D4横移前进端,BeforeAfterCylinder_Before,46,HC,X46
......@@ -75,14 +78,14 @@ DI,203,HY3横移顶升下降端,HY_TopCylinder_Down,51,HC,X51
DI,204,HY4横移托盘检测,HY_TrayCheck,52,HC,X52
DI,204,HY4横移顶升上升端,HY_TopCylinder_Up,53,HC,X53
DI,204,HY4横移顶升下降端,HY_TopCylinder_Down,54,HC,X54
DI,5,D5阻挡1托盘检测,StopDown1,55,HC,X55
DI,5,D5阻挡2托盘检测,StopDown2,56,HC,X56
DI,5,D5阻挡1托盘检测,StopCheck1,55,HC,X55
DI,5,D5阻挡2托盘检测,StopCheck2,56,HC,X56
DI,5,D5顶升上升端,TopCylinder_Up,57,HC,X57
DI,5,D5顶升下降端,TopCylinder_Down,58,HC,X58
DI,5,D5横移前进端,BeforeAfterCylinder_Before,59,HC,X59
DI,5,D5横移后退端,BeforeAfterCylinder_After,60,HC,X60
DI,6,D6阻挡1托盘检测,StopDown1,61,HC,X61
DI,6,D6阻挡2托盘检测,StopDown2,62,HC,X62
DI,6,D6阻挡1托盘检测,StopCheck1,61,HC,X61
DI,6,D6阻挡2托盘检测,StopCheck2,62,HC,X62
DI,6,D6顶升上升端,TopCylinder_Up,63,HC,X63
DI,6,D6顶升下降端,TopCylinder_Down,64,HC,X64
DI,6,D6横移前进端,BeforeAfterCylinder_Before,65,HC,X65
......@@ -142,12 +145,12 @@ DO,202,HY2横移电机正转,HY_LineRun,5,HC,Y05
DO,203,HY3横移电机正转,HY_LineRun,6,HC,Y06
DO,204,HY4横移电机正转,HY_LineRun,7,HC,Y07
DO,0,C1线体运转,MotorRun_C1,8,HC,Y08
DO,205,D7阻挡1下降,HY_FrontStopDown,9,HC,Y09
DO,205,D7阻挡2下降,HY_StopDown,10,HC,Y10
DO,205,D7顶升上升,HY_TopCylinder_Up,11,HC,Y11
DO,205,D7顶升上升,HY_TopCylinder_Down,12,HC,Y12
DO,205,D7横移前进,HY_MoveCylinder_Take,13,HC,Y13
DO,205,D7横移后退,HY_MoveCylinder_Give,14,HC,Y14
DO,7,D7阻挡1下降,StopDown1,9,HC,Y09
DO,7,D7阻挡2下降,StopDown2,10,HC,Y10
DO,7,D7顶升上升,TopCylinder_Up,11,HC,Y11
DO,7,D7顶升上升,TopCylinder_Down,12,HC,Y12
DO,7,D7横移前进,BeforeAfterCylinder_Before,13,HC,Y13
DO,7,D7横移后退,BeforeAfterCylinder_After,14,HC,Y14
DO,201,HY1前阻挡下降,HY_FrontStopDown,15,HC,Y15
DO,201,HY1横移顶升上升,HY_TopCylinder_Up,16,HC,Y16
DO,201,HY1横移顶升下降,HY_TopCylinder_Down,17,HC,Y17
......
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,
PRO,0,是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,19,HC,,20000,15000,15000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,0,,
PRO,0,移栽上下轴托盘取料点P2,UpDownP2List,0=8000;12=11900;16=11800;24=11100;32=9900;44=8500;48=5000;56=7100;8=14500,,
PRO,0,移栽上下轴接驳台放料点P3,UpDownP3List,0=5000;12=13400;16=13200;24=12600;32=11800;44=10500;48=5000;56=9200;8=13900,,
PRO,0,移栽上下轴托盘取料详细点P2,UpDownP2DetialList,7X8=14500;7X12=13800;7X16=13600;7X24=12900;11X12=13200;11X16=12600;13X12=11900;13X16=11800;13X24=11000;13X32=10100;13X44=9100;13X56=8100;15X16=11100;15X24=10600;15X32=9900;15X44=8500;15X56=7100,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,20000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,16000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,16000,,
......@@ -4,9 +4,9 @@ PRO,0,是否存放的大料盘,IsBigTray,0
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,100,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,-11000,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=141200;16=130000;24=110000;32=98000;44=76000;48=73700;56=61000;8=150000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=157500;16=150800;24=138200;32=116800;44=92500;48=90000;56=95000;8=160000,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,8000,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=8000;,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,400,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,300,,
......
......@@ -5,9 +5,6 @@ PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,7,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,100,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=9162;16=8943;24=110000;32=98000;44=76000;48=73700;56=61000;8=9856,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=9325;16=9175;24=138200;32=116800;44=92500;48=90000;56=95000;8=10110,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=9856;7X16=8943;7X12=9162,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,3000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,2000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,2000,,
\ No newline at end of file
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=8000,,
......@@ -5,9 +5,6 @@ PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,7,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,100,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=9162;16=8943;24=110000;32=98000;44=76000;48=73700;56=61000;8=9856,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=9325;16=9175;24=138200;32=116800;44=92500;48=90000;56=95000;8=10110,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=9856;7X16=8943;7X12=9162,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,3000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,2000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,2000,,
\ No newline at end of file
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=8000,,
\ No newline at end of file
......@@ -5,9 +5,6 @@ PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,8,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,100,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=8883;16=8848;24=110000;32=98000;44=76000;48=73700;56=61000;8=9938,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=9513;16=9150;24=138200;32=116800;44=92500;48=90000;56=95000;8=10153,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=9938;7X12=8883;7X16=8848,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,3000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,2000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,2000,,
\ No newline at end of file
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=8000,,
\ No newline at end of file
......@@ -5,9 +5,6 @@ PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,16,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,100,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=80000;12=8321;16=7883;24=7173;32=5868;44=5300;48=73700;56=3222;8=150000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=90000;12=11010;16=10687;24=9575;32=8714;44=7997;48=90000;56=5719;8=160000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,15X56=3222;13X16=7883;13X44=5300;15X32=5868;13X24=7173;13X32=6387;13X12=8321;15X44=4574;11X12=8859,,
PRO,0,移栽上下轴P1速度,UpdownAxis_P1Speed,3000,,
PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,2000,,
PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,2000,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=8000,,
\ No newline at end of file
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,
PRO,0,是否存放的大料盘,IsBigTray,1
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,
,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,16,HC,,3000,4000,4000,1000,5000,20000,10,100,0,0
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,100,,
PRO,0,移栽上下轴流水线上方位置P2,UpDownP2List,0=8000,,
PRO,0,移栽上下轴料仓门口位置P3,UpDownP3List,0=9000,,
PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,7X8=8000,,
\ No newline at end of file
......@@ -43,7 +43,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo = new LineMoveInfo(DeviceID, "[" + Name.Trim() + "-Move]");
SecondMoveInfo = new LineMoveInfo(DeviceID, "[" + Name.Trim() + "-SMove]");
RFIDIP = RFIDManager.GetRFIP(DeviceID);
HasOutLine = config.DOList.ContainsKey(IO_Type.SL_OutLine_Run);
//HasOutLine = config.DOList.ContainsKey(IO_Type.SL_OutLine_Run);
addLastDI(IO_Type.SL_Reset_BTN, IO_VALUE.LOW);
mainTimer.Enabled = true;
}
......@@ -129,8 +129,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
//夹紧气缸放松
CylinderMove(null, IO_Type.SL_ClampCylinder_Work, IO_Type.SL_ClampCylinder_Relax);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Buffer_StopDown, IO_VALUE.LOW));
......@@ -294,11 +293,9 @@ namespace OnlineStore.DeviceLibrary
private void AllLineMove(IO_VALUE value)
{
IOMove(IO_Type.SL_Line_Run, value);
IOMove(IO_Type.SL_OutLine_Run, value);
IOMove(IO_Type.SL_Line_Run, value);
IOMove(IO_Type.SL_LocationSideWay_Run, value);
IOMove(IO_Type.SL_OutSideWay_Run, value);
IOMove(IO_Type.SL_RollerLine_Run, value);
IOMove(IO_Type.SL_OutSideWay_Run, value);
}
internal override void StopMove()
{
......@@ -806,25 +803,25 @@ namespace OnlineStore.DeviceLibrary
{
if (NoErrorAlarm())
{
bool HasOutLine = Config.DOList.ContainsKey(IO_Type.SL_OutLine_Run);
if (HasOutLine && IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.HIGH))
{
if (CheckStopWatch(needLeaveWatch, 3000))
{
ClientLevel level = ClientLevel.Low;
if (Config.IsCanOut.Equals(1))
{
level = ClientLevel.High;
}
else if (IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH) || (!MoveInfo.MoveType.Equals(LineMoveType.None)))
{
level = ClientLevel.Middle;
}
//线体出口检测到料架,需要通知AGV小车
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, level);
}
}
else if ((!HasOutLine) && IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH))
//bool HasOutLine = Config.DOList.ContainsKey(IO_Type.SL_OutLine_Run);
//if (HasOutLine && IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.HIGH))
//{
// if (CheckStopWatch(needLeaveWatch, 3000))
// {
// ClientLevel level = ClientLevel.Low;
// if (Config.IsCanOut.Equals(1))
// {
// level = ClientLevel.High;
// }
// else if (IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH) || (!MoveInfo.MoveType.Equals(LineMoveType.None)))
// {
// level = ClientLevel.Middle;
// }
// //线体出口检测到料架,需要通知AGV小车
// AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, level);
// }
//}
if ((!HasOutLine) && IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH))
{
if (CheckStopWatch(needLeaveWatch, 3000))
{
......@@ -929,11 +926,11 @@ namespace OnlineStore.DeviceLibrary
string checkIo = IO_Type.SL_Out_Check;
string lineDo = IO_Type.SL_OutSideWay_Run;
string stopDo = IO_Type.SL_Out_StopDown;
if (HasOutLine)
{
checkIo = IO_Type.SL_OutLine_Check;
lineDo = IO_Type.SL_OutLine_Run;
}
//if (HasOutLine)
//{
// checkIo = IO_Type.SL_OutLine_Check;
// lineDo = IO_Type.SL_OutLine_Run;
//}
string logName = Name + "[" + Config.AgvOutName + "] 料架送入AGV ";
try
{
......
......@@ -655,7 +655,7 @@ namespace OnlineStore.DeviceLibrary
InLog("上料完成" + MoveInfo.SLog + ", 线体横移电机运转,等待料架离开上料工位");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.LOW));
}
else if (MoveInfo.IsStep(LineMoveStep.FI_57_SideWayLineRun))
......@@ -664,7 +664,7 @@ namespace OnlineStore.DeviceLibrary
InLog("上料完成" + MoveInfo.SLog + ", 线体横移电机运转,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Out_Check, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.FI_58_WaitShelfGo))
......@@ -673,7 +673,7 @@ namespace OnlineStore.DeviceLibrary
InLog("上料完成" + MoveInfo.SLog + ", 横移电机再转动3秒,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
int time = 200;
if (HasOutLine)
{
......@@ -689,7 +689,7 @@ namespace OnlineStore.DeviceLibrary
InLog("上料完成" + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 ");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
}
else if (MoveInfo.IsStep(LineMoveStep.FI_60_LineStop))
{
......@@ -708,12 +708,12 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.FI_62_OutLineRun);
InLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
{
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
}
//if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
//{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
//}
}
else
{
......@@ -728,7 +728,7 @@ namespace OnlineStore.DeviceLibrary
MoveEndS();
LastOutShelfId = CurrShelfId;
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
//IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
InLog("上料完成,料架到达出口处, 通知AGV取空料架, 入料流程结束,更新LastOutShelfId=" + LastOutShelfId);
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, ClientLevel.Low);
}
......
......@@ -479,7 +479,7 @@ namespace OnlineStore.DeviceLibrary
OutLog("送出料串: " + MoveInfo.SLog + ", 线体横移电机运转,等待料架离开定位工位");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.LOW));
}
else if (MoveInfo.IsStep(LineMoveStep.FO_57_SideWayLineRun))
......@@ -488,7 +488,7 @@ namespace OnlineStore.DeviceLibrary
OutLog("送出料串:" + MoveInfo.SLog + ", 线体横移电机运转,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Out_Check, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.FO_58_WaitShelfGo))
......@@ -497,7 +497,7 @@ namespace OnlineStore.DeviceLibrary
OutLog("送出料串:" + MoveInfo.SLog + ", 横移电机再转动3秒,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
int time = 200;
if (HasOutLine)
{
......@@ -512,7 +512,7 @@ namespace OnlineStore.DeviceLibrary
OutLog("送出料串: " + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 ");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
//IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
}
else if (MoveInfo.IsStep(LineMoveStep.FO_60_LineStop))
......@@ -533,12 +533,12 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.FO_62_OutLineRun);
OutLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(5000));
if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
{
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
}
//if (IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW))
//{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH));
//}
}
else
{
......@@ -552,7 +552,7 @@ namespace OnlineStore.DeviceLibrary
MoveEndS();
OutLog("送出料串: " + MoveInfo.SLog + ", 出料线体停止,料架到达出口处, 通知AGV取空料架, 出料结束");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
//IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, Asa.ClientLevel.High);
}
else if (MoveInfo.MoveStep >= LineMoveStep.FO_21_AxisDownMove && MoveInfo.MoveStep < LineMoveStep.FO_51_BatchAxisToP2)
......
......@@ -95,24 +95,7 @@ namespace OnlineStore.DeviceLibrary
dName = LineManager.Line.AllEquipMap[HyInDeviceId].Name;
buf.Append("横移出口:✔" + ",对应入口" + dName + "\r\n");
}
// if (Config.IsOutLineIn)
// {
// buf.Append(" 出料托盘入口:✔" + "\r\n");
// }
// if (Config.IsOutLineOut)
// {
// buf.Append(" 出料托盘出口:✔" + "\r\n");
// }
//int hynum = (this.Config.Id % 100);
// List<int> jNumList = new List<int>() { 10, 12, 17 };
// if (hynum.Equals(17))
// {
// buf.Append(" NG料工位:✔" + "\r\n");
// }
//else if (jNumList.Contains(hynum))
// {
// buf.Append(" 接驳台工位:✔" + "\r\n");
// }
if (Config.Id.Equals(205))
{
buf.Append(" 出料工位:✔" + "\r\n");
......@@ -163,69 +146,46 @@ namespace OnlineStore.DeviceLibrary
#region 定位气缸升降 ,链条转动
public void LocationCylinderUp(LineMoveInfo moveinfo = null)
{
IOMove(IO_Type.HY_LocationCylinder_Down, IO_VALUE.LOW);
IOMove(IO_Type.HY_LocationCylinder_Up, IO_VALUE.HIGH);
if (moveinfo != null)
if (DeviceID.Equals(202))
{
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down1, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up1, IO_VALUE.HIGH));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down2, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up2, IO_VALUE.HIGH));
IOMove(IO_Type.HY_LocationCylinder_Down, IO_VALUE.LOW);
IOMove(IO_Type.HY_LocationCylinder_Up, IO_VALUE.HIGH);
if (moveinfo != null)
{
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down1, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up1, IO_VALUE.HIGH));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down2, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up2, IO_VALUE.HIGH));
}
}
}
public void LocationCylinderDown(LineMoveInfo moveinfo = null)
{
IOMove(IO_Type.HY_LocationCylinder_Up, IO_VALUE.LOW);
IOMove(IO_Type.HY_LocationCylinder_Down, IO_VALUE.HIGH);
if (moveinfo != null)
if (DeviceID.Equals(202))
{
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up1, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down1, IO_VALUE.HIGH));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up2, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down2, IO_VALUE.HIGH));
}
}
public void LineRun(LineMoveInfo moveInfo = null)
{
if (Config.DOList.ContainsKey(IO_Type.HY_LineBackRun))
{
IOMove(IO_Type.HY_LineBackRun, IO_VALUE.LOW);
if (moveInfo != null)
IOMove(IO_Type.HY_LocationCylinder_Up, IO_VALUE.LOW);
IOMove(IO_Type.HY_LocationCylinder_Down, IO_VALUE.HIGH);
if (moveinfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LineBackRun, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up1, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down1, IO_VALUE.HIGH));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Up2, IO_VALUE.LOW));
moveinfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LocationCylinder_Down2, IO_VALUE.HIGH));
}
}
}
public void LineRun(LineMoveInfo moveInfo = null)
{
IOMove(IO_Type.HY_LineRun, IO_VALUE.HIGH);
if (moveInfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LineRun, IO_VALUE.HIGH));
}
}
public void LineBackRun(LineMoveInfo moveInfo = null)
{
//暂时只有HY04(204)有倒转功能。
if (Config.DOList.ContainsKey(IO_Type.HY_LineBackRun))
{
IOMove(IO_Type.HY_LineBackRun, IO_VALUE.HIGH);
IOMove(IO_Type.HY_LineRun, IO_VALUE.LOW);
if (moveInfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LineBackRun, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LineRun, IO_VALUE.LOW));
}
}
}
public void LineStop(LineMoveInfo moveInfo = null)
{
if (Config.DOList.ContainsKey(IO_Type.HY_LineBackRun))
{
IOMove(IO_Type.HY_LineBackRun, IO_VALUE.LOW);
if (moveInfo != null)
{
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_LineBackRun, IO_VALUE.LOW));
}
}
{
IOMove(IO_Type.HY_LineRun, IO_VALUE.LOW);
if (moveInfo != null)
{
......
......@@ -9,15 +9,12 @@ using System.Threading;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
/// <summary>
/// 此类对应上料工位横移:HY1,HY2,HY20,HY21
/// </summary>
{
public class HY_C1_SLStation : HYEquipBase
{
public HY_C1_SLStation(string cid, HYEquip_Config config) : base(cid, config)
{
Name = (" HY" + (DeviceID % 100).ToString().PadLeft(2, '0') + " ").ToUpper();
Name = (" HY" + (DeviceID % 100).ToString().PadLeft(1, '0') + " ").ToUpper();
MoveInfo.Name = Name;
SecondMoveInfo.Name = Name;
}
......@@ -117,10 +114,7 @@ namespace OnlineStore.DeviceLibrary
else
{
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
}
//LineStop();
//CylinderMove( null , IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
//LocationCylinderDown(null);
}
}
......@@ -394,12 +388,7 @@ namespace OnlineStore.DeviceLibrary
HY11_TopUpToHY();
}
else if (MoveInfo.IsStep(LineMoveStep.HY11_TopUpToHY))
{
// MoveInfo.NextMoveStep(LineMoveStep.HY12_WaitHY2Free);
// CheckLog("托盘横移" + MoveInfo.SLog + " ,等待HY" + HyOutDeviceId + "空闲,可以开始横移 ");
//}
//else if (MoveInfo.IsStep(LineMoveStep.HY12_WaitHY2Free))
//{
{
HYEquipBase hyOut = GetHyOutEquip();
if (hyOut.CanStartMove())
{
......
......@@ -16,19 +16,7 @@ namespace OnlineStore.DeviceLibrary
public partial class HY_Coveryor : HYEquipBase
{
public HY_Coveryor(string cid, HYEquip_Config config) : base(cid, config)
{
if (DeviceID.Equals(210))
{
Name = (" J1HY" + (DeviceID % 100).ToString().PadLeft(2, '0') + " ").ToUpper();
}
else if (DeviceID.Equals(212))
{
Name = (" J2HY" + (DeviceID % 100).ToString().PadLeft(2, '0') + " ").ToUpper();
}
else
{
Name = (" J3HY" + (DeviceID % 100).ToString().PadLeft(2, '0') + " ").ToUpper();
}
{
Name = (" D7-出料口").ToUpper();
MoveInfo.Name = Name;
SecondMoveInfo.Name = Name;
......@@ -138,11 +126,7 @@ namespace OnlineStore.DeviceLibrary
UpdownAxis.SuddenStop();
CloseAxis(UpdownAxis);
}
CloseAllDO();
//LineStop();
//IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
//CylinderMove(null, IO_Type.HY_LocationCylinder_Up, IO_Type.HY_LocationCylinder_Down);
//CylinderMove(null, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
CloseAllDO();
}
public override void StopRun()
{
......@@ -150,9 +134,7 @@ namespace OnlineStore.DeviceLibrary
{
mainTimer.Enabled = false;
}
StopMove();
//CheckAndMove(IO_Type.HY_ClampCylinder_Work, IO_VALUE.LOW);
//CheckAndMove(IO_Type.HY_ClampCylinder_Relax, IO_VALUE.LOW);
StopMove();
runStatus = LineRunStatus.Wait;
}
......
......@@ -13,8 +13,6 @@ namespace OnlineStore.DeviceLibrary
partial class HY_Coveryor
{
#region 托盘检测处理
private Stopwatch trayCheckWait = new Stopwatch();
private Stopwatch trayCheckLowWait = new Stopwatch();
private object lockObj = "";
......@@ -37,7 +35,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + " CheckFixture " + " 不在空闲中,直接返回 ");
return;
}
if (SecondMoveInfo.MoveType.Equals(LineMoveType.None)&&IOValue(IO_Type.HY_OL_Full_Check).Equals(IO_VALUE.LOW))
if (SecondMoveInfo.MoveType.Equals(LineMoveType.None))
{
bool canpro = true;
if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
......@@ -189,7 +187,7 @@ namespace OnlineStore.DeviceLibrary
{
SecondMoveInfo.NextMoveStep(LineMoveStep.JHY_08_LocationUp);
CheckLog(" 接驳台托盘" + SecondMoveInfo.SLog + ":料盘需要横移,定位上升");
LocationCylinderUp(SecondMoveInfo);
//LocationCylinderUp(SecondMoveInfo);
}
else if (SecondMoveInfo.IsStep(LineMoveStep.JHY_08_LocationUp))
{
......
......@@ -449,10 +449,7 @@ namespace OnlineStore.DeviceLibrary
public void WriteDrivetMotorRun(IO_VALUE value)
{
IOMove(IO_Type.MotorRun_C1_123, value);
IOMove(IO_Type.MotorRun_C1_4, value);
IOMove(IO_Type.MotorRun_23458, value);
IOMove(IO_Type.MotorRun_679, value);
IOMove(IO_Type.MotorRun_C1, value);
}
......
......@@ -16,11 +16,8 @@ namespace OnlineStore.DeviceLibrary
public bool CanProcessLine(bool isCheckSleep = true)
{
if (IOManager.IOValue(IO_Type.MotorRun_C1_123, 0).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.MotorRun_C1_4, 0).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.MotorRun_679, 0).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.MotorRun_23458, 0).Equals(IO_VALUE.HIGH))
{
if (IOManager.IOValue(IO_Type.MotorRun_C1, 0).Equals(IO_VALUE.HIGH))
{
return true;
}
......@@ -28,12 +25,7 @@ namespace OnlineStore.DeviceLibrary
}
public bool OutHyCanProLine()
{
if (IOManager.IOValue(IO_Type.MotorRun_679, 0).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.MotorRun_23458, 0).Equals(IO_VALUE.HIGH))
{
return true;
}
return false;
return CanProcessLine();
}
private DateTime preIoTimerOutTime = DateTime.Now;
......@@ -236,13 +228,16 @@ namespace OnlineStore.DeviceLibrary
#region 料仓出入库逻辑处理
/// <summary>--
/// BOX出入库完成事件
/// </summary>
public void boxBean_OutStoreEnd(int storeId, InOutParam param)
{
MoveEquip moveEquip = MoveEquipMap[storeId];
string posId = param != null ? param.PosId : "";
if (moveEquip.OnlyProOutTray)
{
LogUtil.error(param.ToStr() + " 已经完成出库," + moveEquip.Name + " 无法执行出库 ");
return;
}
if (moveEquip.IsDebug)
{
LogUtil.error(param.ToStr() + " 已经完成出库," + moveEquip.Name + "当前正在调试中,不继续操作!");
......@@ -270,11 +265,7 @@ namespace OnlineStore.DeviceLibrary
moveEquip.AddWaitOutInfo(param);
}
}
/// <summary>
/// 判断移栽当前是否处于可出库状态
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool CanOutStore(int id)
{
if (!NoErrorAlarm())
......@@ -290,6 +281,10 @@ namespace OnlineStore.DeviceLibrary
return false;
}
MoveEquip move = MoveEquipMap[id];
if (move.OnlyProOutTray)
{
return false;
}
if (!move.NoAlarm() || move.waitInStoreList.Count > 0 || move.IsDebug || move.waitOutStoreList.Count > 0)
{
return false;
......@@ -355,74 +350,42 @@ namespace OnlineStore.DeviceLibrary
#region 上料机构托盘到位验证及放行
/// <summary>
/// 上料机构,判断对应的空托盘是否准备完成
/// </summary>
/// <param name="deviceID">上料机构ID</param>
/// <param name="trayNum">空托盘号</param>
/// <returns></returns>
internal bool TrayIsReady(int deviceID, out int trayNum)
{
trayNum = -1;
bool isDebug = AllEquipMap[deviceID].IsDebug;
//if (deviceID.Equals(103))
//{
// if (T3C1TrayIsReady())
// {
// trayNum = T3C1_TrayNum;
// return true;
// }
// //TODO 调试模式直接返回true
// if (IsDebug && runStatus <= LineRunStatus.Wait)
// {
// return true;
// }
//}
//else
foreach (HYEquipBase hy in HYEquipMap.Values)
{
foreach (HYEquipBase hy in HYEquipMap.Values)
if (hy.Config.WorkDeviceId.Equals(deviceID))
{
if (hy.Config.WorkDeviceId.Equals(deviceID))
if (hy.TrayIsReady())
{
if (hy.TrayIsReady())
{
trayNum = hy.currTrayNum;
return true;
}
trayNum = hy.currTrayNum;
return true;
}
//TODO 调试模式直接返回true
if (IsDebug && hy.runStatus <= LineRunStatus.Wait)
{
return true;
}
//TODO 调试模式直接返回true
if (IsDebug && hy.runStatus <= LineRunStatus.Wait)
{
return true;
}
}
}
return false;
}
/// <summary>
/// 上料机构,料盘已放入托盘,托盘可以离开
/// </summary>
/// <param name="deviceID"></param>
internal void TrayCanLeave(int deviceID)
{
//if (deviceID.Equals(103))
//{
// T3C1TrayCanLeave();
//}
//else
foreach (HYEquipBase hy in HYEquipMap.Values)
{
foreach (HYEquipBase hy in HYEquipMap.Values)
{
if (hy.Config.WorkDeviceId.Equals(deviceID))
{
hy.TrayCanLeave();
break;
}
if (hy.Config.WorkDeviceId.Equals(deviceID))
{
hy.TrayCanLeave();
break;
}
}
}
......
......@@ -9,55 +9,34 @@ using System.Threading;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
/// <summary>
/// 流水线自动料仓-进仓装置类
/// </summary>
{
public partial class MoveEquip : EquipBase
{
public MoveEquip_Config Config;
public bool OnlyProOutTray = false;
public MoveEquip(string cid, MoveEquip_Config config)
{
this.DeviceID = config.Id;
this.Config = config;
baseConfig = config;
IsDebug = config.IsDebug.Equals(1);
Name = (" " + "D"+ DeviceID + "-进仓" + DeviceID.ToString().PadLeft(2, '0') + " " ).ToUpper();
Name = (" " + "D" + DeviceID + "-进仓" + DeviceID.ToString().PadLeft(1, '0') + " ").ToUpper();
if (DeviceID.Equals(7))
{
OnlyProOutTray = true;
Name = " " + "D" + DeviceID + "-出料口";
}
Init();
MoveInfo = new LineMoveInfo(DeviceID, "[" + Name.Trim() + "-Move]");
SecondMoveInfo = new LineMoveInfo(DeviceID, "[" + Name.Trim() + "-SMove]");
UseAxis = config.UpDownUseAxis.Equals(1);
UseAxis = config.UpDownUseAxis.Equals(1);
UpdownAxis = new AxisBean(config.UpDown_Axis, Name);
RFIDIP = RFIDManager.GetRFIP(DeviceID);
}
//private string GetNByID()
//{
// string name = "";
// int index = DeviceID;
// if (index >= 0)
// {
// int num =( index+1) / 2;
// int subNum = index % 2;
// if (subNum.Equals(0))
// {
// subNum = 2;
// }
// if (num <= 6)
// {
// }
// else
// {
// subNum = 3 - subNum;
// }
// name = "D" + num + "-" + subNum;
// }
// return name;
//}
}
public override bool StartRun(bool isDebug = false)
{
if (CanStartRun().Equals(false))
......@@ -181,11 +160,7 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.EndMove();
LogInfo("停止运动:关闭所有DO ");
//UpdownUpMove();
//CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
//IOMove(IO_Type.StopDown1, IO_VALUE.LOW);
//IOMove(IO_Type.StopDown2, IO_VALUE.LOW);
if (UseAxis)
{
UpdownAxis.SuddenStop();
......@@ -201,21 +176,7 @@ namespace OnlineStore.DeviceLibrary
{
mainTimer.Enabled = false;
}
StopMove();
//停止运行时,把所有IO 置零
//CheckAndMove(IO_Type.StopDown1, IO_VALUE.LOW);
//CheckAndMove(IO_Type.StopDown2, IO_VALUE.LOW);
//CheckAndMove(IO_Type.TopCylinder_Up, IO_VALUE.LOW);
//CheckAndMove(IO_Type.TopCylinder_Down, IO_VALUE.LOW);
//CheckAndMove(IO_Type.BeforeAfterCylinder_Before, IO_VALUE.LOW);
//CheckAndMove(IO_Type.BeforeAfterCylinder_After, IO_VALUE.LOW);
//if (UseAxis.Equals(false))
//{
// CheckAndMove(IO_Type.UpDownCylinder_Up, IO_VALUE.LOW);
// CheckAndMove(IO_Type.UpDownCylinder_Down, IO_VALUE.LOW);
//}
//CheckAndMove(IO_Type.ClampCylinder_Work, IO_VALUE.LOW);
//CheckAndMove(IO_Type.ClampCylinder_Relax, IO_VALUE.LOW);
StopMove();
runStatus = LineRunStatus.Wait;
}
......@@ -244,6 +205,7 @@ namespace OnlineStore.DeviceLibrary
private void OutStoreListPro()
{
//料仓出库完成,进仓装置开始出库检测
if (IsDebug.Equals(false) && MoveInfo.MoveType.Equals(LineMoveType.None) && runStatus.Equals(LineRunStatus.Runing))
{
......
......@@ -238,7 +238,7 @@ namespace OnlineStore.DeviceLibrary
/// 入库移动移动
/// </summary>
public override bool StartInStoreMove(InOutParam param)
{
{
string posId = param != null ? param.PosId : "";
if (runStatus.Equals(LineRunStatus.Runing))
{
......@@ -389,9 +389,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.MI_14_CylinderAfter);
InLog("入库 " + MoveInfo.SLog + ",前后气缸后退,等待300 ");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
//此时box就可以入库操作了 //触发事件,BOX入库
// LineServer.StartInStore(DeviceID, MoveInfo.MoveParam);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
}
else
{
......@@ -411,10 +409,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.IsStep(LineMoveStep.MI_15_SendPosToStore))
{
if (!LineServer.IsInStorePro(DeviceID, MoveInfo.MoveParam.PosId))
{
//InLog("入库 " + MoveInfo.SLog + " , 送料流程完成,料仓还未开始入库,再次发送starIn命令");
//LineServer.StartInStore(DeviceID, MoveInfo.MoveParam);
{
MoveInfo.NextMoveStep(LineMoveStep.MI_15_SendPosToStore);
InLog("入库 " + MoveInfo.SLog + ",再次通知BOX开始入库,等待3000");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
......@@ -483,17 +478,17 @@ namespace OnlineStore.DeviceLibrary
return false;
}
/// <summary>
/// 是否需要出库的托盘
/// </summary>
/// <param name="currMoveTrayNum"></param>
/// <returns></returns>
private bool CheckIsNeedOutStore()
{
if (currTrayNum <= 0)
{
return false;
}
if (OnlyProOutTray)
{
return false;
}
bool isFull = TrayManager.TrayIsFull(currTrayNum);
if (isFull)
{
......@@ -518,6 +513,10 @@ namespace OnlineStore.DeviceLibrary
{
return false;
}
if (OnlyProOutTray)
{
return false;
}
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_56_ClampCheck && MoveInfo.IsInWait.Equals(false)) || MoveInfo.MoveStep >= LineMoveStep.MO_57_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.IsStep(LineMoveStep.MO_60_CylinderUp)))
......@@ -526,10 +525,27 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
/// <summary>
/// 判断盘号是否需要入库
/// </summary>
/// <returns></returns>
private bool ChekcIsNeedMoveReel()
{
if (currTrayNum <= 0)
{
return false;
}
if (OnlyProOutTray)
{
TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum);
if (tray.InOrOutStore.Equals(2))
{
return true;
}else if (tray.InoutPar.InStoreNg)
{
return true;
}
}return false;
}
private bool CheckIsNeedInStore()
{
if (currTrayNum <= 0)
......@@ -702,6 +718,7 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_00_Stop1Down);
CheckLog(" 托盘检测:料盘检测StopCylinder_Check1 " + SecondMoveInfo.SLog + "阻挡气缸1-1下降 , 等待 StopCylinder_Check1=0,清理托盘RFID");
ClearTrayRFID();
IOMove(IO_Type.StopDown2, IO_VALUE.LOW);
IOMove(IO_Type.StopDown1, IO_VALUE.HIGH, 1200);
SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck1, IO_VALUE.LOW));
......@@ -752,7 +769,8 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.StopCheck1).Equals(IO_VALUE.LOW) || IOValue(IO_Type.StopCheck2).Equals(IO_VALUE.HIGH))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)");
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)");
IOMove(IO_Type.StopDown2, IO_VALUE.LOW);
SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
//最多等待30秒
......@@ -881,6 +899,12 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_08_WaitInStore);
isNeedMove = true;
}
else if (ChekcIsNeedMoveReel())
{
LogInfo(SecondMoveInfo.MoveNum + "*************** 托盘【" + currTrayNum + "】,料盘要去出料口,等待移栽");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_08_WaitInStore);
isNeedMove = true;
}
else
{
LogInfo(SecondMoveInfo.MoveNum + "*************** 托盘【" + currTrayNum + "】不需要出入库, 放盘通过");
......@@ -966,21 +990,7 @@ namespace OnlineStore.DeviceLibrary
#endregion
#region 如果是进仓5,托盘横移后直接结束处理
internal void EndProcessTray()
{
if (DeviceID.Equals(5))
{
if (SecondMoveInfo.MoveType.Equals(LineMoveType.Fixture) && SecondMoveInfo.MoveStep <= LineMoveStep.MIO_04_Wait)
{
UpdateTrayNum();
LogUtil.info(Name + " EndProcessTray ,结束当前托盘[" + currTrayNum + "]处理【" + SecondMoveInfo.MoveType + "】【" + SecondMoveInfo.MoveStep + "】 ");
SecondMoveInfo.EndMove();
}
}
}
#endregion
}
}
......@@ -13,13 +13,7 @@ using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary
{
public class LineManager
{
//public static bool DisLeftOutLine = false ;
//public static bool DisRightOutLine = false ;
//public static bool DisSLEquip = false;
//public static bool DisAllHy = false;
//public static bool DisAllMove = false;
{
public static bool TrayToOutLineTest = false;
public static bool DisGetWare = false;
......@@ -117,6 +111,7 @@ namespace OnlineStore.DeviceLibrary
config = appPath + moveEquipConfig;
}
MoveEquip_Config moveConfig = CSVConfigReader.LoadMoveConfig(i, DeviceType.MoveEquip, config);
moveConfig.ConfigSpeed(Config);
int subType = i;
moveECMap.Add(i, moveConfig);
}
......@@ -133,6 +128,7 @@ namespace OnlineStore.DeviceLibrary
int subType = 100 + i;
string config = appPath + feedingEquipConfig.Replace(".csv", "_" + i + ".csv");
FeedingEquip_Config moveConfig = CSVConfigReader.LoadFeedingConfig(subType, DeviceType.FeedingEquip, config);
moveConfig.ConfigSpeed(Config);
moveConfig.SetIO(subType);
feedingECMap.Add(subType, moveConfig);
allConfigMap.Add(subType, moveConfig);
......@@ -151,6 +147,7 @@ namespace OnlineStore.DeviceLibrary
config = appPath + hyEquipConfig;
}
HYEquip_Config moveConfig = CSVConfigReader.LoadHYConfig(subType, DeviceType.HYEquip, config);
moveConfig.ConfigSpeed(Config);
moveConfig.LoadParam();
moveConfig.SetIO(subType);
HYECMap.Add(subType, moveConfig);
......
......@@ -30,19 +30,12 @@ namespace OnlineStore.DeviceLibrary
#region KNDIO
private static void IOErrorLog(string ioType, int subType, string IOType = "IO")
{
if (ioType.Equals(IO_Type.HY_FrontStopDown) || ioType.Equals(IO_Type.HY_OL_StopDown))
{
}
else if (ioType.Equals(IO_Type.HY_FrontStopCheck) || ioType.Equals(IO_Type.HY_OL_Tray_Check))
{
}
else if ( ioType.Equals(IO_Type.SL_RollerLine_Run)|| ioType.Equals(IO_Type.SL_OutLine_Run) || ioType.Equals(IO_Type.SL_OutLine_Check))
{
}else if (ioType.Equals(IO_Type.HY_LongL_StopDown))
{
if (ioType.Equals(IO_Type.HY_FrontStopCheck))
{
}else if (IOType.Equals(IO_Type.SL_Buffer_StopDown))
}
if (IOType.Equals(IO_Type.SL_Buffer_StopDown))
{
}
......
......@@ -39,11 +39,7 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
/// <summary>
/// 移栽装置拦截托盘时, 判断是否可以入库,入库执行可以入库,出库过程中不能入库
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static bool BoxCanInStore(int id)
{
BoxInfo box = GetBoxInfo(id);
......@@ -147,54 +143,25 @@ namespace OnlineStore.DeviceLibrary
int num = equipId % 100;
string result = "";
List<int> IdList = new List<int>();
if (num.Equals(3))
{
for (int i = 7; i <= 12; i++)
{
IdList.Add(i);
}
for (int i = 24; i >= 13; i--)
{
IdList.Add(i);
}
for (int i = 1; i <= 6; i++)
{
IdList.Add(i);
}
}
else if (num.Equals(5))
{
for (int i = 24; i >= 13; i--)
{
IdList.Add(i);
}
for (int i = 1; i <= 12; i++)
{
IdList.Add(i);
}
}
else
for(int i = 1; i <= 6; i++)
{
for (int i = 1; i <= 12; i++)
{
IdList.Add(i);
}
for (int i = 24; i >= 13; i--)
{
IdList.Add(i);
}
IdList.Add(i);
}
foreach (int id in IdList)
{
BoxInfo box = GetBoxInfo(id);
if (box != null)
{
{
TimeSpan span = DateTime.Now - box.LastMsgTime;
if (span.TotalSeconds < ClientKeepSecond)
{
if (LineManager.Line.CanIntore(box.ID))
LineStatus status = (LineStatus)box.SStatus;
if ((!status.Equals(LineStatus.Debugging)) && (!status.Equals(LineStatus.SuddenStop)))
{
result += box.CId + ",";
if (LineManager.Line.CanIntore(box.ID))
{
result += box.CId + ",";
}
}
}
}
......@@ -274,6 +241,7 @@ namespace OnlineStore.DeviceLibrary
paramList.Add(S_PlateW, param.PlateW);
paramList.Add(S_WareCode, param.WareCode);
paramList.Add(S_RFID, param.rfid);
paramList.Add(S_NG, param.InStoreNg);
string msg = ToParamStr(paramList);
TcpClientBean client = ClientMap[id];
......@@ -293,22 +261,7 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
///// <summary>
///// 获取整个料仓的状态
///// </summary>
//public static Operation GetInStoreOperation(string message)
//{
// //构建发送给服务器的对象
// Operation lineOperation = new Operation();
// lineOperation.status = 1;
// lineOperation.seq = ConfigAppSettings.nextSeq();
// lineOperation.boxStatus = new Dictionary<int, BoxStatus>();
// lineOperation.alarmList = new List<AlarmInfo>();
// lineOperation.cid = LineServer.GetAllCID();
// lineOperation.op = 1;
// lineOperation.data = new Dictionary<string, string>() { { "code", message } };
// return lineOperation;
//}
public static bool CheckInStorePos(int id, InOutParam param)
{
......@@ -479,6 +432,7 @@ namespace OnlineStore.DeviceLibrary
public static string S_WareCode = "WareCode";
public static string S_IsDebug = "IsDebug";
public static string S_RFID = "rfid";
public static string S_NG = "rfid";
}
public class StoreReviceBean
......
......@@ -83,13 +83,13 @@ namespace OnlineStore.LoadCSVLibrary
public virtual void LoadConfig(List<ConfigBase> configList)
{
List<string> ioTypeList = IO_Type.GetTypeList();
ioTypeList = new List<string>();
// ioTypeList = new List<string>();
StringBuilder builder = new StringBuilder("\r\n");
StringBuilder proBuilder = new StringBuilder("\r\n");
DIList = new Dictionary<string, ConfigIO>();
DOList = new Dictionary<string, ConfigIO>();
//SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
// SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
//SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
// SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
IOIPList = new List<string>();
//取得属性集合
PropertyInfo[] props = GetType().GetProperties();
......
......@@ -165,7 +165,21 @@ namespace OnlineStore.LoadCSVLibrary
public string UpDownP2DetialList { get; set; }
private Dictionary<string, int> UpdownP2DetialMap = null;
public void ConfigSpeed(Line_Config config)
{
if (this.UpdownAxis_P1Speed <= 0)
{
this.UpdownAxis_P1Speed = config.UpdownAxis_P1Speed;
}
if (this.UpdownAxis_P2Speed <= 0)
{
this.UpdownAxis_P2Speed = config.UpdownAxis_P2Speed;
}
if (this.UpdownAxis_P3Speed <= 0)
{
this.UpdownAxis_P3Speed = config.UpdownAxis_P3Speed;
}
}
public Dictionary<string, int> LoadP2DetialMap()
{
try
......
......@@ -189,7 +189,21 @@ namespace OnlineStore.LoadCSVLibrary
public string UpDownP2DetialList { get; set; }
private Dictionary<string, int> UpdownP2DetialMap = null;
public void ConfigSpeed(Line_Config config)
{
if (this.UpdownAxis_P1Speed <= 0)
{
this.UpdownAxis_P1Speed = config.UpdownAxis_P1Speed;
}
if (this.UpdownAxis_P2Speed <= 0)
{
this.UpdownAxis_P2Speed = config.UpdownAxis_P2Speed;
}
if (this.UpdownAxis_P3Speed <= 0)
{
this.UpdownAxis_P3Speed = config.UpdownAxis_P3Speed;
}
}
public Dictionary<string, int> LoadP2DetialMap()
{
try
......
......@@ -53,7 +53,22 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("IO_DOLength",false )]
public string IO_DOLength { get; set; }
/// <summary>
/// PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
/// </summary>
[ConfigProAttribute("UpdownAxis_P1Speed", false)]
public int UpdownAxis_P1Speed { get; set; }
/// <summary>
/// PRO,0,移栽上下轴P2速度,UpdownAxis_P2Speed,500,,,,,
/// </summary>
[ConfigProAttribute("UpdownAxis_P2Speed", false)]
public int UpdownAxis_P2Speed { get; set; }
/// <summary>
/// PRO,0,移栽上下轴P3速度,UpdownAxis_P3Speed,500,,,,,
/// </summary>
[ConfigProAttribute("UpdownAxis_P3Speed", false)]
public int UpdownAxis_P3Speed { get; set; }
private Dictionary<string, ushort> DILengthMap = null;
......
......@@ -153,6 +153,22 @@ namespace OnlineStore.LoadCSVLibrary
UpDownP2DetialList = newPositionStr;
}
public void ConfigSpeed(Line_Config config)
{
if (this.UpdownAxis_P1Speed <= 0)
{
this.UpdownAxis_P1Speed = config.UpdownAxis_P1Speed;
}
if (this.UpdownAxis_P2Speed <= 0)
{
this.UpdownAxis_P2Speed = config.UpdownAxis_P2Speed;
}
if (this.UpdownAxis_P3Speed <= 0)
{
this.UpdownAxis_P3Speed = config.UpdownAxis_P3Speed;
}
}
///// <summary>s
///// PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!