Commit 132ba046 张东亮

添加调试状态

1 个父辈 685b768b
...@@ -44,12 +44,13 @@ ...@@ -44,12 +44,13 @@
this.tblLayoutUnlock = new System.Windows.Forms.TableLayoutPanel(); this.tblLayoutUnlock = new System.Windows.Forms.TableLayoutPanel();
this.dgvInfos = new System.Windows.Forms.DataGridView(); this.dgvInfos = new System.Windows.Forms.DataGridView();
this.tabPage3 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage();
this.lblShow = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.tabControlManual = new System.Windows.Forms.TabControl(); this.tabControlManual = new System.Windows.Forms.TabControl();
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.txtShow = new System.Windows.Forms.TextBox();
this.tableLayoutPanel3.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
...@@ -66,6 +67,7 @@ ...@@ -66,6 +67,7 @@
this.tabPage3.SuspendLayout(); this.tabPage3.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.tableLayoutPanel4.SuspendLayout(); this.tableLayoutPanel4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// tableLayoutPanel3 // tableLayoutPanel3
...@@ -91,6 +93,7 @@ ...@@ -91,6 +93,7 @@
this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage4); this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage5);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(3, 418); this.tabControl1.Location = new System.Drawing.Point(3, 418);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
...@@ -105,7 +108,7 @@ ...@@ -105,7 +108,7 @@
this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3); this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(1756, 347); this.tabPage2.Size = new System.Drawing.Size(1270, 282);
this.tabPage2.TabIndex = 3; this.tabPage2.TabIndex = 3;
this.tabPage2.Text = "日志"; this.tabPage2.Text = "日志";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
...@@ -122,7 +125,7 @@ ...@@ -122,7 +125,7 @@
this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1750, 341); this.tableLayoutPanel1.Size = new System.Drawing.Size(1264, 276);
this.tableLayoutPanel1.TabIndex = 6; this.tableLayoutPanel1.TabIndex = 6;
// //
// richTextBox1 // richTextBox1
...@@ -130,7 +133,7 @@ ...@@ -130,7 +133,7 @@
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(3, 3); this.richTextBox1.Location = new System.Drawing.Point(3, 3);
this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(1744, 335); this.richTextBox1.Size = new System.Drawing.Size(1258, 270);
this.richTextBox1.TabIndex = 7; this.richTextBox1.TabIndex = 7;
this.richTextBox1.Text = ""; this.richTextBox1.Text = "";
// //
...@@ -140,7 +143,7 @@ ...@@ -140,7 +143,7 @@
this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(1756, 347); this.tabPage1.Size = new System.Drawing.Size(1270, 282);
this.tabPage1.TabIndex = 0; this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "节点状态"; this.tabPage1.Text = "节点状态";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
...@@ -157,7 +160,7 @@ ...@@ -157,7 +160,7 @@
this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1; this.tableLayoutPanel2.RowCount = 1;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(1750, 341); this.tableLayoutPanel2.Size = new System.Drawing.Size(1264, 276);
this.tableLayoutPanel2.TabIndex = 34; this.tableLayoutPanel2.TabIndex = 34;
// //
// DgvNode // DgvNode
...@@ -178,7 +181,7 @@ ...@@ -178,7 +181,7 @@
this.DgvNode.RowHeadersVisible = false; this.DgvNode.RowHeadersVisible = false;
this.DgvNode.RowHeadersWidth = 50; this.DgvNode.RowHeadersWidth = 50;
this.DgvNode.RowTemplate.Height = 23; this.DgvNode.RowTemplate.Height = 23;
this.DgvNode.Size = new System.Drawing.Size(1744, 335); this.DgvNode.Size = new System.Drawing.Size(1258, 270);
this.DgvNode.TabIndex = 1; this.DgvNode.TabIndex = 1;
this.DgvNode.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvNode_CellClick); this.DgvNode.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvNode_CellClick);
// //
...@@ -187,7 +190,7 @@ ...@@ -187,7 +190,7 @@
this.tabPage4.Controls.Add(this.groupBox1); this.tabPage4.Controls.Add(this.groupBox1);
this.tabPage4.Location = new System.Drawing.Point(4, 22); this.tabPage4.Location = new System.Drawing.Point(4, 22);
this.tabPage4.Name = "tabPage4"; this.tabPage4.Name = "tabPage4";
this.tabPage4.Size = new System.Drawing.Size(1756, 347); this.tabPage4.Size = new System.Drawing.Size(1270, 282);
this.tabPage4.TabIndex = 4; this.tabPage4.TabIndex = 4;
this.tabPage4.Text = "任务信息"; this.tabPage4.Text = "任务信息";
this.tabPage4.UseVisualStyleBackColor = true; this.tabPage4.UseVisualStyleBackColor = true;
...@@ -201,7 +204,7 @@ ...@@ -201,7 +204,7 @@
this.groupBox1.Margin = new System.Windows.Forms.Padding(2); this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2); this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
this.groupBox1.Size = new System.Drawing.Size(1756, 347); this.groupBox1.Size = new System.Drawing.Size(1270, 282);
this.groupBox1.TabIndex = 34; this.groupBox1.TabIndex = 34;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
// //
...@@ -216,8 +219,8 @@ ...@@ -216,8 +219,8 @@
this.tableLayoutPanel5.Name = "tableLayoutPanel5"; this.tableLayoutPanel5.Name = "tableLayoutPanel5";
this.tableLayoutPanel5.RowCount = 1; this.tableLayoutPanel5.RowCount = 1;
this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 326F)); this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 261F));
this.tableLayoutPanel5.Size = new System.Drawing.Size(1752, 326); this.tableLayoutPanel5.Size = new System.Drawing.Size(1266, 261);
this.tableLayoutPanel5.TabIndex = 2; this.tableLayoutPanel5.TabIndex = 2;
// //
// grpUnlock // grpUnlock
...@@ -227,7 +230,7 @@ ...@@ -227,7 +230,7 @@
this.grpUnlock.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.grpUnlock.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.grpUnlock.Location = new System.Drawing.Point(3, 3); this.grpUnlock.Location = new System.Drawing.Point(3, 3);
this.grpUnlock.Name = "grpUnlock"; this.grpUnlock.Name = "grpUnlock";
this.grpUnlock.Size = new System.Drawing.Size(1746, 320); this.grpUnlock.Size = new System.Drawing.Size(1260, 255);
this.grpUnlock.TabIndex = 4; this.grpUnlock.TabIndex = 4;
this.grpUnlock.TabStop = false; this.grpUnlock.TabStop = false;
this.grpUnlock.Text = "任务信息"; this.grpUnlock.Text = "任务信息";
...@@ -244,7 +247,7 @@ ...@@ -244,7 +247,7 @@
this.tblLayoutUnlock.Name = "tblLayoutUnlock"; this.tblLayoutUnlock.Name = "tblLayoutUnlock";
this.tblLayoutUnlock.RowCount = 1; this.tblLayoutUnlock.RowCount = 1;
this.tblLayoutUnlock.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tblLayoutUnlock.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tblLayoutUnlock.Size = new System.Drawing.Size(1740, 298); this.tblLayoutUnlock.Size = new System.Drawing.Size(1254, 233);
this.tblLayoutUnlock.TabIndex = 1; this.tblLayoutUnlock.TabIndex = 1;
// //
// dgvInfos // dgvInfos
...@@ -258,13 +261,12 @@ ...@@ -258,13 +261,12 @@
this.dgvInfos.ReadOnly = true; this.dgvInfos.ReadOnly = true;
this.dgvInfos.RowHeadersVisible = false; this.dgvInfos.RowHeadersVisible = false;
this.dgvInfos.RowTemplate.Height = 23; this.dgvInfos.RowTemplate.Height = 23;
this.dgvInfos.Size = new System.Drawing.Size(1734, 292); this.dgvInfos.Size = new System.Drawing.Size(1248, 227);
this.dgvInfos.TabIndex = 0; this.dgvInfos.TabIndex = 0;
this.dgvInfos.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvInfos_CellContentClick); this.dgvInfos.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvInfos_CellContentClick);
// //
// tabPage3 // tabPage3
// //
this.tabPage3.Controls.Add(this.lblShow);
this.tabPage3.Controls.Add(this.label12); this.tabPage3.Controls.Add(this.label12);
this.tabPage3.Controls.Add(this.groupBox2); this.tabPage3.Controls.Add(this.groupBox2);
this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Location = new System.Drawing.Point(4, 22);
...@@ -275,15 +277,6 @@ ...@@ -275,15 +277,6 @@
this.tabPage3.Text = "手动"; this.tabPage3.Text = "手动";
this.tabPage3.UseVisualStyleBackColor = true; this.tabPage3.UseVisualStyleBackColor = true;
// //
// lblShow
//
this.lblShow.Dock = System.Windows.Forms.DockStyle.Left;
this.lblShow.Location = new System.Drawing.Point(253, 3);
this.lblShow.Name = "lblShow";
this.lblShow.Size = new System.Drawing.Size(420, 276);
this.lblShow.TabIndex = 47;
this.lblShow.Text = resources.GetString("lblShow.Text");
//
// label12 // label12
// //
this.label12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); this.label12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
...@@ -293,18 +286,19 @@ ...@@ -293,18 +286,19 @@
this.label12.Size = new System.Drawing.Size(250, 276); this.label12.Size = new System.Drawing.Size(250, 276);
this.label12.TabIndex = 46; this.label12.TabIndex = 46;
this.label12.Text = "说明:\r\n·小车/任务状态:\r\n Wait=已发送任务,还未获取到最新状态\r\n Executing=正在执行任务\r\n None=空闲状态\r\n " + this.label12.Text = "说明:\r\n·小车/任务状态:\r\n Wait=已发送任务,还未获取到最新状态\r\n Executing=正在执行任务\r\n None=空闲状态\r\n " +
" Done=任务完成\r\n Aborted=任务中止\r\n Unknown=软件获取小车状态失败\r\n\r\n"; " Done=任务完成\r\n Aborted=任务中止\r\n Unknown=软件获取小车状态失败\r\n·小车调试状态\r\n 开启时,小车只会执行充电或待机" +
"任务。\r\n 关闭时,AGV可以正常执行任务";
// //
// groupBox2 // groupBox2
// //
this.groupBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); this.groupBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.groupBox2.Controls.Add(this.tabControlManual); this.groupBox2.Controls.Add(this.tabControlManual);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Right; this.groupBox2.Dock = System.Windows.Forms.DockStyle.Right;
this.groupBox2.Location = new System.Drawing.Point(839, 3); this.groupBox2.Location = new System.Drawing.Point(838, 3);
this.groupBox2.Margin = new System.Windows.Forms.Padding(2); this.groupBox2.Margin = new System.Windows.Forms.Padding(2);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(2); this.groupBox2.Padding = new System.Windows.Forms.Padding(2);
this.groupBox2.Size = new System.Drawing.Size(428, 276); this.groupBox2.Size = new System.Drawing.Size(429, 276);
this.groupBox2.TabIndex = 32; this.groupBox2.TabIndex = 32;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "小车操作"; this.groupBox2.Text = "小车操作";
...@@ -315,7 +309,7 @@ ...@@ -315,7 +309,7 @@
this.tabControlManual.Location = new System.Drawing.Point(2, 16); this.tabControlManual.Location = new System.Drawing.Point(2, 16);
this.tabControlManual.Name = "tabControlManual"; this.tabControlManual.Name = "tabControlManual";
this.tabControlManual.SelectedIndex = 0; this.tabControlManual.SelectedIndex = 0;
this.tabControlManual.Size = new System.Drawing.Size(424, 258); this.tabControlManual.Size = new System.Drawing.Size(425, 258);
this.tabControlManual.TabIndex = 0; this.tabControlManual.TabIndex = 0;
// //
// tableLayoutPanel4 // tableLayoutPanel4
...@@ -342,6 +336,25 @@ ...@@ -342,6 +336,25 @@
this.flowLayoutPanel1.Size = new System.Drawing.Size(1274, 405); this.flowLayoutPanel1.Size = new System.Drawing.Size(1274, 405);
this.flowLayoutPanel1.TabIndex = 0; this.flowLayoutPanel1.TabIndex = 0;
// //
// tabPage5
//
this.tabPage5.Controls.Add(this.txtShow);
this.tabPage5.Location = new System.Drawing.Point(4, 22);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Size = new System.Drawing.Size(1270, 282);
this.tabPage5.TabIndex = 5;
this.tabPage5.Text = "AGV定时上报内容";
this.tabPage5.UseVisualStyleBackColor = true;
//
// txtShow
//
this.txtShow.Dock = System.Windows.Forms.DockStyle.Fill;
this.txtShow.Location = new System.Drawing.Point(0, 0);
this.txtShow.Multiline = true;
this.txtShow.Name = "txtShow";
this.txtShow.Size = new System.Drawing.Size(1270, 282);
this.txtShow.TabIndex = 0;
//
// FrmMain // FrmMain
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
...@@ -370,6 +383,8 @@ ...@@ -370,6 +383,8 @@
this.tabPage3.ResumeLayout(false); this.tabPage3.ResumeLayout(false);
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
this.tableLayoutPanel4.ResumeLayout(false); this.tableLayoutPanel4.ResumeLayout(false);
this.tabPage5.ResumeLayout(false);
this.tabPage5.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
...@@ -395,7 +410,8 @@ ...@@ -395,7 +410,8 @@
private System.Windows.Forms.GroupBox grpUnlock; private System.Windows.Forms.GroupBox grpUnlock;
private System.Windows.Forms.TableLayoutPanel tblLayoutUnlock; private System.Windows.Forms.TableLayoutPanel tblLayoutUnlock;
private System.Windows.Forms.DataGridView dgvInfos; private System.Windows.Forms.DataGridView dgvInfos;
private System.Windows.Forms.Label lblShow; private System.Windows.Forms.TabPage tabPage5;
private System.Windows.Forms.TextBox txtShow;
} }
} }
...@@ -110,7 +110,6 @@ namespace AGVControl ...@@ -110,7 +110,6 @@ namespace AGVControl
//托盘控件 //托盘控件
notify = new NotifyIcon { Icon = Icon, Visible = true, ContextMenuStrip = notifyMenu, Text = Text }; notify = new NotifyIcon { Icon = Icon, Visible = true, ContextMenuStrip = notifyMenu, Text = Text };
notify.MouseDoubleClick += Notify_MouseDoubleClick; notify.MouseDoubleClick += Notify_MouseDoubleClick;
ShowConfig(); ShowConfig();
NodeManager.RegisEvent(Server_NodeChanged, Server_NodeOnline); NodeManager.RegisEvent(Server_NodeChanged, Server_NodeOnline);
} }
...@@ -156,7 +155,7 @@ namespace AGVControl ...@@ -156,7 +155,7 @@ namespace AGVControl
Invoke(new Action(() => Invoke(new Action(() =>
{ {
lblShow.Text = DeviceLibrary.HttpManager.Agvtransinfo; txtShow.Text = DeviceLibrary.HttpManager.Agvtransinfo;
})); }));
...@@ -191,23 +190,10 @@ namespace AGVControl ...@@ -191,23 +190,10 @@ namespace AGVControl
LogUtil.logBox = this.richTextBox1; LogUtil.logBox = this.richTextBox1;
} }
} }
int missionCurRow = 0, missionCurColum = 0;
private void dgvInfos_CellContentClick(object sender, DataGridViewCellEventArgs e) private void dgvInfos_CellContentClick(object sender, DataGridViewCellEventArgs e)
{ {
if (e.RowIndex == -1) if (e.RowIndex == -1)
return; return;
missionCurColum = e.ColumnIndex;
missionCurRow = e.RowIndex;
}
private void dgvInfos_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
HttpManager.UpdateStatusToLift(new DeviceLibrary.lift.ClientStatus() { liftId = "D2", sourceClient = "4D", hasIdleAgv = true });
} }
} }
......
...@@ -117,9 +117,6 @@ ...@@ -117,9 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="lblShow.Text" xml:space="preserve">
<value>[2021-12-28 16:17:29,631][162][HttpManager:282]ERROR AgvReportState fail[http://10.85.17.233/ESMTCommonInterface/CommonService.asmx/UpdateAgvtransinfo]:[[{"agvNum":"2号车","workshop":"4D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""},{"agvNum":"7号车","workshop":"4D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""},{"agvNum":"17号车","workshop":"3D","battery":0,"position":{"Point":{"IsEmpty":true,"X":0.0,"Y":0.0},"orientation":0.0},"state":null,"missionId":null,"remark":null,"curTarget":null,"statusTxt":""}]][]</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
......
...@@ -33,28 +33,29 @@ ...@@ -33,28 +33,29 @@
this.panelInfo = new System.Windows.Forms.Panel(); this.panelInfo = new System.Windows.Forms.Panel();
this.lblInfo = new System.Windows.Forms.Label(); this.lblInfo = new System.Windows.Forms.Label();
this.grpBxRunMode = new System.Windows.Forms.GroupBox(); this.grpBxRunMode = new System.Windows.Forms.GroupBox();
this.btnAssignTask = new System.Windows.Forms.Button();
this.chkBxAuto = new System.Windows.Forms.CheckBox(); this.chkBxAuto = new System.Windows.Forms.CheckBox();
this.cmbBxMission = new System.Windows.Forms.ComboBox();
this.btnReSendTask = new System.Windows.Forms.Button(); this.btnReSendTask = new System.Windows.Forms.Button();
this.grpBxOperation = new System.Windows.Forms.GroupBox(); this.grpBxOperation = new System.Windows.Forms.GroupBox();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.btnReady = new System.Windows.Forms.Button(); this.btnReady = new System.Windows.Forms.Button();
this.btnPause = new System.Windows.Forms.Button(); this.btnPause = new System.Windows.Forms.Button();
this.btnClearErr = new System.Windows.Forms.Button(); this.btnClearErr = new System.Windows.Forms.Button();
this.btnAssignTask = new System.Windows.Forms.Button();
this.cmbBxMission = new System.Windows.Forms.ComboBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel(); this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox();
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.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
this.pictureBox5 = new System.Windows.Forms.PictureBox(); this.pictureBox5 = new System.Windows.Forms.PictureBox();
this.pictureBox6 = new System.Windows.Forms.PictureBox(); this.pictureBox6 = new System.Windows.Forms.PictureBox();
this.pictureBox7 = new System.Windows.Forms.PictureBox(); this.pictureBox7 = new System.Windows.Forms.PictureBox();
this.pictureBox8 = new System.Windows.Forms.PictureBox(); this.pictureBox8 = new System.Windows.Forms.PictureBox();
this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1 = new System.Windows.Forms.Timer(this.components);
this.chkDebug = new System.Windows.Forms.CheckBox();
this.panelInfo.SuspendLayout(); this.panelInfo.SuspendLayout();
this.grpBxRunMode.SuspendLayout(); this.grpBxRunMode.SuspendLayout();
this.grpBxOperation.SuspendLayout(); this.grpBxOperation.SuspendLayout();
...@@ -62,11 +63,11 @@ ...@@ -62,11 +63,11 @@
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout();
this.flowLayoutPanel2.SuspendLayout(); this.flowLayoutPanel2.SuspendLayout();
this.flowLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
this.flowLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit();
...@@ -96,9 +97,8 @@ ...@@ -96,9 +97,8 @@
// //
// grpBxRunMode // grpBxRunMode
// //
this.grpBxRunMode.Controls.Add(this.btnAssignTask); this.grpBxRunMode.Controls.Add(this.chkDebug);
this.grpBxRunMode.Controls.Add(this.chkBxAuto); this.grpBxRunMode.Controls.Add(this.chkBxAuto);
this.grpBxRunMode.Controls.Add(this.cmbBxMission);
this.grpBxRunMode.Dock = System.Windows.Forms.DockStyle.Top; this.grpBxRunMode.Dock = System.Windows.Forms.DockStyle.Top;
this.grpBxRunMode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.grpBxRunMode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.grpBxRunMode.Location = new System.Drawing.Point(0, 43); this.grpBxRunMode.Location = new System.Drawing.Point(0, 43);
...@@ -108,10 +108,20 @@ ...@@ -108,10 +108,20 @@
this.grpBxRunMode.TabStop = false; this.grpBxRunMode.TabStop = false;
this.grpBxRunMode.Text = "模式选择"; this.grpBxRunMode.Text = "模式选择";
// //
// btnAssignTask
//
this.btnAssignTask.Location = new System.Drawing.Point(168, 70);
this.btnAssignTask.Name = "btnAssignTask";
this.btnAssignTask.Size = new System.Drawing.Size(88, 35);
this.btnAssignTask.TabIndex = 1;
this.btnAssignTask.Text = "发任务";
this.btnAssignTask.UseVisualStyleBackColor = true;
this.btnAssignTask.Click += new System.EventHandler(this.btnAssignTask_Click);
//
// chkBxAuto // chkBxAuto
// //
this.chkBxAuto.AutoSize = true; this.chkBxAuto.AutoSize = true;
this.chkBxAuto.Location = new System.Drawing.Point(6, 20); this.chkBxAuto.Location = new System.Drawing.Point(18, 20);
this.chkBxAuto.Name = "chkBxAuto"; this.chkBxAuto.Name = "chkBxAuto";
this.chkBxAuto.Size = new System.Drawing.Size(76, 16); this.chkBxAuto.Size = new System.Drawing.Size(76, 16);
this.chkBxAuto.TabIndex = 0; this.chkBxAuto.TabIndex = 0;
...@@ -119,6 +129,16 @@ ...@@ -119,6 +129,16 @@
this.chkBxAuto.UseVisualStyleBackColor = true; this.chkBxAuto.UseVisualStyleBackColor = true;
this.chkBxAuto.CheckedChanged += new System.EventHandler(this.chkBxAuto_CheckedChanged); this.chkBxAuto.CheckedChanged += new System.EventHandler(this.chkBxAuto_CheckedChanged);
// //
// cmbBxMission
//
this.cmbBxMission.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmbBxMission.FormattingEnabled = true;
this.cmbBxMission.ItemHeight = 14;
this.cmbBxMission.Location = new System.Drawing.Point(3, 70);
this.cmbBxMission.Name = "cmbBxMission";
this.cmbBxMission.Size = new System.Drawing.Size(159, 22);
this.cmbBxMission.TabIndex = 0;
//
// btnReSendTask // btnReSendTask
// //
this.btnReSendTask.Location = new System.Drawing.Point(285, 3); this.btnReSendTask.Location = new System.Drawing.Point(285, 3);
...@@ -136,7 +156,7 @@ ...@@ -136,7 +156,7 @@
this.grpBxOperation.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.grpBxOperation.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.grpBxOperation.Location = new System.Drawing.Point(0, 93); this.grpBxOperation.Location = new System.Drawing.Point(0, 93);
this.grpBxOperation.Name = "grpBxOperation"; this.grpBxOperation.Name = "grpBxOperation";
this.grpBxOperation.Size = new System.Drawing.Size(390, 92); this.grpBxOperation.Size = new System.Drawing.Size(390, 146);
this.grpBxOperation.TabIndex = 2; this.grpBxOperation.TabIndex = 2;
this.grpBxOperation.TabStop = false; this.grpBxOperation.TabStop = false;
this.grpBxOperation.Text = "操作"; this.grpBxOperation.Text = "操作";
...@@ -147,10 +167,12 @@ ...@@ -147,10 +167,12 @@
this.flowLayoutPanel1.Controls.Add(this.btnPause); this.flowLayoutPanel1.Controls.Add(this.btnPause);
this.flowLayoutPanel1.Controls.Add(this.btnClearErr); this.flowLayoutPanel1.Controls.Add(this.btnClearErr);
this.flowLayoutPanel1.Controls.Add(this.btnReSendTask); this.flowLayoutPanel1.Controls.Add(this.btnReSendTask);
this.flowLayoutPanel1.Controls.Add(this.cmbBxMission);
this.flowLayoutPanel1.Controls.Add(this.btnAssignTask);
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 17); this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 17);
this.flowLayoutPanel1.Name = "flowLayoutPanel1"; this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Size = new System.Drawing.Size(384, 72); this.flowLayoutPanel1.Size = new System.Drawing.Size(384, 126);
this.flowLayoutPanel1.TabIndex = 0; this.flowLayoutPanel1.TabIndex = 0;
// //
// btnReady // btnReady
...@@ -186,30 +208,12 @@ ...@@ -186,30 +208,12 @@
this.btnClearErr.UseVisualStyleBackColor = false; this.btnClearErr.UseVisualStyleBackColor = false;
this.btnClearErr.Click += new System.EventHandler(this.btnClearErr_Click); this.btnClearErr.Click += new System.EventHandler(this.btnClearErr_Click);
// //
// btnAssignTask
//
this.btnAssignTask.Location = new System.Drawing.Point(288, 10);
this.btnAssignTask.Name = "btnAssignTask";
this.btnAssignTask.Size = new System.Drawing.Size(88, 35);
this.btnAssignTask.TabIndex = 1;
this.btnAssignTask.Text = "发任务";
this.btnAssignTask.UseVisualStyleBackColor = true;
this.btnAssignTask.Click += new System.EventHandler(this.btnAssignTask_Click);
//
// cmbBxMission
//
this.cmbBxMission.FormattingEnabled = true;
this.cmbBxMission.Location = new System.Drawing.Point(102, 16);
this.cmbBxMission.Name = "cmbBxMission";
this.cmbBxMission.Size = new System.Drawing.Size(159, 20);
this.cmbBxMission.TabIndex = 0;
//
// groupBox1 // groupBox1
// //
this.groupBox1.Controls.Add(this.tableLayoutPanel1); this.groupBox1.Controls.Add(this.tableLayoutPanel1);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top; this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(0, 185); this.groupBox1.Location = new System.Drawing.Point(0, 239);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(390, 57); this.groupBox1.Size = new System.Drawing.Size(390, 57);
this.groupBox1.TabIndex = 4; this.groupBox1.TabIndex = 4;
...@@ -243,18 +247,6 @@ ...@@ -243,18 +247,6 @@
this.flowLayoutPanel2.Size = new System.Drawing.Size(186, 31); this.flowLayoutPanel2.Size = new System.Drawing.Size(186, 31);
this.flowLayoutPanel2.TabIndex = 0; this.flowLayoutPanel2.TabIndex = 0;
// //
// flowLayoutPanel3
//
this.flowLayoutPanel3.Controls.Add(this.pictureBox5);
this.flowLayoutPanel3.Controls.Add(this.pictureBox6);
this.flowLayoutPanel3.Controls.Add(this.pictureBox7);
this.flowLayoutPanel3.Controls.Add(this.pictureBox8);
this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel3.Location = new System.Drawing.Point(195, 3);
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
this.flowLayoutPanel3.Size = new System.Drawing.Size(186, 31);
this.flowLayoutPanel3.TabIndex = 1;
//
// pictureBox1 // pictureBox1
// //
this.pictureBox1.Image = global::AGVDispatch.Properties.Resources.gray2; this.pictureBox1.Image = global::AGVDispatch.Properties.Resources.gray2;
...@@ -295,6 +287,18 @@ ...@@ -295,6 +287,18 @@
this.pictureBox4.TabIndex = 3; this.pictureBox4.TabIndex = 3;
this.pictureBox4.TabStop = false; this.pictureBox4.TabStop = false;
// //
// flowLayoutPanel3
//
this.flowLayoutPanel3.Controls.Add(this.pictureBox5);
this.flowLayoutPanel3.Controls.Add(this.pictureBox6);
this.flowLayoutPanel3.Controls.Add(this.pictureBox7);
this.flowLayoutPanel3.Controls.Add(this.pictureBox8);
this.flowLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.flowLayoutPanel3.Location = new System.Drawing.Point(195, 3);
this.flowLayoutPanel3.Name = "flowLayoutPanel3";
this.flowLayoutPanel3.Size = new System.Drawing.Size(186, 31);
this.flowLayoutPanel3.TabIndex = 1;
//
// pictureBox5 // pictureBox5
// //
this.pictureBox5.Image = global::AGVDispatch.Properties.Resources.gray2; this.pictureBox5.Image = global::AGVDispatch.Properties.Resources.gray2;
...@@ -340,11 +344,22 @@ ...@@ -340,11 +344,22 @@
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);
// //
// chkDebug
//
this.chkDebug.AutoSize = true;
this.chkDebug.Location = new System.Drawing.Point(157, 17);
this.chkDebug.Name = "chkDebug";
this.chkDebug.Size = new System.Drawing.Size(76, 16);
this.chkDebug.TabIndex = 1;
this.chkDebug.Text = "调试模式";
this.chkDebug.UseVisualStyleBackColor = true;
this.chkDebug.CheckedChanged += new System.EventHandler(this.chkDebug_CheckedChanged);
//
// 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(390, 257); this.ClientSize = new System.Drawing.Size(390, 302);
this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox1);
this.Controls.Add(this.grpBxOperation); this.Controls.Add(this.grpBxOperation);
this.Controls.Add(this.grpBxRunMode); this.Controls.Add(this.grpBxRunMode);
...@@ -361,11 +376,11 @@ ...@@ -361,11 +376,11 @@
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.ResumeLayout(false);
this.flowLayoutPanel2.ResumeLayout(false); this.flowLayoutPanel2.ResumeLayout(false);
this.flowLayoutPanel3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
this.flowLayoutPanel3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit();
...@@ -401,5 +416,6 @@ ...@@ -401,5 +416,6 @@
private System.Windows.Forms.PictureBox pictureBox7; private System.Windows.Forms.PictureBox pictureBox7;
private System.Windows.Forms.PictureBox pictureBox8; private System.Windows.Forms.PictureBox pictureBox8;
private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.CheckBox chkDebug;
} }
} }
...@@ -21,13 +21,14 @@ namespace AGVControl ...@@ -21,13 +21,14 @@ namespace AGVControl
chkBxAuto.Checked = agv.Auto; chkBxAuto.Checked = agv.Auto;
btnReSendTask.Enabled = agv.Auto; btnReSendTask.Enabled = agv.Auto;
btnAssignTask.Enabled = !agv.Auto; btnAssignTask.Enabled = !agv.Auto;
chkDebug.Checked = agv.IsDebug;
} }
AgvInfo Agv; AgvInfo Agv;
private bool isIni = false; private bool isIni = false;
private void Manual_Load(object sender, EventArgs e) private void Manual_Load(object sender, EventArgs e)
{ {
lblInfo.Text = string.Format("[{0}]", Agv.IP); lblInfo.Text = string.Format("[{0}]", Agv.IP);
AgvTaskManager.InitView(cmbBxMission,Agv); AgvTaskManager.InitView(cmbBxMission, Agv);
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; timer1.Enabled = true;
...@@ -43,11 +44,11 @@ namespace AGVControl ...@@ -43,11 +44,11 @@ namespace AGVControl
{ {
try try
{ {
if (Agv.IOStatus[0] != null && Agv.IOStatus[0].Inputs !=null) if (Agv.IOStatus[0] != null && Agv.IOStatus[0].Inputs != null)
{ {
for (int i = 0; i < Agv.IOStatus[0].Inputs.Length; i++) for (int i = 0; i < Agv.IOStatus[0].Inputs.Length; i++)
{ {
if (Agv.GetInput(0,i)) if (Agv.GetInput(0, i))
{ {
InState[i].Image = AGVDispatch.Properties.Resources.green1; InState[i].Image = AGVDispatch.Properties.Resources.green1;
} }
...@@ -57,7 +58,7 @@ namespace AGVControl ...@@ -57,7 +58,7 @@ namespace AGVControl
} }
} }
} }
if(Agv.IOStatus[0]!=null && Agv.IOStatus[0].Inputs!=null) if (Agv.IOStatus[0] != null && Agv.IOStatus[0].Inputs != null)
{ {
for (int i = 0; i < Agv.IOStatus[0].Inputs.Length; i++) for (int i = 0; i < Agv.IOStatus[0].Inputs.Length; i++)
{ {
...@@ -71,7 +72,6 @@ namespace AGVControl ...@@ -71,7 +72,6 @@ namespace AGVControl
} }
} }
} }
} }
catch { } catch { }
})); }));
...@@ -83,7 +83,7 @@ namespace AGVControl ...@@ -83,7 +83,7 @@ namespace AGVControl
{ {
if (!chkBxAuto.Checked && !Agv.JobContext.MissionId.Equals("")) if (!chkBxAuto.Checked && !Agv.JobContext.MissionId.Equals(""))
{ {
if(MessageBox.Show($"正在执行任务[{Agv.JobContext.MissionId}],切到手动后该任务无法继续执行,确定切到手动状态?", "警告",MessageBoxButtons.YesNo).Equals( if (MessageBox.Show($"正在执行任务[{Agv.JobContext.MissionId}],切到手动后该任务无法继续执行,确定切到手动状态?", "警告", MessageBoxButtons.YesNo).Equals(
DialogResult.No)) DialogResult.No))
{ {
chkBxAuto.Checked = true; chkBxAuto.Checked = true;
...@@ -104,7 +104,7 @@ namespace AGVControl ...@@ -104,7 +104,7 @@ namespace AGVControl
try try
{ {
//Agv.CurJob != null && Agv.CurJob.JobParam != null && //Agv.CurJob != null && Agv.CurJob.JobParam != null &&
if ( Agv.CurJob.JobParam.GetMissionInfo() != null) if (Agv.CurJob.JobParam.GetMissionInfo() != null)
{ {
if (MessageBox.Show($"是否删除该任务[{Agv.JobContext.MissionId}]?", "提示", MessageBoxButtons.YesNo).Equals(DialogResult.Yes)) if (MessageBox.Show($"是否删除该任务[{Agv.JobContext.MissionId}]?", "提示", MessageBoxButtons.YesNo).Equals(DialogResult.Yes))
{ {
...@@ -194,7 +194,7 @@ namespace AGVControl ...@@ -194,7 +194,7 @@ namespace AGVControl
{ {
if (Agv.IsCon) if (Agv.IsCon)
{ {
DeviceLibrary.AgvTask task = AgvTaskManager.GetTaskByName((cmbBxMission.SelectedItem as DeviceLibrary.AgvTask).Name,Agv); DeviceLibrary.AgvTask task = AgvTaskManager.GetTaskByName((cmbBxMission.SelectedItem as DeviceLibrary.AgvTask).Name, Agv);
if (task.Type.Equals(TaskType.InOut)) if (task.Type.Equals(TaskType.InOut))
if (MessageBox.Show("确定对小车发送进/出任务?", Agv.Name, MessageBoxButtons.YesNo) == DialogResult.No) if (MessageBox.Show("确定对小车发送进/出任务?", Agv.Name, MessageBoxButtons.YesNo) == DialogResult.No)
return; return;
...@@ -214,5 +214,10 @@ namespace AGVControl ...@@ -214,5 +214,10 @@ namespace AGVControl
{ {
Close(); Close();
} }
private void chkDebug_CheckedChanged(object sender, EventArgs e)
{
Agv.IsDebug = chkDebug.Checked;
}
} }
} }
...@@ -66,6 +66,7 @@ namespace Common ...@@ -66,6 +66,7 @@ namespace Common
public const string Lift_Server = "Lift_Server"; public const string Lift_Server = "Lift_Server";
public const string AppIdentity = "AppIdentity"; public const string AppIdentity = "AppIdentity";
public const string Lift_Names = "Lift_Names"; public const string Lift_Names = "Lift_Names";
public const string IsDebug = "IsDebug";
#endregion #endregion
} }
......
...@@ -53,6 +53,7 @@ namespace DeviceLibrary.manager ...@@ -53,6 +53,7 @@ namespace DeviceLibrary.manager
agv_Info.UseFleet = bool.Parse(xnl0.Item(3).InnerText); agv_Info.UseFleet = bool.Parse(xnl0.Item(3).InnerText);
agv_Info.FleetIP = xnl0.Item(4).InnerText; agv_Info.FleetIP = xnl0.Item(4).InnerText;
agv_Info.Authorization = xnl0.Item(5).InnerText; agv_Info.Authorization = xnl0.Item(5).InnerText;
agv_Info.IsDebug = bool.Parse(xnl0.Item(6).InnerText);
XmlNode xnIO = xe.SelectSingleNode("IO_GUIDs"); XmlNode xnIO = xe.SelectSingleNode("IO_GUIDs");
XmlNodeList xnlios = xnIO.ChildNodes; XmlNodeList xnlios = xnIO.ChildNodes;
foreach (XmlNode item in xnlios) foreach (XmlNode item in xnlios)
...@@ -79,7 +80,18 @@ namespace DeviceLibrary.manager ...@@ -79,7 +80,18 @@ namespace DeviceLibrary.manager
selectXe.GetElementsByTagName("Auto").Item(0).InnerText = agv.Auto.ToString(); selectXe.GetElementsByTagName("Auto").Item(0).InnerText = agv.Auto.ToString();
xmlDoc.Save(File_AgvInfo); xmlDoc.Save(File_AgvInfo);
} }
public static void SetAgvIsDebug(AgvInfo agv)
{
if (!isLoadAgv) return;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(File_AgvInfo);
XmlElement xe = xmlDoc.DocumentElement; // DocumentElement 获取xml文档对象的根XmlElement.
string strPath = string.Format("/agvs/agv[@ip=\"{0}\"]", agv.IP);
XmlElement selectXe = (XmlElement)xe.SelectSingleNode(strPath); //selectSingleNode 根据XPath表达式,获得符合条件的第一个节点.
//selectXe.SetAttribute("Type", dgvBookInfo.CurrentRow.Cells[0].Value.ToString());//也可以通过SetAttribute来增加一个属性
selectXe.GetElementsByTagName("IsDebug").Item(0).InnerText = agv.Auto.ToString();
xmlDoc.Save(File_AgvInfo);
}
public static void LoadNodeInfos(List<Node> nodes) public static void LoadNodeInfos(List<Node> nodes)
{ {
XmlDocument doc = new XmlDocument(); XmlDocument doc = new XmlDocument();
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
<UseFleet>false</UseFleet> <UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp> <FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
...@@ -67,6 +68,7 @@ ...@@ -67,6 +68,7 @@
<UseFleet>false</UseFleet> <UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp> <FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
...@@ -111,6 +113,7 @@ ...@@ -111,6 +113,7 @@
<UseFleet>false</UseFleet> <UseFleet>false</UseFleet>
<FleetIp>10.85.199.132</FleetIp> <FleetIp>10.85.199.132</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
...@@ -145,6 +148,7 @@ ...@@ -145,6 +148,7 @@
<UseFleet>false</UseFleet> <UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp> <FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
...@@ -179,6 +183,7 @@ ...@@ -179,6 +183,7 @@
<UseFleet>false</UseFleet> <UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp> <FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
...@@ -187,11 +192,11 @@ ...@@ -187,11 +192,11 @@
<name>7号车</name> <name>7号车</name>
<!-- 职责范围 --> <!-- 职责范围 -->
<scope> <scope>
<workshop>4d</workshop> <workshop>4D</workshop>
<!--可执行的任务: <!--可执行的任务:
无, 无,
pcb领用 = 1, PCB领用 = 1,
tray领用 = 2, Tray领用 = 2,
包材领用 = 4, 包材领用 = 4,
半成品领用, 半成品领用,
静电箱领用, 静电箱领用,
...@@ -200,11 +205,12 @@ ...@@ -200,11 +205,12 @@
成品入库, 成品入库,
半成品入库, 半成品入库,
半成品入库与领用, 半成品入库与领用,
垃圾清运 --> 垃圾清运
-->
<tasks> <tasks>
<task>pcb领用</task> <task>PCB领用</task>
<task>半成品领用</task> <task>半成品领用</task>
<task>tray领用</task> <task>Tray领用</task>
</tasks> </tasks>
<!-- 使用的电梯,多个电梯使用逗号隔开 --> <!-- 使用的电梯,多个电梯使用逗号隔开 -->
<remark>lift_d2</remark> <remark>lift_d2</remark>
...@@ -213,7 +219,8 @@ ...@@ -213,7 +219,8 @@
<auto>false</auto> <auto>false</auto>
<usefleet>false</usefleet> <usefleet>false</usefleet>
<fleetip>10.85.199.3</fleetip> <fleetip>10.85.199.3</fleetip>
<authorization>basic zglzdhjpynv0b3i6njjmmmywzjflzmyxmgqzmtuyyzk1zjzmmdu5nju3nmu0odjiyjhlndq4mdy0mznmngnmoti5nzkyodm0yjaxna==</authorization> <Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs> <IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID> <IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs> </IO_GUIDs>
......
...@@ -102,7 +102,7 @@ namespace DeviceLibrary.bean ...@@ -102,7 +102,7 @@ namespace DeviceLibrary.bean
else //多个agv共享充电桩 else //多个agv共享充电桩
{ {
if (Agvs.Contains(agv.IP)) if (Agvs.Contains(agv.IP))
return Occupied; return !Occupied;
else else
return false; return false;
} }
......
...@@ -97,7 +97,22 @@ namespace DeviceLibrary ...@@ -97,7 +97,22 @@ namespace DeviceLibrary
/// 负载 /// 负载
/// </summary> /// </summary>
public bool IsExistShelf { set; get; } = false; public bool IsExistShelf { set; get; } = false;
private bool _isdebug = false;
/// <summary>
/// 是否是调试状态,true时不执行新任务
/// </summary>
public bool IsDebug
{
set
{
if (!value.Equals(_isdebug))
{
_isdebug = value;
XmlConfigOperation.SetAgvIsDebug(this);
}
}
get { return _isdebug; }
}
/// <summary> /// <summary>
/// 电量百分比,(从小车获取) /// 电量百分比,(从小车获取)
/// </summary> /// </summary>
...@@ -162,6 +177,8 @@ namespace DeviceLibrary ...@@ -162,6 +177,8 @@ namespace DeviceLibrary
} }
else else
{ {
if (IsDebug)
return false;
if (CurJob == null || ((CurJob is ChargeJob || CurJob is StandyJob) && !IsExistShelf)) if (CurJob == null || ((CurJob is ChargeJob || CurJob is StandyJob) && !IsExistShelf))
return true; return true;
else else
...@@ -271,7 +288,7 @@ namespace DeviceLibrary ...@@ -271,7 +288,7 @@ namespace DeviceLibrary
{ {
bool isChange = false; bool isChange = false;
bool preShelfState = IsExistShelf; bool preShelfState = IsExistShelf;
bool reachIoValue = GetInput(0, 0).Equals(true); bool reachIoValue = GetInput(0, 3).Equals(true);
if (reachIoValue) if (reachIoValue)
{ {
//满足给定的IO值,计算持续时间 //满足给定的IO值,计算持续时间
...@@ -335,7 +352,16 @@ namespace DeviceLibrary ...@@ -335,7 +352,16 @@ namespace DeviceLibrary
public void SetKanban() public void SetKanban()
{ {
StateKanban.ShowInfo("目的地", Place == null ? "" : Place.AliceName); StateKanban.ShowInfo("目的地", Place == null ? "" : Place.AliceName);
StateKanban.ShowInfo("运行模式", Auto ? "自动" : "手动"); string runmode = "";
if(Auto)
{
runmode=IsDebug ? "调试" : "自动";
}
else
{
runmode = "手动";
}
StateKanban.ShowInfo("运行模式", runmode);
if (Scope!=null) if (Scope!=null)
StateKanban.ShowInfo("车间", Scope.Workshop); StateKanban.ShowInfo("车间", Scope.Workshop);
if (this.CurJob != null) if (this.CurJob != null)
......
...@@ -358,7 +358,7 @@ namespace DeviceLibrary ...@@ -358,7 +358,7 @@ namespace DeviceLibrary
//fbackkinfo":"no agvinfo","fbacktime":"20215306105317"} //fbackkinfo":"no agvinfo","fbacktime":"20215306105317"}
//if (data == null) //if (data == null)
{ {
Agvtransinfo = $"{agvreportstate}:[{txt}]\r\n[{resultStr}]"; Agvtransinfo = $"{agvreportstate}:【{txt}】\r\n【{resultStr}】";
} }
log.Debug($"[{agvreportstate}]【{txt}】"); log.Debug($"[{agvreportstate}]【{txt}】");
//else //else
......
...@@ -180,7 +180,6 @@ namespace DeviceLibrary.manager ...@@ -180,7 +180,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
...@@ -212,7 +211,6 @@ namespace DeviceLibrary.manager ...@@ -212,7 +211,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
/// <summary> /// <summary>
...@@ -243,7 +241,6 @@ namespace DeviceLibrary.manager ...@@ -243,7 +241,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
...@@ -276,7 +273,6 @@ namespace DeviceLibrary.manager ...@@ -276,7 +273,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
...@@ -311,7 +307,6 @@ namespace DeviceLibrary.manager ...@@ -311,7 +307,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
...@@ -343,7 +338,6 @@ namespace DeviceLibrary.manager ...@@ -343,7 +338,6 @@ namespace DeviceLibrary.manager
{ {
Monitor.Exit(lockObj); Monitor.Exit(lockObj);
} }
MissionChangedEvent?.Invoke();
return missionInfo; return missionInfo;
} }
/// <summary> /// <summary>
...@@ -387,7 +381,7 @@ namespace DeviceLibrary.manager ...@@ -387,7 +381,7 @@ namespace DeviceLibrary.manager
MissionChangedEvent?.Invoke(); MissionChangedEvent?.Invoke();
} }
public static void SetMissionState(MissionInfo missionInfo,MissionState missionState) static void SetMissionState(MissionInfo missionInfo,MissionState missionState)
{ {
missionInfo.SetState(missionState); missionInfo.SetState(missionState);
Log.Info($"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功"); Log.Info($"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功");
......
...@@ -34,19 +34,14 @@ namespace DeviceLibrary.manager ...@@ -34,19 +34,14 @@ namespace DeviceLibrary.manager
curTarget = item.Place.Name, curTarget = item.Place.Name,
statusTxt = item.MissionText statusTxt = item.MissionText
}; };
if (item.CurJob != null && item.CurJob.JobParam != null && item.CurJob.JobParam.GetMissionInfo() != null) //当前状态:执行任务/归位中/充电中/故障中/调试中/手动/自动
{ if (item.StateID.Equals(eAGVState.Error) || item.StateID.Equals(eAGVState.EmergencyStop))
agvState.state = "执行任务";
agvState.missionId = item.CurJob.JobParam.GetMissionInfo().missionId;
agvState.remark = item.CurJob.JobParam.GetMissionInfo().Remark;
}
else
{
if(item.StateID.Equals(eAGVState.Error) || item.StateID.Equals(eAGVState.EmergencyStop))
{ {
agvState.state = "故障中"; agvState.state = "故障中";
} }
else if(item.CurJob!=null && item.CurJob is StandyJob) else if (item.Auto)
{
if (item.CurJob != null && item.CurJob is StandyJob)
{ {
agvState.state = "归位中"; agvState.state = "归位中";
} }
...@@ -54,6 +49,20 @@ namespace DeviceLibrary.manager ...@@ -54,6 +49,20 @@ namespace DeviceLibrary.manager
{ {
agvState.state = "充电中"; agvState.state = "充电中";
} }
else if (item.CurJob != null && item.CurJob.JobParam != null && item.CurJob.JobParam.GetMissionInfo() != null)
{
agvState.state = "执行任务";
agvState.missionId = item.CurJob.JobParam.GetMissionInfo().missionId;
agvState.remark = item.CurJob.JobParam.GetMissionInfo().Remark;
}
else if (item.IsDebug)
agvState.state = "调试中";
else
agvState.state = "自动";
}
else
{
agvState.state = "手动";
} }
agvStates.Add(agvState); agvStates.Add(agvState);
} }
...@@ -82,8 +91,9 @@ namespace DeviceLibrary.manager ...@@ -82,8 +91,9 @@ namespace DeviceLibrary.manager
HttpManager.UpdateAGVtranstask(txt); HttpManager.UpdateAGVtranstask(txt);
System.Threading.Thread.Sleep(2000); System.Threading.Thread.Sleep(2000);
} }
catch(Exception ex) { catch (Exception ex)
Common.LogUtil.error($"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}",ex); {
Common.LogUtil.error($"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}", ex);
} }
} }
#endregion #endregion
......
...@@ -105,16 +105,16 @@ namespace DeviceLibrary ...@@ -105,16 +105,16 @@ namespace DeviceLibrary
{ {
if (missionInfo.State.Equals(MissionState.创建)) if (missionInfo.State.Equals(MissionState.创建))
{ {
MissionManager.SetMissionState(missionInfo, MissionState.取消); MissionManager.SetMissionState(missionInfo.missionId, MissionState.取消,out string msg);
MissionManager.DeleteById(deleteMission.missionId); result.msg = msg;
} }
else else
{ {
AgvInfo agvInfo=AGVManager.agvInfo.Find(k=>k.JobContext.MissionId == deleteMission.missionId); AgvInfo agvInfo=AGVManager.agvInfo.Find(k=>k.JobContext.MissionId == deleteMission.missionId);
if(agvInfo == null) if(agvInfo == null)
{ {
MissionManager.SetMissionState(missionInfo, MissionState.中止); MissionManager.SetMissionState(missionInfo.missionId, MissionState.中止,out string msg);
MissionManager.DeleteById(deleteMission.missionId); result.msg = msg;
} }
else else
{ {
......
...@@ -30,7 +30,7 @@ namespace DeviceLibrary.service.model ...@@ -30,7 +30,7 @@ namespace DeviceLibrary.service.model
/// </summary> /// </summary>
public MirPosition position { get; set; } public MirPosition position { get; set; }
/// <summary> /// <summary>
/// 当前状态:执行任务/归位中/充电中/故障中 /// 当前状态:执行任务/归位中/充电中/故障中/调试中/手动/自动
/// </summary> /// </summary>
public string state { get; set; } public string state { get; set; }
/// <summary> /// <summary>
......
...@@ -195,19 +195,19 @@ namespace DeviceLibrary.service.model ...@@ -195,19 +195,19 @@ namespace DeviceLibrary.service.model
/// </summary> /// </summary>
public enum ProjectType public enum ProjectType
{ {
=0, = 0,
PCB领用, PCB领用,
Tray领用, Tray领用,
治具领用,
包材领用, 包材领用,
半成品领用, 半成品领用,
静电箱领用, 静电箱领用,
空台车领用, 空台车领用,
空台车归还, 空台车归还,
包材归还,
成品入库, 成品入库,
半成品入库, 半成品入库,
半成品入库与领用, 半成品入库与领用,
垃圾清运 垃圾清运,
治具领用
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!