Commit 132ba046 张东亮

添加调试状态

1 个父辈 685b768b
......@@ -44,12 +44,13 @@
this.tblLayoutUnlock = new System.Windows.Forms.TableLayoutPanel();
this.dgvInfos = new System.Windows.Forms.DataGridView();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.lblShow = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.tabControlManual = new System.Windows.Forms.TabControl();
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
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.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout();
......@@ -66,6 +67,7 @@
this.tabPage3.SuspendLayout();
this.groupBox2.SuspendLayout();
this.tableLayoutPanel4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel3
......@@ -91,6 +93,7 @@
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage5);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(3, 418);
this.tabControl1.Name = "tabControl1";
......@@ -105,7 +108,7 @@
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
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.Text = "日志";
this.tabPage2.UseVisualStyleBackColor = true;
......@@ -122,7 +125,7 @@
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
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;
//
// richTextBox1
......@@ -130,7 +133,7 @@
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(3, 3);
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.Text = "";
//
......@@ -140,7 +143,7 @@
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
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.Text = "节点状态";
this.tabPage1.UseVisualStyleBackColor = true;
......@@ -157,7 +160,7 @@
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
this.tableLayoutPanel2.RowCount = 1;
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;
//
// DgvNode
......@@ -178,7 +181,7 @@
this.DgvNode.RowHeadersVisible = false;
this.DgvNode.RowHeadersWidth = 50;
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.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvNode_CellClick);
//
......@@ -187,7 +190,7 @@
this.tabPage4.Controls.Add(this.groupBox1);
this.tabPage4.Location = new System.Drawing.Point(4, 22);
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.Text = "任务信息";
this.tabPage4.UseVisualStyleBackColor = true;
......@@ -201,7 +204,7 @@
this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
this.groupBox1.Name = "groupBox1";
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.TabStop = false;
//
......@@ -216,8 +219,8 @@
this.tableLayoutPanel5.Name = "tableLayoutPanel5";
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.Absolute, 326F));
this.tableLayoutPanel5.Size = new System.Drawing.Size(1752, 326);
this.tableLayoutPanel5.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 261F));
this.tableLayoutPanel5.Size = new System.Drawing.Size(1266, 261);
this.tableLayoutPanel5.TabIndex = 2;
//
// grpUnlock
......@@ -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.Location = new System.Drawing.Point(3, 3);
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.TabStop = false;
this.grpUnlock.Text = "任务信息";
......@@ -244,7 +247,7 @@
this.tblLayoutUnlock.Name = "tblLayoutUnlock";
this.tblLayoutUnlock.RowCount = 1;
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;
//
// dgvInfos
......@@ -258,13 +261,12 @@
this.dgvInfos.ReadOnly = true;
this.dgvInfos.RowHeadersVisible = false;
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.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvInfos_CellContentClick);
//
// tabPage3
//
this.tabPage3.Controls.Add(this.lblShow);
this.tabPage3.Controls.Add(this.label12);
this.tabPage3.Controls.Add(this.groupBox2);
this.tabPage3.Location = new System.Drawing.Point(4, 22);
......@@ -275,15 +277,6 @@
this.tabPage3.Text = "手动";
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
//
this.label12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
......@@ -293,18 +286,19 @@
this.label12.Size = new System.Drawing.Size(250, 276);
this.label12.TabIndex = 46;
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
//
this.groupBox2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
this.groupBox2.Controls.Add(this.tabControlManual);
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.Name = "groupBox2";
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.TabStop = false;
this.groupBox2.Text = "小车操作";
......@@ -315,7 +309,7 @@
this.tabControlManual.Location = new System.Drawing.Point(2, 16);
this.tabControlManual.Name = "tabControlManual";
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;
//
// tableLayoutPanel4
......@@ -342,6 +336,25 @@
this.flowLayoutPanel1.Size = new System.Drawing.Size(1274, 405);
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
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
......@@ -370,6 +383,8 @@
this.tabPage3.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.tableLayoutPanel4.ResumeLayout(false);
this.tabPage5.ResumeLayout(false);
this.tabPage5.PerformLayout();
this.ResumeLayout(false);
}
......@@ -395,7 +410,8 @@
private System.Windows.Forms.GroupBox grpUnlock;
private System.Windows.Forms.TableLayoutPanel tblLayoutUnlock;
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
//托盘控件
notify = new NotifyIcon { Icon = Icon, Visible = true, ContextMenuStrip = notifyMenu, Text = Text };
notify.MouseDoubleClick += Notify_MouseDoubleClick;
ShowConfig();
NodeManager.RegisEvent(Server_NodeChanged, Server_NodeOnline);
}
......@@ -156,7 +155,7 @@ namespace AGVControl
Invoke(new Action(() =>
{
lblShow.Text = DeviceLibrary.HttpManager.Agvtransinfo;
txtShow.Text = DeviceLibrary.HttpManager.Agvtransinfo;
}));
......@@ -191,23 +190,10 @@ namespace AGVControl
LogUtil.logBox = this.richTextBox1;
}
}
int missionCurRow = 0, missionCurColum = 0;
private void dgvInfos_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1)
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 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</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" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
......
......@@ -33,28 +33,29 @@
this.panelInfo = new System.Windows.Forms.Panel();
this.lblInfo = new System.Windows.Forms.Label();
this.grpBxRunMode = new System.Windows.Forms.GroupBox();
this.btnAssignTask = new System.Windows.Forms.Button();
this.chkBxAuto = new System.Windows.Forms.CheckBox();
this.cmbBxMission = new System.Windows.Forms.ComboBox();
this.btnReSendTask = new System.Windows.Forms.Button();
this.grpBxOperation = new System.Windows.Forms.GroupBox();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.btnReady = new System.Windows.Forms.Button();
this.btnPause = 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.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox3 = 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.pictureBox6 = new System.Windows.Forms.PictureBox();
this.pictureBox7 = new System.Windows.Forms.PictureBox();
this.pictureBox8 = new System.Windows.Forms.PictureBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.chkDebug = new System.Windows.Forms.CheckBox();
this.panelInfo.SuspendLayout();
this.grpBxRunMode.SuspendLayout();
this.grpBxOperation.SuspendLayout();
......@@ -62,11 +63,11 @@
this.groupBox1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.flowLayoutPanel2.SuspendLayout();
this.flowLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
this.flowLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit();
......@@ -96,9 +97,8 @@
//
// grpBxRunMode
//
this.grpBxRunMode.Controls.Add(this.btnAssignTask);
this.grpBxRunMode.Controls.Add(this.chkDebug);
this.grpBxRunMode.Controls.Add(this.chkBxAuto);
this.grpBxRunMode.Controls.Add(this.cmbBxMission);
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.Location = new System.Drawing.Point(0, 43);
......@@ -108,10 +108,20 @@
this.grpBxRunMode.TabStop = false;
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
//
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.Size = new System.Drawing.Size(76, 16);
this.chkBxAuto.TabIndex = 0;
......@@ -119,6 +129,16 @@
this.chkBxAuto.UseVisualStyleBackColor = true;
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
//
this.btnReSendTask.Location = new System.Drawing.Point(285, 3);
......@@ -136,7 +156,7 @@
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.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.TabStop = false;
this.grpBxOperation.Text = "操作";
......@@ -147,10 +167,12 @@
this.flowLayoutPanel1.Controls.Add(this.btnPause);
this.flowLayoutPanel1.Controls.Add(this.btnClearErr);
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.Location = new System.Drawing.Point(3, 17);
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;
//
// btnReady
......@@ -186,30 +208,12 @@
this.btnClearErr.UseVisualStyleBackColor = false;
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
//
this.groupBox1.Controls.Add(this.tableLayoutPanel1);
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.Location = new System.Drawing.Point(0, 185);
this.groupBox1.Location = new System.Drawing.Point(0, 239);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(390, 57);
this.groupBox1.TabIndex = 4;
......@@ -243,18 +247,6 @@
this.flowLayoutPanel2.Size = new System.Drawing.Size(186, 31);
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
//
this.pictureBox1.Image = global::AGVDispatch.Properties.Resources.gray2;
......@@ -295,6 +287,18 @@
this.pictureBox4.TabIndex = 3;
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
//
this.pictureBox5.Image = global::AGVDispatch.Properties.Resources.gray2;
......@@ -340,11 +344,22 @@
this.timer1.Interval = 1000;
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
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
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.grpBxOperation);
this.Controls.Add(this.grpBxRunMode);
......@@ -361,11 +376,11 @@
this.groupBox1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.flowLayoutPanel2.ResumeLayout(false);
this.flowLayoutPanel3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
this.flowLayoutPanel3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit();
......@@ -401,5 +416,6 @@
private System.Windows.Forms.PictureBox pictureBox7;
private System.Windows.Forms.PictureBox pictureBox8;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.CheckBox chkDebug;
}
}
......@@ -21,13 +21,14 @@ namespace AGVControl
chkBxAuto.Checked = agv.Auto;
btnReSendTask.Enabled = agv.Auto;
btnAssignTask.Enabled = !agv.Auto;
chkDebug.Checked = agv.IsDebug;
}
AgvInfo Agv;
private bool isIni = false;
private void Manual_Load(object sender, EventArgs e)
{
lblInfo.Text = string.Format("[{0}]", Agv.IP);
AgvTaskManager.InitView(cmbBxMission,Agv);
AgvTaskManager.InitView(cmbBxMission, Agv);
InState.AddRange(new PictureBox[] { pictureBox1, pictureBox2, pictureBox3, pictureBox4 });
OutState.AddRange(new PictureBox[] { pictureBox5, pictureBox6, pictureBox7, pictureBox8 });
timer1.Enabled = true;
......@@ -43,11 +44,11 @@ namespace AGVControl
{
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++)
{
if (Agv.GetInput(0,i))
if (Agv.GetInput(0, i))
{
InState[i].Image = AGVDispatch.Properties.Resources.green1;
}
......@@ -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++)
{
......@@ -71,7 +72,6 @@ namespace AGVControl
}
}
}
}
catch { }
}));
......@@ -83,7 +83,7 @@ namespace AGVControl
{
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))
{
chkBxAuto.Checked = true;
......@@ -104,7 +104,7 @@ namespace AGVControl
try
{
//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))
{
......@@ -120,7 +120,7 @@ namespace AGVControl
catch { }
//MiR_API.Del_Mission(Agv);
//添加Init任务
AgvTaskManager.AssignMission(Agv, $"{SettingString.Init}");
AgvTaskManager.AssignMission(Agv, $"{SettingString.Init}");
}
Agv.CurJob = null;
Agv.JobContext = new DeviceLibrary.bean.agv.JobContext();
......@@ -194,7 +194,7 @@ namespace AGVControl
{
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 (MessageBox.Show("确定对小车发送进/出任务?", Agv.Name, MessageBoxButtons.YesNo) == DialogResult.No)
return;
......@@ -214,5 +214,10 @@ namespace AGVControl
{
Close();
}
private void chkDebug_CheckedChanged(object sender, EventArgs e)
{
Agv.IsDebug = chkDebug.Checked;
}
}
}
......@@ -66,6 +66,7 @@ namespace Common
public const string Lift_Server = "Lift_Server";
public const string AppIdentity = "AppIdentity";
public const string Lift_Names = "Lift_Names";
public const string IsDebug = "IsDebug";
#endregion
}
......
......@@ -53,6 +53,7 @@ namespace DeviceLibrary.manager
agv_Info.UseFleet = bool.Parse(xnl0.Item(3).InnerText);
agv_Info.FleetIP = xnl0.Item(4).InnerText;
agv_Info.Authorization = xnl0.Item(5).InnerText;
agv_Info.IsDebug = bool.Parse(xnl0.Item(6).InnerText);
XmlNode xnIO = xe.SelectSingleNode("IO_GUIDs");
XmlNodeList xnlios = xnIO.ChildNodes;
foreach (XmlNode item in xnlios)
......@@ -79,7 +80,18 @@ namespace DeviceLibrary.manager
selectXe.GetElementsByTagName("Auto").Item(0).InnerText = agv.Auto.ToString();
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)
{
XmlDocument doc = new XmlDocument();
......
<?xml version="1.0" encoding="utf-8"?>
<agvs>
<agv id="20" ip="10.85.199.68">
<name>2号车</name>
<!--职责范围-->
<Scope>
<Workshop>4D</Workshop>
<!--可执行的任务:
<agv id="20" ip="10.85.199.68">
<name>2号车</name>
<!--职责范围-->
<Scope>
<Workshop>4D</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
......@@ -19,29 +19,30 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>PCB领用</Task>
<Task>半成品领用</Task>
<Task>Tray领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="4" ip="10.85.199.64">
<name>17号车</name>
<!--职责范围-->
<Scope>
<Workshop>3C</Workshop>
<!--可执行的任务:
<Tasks>
<Task>PCB领用</Task>
<Task>半成品领用</Task>
<Task>Tray领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="4" ip="10.85.199.64">
<name>17号车</name>
<!--职责范围-->
<Scope>
<Workshop>3C</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
......@@ -55,28 +56,29 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>包材领用</Task>
<Task>半成品领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="132" ip="10.85.199.132">
<name>207号车</name>
<!--职责范围-->
<Scope>
<Workshop>1F</Workshop>
<!--可执行的任务:
<Tasks>
<Task>包材领用</Task>
<Task>半成品领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="132" ip="10.85.199.132">
<name>207号车</name>
<!--职责范围-->
<Scope>
<Workshop>1F</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
......@@ -90,37 +92,38 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>包材领用</Task>
<Task>半成品领用</Task>
<Task>Tray领用</Task>
<Task>静电箱领用</Task>
<Task>PCB领用</Task>
<Task>空台车领用</Task>
<Task>空台车归还</Task>
<Task>成品入库</Task>
<Task>半成品入库</Task>
<Task>半成品入库与领用</Task>
<Task>垃圾清运</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1,LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.132</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="19" ip="10.85.199.19">
<name>205号车</name>
<!--职责范围-->
<Scope>
<Workshop>3D</Workshop>
<!--可执行的任务:
<Tasks>
<Task>包材领用</Task>
<Task>半成品领用</Task>
<Task>Tray领用</Task>
<Task>静电箱领用</Task>
<Task>PCB领用</Task>
<Task>空台车领用</Task>
<Task>空台车归还</Task>
<Task>成品入库</Task>
<Task>半成品入库</Task>
<Task>半成品入库与领用</Task>
<Task>垃圾清运</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1,LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>True</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.132</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="19" ip="10.85.199.19">
<name>205号车</name>
<!--职责范围-->
<Scope>
<Workshop>3D</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
......@@ -134,27 +137,28 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>PCB领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>False</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="27" ip="10.85.199.27">
<name>201号车</name>
<!--职责范围-->
<Scope>
<Workshop>4C</Workshop>
<!--可执行的任务:
<Tasks>
<Task>PCB领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_D2</Remark>
</Scope>
<!--是否自动-->
<Auto>False</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.140</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="27" ip="10.85.199.27">
<name>201号车</name>
<!--职责范围-->
<Scope>
<Workshop>4C</Workshop>
<!--可执行的任务:
无,
PCB领用 = 1,
Tray领用 = 2,
......@@ -168,30 +172,31 @@
半成品入库与领用,
垃圾清运
-->
<Tasks>
<Task>PCB领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1</Remark>
</Scope>
<!--是否自动-->
<Auto>False</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="7" ip="10.85.199.73">
<name>7号车</name>
<!-- 职责范围 -->
<scope>
<workshop>4d</workshop>
<!--可执行的任务:
<Tasks>
<Task>PCB领用</Task>
</Tasks>
<!--使用的电梯,多个电梯使用逗号隔开-->
<Remark>LIFT_C1</Remark>
</Scope>
<!--是否自动-->
<Auto>False</Auto>
<UseFleet>false</UseFleet>
<FleetIp>10.85.199.3</FleetIp>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
<agv id="7" ip="10.85.199.73">
<name>7号车</name>
<!-- 职责范围 -->
<scope>
<workshop>4D</workshop>
<!--可执行的任务:
无,
pcb领用 = 1,
tray领用 = 2,
PCB领用 = 1,
Tray领用 = 2,
包材领用 = 4,
半成品领用,
静电箱领用,
......@@ -200,22 +205,24 @@
成品入库,
半成品入库,
半成品入库与领用,
垃圾清运 -->
<tasks>
<task>pcb领用</task>
<task>半成品领用</task>
<task>tray领用</task>
</tasks>
<!-- 使用的电梯,多个电梯使用逗号隔开 -->
<remark>lift_d2</remark>
</scope>
<!-- 是否自动 -->
<auto>false</auto>
<usefleet>false</usefleet>
<fleetip>10.85.199.3</fleetip>
<authorization>basic zglzdhjpynv0b3i6njjmmmywzjflzmyxmgqzmtuyyzk1zjzmmdu5nju3nmu0odjiyjhlndq4mdy0mznmngnmoti5nzkyodm0yjaxna==</authorization>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
垃圾清运
-->
<tasks>
<task>PCB领用</task>
<task>半成品领用</task>
<task>Tray领用</task>
</tasks>
<!-- 使用的电梯,多个电梯使用逗号隔开 -->
<remark>lift_d2</remark>
</scope>
<!-- 是否自动 -->
<auto>false</auto>
<usefleet>false</usefleet>
<fleetip>10.85.199.3</fleetip>
<Authorization>Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==</Authorization>
<IsDebug>false</IsDebug>
<IO_GUIDs>
<IO_GUID index="0">6ad07e3a-e0e9-11eb-a184-0001299981d4</IO_GUID>
</IO_GUIDs>
</agv>
</agvs>
\ No newline at end of file
......@@ -102,7 +102,7 @@ namespace DeviceLibrary.bean
else //多个agv共享充电桩
{
if (Agvs.Contains(agv.IP))
return Occupied;
return !Occupied;
else
return false;
}
......
......@@ -97,7 +97,22 @@ namespace DeviceLibrary
/// 负载
/// </summary>
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>
......@@ -162,6 +177,8 @@ namespace DeviceLibrary
}
else
{
if (IsDebug)
return false;
if (CurJob == null || ((CurJob is ChargeJob || CurJob is StandyJob) && !IsExistShelf))
return true;
else
......@@ -271,7 +288,7 @@ namespace DeviceLibrary
{
bool isChange = false;
bool preShelfState = IsExistShelf;
bool reachIoValue = GetInput(0, 0).Equals(true);
bool reachIoValue = GetInput(0, 3).Equals(true);
if (reachIoValue)
{
//满足给定的IO值,计算持续时间
......@@ -335,7 +352,16 @@ namespace DeviceLibrary
public void SetKanban()
{
StateKanban.ShowInfo("目的地", Place == null ? "" : Place.AliceName);
StateKanban.ShowInfo("运行模式", Auto ? "自动" : "手动");
string runmode = "";
if(Auto)
{
runmode=IsDebug ? "调试" : "自动";
}
else
{
runmode = "手动";
}
StateKanban.ShowInfo("运行模式", runmode);
if (Scope!=null)
StateKanban.ShowInfo("车间", Scope.Workshop);
if (this.CurJob != null)
......
......@@ -358,7 +358,7 @@ namespace DeviceLibrary
//fbackkinfo":"no agvinfo","fbacktime":"20215306105317"}
//if (data == null)
{
Agvtransinfo = $"{agvreportstate}:[{txt}]\r\n[{resultStr}]";
Agvtransinfo = $"{agvreportstate}:【{txt}】\r\n【{resultStr}】";
}
log.Debug($"[{agvreportstate}]【{txt}】");
//else
......
......@@ -180,7 +180,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
......@@ -212,7 +211,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
/// <summary>
......@@ -243,7 +241,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
......@@ -276,7 +273,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
......@@ -311,7 +307,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
......@@ -343,7 +338,6 @@ namespace DeviceLibrary.manager
{
Monitor.Exit(lockObj);
}
MissionChangedEvent?.Invoke();
return missionInfo;
}
/// <summary>
......@@ -387,7 +381,7 @@ namespace DeviceLibrary.manager
MissionChangedEvent?.Invoke();
}
public static void SetMissionState(MissionInfo missionInfo,MissionState missionState)
static void SetMissionState(MissionInfo missionInfo,MissionState missionState)
{
missionInfo.SetState(missionState);
Log.Info($"设置任务[{missionInfo.missionId}] 状态为[{missionState}]成功");
......
......@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace DeviceLibrary.manager
{
public class UploadManager
public class UploadManager
{
#region 上传到ITS
static object locupdate = new object();
......@@ -34,19 +34,14 @@ namespace DeviceLibrary.manager
curTarget = item.Place.Name,
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;
agvState.state = "故障中";
}
else
else if (item.Auto)
{
if(item.StateID.Equals(eAGVState.Error) || item.StateID.Equals(eAGVState.EmergencyStop))
{
agvState.state = "故障中";
}
else if(item.CurJob!=null && item.CurJob is StandyJob)
if (item.CurJob != null && item.CurJob is StandyJob)
{
agvState.state = "归位中";
}
......@@ -54,6 +49,20 @@ namespace DeviceLibrary.manager
{
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);
}
......@@ -82,8 +91,9 @@ namespace DeviceLibrary.manager
HttpManager.UpdateAGVtranstask(txt);
System.Threading.Thread.Sleep(2000);
}
catch(Exception ex) {
Common.LogUtil.error($"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}",ex);
catch (Exception ex)
{
Common.LogUtil.error($"UploadTransportStatus:{Common.JsonHelper.SerializeObject(transportStatus)}", ex);
}
}
#endregion
......
......@@ -105,16 +105,16 @@ namespace DeviceLibrary
{
if (missionInfo.State.Equals(MissionState.创建))
{
MissionManager.SetMissionState(missionInfo, MissionState.取消);
MissionManager.DeleteById(deleteMission.missionId);
MissionManager.SetMissionState(missionInfo.missionId, MissionState.取消,out string msg);
result.msg = msg;
}
else
{
AgvInfo agvInfo=AGVManager.agvInfo.Find(k=>k.JobContext.MissionId == deleteMission.missionId);
if(agvInfo == null)
{
MissionManager.SetMissionState(missionInfo, MissionState.中止);
MissionManager.DeleteById(deleteMission.missionId);
MissionManager.SetMissionState(missionInfo.missionId, MissionState.中止,out string msg);
result.msg = msg;
}
else
{
......
......@@ -30,7 +30,7 @@ namespace DeviceLibrary.service.model
/// </summary>
public MirPosition position { get; set; }
/// <summary>
/// 当前状态:执行任务/归位中/充电中/故障中
/// 当前状态:执行任务/归位中/充电中/故障中/调试中/手动/自动
/// </summary>
public string state { get; set; }
/// <summary>
......
......@@ -23,7 +23,7 @@ namespace DeviceLibrary.service.model
/// 优先级。3最高,1最低
/// </summary>
//public int Priority { get; set; } = 1;
/// <summary>
/// 是否可合并
/// </summary>
......@@ -195,19 +195,19 @@ namespace DeviceLibrary.service.model
/// </summary>
public enum ProjectType
{
=0,
= 0,
PCB领用,
Tray领用,
治具领用,
包材领用,
半成品领用,
静电箱领用,
空台车领用,
空台车归还,
包材归还,
成品入库,
半成品入库,
半成品入库与领用,
垃圾清运
垃圾清运,
治具领用
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!