Commit 2a83d3c4 张东亮

0428

1 个父辈 3c66cc7b
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<add key="AGVServerPort" value="9501"/> <add key="AGVServerPort" value="9501"/>
<add key="Use_Fleet" value="False"/> <add key="Use_Fleet" value="False"/>
<add key="ChargeThreshold" value="20,90"/> <add key="ChargeThreshold" value="20,90"/>
<add key="MixingString" value="B1,B2"/>
<add key="LimitPoints" value="0,0;0,0;0,0;0,0"/> <add key="LimitPoints" value="0,0;0,0;0,0;0,0"/>
</appSettings> </appSettings>
......
...@@ -55,8 +55,6 @@ ...@@ -55,8 +55,6 @@
this.tabPage3 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.richTextBox1 = new System.Windows.Forms.RichTextBox(); this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.tabControlAGV = new System.Windows.Forms.TabControl();
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
this.flowPanelKanBan = new System.Windows.Forms.FlowLayoutPanel(); this.flowPanelKanBan = new System.Windows.Forms.FlowLayoutPanel();
this.lblCharge1 = new System.Windows.Forms.Label(); this.lblCharge1 = new System.Windows.Forms.Label();
...@@ -78,7 +76,6 @@ ...@@ -78,7 +76,6 @@
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
this.tabPage3.SuspendLayout(); this.tabPage3.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.tableLayoutPanel4.SuspendLayout(); this.tableLayoutPanel4.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
...@@ -109,6 +106,7 @@ ...@@ -109,6 +106,7 @@
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1184, 450); this.tabControl1.Size = new System.Drawing.Size(1184, 450);
this.tabControl1.TabIndex = 7; this.tabControl1.TabIndex = 7;
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
// //
// tabPage1 // tabPage1
// //
...@@ -339,13 +337,12 @@ ...@@ -339,13 +337,12 @@
// tabPage3 // tabPage3
// //
this.tabPage3.Controls.Add(this.groupBox1); this.tabPage3.Controls.Add(this.groupBox1);
this.tabPage3.Controls.Add(this.groupBox2);
this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3"; this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3); this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(1176, 424); this.tabPage3.Size = new System.Drawing.Size(1176, 424);
this.tabPage3.TabIndex = 2; this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "AGV&日志"; this.tabPage3.Text = "日志";
this.tabPage3.UseVisualStyleBackColor = true; this.tabPage3.UseVisualStyleBackColor = true;
// //
// groupBox1 // groupBox1
...@@ -354,7 +351,7 @@ ...@@ -354,7 +351,7 @@
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(3, 3); this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(752, 418); this.groupBox1.Size = new System.Drawing.Size(1170, 418);
this.groupBox1.TabIndex = 33; this.groupBox1.TabIndex = 33;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "日志"; this.groupBox1.Text = "日志";
...@@ -364,32 +361,10 @@ ...@@ -364,32 +361,10 @@
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(3, 17); this.richTextBox1.Location = new System.Drawing.Point(3, 17);
this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(746, 398); this.richTextBox1.Size = new System.Drawing.Size(1164, 398);
this.richTextBox1.TabIndex = 0; this.richTextBox1.TabIndex = 0;
this.richTextBox1.Text = ""; this.richTextBox1.Text = "";
// //
// groupBox2
//
this.groupBox2.Controls.Add(this.tabControlAGV);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Right;
this.groupBox2.Location = new System.Drawing.Point(755, 3);
this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
this.groupBox2.Size = new System.Drawing.Size(418, 418);
this.groupBox2.TabIndex = 32;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "AGV手动";
//
// tabControlAGV
//
this.tabControlAGV.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlAGV.Location = new System.Drawing.Point(2, 16);
this.tabControlAGV.Name = "tabControlAGV";
this.tabControlAGV.SelectedIndex = 0;
this.tabControlAGV.Size = new System.Drawing.Size(414, 400);
this.tabControlAGV.TabIndex = 47;
//
// tableLayoutPanel4 // tableLayoutPanel4
// //
this.tableLayoutPanel4.ColumnCount = 1; this.tableLayoutPanel4.ColumnCount = 1;
...@@ -511,7 +486,6 @@ ...@@ -511,7 +486,6 @@
this.groupBox4.PerformLayout(); this.groupBox4.PerformLayout();
this.tabPage3.ResumeLayout(false); this.tabPage3.ResumeLayout(false);
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.tableLayoutPanel4.ResumeLayout(false); this.tableLayoutPanel4.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
...@@ -524,7 +498,6 @@ ...@@ -524,7 +498,6 @@
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4;
private System.Windows.Forms.FlowLayoutPanel flowPanelKanBan; private System.Windows.Forms.FlowLayoutPanel flowPanelKanBan;
private System.Windows.Forms.TabPage tabPage3; private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Label lblCharge1; private System.Windows.Forms.Label lblCharge1;
private System.Windows.Forms.Label lblCharge2; private System.Windows.Forms.Label lblCharge2;
private System.Windows.Forms.Label lblStandy1; private System.Windows.Forms.Label lblStandy1;
...@@ -532,7 +505,6 @@ ...@@ -532,7 +505,6 @@
private System.Windows.Forms.Label lblStandy3; private System.Windows.Forms.Label lblStandy3;
private System.Windows.Forms.Label lblStandy4; private System.Windows.Forms.Label lblStandy4;
private System.Windows.Forms.Label lblLimit; private System.Windows.Forms.Label lblLimit;
private System.Windows.Forms.TabControl tabControlAGV;
private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.RichTextBox richTextBox1; private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
......
...@@ -44,6 +44,7 @@ namespace AGVControl ...@@ -44,6 +44,7 @@ namespace AGVControl
} }
)); ));
} }
static Dictionary<string, Form> agvManual = new Dictionary<string, Form>();
private void ShowConfig() private void ShowConfig()
{ {
int n; int n;
...@@ -53,8 +54,10 @@ namespace AGVControl ...@@ -53,8 +54,10 @@ namespace AGVControl
if (input != null && input.Length == 4) if (input != null && input.Length == 4)
DeviceLibrary.Context.agvInfo[i].IsExistShelf = input[3]; DeviceLibrary.Context.agvInfo[i].IsExistShelf = input[3];
flowPanelKanBan.Controls.Add(DeviceLibrary.Context.agvInfo[i].StateKanban); flowPanelKanBan.Controls.Add(DeviceLibrary.Context.agvInfo[i].StateKanban);
AddForm(DeviceLibrary.Context.agvInfo[i].Name, new Manual(DeviceLibrary.Context.agvInfo[i])); //AddForm(DeviceLibrary.Context.agvInfo[i].Name, new Manual(DeviceLibrary.Context.agvInfo[i]));
DeviceLibrary.Context.agvInfo[i].StateKanban.Init(); DeviceLibrary.Context.agvInfo[i].StateKanban.Init();
Context.agvInfo[i].StateKanban.Click += StateKanban_Click;
agvManual.Add(DeviceLibrary.Context.agvInfo[i].Name, new Manual(DeviceLibrary.Context.agvInfo[i]));
} }
for (int i = 0; i < DeviceLibrary.Context.nodeInfo.Count; i++) for (int i = 0; i < DeviceLibrary.Context.nodeInfo.Count; i++)
...@@ -71,6 +74,25 @@ namespace AGVControl ...@@ -71,6 +74,25 @@ namespace AGVControl
} }
} }
private void StateKanban_Click(object sender, EventArgs e)
{
if (sender is AGV_UI.Status)
{
AGV_UI.Status status = (AGV_UI.Status)sender;
if (agvManual[status.AGVName].IsDisposed)
{
Agv_Info agv = Context.agvInfo.Find(s => s.Name.Equals(status.AGVName));
if(agv !=null)
{
agvManual[status.AGVName] = new Manual(agv);
agvManual[status.AGVName].Show();
}
}
else
agvManual[status.AGVName].Show();
}
}
private void ItemShow_Click(object sender, EventArgs e) private void ItemShow_Click(object sender, EventArgs e)
{ {
Show(); Show();
...@@ -129,8 +151,8 @@ namespace AGVControl ...@@ -129,8 +151,8 @@ namespace AGVControl
if (idx > -1) if (idx > -1)
{ {
DeviceLibrary.Context.nodeInfo[idx].Online = online; DeviceLibrary.Context.nodeInfo[idx].Online = online;
DeviceLibrary.Context.nodeInfo[idx].IsUse = online; bool isuse = DeviceLibrary.Context.nodeInfo[idx].IsUse;
DgvNode.Rows[idx].DefaultCellStyle.ForeColor = online ? Color.Black : Color.Red; DgvNode.Rows[idx].DefaultCellStyle.ForeColor = online && isuse ? Color.Black : Color.Red;
DgvNode.Rows[idx].SetValues(DeviceLibrary.Context.nodeInfo[idx].LineName, DeviceLibrary.Context.nodeInfo[idx].Action, DeviceLibrary.Context.nodeInfo[idx].Shelf, DeviceLibrary.Context.nodeInfo[idx].RFID, DeviceLibrary.Context.nodeInfo[idx].Online, DeviceLibrary.Context.nodeInfo[idx].IsUse); DgvNode.Rows[idx].SetValues(DeviceLibrary.Context.nodeInfo[idx].LineName, DeviceLibrary.Context.nodeInfo[idx].Action, DeviceLibrary.Context.nodeInfo[idx].Shelf, DeviceLibrary.Context.nodeInfo[idx].RFID, DeviceLibrary.Context.nodeInfo[idx].Online, DeviceLibrary.Context.nodeInfo[idx].IsUse);
} }
} }
...@@ -277,7 +299,7 @@ namespace AGVControl ...@@ -277,7 +299,7 @@ namespace AGVControl
//form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left))); //form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Show(); form.Show();
// tabPageList.Add(lineTabPage); // tabPageList.Add(lineTabPage);
tabControlAGV.Controls.Add(lineTabPage); //tabControlAGV.Controls.Add(lineTabPage);
} }
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
...@@ -298,5 +320,11 @@ namespace AGVControl ...@@ -298,5 +320,11 @@ namespace AGVControl
} }
textBox1.Text = ""; textBox1.Text = "";
} }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex == 1)
LogUtil.logBox = richTextBox1;
}
} }
} }
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
this.pictureBox2 = new System.Windows.Forms.PictureBox(); this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox3 = new System.Windows.Forms.PictureBox(); this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.pictureBox4 = new System.Windows.Forms.PictureBox(); this.pictureBox4 = new System.Windows.Forms.PictureBox();
this.btnExit = new System.Windows.Forms.Button();
this.panelInfo.SuspendLayout(); this.panelInfo.SuspendLayout();
this.grpBxRunMode.SuspendLayout(); this.grpBxRunMode.SuspendLayout();
this.grpBxOperation.SuspendLayout(); this.grpBxOperation.SuspendLayout();
...@@ -223,7 +224,6 @@ ...@@ -223,7 +224,6 @@
// //
// timer1 // timer1
// //
this.timer1.Enabled = true;
this.timer1.Interval = 1000; this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
// //
...@@ -360,11 +360,23 @@ ...@@ -360,11 +360,23 @@
this.pictureBox4.TabIndex = 3; this.pictureBox4.TabIndex = 3;
this.pictureBox4.TabStop = false; this.pictureBox4.TabStop = false;
// //
// btnExit
//
this.btnExit.Font = new System.Drawing.Font("宋体", 9F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExit.Location = new System.Drawing.Point(95, 307);
this.btnExit.Name = "btnExit";
this.btnExit.Size = new System.Drawing.Size(149, 40);
this.btnExit.TabIndex = 5;
this.btnExit.Text = "退出";
this.btnExit.UseVisualStyleBackColor = true;
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
//
// Manual // Manual
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(379, 319); this.ClientSize = new System.Drawing.Size(379, 354);
this.Controls.Add(this.btnExit);
this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox1);
this.Controls.Add(this.grpBxMission); this.Controls.Add(this.grpBxMission);
this.Controls.Add(this.grpBxOperation); this.Controls.Add(this.grpBxOperation);
...@@ -426,5 +438,6 @@ ...@@ -426,5 +438,6 @@
private System.Windows.Forms.PictureBox pictureBox2; private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox3; private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.PictureBox pictureBox4; private System.Windows.Forms.PictureBox pictureBox4;
private System.Windows.Forms.Button btnExit;
} }
} }
...@@ -31,6 +31,7 @@ namespace AGVControl ...@@ -31,6 +31,7 @@ namespace AGVControl
cmbBxMission.SelectedIndex = 0; cmbBxMission.SelectedIndex = 0;
InState.AddRange(new PictureBox[] { pictureBox1,pictureBox2,pictureBox3,pictureBox4}); InState.AddRange(new PictureBox[] { pictureBox1,pictureBox2,pictureBox3,pictureBox4});
OutState.AddRange(new PictureBox[] { pictureBox5, pictureBox6, pictureBox7, pictureBox8 }); OutState.AddRange(new PictureBox[] { pictureBox5, pictureBox6, pictureBox7, pictureBox8 });
timer1.Enabled = true;
isInit = true; isInit = true;
} }
...@@ -166,7 +167,9 @@ namespace AGVControl ...@@ -166,7 +167,9 @@ namespace AGVControl
private void btnExit_Click(object sender, EventArgs e) private void btnExit_Click(object sender, EventArgs e)
{ {
timer1.Enabled = false;
Close(); Close();
Dispose();
} }
List<PictureBox> InState = new List<PictureBox>(); List<PictureBox> InState = new List<PictureBox>();
List<PictureBox> OutState = new List<PictureBox>(); List<PictureBox> OutState = new List<PictureBox>();
......
...@@ -5,11 +5,11 @@ using System.Runtime.InteropServices; ...@@ -5,11 +5,11 @@ using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下 // 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改 // 控制。更改这些特性值可修改
// 与程序集关联的信息。 // 与程序集关联的信息。
[assembly: AssemblyTitle("AGVControl-ProductionLine")] [assembly: AssemblyTitle("AGVDispatch")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AGVControl-ProductionLine")] [assembly: AssemblyProduct("AGVDispatch")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
// picBxConn // picBxConn
// //
this.picBxConn.Dock = System.Windows.Forms.DockStyle.Left; this.picBxConn.Dock = System.Windows.Forms.DockStyle.Left;
this.picBxConn.Image = global::AGV_UI.Properties.Resources.offline; this.picBxConn.Image = ((System.Drawing.Image)(resources.GetObject("picBxConn.Image")));
this.picBxConn.Location = new System.Drawing.Point(0, 0); this.picBxConn.Location = new System.Drawing.Point(0, 0);
this.picBxConn.Name = "picBxConn"; this.picBxConn.Name = "picBxConn";
this.picBxConn.Size = new System.Drawing.Size(51, 47); this.picBxConn.Size = new System.Drawing.Size(51, 47);
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
// //
this.lblAGVState.Dock = System.Windows.Forms.DockStyle.Right; this.lblAGVState.Dock = System.Windows.Forms.DockStyle.Right;
this.lblAGVState.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblAGVState.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblAGVState.Image = global::AGV_UI.Properties.Resources.Unknown; this.lblAGVState.Image = ((System.Drawing.Image)(resources.GetObject("lblAGVState.Image")));
this.lblAGVState.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.lblAGVState.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblAGVState.Location = new System.Drawing.Point(160, 0); this.lblAGVState.Location = new System.Drawing.Point(160, 0);
this.lblAGVState.Name = "lblAGVState"; this.lblAGVState.Name = "lblAGVState";
...@@ -118,14 +118,14 @@ ...@@ -118,14 +118,14 @@
// //
this.lblTask.Dock = System.Windows.Forms.DockStyle.Left; this.lblTask.Dock = System.Windows.Forms.DockStyle.Left;
this.lblTask.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblTask.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblTask.Image = global::AGV_UI.Properties.Resources.task; this.lblTask.Image = ((System.Drawing.Image)(resources.GetObject("lblTask.Image")));
this.lblTask.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.lblTask.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblTask.Location = new System.Drawing.Point(0, 0); this.lblTask.Location = new System.Drawing.Point(0, 0);
this.lblTask.Name = "lblTask"; this.lblTask.Name = "lblTask";
this.lblTask.Size = new System.Drawing.Size(216, 50); this.lblTask.Size = new System.Drawing.Size(154, 50);
this.lblTask.TabIndex = 0; this.lblTask.TabIndex = 0;
this.lblTask.Text = "无任务"; this.lblTask.Text = "无任务";
this.lblTask.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblTask.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
// //
// flowPanelMissionState // flowPanelMissionState
// //
...@@ -136,6 +136,7 @@ ...@@ -136,6 +136,7 @@
this.flowPanelMissionState.Name = "flowPanelMissionState"; this.flowPanelMissionState.Name = "flowPanelMissionState";
this.flowPanelMissionState.Size = new System.Drawing.Size(287, 230); this.flowPanelMissionState.Size = new System.Drawing.Size(287, 230);
this.flowPanelMissionState.TabIndex = 2; this.flowPanelMissionState.TabIndex = 2;
this.flowPanelMissionState.Click += new System.EventHandler(this.flowPanelMissionState_Click);
// //
// Status // Status
// //
......
...@@ -129,5 +129,9 @@ namespace AGV_UI ...@@ -129,5 +129,9 @@ namespace AGV_UI
)); ));
} }
private void flowPanelMissionState_Click(object sender, EventArgs e)
{
this.OnClick(e);
}
} }
} }
...@@ -128,4 +128,50 @@ ...@@ -128,4 +128,50 @@
QmCC QmCC
</value> </value>
</data> </data>
<data name="picBxConn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAJgSURBVFhH7Ze7axRRFIfXFygqmiKCaWwMaGVhJZr4bhWs9C9IFCxs1EZBRfMoTGmlrZ1/gq/G
YCn4BlGCIL5AfCuov+/svd6zN7MzbHazSZEPPmbPmcnMmbnn3pnUFsgYlr31n93nmPwrH8g5KWKtvC8p
4qnsk12HO+cJzMaTOCwX13+WMxtFnJKc77xFJfSEbaeL2C9/yz/yIIki1sg38ohFnS/iuORcr+RyEjnn
JAfctKhOO0VsCNvIIhmb/AQJzzLJ3bNzkIRjJkVckB/kRosSDAXn4VpLSEQOSHY8tGg6rRTBnd6QHHub
RAbXYN+ARYEJSfKsRYmdkuKglSLop3eSY3eTcIxJ8uMWBe5JknstSlyVP+U2ixqLeCs/ypfykmQYPWck
x12xKLFPkr9jUeC1JLneosQTSX6HRXUoIvaL96L0bJHkH1mU6Jfkn1kU+CZJ5tPjiyTPI/Vskt8l+16E
7ZT0rJbkP1mUWCXJf7YoEC+00qLEV0l+nUWNUERsKKTrPYUXEoWFPZck82kTh2CrRdPxT4Km840Zh+Cx
RYk4BLzw/nNXktxjUeKaJE/nNmOzjD3hZ0dVE96yKHBZkhyxKMEUIs8F8j7w+NnBlidZNQ0bmnaXJJkv
RCwqLM3sux7iZvgifoRt2UK03aLAUvlesiMfBu6G+V75KhW+CIzrR6TpUgynJTsnZX6n+YuljHw4Yk+U
voxghWQuc8AQiTYoKqLydQyHJB8Nv2S+LLeKL4JpXvlBEqE7+aOTFrWHLwJHZSV8OPIB2SmKhqPrzLtP
/qMk5gKK4N+/BQK12j/uTcqYd/4INwAAAABJRU5ErkJggg==
</value>
</data>
<data name="lblAGVState.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAIsSURBVFhH7ZXbS8MwFMb3v+0P9AZThoIiw9vEBwXBKYKoQ0XUFweK4AVvjE0GQpOmacw57Rlr
U222PriHfPDR9Zyv6a9tkpWcnJws1CyX1Tg6xosAvYmJsbIDLGoHWNQOsKhzAf1GQ8nPTzTf2jL6YLaw
0M94k5OZmUHLh4co//ycm88FFKenihR+fytWqRgZtrgYJ5TypqaM/qD56mqcjPTbQ5OHAgQF19dGZhhA
uB4Udjp4DFqtzBzZGlC+vOjRAj1yqPjaWiJjDTg9rULPw5y/vY1HJYTyMr4K2RowuLtTotnE3/D03sxM
P2ML6O/sYEa+v+M5vUWY5+ks2R7w/h5vDpMbJC4u+hlbQPn4iBn/8BDPxfExnsu3NyNLHg5Qn7PlZT2i
RPNaLapZALL5eZweYFatRjW9+klsacm4Bjw0INbOzrAWttsIZAPYf1uwtQzU4e2BxPl5ok4eCRDmX9jt
Yl0cHVkB0nyTr684PcgEGPZ6mXviaIDafH09+mR6FfJ6HTOgLEC+shJ3/xaMk752ZEAw7Wm0cEBZgMHN
DfZg9fLNTcPy4wP7we2tcW0hQPzUX1/YJxmAOqM4x56/v5/sxfYPDrCftScWA9TmGxvYJ6UB/d3dqKFX
PZubS/TIbHZW30D/CWj5e3uJXi4g3EA+PeEmne6RYVVDBpye6OLkBOvB1VWinra4vIzuo8carOcC/rcd
YFE7wKJ2gEVtAI6jYzwnJ6ffVSr9APX72FNpHTfwAAAAAElFTkSuQmCC
</value>
</data>
<data name="lblTask.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAIuSURBVGhD7Zq9TlRRFIVvo7UghPgCYEIg8bmIj4EaYsIL2FlaUFFCA53xpzDRThs1IVQ0SChw
beJOjpc1M3fNXsAU8yVfMZx7vtknM8xkJtPN+Z8deA6vRGPPKzgzXEA26BD/wFvlAXwJf0A2QJiwNcWE
rYUxwwsYM8nEIVi0NWFriglba92GMr8gi7UmbE0xYWutP6EMC/VN2Jpiwtb6yrBI34StKSZsra+MErmt
Vy12vYwSifeRS8j2jDP2jHsfYXtkLJEilhkskSKWGSyRIpYZLJEilhkskSKWGSyRIpYZLJEilhkskREs
wz14Co/hKmRYZrBERnAI2+4RZLTXpDKWyAjW4QnM7hlktPedylgiDYtwH65d3+q6TRhPrei+iz8Q+vcf
ylgi/3gMP8JoxOecpzB4BuNptXR96yb9+w9lLBHwBH6FbSeeVhtwEu2eVMYRiUfiE2StAzgJtk+mGmGP
RPoeLsBJsL0ylYjjEAHbLzNtJA7xDbL9yiEC1pCZJuI8RMA6MmrEfYiAtWSUyKRDPILTwHoyQyPxEvsZ
suu/wBU4LawpMzSyBdm1lUciYV2ZoZE3sH+d4xBBvxvKDI18gO01rkMEbTeVGRr5DuMf/S18DuNDk4uh
M4zFEilimcESKWKZwRIpYpnBEilimcESKWKZwRIpYpnBEilimYFFZkEZFpkFZX5DFrpP43swmSE/GLhr
X0OZ/AlH+9XmfRlfqe7Ch3DOnLuj6/4CuzhP2xu9LUAAAAAASUVORK5CYII=
</value>
</data>
</root> </root>
\ No newline at end of file \ No newline at end of file
...@@ -64,22 +64,22 @@ namespace Common ...@@ -64,22 +64,22 @@ namespace Common
public const string A3 = "A3"; public const string A3 = "A3";
/// <summary> /// <summary>
/// 料仓1入口 /// 7寸盘入口
/// </summary> /// </summary>
public const string D1 = "D1"; public const string D1 = "D1";
/// <summary> /// <summary>
/// 料仓1出口 /// 7寸盘出口
/// </summary> /// </summary>
public const string D2 = "D2"; public const string D2 = "D2";
/// <summary> /// <summary>
/// 料仓2入口 /// 混合料仓入口
/// </summary> /// </summary>
public const string D3 = "D3"; public const string D3 = "D3";
/// <summary> /// <summary>
/// 料仓2出口 /// 混合料仓出口
/// </summary> /// </summary>
public const string D4 = "D4"; public const string D4 = "D4";
...@@ -88,5 +88,6 @@ namespace Common ...@@ -88,5 +88,6 @@ namespace Common
public const string AGVServerPort = "AGVServerPort"; public const string AGVServerPort = "AGVServerPort";
public const string Use_Fleet = "Use_Fleet"; public const string Use_Fleet = "Use_Fleet";
public const string log4net_configname = "log4net_configname"; public const string log4net_configname = "log4net_configname";
public const string MixingString = "MixingString";
} }
} }
...@@ -222,8 +222,11 @@ namespace DeviceLibrary ...@@ -222,8 +222,11 @@ namespace DeviceLibrary
{ {
if (JobType.FindNeedEnterMission(currentAgv, SettingString.D1,false)) if (JobType.FindNeedEnterMission(currentAgv, SettingString.D1,false))
{ {
tarPlace = SettingString.D1; if(!BoxInJobType.IsMixString(RFID))
return true; {
tarPlace = SettingString.D1;
return true;
}
} }
if (JobType.FindNeedEnterMission(currentAgv, SettingString.D3, false)) if (JobType.FindNeedEnterMission(currentAgv, SettingString.D3, false))
{ {
......
 
using Common; using Common;
using System.Collections.Generic;
namespace DeviceLibrary namespace DeviceLibrary
{ {
...@@ -9,6 +10,7 @@ namespace DeviceLibrary ...@@ -9,6 +10,7 @@ namespace DeviceLibrary
/// </summary> /// </summary>
public class BoxInJobType : JobType public class BoxInJobType : JobType
{ {
static string[] mixString = AppConfigHelper.GetValue(SettingString.MixingString).Split(',');
/// <summary> /// <summary>
/// 料仓料串任务 /// 料仓料串任务
...@@ -25,9 +27,9 @@ namespace DeviceLibrary ...@@ -25,9 +27,9 @@ namespace DeviceLibrary
//检查设备1入口需要空料串用作出库 //检查设备1入口需要空料串用作出库
if (FindNeedEnterMission(currentAgv, SettingString.D1, true)) if (FindNeedEnterMission(currentAgv, SettingString.D1, true))
{ {
if(FindNeedLeaveMission(currentAgv,SettingString.A1,out rfid,true)) if (FindNeedLeaveMission(currentAgv, SettingString.A1, out rfid, true))
{ {
LogUtil.info(string.Format("{0} [{1}]需要空料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1,SettingString.A1, rfid)); LogUtil.info(string.Format("{0} [{1}]需要空料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1, SettingString.A1, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A1, rfid, false); return new GetShelfJob(currentAgv.Place, SettingString.A1, rfid, false);
} }
} }
...@@ -43,30 +45,41 @@ namespace DeviceLibrary ...@@ -43,30 +45,41 @@ namespace DeviceLibrary
} }
//混合仓入口需要满料
//检查设备1入口需要满料 if (FindNeedEnterMission(currentAgv, SettingString.D3, false))
if (FindNeedEnterMission(currentAgv, SettingString.D1, false))
{ {
if(FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid,false)) if (FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid, false))
{ {
LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1, SettingString.A3, rfid)); LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D3, SettingString.A3, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true); return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true);
} }
} }
//检查设备2入口需要满料 //7寸盘入口需要满料
if (FindNeedEnterMission(currentAgv, SettingString.D3, false)) if (FindNeedEnterMission(currentAgv, SettingString.D1, false))
{ {
if (FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid, false)) if (FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid, false))
{ {
LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D3, SettingString.A3, rfid)); if (IsMixString(rfid))
return null;
LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1, SettingString.A3, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true); return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true);
} }
} }
return null; return null;
} }
public static bool IsMixString(string rfid)
{
if (mixString != null && mixString.Length > 0)
foreach (string item in mixString)
{
if (item.Equals(rfid))
return true;
}
return false;
}
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!