1.初始化项目。保险起见bin目录完整提交 2.基于现场代码为调整过的初始项目(此次提交还未解决代码差异问题)

This commit is contained in:
龚记林
2026-08-19 11:14:30 +08:00
parent b820c71956
commit 2b30644d28
382 changed files with 140652 additions and 1 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

File diff suppressed because it is too large Load Diff
@@ -0,0 +1,857 @@
namespace AGVSystem
{
partial class Frm_A17168
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_A17168));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.panel3 = new System.Windows.Forms.Panel();
this.panel8 = new System.Windows.Forms.Panel();
this.pnl10 = new System.Windows.Forms.Panel();
this.lab13 = new System.Windows.Forms.Label();
this.pnl11 = new System.Windows.Forms.Panel();
this.lab11 = new System.Windows.Forms.Label();
this.pnl9 = new System.Windows.Forms.Panel();
this.lab9 = new System.Windows.Forms.Label();
this.pnl8 = new System.Windows.Forms.Panel();
this.lab8 = new System.Windows.Forms.Label();
this.pnl7 = new System.Windows.Forms.Panel();
this.lab7 = new System.Windows.Forms.Label();
this.pnl6 = new System.Windows.Forms.Panel();
this.lab6 = new System.Windows.Forms.Label();
this.pnl5 = new System.Windows.Forms.Panel();
this.lab5 = new System.Windows.Forms.Label();
this.pnl4 = new System.Windows.Forms.Panel();
this.lab4 = new System.Windows.Forms.Label();
this.pnl3 = new System.Windows.Forms.Panel();
this.lab3 = new System.Windows.Forms.Label();
this.pnl2 = new System.Windows.Forms.Panel();
this.lab2 = new System.Windows.Forms.Label();
this.pnl1 = new System.Windows.Forms.Panel();
this.lab1 = new System.Windows.Forms.Label();
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.tm_AgvInfo = new System.Windows.Forms.Timer(this.components);
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.instantDiCtrl1 = new Automation.BDaq.InstantDiCtrl(this.components);
this.instantDoCtrl1 = new Automation.BDaq.InstantDoCtrl(this.components);
this.instantDiCtrl2 = new Automation.BDaq.InstantDiCtrl(this.components);
this.instantDoCtrl2 = new Automation.BDaq.InstantDoCtrl(this.components);
this.instantDiCtrl3 = new Automation.BDaq.InstantDiCtrl(this.components);
this.instantDoCtrl3 = new Automation.BDaq.InstantDoCtrl(this.components);
this.tm_card = new System.Windows.Forms.Timer(this.components);
this.panel4 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel9 = new System.Windows.Forms.Panel();
this.panel13 = new System.Windows.Forms.Panel();
this.pictureBox14 = new System.Windows.Forms.PictureBox();
this.label28 = new System.Windows.Forms.Label();
this.panel12 = new System.Windows.Forms.Panel();
this.pictureBox13 = new System.Windows.Forms.PictureBox();
this.label25 = new System.Windows.Forms.Label();
this.panel11 = new System.Windows.Forms.Panel();
this.pictureBox12 = new System.Windows.Forms.PictureBox();
this.label24 = new System.Windows.Forms.Label();
this.panel10 = new System.Windows.Forms.Panel();
this.pictureBox11 = new System.Windows.Forms.PictureBox();
this.label26 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.panel7 = new System.Windows.Forms.Panel();
this.timer3 = new System.Windows.Forms.Timer(this.components);
this.tm_btn = new System.Windows.Forms.Timer(this.components);
this.panel8.SuspendLayout();
this.pnl10.SuspendLayout();
this.pnl11.SuspendLayout();
this.pnl9.SuspendLayout();
this.pnl8.SuspendLayout();
this.pnl7.SuspendLayout();
this.pnl6.SuspendLayout();
this.pnl5.SuspendLayout();
this.pnl4.SuspendLayout();
this.pnl3.SuspendLayout();
this.pnl2.SuspendLayout();
this.pnl1.SuspendLayout();
this.panel4.SuspendLayout();
this.panel5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel9.SuspendLayout();
this.panel13.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox14)).BeginInit();
this.panel12.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox13)).BeginInit();
this.panel11.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox12)).BeginInit();
this.panel10.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox11)).BeginInit();
this.SuspendLayout();
//
// panel3
//
this.panel3.BackColor = System.Drawing.SystemColors.ScrollBar;
this.panel3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(982, 369);
this.panel3.TabIndex = 5;
this.panel3.Tag = "1";
this.panel3.DoubleClick += new System.EventHandler(this.panel3_DoubleClick);
this.panel3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.panel3_MouseClick);
this.panel3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel3_MouseMove);
//
// panel8
//
this.panel8.Controls.Add(this.pnl10);
this.panel8.Controls.Add(this.pnl11);
this.panel8.Controls.Add(this.pnl9);
this.panel8.Controls.Add(this.pnl8);
this.panel8.Controls.Add(this.pnl7);
this.panel8.Controls.Add(this.pnl6);
this.panel8.Controls.Add(this.pnl5);
this.panel8.Controls.Add(this.pnl4);
this.panel8.Controls.Add(this.pnl3);
this.panel8.Controls.Add(this.pnl2);
this.panel8.Controls.Add(this.pnl1);
this.panel8.Controls.Add(this.vScrollBar1);
this.panel8.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel8.Location = new System.Drawing.Point(0, 750);
this.panel8.Name = "panel8";
this.panel8.Size = new System.Drawing.Size(1292, 30);
this.panel8.TabIndex = 12;
this.panel8.Tag = " ";
this.panel8.Visible = false;
//
// pnl10
//
this.pnl10.Controls.Add(this.lab13);
this.pnl10.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl10.Location = new System.Drawing.Point(0, 320);
this.pnl10.Name = "pnl10";
this.pnl10.Size = new System.Drawing.Size(1275, 32);
this.pnl10.TabIndex = 13;
this.pnl10.Tag = " ";
this.pnl10.Visible = false;
//
// lab13
//
this.lab13.Dock = System.Windows.Forms.DockStyle.Left;
this.lab13.Location = new System.Drawing.Point(0, 0);
this.lab13.Name = "lab13";
this.lab13.Size = new System.Drawing.Size(98, 32);
this.lab13.TabIndex = 15;
this.lab13.Text = "车门线:";
this.lab13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl11
//
this.pnl11.Controls.Add(this.lab11);
this.pnl11.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl11.Location = new System.Drawing.Point(0, 288);
this.pnl11.Name = "pnl11";
this.pnl11.Size = new System.Drawing.Size(1275, 32);
this.pnl11.TabIndex = 11;
this.pnl11.Tag = " ";
this.pnl11.Visible = false;
//
// lab11
//
this.lab11.Dock = System.Windows.Forms.DockStyle.Left;
this.lab11.Location = new System.Drawing.Point(0, 0);
this.lab11.Name = "lab11";
this.lab11.Size = new System.Drawing.Size(98, 32);
this.lab11.TabIndex = 15;
this.lab11.Text = "车门线:";
this.lab11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl9
//
this.pnl9.Controls.Add(this.lab9);
this.pnl9.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl9.Location = new System.Drawing.Point(0, 256);
this.pnl9.Name = "pnl9";
this.pnl9.Size = new System.Drawing.Size(1275, 32);
this.pnl9.TabIndex = 9;
this.pnl9.Tag = " ";
this.pnl9.Visible = false;
//
// lab9
//
this.lab9.Dock = System.Windows.Forms.DockStyle.Left;
this.lab9.Location = new System.Drawing.Point(0, 0);
this.lab9.Name = "lab9";
this.lab9.Size = new System.Drawing.Size(98, 32);
this.lab9.TabIndex = 15;
this.lab9.Text = "车门线:";
this.lab9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl8
//
this.pnl8.Controls.Add(this.lab8);
this.pnl8.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl8.Location = new System.Drawing.Point(0, 224);
this.pnl8.Name = "pnl8";
this.pnl8.Size = new System.Drawing.Size(1275, 32);
this.pnl8.TabIndex = 8;
this.pnl8.Tag = " ";
this.pnl8.Visible = false;
//
// lab8
//
this.lab8.Dock = System.Windows.Forms.DockStyle.Left;
this.lab8.Location = new System.Drawing.Point(0, 0);
this.lab8.Name = "lab8";
this.lab8.Size = new System.Drawing.Size(98, 32);
this.lab8.TabIndex = 14;
this.lab8.Text = "车门线:";
this.lab8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl7
//
this.pnl7.Controls.Add(this.lab7);
this.pnl7.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl7.Location = new System.Drawing.Point(0, 192);
this.pnl7.Name = "pnl7";
this.pnl7.Size = new System.Drawing.Size(1275, 32);
this.pnl7.TabIndex = 7;
this.pnl7.Tag = " ";
this.pnl7.Visible = false;
//
// lab7
//
this.lab7.Dock = System.Windows.Forms.DockStyle.Left;
this.lab7.Location = new System.Drawing.Point(0, 0);
this.lab7.Name = "lab7";
this.lab7.Size = new System.Drawing.Size(98, 32);
this.lab7.TabIndex = 13;
this.lab7.Text = "车门线:";
this.lab7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl6
//
this.pnl6.Controls.Add(this.lab6);
this.pnl6.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl6.Location = new System.Drawing.Point(0, 160);
this.pnl6.Name = "pnl6";
this.pnl6.Size = new System.Drawing.Size(1275, 32);
this.pnl6.TabIndex = 6;
this.pnl6.Tag = " ";
this.pnl6.Visible = false;
//
// lab6
//
this.lab6.Dock = System.Windows.Forms.DockStyle.Left;
this.lab6.Location = new System.Drawing.Point(0, 0);
this.lab6.Name = "lab6";
this.lab6.Size = new System.Drawing.Size(98, 32);
this.lab6.TabIndex = 13;
this.lab6.Text = "车门线:";
this.lab6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl5
//
this.pnl5.Controls.Add(this.lab5);
this.pnl5.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl5.Location = new System.Drawing.Point(0, 128);
this.pnl5.Name = "pnl5";
this.pnl5.Size = new System.Drawing.Size(1275, 32);
this.pnl5.TabIndex = 5;
this.pnl5.Tag = " ";
this.pnl5.Visible = false;
//
// lab5
//
this.lab5.Dock = System.Windows.Forms.DockStyle.Left;
this.lab5.Location = new System.Drawing.Point(0, 0);
this.lab5.Name = "lab5";
this.lab5.Size = new System.Drawing.Size(98, 32);
this.lab5.TabIndex = 12;
this.lab5.Text = "车门线:";
this.lab5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl4
//
this.pnl4.Controls.Add(this.lab4);
this.pnl4.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl4.Location = new System.Drawing.Point(0, 96);
this.pnl4.Name = "pnl4";
this.pnl4.Size = new System.Drawing.Size(1275, 32);
this.pnl4.TabIndex = 4;
this.pnl4.Tag = " ";
this.pnl4.Visible = false;
//
// lab4
//
this.lab4.Dock = System.Windows.Forms.DockStyle.Left;
this.lab4.Location = new System.Drawing.Point(0, 0);
this.lab4.Name = "lab4";
this.lab4.Size = new System.Drawing.Size(98, 32);
this.lab4.TabIndex = 11;
this.lab4.Text = "底盘长:";
this.lab4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl3
//
this.pnl3.Controls.Add(this.lab3);
this.pnl3.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl3.Location = new System.Drawing.Point(0, 64);
this.pnl3.Name = "pnl3";
this.pnl3.Size = new System.Drawing.Size(1275, 32);
this.pnl3.TabIndex = 3;
this.pnl3.Tag = " ";
this.pnl3.Visible = false;
//
// lab3
//
this.lab3.Dock = System.Windows.Forms.DockStyle.Left;
this.lab3.Location = new System.Drawing.Point(0, 0);
this.lab3.Name = "lab3";
this.lab3.Size = new System.Drawing.Size(98, 32);
this.lab3.TabIndex = 11;
this.lab3.Text = "底盘短:";
this.lab3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl2
//
this.pnl2.Controls.Add(this.lab2);
this.pnl2.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl2.Location = new System.Drawing.Point(0, 32);
this.pnl2.Name = "pnl2";
this.pnl2.Size = new System.Drawing.Size(1275, 32);
this.pnl2.TabIndex = 2;
this.pnl2.Tag = " ";
this.pnl2.Visible = false;
//
// lab2
//
this.lab2.Dock = System.Windows.Forms.DockStyle.Left;
this.lab2.Location = new System.Drawing.Point(0, 0);
this.lab2.Name = "lab2";
this.lab2.Size = new System.Drawing.Size(98, 32);
this.lab2.TabIndex = 11;
this.lab2.Text = "内饰二:";
this.lab2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pnl1
//
this.pnl1.Controls.Add(this.lab1);
this.pnl1.Dock = System.Windows.Forms.DockStyle.Top;
this.pnl1.Location = new System.Drawing.Point(0, 0);
this.pnl1.Name = "pnl1";
this.pnl1.Size = new System.Drawing.Size(1275, 32);
this.pnl1.TabIndex = 1;
this.pnl1.Tag = " ";
this.pnl1.Visible = false;
//
// lab1
//
this.lab1.Dock = System.Windows.Forms.DockStyle.Left;
this.lab1.Location = new System.Drawing.Point(0, 0);
this.lab1.Name = "lab1";
this.lab1.Size = new System.Drawing.Size(98, 32);
this.lab1.TabIndex = 10;
this.lab1.Text = "设备列表:";
this.lab1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// vScrollBar1
//
this.vScrollBar1.Dock = System.Windows.Forms.DockStyle.Right;
this.vScrollBar1.LargeChange = 1;
this.vScrollBar1.Location = new System.Drawing.Point(1275, 0);
this.vScrollBar1.Maximum = 2;
this.vScrollBar1.Name = "vScrollBar1";
this.vScrollBar1.Size = new System.Drawing.Size(17, 30);
this.vScrollBar1.TabIndex = 21;
this.vScrollBar1.ValueChanged += new System.EventHandler(this.vScrollBar1_ValueChanged);
//
// panel1
//
this.panel1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(576, 528);
this.panel1.TabIndex = 13;
this.panel1.Tag = "3";
this.panel1.DoubleClick += new System.EventHandler(this.panel3_DoubleClick);
this.panel1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.panel3_MouseClick);
this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove);
//
// panel2
//
this.panel2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.panel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(535, 444);
this.panel2.TabIndex = 14;
this.panel2.Tag = "2";
this.panel2.DoubleClick += new System.EventHandler(this.panel3_DoubleClick);
this.panel2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.panel3_MouseClick);
this.panel2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseMove);
//
// tm_AgvInfo
//
this.tm_AgvInfo.Interval = 2000;
this.tm_AgvInfo.Tick += new System.EventHandler(this.timer1_Tick);
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.tm_Tick);
//
// instantDiCtrl1
//
this.instantDiCtrl1._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDiCtrl1._StateStream")));
//
// instantDoCtrl1
//
this.instantDoCtrl1._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDoCtrl1._StateStream")));
//
// instantDiCtrl2
//
this.instantDiCtrl2._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDiCtrl2._StateStream")));
//
// instantDoCtrl2
//
this.instantDoCtrl2._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDoCtrl2._StateStream")));
//
// instantDiCtrl3
//
this.instantDiCtrl3._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDiCtrl3._StateStream")));
//
// instantDoCtrl3
//
this.instantDoCtrl3._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("instantDoCtrl3._StateStream")));
//
// tm_card
//
this.tm_card.Enabled = true;
this.tm_card.Tick += new System.EventHandler(this.tm_card_Tick);
//
// panel4
//
this.panel4.BackColor = System.Drawing.SystemColors.Control;
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel4.Controls.Add(this.panel5);
this.panel4.Controls.Add(this.panel9);
this.panel4.Controls.Add(this.panel7);
this.panel4.Dock = System.Windows.Forms.DockStyle.Right;
this.panel4.Location = new System.Drawing.Point(975, 0);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(317, 750);
this.panel4.TabIndex = 16;
//
// panel5
//
this.panel5.BackColor = System.Drawing.SystemColors.Control;
this.panel5.Controls.Add(this.dataGridView1);
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(0, 0);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(315, 503);
this.panel5.TabIndex = 0;
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.,
this.,
this.,
this.,
this.线});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.ControlLight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowHeadersWidth = 51;
this.dataGridView1.RowTemplate.Height = 45;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(315, 503);
this.dataGridView1.TabIndex = 6;
this.dataGridView1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView1_DataError);
//
// 设备编号
//
this..DataPropertyName = "设备编号";
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this..DefaultCellStyle = dataGridViewCellStyle1;
this..HeaderText = "设备编号";
this..MinimumWidth = 6;
this..Name = "设备编号";
this..ReadOnly = true;
this..Width = 65;
//
// 设备位置
//
this..DataPropertyName = "设备位置";
this..HeaderText = "设备位置";
this..MinimumWidth = 6;
this..Name = "设备位置";
this..ReadOnly = true;
this..Width = 65;
//
// 状态
//
this..DataPropertyName = "状态";
this..HeaderText = "状态";
this..MinimumWidth = 6;
this..Name = "状态";
this..ReadOnly = true;
this..Width = 115;
//
// 复位
//
this..DataPropertyName = "复位";
this..FalseValue = "0";
this..HeaderText = "复位";
this..MinimumWidth = 6;
this..Name = "复位";
this..TrueValue = "1";
this..Visible = false;
this..Width = 40;
//
// 在线状态
//
this.线.DataPropertyName = "在线状态";
this.线.HeaderText = "在线状态";
this.线.MinimumWidth = 6;
this.线.Name = "在线状态";
this.线.Width = 125;
//
// panel9
//
this.panel9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel9.Controls.Add(this.panel13);
this.panel9.Controls.Add(this.panel12);
this.panel9.Controls.Add(this.panel11);
this.panel9.Controls.Add(this.panel10);
this.panel9.Controls.Add(this.label1);
this.panel9.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel9.Location = new System.Drawing.Point(0, 503);
this.panel9.Name = "panel9";
this.panel9.Size = new System.Drawing.Size(315, 167);
this.panel9.TabIndex = 20;
//
// panel13
//
this.panel13.BackColor = System.Drawing.SystemColors.Control;
this.panel13.Controls.Add(this.pictureBox14);
this.panel13.Controls.Add(this.label28);
this.panel13.Dock = System.Windows.Forms.DockStyle.Top;
this.panel13.Location = new System.Drawing.Point(0, 96);
this.panel13.Name = "panel13";
this.panel13.Size = new System.Drawing.Size(313, 24);
this.panel13.TabIndex = 10;
//
// pictureBox14
//
this.pictureBox14.BackColor = System.Drawing.Color.White;
this.pictureBox14.Location = new System.Drawing.Point(22, 4);
this.pictureBox14.Name = "pictureBox14";
this.pictureBox14.Size = new System.Drawing.Size(16, 16);
this.pictureBox14.TabIndex = 7;
this.pictureBox14.TabStop = false;
//
// label28
//
this.label28.Dock = System.Windows.Forms.DockStyle.Right;
this.label28.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label28.Location = new System.Drawing.Point(144, 0);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(169, 24);
this.label28.TabIndex = 6;
this.label28.Text = "设备未开机或断网";
this.label28.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// panel12
//
this.panel12.BackColor = System.Drawing.SystemColors.Control;
this.panel12.Controls.Add(this.pictureBox13);
this.panel12.Controls.Add(this.label25);
this.panel12.Dock = System.Windows.Forms.DockStyle.Top;
this.panel12.Location = new System.Drawing.Point(0, 72);
this.panel12.Name = "panel12";
this.panel12.Size = new System.Drawing.Size(313, 24);
this.panel12.TabIndex = 9;
//
// pictureBox13
//
this.pictureBox13.BackColor = System.Drawing.Color.Red;
this.pictureBox13.Location = new System.Drawing.Point(22, 4);
this.pictureBox13.Name = "pictureBox13";
this.pictureBox13.Size = new System.Drawing.Size(16, 16);
this.pictureBox13.TabIndex = 7;
this.pictureBox13.TabStop = false;
//
// label25
//
this.label25.Dock = System.Windows.Forms.DockStyle.Right;
this.label25.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label25.Location = new System.Drawing.Point(144, 0);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(169, 24);
this.label25.TabIndex = 6;
this.label25.Text = "故障报警";
this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// panel11
//
this.panel11.BackColor = System.Drawing.SystemColors.Control;
this.panel11.Controls.Add(this.pictureBox12);
this.panel11.Controls.Add(this.label24);
this.panel11.Dock = System.Windows.Forms.DockStyle.Top;
this.panel11.Location = new System.Drawing.Point(0, 48);
this.panel11.Name = "panel11";
this.panel11.Size = new System.Drawing.Size(313, 24);
this.panel11.TabIndex = 8;
//
// pictureBox12
//
this.pictureBox12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.pictureBox12.Location = new System.Drawing.Point(22, 4);
this.pictureBox12.Name = "pictureBox12";
this.pictureBox12.Size = new System.Drawing.Size(16, 16);
this.pictureBox12.TabIndex = 7;
this.pictureBox12.TabStop = false;
//
// label24
//
this.label24.Dock = System.Windows.Forms.DockStyle.Right;
this.label24.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label24.Location = new System.Drawing.Point(144, 0);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(169, 24);
this.label24.TabIndex = 6;
this.label24.Text = "障碍物、低电压报警";
this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// panel10
//
this.panel10.BackColor = System.Drawing.SystemColors.Control;
this.panel10.Controls.Add(this.pictureBox11);
this.panel10.Controls.Add(this.label26);
this.panel10.Dock = System.Windows.Forms.DockStyle.Top;
this.panel10.Location = new System.Drawing.Point(0, 24);
this.panel10.Name = "panel10";
this.panel10.Size = new System.Drawing.Size(313, 24);
this.panel10.TabIndex = 7;
//
// pictureBox11
//
this.pictureBox11.BackColor = System.Drawing.Color.Lime;
this.pictureBox11.Location = new System.Drawing.Point(22, 4);
this.pictureBox11.Name = "pictureBox11";
this.pictureBox11.Size = new System.Drawing.Size(16, 16);
this.pictureBox11.TabIndex = 7;
this.pictureBox11.TabStop = false;
//
// label26
//
this.label26.Dock = System.Windows.Forms.DockStyle.Right;
this.label26.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label26.Location = new System.Drawing.Point(144, 0);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(169, 24);
this.label26.TabIndex = 6;
this.label26.Text = "设备正常";
this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label1
//
this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.label1.Dock = System.Windows.Forms.DockStyle.Top;
this.label1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(313, 24);
this.label1.TabIndex = 1;
this.label1.Text = "设备状态说明";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel7
//
this.panel7.BackgroundImage = global::AGVSystem.Properties.Resources.csg___副本;
this.panel7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.panel7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel7.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel7.Location = new System.Drawing.Point(0, 670);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(315, 78);
this.panel7.TabIndex = 19;
//
// timer3
//
this.timer3.Enabled = true;
this.timer3.Interval = 6000;
this.timer3.Tick += new System.EventHandler(this.timer3_Tick);
//
// Frm_A17168
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(1292, 780);
this.Controls.Add(this.panel4);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel8);
this.ForeColor = System.Drawing.SystemColors.ControlText;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "Frm_A17168";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "设备调度监控";
this.TopMost = true;
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form1_FormClosed);
this.Load += new System.EventHandler(this.Form1_Load);
this.panel8.ResumeLayout(false);
this.pnl10.ResumeLayout(false);
this.pnl11.ResumeLayout(false);
this.pnl9.ResumeLayout(false);
this.pnl8.ResumeLayout(false);
this.pnl7.ResumeLayout(false);
this.pnl6.ResumeLayout(false);
this.pnl5.ResumeLayout(false);
this.pnl4.ResumeLayout(false);
this.pnl3.ResumeLayout(false);
this.pnl2.ResumeLayout(false);
this.pnl1.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel5.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel9.ResumeLayout(false);
this.panel13.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox14)).EndInit();
this.panel12.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox13)).EndInit();
this.panel11.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox12)).EndInit();
this.panel10.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox11)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel8;
private System.Windows.Forms.Panel pnl8;
private System.Windows.Forms.Panel pnl7;
private System.Windows.Forms.Panel pnl6;
private System.Windows.Forms.Panel pnl5;
private System.Windows.Forms.Panel pnl4;
private System.Windows.Forms.Panel pnl2;
private System.Windows.Forms.Panel pnl3;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel pnl10;
private System.Windows.Forms.Panel pnl11;
private System.Windows.Forms.Panel pnl9;
private System.Windows.Forms.Timer tm_AgvInfo;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.VScrollBar vScrollBar1;
private System.Windows.Forms.Label lab5;
private System.Windows.Forms.Label lab4;
private System.Windows.Forms.Label lab3;
private System.Windows.Forms.Label lab2;
private System.Windows.Forms.Label lab7;
private System.Windows.Forms.Label lab6;
private System.Windows.Forms.Label lab8;
private System.Windows.Forms.Label lab13;
private System.Windows.Forms.Label lab11;
private System.Windows.Forms.Label lab9;
private Automation.BDaq.InstantDiCtrl instantDiCtrl1;
private Automation.BDaq.InstantDoCtrl instantDoCtrl1;
private Automation.BDaq.InstantDiCtrl instantDiCtrl2;
private Automation.BDaq.InstantDoCtrl instantDoCtrl2;
private Automation.BDaq.InstantDiCtrl instantDiCtrl3;
private Automation.BDaq.InstantDoCtrl instantDoCtrl3;
private System.Windows.Forms.Timer tm_card;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewCheckBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.Timer timer3;
private System.Windows.Forms.Panel panel7;
private System.Windows.Forms.Panel panel9;
private System.Windows.Forms.Panel panel13;
private System.Windows.Forms.PictureBox pictureBox14;
private System.Windows.Forms.Label label28;
private System.Windows.Forms.Panel panel12;
private System.Windows.Forms.PictureBox pictureBox13;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.Panel panel11;
private System.Windows.Forms.PictureBox pictureBox12;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.Panel panel10;
private System.Windows.Forms.PictureBox pictureBox11;
private System.Windows.Forms.Label label26;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Timer tm_btn;
private System.Windows.Forms.Panel pnl1;
private System.Windows.Forms.Label lab1;
//private System.Windows.Forms.Label PortNum0;
//private System.Windows.Forms.Label PortNum1;
//private System.Windows.Forms.Label PortNum2;
//private System.Windows.Forms.Label PortNum3;
//private System.Windows.Forms.Label PortHex0;
//private System.Windows.Forms.Label PortHex1;
//private System.Windows.Forms.Label PortHex2;
//private System.Windows.Forms.Label PortHex3;
//private System.Windows.Forms.ImageList imageList1;
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="tm_AgvInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>107, 55</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 55</value>
</metadata>
<metadata name="instantDiCtrl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="instantDiCtrl1._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="instantDoCtrl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>150, 17</value>
</metadata>
<data name="instantDoCtrl1._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="instantDiCtrl2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>287, 17</value>
</metadata>
<data name="instantDiCtrl2._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="instantDoCtrl2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>420, 17</value>
</metadata>
<data name="instantDoCtrl2._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="instantDiCtrl3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>557, 17</value>
</metadata>
<data name="instantDiCtrl3._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="instantDoCtrl3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>690, 17</value>
</metadata>
<data name="instantDoCtrl3._StateStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFJBdXRvbWF0aW9uLkJEYXEsIFZlcnNpb249MS4wLjEuMCwgQ3Vs
dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj00NjNmNTkyOGQ2MDE4M2EwBQEAAAAjQXV0b21hdGlv
bi5CRGFxLkRldmljZVN0YXRlU3RyZWFtZXIFAAAADERldmljZU51bWJlcgtEZXNjcmlwdGlvbgpEZXZp
Y2VNb2RlC01vZHVsZUluZGV4CVByb2R1Y3RJRAACAAAACAgICAIAAAD/////CgIAAAAAAAAA/////ws=
</value>
</data>
<metadata name="tm_card.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>227, 55</value>
</metadata>
<metadata name="设备编号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="设备位置.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="状态.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="复位.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="在线状态.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="timer3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>326, 55</value>
</metadata>
<metadata name="tm_btn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>827, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>122</value>
</metadata>
</root>
@@ -0,0 +1,181 @@
using AGVSystem.Cls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace AGVSystem.A17168
{
public class UPDateDBList
{
public static List<object> upDbList = new List<object>();
public static List<string> sqlList = new List<string>();
public static ClsDBConn_sql db = new ClsDBConn_sql();
public static void UpDateDb()
{
while (true)
{
try
{
if (upDbList.Count > 0)
{
if (upDbList[0] != null)
{
if (upDbList[0] is Location_Log)
{
var obj = (Location_Log)upDbList[0];
var n = db.Command("INSERT INTO [Location_Log] ([Dt] ,[Agv_ID] ,[Loc_ID] ,[Value] ,[Loc_ID2] ,[Value2],[Value3]) VALUES ('" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," + obj.Agv_Id + "," + obj.Loc_ID + "," + obj.Value + "," + obj.Loc_ID2 + "," + obj.Value2 + "," + obj.Value3 + ")");
if (n == "1")
{
upDbList.RemoveAt(0);
}
}
else if (upDbList[0] is CrossInfo_Insert)
{
var obj = (CrossInfo_Insert)upDbList[0];
string strsql = "";
strsql = "INSERT INTO [Go_Log] ([Dt] ,[Agv_id] ,[Type] ,[Location],[plc_value]) VALUES " +
"('" + obj.dt.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," + obj.agv_no + ",'" + obj.Info + "'," + obj.LandMark + "," + obj.plc_value + ")";
var n = db.Command(strsql);
if (n == "1")
{
upDbList.RemoveAt(0);
}
}
else if (upDbList[0] is Warn_Log)
{
var obj = (Warn_Log)upDbList[0];
string strsql = "INSERT INTO [Warn_Log] ([Dt] ,[Agv_id] ,[Type] ,[Reset]) VALUES ('" +
obj.Dt + "'," + obj.Agv_id + ",'" + obj.Type + "','" + (obj.Reset == null ? "NULL" : obj.Reset) + "')";
var n = db.Command(strsql);
if (n == "1")
{
upDbList.RemoveAt(0);
}
}
else if (upDbList[0] is AgvInfo)
{
var obj = (AgvInfo)upDbList[0];
string strsql = @"UPDATE [dbo].[AgvInfo]
SET [Loc_ID] = '{1}',Status = '{2}'
WHERE id = '{0}'";
strsql = string.Format(strsql, obj.Agv_ID, obj.Location_Display, obj.Enable ? 1 : 0);
var n = db.Command(strsql);
if (n == "1")
{
upDbList.RemoveAt(0);
}
}
}
else
{
upDbList.RemoveAt(0);
}
}
else
{
Thread.Sleep(50);
}
if (sqlList.Count > 0)
{
var n = db.Command(sqlList[0]);
if (n == "1")
{
sqlList.RemoveAt(0);
}
}
else
{
Thread.Sleep(50);
}
}
catch { }
}
}
}
public class DeletePlcValueAndTime
{
public DeletePlcValueAndTime(int regionNumber, int stationNumber)
{
this.regionNumber = regionNumber;
this.stationNumber = stationNumber;
this.EndTime = DateTime.Now;
}
public int regionNumber { get; set; }
public int stationNumber { get; set; }
public DateTime EndTime { get; set; }
}
public class Location_Log
{
public Location_Log()
{
}
public Location_Log(DateTime dt, int agvId, int locId, int value, int locId2, int value2, int value3)
{
Dt = dt;
Agv_Id = agvId;
Loc_ID = locId;
Value = value;
Loc_ID2 = locId2;
Value2 = value2;
Value3 = value3;
}
public DateTime Dt { get; set; }
public int Agv_Id { get; set; }
public int Loc_ID { get; set; }
public int Value { get; set; }
public int Loc_ID2 { get; set; }
public int Value2 { get; set; }
public int Value3 { get; set; }
}
public class CrossInfo_Insert
{
public CrossInfo_Insert() { }
public CrossInfo_Insert(DateTime dt, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, int LandMark, string Info, int agv_no, int plc_value)
{
this.dt = dt;
this.Assembly_Name = Assembly_Name;
this.Assembly_Id = Assembly_Id;
this.AGV_Internal_No = AGV_Internal_No;
this.LandMark = LandMark;
this.Info = Info;
this.agv_no = agv_no;
this.plc_value = plc_value;
}
public DateTime dt { get; set; }
public string Assembly_Name { get; set; }
public string Assembly_Id { get; set; }
public int AGV_Internal_No { get; set; }
public int LandMark { get; set; }
public string Info { get; set; }
public int agv_no { get; set; }
public int plc_value { get; set; }
}
public class Warn_Log
{
public Warn_Log(string dt, string agvId, string type, string reset)
{
Dt = dt;
Agv_id = agvId;
Type = type;
Reset = reset;
}
public string Dt { get; set; }
public string Agv_id { get; set; }
public string Type { get; set; }
public string Reset { get; set; }
}
}
@@ -0,0 +1,669 @@
namespace AGVSystem
{
partial class AGVManage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AGVManage));
this.label1 = new System.Windows.Forms.Label();
this.num_id = new System.Windows.Forms.NumericUpDown();
this.num_seq = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.cmb_linelist = new System.Windows.Forms.ComboBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.cmb_iplist = new System.Windows.Forms.ComboBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.cmb_switchip = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.numPort = new System.Windows.Forms.NumericUpDown();
this.label9 = new System.Windows.Forms.Label();
this.button5 = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.lab_km = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.cmb_type = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.cmb_status = new System.Windows.Forms.ComboBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.cmb_worktype = new System.Windows.Forms.ComboBox();
this.label12 = new System.Windows.Forms.Label();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IP地址 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IP = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.lab_id = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.num_id)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_seq)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numPort)).BeginInit();
this.groupBox1.SuspendLayout();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(54, 43);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 6;
this.label1.Text = "编号:";
//
// num_id
//
this.num_id.BackColor = System.Drawing.SystemColors.ScrollBar;
this.num_id.Location = new System.Drawing.Point(102, 37);
this.num_id.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.num_id.Name = "num_id";
this.num_id.Size = new System.Drawing.Size(120, 21);
this.num_id.TabIndex = 7;
//
// num_seq
//
this.num_seq.Location = new System.Drawing.Point(105, 33);
this.num_seq.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.num_seq.Name = "num_seq";
this.num_seq.Size = new System.Drawing.Size(120, 21);
this.num_seq.TabIndex = 9;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(58, 35);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 8;
this.label2.Text = "序号:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(46, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 10;
this.label3.Text = "IP地址:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(52, 84);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 12;
this.label4.Text = "线体:";
//
// cmb_linelist
//
this.cmb_linelist.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_linelist.FormattingEnabled = true;
this.cmb_linelist.Items.AddRange(new object[] {
" "});
this.cmb_linelist.Location = new System.Drawing.Point(100, 80);
this.cmb_linelist.Name = "cmb_linelist";
this.cmb_linelist.Size = new System.Drawing.Size(205, 20);
this.cmb_linelist.TabIndex = 13;
this.cmb_linelist.TextChanged += new System.EventHandler(this.cmb_linelist_TextChanged);
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.,
this.,
this.IP地址,
this.,
this.IP,
this.,
this.,
this.,
this.线,
this.线});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(655, 542);
this.dataGridView1.TabIndex = 14;
this.dataGridView1.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dataGridView1_RowStateChanged);
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// cmb_iplist
//
this.cmb_iplist.FormattingEnabled = true;
this.cmb_iplist.Location = new System.Drawing.Point(104, 86);
this.cmb_iplist.Name = "cmb_iplist";
this.cmb_iplist.Size = new System.Drawing.Size(121, 20);
this.cmb_iplist.TabIndex = 15;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dataGridView1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Panel2.Controls.Add(this.toolStrip1);
this.splitContainer1.Size = new System.Drawing.Size(1130, 542);
this.splitContainer1.SplitterDistance = 655;
this.splitContainer1.TabIndex = 16;
//
// panel1
//
this.panel1.Controls.Add(this.groupBox2);
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 71);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(471, 471);
this.panel1.TabIndex = 15;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.cmb_worktype);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.cmb_switchip);
this.groupBox2.Controls.Add(this.label11);
this.groupBox2.Controls.Add(this.label10);
this.groupBox2.Controls.Add(this.numPort);
this.groupBox2.Controls.Add(this.label9);
this.groupBox2.Controls.Add(this.cmb_iplist);
this.groupBox2.Controls.Add(this.button5);
this.groupBox2.Controls.Add(this.pictureBox1);
this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Controls.Add(this.label8);
this.groupBox2.Controls.Add(this.lab_km);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Controls.Add(this.cmb_type);
this.groupBox2.Controls.Add(this.num_seq);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.label3);
this.groupBox2.Controls.Add(this.cmb_status);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Enabled = false;
this.groupBox2.Location = new System.Drawing.Point(0, 116);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(471, 355);
this.groupBox2.TabIndex = 15;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "基本信息";
//
// cmb_switchip
//
this.cmb_switchip.FormattingEnabled = true;
this.cmb_switchip.Location = new System.Drawing.Point(104, 139);
this.cmb_switchip.Name = "cmb_switchip";
this.cmb_switchip.Size = new System.Drawing.Size(121, 20);
this.cmb_switchip.TabIndex = 33;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(27, 143);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(71, 12);
this.label11.TabIndex = 32;
this.label11.Text = "Switch IP";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(256, 89);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(65, 12);
this.label10.TabIndex = 30;
this.label10.Text = "通讯端口:";
//
// numPort
//
this.numPort.Location = new System.Drawing.Point(322, 85);
this.numPort.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.numPort.Name = "numPort";
this.numPort.Size = new System.Drawing.Size(86, 21);
this.numPort.TabIndex = 31;
//
// label9
//
this.label9.Location = new System.Drawing.Point(44, 232);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(199, 89);
this.label9.TabIndex = 29;
//
// button5
//
this.button5.Location = new System.Drawing.Point(189, 361);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(75, 23);
this.button5.TabIndex = 23;
this.button5.Text = "清零";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(168, 372);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(17, 12);
this.label7.TabIndex = 22;
this.label7.Text = "km";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(37, 196);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 26;
this.label8.Text = "设备型号:";
//
// lab_km
//
this.lab_km.AutoSize = true;
this.lab_km.Location = new System.Drawing.Point(118, 372);
this.lab_km.Name = "lab_km";
this.lab_km.Size = new System.Drawing.Size(11, 12);
this.lab_km.TabIndex = 21;
this.lab_km.Text = "0";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(44, 372);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 20;
this.label5.Text = "行驶里程:";
//
// cmb_type
//
this.cmb_type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_type.FormattingEnabled = true;
this.cmb_type.Location = new System.Drawing.Point(104, 193);
this.cmb_type.Name = "cmb_type";
this.cmb_type.Size = new System.Drawing.Size(86, 20);
this.cmb_type.TabIndex = 27;
this.cmb_type.TextChanged += new System.EventHandler(this.cmb_type_TextChanged);
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(256, 35);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 12);
this.label6.TabIndex = 24;
this.label6.Text = "设备状态:";
//
// cmb_status
//
this.cmb_status.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_status.FormattingEnabled = true;
this.cmb_status.Items.AddRange(new object[] {
"禁用",
"启用"});
this.cmb_status.Location = new System.Drawing.Point(322, 32);
this.cmb_status.Name = "cmb_status";
this.cmb_status.Size = new System.Drawing.Size(86, 20);
this.cmb_status.TabIndex = 25;
//
// groupBox1
//
this.groupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.groupBox1.Controls.Add(this.lab_id);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.cmb_linelist);
this.groupBox1.Controls.Add(this.num_id);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(471, 116);
this.groupBox1.TabIndex = 30;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "设备选择";
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(471, 71);
this.toolStrip1.TabIndex = 27;
this.toolStrip1.Text = "toolStrip1";
//
// cmb_worktype
//
this.cmb_worktype.FormattingEnabled = true;
this.cmb_worktype.Location = new System.Drawing.Point(322, 139);
this.cmb_worktype.Name = "cmb_worktype";
this.cmb_worktype.Size = new System.Drawing.Size(121, 20);
this.cmb_worktype.TabIndex = 35;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(256, 143);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(65, 12);
this.label12.TabIndex = 34;
this.label12.Text = "物料类型:";
//
// 编号
//
this..DataPropertyName = "编号";
this..HeaderText = "编号";
this..Name = "编号";
this..ReadOnly = true;
//
// 序号
//
this..DataPropertyName = "序号";
this..HeaderText = "序号";
this..Name = "序号";
this..ReadOnly = true;
//
// IP地址
//
this.IP地址.DataPropertyName = "IP地址";
this.IP地址.HeaderText = "IP地址";
this.IP地址.Name = "IP地址";
this.IP地址.ReadOnly = true;
this.IP地址.Width = 140;
//
// 通讯端口
//
this..DataPropertyName = "通讯端口";
this..HeaderText = "通讯端口";
this..Name = "通讯端口";
this..ReadOnly = true;
//
// 交换机IP
//
this.IP.DataPropertyName = "交换机IP";
this.IP.HeaderText = "交换机IP";
this.IP.Name = "交换机IP";
this.IP.ReadOnly = true;
//
// 设备状态
//
this..DataPropertyName = "设备状态";
this..HeaderText = "设备状态";
this..Name = "设备状态";
this..ReadOnly = true;
//
// 物料名称
//
this..DataPropertyName = "物料名称";
this..HeaderText = "物料名称";
this..Name = "物料名称";
this..ReadOnly = true;
//
// 设备型号
//
this..DataPropertyName = "设备型号";
this..HeaderText = "设备型号";
this..Name = "设备型号";
this..ReadOnly = true;
//
// 线体编号
//
this.线.DataPropertyName = "线体编号";
this.线.HeaderText = "线体编号";
this.线.Name = "线体编号";
this.线.ReadOnly = true;
this.线.Visible = false;
//
// 线体名称
//
this.线.DataPropertyName = "线体名称";
this.线.HeaderText = "线体名称";
this.线.Name = "线体名称";
this.线.ReadOnly = true;
this.线.Width = 180;
//
// lab_id
//
this.lab_id.AutoSize = true;
this.lab_id.Location = new System.Drawing.Point(234, 41);
this.lab_id.Name = "lab_id";
this.lab_id.Size = new System.Drawing.Size(47, 12);
this.lab_id.TabIndex = 14;
this.lab_id.Text = "label13";
//
// pictureBox1
//
this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Location = new System.Drawing.Point(258, 196);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(128, 128);
this.pictureBox1.TabIndex = 28;
this.pictureBox1.TabStop = false;
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 68);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 68);
this.toolStripButton2.Text = "查询";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 68);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 68);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 68);
this.toolStripButton5.Text = "更新";
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 68);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// AGVManage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1130, 542);
this.Controls.Add(this.splitContainer1);
this.Name = "AGVManage";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "AGV设备管理";
this.TopMost = true;
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.AGVManage_Load);
((System.ComponentModel.ISupportInitialize)(this.num_id)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_seq)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numPort)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.NumericUpDown num_id;
private System.Windows.Forms.NumericUpDown num_seq;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox cmb_linelist;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.ComboBox cmb_iplist;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label lab_km;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ComboBox cmb_type;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.ComboBox cmb_status;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.NumericUpDown numPort;
private System.Windows.Forms.ComboBox cmb_switchip;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.ComboBox cmb_worktype;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn IP地址;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn IP;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.Label lab_id;
}
}
@@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class AGVManage : Form
{
private int flag = 0;
private ClsDBConn_sql db = new ClsDBConn_sql();
private System.Data.DataSet ds = new System.Data.DataSet();
public AGVManage()//string caption, string btn_name
{
InitializeComponent();
//this.Text = caption;
//btn.Text = btn_name;
ds = db.connDt("select CONVERT( VARCHAR(10),id) +' . '+ line_name as info from Assembly_Line order by id");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_linelist.Items.Add(dr[0].ToString());
}
}
}
ds.Tables.Clear();
ds = db.connDt("select id from ipaddress where id not in (select ipaddress from agvinfo) order by seq");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_iplist.Items.Add(dr[0].ToString());
cmb_switchip.Items.Add(dr[0].ToString());
}
}
}
ds.Tables.Clear();
ds = db.connDt("SELECT [ID] FROM [Agv_Type]");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_type.Items.Add(dr[0].ToString());
}
}
}
ds.Tables.Clear();
ds = db.connDt("SELECT [Name] FROM [WorkLocationInfo]");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
cmb_worktype.Items.Add("");
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_worktype.Items.Add(dr[0].ToString());
}
}
}
}
private void AGVManage_Load(object sender, EventArgs e)
{
ds.Tables.Clear();
ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址,SwitchIP as 交换机IP, port as 通讯端口, AgvInfo.WorkType as 物料名称 , AgvInfo.Internal_ID as 序号 ,[Status] as 设备状态,[Type] as 设备型号, " +
" AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称 ,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
" where AgvInfo.Assembly_Line = assembly_line.id order by AgvInfo.ID");
dataGridView1.DataSource = ds.Tables[0];
groupBox2.Enabled = false;
this.WindowState = FormWindowState.Maximized;
}
private void btn_Click(object sender, EventArgs e)
{
num_id.Value = 0;
num_seq.Value = 0;
cmb_iplist.Text = "";
cmb_linelist.Text = "";
lab_km.Text = "0";
}
private int add_agv(string id, string seq, string ip, string line_id, int port, int type, string switchip, int WorkType)
{
int rowcount = 0;
rowcount = Convert.ToInt16(db.Command("insert into agvinfo (id , ipaddress , internal_id , assembly_line, port,type,switchip,WorkType) values (" + id + ",'" + ip + "'," + seq + "," + line_id + "," + port + "," + type + ",'" + switchip + "'," + WorkType + ")"));
return rowcount;
}
private int delete_agv(string id)
{
int rowcount = 0;
rowcount = Convert.ToInt16(db.Command("delete from agvinfo where id =" + id));
return rowcount;
}
private int update_agv()
{
int rowcount = 0;
string strsql;
strsql = "UPDATE [AgvInfo] "+
"SET [IPAddress] = '"+cmb_iplist.Text+"'"+
" ,[Status] = "+cmb_status.SelectedIndex+
" ,[Internal_ID] = "+num_seq.Value+
" ,[Assembly_Line] = "+cmb_linelist.Text.Split('.')[0]+
" ,[Type] = "+cmb_type.Text+
" ,[Mileage] = "+lab_km.Text+
" ,port = "+numPort.Value+
" ,switchip = '" +cmb_switchip.Text+
"' ,[WorkType] = " + cmb_worktype.SelectedIndex +
" WHERE [ID] = "+lab_id.Text;
rowcount = Convert.ToInt16(db.Command(strsql));
return rowcount;
}
private void select_agv(string id, string line_id)
{
ds.Tables.Clear();
if (id != "0")
{
ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址, port as 通讯端口, AgvInfo.WorkType as 物料名称, AgvInfo.Internal_ID as 序号 ,[Status] as 设备状态,[Type] as 设备型号, " +
" AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称 ,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
" where AgvInfo.Assembly_Line = assembly_line.id and AgvInfo.ID= " + id +
" order by AgvInfo.ID");
}
//else if (seq != "0")
//{
// ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址, AgvInfo.Internal_ID as 序号 , " +
// " AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
// " where AgvInfo.Assembly_Line = assembly_line.id and AgvInfo.Internal_ID= " + seq +
// " order by AgvInfo.ID");
//}
//else if (ip != "")
//{
// ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址, AgvInfo.Internal_ID as 序号 , " +
// " AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
// " where AgvInfo.Assembly_Line = assembly_line.id and AgvInfo.IPAddress= '" + ip +"'"+
// " order by AgvInfo.ID");
//}
else if (line_id.Trim() != "")
{
ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址, port as 通讯端口, AgvInfo.WorkType as 物料名称, AgvInfo.Internal_ID as 序号 ,[Status] as 设备状态,[Type] as 设备型号, " +
" AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称 ,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
" where AgvInfo.Assembly_Line = assembly_line.id and AgvInfo.Assembly_Line= " + line_id +
" order by AgvInfo.ID");
}
else
{
ds = db.connDt("SELECT AgvInfo.ID as 编号, AgvInfo.IPAddress as IP地址, port as 通讯端口, AgvInfo.WorkType as 物料名称, AgvInfo.Internal_ID as 序号 ,[Status] as 设备状态,[Type] as 设备型号, " +
" AgvInfo.Assembly_Line as 线体编号 , assembly_line.line_name as 线体名称 ,agvinfo.Mileage as 行驶里程 FROM AgvInfo ,assembly_line " +
" where AgvInfo.Assembly_Line = assembly_line.id order by AgvInfo.ID");
}
dataGridView1.DataSource = ds.Tables[0];
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
flag = 0;
num_id.Value = Convert.ToDecimal( dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["编号"].Value);
lab_id.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["编号"].Value.ToString();
num_seq.Value = Convert.ToDecimal( dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["序号"].Value);
cmb_iplist.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["IP地址"].Value.ToString();
cmb_switchip.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["交换机IP"].Value.ToString();
cmb_linelist.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["线体编号"].Value.ToString()+" . "+
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["线体名称"].Value.ToString();
lab_km.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["行驶里程"].Value.ToString();
cmb_status.Text= (dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["设备状态"].Value.ToString()=="True")?"启用":"禁用";
cmb_type.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["设备型号"].Value.ToString();
numPort.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["通讯端口"].Value.ToString());
cmb_worktype.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["物料名称"].Value);
groupBox2.Enabled = false;
}
}
private void button5_Click(object sender, EventArgs e)
{
lab_km.Text = "0";
}
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
flag = 1;
num_seq.Value = 0;
cmb_iplist.Text = "";
cmb_switchip.Text = "";
cmb_linelist.SelectedIndex = 0;
lab_km.Text = "0";
lab_id.Text = "";
groupBox2.Enabled = true;
DataSet ds1 = db.connDt("SELECT max([ID])+1 FROM [AgvInfo]");
if (ds1.Tables[0].Rows[0][0].ToString() != "")
{
num_id.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0][0].ToString());
}
else
{
num_id.Value = 1;
}
cmb_type.SelectedIndex = 0;
numPort.Value = 0;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
flag = 0;
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || num_seq.Value == 0 || cmb_iplist.Text == "" || cmb_linelist.Text.Trim() == "")
{
return;
}
if (add_agv(num_id.Value.ToString(), num_seq.Value.ToString(), cmb_iplist.Text, cmb_linelist.Text.Split('.')[0], Convert.ToInt16(numPort.Value ),Convert.ToInt16( cmb_type.Text ),cmb_switchip.Text,cmb_worktype.SelectedIndex) > 0)
{
cmb_iplist.Items.Remove(cmb_iplist.Text);
MessageBox.Show("添加成功!");
}
else
{
return;
}
AGVManage_Load(null, null);
toolStripButton1_Click(null, null);
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
flag = 0;
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || num_seq.Value == 0 || cmb_iplist.Text == "" || cmb_linelist.Text == "")
{
return;
}
if (delete_agv(num_id.Value.ToString()) > 0)
{
cmb_iplist.Items.Add(cmb_iplist.Text);
MessageBox.Show("删除成功!");
}
else
{
return;
}
AGVManage_Load(null, null);
toolStripButton1_Click(null, null);
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
flag = 0;
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || num_seq.Value == 0 || cmb_iplist.Text == "" || cmb_linelist.Text == "")
{
return;
}
if (update_agv() > 0)
{
AGVManage_Load(null,null);
MessageBox.Show("修改成功!");
}
else
{
return;
}
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
flag = 0;
select_agv(num_id.Value.ToString(), cmb_linelist.Text.Split('.')[0]);
return;
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
flag = 0;
groupBox2.Enabled = true;
}
private void cmb_type_TextChanged(object sender, EventArgs e)
{
if (cmb_type.SelectedIndex == 0)
{
pictureBox1.BackgroundImage = null;
label9.Text = "";
}
else if (cmb_type.SelectedIndex > 0)
{
try
{
DataSet ds1 = db.connDt("SELECT [Remark] FROM [Agv_Type] where id =" + cmb_type.Text);
if (ds1.Tables[0].Rows.Count > 0)
label9.Text = ds1.Tables[0].Rows[0][0].ToString();
pictureBox1.BackgroundImage = Image.FromFile(Application.StartupPath + @"\picture\" + cmb_type.Text + ".JPG");
}
catch
{
}
}
}
private void cmb_linelist_TextChanged(object sender, EventArgs e)
{
if (flag == 1 && cmb_linelist.Text.Trim()!="")
{
DataSet ds1 = db.connDt("SELECT max([Internal_ID])+1 FROM [AgvInfo] where Assembly_Line=" + cmb_linelist.Text.Split('.')[0]);
if (ds1.Tables[0].Rows[0][0].ToString() !="")
num_seq.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0][0].ToString());
else
num_seq.Value = 1;
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,557 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DFD727F6-6F4F-4890-A64D-339BA372E1AC}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AGVSystem</RootNamespace>
<AssemblyName>华晓AGV管理系统</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ProductName>AGV智能管理系统</ProductName>
<PublisherName>华晓精密工业(苏州)有限公司</PublisherName>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>4.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>favicon-20171218125616264.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>2243923EBF79CFB9D5303F89DC6A6C0B41341AA7</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup>
<ManifestKeyFile>AGVSystem_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>false</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<TargetZone>LocalIntranet</TargetZone>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="AgvCar, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\AgvCar.dll</HintPath>
</Reference>
<Reference Include="AgvLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>bin\Debug\AgvLib.dll</HintPath>
</Reference>
<Reference Include="Agv_Control, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Agv_Control.dll</HintPath>
</Reference>
<Reference Include="Agv_Info, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Agv_Info.dll</HintPath>
</Reference>
<Reference Include="Automation.BDaq, Version=1.0.1.0, Culture=neutral, PublicKeyToken=463f5928d60183a0, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Automation.BDaq.dll</HintPath>
</Reference>
<Reference Include="Crossing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Crossing.dll</HintPath>
</Reference>
<Reference Include="IO_Card_1730U, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\IO_Card_1730U.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.ConnectionUI, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Microsoft.Data.ConnectionUI.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.ConnectionUI.Dialog, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Microsoft.Data.ConnectionUI.Dialog.dll</HintPath>
</Reference>
<Reference Include="Omron_Serial_Fins, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Omron_Serial_Fins.dll</HintPath>
</Reference>
<Reference Include="Omron_Serial_Hostlink, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Omron_Serial_Hostlink.dll</HintPath>
</Reference>
<Reference Include="s7api.net, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\s7api.net.dll</HintPath>
</Reference>
<Reference Include="SCM_Protocol, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\SCM_Protocol.dll</HintPath>
</Reference>
<Reference Include="Siemens_net_Protocol, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Siemens_net_Protocol.dll</HintPath>
</Reference>
<Reference Include="Siemens_S200_Serial, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Siemens_S200_Serial.dll</HintPath>
</Reference>
<Reference Include="Siemens_S7200_PPI, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Debug\Siemens_S7200_PPI.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Speech" />
<Reference Include="System.Windows.Forms.DataVisualization" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="A17168\Cls_A17168.cs" />
<Compile Include="A17168\Frm_A17168.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="A17168\Frm_A17168.Designer.cs">
<DependentUpon>Frm_A17168.cs</DependentUpon>
</Compile>
<Compile Include="A17168\UPDateDBList.cs" />
<Compile Include="AboutBox1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutBox1.Designer.cs">
<DependentUpon>AboutBox1.cs</DependentUpon>
</Compile>
<Compile Include="AGVManage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AGVManage.designer.cs">
<DependentUpon>AGVManage.cs</DependentUpon>
</Compile>
<Compile Include="Agv_Status.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Agv_Status.Designer.cs">
<DependentUpon>Agv_Status.cs</DependentUpon>
</Compile>
<Compile Include="APInfo.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="APInfo.designer.cs">
<DependentUpon>APInfo.cs</DependentUpon>
</Compile>
<Compile Include="APTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="APTest.designer.cs">
<DependentUpon>APTest.cs</DependentUpon>
</Compile>
<Compile Include="Cls\AGVClientCls.cs" />
<Compile Include="Cls\AgvInfo.cs" />
<Compile Include="Cls\ClsDBConn_sql.cs" />
<Compile Include="Cls\Cls_Mc_Mitsubishi.cs" />
<Compile Include="Cls\Cls_Plc_Info.cs" />
<Compile Include="Cls\Cls_Profinet_Siemens.cs" />
<Compile Include="Cls\FileRW.cs" />
<Compile Include="Cls\OmronFINS.cs" />
<Compile Include="Cls\OmronHostlink.cs" />
<Compile Include="Cls\Param.cs" />
<Compile Include="Cls\Path_Reset.cs" />
<Compile Include="Cls\Senddataset.cs" />
<Compile Include="Cls\SocketExtensions.cs" />
<Compile Include="Cls\Soc_Client.cs" />
<Compile Include="Cls\WriteTxt.cs" />
<Compile Include="Control_Point.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Control_Point.designer.cs">
<DependentUpon>Control_Point.cs</DependentUpon>
</Compile>
<Compile Include="DatabaseSet.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DatabaseSet.designer.cs">
<DependentUpon>DatabaseSet.cs</DependentUpon>
</Compile>
<Compile Include="InputSet.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="InputSet.Designer.cs">
<DependentUpon>InputSet.cs</DependentUpon>
</Compile>
<Compile Include="Location_Set.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Location_Set.Designer.cs">
<DependentUpon>Location_Set.cs</DependentUpon>
</Compile>
<Compile Include="OutputSet.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OutputSet.Designer.cs">
<DependentUpon>OutputSet.cs</DependentUpon>
</Compile>
<Compile Include="Cls\Func.cs" />
<Compile Include="frmfind.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmfind.Designer.cs">
<DependentUpon>frmfind.cs</DependentUpon>
</Compile>
<Compile Include="frm_card.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frm_card.Designer.cs">
<DependentUpon>frm_card.cs</DependentUpon>
</Compile>
<Compile Include="Frm_Path_Status.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Frm_Path_Status.Designer.cs">
<DependentUpon>Frm_Path_Status.cs</DependentUpon>
</Compile>
<Compile Include="Linemanage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Linemanage.designer.cs">
<DependentUpon>Linemanage.cs</DependentUpon>
</Compile>
<Compile Include="logon.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="logon.Designer.cs">
<DependentUpon>logon.cs</DependentUpon>
</Compile>
<Compile Include="mainfrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="mainfrm.Designer.cs">
<DependentUpon>mainfrm.cs</DependentUpon>
</Compile>
<Compile Include="Point_loc_Set.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Point_loc_Set.Designer.cs">
<DependentUpon>Point_loc_Set.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SetControl.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetControl.designer.cs">
<DependentUpon>SetControl.cs</DependentUpon>
</Compile>
<Compile Include="SysSet.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SysSet.Designer.cs">
<DependentUpon>SysSet.cs</DependentUpon>
</Compile>
<Compile Include="warnlist.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="warnlist.Designer.cs">
<DependentUpon>warnlist.cs</DependentUpon>
</Compile>
<Compile Include="frmwarnfind.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmwarnfind.Designer.cs">
<DependentUpon>frmwarnfind.cs</DependentUpon>
</Compile>
<Compile Include="frmchangefind.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmchangefind.Designer.cs">
<DependentUpon>frmchangefind.cs</DependentUpon>
</Compile>
<Compile Include="frmnetfind.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmnetfind.Designer.cs">
<DependentUpon>frmnetfind.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="A17168\Frm_A17168.resx">
<DependentUpon>Frm_A17168.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="AboutBox1.resx">
<DependentUpon>AboutBox1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="AGVManage.resx">
<DependentUpon>AGVManage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Agv_Status.resx">
<DependentUpon>Agv_Status.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="APInfo.resx">
<DependentUpon>APInfo.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="APTest.resx">
<DependentUpon>APTest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Control_Point.resx">
<DependentUpon>Control_Point.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DatabaseSet.resx">
<DependentUpon>DatabaseSet.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmfind.resx">
<DependentUpon>frmfind.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frm_card.resx">
<DependentUpon>frm_card.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Frm_Path_Status.resx">
<DependentUpon>Frm_Path_Status.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="InputSet.resx">
<DependentUpon>InputSet.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Linemanage.resx">
<DependentUpon>Linemanage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Location_Set.resx">
<DependentUpon>Location_Set.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="logon.resx">
<DependentUpon>logon.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="mainfrm.resx">
<DependentUpon>mainfrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="OutputSet.resx">
<DependentUpon>OutputSet.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Point_loc_Set.resx">
<DependentUpon>Point_loc_Set.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="SetControl.resx">
<DependentUpon>SetControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SysSet.resx">
<DependentUpon>SysSet.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="warnlist.resx">
<DependentUpon>warnlist.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmwarnfind.resx">
<DependentUpon>frmwarnfind.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmchangefind.resx">
<DependentUpon>frmchangefind.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmnetfind.resx">
<DependentUpon>frmnetfind.cs</DependentUpon>
</EmbeddedResource>
<None Include="app.config" />
<None Include="bin\Debug\Config\ApiModel.json" />
<None Include="bin\x64\Release\华晓AGV管理系统.exe.config" />
<None Include="ClassDiagram1.cd" />
<None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Resources\AP站点监测 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AP站点监测.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV故障报警 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV故障报警.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV路口放行信息 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV路口放行信息.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV设备管理 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV设备管理.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AGV实时管理系统 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\华晓精密 拷贝.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\DLZZNS.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\未标题-1 拷贝.png" />
</ItemGroup>
<ItemGroup>
<Content Include="48X48.ico" />
<None Include="Resources\agv1_32.png" />
<None Include="Resources\agv2_32.png" />
<None Include="Resources\agv3_32.png" />
<None Include="Resources\agv4_32.png" />
<Content Include="bin\Debug\Crossing.dll" />
<Content Include="bin\Debug\Microsoft.Data.ConnectionUI.Dialog.dll" />
<Content Include="bin\Debug\Microsoft.Data.ConnectionUI.dll" />
<None Include="bin\Debug\picture\6.jpg" />
<None Include="bin\Debug\picture\8.jpg" />
<Content Include="bin\x64\Release\华晓AGV管理系统.exe" />
<Content Include="bin\x64\Release\华晓AGV管理系统.pdb" />
<Content Include="favicon-2017121812542562.ico" />
<Content Include="favicon-20171218125616264.ico" />
<None Include="Resources\0.png" />
<None Include="Resources\12.png" />
<None Include="Resources\csg - 副本.png" />
<Content Include="Resources\green.png" />
<None Include="Resources\hui.png" />
<None Include="Resources\lv.png" />
<None Include="Resources\ledHigh.png" />
<None Include="Resources\ledLow.png" />
<Content Include="Resources\red.png" />
<None Include="Resources\华晓logo.jpg" />
<None Include="Resources\33.png" />
<None Include="Resources\help.png" />
<None Include="Resources\华晓精密 拷贝2.png" />
<None Include="Resources\11.png" />
<None Include="Resources\2.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 和 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="bin\Release\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BllSql\BllSql.csproj">
<Project>{11f88c8a-181b-4204-893a-1c2b4348c8d6}</Project>
<Name>BllSql</Name>
</ProjectReference>
<ProjectReference Include="..\HxBusiness\HxBusiness.csproj">
<Project>{183258A1-5B41-44ED-91B4-848CE91DEFB4}</Project>
<Name>HxBusiness</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -0,0 +1,63 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
VisualStudioVersion = 15.0.28307.902
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGVSystem", "AGVSystem.csproj", "{DFD727F6-6F4F-4890-A64D-339BA372E1AC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BllSql", "..\BllSql\BllSql.csproj", "{11F88C8A-181B-4204-893A-1C2B4348C8D6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HxBusiness", "..\HxBusiness\HxBusiness.csproj", "{183258A1-5B41-44ED-91B4-848CE91DEFB4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|Any CPU.ActiveCfg = Debug|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|Any CPU.Build.0 = Debug|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|x64.ActiveCfg = Debug|x64
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|x64.Build.0 = Debug|x64
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|x86.ActiveCfg = Debug|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Debug|x86.Build.0 = Debug|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Release|Any CPU.ActiveCfg = Release|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Release|x64.ActiveCfg = Release|x64
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Release|x64.Build.0 = Release|x64
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Release|x86.ActiveCfg = Release|x86
{DFD727F6-6F4F-4890-A64D-339BA372E1AC}.Release|x86.Build.0 = Release|x86
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|x64.ActiveCfg = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|x64.Build.0 = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|x86.ActiveCfg = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Debug|x86.Build.0 = Debug|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|Any CPU.Build.0 = Release|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|x64.ActiveCfg = Release|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|x64.Build.0 = Release|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|x86.ActiveCfg = Release|Any CPU
{11F88C8A-181B-4204-893A-1C2B4348C8D6}.Release|x86.Build.0 = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|x64.ActiveCfg = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|x64.Build.0 = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|x86.ActiveCfg = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Debug|x86.Build.0 = Debug|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|Any CPU.Build.0 = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|x64.ActiveCfg = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|x64.Build.0 = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|x86.ActiveCfg = Release|Any CPU
{183258A1-5B41-44ED-91B4-848CE91DEFB4}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E8222F61-CA90-4250-B1CB-EF17AC53B5B5}
EndGlobalSection
EndGlobal
+521
View File
@@ -0,0 +1,521 @@
namespace AGVSystem
{
partial class APInfo
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(APInfo));
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IP地址 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.xd = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SSID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.location = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Remark = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.num_id = new System.Windows.Forms.NumericUpDown();
this.cmb_ip = new System.Windows.Forms.ComboBox();
this.txt_ssid = new System.Windows.Forms.TextBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label8 = new System.Windows.Forms.Label();
this.cmb_status = new System.Windows.Forms.ComboBox();
this.txt_remark = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.txt_location = new System.Windows.Forms.TextBox();
this.num_xd = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.cmb_type = new System.Windows.Forms.ComboBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_id)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.num_xd)).BeginInit();
this.groupBox1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.,
this.,
this.IP地址,
this.,
this.xd,
this.SSID,
this.location,
this.Remark});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(556, 542);
this.dataGridView1.TabIndex = 16;
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// 编号
//
this..DataPropertyName = "编号";
this..HeaderText = "编号";
this..Name = "编号";
this..ReadOnly = true;
this..Width = 60;
//
// 型号
//
this..DataPropertyName = "型号";
this..HeaderText = "型号";
this..Name = "型号";
this..ReadOnly = true;
//
// IP地址
//
this.IP地址.DataPropertyName = "IP地址";
this.IP地址.HeaderText = "IP地址";
this.IP地址.Name = "IP地址";
this.IP地址.ReadOnly = true;
//
// 设备状态
//
this..DataPropertyName = "Status";
this..HeaderText = "设备状态";
this..Name = "设备状态";
this..ReadOnly = true;
//
// xd
//
this.xd.DataPropertyName = "信道";
this.xd.HeaderText = "信道";
this.xd.Name = "xd";
this.xd.ReadOnly = true;
this.xd.Width = 60;
//
// SSID
//
this.SSID.DataPropertyName = "SSID";
this.SSID.HeaderText = "SSID";
this.SSID.Name = "SSID";
this.SSID.ReadOnly = true;
this.SSID.Width = 200;
//
// location
//
this.location.DataPropertyName = "位置";
this.location.HeaderText = "安装位置";
this.location.Name = "location";
this.location.ReadOnly = true;
//
// Remark
//
this.Remark.DataPropertyName = "Remark";
this.Remark.HeaderText = "备注";
this.Remark.Name = "Remark";
this.Remark.ReadOnly = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(21, 46);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 18;
this.label1.Text = "AP编号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(56, 34);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(53, 12);
this.label2.TabIndex = 19;
this.label2.Text = "IP地址:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(68, 141);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 20;
this.label3.Text = "SSID";
//
// num_id
//
this.num_id.BackColor = System.Drawing.SystemColors.ScrollBar;
this.num_id.Location = new System.Drawing.Point(80, 44);
this.num_id.Maximum = new decimal(new int[] {
30,
0,
0,
0});
this.num_id.Name = "num_id";
this.num_id.Size = new System.Drawing.Size(120, 21);
this.num_id.TabIndex = 21;
//
// cmb_ip
//
this.cmb_ip.FormattingEnabled = true;
this.cmb_ip.Location = new System.Drawing.Point(113, 30);
this.cmb_ip.Name = "cmb_ip";
this.cmb_ip.Size = new System.Drawing.Size(101, 20);
this.cmb_ip.TabIndex = 22;
//
// txt_ssid
//
this.txt_ssid.Location = new System.Drawing.Point(113, 136);
this.txt_ssid.Name = "txt_ssid";
this.txt_ssid.Size = new System.Drawing.Size(276, 21);
this.txt_ssid.TabIndex = 23;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dataGridView1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.groupBox2);
this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
this.splitContainer1.Panel2.Controls.Add(this.toolStrip1);
this.splitContainer1.Size = new System.Drawing.Size(1004, 542);
this.splitContainer1.SplitterDistance = 556;
this.splitContainer1.TabIndex = 24;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.label8);
this.groupBox2.Controls.Add(this.cmb_status);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Controls.Add(this.label3);
this.groupBox2.Controls.Add(this.cmb_ip);
this.groupBox2.Controls.Add(this.txt_remark);
this.groupBox2.Controls.Add(this.txt_ssid);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.label4);
this.groupBox2.Controls.Add(this.txt_location);
this.groupBox2.Controls.Add(this.num_xd);
this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Location = new System.Drawing.Point(0, 228);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(444, 314);
this.groupBox2.TabIndex = 32;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "配置信息";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(237, 34);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 30;
this.label8.Text = "设备状态:";
//
// cmb_status
//
this.cmb_status.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_status.FormattingEnabled = true;
this.cmb_status.Items.AddRange(new object[] {
"禁用",
"启用"});
this.cmb_status.Location = new System.Drawing.Point(303, 31);
this.cmb_status.Name = "cmb_status";
this.cmb_status.Size = new System.Drawing.Size(86, 20);
this.cmb_status.TabIndex = 31;
//
// txt_remark
//
this.txt_remark.Location = new System.Drawing.Point(113, 249);
this.txt_remark.Multiline = true;
this.txt_remark.Name = "txt_remark";
this.txt_remark.Size = new System.Drawing.Size(276, 107);
this.txt_remark.TabIndex = 29;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(68, 254);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 28;
this.label6.Text = "备注:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(68, 85);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 24;
this.label4.Text = "信道:";
//
// txt_location
//
this.txt_location.Location = new System.Drawing.Point(113, 190);
this.txt_location.Name = "txt_location";
this.txt_location.Size = new System.Drawing.Size(276, 21);
this.txt_location.TabIndex = 27;
//
// num_xd
//
this.num_xd.Location = new System.Drawing.Point(113, 80);
this.num_xd.Name = "num_xd";
this.num_xd.Size = new System.Drawing.Size(101, 21);
this.num_xd.TabIndex = 25;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(44, 195);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 26;
this.label5.Text = "安装位置:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.cmb_type);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.num_id);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Location = new System.Drawing.Point(0, 71);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(444, 157);
this.groupBox1.TabIndex = 31;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "设备信息";
//
// textBox1
//
this.textBox1.Dock = System.Windows.Forms.DockStyle.Right;
this.textBox1.Location = new System.Drawing.Point(220, 17);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox1.Size = new System.Drawing.Size(221, 137);
this.textBox1.TabIndex = 25;
this.textBox1.WordWrap = false;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(33, 95);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(41, 12);
this.label7.TabIndex = 23;
this.label7.Text = "型号:";
//
// cmb_type
//
this.cmb_type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_type.FormattingEnabled = true;
this.cmb_type.Location = new System.Drawing.Point(78, 92);
this.cmb_type.Name = "cmb_type";
this.cmb_type.Size = new System.Drawing.Size(122, 20);
this.cmb_type.TabIndex = 24;
this.cmb_type.SelectedIndexChanged += new System.EventHandler(this.cmb_type_SelectedIndexChanged);
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(444, 71);
this.toolStrip1.TabIndex = 30;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 68);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Enabled = false;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 68);
this.toolStripButton2.Text = "查询";
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 68);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 68);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 68);
this.toolStripButton5.Text = "更新";
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 68);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// APInfo
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1004, 542);
this.Controls.Add(this.splitContainer1);
this.Name = "APInfo";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "AP管理";
this.Load += new System.EventHandler(this.APInfo_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_id)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.num_xd)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.NumericUpDown num_id;
private System.Windows.Forms.ComboBox cmb_ip;
private System.Windows.Forms.TextBox txt_ssid;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.NumericUpDown num_xd;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txt_location;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox txt_remark;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ComboBox cmb_type;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ComboBox cmb_status;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn IP地址;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn xd;
private System.Windows.Forms.DataGridViewTextBoxColumn SSID;
private System.Windows.Forms.DataGridViewTextBoxColumn location;
private System.Windows.Forms.DataGridViewTextBoxColumn Remark;
}
}
@@ -0,0 +1,233 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class APInfo : Form
{
private ClsDBConn_sql db = new ClsDBConn_sql();
private System.Data.DataSet ds = new System.Data.DataSet();
public APInfo( )
{
InitializeComponent();
ds.Tables.Clear();
ds = db.connDt("SELECT [Name] FROM [AP_Type]");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_type.Items.Add(dr[0].ToString());
}
}
}
ds = db.connDt("select id from ipaddress where id not in (select ipaddress from agvinfo) and id not in (select ipaddress from ap_site) order by seq");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_ip.Items.Add(dr[0].ToString());
}
}
}
}
private void APInfo_Load(object sender, EventArgs e)
{
ds.Tables.Clear();
ds = db.connDt("select id as 编号, type as 型号,ipaddress as ip地址,[信道] , ssid ,[位置] ,[Status] ,[Remark] from AP_Site");
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
}
groupBox2.Enabled = false;
this.WindowState = FormWindowState.Maximized;
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
try
{
groupBox2.Enabled = false;
num_id.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["编号"].Value);
cmb_ip.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["IP地址"].Value.ToString();
txt_ssid.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["SSID"].Value.ToString();
num_xd.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["xd"].Value); ;
txt_location.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["location"].Value.ToString(); ;
txt_remark.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["remark"].Value.ToString();
cmb_type.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["型号"].Value.ToString();
cmb_status.Text = (dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["设备状态"].Value.ToString() == "True") ? "启用" : "禁用";
}
catch
{ }
}
}
private void btn_Click(object sender, EventArgs e)
{
}
private int add_ap(string id , string ip , string ssid,string xd,string location,string remark,string type)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("insert into ap_site (id , ipaddress , ssid,[信道] ,[位置] ,[Remark],type) values (" + id + ",'" + ip + "','" + ssid + "','" + xd + "','" + location + "','" +remark +"','"+type+"')"));
}
catch { }
return rowcount;
}
private int update_ap(string id, string ip, string ssid, string xd, string location, string remark,string type)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("update ap_site set ipaddress='" + ip + "',ssid='" + ssid + "',信道='" + xd + "',位置='" + location + "',remark='" + remark + "',type='"+ type +"' where id=" + id));
}
catch { }
return rowcount;
}
private int delete_ap(string id, string ip, string ssid)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("delete from ap_site where id=" + id));
}
catch { }
return rowcount;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
num_id.Value = 0;
num_xd.Value = 0;
txt_location.Text = "";
txt_remark.Text = "";
txt_ssid.Text = "";
cmb_ip.Text = "";
groupBox2.Enabled = true;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || cmb_ip.Text == "")
{
return;
}
if (add_ap(num_id.Value.ToString(), cmb_ip.Text, txt_ssid.Text, num_xd.Value.ToString(), txt_location.Text.Trim(), txt_remark.Text.Trim(),cmb_type.Text) > 0)
{
MessageBox.Show("添加成功!");
}
else
return;
ds.Tables.Clear();
ds = db.connDt("select id as 编号, ipaddress as ip地址,[信道] , ssid ,[位置] ,[Status] ,[Remark] from AP_Site");
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
}
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || cmb_ip.Text == "")
{
return;
}
if (delete_ap(num_id.Value.ToString(), cmb_ip.Text, txt_ssid.Text) > 0)
{
MessageBox.Show("删除成功!");
}
else
return;
ds.Tables.Clear();
ds = db.connDt("select id as 编号, ipaddress as ip地址,[信道] , ssid ,[位置] ,[Status] ,[Remark] from AP_Site");
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
}
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (groupBox2.Enabled)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || cmb_ip.Text == "")
{
return;
}
if (update_ap(num_id.Value.ToString(), cmb_ip.Text, txt_ssid.Text.Trim(), num_xd.Value.ToString(), txt_location.Text.Trim(), txt_remark.Text.Trim(), cmb_type.Text) > 0)
{
MessageBox.Show("修改成功!");
}
else
return;
APInfo_Load(null,null);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "")
textBox1.Visible = false;
else
textBox1.Visible = true;
}
private void cmb_type_SelectedIndexChanged(object sender, EventArgs e)
{
ds.Tables.Clear();
ds = db.connDt("SELECT description FROM [AP_Type] where name ='"+cmb_type.Text+"'");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
textBox1.Text = ds.Tables[0].Rows[0][0].ToString();
}
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
groupBox2.Enabled = true;
}
}
}
File diff suppressed because it is too large Load Diff
+155
View File
@@ -0,0 +1,155 @@
namespace AGVSystem
{
partial class APTest
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.IP地址 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SSID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.,
this.IP地址,
this.SSID,
this.});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 62);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(636, 336);
this.dataGridView1.TabIndex = 18;
//
// 编号
//
this..DataPropertyName = "编号";
this..HeaderText = "编号";
this..Name = "编号";
this..ReadOnly = true;
this..Width = 70;
//
// IP地址
//
this.IP地址.DataPropertyName = "IP地址";
this.IP地址.HeaderText = "IP地址";
this.IP地址.Name = "IP地址";
this.IP地址.ReadOnly = true;
this.IP地址.Width = 130;
//
// SSID
//
this.SSID.DataPropertyName = "SSID";
this.SSID.HeaderText = "SSID";
this.SSID.Name = "SSID";
this.SSID.ReadOnly = true;
this.SSID.Width = 225;
//
// 网络状态
//
this..DataPropertyName = "网络状态";
dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this..DefaultCellStyle = dataGridViewCellStyle1;
this..HeaderText = "网络状态";
this..Name = "网络状态";
this..ReadOnly = true;
this..Width = 150;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(521, 0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(115, 62);
this.button1.TabIndex = 19;
this.button1.Text = "测试网络";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(18, 15);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(333, 55);
this.label1.TabIndex = 20;
this.label1.Text = "单击“开始测试”,系统自动检测所有AP网络\r\n\r\n连接是否正常";
//
// panel1
//
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.button1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(636, 62);
this.panel1.TabIndex = 21;
//
// APTest
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(636, 398);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel1);
this.Name = "APTest";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "AP网络状态";
this.TopMost = true;
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn IP地址;
private System.Windows.Forms.DataGridViewTextBoxColumn SSID;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.Panel panel1;
}
}
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.NetworkInformation;
using System.Threading;
namespace AGVSystem
{
public partial class APTest : Form
{
private ClsDBConn_sql db = new ClsDBConn_sql();
private System.Data.DataSet ds = new System.Data.DataSet();
private Ping ping = new Ping();
public APTest()
{
InitializeComponent();
ds = db.connDt("select id as 编号, ipaddress as ip地址 , ssid ,'' as 网络状态 from AP_Site");
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
}
}
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
Thread newth = new Thread(pingnet);
newth.Start();
}
private delegate void PingNet();
private void pingnet()
{
if (InvokeRequired)
{
this.Invoke(new PingNet(pingnet));
}
else
{
if (dataGridView1.RowCount > 0)
{
for (int row = 0; row < dataGridView1.RowCount; row++)
{
try
{
if (ping.Send(dataGridView1.Rows[row].Cells["ip地址"].Value.ToString(),1000).Status == IPStatus.Success)
{
dataGridView1.Rows[row].Cells["网络状态"].Value = "[" + DateTime.Now.ToLongTimeString() + "]:ok";
}
else
{
dataGridView1.Rows[row].Cells["网络状态"].Value = "[" + DateTime.Now.ToLongTimeString() + "]:网络异常";
}
}
catch
{
dataGridView1.Rows[row].Cells["网络状态"].Value = "[" + DateTime.Now.ToLongTimeString() + "]:网络异常";
}
}
button1.Enabled = true;
}
}
}
}
}
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="编号.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="IP地址.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="SSID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="网络状态.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
@@ -0,0 +1,186 @@
namespace AGVSystem
{
partial class AboutBox1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutBox1));
this.labelVersion = new System.Windows.Forms.Label();
this.labelCopyright = new System.Windows.Forms.Label();
this.labelCompanyName = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// labelVersion
//
this.labelVersion.Location = new System.Drawing.Point(175, 46);
this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 16);
this.labelVersion.Name = "labelVersion";
this.labelVersion.Size = new System.Drawing.Size(0, 16);
this.labelVersion.TabIndex = 0;
this.labelVersion.Text = " 版本:Ver 4.0";
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCopyright
//
this.labelCopyright.Location = new System.Drawing.Point(175, 79);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 16);
this.labelCopyright.Name = "labelCopyright";
this.labelCopyright.Size = new System.Drawing.Size(0, 16);
this.labelCopyright.TabIndex = 21;
this.labelCopyright.Text = "Copyright @ Huaxiao 2015";
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCompanyName
//
this.labelCompanyName.Location = new System.Drawing.Point(175, 120);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 16);
this.labelCompanyName.Name = "labelCompanyName";
this.labelCompanyName.Size = new System.Drawing.Size(0, 16);
this.labelCompanyName.TabIndex = 22;
this.labelCompanyName.Text = "公司名称:华晓精密工业(苏州)有限公司";
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.okButton.Location = new System.Drawing.Point(355, 265);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 21);
this.okButton.TabIndex = 24;
this.okButton.Text = "确定(&O)";
//
// label1
//
this.label1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.label1.Location = new System.Drawing.Point(177, 154);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(258, 84);
this.label1.TabIndex = 25;
this.label1.Text = "\r\n 本软件的版权由华晓精密工业(苏州)有限公司所有, 未经许可擅自使用该软件的单位或个人,将要承担相应的法律责任!\r\n\r\n地址 : 苏州高新区科憬路110" +
"号\r\n\r\n网址 : www.huaxiao.com.cn";
//
// panel1
//
this.panel1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("panel1.BackgroundImage")));
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(9, 8);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(150, 281);
this.panel1.TabIndex = 2;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(175, 12);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(155, 12);
this.label2.TabIndex = 0;
this.label2.Text = "产品名称:AGV调度管理系统";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(175, 48);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(107, 12);
this.label3.TabIndex = 26;
this.label3.Text = " 版本:Ver 4.0";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(175, 83);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(179, 12);
this.label4.TabIndex = 27;
this.label4.Text = "Copyright @ 华晓精密工业 2015";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(175, 124);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(233, 12);
this.label5.TabIndex = 28;
this.label5.Text = "公司名称:华晓精密工业(苏州)有限公司";
//
// AboutBox1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(462, 297);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.labelCompanyName);
this.Controls.Add(this.label1);
this.Controls.Add(this.labelCopyright);
this.Controls.Add(this.labelVersion);
this.Controls.Add(this.panel1);
this.Controls.Add(this.label2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutBox1";
this.Padding = new System.Windows.Forms.Padding(9, 8, 9, 8);
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "关于";
this.TopMost = true;
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label labelVersion;
private System.Windows.Forms.Label labelCopyright;
private System.Windows.Forms.Label labelCompanyName;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
}
}
@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace AGVSystem
{
partial class AboutBox1 : Form
{
public AboutBox1()
{
InitializeComponent();
//this.textBoxDescription.Text = " 本软件的版权由华晓精密工业(苏州)有限公司所有, 未经许可擅自使用该软件的单位或个人,将要承担相应的法律责任!";
}
#region 访
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
private void okButton_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
@@ -0,0 +1,557 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panel1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
TU0M+BRBwgAAAABJRU5ErkJggg==
</value>
</data>
</root>
@@ -0,0 +1,459 @@
namespace AGVSystem
{
partial class Agv_Status
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.num_task = new System.Windows.Forms.NumericUpDown();
this.label11 = new System.Windows.Forms.Label();
this.comboBox5 = new System.Windows.Forms.ComboBox();
this.label10 = new System.Windows.Forms.Label();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.comboBox4 = new System.Windows.Forms.ComboBox();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.cmb_bank = new System.Windows.Forms.ComboBox();
this.label9 = new System.Windows.Forms.Label();
this.num_speed = new System.Windows.Forms.NumericUpDown();
this.num_landmark = new System.Windows.Forms.NumericUpDown();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.num_task)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_speed)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_landmark)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Controls.Add(this.panel3);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(4);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1154, 866);
this.panel1.TabIndex = 0;
//
// panel3
//
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Margin = new System.Windows.Forms.Padding(4);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1154, 866);
this.panel3.TabIndex = 46;
//
// panel2
//
this.panel2.Controls.Add(this.button2);
this.panel2.Controls.Add(this.label14);
this.panel2.Controls.Add(this.label15);
this.panel2.Controls.Add(this.label13);
this.panel2.Controls.Add(this.label12);
this.panel2.Controls.Add(this.num_task);
this.panel2.Controls.Add(this.label11);
this.panel2.Controls.Add(this.comboBox5);
this.panel2.Controls.Add(this.label10);
this.panel2.Controls.Add(this.checkBox2);
this.panel2.Controls.Add(this.comboBox4);
this.panel2.Controls.Add(this.comboBox2);
this.panel2.Controls.Add(this.cmb_bank);
this.panel2.Controls.Add(this.label9);
this.panel2.Controls.Add(this.num_speed);
this.panel2.Controls.Add(this.num_landmark);
this.panel2.Controls.Add(this.checkBox1);
this.panel2.Controls.Add(this.label8);
this.panel2.Controls.Add(this.label7);
this.panel2.Controls.Add(this.label6);
this.panel2.Controls.Add(this.label5);
this.panel2.Controls.Add(this.label4);
this.panel2.Controls.Add(this.label3);
this.panel2.Controls.Add(this.label2);
this.panel2.Controls.Add(this.label1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Right;
this.panel2.Location = new System.Drawing.Point(1154, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(4);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(391, 866);
this.panel2.TabIndex = 1;
//
// button2
//
this.button2.Location = new System.Drawing.Point(251, 801);
this.button2.Margin = new System.Windows.Forms.Padding(4);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(100, 52);
this.button2.TabIndex = 27;
this.button2.Text = "下线";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(159, 710);
this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(63, 15);
this.label14.TabIndex = 26;
this.label14.Text = "label14";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(61, 710);
this.label15.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(82, 15);
this.label15.TabIndex = 25;
this.label15.Text = "状态信息:";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(159, 46);
this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(15, 15);
this.label13.TabIndex = 24;
this.label13.Text = "0";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(159, 650);
this.label12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(63, 15);
this.label12.TabIndex = 23;
this.label12.Text = "label12";
//
// num_task
//
this.num_task.Location = new System.Drawing.Point(161, 575);
this.num_task.Margin = new System.Windows.Forms.Padding(4);
this.num_task.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_task.Name = "num_task";
this.num_task.Size = new System.Drawing.Size(160, 25);
this.num_task.TabIndex = 22;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(61, 581);
this.label11.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(82, 15);
this.label11.TabIndex = 21;
this.label11.Text = "运动目标:";
//
// comboBox5
//
this.comboBox5.FormattingEnabled = true;
this.comboBox5.Items.AddRange(new object[] {
"",
"前进",
"后退"});
this.comboBox5.Location = new System.Drawing.Point(161, 501);
this.comboBox5.Margin = new System.Windows.Forms.Padding(4);
this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(160, 23);
this.comboBox5.TabIndex = 20;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(61, 505);
this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(82, 15);
this.label10.TabIndex = 19;
this.label10.Text = "运动方向:";
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(64, 761);
this.checkBox2.Margin = new System.Windows.Forms.Padding(4);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(119, 19);
this.checkBox2.TabIndex = 18;
this.checkBox2.Text = "设备故障复位";
this.checkBox2.UseVisualStyleBackColor = true;
//
// comboBox4
//
this.comboBox4.FormattingEnabled = true;
this.comboBox4.Items.AddRange(new object[] {
"未启动",
"运动中",
"停止中",
"急停中"});
this.comboBox4.Location = new System.Drawing.Point(161, 108);
this.comboBox4.Margin = new System.Windows.Forms.Padding(4);
this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(160, 23);
this.comboBox4.TabIndex = 17;
//
// comboBox2
//
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"",
"直行",
"左转",
"右转"});
this.comboBox2.Location = new System.Drawing.Point(161, 432);
this.comboBox2.Margin = new System.Windows.Forms.Padding(4);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(160, 23);
this.comboBox2.TabIndex = 15;
//
// cmb_bank
//
this.cmb_bank.FormattingEnabled = true;
this.cmb_bank.Items.AddRange(new object[] {
"",
"Bank1",
"Bank2",
"Bank3",
"Bank4",
"Bank5",
"Bank6",
"Bank7",
"Bank8",
"Bank9",
"Bank10",
"Bank11",
"Bank12",
"Bank13",
"Bank14",
"Bank15",
"Bank16"});
this.cmb_bank.Location = new System.Drawing.Point(161, 368);
this.cmb_bank.Margin = new System.Windows.Forms.Padding(4);
this.cmb_bank.Name = "cmb_bank";
this.cmb_bank.Size = new System.Drawing.Size(160, 23);
this.cmb_bank.TabIndex = 14;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(159, 306);
this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(71, 15);
this.label9.TabIndex = 13;
this.label9.Text = "24.09 V";
//
// num_speed
//
this.num_speed.Location = new System.Drawing.Point(161, 239);
this.num_speed.Margin = new System.Windows.Forms.Padding(4);
this.num_speed.Name = "num_speed";
this.num_speed.Size = new System.Drawing.Size(160, 25);
this.num_speed.TabIndex = 12;
//
// num_landmark
//
this.num_landmark.Location = new System.Drawing.Point(161, 174);
this.num_landmark.Margin = new System.Windows.Forms.Padding(4);
this.num_landmark.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_landmark.Name = "num_landmark";
this.num_landmark.Size = new System.Drawing.Size(160, 25);
this.num_landmark.TabIndex = 11;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(64, 789);
this.checkBox1.Margin = new System.Windows.Forms.Padding(4);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(149, 19);
this.checkBox1.TabIndex = 9;
this.checkBox1.Text = "允许更新设备参数";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(61, 306);
this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(82, 15);
this.label8.TabIndex = 7;
this.label8.Text = "当前电压:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(61, 650);
this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(82, 15);
this.label7.TabIndex = 6;
this.label7.Text = "所属线体:";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(61, 436);
this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(82, 15);
this.label6.TabIndex = 5;
this.label6.Text = "前进方向:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(13, 371);
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(127, 15);
this.label5.TabIndex = 4;
this.label5.Text = "障碍物检测模式:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(61, 241);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(82, 15);
this.label4.TabIndex = 3;
this.label4.Text = "当前速度:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(61, 176);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(82, 15);
this.label3.TabIndex = 2;
this.label3.Text = "当前位置:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(61, 111);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(82, 15);
this.label2.TabIndex = 1;
this.label2.Text = "设备状态:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(61, 46);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(82, 15);
this.label1.TabIndex = 0;
this.label1.Text = "设备编号:";
//
// Agv_Status
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1545, 866);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panel2);
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "Agv_Status";
this.Text = "设备列表";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.Agv_Status_Load);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.num_task)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_speed)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_landmark)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.ComboBox comboBox4;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.ComboBox cmb_bank;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.NumericUpDown num_speed;
private System.Windows.Forms.NumericUpDown num_landmark;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.NumericUpDown num_task;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.ComboBox comboBox5;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Button button2;
}
}
@@ -0,0 +1,132 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Agv_Status : Form
{
public Label[] lab_color = new Label[Cls.Param.AGV_Qty];
public Agv_Status()
{
InitializeComponent();
}
private void agv_init(int agv_qty)
{
int qty_temp = agv_qty;
int size =0;
if (panel3.Width >= panel3.Height)
{
size = panel3.Height / Convert.ToInt16(Math.Sqrt(agv_qty));
}
else
{
size = panel3.Width / Convert.ToInt16(Math.Sqrt(agv_qty));
}
if (size > 512) size = 512;
if (size < 21) size = 21;
int count = 0;
for (byte c = 1; c <= Convert.ToInt16(panel3.Height / size); c++)
{
for (byte r = 1; r <= Convert.ToInt16(panel3.Width / size); r++)
{
count++;
Button btn = new Button();
btn.Click += new System.EventHandler(this.btn_info_Click);
btn.Parent = panel3;
btn.Text = count.ToString();
btn.Name = "btn" + count.ToString();
btn.Location = new Point(5 + (r - 1) * size, 5 + (c - 1) * size);
btn.Height = size-5;
btn.Width = size-5;
if (count > Cls.Param.AGV_Qty)
btn.Enabled = false;
else
{
try
{
int id = count;
btn.BackgroundImageLayout = ImageLayout.Zoom;
btn.TextAlign = ContentAlignment.TopLeft;
btn.BackgroundImage = Func.AgvInfo[id - 1].Type == 6? Properties.Resources._6: Properties.Resources._8;
btn.Tag = Func.AgvInfo[id - 1].AssemblyName + "-" + Func.AgvInfo[id - 1].Internal_ID + "号设备";
lab_color[count - 1] = new Label();
lab_color[count - 1].Location = new Point(btn.Location.X + btn.Width - 15, btn.Location.Y + btn.Height - 15);
lab_color[count - 1].Width = 10;
lab_color[count - 1].Height = 10;
lab_color[count - 1].BackColor = Color.Silver;
lab_color[count - 1].Parent = panel3;
btn.SendToBack();
}
catch
{ }
}
}
}
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
private void Agv_Status_Load(object sender, EventArgs e)
{
if (Cls.Param.AGV_Qty > 0)
{
agv_init(Cls.Param.AGV_Qty);
}
}
private void btn_info_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
label13.Text = btn.Text;
comboBox4.SelectedIndex = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Run_Status;
num_landmark.Value = Convert.ToDecimal(Func.AgvInfo[Convert.ToInt16(btn.Text)-1].Location_Display);
num_speed.Value = Convert.ToDecimal(Func.AgvInfo[Convert.ToInt16(btn.Text)-1].Run_Speed);
label9.Text = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Voltage.ToString();
cmb_bank.SelectedIndex = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Bank_Model;
comboBox2.SelectedIndex = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Go_Direction;
comboBox5.SelectedIndex = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Run_Direction;
num_task.Value = Convert.ToDecimal(Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Task_ID);
label12.Text = btn.Tag!= null ? btn.Tag.ToString():"";
label14.Text = Func.AgvInfo[Convert.ToInt16(btn.Text) - 1].Warn_info;
button2.BackColor = Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable ? Color.Blue : Color.Yellow;
button2.Text = Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable ? "在线" : "离线";
}
private void button2_Click(object sender, EventArgs e)
{
if (Convert.ToInt16(label13.Text) < 1)
{
return;
}
Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable = !Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable;
string strsql = @"UPDATE [dbo].[AgvInfo]
SET Status = '{1}'
WHERE id = '{0}'";
strsql = string.Format(strsql, Convert.ToInt16(label13.Text), Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable ? 1 : 0);
var n = new ClsDBConn_sql().Command(strsql);
button2.BackColor = Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable ? Color.Blue : Color.Yellow;
button2.Text = Func.AgvInfo[Convert.ToInt16(label13.Text) - 1].Enable ? "在线" : "离线";
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1 @@
@@ -0,0 +1,534 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Drawing;
using System.Globalization;
namespace AGVSystem
{
class AGVClientCls
{
public string IPAdress;
public bool connected = false;
public Socket clientSocket;
private IPEndPoint hostEndPoint;
private Byte[] SendDataPro;
private Byte[] RecvDataPro;
private Byte[] SendData;
private Byte[] RecvData;
private Byte SendOrRecv;
private AutoResetEvent autoConnectEvent = new AutoResetEvent(false);
private SocketAsyncEventArgs lisnterSocketAsyncEventArgs;
public delegate void StartListeHandler();
public event StartListeHandler StartListen;
public delegate void ReceiveMsgHandler(byte[] info);
public event ReceiveMsgHandler OnMsgReceived;
private List<SocketAsyncEventArgs> s_lst = new List<SocketAsyncEventArgs>();
public AGVClientCls(string hostName, int port)
{
IPAdress = hostName;
IPAddress[] hostAddresses = Dns.GetHostAddresses(hostName);
this.hostEndPoint = new IPEndPoint(hostAddresses[hostAddresses.Length - 1], port);
this.clientSocket = new Socket(this.hostEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
/// <summary>
/// 连接服务端
/// </summary>
/// <returns></returns>
private bool Connect()
{
using (SocketAsyncEventArgs args = new SocketAsyncEventArgs())
{
args.UserToken = this.clientSocket;
args.RemoteEndPoint = this.hostEndPoint;
args.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnConnect);
this.clientSocket.ConnectAsync(args);
bool flag = autoConnectEvent.WaitOne(1000);
//SocketError err = args.SocketError;
if (this.connected)
{
this.lisnterSocketAsyncEventArgs = new SocketAsyncEventArgs();
byte[] buffer = new byte[50];
this.lisnterSocketAsyncEventArgs.UserToken = this.clientSocket;
this.lisnterSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.lisnterSocketAsyncEventArgs.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnReceive);
this.StartListen();
return true;
}
return false;
}
}
/// <summary>
/// 判断有没有连接上
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnConnect(object sender, SocketAsyncEventArgs e)
{
this.connected = (e.SocketError == SocketError.Success);
autoConnectEvent.Set();
}
/// <summary>
/// 发送
/// </summary>
/// <param name="mes"></param>
public void Send(Byte[] mes)
{
if (this.connected)
{
EventHandler<SocketAsyncEventArgs> handler = null;
byte[] buffer = mes;
SocketAsyncEventArgs senderSocketAsyncEventArgs = null;
lock (s_lst)
{
if (s_lst.Count > 0)
{
senderSocketAsyncEventArgs = s_lst[s_lst.Count - 1];
s_lst.RemoveAt(s_lst.Count - 1);
}
}
if (senderSocketAsyncEventArgs == null)
{
senderSocketAsyncEventArgs = new SocketAsyncEventArgs();
senderSocketAsyncEventArgs.UserToken = this.clientSocket;
senderSocketAsyncEventArgs.RemoteEndPoint = this.clientSocket.RemoteEndPoint;
if (handler == null)
{
handler = delegate(object sender, SocketAsyncEventArgs _e)
{
lock (s_lst)
{
s_lst.Add(senderSocketAsyncEventArgs);
}
};
}
senderSocketAsyncEventArgs.Completed += handler;
}
senderSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.clientSocket.SendAsync(senderSocketAsyncEventArgs);
}
else
{
this.connected = false;
}
}
/// <summary>
/// 监听服务端
/// </summary>
public void Listen()
{
if (this.connected && this.clientSocket != null)
{
try
{
(lisnterSocketAsyncEventArgs.UserToken as Socket).ReceiveAsync(lisnterSocketAsyncEventArgs);
}
catch (Exception)
{
}
}
}
/// <summary>
/// 断开连接
/// </summary>
/// <returns></returns>
private int Disconnect()
{
int res = 0;
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
try
{
this.clientSocket.Close();
}
catch (Exception)
{
}
this.connected = false;
return res;
}
/// <summary>
/// 数据接受
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnReceive(object sender, SocketAsyncEventArgs e)
{
if (e.BytesTransferred == 0)
{
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
finally
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
byte[] info = new Byte[] { 0 };
this.OnMsgReceived(info);
}
else
{
byte[] buffer = new byte[e.BytesTransferred];
for (int i = 0; i < e.BytesTransferred; i++)
{
buffer[i] = e.Buffer[i];
}
this.OnMsgReceived(buffer);
Listen();
}
}
/// <summary>
/// 接受完成
/// </summary>
/// <param name="info"></param>
private void SimaticSocketClient_OnMsgReceived(byte[] info)
{
if (info[0] != 0)
{
if (this.SendOrRecv == 1)
{
this.SendDataPro = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 2)
{
this.SendData = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 3)
{
this.RecvDataPro = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 4)
{
this.RecvData = info;
this.SendOrRecv = 0;
}
}
else
{
if (this.SendOrRecv == 1)
{
this.SendDataPro = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 2)
{
this.SendData = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 3)
{
this.RecvDataPro = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 4)
{
this.RecvData = new Byte[] { 0 };
this.SendOrRecv = 0;
}
}
}
/// <summary>
/// 建立连接的方法
/// </summary>
/// <returns></returns>
public bool OpenLinkPLC()
{
bool flag = false;
this.StartListen += new StartListeHandler(SimaticSocketClient_StartListen);
this.OnMsgReceived += new ReceiveMsgHandler(SimaticSocketClient_OnMsgReceived);
flag = this.Connect();
if (!flag)
{
return flag;
}
return true;
}
/// <summary>
/// 关闭连接的方法
/// </summary>
/// <returns></returns>
public int CloseLinkPLC()
{
return this.Disconnect();
}
/// <summary>
/// 监听的方法
/// </summary>
private void SimaticSocketClient_StartListen()
{
this.Listen();
}
#region PLC数据(VW)
/// <summary>
/// 写一个VW数据
/// </summary>
/// <param name="paddr"></param>
/// <param name="waddr"></param>
/// <param name="value"></param>
/// <returns></returns>
public int WriteVM(int stationNO, int address, int value)
{
int flag = -1;
Byte[] sendValue = new Byte[6];
byte[] data = new byte[39];
data[0] = 0x68;
data[1] = 0x21;
data[2] = 0x21;
data[3] = 0x68;
data[4] = (byte)stationNO;
data[5] = 0x00;
data[6] = 0x6C;
data[7] = 0x32;
data[8] = 0x01;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x00;
data[13] = 0x00;
data[14] = 0x0E;
data[15] = 0x00;
data[16] = 0x06;
data[17] = 0x05;
data[18] = 0x01;
data[19] = 0x12;
data[20] = 0x0A;
data[21] = 0x10;
data[22] = 0x04;
data[23] = 0x00;
data[24] = 0x01;
data[25] = 0x00;
data[26] = 0x01;
data[27] = 0x84;
data[28] = 0x00;
data[29] = Convert.ToByte(address * 8 / 256);
data[30] = Convert.ToByte(address * 8 % 256);
data[31] = 0x00;
data[32] = 0x04;
data[33] = 0x00;
data[34] = 0x10;
data[35] = Convert.ToByte(value / 256);
data[36] = Convert.ToByte(value % 256);
int j = 0;
for (int i = 4; i <= 36; i++)
{
j = j + data[i];
}
data[37] = Convert.ToByte(j % 256);
data[38] = 0x16;
sendValue[0] = 0x10;
sendValue[1] = 0x02;
sendValue[2] = 0x00;
sendValue[3] = 0x5C;
sendValue[4] = 0x5E;
sendValue[5] = 0x16;
Thread.Sleep(100);
this.SendOrRecv = 1;
int numPro = 0;
this.Send(data);
while (this.SendOrRecv != 0 && numPro < 500)
{
Thread.Sleep(1);
numPro++;
}
if (numPro < 500)
{
if (this.SendDataPro[0] == 0xE5)
{
Thread.Sleep(100);
this.SendOrRecv = 2;
int num = 0;
this.Send(sendValue);
while (this.SendOrRecv != 0 && num < 500)
{
Thread.Sleep(1);
num++;
}
if (num < 500)
{
if (this.SendData.Length == 24 && Check(this.SendData))
{
flag = 0;
}
return flag;
}
}
}
this.SendOrRecv = 0;
return flag;
}
#endregion
#region VW值
/// <summary>
/// 读值
/// </summary>
/// <param name="stationNO"></param>
/// <param name="length"></param>
/// <param name="address"></param>
/// <param name="value"></param>
/// <returns></returns>
public int ReadVM(int stationNO, int length, int address, out int value)
{
int flag = -1;
value = 0;
Byte[] sendValue = new Byte[6];
Byte[] data = new Byte[33];
data[0] = 0x68;
data[1] = 0x1B;
data[2] = 0x1B;
data[3] = 0x68;
data[4] = (Byte)stationNO;
data[5] = 0x00;
data[6] = 0x6C;
data[7] = 0x32;
data[8] = 0x01;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x00;
data[13] = 0x00;
data[14] = 0x0E;
data[15] = 0x00;
data[16] = 0x00;
data[17] = 0x04;
data[18] = 0x01;
data[19] = 0x12;
data[20] = 0x0A;
data[21] = 0x10;
data[22] = 0x04;
data[23] = 0x00;
data[24] = Convert.ToByte(length);
data[25] = 0x00;
data[26] = 0x01;
data[27] = 0x84;
data[28] = 0x00;
data[29] = Convert.ToByte(address * 8 / 256);
data[30] = Convert.ToByte(address * 8 % 256);
int j = 0;
for (int i = 4; i <= 30; i++)
{
j = j + Convert.ToInt32(data[i]);
}
data[31] = Convert.ToByte(j % 256);
data[32] = 0x16;
sendValue[0] = 0x10;
sendValue[1] = 0x02;
sendValue[2] = 0x00;
sendValue[3] = 0x5C;
sendValue[4] = 0x5E;
sendValue[5] = 0x16;
Thread.Sleep(100);
this.SendOrRecv = 3;
int numPro = 0;
this.Send(data);
while (this.SendOrRecv != 0 && numPro < 500)
{
Thread.Sleep(1);
numPro++;
}
if (numPro < 500)
{
if (this.RecvDataPro[0] == 0xE5)
{
Thread.Sleep(100);
this.SendOrRecv = 4;
int num = 0;
this.Send(sendValue);
while (this.SendOrRecv != 0 && num < 600)
{
Thread.Sleep(1);
num++;
}
if (num < 600)
{
if (this.RecvData.Length == 1)
{
// FileControl.LogFile.SaveLog(this.clientSocket.RemoteEndPoint.ToString() + this.RecvData.Length.ToString());
}
if (this.RecvData.Length == 29)
{
flag = 0;
if (this.RecvData[25] > 0)
{
value = this.RecvData[26] * 256 + this.RecvData[25];
}
else
{
value = this.RecvData[26];
}
}
else
{
// FileControl.LogFile.SaveLog(this.clientSocket.RemoteEndPoint.ToString() + " recv" + this.RecvData.Length.ToString());
if (this.RecvData[0] == 0)
{
flag = -3;
}
}
return flag;
}
}
else
{
// FileControl.LogFile.SaveLog(this.clientSocket.RemoteEndPoint.ToString() + " recvPro" + this.RecvDataPro.Length.ToString());
if (this.RecvDataPro[0] == 0)
{
flag = -3;
}
}
}
this.SendOrRecv = 0;
return flag;
}
#endregion
private bool Check(Byte[] by)
{
Byte[] byt = by;
if (byt[0] == 104 && byt[1] == 18 && byt[2] == 18 && byt[3] == 104 && byt[4] == 0 && byt[5] == 2 && byt[6] == 8 && byt[7] == 50 && byt[8] == 3 && byt[9] == 0 && byt[10] == 0 && byt[11] == 0 && byt[12] == 0 && byt[13] == 0 && byt[14] == 2 && byt[15] == 0 && byt[16] == 1 && byt[17] == 0 && byt[18] == 0 && byt[19] == 5 && byt[20] == 1 && byt[21] == 255 && byt[22] == 71 && byt[23] == 22)
{
return true;
}
else
{
return false;
}
}
#region IDispose member
public void Dispose()
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
#endregion
}
}
@@ -0,0 +1,276 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem.Cls
{
public class AgvInfo
{
public Label agv_id = new Label();
/// <summary>
/// 设备编号
/// </summary>
public int Agv_ID
{
get { return Convert.ToInt16( agv_id.Text); }
set { agv_id.Text = value.ToString(); }
}
/// <summary>
/// 设备序号
/// </summary>
public int Internal_ID;
/// <summary>
/// 设备联网状态
/// </summary>
public bool bPlcLinked = false;
/// <summary>
/// 设备IP
/// </summary>
public string IP;
/// <summary>
/// 联网端口
/// </summary>
public int Port;
/// <summary>
/// AGV类型
/// </summary>
public int Type;
/// <summary>
/// 设备上下线 true:上线,false:下线
/// </summary>
public bool Enable;
/// <summary>
/// 控制PLC型号
/// 1smart200
/// 2:欧姆龙 hostlink
/// 3:欧姆龙 fins
/// 4:单片机
/// </summary>
public int Control_PLC = 1;
/// <summary>
/// 管控线体编号
/// </summary>
public int AssemblyLine;
/// <summary>
/// 设备所属线体名称
/// </summary>
public string AssemblyName;
public Label location_display = new Label();
/// <summary>
/// 设备位置显示标记
/// </summary>
public int Location_Display
{
get {return Convert.ToInt16(location_display.Text); }
set {location_display.Text =value.ToString(); }
}
public int Rfid_Value = 0;
/// <summary>
/// 设备路径显示标记
/// </summary>
public int Path_Display = 0;
/// <summary>
/// 设备放行点标记
/// </summary>
public int Cross_Location_Go = 0;
/// <summary>
/// agv放行信息
/// </summary>
public string go_info = "";
/// <summary>
/// 设备运动目标编号
/// </summary>
public int Cross_Path_Id = 0;
/// <summary>
/// 设备报警代码
/// </summary>
public string Warn_ID = "0";
public Label warn_info = new Label();
/// <summary>
/// 设备报警信息
/// </summary>
public string Warn_info
{
get { return warn_info.Text; }
set { warn_info.Text = value; }
}
/// <summary>
/// 设备报警等级
/// 1:正常
/// 2:报警
/// 3:故障
/// 4:掉网
/// </summary>
public int Warn_Level = 0;
/// <summary>
/// 设备位置显示地图编号
/// </summary>
public int Area;
public Socket Soc;
/// <summary>
/// Agv行驶里程
/// </summary>
public double Mileage = 0;
/// <summary>
/// 读取地标的时间点
/// </summary>
public DateTime Read_dt;
/// <summary>
/// AGV运动状态
/// 定义:1-运动、2-停止、0-未启动
/// </summary>
public byte Run_Status;
/// <summary>
/// 运动方向
/// 定义:1-前进/2-后退
/// </summary>
public byte Run_Direction = 0;
/// <summary>
/// 前进放行
/// 定义:1-直行/2-左转/3-右转
/// </summary>
public byte Go_Direction = 1;
/// <summary>
/// 设备运动速度
/// </summary>
public byte Run_Speed = 0;
/// <summary>
/// 设备电压
/// </summary>
public float Voltage = 0;
/// <summary>
/// 设备电量剩余百分比
/// </summary>
public float Voltage_precent = 0;
/// <summary>
/// 障碍物设置模式
/// </summary>
public byte Bank_Model = 0;
/// <summary>
/// 任务编号
/// </summary>
public int Task_ID = 0;
public int Task_Temp = 0;
public Label task_descrption = new Label();
/// <summary>
/// 任务描述
/// </summary>
public String Task_Descrption
{
get {return task_descrption.Text; }
set
{
task_descrption.Text = value;
}
}
/// <summary>
/// 作业线体编号
/// </summary>
public int WorkType = 0;
public Label have_goods = new Label();
/// <summary>
/// AGV 是否有货
/// </summary>
public bool Have_Goods
{
get { return have_goods.Text=="有货"?true:false; }
set { have_goods.Text = value == false ? "" : "有货"; }
}
public Channel[] Up_Channel ;
public Channel[] Down_Channel ;
////设备绑定的物料ID
//public string Material_ID2 = "";
////上层2料道是否有料
//public byte Up_Loc2 = 0;//是否有料
//public int Task_Up_Loc2 = 0;//目标地址
//public int Machine_Up_ID2 = 0;//对应设备编号
//public byte Up_Loc2_Doing = 0;
////下层1料道是否有料
//public byte Down_Loc1 = 0;
//public int Task_Down_Loc1 = 0;
//public int Machine_Down_ID1 = 0;
//public byte Down_Loc1_Doing = 0;
}
public class Channel
{
//绑定的物料ID
public string Material_ID = "";
//料道是否有料
public byte Goods_Satus = 0;
//物料数量
public int Goods_Qty = 0;
//Channel上的BOX ID1
public int Box_ID1 = 0;
//Channel上的BOX ID2
public int Box_ID2 = 0;
//货物对应的工位ID
public int Channel_Task_ID = 0;
//货物对应的设备ID
public int Machine_ID = 0;
//动作执行状态 1:正在上/下料 0:非上/下料状态
public byte Do_Status = 0;
public byte Do_Up_Status = 0;
public byte Do_Down_Status = 0;
public byte Do_HgQty_Status = 0;//下滑竿标记
public byte Do_Bxg_Status = 0;//上保险杆标记
//mes指令ID
public Int64 Mes_Task_ID = 0;
}
}
@@ -0,0 +1,258 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace AGVSystem
{
/// <summary>
/// 数据库操作
/// </summary>
public class ClsDBConn_sql
{
/// <summary>
/// 获取CPU运行的时间
/// </summary>
/// <returns></returns>
[DllImport("kernel32")]
static extern uint GetTickCount();
private System.Data.DataSet dt = new System.Data.DataSet();
private SqlConnection sqlconn = new SqlConnection(Cls.Param.connectStr);
private SqlDataAdapter sqladapter = null;
private SqlCommandBuilder sqlcommandb = null;
private SqlCommandBuilder sqlcommandb_ds = null;
private BindingSource bindsource = new BindingSource();
private SqlCommand command = null;
/// <summary>
/// 关闭连接
/// </summary>
public void ConnClosed()
{
try
{
if (sqlconn != null)
{
if (sqlconn.State == ConnectionState.Open)
{
sqlconn.Close();
}
}
}
catch
{
}
}
/// <summary>
/// 连接数据库返回dataset
/// </summary>
/// <param name="str"> SQL语句</param>
/// <returns></returns>
public System.Data.DataSet connDt(string str)
{
try
{
if (sqlconn.State != ConnectionState.Open)
sqlconn.Open();
sqladapter = new SqlDataAdapter(str, sqlconn);
sqlcommandb = new SqlCommandBuilder(sqladapter);
if (dt.Tables.Count > 0)
dt.Tables.Clear();
sqladapter.Fill(dt);
return dt;
}
catch (Exception err)
{
MessageBox.Show("SQL" + str + " , \r\n" + err.Message + " \r\n FunctionNameconnDt", "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
}
/// <summary>
/// 返回可更新的dataset
/// </summary>
/// <param name="str"> SQL语句</param>
/// <returns></returns>
public System.Data.DataSet dtEdit(string str)
{
try
{
sqladapter = new SqlDataAdapter(str, sqlconn);
sqlcommandb_ds = new SqlCommandBuilder(sqladapter);
if (dt.Tables.Count > 0)
dt.Tables.Clear();
sqladapter.Fill(dt);
return dt;
}
catch (Exception err)
{
MessageBox.Show("SQL" + str + " , \r\n" + err.Message + " \r\n FunctionNamedtEdit", "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
}
/// <summary>
/// 更新Dataset数据到数据库
/// </summary>
/// <param name="ds"></param>
/// <param name="adapter"></param>
/// <returns></returns>
public bool dtCommit(System.Data.DataSet ds )
{
try
{
//Int64 t1 = GetTickCount();
int DS = ds.Tables[0].Rows.Count;
sqladapter.Update(ds);
//Int64 t2 = GetTickCount() - t1;
//if (t2 > 2)
// MessageBox.Show("update time:"+t2.ToString());
}
catch
{
//MessageBox.Show(err.Message+"EventNamedtCommit");
return false;
}
return true;
}
/// <summary>
/// 数据库连接到datagridview
/// </summary>
/// <param name="str">sql语句</param>
/// <param name="dataGridView">datagridview控件名称</param>
public bool connDGV(string str, DataGridView dgv)
{
try
{
if (sqlconn.State == ConnectionState.Open) sqlconn.Close();
sqladapter = new SqlDataAdapter(str, sqlconn);
if (dt.Tables.Count > 0)
dt.Tables.Clear();
sqladapter.Fill(dt);
if (dt.Tables.Count > 0)
dgv.DataSource = dt.Tables[0].Copy();
return true;
}
catch (Exception err)
{
MessageBox.Show("SQL" + str + " , \r\n" + err.Message + " \r\n FunctionNameconnDGV", "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
/// <summary>
/// 数据库连接到datagridview,并可通过datagridview修改数据库
/// </summary>
/// <param name="str">sql语句</param>
/// <param name="dataGridView">datagridview控件名称</param>
public bool connDgvEdit(string str, DataGridView dgv)
{
try
{
if (sqlconn.State == ConnectionState.Open) sqlconn.Close();
sqladapter = new SqlDataAdapter(str, sqlconn);
if (dt.Tables.Count > 0)
dt.Tables.Clear();
sqladapter.Fill(dt);
sqlcommandb = new SqlCommandBuilder(sqladapter);
bindsource.DataSource = dt.Tables[0];
dgv.DataSource = dt.Tables[0];
dgv.DataSource = bindsource;
return true;
}
catch (Exception err)
{
MessageBox.Show("SQL" + str + " , \r\n" + err.Message + " \r\n FunctionNameconnDGVEdit", "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
/// <summary>
/// 提交datagridview的数据
/// </summary>
/// <param name="dataGridView">datagridview控件名称</param>
public bool DgvCommit(DataGridView dgv)
{
try
{
dgv.EndEdit();
bindsource.EndEdit();
sqladapter.Update(dt.Tables[0]);
return true;
}
catch (Exception err)
{
MessageBox.Show(err.Message + " \r\n FunctionNameDgvCommit", "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
/// <summary>
/// 直接执行SQL语句
/// </summary>
/// <param name="sqlstr"></param>
/// <returns></returns>
public string Command(string sqlstr)
{
try
{
int count = 0;
if (sqlconn.State != ConnectionState.Open) sqlconn.Open();
command = new SqlCommand(sqlstr, sqlconn);
count = command.ExecuteNonQuery();
//sqlconn.Close();
return count.ToString();
}
catch (Exception err)
{
return "SQL" + sqlstr + " , \r\n" + err.Message + " \r\n FunctionNameCommand";
}
}
public bool DtCommand(string Sqlstr, string[,] insertValue)
{
try
{
if (sqlconn.State == ConnectionState.Open) sqlconn.Close();
sqladapter = new SqlDataAdapter(Sqlstr, sqlconn);
if (dt.Tables.Count > 0)
dt.Tables.Clear();
sqlcommandb = new SqlCommandBuilder(sqladapter);
sqladapter.Fill(dt);
for (int rw = 0; rw < insertValue.GetLength(0); rw++)
{
System.Data.DataRow drow = dt.Tables[0].NewRow();
for (int cl = 0; cl < insertValue.GetLength(1); cl++)
{
drow[cl] = insertValue[rw, cl];
}
dt.Tables[0].Rows.Add(drow);
}
sqladapter.Update(dt);
sqlconn.Close();
return true;
}
catch (Exception err)
{
MessageBox.Show(err.Message, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
public void gg()
{
bindsource.AddNew();
bindsource.MoveLast();
}
}
}
@@ -0,0 +1,562 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net.Sockets;
using System.Net;
namespace AGVSystem.Cls
{
class Cls_Mc_Mitsubishi
{
/// <summary>
/// 客户端连接Socket
/// </summary>
public Socket clientSocket;
/// <summary>
/// 连接状态
/// </summary>
public Boolean connected = false;
/// <summary>
/// 发送数据
/// </summary>
private Byte[] SendMess;
/// <summary>
/// 连接点
/// </summary>
private IPEndPoint hostEndPoint;
/// <summary>
/// 连接信号量
/// </summary>
private static AutoResetEvent autoConnectEvent = new AutoResetEvent(false);
/// <summary>
/// 接受到数据时的委托
/// </summary>
/// <param name="info"></param>
public delegate void ReceiveMsgHandler(Byte[] info);
/// <summary>
/// 接收到数据时调用的事件
/// </summary>
public event ReceiveMsgHandler OnMsgReceived;
/// <summary>
/// 开始监听数据的委托
/// </summary>
public delegate void StartListenHandler();
/// <summary>
/// 开始监听数据的事件
/// </summary>
public event StartListenHandler StartListenThread;
/// <summary>
/// 发送信息完成的委托
/// </summary>
/// <param name="successorfalse"></param>
public delegate void SendCompleted(bool successorfalse);
/// <summary>
/// 发送信息完成的事件
/// </summary>
public event SendCompleted OnSended;
/// <summary>
/// 监听接收的SocketAsyncEventArgs
/// </summary>
private SocketAsyncEventArgs listenerSocketAsyncEventArgs;
int Plcport;
public Cls_Mc_Mitsubishi(String hostName, Int32 port, Int32 PLCStaion)
{
//IPHostEntry host = Dns.GetHostEntry(hostName);
//IPAddress[] addressList = host.AddressList;
//this.hostEndPoint = new IPEndPoint(addressList[addressList.Length - 1], port);
Plcport = PLCStaion;
IPAddress[] addressList = Dns.GetHostAddresses(hostName);
this.hostEndPoint = new IPEndPoint(addressList[addressList.Length - 1], port);
this.clientSocket = new Socket(this.hostEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
/// <summary>
/// 连接服务端
/// </summary>
private bool Connect()
{
using (SocketAsyncEventArgs connectArgs = new SocketAsyncEventArgs())
{
connectArgs.UserToken = this.clientSocket;
connectArgs.RemoteEndPoint = this.hostEndPoint;
connectArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnect);
clientSocket.ConnectAsync(connectArgs);
//等待连接结果
bool autores = autoConnectEvent.WaitOne(1000);
//if (autores)
//{
//bool hasres = autoConnectEvent.WaitOne();
//SocketError errorCode = connectArgs.SocketError;
//if (errorCode == SocketError.Success)
if (autores)
{
listenerSocketAsyncEventArgs = new SocketAsyncEventArgs();
//byte[] receiveBuffer = new byte[32768];
byte[] receiveBuffer = new byte[255];//设置接收buffer区大小
listenerSocketAsyncEventArgs.UserToken = clientSocket;
listenerSocketAsyncEventArgs.SetBuffer(receiveBuffer, 0, receiveBuffer.Length);
listenerSocketAsyncEventArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnReceive);
StartListenThread();
SocketExtensions.SetKeepAlive(clientSocket, 3000, 1000);
return true;
}
else
//throw new SocketException((Int32)errorCode);
return false;
//}
}
//else
// return false;
}
/// <summary>
/// 开始监听线程的入口函数
/// </summary>
private void Listen()
{
(listenerSocketAsyncEventArgs.UserToken as Socket).ReceiveAsync(listenerSocketAsyncEventArgs);
}
public static List<SocketAsyncEventArgs> s_lst = new List<SocketAsyncEventArgs>();
/// <summary>
/// 发送信息
/// </summary>
/// <param name="message"></param>
private void Send(Byte[] message)
{
if (this.connected)
{
//message = String.Format("[length={0}]{1}", message.Length, message);
//Byte[] sendBuffer = new Byte[256];
//sendBuffer = Encoding.Default.GetBytes(message);
Byte[] sendBuffer = message;
SocketAsyncEventArgs senderSocketAsyncEventArgs = null;// new SocketAsyncEventArgs();
lock (s_lst)
{
if (s_lst.Count>0)
{
senderSocketAsyncEventArgs = s_lst[s_lst.Count - 1];
s_lst.RemoveAt(s_lst.Count - 1);
}
}
if (senderSocketAsyncEventArgs==null)
{
senderSocketAsyncEventArgs = new SocketAsyncEventArgs();
senderSocketAsyncEventArgs.UserToken = this.clientSocket;
senderSocketAsyncEventArgs.RemoteEndPoint = this.hostEndPoint;
senderSocketAsyncEventArgs.Completed += (object sender, SocketAsyncEventArgs _e) =>
{
lock (s_lst)
{
s_lst.Add(senderSocketAsyncEventArgs);
}
};
//senderSocketAsyncEventArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnSend);
}
senderSocketAsyncEventArgs.SetBuffer(sendBuffer, 0, sendBuffer.Length);
clientSocket.SendAsync(senderSocketAsyncEventArgs);
}
else
{
this.connected = false;
//throw new SocketException((Int32)SocketError.NotConnected);
}
SendMess = message;
}
/// <summary>
/// 断开连接
/// </summary>
private bool Disconnect()
{
bool returnDis = true;
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
//clientSocket.Disconnect(true);
//clientSocket.Disconnect(false);
}
catch (Exception)
{
returnDis = false;
}
return returnDis;
}
/// <summary>
/// 连接的完成方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnConnect(object sender, SocketAsyncEventArgs e)
{
autoConnectEvent.Set();
this.connected = (e.SocketError == SocketError.Success);
}
/// <summary>
/// 接收的完成方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnReceive(object sender, SocketAsyncEventArgs e)
{
if (e.BytesTransferred == 0)
{
//Console.WriteLine("Socket is closed", Socket.Handle);
if (clientSocket.Connected)
{
try
{
clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
//client already closed
}
finally
{
if (clientSocket.Connected)
{
clientSocket.Close();
}
}
}
Byte[] rs = new Byte[1];
rs[0] = 0x00;
//try
//{
OnMsgReceived(rs);
//}
//catch (Exception)
//{
//}
this.connected = false;
}
else
{
//byte[] outValue = BitConverter.GetBytes(0);
//string msg = Encoding.Default.GetString(outValue, 0, e.BytesTransferred);
//string msg = Encoding.Default.GetString(e.Buffer, 0, e.BytesTransferred);
Byte[] outValue = e.Buffer;
//try
//{
OnMsgReceived(outValue);
////}
//catch (Exception)
//{
//}
Listen();
}
}
/// <summary>
/// 发送的完成方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnSend(object sender, SocketAsyncEventArgs e)
{
if (e.SocketError == SocketError.Success)
{
OnSended(true);
}
else
{
OnSended(false);
this.ProcessError(e);
}
}
/// <summary>
/// 处理错误
/// </summary>
/// <param name="e"></param>
private void ProcessError(SocketAsyncEventArgs e)
{
Socket s = e.UserToken as Socket;
if (s.Connected)
{
try
{
s.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
//client already closed
}
finally
{
if (s.Connected)
{
s.Close();
}
}
this.connected = false;
}
//throw new SocketException((Int32)e.SocketError);
}
#region IDisposable Members
public void Dispose()
{
autoConnectEvent.Close();
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
#endregion
/// <summary>
/// 发送命令反馈
/// </summary>
/// <param name="successorfalse"></param>
void OmronFINS_OnSended(bool successorfalse)
{
if (!successorfalse)
{
}
else
{
}
}
Byte PCS;
Byte PLCS;
int SendOrRev;
int SendOrRev2;
Byte[] SendBack;
Byte[] RecvBack;
/// <summary>
/// 接受命令反馈
/// </summary>
/// <param name="info"></param>
void OmronFINS_OnMsgReceived(byte[] info)
{
if (SendmessHas)
{
if (info[0] != 0x00)//PLC连接错误NO
{
if (info.Length > 24)
{
string SM = "";
for (int i = 0; i < 24; i++)
{
SM = SM + info[i].ToString("X").PadLeft(2, '0');
}
if (int.Parse(info[23].ToString("X").Trim(), System.Globalization.NumberStyles.HexNumber) == Plcport)
{
PCS = info[19];
PLCS = info[23];
SendmessHas = false;
}
}
}
}
else
{
if (info[0] != 0x00)//PLC连接错误NO
{
if (SendOrRev2 == 1)//发送命令
{
SendBack = info;
SendOrRev2 = 0;
}
else if (SendOrRev == 2)//接受命令
{
RecvBack = info;
SendOrRev = 0;
}
}
else
{
if (SendOrRev2 == 1)//发送命令
{
SendBack = new Byte[1];
SendBack[0] = 0x00;
SendOrRev2 = 0;
}
else if (SendOrRev == 2)//接受命令
{
RecvBack = new Byte[1];
RecvBack[0] = 0x00;
SendOrRev = 0;
}
}
}
}
void OmronFINS_StartListenThread()
{
this.Listen();
}
bool SendmessHas = false;
/// <summary>
/// 打开连接
/// </summary>
/// <returns></returns>
public bool OpenLinkPLC()
{
bool Ret = false;
this.StartListenThread += new StartListenHandler(OmronFINS_StartListenThread);
this.OnMsgReceived += new ReceiveMsgHandler(OmronFINS_OnMsgReceived);
this.OnSended += new SendCompleted(OmronFINS_OnSended);
Ret = this.Connect();
return Ret;
}
/// <summary>
/// 关闭连接
/// </summary>
/// <returns></returns>
public bool CloseLinkPLC()
{
return this.Disconnect();
}
public bool WritePlcData(int address , int value )
{
Byte[] SendmessAge = new byte[23];
SendmessAge[0] = 0x50;
SendmessAge[1] = 0x00;
SendmessAge[2] = 0x00;
SendmessAge[3] = 0xFF;
SendmessAge[4] = 0xFF;
SendmessAge[5] = 0x03;
SendmessAge[6] = 0x00;
SendmessAge[7] = 0x0E;
SendmessAge[8] = 0x00;
SendmessAge[9] = 0x00;
SendmessAge[10] = 0x00;
SendmessAge[11] = 0x01;
SendmessAge[12] = 0x14;
SendmessAge[13] = 0x00;
SendmessAge[14] = 0x00;
SendmessAge[15] = Convert.ToByte(address % 256);
SendmessAge[16] = Convert.ToByte(address / 256);
SendmessAge[17] = 0x00;
SendmessAge[18] = 0xA8;
SendmessAge[19] = 0x01;
SendmessAge[20] = 0x00;
SendmessAge[21] = Convert.ToByte(value % 256);
SendmessAge[22] = Convert.ToByte(value / 256);
bool sendRerun = false;
SendOrRev2 = 1;
this.Send(SendmessAge);
int Outtime = 0;
while (SendOrRev2 != 0 & this.connected & Outtime < 1000)
{
Thread.Sleep(1);
Outtime++;
}
if (Outtime < 1000)
{
try
{
if (SendBack[0] == 0xD0 && SendBack[5] == 0x03 && SendBack[7] == 0x02 && SendBack[10] == 0x00)
{
sendRerun = true;
}
else
{
sendRerun = false;
}
}
catch (Exception)
{
}
}
else
{
SendOrRev2 = 0;
}
return sendRerun;
}
public bool ReadPlcData(int address , int length, out int[] IntValue)
{
bool GetPlcRet = false;
IntValue = new int[length];
Byte[] getReciveFunc=new byte[21];
getReciveFunc[0] = 0x50;
getReciveFunc[1] = 0x00;
getReciveFunc[2] = 0x00;
getReciveFunc[3] = 0xFF;
getReciveFunc[4] = 0xFF;
getReciveFunc[5] = 0x03;
getReciveFunc[6] = 0x00;
getReciveFunc[7] = 0x0C;
getReciveFunc[8] = 0x00;
getReciveFunc[9] = 0x00;
getReciveFunc[10] = 0x00;
getReciveFunc[11] = 0x01;
getReciveFunc[12] = 0x04;
getReciveFunc[13] = 0x00;
getReciveFunc[14] = 0x00;
getReciveFunc[15] = Convert.ToByte(address % 256);
getReciveFunc[16] = Convert.ToByte(address / 256);
getReciveFunc[17] = 0x00;
getReciveFunc[18] = 0xA8;
getReciveFunc[19] = Convert.ToByte( length % 256 );
getReciveFunc[20] = Convert.ToByte( length / 256 );
this.Send(getReciveFunc);
SendOrRev = 2;
int Outtime = 0;
while (SendOrRev != 0 & this.connected & Outtime < 1000)
{
Thread.Sleep(1);
Outtime++;
}
if (Outtime < 1000)
{
try
{
if (RecvBack[0] == 0xD0 && RecvBack[5] == 0x03 && RecvBack[7] == 0x16 && RecvBack[10] == 0x00)
{
GetPlcRet = true;
for (int i = 0; i < 10; i++)
{
IntValue[i] = RecvBack[11 + 2 * i] + RecvBack[12 + 2 * i]*256;
}
}
else
{
GetPlcRet = false;
}
}
catch (Exception)
{
}
}
else
{
SendOrRev = 0;
}
return GetPlcRet;
}
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AGVSystem.Cls
{
public class Cls_Plc_Info
{
public enum Op_Info
{
length_read =11,
length_write=1,
addr_read = 600,
addr_write_go =500,
addr_mb=504
}
}
}
@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using s7api.net;
namespace AGVSystem.Cls
{
/// <summary>
/// profinet 协议
/// 适用于西门子plc S-300 S-1500 S-1200
/// </summary>
class Cls_Profinet_Siemens
{
private S7Client client_profinet = new S7Client();
private int Rack = 0;
private int Slot = 0;
private string IpAddress = "";
public Cls_Profinet_Siemens(string ip , int rack , int slot)
{
Rack = rack;
Slot = slot;
IpAddress = ip;
}
/// <summary>
/// 连接PLC
/// </summary>
/// <returns></returns>
public bool Connect()
{
int result = 0;
result = client_profinet.ConnectTo(IpAddress, Rack, Slot);
if (result == 0)
return true;
else
return false;
}
/// <summary>
/// 断开与PLC的连接
/// </summary>
/// <returns></returns>
public bool Disconnect()
{
int result = 0;
result = client_profinet.Disconnect();
if (result == 0)
return true;
else
return false;
}
/// <summary>
/// 读取DB块的值
/// </summary>
/// <param name="dbNumber">DB块编号</param>
/// <param name="start_address">DB块起始地址</param>
/// <param name="size">读取的字节数</param>
/// <param name="buffer">读取结果</param>
/// <returns>读取成功返回true ,否则返回false</returns>
public bool Read(int dbNumber , int start_address , int size , byte[] buffer)
{
int result = 0;
result = client_profinet.DBRead(dbNumber, start_address, size, buffer);
if (result != 0)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 向DB块写入值
/// </summary>
/// <param name="dbNumber">DB块编号</param>
/// <param name="start_address">DB块起始地址</param>
/// <param name="size">写入的字节数</param>
/// <param name="buffer">写入值</param>
/// <returns>写入成功返回true ,否则返回false</returns>
public bool Write(int dbNumber, int start_address, int size, byte[] buffer)
{
int result = 0;
result = client_profinet.DBWrite(dbNumber, start_address, size, buffer);
if (result != 0)
{
return false;
}
else
{
return true;
}
}
}
}
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace AGVSystem.Cls
{
public class FileRW
{
[DllImport("kernel32")]
public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
public static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
/// <summary>
/// 读取INI文档
/// </summary>
/// <param name="Section">区段名</param>
/// <param name="Key">键</param>
/// <param name="file">文件路径</param>
/// <returns>Value</returns>
public static string ReadIniValue(string Section, string Key, string file)
{
StringBuilder _temp = new StringBuilder(1024);
GetPrivateProfileString(Section, Key, "", _temp, 1024, file);
return _temp.ToString();
}
/// <summary>
/// 写入INI文档
/// </summary>
/// <param name="Section">区段名</param>
/// <param name="Key">键</param>
/// <param name="value">Value</param>
/// <param name="file">文件路劲</param>
public static long WriteIniValue(string Section, string Key, string value, string file)
{
long rtu = WritePrivateProfileString(Section, Key, value, file);
return rtu;
}
}
}
@@ -0,0 +1,567 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Net.NetworkInformation;
using System.Data;
using System.Threading;
using Agv_Info;
using Agv_Control;
namespace AGVSystem
{
public class Func
{
/// <summary>
/// 表示每个AGV的btn
/// </summary>
public static AgvCar.Agv[] agvcar;
public static AgvCar.Agv[] agvcar2;//总图使用
public static Cls.AgvInfo[] AgvInfo;
public static Panel[] Map;
public static ClsDBConn_sql db_conn = new ClsDBConn_sql();
/// <summary>
///AGV位置变更时,记录位置信息的Temp
/// </summary>
public static int[] Agv_Location_Temp;
/// <summary>
/// 创建地标容器
/// </summary>
/// <param name="id">地标编号</param>
/// <param name="b">1.左端(后退) 2.右端(前进) 3.顶部(向上) 4.底部(向下)</param>
/// <param name="x">容器放置坐标x</param>
/// <param name="y">容器放置坐标y</param>
///
public static void CreatePanelLocation(string id, int direction, int x, int y, int area, string Assembly_ID)
{
Panel pl = new Panel();
pl.Parent = Map[area];
pl.BackColor = Color.Transparent;
Label lab = new Label();
//Button lab = new Button();
lab.Visible = Cls.Param.Location_ID_Dispaly;
lab.Text = id;
if (Assembly_ID != "0" || Assembly_ID != "")
{
lab.Tag = Assembly_ID + "-" + id;
lab.DoubleClick += new System.EventHandler(Cls.Path_Reset.label12_DoubleClick);
lab.MouseClick += new MouseEventHandler(label_MouseClick);
}
lab.AutoSize = false;
lab.Height = Cls.Param.Icon_Size;
lab.Width = Cls.Param.Icon_Size;
pl.Width = Cls.Param.Icon_Size;
pl.Height = Cls.Param.Icon_Size;
lab.Parent = pl;
lab.BackColor = Color.Transparent;
lab.Font = new Font("宋体", 9, FontStyle.Regular);
lab.TextAlign = ContentAlignment.MiddleCenter;
if (direction==1)
{
pl.Location = new Point(x, y-Cls.Param.Icon_Size/2);
pl.Tag = id + "-" + "1";
lab.Dock = DockStyle.Left;
}
else if (direction == 2)
{
pl.Location = new Point(x, y - Cls.Param.Icon_Size / 2);
pl.Tag = id + "-" + "2";
lab.Dock = DockStyle.Left;
}
else if (direction == 3)
{
pl.Location = new Point(x - Cls.Param.Icon_Size / 2, y);
pl.Tag = id + "-" + "3";
lab.Dock = DockStyle.Top;
}
else if (direction == 4)
{
pl.Location = new Point(x - Cls.Param.Icon_Size / 2, y);
pl.Tag = id + "-" + "4";
lab.Dock = DockStyle.Top;
}
pl.Name = "Contain"+id.ToString();
}
public static int loc_flag = 0;
private static void label_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
loc_flag = Convert.ToInt16(((Label)sender).Text);
}
}
private static object obj_dgvupdate = new object();
public static void DgvUpdate(DataGridView dgv, int row, string columnname, bool value)
{
lock (obj_dgvupdate)
{
dgvUpdate(dgv, row, columnname, value);
}
}
private static void dgvUpdate(DataGridView dgv , int row , string columnname ,bool value)
{
dgv.Rows[row].Cells[columnname].Value = value;
if (columnname == "Status")
{
if (value)
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red;
}
else
{
dgv.Rows[row].Cells["联网状态"].Value = value;
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Gray;
}
}
else if (columnname == "联网状态")
{
if (value)
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Black;
}
else
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red;
}
}
}
private static object obj_AgvIpToId = new object();
public static int AgvIpToId(string IP)
{
lock (obj_AgvIpToId)
{
string ip = IP;
int ID = 0; ;
DataView rowfilter = new DataView(mainfrm.ds_Agvlist.Tables[0]);
rowfilter.RowFilter = "IPAddress='" + ip + "'";
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
ID = Convert.ToInt16(dt.Rows[0]["ID"].ToString());
}
catch
{
}
return ID;
}
}
private static int run_time;
private static int run_model;
private static int next_loc = 0;
/// <summary>
/// 显示AGV位置状态
/// </summary>
/// <param name="agv_id">AGV编号</param>
/// <param name="run_status">运动状态:运行/停止</param>
/// <param name="warn_level">报警等级</param>
/// <param name="current_location">当前位置</param>
/// <param name="map_id">所属地图编号</param>
/// <param name="run_fx">运动方向:直行/左转/右转</param>
public static void Agv_Car_Status(int agv_id ,
bool run_status,
int warn_level ,
int current_location,
int map_id,
int run_fx)
{
Func.agvcar[agv_id - 1].Car_Warn_Level = warn_level;
if (current_location != Agv_Location_Temp[agv_id - 1])
{
Func.agvcar[agv_id - 1].Run_Status = false;
Agv_Location_Temp[agv_id - 1] = current_location;
}
else
{
Func.agvcar[agv_id - 1].Run_Status = run_status;
}
if (current_location == 0) return;
run_time = 0;
run_model = 0;
next_loc = 0;
Panel pl_new_parent = new Panel();//xin panel
Panel pl_old_parent = new Panel();//jiu panel
Panel parent_pnl = new Panel();
parent_pnl = Func.Map[map_id ];
foreach (System.Windows.Forms.Control ctl in parent_pnl.Controls)
{
if (ctl.GetType().Name == "Panel")
{
if (Convert.ToInt16(ctl.Tag.ToString().Split('-')[0]) == current_location)
{
pl_new_parent = (Panel)ctl;
//AGV移动到新的管控停止位
if (pl_new_parent != (Panel)Func.agvcar[agv_id - 1].Parent && !Func.agvcar[agv_id - 1].Run_Status )
{
Func.agvcar[agv_id - 1].Refresh();
pl_old_parent = (Panel)Func.agvcar[agv_id - 1].Parent;
Func.agvcar[agv_id - 1].Parent = pl_new_parent;
Func.agvcar[agv_id - 1].BringToFront();
if (pl_new_parent.Tag.ToString().Split('-')[1] == "1")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Left;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "2")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Right;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "3")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Top;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "4")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Bottom;
}
}
//AGV从停止位出发
else if (pl_new_parent == (Panel)Func.agvcar[agv_id - 1].Parent &&
Func.agvcar[agv_id - 1].Run_Status )
{
if (Func.agvcar[agv_id - 1].Parent != parent_pnl)
{
pl_old_parent = (Panel)Func.agvcar[agv_id - 1].Parent;
Func.agvcar[agv_id - 1].Dock = DockStyle.None;
Func.agvcar[agv_id - 1].Parent = parent_pnl;
string ss = parent_pnl.Name;
Func.agvcar[agv_id - 1].Location = pl_old_parent.Location;
Func.agvcar[agv_id - 1].BringToFront();
nextStation(Convert.ToInt16((Func.agvcar[agv_id - 1].Tag.ToString().Split('-'))[1]), current_location, run_fx, out run_time, out run_model,out next_loc);
Func.agvcar[agv_id - 1].TimeLong = run_time;
Func.agvcar[agv_id - 1].Run_Model = run_model;
if (next_loc != 0)
{
foreach (System.Windows.Forms.Control c in parent_pnl.Controls)
{
if (c.GetType().Name == "Panel")
{
if (Convert.ToInt16(c.Tag.ToString().Split('-')[0]) == next_loc)
{
Func.agvcar[agv_id - 1].NextLocation = c.Location;
return;
}
}
}
}
}
}
}
}
}
//以下设置新容器大小
int i = 0;
foreach (System.Windows.Forms.Control ctl in pl_new_parent.Controls)
{
i = i + Cls.Param.Icon_Size;
}
try
{
if (pl_new_parent.Tag.ToString().Split('-')[1] == "3" || pl_new_parent.Tag.ToString().Split('-')[1] == "4")
{
pl_new_parent.Height = i;
}
else
{
pl_new_parent.Width = i;
}
}
catch
{
}
}
/// <summary>
/// 获取下一个站点
/// </summary>
/// <param name="Assembly_ID">线体编号</param>
/// <param name="Landmark_ID">位置编号</param>
/// <param name="flag">区分</param>
/// <param name="p">返回下一个站点坐标</param>
/// <param name="run_time">返回到下一个站点的时间</param>
/// <param name="run_model">返回AGV图标运动模式</param>
private static void nextStation(int Assembly_ID, int Landmark_ID, int flag, out int run_time1, out int run_model1, out int next_loc1)
{
run_time1 = 0;
run_model1 = 0;
next_loc1 = 0;
DataView rowfilter = new DataView(mainfrm.ds_linelandmark.Tables[0]);
rowfilter.RowFilter = "Assembly_Line=" + Assembly_ID + " and LOC_ID= " + Landmark_ID;
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
if (dt.Rows.Count == 1)
{
if (flag == 1)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime1"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict1"]);
}
else if (flag == 2)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime2"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict2"]);
}
else if (flag == 3)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime2"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict2"]);
}
}
}
catch
{
}
}
/// <summary>
/// AGV实时故障显示
/// </summary>
/// <param name="del_agv_no"></param>
/// <param name="Assembly_Name"></param>
/// <param name="Assembly_Id"></param>
/// <param name="AGV_Internal_No"></param>
/// <param name="AlarmInfo"></param>
/// <param name="agv_no"></param>
public static void Agv_Alarm_Insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no)
{
lock (obj_agv_alarm_insert)
{
agv_alarm_insert(del_agv_no, Assembly_Name, Assembly_Id, AGV_Internal_No, AlarmInfo, agv_no);
}
}
private static object obj_agv_alarm_insert = new object();
private static void agv_alarm_insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no)
{
if (del_agv_no == 0)
{
bool update_flag = false;
if (mainfrm.ds_AgvWarn.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; i++)
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3].ToString()) == agv_no &&
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Trim() == AlarmInfo.Trim())
{
//ds_aGVWarn.Tables[0].Rows[i][0] = DateTime.Now.ToString();
//ds_aGVWarn.Tables[0].Rows[i][1] = Assembly_Id;
//ds_aGVWarn.Tables[0].Rows[i][2] = Assembly_Name;
//ds_aGVWarn.Tables[0].Rows[i][3] = agv_no;
//ds_aGVWarn.Tables[0].Rows[i][4] = AGV_Internal_No;
//ds_aGVWarn.Tables[0].Rows[i][5] = AlarmInfo;
//update_flag = true;
return;
}
}
}
if (!update_flag)
{
DataRow dr = mainfrm.ds_AgvWarn.Tables[0].NewRow();
dr[0] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");// 时间
dr[1] = Assembly_Id; // 线体编号
dr[2] = Assembly_Name; // 线体名称
dr[3] = agv_no; // 设备编号
dr[4] = AGV_Internal_No; // 内部编号
dr[5] = AlarmInfo; // 报警信息
mainfrm.ds_AgvWarn.Tables[0].Rows.Add(dr);
}
}
else
{
for (int i = 0; i < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; i++)
{
if (AlarmInfo == "正常")
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) == del_agv_no)
{
if (!mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Contains("障碍物"))
{
//db_conn.Command("INSERT INTO [Warn_Log] ([Dt] ,[Agv_id] ,[Type] ,[Reset]) VALUES ('" +
// mainfrm.ds_AgvWarn.Tables[0].Rows[i][0] + "'," +
// mainfrm.ds_AgvWarn.Tables[0].Rows[i][3] + ",'" +
// mainfrm.ds_AgvWarn.Tables[0].Rows[i][5] + "','" +
// DateTime.Now.ToString() + "')");
db_conn.Command("INSERT INTO [Warn_Log] ([Dt] ,[Agv_id] ,[Type] ,[Reset] ,[Internal_ID] ,[Line_ID] ,[Line_Name]) VALUES ('" +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][0] + "'," +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][3] + ",'" +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5] + "','" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," +
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) - 1].Internal_ID + "," +
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) - 1].AssemblyLine + ",'" +
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) - 1].AssemblyName + "')");
}
mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(i);
i--;
}
}
else
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) == del_agv_no &&
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString() == AlarmInfo)
{
if (!mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Contains("障碍物"))
{
db_conn.Command("INSERT INTO [Warn_Log] ([Dt] ,[Agv_id] ,[Type] ,[Reset] ,[Internal_ID] ,[Line_ID] ,[Line_Name]) VALUES ('" +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][0] + "'," +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][3] + ",'" +
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5] + "','" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "',"+
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3])-1].Internal_ID+","+
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) - 1].AssemblyLine+",'"+
Func.AgvInfo[Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) - 1].AssemblyName+"')");
}
mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(i);
i--;
}
}
}
}
}
/// <summary>
///
/// </summary>
/// <param name="Assembly_Name"></param>
/// <param name="Assembly_Id"></param>
/// <param name="AGV_Internal_No"></param>
/// <param name="LandMark"></param>
/// <param name="Info"></param>
/// <param name="agv_no"></param>
public static void CrossInfo_Insert(string Assembly_Name,
string Assembly_Id,
int AGV_Internal_No,
int LandMark,
string Info,
int agv_no,
int plc_value,
int internal_id,
int line_id,
string line_name)
{
lock (obj_crossinfo_insert)
{
crossInfo_Insert(Assembly_Name, Assembly_Id, AGV_Internal_No, LandMark, Info, agv_no, plc_value, internal_id, line_id,line_name);
}
}
private static object obj_crossinfo_insert = new object();
public static void crossInfo_Insert(string Assembly_Name,
string Assembly_Id,
int AGV_Internal_No,
int LandMark,
string Info,
int agv_no,
int plc_value,
int internal_id,
int line_id,
string line_name)
{
string strsql = "";
strsql = "INSERT INTO [Go_Log] ([Dt] ,[Agv_id] ,[Type] ,[Location],[plc_value] ,[Internal_ID],[Line_ID] ,[Line_Name]) VALUES " +
"('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," +
agv_no + ",'" +
Info + "'," +
LandMark + "," +
plc_value +","+
internal_id+","+
line_id + ",'"+
line_name + "')";
db_conn.Command(strsql);
}
private static object obj_GetLandMarkId = new object();
/// <summary>
/// 根据地标值读取地标编号
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static int GetLandMarkId(int assemblyline_id, int value)
{
lock (obj_GetLandMarkId)
{
int markid = 0;
DataView rowfilter = new DataView(mainfrm.ds_linelandmark.Tables[0]);
rowfilter.RowFilter = "Flag_Value=" + value + " and Assembly_Line= " + assemblyline_id;
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
markid = Convert.ToInt16(dt.Rows[0]["Loc_ID"].ToString());
}
catch
{
}
return markid;
}
}
private static object obj_change = new object();
public static void Change_Rec(int agv_id ,int current_loc,int histroy_loc,DateTime dt,int internal_id,int line_id,string line_name)
{
lock (obj_change)
{
if (mainfrm.ds_Change.Tables[0].Rows.Count == 0) return;
if (histroy_loc == 0) return;
bool current_loc_res = false;
bool histroy_loc_res = false;
if (mainfrm.ds_Change.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in mainfrm.ds_Change.Tables[0].Rows)
{
if (Convert.ToInt16(dr[0].ToString()) == current_loc)
{
current_loc_res = true;
return;
}
if (Convert.ToInt16(dr[0].ToString()) == histroy_loc)
{
histroy_loc_res = true;
}
}
if (current_loc_res == false && histroy_loc_res == true)
{
db_conn.Command("INSERT INTO [Change_Log]([Agv_ID] ,[Start_time],[Finish_time] ,[Location_ID],internal_id, line_id, line_name) VALUES(" +
agv_id + ",'" +
dt + "','" +
DateTime.Now.ToString() + "'," +
histroy_loc + ","+
internal_id +","+
line_id +",'"+
line_name+"')");
}
}
}
}
}
}
@@ -0,0 +1,630 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Net.NetworkInformation;
using System.Data;
using System.Threading;
using Agv_Info;
using BllSql;
using AGVSystem.A17168;
//using Agv_Control;
namespace AGVSystem
{
public class Func
{
/// <summary>
/// 表示每个AGV的btn
/// </summary>
//public static AgvLib.HxAgv[] AgvBtn;
public static AgvCar.Agv[] agvcar;
public static Cls.AgvInfo[] AgvInfo;
public static ClsDBConn_sql db_conn = new ClsDBConn_sql();
public static BllBase bBllBase = new BllBase();
/// <summary>
///AGV位置变更时,记录位置信息的Temp
/// </summary>
public static int[] Agv_Location_Temp;
/// <summary>
/// 创建地标容器
/// </summary>
/// <param name="id">地标编号</param>
/// <param name="b">1.左端(后退) 2.右端(前进) 3.顶部(向上) 4.底部(向下)</param>
/// <param name="x">容器放置坐标x</param>
/// <param name="y">容器放置坐标y</param>
///
public static void CreatePanelLocation(string id, int direction, int x, int y, int area, string Assembly_ID)
{
Panel pl = new Panel();
if (area == 1)
{
pl.Parent = mainfrm.Map1;
}
else if (area == 2)
{
pl.Parent = mainfrm.Map2;
}
else
{
pl.Parent = mainfrm.Map3;
}
pl.BackColor = Color.Transparent;
Label lab = new Label();
//Button lab = new Button();
lab.Visible = Cls.Param.Location_ID_Dispaly;
lab.Text = id;
if (Assembly_ID != "0" || Assembly_ID != "")
{
lab.Tag = Assembly_ID + "-" + id;
lab.DoubleClick += new System.EventHandler(Cls.Path_Reset.label12_DoubleClick);
lab.MouseClick += new MouseEventHandler(label_MouseClick);
}
else if (Cls.Param.Display_CrossID == false)
{
lab.ForeColor = Color.Black;
}
lab.AutoSize = false;
lab.Height = Cls.Param.Icon_Size;
lab.Width = Cls.Param.Icon_Size;
pl.Width = Cls.Param.Icon_Size;
pl.Height = Cls.Param.Icon_Size;
lab.Parent = pl;
lab.BackColor = Color.Transparent;
lab.Font = new Font("宋体", 9, FontStyle.Regular);
lab.TextAlign = ContentAlignment.MiddleCenter;
if (direction == 1)
{
pl.Location = new Point(x, y - Cls.Param.Icon_Size / 2);
pl.Tag = id + "-" + "1";
lab.Dock = DockStyle.Left;
}
else if (direction == 2)
{
pl.Location = new Point(x, y - Cls.Param.Icon_Size / 2);
pl.Tag = id + "-" + "2";
lab.Dock = DockStyle.Left;
}
else if (direction == 3)
{
pl.Location = new Point(x - Cls.Param.Icon_Size / 2, y);
pl.Tag = id + "-" + "3";
lab.Dock = DockStyle.Top;
}
else if (direction == 4)
{
pl.Location = new Point(x - Cls.Param.Icon_Size / 2, y);
pl.Tag = id + "-" + "4";
lab.Dock = DockStyle.Top;
}
}
public static int loc_flag = 0;
private static void label_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
loc_flag = Convert.ToInt16(((Label)sender).Text);
}
}
private static object obj_dgvupdate = new object();
public static void DgvUpdate(DataGridView dgv, int row, string columnname, bool value)
{
lock (obj_dgvupdate)
{
dgvUpdate(dgv, row, columnname, value);
}
}
private static void dgvUpdate(DataGridView dgv, int row, string columnname, bool value)
{
dgv.Rows[row].Cells[columnname].Value = value;
if (columnname == "Status")
{
if (value)
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red;
}
else
{
dgv.Rows[row].Cells["联网状态"].Value = value;
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Gray;
}
}
else if (columnname == "联网状态")
{
if (value)
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Black;
}
else
{
dgv.Rows[row].DefaultCellStyle.ForeColor = Color.Red;
}
}
}
private static object obj_AgvIpToId = new object();
public static int AgvIpToId(string IP)
{
lock (obj_AgvIpToId)
{
string ip = IP;
int ID = 0; ;
DataView rowfilter = new DataView(mainfrm.ds_Agvlist.Tables[0]);
rowfilter.RowFilter = "IPAddress='" + ip + "'";
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
ID = Convert.ToInt16(dt.Rows[0]["ID"].ToString());
}
catch
{
}
return ID;
}
}
private static int run_time;
private static int run_model;
private static int next_loc = 0;
/// <summary>
/// 显示AGV位置状态
/// </summary>
/// <param name="agv_id">AGV编号</param>
/// <param name="run_status">运动状态:运行/停止</param>
/// <param name="warn_level">报警等级</param>
/// <param name="current_location">当前位置</param>
/// <param name="map_id">所属地图编号</param>
/// <param name="run_fx">运动方向:直行/左转/右转</param>
public static void Agv_Car_Status(int agv_id,
bool run_status,
int warn_level,
int current_location,
int map_id,
int run_fx)
{
try
{
Func.agvcar[agv_id - 1].Car_Warn_Level = warn_level;
if (current_location != Agv_Location_Temp[agv_id - 1])
{
Func.agvcar[agv_id - 1].Run_Status = false;
Agv_Location_Temp[agv_id - 1] = current_location;
}
else
{
Func.agvcar[agv_id - 1].Run_Status = run_status;
}
if (current_location == 0) return;
run_time = 0;
run_model = 0;
next_loc = 0;
Panel pl_new_parent = new Panel();//xin panel
Panel pl_old_parent = new Panel();//jiu panel
Panel parent_pnl = new Panel();
if (map_id == 1)
{
parent_pnl = mainfrm.Map1;
}
else if (map_id == 2)
{
parent_pnl = mainfrm.Map2;
}
else
{
parent_pnl = mainfrm.Map3;
}
foreach (System.Windows.Forms.Control ctl in parent_pnl.Controls)
{
if (ctl.GetType().Name == "Panel")
{
if (Convert.ToInt16(ctl.Tag.ToString().Split('-')[0]) == current_location)
{
pl_new_parent = (Panel)ctl;
//AGV移动到新的管控停止位
if (pl_new_parent != (Panel)Func.agvcar[agv_id - 1].Parent && !Func.agvcar[agv_id - 1].Run_Status)
{
Func.agvcar[agv_id - 1].Refresh();
pl_old_parent = (Panel)Func.agvcar[agv_id - 1].Parent;
Func.agvcar[agv_id - 1].Parent = pl_new_parent;
Func.agvcar[agv_id - 1].BringToFront();
if (pl_new_parent.Tag.ToString().Split('-')[1] == "1")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Left;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "2")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Right;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "3")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Top;
}
else if (pl_new_parent.Tag.ToString().Split('-')[1] == "4")
{
Func.agvcar[agv_id - 1].Dock = DockStyle.Bottom;
}
}
//AGV从停止位出发
else if (pl_new_parent == (Panel)Func.agvcar[agv_id - 1].Parent &&
Func.agvcar[agv_id - 1].Run_Status)
{
if (Func.agvcar[agv_id - 1].Parent != parent_pnl)
{
pl_old_parent = (Panel)Func.agvcar[agv_id - 1].Parent;
Func.agvcar[agv_id - 1].Dock = DockStyle.None;
Func.agvcar[agv_id - 1].Parent = parent_pnl;
string ss = parent_pnl.Name;
Func.agvcar[agv_id - 1].Location = pl_old_parent.Location;
Func.agvcar[agv_id - 1].BringToFront();
nextStation(Convert.ToInt16((Func.agvcar[agv_id - 1].Tag.ToString().Split('-'))[1]), current_location, run_fx, out run_time, out run_model, out next_loc);
Func.agvcar[agv_id - 1].TimeLong = run_time;
Func.agvcar[agv_id - 1].Run_Model = run_model;
if (next_loc != 0)
{
foreach (System.Windows.Forms.Control c in parent_pnl.Controls)
{
if (c.GetType().Name == "Panel")
{
if (Convert.ToInt16(c.Tag.ToString().Split('-')[0]) == next_loc)
{
Func.agvcar[agv_id - 1].NextLocation = c.Location;
return;
}
}
}
}
}
}
}
}
}
//以下设置新容器大小
int i = 0;
foreach (System.Windows.Forms.Control ctl in pl_new_parent.Controls)
{
i = i + Cls.Param.Icon_Size;
}
if (pl_new_parent.Tag != null && (pl_new_parent.Tag.ToString().Split('-')[1] == "3" || pl_new_parent.Tag.ToString().Split('-')[1] == "4"))
{
pl_new_parent.Height = i;
}
else
{
pl_new_parent.Width = i;
}
}catch(Exception ex)
{
}
}
/// <summary>
/// 获取下一个站点
/// </summary>
/// <param name="Assembly_ID">线体编号</param>
/// <param name="Landmark_ID">位置编号</param>
/// <param name="flag">区分</param>
/// <param name="p">返回下一个站点坐标</param>
/// <param name="run_time">返回到下一个站点的时间</param>
/// <param name="run_model">返回AGV图标运动模式</param>
private static void nextStation(int Assembly_ID, int Landmark_ID, int flag, out int run_time1, out int run_model1, out int next_loc1)
{
run_time1 = 0;
run_model1 = 0;
next_loc1 = 0;
DataView rowfilter = new DataView(mainfrm.ds_linelandmark.Tables[0]);
rowfilter.RowFilter = "Assembly_Line=" + Assembly_ID + " and LOC_ID= " + Landmark_ID;
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
if (dt.Rows.Count == 1)
{
if (flag == 1)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime1"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict1"]);
}
else if (flag == 2)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime2"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict2"]);
}
else if (flag == 3)
{
next_loc1 = Convert.ToInt16(dt.Rows[0]["Next_Station1"]);
run_time1 = Convert.ToInt16(dt.Rows[0]["LongTime2"]);
run_model1 = Convert.ToInt16(dt.Rows[0]["Drict2"]);
}
}
}
catch
{
}
}
/// <summary>
/// AGV实时故障显示
/// </summary>
/// <param name="del_agv_no"></param>
/// <param name="Assembly_Name"></param>
/// <param name="Assembly_Id"></param>
/// <param name="AGV_Internal_No"></param>
/// <param name="AlarmInfo"></param>
/// <param name="agv_no"></param>
public static void Agv_Alarm_Insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no)
{
lock (obj_agv_alarm_insert)
{
agv_alarm_insert(del_agv_no, Assembly_Name, Assembly_Id, AGV_Internal_No, AlarmInfo, agv_no);
}
}
private static object obj_agv_alarm_insert = new object();
private static void agv_alarm_insert(int del_agv_no, string Assembly_Name, string Assembly_Id, int AGV_Internal_No, string AlarmInfo, int agv_no)
{
if (del_agv_no == 0)
{
bool update_flag = false;
if (mainfrm.ds_AgvWarn.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; i++)
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3].ToString()) == agv_no &&
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Trim() == AlarmInfo.Trim())
{
//ds_aGVWarn.Tables[0].Rows[i][0] = DateTime.Now.ToString();
//ds_aGVWarn.Tables[0].Rows[i][1] = Assembly_Id;
//ds_aGVWarn.Tables[0].Rows[i][2] = Assembly_Name;
//ds_aGVWarn.Tables[0].Rows[i][3] = agv_no;
//ds_aGVWarn.Tables[0].Rows[i][4] = AGV_Internal_No;
//ds_aGVWarn.Tables[0].Rows[i][5] = AlarmInfo;
//update_flag = true;
return;
}
}
}
if (!update_flag)
{
DataRow dr = mainfrm.ds_AgvWarn.Tables[0].NewRow();
dr[0] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");// 时间
dr[1] = Assembly_Id; // 线体编号
dr[2] = Assembly_Name; // 线体名称
dr[3] = agv_no; // 设备编号
dr[4] = AGV_Internal_No; // 内部编号
dr[5] = AlarmInfo; // 报警信息
mainfrm.ds_AgvWarn.Tables[0].Rows.Add(dr);
}
}
else
{
for (int i = 0; i < mainfrm.ds_AgvWarn.Tables[0].Rows.Count; i++)
{
if (AlarmInfo == "正常")
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) == del_agv_no)
{
if (!mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Contains("障碍物"))
{
Warn_Log warn_Log = new Warn_Log(mainfrm.ds_AgvWarn.Tables[0].Rows[i][0].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[i][3].ToString(),
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString(), DateTime.Now.ToString());
UPDateDBList.upDbList.Add(warn_Log);
}
mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(i);
i--;
}
}
else
{
if (Convert.ToInt16(mainfrm.ds_AgvWarn.Tables[0].Rows[i][3]) == del_agv_no &&
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString() == AlarmInfo)
{
if (!mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString().Contains("障碍物"))
{
//db_conn.Command("INSERT INTO [Warn_Log] ([Dt] ,[Agv_id] ,[Type] ,[Reset]) VALUES ('" +
// mainfrm.ds_AgvWarn.Tables[0].Rows[i][0] + "'," + mainfrm.ds_AgvWarn.Tables[0].Rows[i][3] + ",'" + mainfrm.ds_AgvWarn.Tables[0].Rows[i][5] + "','" + DateTime.Now.ToString() + "')");
Warn_Log warn_Log = new Warn_Log(mainfrm.ds_AgvWarn.Tables[0].Rows[i][0].ToString(), mainfrm.ds_AgvWarn.Tables[0].Rows[i][3].ToString(),
mainfrm.ds_AgvWarn.Tables[0].Rows[i][5].ToString(), DateTime.Now.ToString());
UPDateDBList.upDbList.Add(warn_Log);
}
mainfrm.ds_AgvWarn.Tables[0].Rows.RemoveAt(i);
i--;
}
}
}
}
}
/// <summary>
///
/// </summary>
/// <param name="Assembly_Name"></param>
/// <param name="Assembly_Id"></param>
/// <param name="AGV_Internal_No"></param>
/// <param name="LandMark"></param>
/// <param name="Info"></param>
/// <param name="agv_no"></param>
public static void CrossInfo_Insert(string Assembly_Name,
string Assembly_Id,
int AGV_Internal_No,
int LandMark,
string Info,
int agv_no,
int plc_value,
int internal_id,
int line_id,
string line_name)
{
lock (obj_crossinfo_insert1)
{
crossInfo_Insert(Assembly_Name, Assembly_Id, AGV_Internal_No, LandMark, Info, agv_no, plc_value, internal_id, line_id, line_name);
}
}
private static object obj_crossinfo_insert1 = new object();
public static void crossInfo_Insert(string Assembly_Name,
string Assembly_Id,
int AGV_Internal_No,
int LandMark,
string Info,
int agv_no,
int plc_value,
int internal_id,
int line_id,
string line_name)
{
string strsql = "";
strsql = "INSERT INTO [Go_Log] ([Dt] ,[Agv_id] ,[Type] ,[Location],[plc_value] ,[Internal_ID],[Line_ID] ,[Line_Name]) VALUES " +
"('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'," +
agv_no + ",'" +
Info + "'," +
LandMark + "," +
plc_value + "," +
internal_id + "," +
line_id + ",'" +
line_name + "')";
db_conn.Command(strsql);
}
///// <summary>
/////
///// </summary>
///// <param name="Assembly_Name"></param>
///// <param name="Assembly_Id"></param>
///// <param name="AGV_Internal_No"></param>
///// <param name="LandMark"></param>
///// <param name="Info"></param>
///// <param name="agv_no"></param>
public static void CrossInfo_Insert(string Assembly_Name, string Assembly_Id, int AGV_Internal_No, int LandMark, string Info, int agv_no, int plc_value)
{
UPDateDBList.upDbList.Add(new CrossInfo_Insert(DateTime.Now, Assembly_Name, Assembly_Id, AGV_Internal_No, LandMark, Info, agv_no, plc_value));
}
private static object obj_crossinfo_insert = new object();
private static object obj_GetLandMarkId = new object();
/// <summary>
/// 根据地标值读取地标编号
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static int GetLandMarkId(int assemblyline_id, int value)
{
lock (obj_GetLandMarkId)
{
int markid = 0;
DataView rowfilter = new DataView(mainfrm.ds_linelandmark.Tables[0]);
rowfilter.RowFilter = "Flag_Value=" + value + " and Assembly_Line= " + assemblyline_id;
rowfilter.RowStateFilter = DataViewRowState.OriginalRows;
DataTable dt = rowfilter.ToTable();
try
{
if (dt.Rows.Count > 0)
markid = Convert.ToInt16(dt.Rows[0]["Loc_ID"].ToString());
}
catch
{
}
return markid;
}
}
private static object obj_change = new object();
public static void Change_Rec(int agv_id, int current_loc, int histroy_loc, DateTime dt, int internal_id, int line_id, string line_name)
{
lock (obj_change)
{
if (mainfrm.ds_Change.Tables[0].Rows.Count == 0) return;
if (histroy_loc == 0) return;
bool current_loc_res = false;
bool histroy_loc_res = false;
if (mainfrm.ds_Change.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in mainfrm.ds_Change.Tables[0].Rows)
{
if (Convert.ToInt16(dr[0].ToString()) == current_loc)
{
current_loc_res = true;
return;
}
if (Convert.ToInt16(dr[0].ToString()) == histroy_loc)
{
histroy_loc_res = true;
}
}
if (current_loc_res == false && histroy_loc_res == true)
{
db_conn.Command("INSERT INTO [Change_Log]([Agv_ID] ,[Start_time],[Finish_time] ,[Location_ID],internal_id, line_id, line_name) VALUES(" +
agv_id + ",'" +
dt + "','" +
DateTime.Now.ToString() + "'," +
histroy_loc + "," +
internal_id + "," +
line_id + ",'" +
line_name + "')");
}
}
}
}
private static object obj_change1 = new object();
public static void Change_Rec(int agv_id, int current_loc, int histroy_loc, DateTime dt)
{
lock (obj_change1)
{
if (mainfrm.ds_Change.Tables[0].Rows.Count == 0) return;
if (histroy_loc == 0) return;
bool current_loc_res = false;
bool histroy_loc_res = false;
if (mainfrm.ds_Change.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in mainfrm.ds_Change.Tables[0].Rows)
{
if (Convert.ToInt16(dr[0].ToString()) == current_loc)
{
current_loc_res = true;
return;
}
if (Convert.ToInt16(dr[0].ToString()) == histroy_loc)
{
histroy_loc_res = true;
}
}
if (current_loc_res == false && histroy_loc_res == true)
{
db_conn.Command("INSERT INTO [Change_Log]([Agv_ID] ,[Start_time],[Finish_time] ,[Location_ID]) VALUES(" +
agv_id + ",'" + dt + "','" + DateTime.Now.ToString() + "'," + histroy_loc + ")");
}
}
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,478 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Globalization;
namespace AGVSystem.Cls
{
class OmrlonHostlink
{
public string IPAdress;
public bool connected = false;
public Socket clientSocket;
private IPEndPoint hostEndPoint;
private Byte[] SendDataPro;
private Byte[] RecvDataPro;
private Byte[] SendData;
private Byte[] RecvData;
private Byte SendOrRecv;
private AutoResetEvent autoConnectEvent = new AutoResetEvent(false);
private SocketAsyncEventArgs lisnterSocketAsyncEventArgs;
public delegate void StartListeHandler();
public event StartListeHandler StartListen;
public delegate void ReceiveMsgHandler(byte[] info);
public event ReceiveMsgHandler OnMsgReceived;
private List<SocketAsyncEventArgs> s_lst = new List<SocketAsyncEventArgs>();
public OmrlonHostlink(string hostName, int port)
{
IPAdress = hostName;
IPAddress[] hostAddresses = Dns.GetHostAddresses(hostName);
this.hostEndPoint = new IPEndPoint(hostAddresses[hostAddresses.Length - 1], port);
this.clientSocket = new Socket(this.hostEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
/// <summary>
/// 连接服务端
/// </summary>
/// <returns></returns>
private bool Connect()
{
using (SocketAsyncEventArgs args = new SocketAsyncEventArgs())
{
args.UserToken = this.clientSocket;
args.RemoteEndPoint = this.hostEndPoint;
args.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnConnect);
this.clientSocket.ConnectAsync(args);
bool flag = autoConnectEvent.WaitOne(1000);
if (flag)
{
this.lisnterSocketAsyncEventArgs = new SocketAsyncEventArgs();
byte[] buffer = new byte[50];
this.lisnterSocketAsyncEventArgs.UserToken = this.clientSocket;
this.lisnterSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.lisnterSocketAsyncEventArgs.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnReceive);
this.StartListen();
return true;
}
return false;
}
}
/// <summary>
/// 判断有没有连接上
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnConnect(object sender, SocketAsyncEventArgs e)
{
this.connected = (e.SocketError == SocketError.Success);
autoConnectEvent.Set();
}
/// <summary>
/// 发送
/// </summary>
/// <param name="mes"></param>
public void Send(string mes)
{
if (this.connected)
{
EventHandler<SocketAsyncEventArgs> handler = null;
byte[] buffer = Encoding.Default.GetBytes(mes);
SocketAsyncEventArgs senderSocketAsyncEventArgs = null;
lock (s_lst)
{
if (s_lst.Count > 0)
{
senderSocketAsyncEventArgs = s_lst[s_lst.Count - 1];
s_lst.RemoveAt(s_lst.Count - 1);
}
}
if (senderSocketAsyncEventArgs == null)
{
senderSocketAsyncEventArgs = new SocketAsyncEventArgs();
senderSocketAsyncEventArgs.UserToken = this.clientSocket;
senderSocketAsyncEventArgs.RemoteEndPoint = this.clientSocket.RemoteEndPoint;
if (handler == null)
{
handler = delegate(object sender, SocketAsyncEventArgs _e)
{
lock (s_lst)
{
s_lst.Add(senderSocketAsyncEventArgs);
}
};
}
senderSocketAsyncEventArgs.Completed += handler;
}
senderSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.clientSocket.SendAsync(senderSocketAsyncEventArgs);
}
else
{
this.connected = false;
}
}
/// <summary>
/// 监听服务端
/// </summary>
public void Listen()
{
if (this.connected && this.clientSocket != null)
{
try
{
(lisnterSocketAsyncEventArgs.UserToken as Socket).ReceiveAsync(lisnterSocketAsyncEventArgs);
}
catch (Exception)
{
}
}
}
/// <summary>
/// 断开连接
/// </summary>
/// <returns></returns>
private int Disconnect()
{
int res = 0;
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
try
{
this.clientSocket.Close();
}
catch (Exception)
{
}
this.connected = false;
return res;
}
/// <summary>
/// 数据接受
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnReceive(object sender, SocketAsyncEventArgs e)
{
if (e.BytesTransferred == 0)
{
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
finally
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
byte[] info = new Byte[] { 0 };
this.OnMsgReceived(info);
}
else
{
byte[] buffer = new byte[e.BytesTransferred];
for (int i = 0; i < e.BytesTransferred; i++)
{
buffer[i] = e.Buffer[i];
}
this.OnMsgReceived(buffer);
Listen();
}
}
/// <summary>
/// 接受完成
/// </summary>
/// <param name="info"></param>
private void OmrlonSocketClient_OnMsgReceived(byte[] info)
{
if (info[0] != 0)
{
if (this.SendOrRecv == 1)
{
this.SendDataPro = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 2)
{
this.SendData = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 3)
{
this.RecvDataPro = info;
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 4)
{
this.RecvData = info;
this.SendOrRecv = 0;
}
}
else
{
if (this.SendOrRecv == 1)
{
this.SendDataPro = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 2)
{
this.SendData = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 3)
{
this.RecvDataPro = new Byte[] { 0 };
this.SendOrRecv = 0;
}
else if (this.SendOrRecv == 4)
{
this.RecvData = new Byte[] { 0 };
this.SendOrRecv = 0;
}
}
}
/// <summary>
/// 建立连接的方法
/// </summary>
/// <returns></returns>
public bool OpenLinkPLC()
{
bool flag = false;
this.StartListen += new StartListeHandler(OmrlonSocketClient_StartListen);
this.OnMsgReceived += new ReceiveMsgHandler(OmrlonSocketClient_OnMsgReceived);
flag = this.Connect();
if (!flag)
{
return flag;
}
return true;
}
/// <summary>
/// 关闭连接的方法
/// </summary>
/// <returns></returns>
public int CloseLinkPLC()
{
return this.Disconnect();
}
/// <summary>
/// 监听的方法
/// </summary>
private void OmrlonSocketClient_StartListen()
{
this.Listen();
}
/// <summary>
/// 校验
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
private string FCS(string Value)
{
int num2 = 0;
for (int i = 0; i < Value.Length; i++)
{
byte[] bytes = Encoding.ASCII.GetBytes(Value.Substring(i, 1));
num2 ^= bytes[0];
}
return num2.ToString("X");
}
#region PLC数据
/// <summary>
/// 写一个DM数据
/// </summary>
/// <param name="paddr"></param>
/// <param name="waddr"></param>
/// <param name="value"></param>
/// <returns></returns>
public int WritePlcDMValue(string stationNO, int address, string value)
{
int flag = -1;
string str = "";
string str2 = "";
string str3 = value;
str2 = address.ToString().PadLeft(4, '0');
stationNO = stationNO.PadLeft(2, '0');
str = "@" + stationNO + "WD" + str2 + str3;
str = string.Concat(new object[] { str, this.FCS(str), "*", '\r' });
this.SendOrRecv = 1;
int numPro = 0;
this.Send(str);
while (this.SendOrRecv != 0 && numPro < 500)
{
Thread.Sleep(1);
numPro++;
}
if (numPro < 500)
{
string STR = Encoding.Default.GetString(SendDataPro, 0, SendDataPro.Length);
if (STR.Length > 7)
{
if (STR.Substring(5, 2) == "00" &&STR.Substring(3, 2) == "WD"&& STR.Substring(0, 1) == "@" && STR.Substring(STR.Length - 1, 1) == "\r")
{
flag = 0;
}
//if (this.SendDataPro.Length > 7)
//{
// if (this.SendDataPro[5] == 0x30 && this.SendDataPro[6] == 0x30)
// {
// flag = 0;
// }
// return flag;
//}
}
}
else
{
this.SendOrRecv = 0;
}
return flag;
}
#endregion
#region DM值
/// <summary>
/// 读DM值
/// </summary>
/// <param name="stationNO"></param>
/// <param name="length"></param>
/// <param name="address"></param>
/// <param name="value"></param>
/// <returns></returns>
public int ReadPlcDMValue(string PlcNo, int Addr, out int value)
{
int A = 0;
if (Addr == 3000)
A = 0;
int flag = -1;
value = -1;
string str = "";
string str2 = "";
str2 = Addr.ToString().PadLeft(4, '0');
PlcNo = PlcNo.PadLeft(2, '0');
str = "@" + PlcNo + "RD" + str2 + "0001";
str = string.Concat(new object[] { str, this.FCS(str), "*", '\r' });
this.SendOrRecv = 3;
int numPro = 0;
this.Send(str);
while (this.SendOrRecv != 0 && numPro < 500)
{
Thread.Sleep(1);
numPro++;
}
if (numPro < 500)
{
string STR = Encoding.Default.GetString(RecvDataPro, 0, RecvDataPro.Length);
if (STR.Length > 11)
{
if (STR.Substring(5, 2) == "00" && STR.Substring(3, 2) == "RD" && STR.Substring(0, 1) == "@" && STR.Substring(STR.Length - 1, 1) == "\r")
{
value = int.Parse(STR.Trim().Substring(7, 4), NumberStyles.HexNumber);
flag = 0;
}
}
//if (this.RecvDataPro.Length > 11)
//{
// if (this.RecvDataPro[5] == 0x30 && this.RecvDataPro[6] == 0x30)
// {
// flag = 0;
// value = RecvDataPro[10] + RecvDataPro[9] * 16 + RecvDataPro[8] * 256 + RecvDataPro[7] * 16 * 256;
// }
// return flag;
//}
}
else
{
this.SendOrRecv = 0;
}
return flag;
}
#endregion
#region HR值
/// <summary>
/// 读HR值
/// </summary>
/// <param name="stationNO"></param>
/// <param name="length"></param>
/// <param name="address"></param>
/// <param name="value"></param>
/// <returns></returns>
public int ReadPlcHRValue(string PlcNo, int Addr, out int Value)
{
int flag = -1;
Value = -1;
string str = "";
string str2 = "";
str2 = Addr.ToString().PadLeft(4, '0');
PlcNo = PlcNo.PadLeft(2, '0');
str = "@" + PlcNo + "RH" + str2 + "0001";
str = string.Concat(new object[] { str, this.FCS(str), "*", '\r' });
this.SendOrRecv = 4;
int num = 0;
this.Send(str);
while (this.SendOrRecv != 0 && num < 500)
{
Thread.Sleep(1);
num++;
}
if (num < 500)
{
string STR = Encoding.Default.GetString(RecvData, 0, RecvData.Length);
if (STR.Length > 11)
{
if (STR.Substring(5, 2) == "00" && STR.Substring(3, 2) == "RH" && STR.Substring(0, 1) == "@" && STR.Substring(STR.Length - 1, 1) == "\r")
{
Value = int.Parse(STR.Trim().Substring(7, 4), NumberStyles.HexNumber);
flag = 0;
}
}
//if (this.RecvData.Length > 11)
//{
// if (this.RecvData[5] == 0x30 && this.RecvData[6] == 0x30)
// {
// flag = 0;
// Value = RecvData[10] + RecvData[9] * 16 + RecvData[8] * 256 + RecvData[7] * 16*256;
// }
// return flag;
//}
}
else
{
this.SendOrRecv = 0;
}
return flag;
}
#endregion
#region IDispose member
public void Dispose()
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
#endregion
}
}
@@ -0,0 +1,115 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Threading;
//using Agv_Control;
using IO_Card_1730U;
namespace AGVSystem.Cls
{
public class Param
{
public static bool Exit_Lg_Flag = false;
public static bool StartFlag = false;
public static string UserName="";
public static string Password="";
public static string UserName_temp = "";
public static string Password_temp = "";
public static Color backcolor;
public static int Icon_Size = 32;
//public static bool Traffic1 = false;
//public static bool Traffic2 = false;
//public static bool Traffic3 = false;
//public static bool Traffic4 = false;
public static bool Write_log;
public static bool Display_CrossID = true;
public static bool Hand1_St = false;
public static bool Hand2_St = false;
public static int Hand1_Agv_St = 0;
public static int Hand2_Agv_St = 0;
public static bool HandLoc1_Go = false;
public static bool HandLoc2_Go = false;
//public static bool BY_ST = false;
//public static int BY_Write_Value = 0;
public static bool BY1_GO = false;
public static bool BY1_Leave = false;
public static bool BY2_GO = false;
public static bool BY2_Leave = false;
public static string map1_path = "";
public static string map2_path = "";
public static string map3_path = "";
public static bool map1_status = true;
public static bool map2_status = false;
public static bool map3_status = false;
public static bool Location_ID_Dispaly = true;
public static string connectStr = "";
public static string Pro_id = "";
public static string Pro_factory = "";
public static string Pro_remark = "";
public static int Day_Count = 15;
public static int Card1_Interval = 0;
public static int Card2_Interval = 0;
public static int Card3_Interval = 0;
public static IO_Card_1730U.IO_Card card1;
public static IO_Card_1730U.IO_Card card2;
public static IO_Card_1730U.IO_Card card3;
public static Thread[] th_GetData;
/// <summary>
/// 定义AGV的总数量
/// </summary>
public static byte AGV_Qty = 0;
public static Agv_Info.AgvInfo agvinfocls = new Agv_Info.AgvInfo();
public static Type t;
/// <summary>
/// 启动程序时自动开始管控
/// </summary>
public static bool Auto_Control = false;
public static bool Load_Path_His = false;
public static byte PLC_Type = 0;
//0:Omron Serial Hostlink
//1:Omron Serial Fins
//2:Siemens S7-200 Serial
//3:Siemens S7-200 Net
//4:SCM Net Protocol
public static bool Agv_Location_Auto_Display = false;
public static byte Map_ID = 1;
public static int Thread_Count = -1;
public static Boolean Frm_Ischild = false;
public static string Xj_Time1 = "";
public static string Xj_Time2 = "";
public static bool Exit_Flag = false;
public static int Wait_Time1 = 0;
public static int Wait_Time2 = 0;
}
}
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem.Cls
{
class Path_Reset
{
public static void label12_DoubleClick(object sender, EventArgs e)
{
if (((System.Windows.Forms.Label)sender).Tag.ToString() == "")
return;
if (MessageBox.Show("是否复位该路口?", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) return;
int[] num = new int[2];
num[0] = Convert.ToInt16(((System.Windows.Forms.Label)sender).Tag.ToString().Split('-')[0]);
num[1] = Convert.ToInt16(((System.Windows.Forms.Label)sender).Tag.ToString().Split('-')[1]);
for (int i = 0; i < mainfrm.ds_CrossInfo.Tables[0].Rows.Count; i++)
{
string s = mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前地标编号"].ToString();
string a = mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString();
if (mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前产线编号"].ToString() == num[0].ToString() &&
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前地标编号"].ToString() == num[1].ToString() &&
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString() != "0")
{
MessageBox.Show("AGV-" + mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString() + "占用路口信息被清除!");
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"] = 0;
}
}
}
}
}
@@ -0,0 +1,120 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace AGVSystem
{
class Senddataset
{
/// <summary>
/// 将dataSet转换为json
/// </summary>
/// <param name="dataSet"></param>
/// <returns></returns>
public static string DatasetToJson(DataSet dataSet)
{
string jsonString = "{";
foreach (DataTable table in dataSet.Tables)
{
jsonString += "\"" + table.TableName + "\":" + DataTableToJson(table) + ",";
}
jsonString = jsonString.TrimEnd(',');
return jsonString + "}";
}
public static string DataTableToJson(DataTable dt)
{
StringBuilder jsonString = new StringBuilder();
jsonString.Append("[");
DataRowCollection drc = dt.Rows;
for (int i = 0; i < drc.Count; i++)
{
jsonString.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
string strKey = dt.Columns[j].ColumnName;
string strValue = drc[i][j].ToString();
Type type = dt.Columns[j].DataType;
jsonString.Append("\"" + strKey + "\":");
strValue = StringFormat(strValue, type);
if (j < dt.Columns.Count - 1)
{
jsonString.Append(strValue + ",");
}
else
{
jsonString.Append(strValue);
}
}
jsonString.Append("},");
}
jsonString.Remove(jsonString.Length - 1, 1);
jsonString.Append("]");
return jsonString.ToString();
}
/// <summary>
///
/// </summary>
/// <param name="str"></param>
/// <param name="type"></param>
/// <returns></returns>
private static string StringFormat(string str, Type type)
{
if (type == typeof(string))
{
str = StringToJson(str);
str = "\"" + str + "\"";
}
else if (type == typeof(DateTime))
{
str = "\"" + str + "\"";
}
else if (type == typeof(bool))
{
str = str.ToLower();
}
else if (type != typeof(string) && string.IsNullOrEmpty(str))
{
str = "\"" + str + "\"";
}
return str;
}
//#region 私有方法
/// <summary>
/// 过滤特殊字符
/// </summary>
/// <param name="s">字符串</param>
/// <returns>json字符串</returns>
private static string StringToJson(String s)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
char c = s.ToCharArray()[i];
switch (c)
{
case '\"':
sb.Append("\\\""); break;
case '\\':
sb.Append("\\\\"); break;
case '/':
sb.Append("\\/"); break;
case '\b':
sb.Append("\\b"); break;
case '\f':
sb.Append("\\f"); break;
case '\n':
sb.Append("\\n"); break;
case '\r':
sb.Append("\\r"); break;
case '\t':
sb.Append("\\t"); break;
default:
sb.Append(c); break;
}
}
return sb.ToString();
}
}
}
@@ -0,0 +1,505 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Globalization;
namespace AGVSystem
{
public class Soc_Client
{
public string IPAdress;
public bool connected = false;
public Socket clientSocket;
private IPEndPoint hostEndPoint;
private AutoResetEvent autoConnectEvent = new AutoResetEvent(false);
private SocketAsyncEventArgs lisnterSocketAsyncEventArgs;
public delegate void StartListeHandler();
public event StartListeHandler StartListen;
public delegate void ReceiveMsgHandler(byte[] info);
public event ReceiveMsgHandler OnMsgReceived;
private List<SocketAsyncEventArgs> s_lst = new List<SocketAsyncEventArgs>();
public Soc_Client(string hostName, int port)
{
IPAdress = hostName;
IPAddress[] hostAddresses = Dns.GetHostAddresses(hostName);
this.hostEndPoint = new IPEndPoint(hostAddresses[hostAddresses.Length - 1], port);
this.clientSocket = new Socket(this.hostEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
}
/// <summary>
/// 连接服务端
/// </summary>
/// <returns></returns>
private bool Connect()
{
using (SocketAsyncEventArgs args = new SocketAsyncEventArgs())
{
try
{
args.UserToken = this.clientSocket;
args.RemoteEndPoint = this.hostEndPoint;
args.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnConnect);
this.clientSocket.ConnectAsync(args);
bool flag = autoConnectEvent.WaitOne(1000);
//SocketError err = args.SocketError;
if (this.connected)
{
this.lisnterSocketAsyncEventArgs = new SocketAsyncEventArgs();
byte[] buffer = new byte[50];
this.lisnterSocketAsyncEventArgs.UserToken = this.clientSocket;
this.lisnterSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.lisnterSocketAsyncEventArgs.Completed += new EventHandler<SocketAsyncEventArgs>(this.OnReceive);
this.StartListen();
return true;
}
}
catch
{ }
return false;
}
}
/// <summary>
/// 判断有没有连接上
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnConnect(object sender, SocketAsyncEventArgs e)
{
this.connected = (e.SocketError == SocketError.Success);
autoConnectEvent.Set();
}
/// <summary>
/// 发送
/// </summary>
/// <param name="mes"></param>
public void Send(Byte[] mes)
{
if (this.connected)
{
EventHandler<SocketAsyncEventArgs> handler = null;
byte[] buffer = mes;
SocketAsyncEventArgs senderSocketAsyncEventArgs = null;
lock (s_lst)
{
if (s_lst.Count > 0)
{
senderSocketAsyncEventArgs = s_lst[s_lst.Count - 1];
s_lst.RemoveAt(s_lst.Count - 1);
}
}
if (senderSocketAsyncEventArgs == null)
{
senderSocketAsyncEventArgs = new SocketAsyncEventArgs();
senderSocketAsyncEventArgs.UserToken = this.clientSocket;
senderSocketAsyncEventArgs.RemoteEndPoint = this.clientSocket.RemoteEndPoint;
if (handler == null)
{
handler = delegate (object sender, SocketAsyncEventArgs _e)
{
lock (s_lst)
{
s_lst.Add(senderSocketAsyncEventArgs);
}
};
}
senderSocketAsyncEventArgs.Completed += handler;
}
senderSocketAsyncEventArgs.SetBuffer(buffer, 0, buffer.Length);
this.clientSocket.SendAsync(senderSocketAsyncEventArgs);
}
else
{
this.connected = false;
}
}
/// <summary>
/// 监听服务端
/// </summary>
public void Listen()
{
if (this.connected && this.clientSocket != null)
{
try
{
(lisnterSocketAsyncEventArgs.UserToken as Socket).ReceiveAsync(lisnterSocketAsyncEventArgs);
}
catch (Exception)
{
}
}
}
/// <summary>
/// 断开连接
/// </summary>
/// <returns></returns>
private int Disconnect()
{
int res = 0;
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
try
{
this.clientSocket.Close();
}
catch (Exception)
{
}
this.connected = false;
return res;
}
/// <summary>
/// 数据接受
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnReceive(object sender, SocketAsyncEventArgs e)
{
if (e.BytesTransferred == 0)
{
try
{
this.clientSocket.Shutdown(SocketShutdown.Both);
}
catch (Exception)
{
}
finally
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
byte[] info = new Byte[] { 0 };
this.OnMsgReceived(info);
}
else
{
byte[] buffer = new byte[e.BytesTransferred];
for (int i = 0; i < e.BytesTransferred; i++)
{
buffer[i] = e.Buffer[i];
}
this.OnMsgReceived(buffer);
Listen();
}
}
/// <summary>
/// 接受完成
/// </summary>
/// <param name="info"></param>
private void SimaticSocketClient_OnMsgReceived(byte[] info)
{
if (info[0] != 0)
{
for (byte len = 0; len < info.Length; len++)
{
if (Offset < 24)
{
RecvData_Temp[Offset] = info[len];
Offset++;
}
}
}
else
{
for (byte i = 0; i < 24; i++)
{
RecvData_Temp[i] = 0;
}
Offset = 0;
}
}
/// <summary>
/// 建立连接的方法
/// </summary>
/// <returns></returns>
public bool OpenLinkPLC()
{
bool flag = false;
this.StartListen += new StartListeHandler(SimaticSocketClient_StartListen);
this.OnMsgReceived += new ReceiveMsgHandler(SimaticSocketClient_OnMsgReceived);
flag = this.Connect();
if (!flag)
{
return flag;
}
return true;
}
/// <summary>
/// 关闭连接的方法
/// </summary>
/// <returns></returns>
public int CloseLinkPLC()
{
return this.Disconnect();
}
/// <summary>
/// 监听的方法
/// </summary>
private void SimaticSocketClient_StartListen()
{
this.Listen();
}
#region STM数据
private object write_obj = new object();
/// <summary>
/// 写一个数据
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public int WriteInfo(int value_fx, int value_mb, int value_control)
{
lock (write_obj)
{
int flag = -1;
byte[] data = new byte[15];
data[0] = 0xF3;
data[1] = 0x01;
data[2] = Convert.ToByte(value_fx);
data[3] = 0x00;
data[4] = Convert.ToByte(value_mb % 256);
data[5] = Convert.ToByte(value_mb / 256);
data[6] = 0x00;
data[7] = 0x00;
data[8] = Convert.ToByte(value_control);
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x00;
data[13] = 0x00;
data[14] = 0xCF;
data[13] = (FCS(data))[0];
int numPro = 0;
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[22] = 0;
RecvData_Temp[23] = 0;
this.Send(data);
while ((RecvData_Temp[0] == 0 || RecvData_Temp[23] == 0) && numPro < 350)
{
Thread.Sleep(2);
numPro++;
}
if (numPro < 350)
{
if (RecvData_Temp[0] == 0xF3 && RecvData_Temp[1] == 0x02 && RecvData_Temp[23] == 0xCF)
{
flag = 0;//成功
}
}
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[22] = 0;
RecvData_Temp[23] = 0;
return flag;
}
}
#endregion
/************************************************************************/
/* Description: 写入数据(向AGV写入状态)
/* Time:2018/04/10 13时50分20秒
/* Author:WANGZHEN
/************************************************************************/
/// <summary>
/// 写入数据(向AGV写入状态)
/// 目标地址+放行+取料/放料状态
/// value_mb:目标地址,isDrop 1是放料,2是取料
/// </summary>
/// <param name="results"></param>
/// <returns></returns>
public int WriteInfo(int value_mb, int isDrop, out byte[] results)
{
lock (write_obj)
{
int flag = -1;
byte[] data = new byte[15];
data[0] = 0xF3;
data[1] = 0x01;
data[2] = 0x01;
data[3] = 0x00;
data[4] = Convert.ToByte(value_mb % 256);
data[5] = Convert.ToByte(value_mb / 256);
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = Convert.ToByte(isDrop);
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x00;
data[13] = 0x00;
data[14] = 0xCF;
data[13] = (FCS(data))[0];
results = new byte[24];
for (byte i = 0; i < 24; i++)
results[i] = 0;
int numPro = 0;
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[22] = 0;
RecvData_Temp[23] = 0;
this.Send(data);
while ((RecvData_Temp[0] == 0 || RecvData_Temp[23] == 0) && numPro < 350)
{
Thread.Sleep(2);
numPro++;
}
if (numPro < 350)
{
if (RecvData_Temp[0] == 0xF3 && RecvData_Temp[1] == 0x02 && RecvData_Temp[23] == 0xCF)
{
flag = 0;//成功
for (byte i = 0; i < 23; i++)
{
results[i] = RecvData_Temp[i];
}
}
}
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[22] = 0;
RecvData_Temp[23] = 0;
return flag;
}
}
private byte[] FCS(byte[] b)
{
int num2 = 0;
byte[] recValue = new byte[2];
//byte[]b=new byte[30] {0x46, 0x39, 0x30, 0x30, 0x30, 0x30, 0x46, 0x46, 0x30, 0x30, 0x30, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x44, 0x2A , 0x30 , 0x30 , 0x31 , 0x36, 0x31 , 0x36 , 0x30 , 0x30 , 0x30 , 0x31};
for (int i = 0; i < b.Length - 1; i++)
{
num2 += b[i];
}
string s = num2.ToString("X2").Substring(num2.ToString("X2").Length - 2, 2);
//recValue = Encoding.ASCII.GetBytes(s);
recValue = strToToHexByte(s);
return recValue;
}
private static byte[] strToToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
return returnBytes;
}
int Offset = 0;
private byte[] RecvData_Temp = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
#region STM值
private object read_obj = new object();
/// <summary>
/// 读值
/// </summary>
/// <param name="alarmvalue"></param>
/// <param name="posvalue"></param>
/// <returns></returns>
public int ReadInfo(out int[] results)
{
lock (read_obj)
{
int flag = -1;
Byte[] data = new Byte[15];
results = new int[24];
for (byte i = 0; i < results.Length; i++)
{
results[i] = 0;
}
data[0] = 0xF3;
data[1] = 0x0A;
data[2] = 0x00;
data[3] = 0x00;
data[4] = 0x00;
data[5] = 0x00;
data[6] = 0x00;
data[7] = 0x00;
data[8] = 0x00;
data[9] = 0x00;
data[10] = 0x00;
data[11] = 0x00;
data[12] = 0x00;
data[13] = 0x00;
data[14] = 0xCF;
data[13] = (FCS(data))[0];
int numPro = 0;
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[23] = 0;
this.Send(data);
while ((RecvData_Temp[0] == 0 || RecvData_Temp[23] == 0) && numPro < 350)
{
Thread.Sleep(2);
numPro++;
}
if (numPro < 350)
{
if (RecvData_Temp[0] == 0xF3 && RecvData_Temp[1] == 0x0B && RecvData_Temp[23] == 0xCF)
{
flag = 0;
for (byte i = 0; i < 23; i++)
{
results[i] = RecvData_Temp[i];
}
}
else
{
if (RecvData_Temp[23] == 0)
{
flag = -3;
}
}
}
Offset = 0;
RecvData_Temp[0] = 0;
RecvData_Temp[1] = 0;
RecvData_Temp[22] = 0;
RecvData_Temp[23] = 0;
return flag;
}
}
#endregion
#region IDispose member
public void Dispose()
{
if (this.clientSocket.Connected)
{
this.clientSocket.Close();
}
}
#endregion
}
}
@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
namespace AGVSystem.Cls
{
public static class SocketExtensions
{
private const int BytesPerLong = 4; // 32 / 8
private const int BitsPerByte = 8;
/// <summary>
/// Sets the keep-alive interval for the socket.
/// </summary>
/// <param name="socket">The socket.</param>
/// <param name="time">Time between two keep alive "pings".</param>
/// <param name="interval">Time between two keep alive "pings" when first one fails.</param>
/// <returns>If the keep alive infos were succefully modified.</returns>
public static bool SetKeepAlive(this Socket socket, ulong time, ulong interval)
{
try
{
// Array to hold input values.
var input = new[]
{
(time == 0 || interval == 0) ? 0UL : 1UL, // on or off
time,
interval
};
// Pack input into byte struct.
byte[] inValue = new byte[3 * BytesPerLong];
for (int i = 0; i < input.Length; i++)
{
inValue[i * BytesPerLong + 3] = (byte)(input[i] >> ((BytesPerLong - 1) * BitsPerByte) & 0xff);
inValue[i * BytesPerLong + 2] = (byte)(input[i] >> ((BytesPerLong - 2) * BitsPerByte) & 0xff);
inValue[i * BytesPerLong + 1] = (byte)(input[i] >> ((BytesPerLong - 3) * BitsPerByte) & 0xff);
inValue[i * BytesPerLong + 0] = (byte)(input[i] >> ((BytesPerLong - 4) * BitsPerByte) & 0xff);
}
// Create bytestruct for result (bytes pending on server socket).
byte[] outValue = BitConverter.GetBytes(0);
// Write SIO_VALS to Socket IOControl.
socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.KeepAlive, true);
socket.IOControl(IOControlCode.KeepAliveValues, inValue, outValue);
}
catch (SocketException e)
{
Console.WriteLine("Failed to set keep-alive: {0} {1}", e.ErrorCode, e);
return false;
}
return true;
}
}
}
@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace AGVSystem
{
public class WriteTxt
{
//private static object obj = new object();
//public static void writeTxt(string info)
//{
// lock (obj)
// {
// string path = Application.StartupPath + "\\log\\" + DateTime.Now.ToLongDateString() + ".txt";
// string str = DateTime.Now.ToLongTimeString() + info;
// if (!File.Exists(path))
// {
// FileStream fs1 = new FileStream(path, FileMode.Append, FileAccess.Write);
// StreamWriter sw = new StreamWriter(fs1);
// sw.WriteLine(str);
// sw.Close();
// fs1.Close();
// }
// else
// {
// FileStream fs1 = new FileStream(path, FileMode.Append, FileAccess.Write);
// StreamWriter sw = new StreamWriter(fs1);
// sw.Write(str + "\r\n");
// sw.Close();
// fs1.Close();
// }
// }
//}
private static object obj_saveLog1 = new object();
/// <summary>
/// AGV读取的地标值记录
/// </summary>
/// <param name="fileMsg">日志文件路径</param>
/// <param name="filename">文件名称</param>
/// <param name="Assembly_name">线体名称</param>
public static void SaveLog1(string fileMsg, string filename, string Assembly_name )
{
lock (obj_saveLog1)
{
try
{
using (FileStream _fStream = new FileStream(GetFilePath1(filename, Assembly_name) , FileMode.Append, FileAccess.Write))
{
using (StreamWriter _sWrite = new StreamWriter(_fStream))
{
_sWrite.WriteLine(GetCurrentTimeString() + fileMsg);
_sWrite.Close();
_fStream.Close();
}
}
}
catch (Exception)
{
SaveLog1(fileMsg, filename, Assembly_name);
}
}
}
private static string GetCurrentTimeString()
{
return "[" + DateTime.Now.ToLongTimeString() + "]";//+ "." + DateTime.Now.Millisecond.ToString("000")
}
private static string GetFilePath1(string str, string Assembly_Name)
{
string path = Application.StartupPath + @"\log\" + DateTime.Now.ToString("yyyyMMdd")+@"\"+ Assembly_Name;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string pa = Application.StartupPath + @"\log\" + DateTime.Now.ToString("yyyyMMdd") + @"\" + Assembly_Name;
if (!Directory.Exists(pa))
{
Directory.CreateDirectory(pa);
}
return pa + @"\" + str + "_.log";
}
private static object obj_saveLog2 = new object();
public static void SaveLog2(string fileMsg)
{
lock (obj_saveLog2)
{
try
{
if (!Directory.Exists(@"c:\pathlog\"))
{
Directory.CreateDirectory(@"c:\pathlog\");
}
using (FileStream _fStream = new FileStream(@"c:\pathlog\" + DateTime.Now.ToString("yyyyMMdd") + "_.log", FileMode.Append, FileAccess.Write))
{
using (StreamWriter _sWrite = new StreamWriter(_fStream))
{
_sWrite.WriteLine(GetCurrentTimeString() + fileMsg);
_sWrite.Close();
_fStream.Close();
}
}
}
catch (Exception)
{
SaveLog2(fileMsg);
}
}
}
private static object obj_saveLog3 = new object();
public static void SaveLog3(string fileMsg,string id)
{
lock (obj_saveLog3)
{
try
{
if (!Directory.Exists(@"c:\neclog\" + DateTime.Now.ToString("yyyyMMdd")))
{
Directory.CreateDirectory(@"c:\neclog\" + DateTime.Now.ToString("yyyyMMdd"));
}
using (FileStream _fStream = new FileStream(@"c:\neclog\" + DateTime.Now.ToString("yyyyMMdd") +@"\"+id+ "_.log", FileMode.Append, FileAccess.Write))
{
using (StreamWriter _sWrite = new StreamWriter(_fStream))
{
_sWrite.WriteLine(GetCurrentTimeString() + fileMsg);
_sWrite.Close();
_fStream.Close();
}
}
}
catch (Exception)
{
SaveLog3(fileMsg,id);
}
}
}
}
}
@@ -0,0 +1,995 @@
namespace AGVSystem
{
partial class Control_Point
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Control_Point));
this.label1 = new System.Windows.Forms.Label();
this.cmb_linelist = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.num_id = new System.Windows.Forms.NumericUpDown();
this.num_plcvalue = new System.Windows.Forms.NumericUpDown();
this.cmb_map = new System.Windows.Forms.ComboBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.X = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Y = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
this.panel2 = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.next_longtime1 = new System.Windows.Forms.NumericUpDown();
this.label14 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.cmb_run1 = new System.Windows.Forms.ComboBox();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.next_loc1 = new System.Windows.Forms.NumericUpDown();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.txt_zb = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.num_speed = new System.Windows.Forms.NumericUpDown();
this.label9 = new System.Windows.Forms.Label();
this.cmb_zhangaiwu = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
this.cmb_type = new System.Windows.Forms.ComboBox();
this.label5 = new System.Windows.Forms.Label();
this.cmb_bd = new System.Windows.Forms.ComboBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.next_longtime2 = new System.Windows.Forms.NumericUpDown();
this.label15 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.cmb_run2 = new System.Windows.Forms.ComboBox();
this.label17 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.next_loc2 = new System.Windows.Forms.NumericUpDown();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.num_id)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_plcvalue)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.panel2.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc1)).BeginInit();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.num_speed)).BeginInit();
this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc2)).BeginInit();
this.groupBox4.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(46, 27);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(49, 14);
this.label1.TabIndex = 0;
this.label1.Text = "线体:";
//
// cmb_linelist
//
this.cmb_linelist.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_linelist.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_linelist.FormattingEnabled = true;
this.cmb_linelist.Items.AddRange(new object[] {
"所有线体"});
this.cmb_linelist.Location = new System.Drawing.Point(96, 23);
this.cmb_linelist.Name = "cmb_linelist";
this.cmb_linelist.Size = new System.Drawing.Size(319, 22);
this.cmb_linelist.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 73);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(77, 14);
this.label2.TabIndex = 2;
this.label2.Text = "位置编号:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(32, 119);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(63, 14);
this.label3.TabIndex = 3;
this.label3.Text = "标记值:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(17, 39);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(77, 14);
this.label4.TabIndex = 4;
this.label4.Text = "位置坐标:";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(16, 90);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(77, 14);
this.label6.TabIndex = 6;
this.label6.Text = "绑定方式:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(228, 35);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(77, 14);
this.label7.TabIndex = 9;
this.label7.Text = "所属地图:";
//
// num_id
//
this.num_id.BackColor = System.Drawing.SystemColors.ScrollBar;
this.num_id.Location = new System.Drawing.Point(96, 68);
this.num_id.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_id.Name = "num_id";
this.num_id.Size = new System.Drawing.Size(101, 23);
this.num_id.TabIndex = 10;
this.num_id.ValueChanged += new System.EventHandler(this.num_id_ValueChanged);
//
// num_plcvalue
//
this.num_plcvalue.Location = new System.Drawing.Point(96, 114);
this.num_plcvalue.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_plcvalue.Name = "num_plcvalue";
this.num_plcvalue.Size = new System.Drawing.Size(102, 23);
this.num_plcvalue.TabIndex = 11;
//
// cmb_map
//
this.cmb_map.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_map.FormattingEnabled = true;
this.cmb_map.Items.AddRange(new object[] {
"NULL",
"AGV路线图1",
"AGV路线图2",
"AGV路线图3"});
this.cmb_map.Location = new System.Drawing.Point(306, 30);
this.cmb_map.Name = "cmb_map";
this.cmb_map.Size = new System.Drawing.Size(101, 22);
this.cmb_map.TabIndex = 14;
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.线,
this.线,
this.线,
this.,
this.,
this.X,
this.Y,
this.,
this.,
this.,
this.,
this.,
this.,
this.1,
this.1,
this.1,
this.2,
this.2,
this.2});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.GridColor = System.Drawing.Color.DimGray;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersWidth = 60;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(612, 681);
this.dataGridView1.TabIndex = 18;
this.dataGridView1.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dataGridView1_RowStateChanged);
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// 线体
//
this.线.DataPropertyName = "线体";
this.线.HeaderText = "线体";
this.线.Name = "线体";
this.线.ReadOnly = true;
//
// 线体编号
//
this.线.DataPropertyName = "线体编号";
this.线.HeaderText = "线体编号";
this.线.Name = "线体编号";
this.线.ReadOnly = true;
this.线.Visible = false;
this.线.Width = 80;
//
// 线体名称
//
this.线.DataPropertyName = "线体名称";
this.线.HeaderText = "线体名称";
this.线.Name = "线体名称";
this.线.ReadOnly = true;
this.线.Visible = false;
this.线.Width = 90;
//
// 位置编号
//
this..DataPropertyName = "位置编号";
this..HeaderText = "位置编号";
this..Name = "位置编号";
this..ReadOnly = true;
//
// 标记值
//
this..DataPropertyName = "标记值";
this..HeaderText = "标记值";
this..Name = "标记值";
this..ReadOnly = true;
//
// 坐标X
//
this.X.DataPropertyName = "坐标X";
this.X.HeaderText = "坐标X";
this.X.Name = "坐标X";
this.X.ReadOnly = true;
this.X.Visible = false;
//
// 坐标Y
//
this.Y.DataPropertyName = "坐标Y";
this.Y.HeaderText = "坐标Y";
this.Y.Name = "坐标Y";
this.Y.ReadOnly = true;
this.Y.Visible = false;
//
// 位置坐标
//
this..DataPropertyName = "位置坐标";
this..HeaderText = "位置坐标";
this..Name = "位置坐标";
this..ReadOnly = true;
//
// 绑定方式
//
this..DataPropertyName = "绑定方式";
this..HeaderText = "绑定方式";
this..Name = "绑定方式";
this..ReadOnly = true;
this..Width = 80;
//
// 地图编号
//
this..DataPropertyName = "地图编号";
this..HeaderText = "地图编号";
this..Name = "地图编号";
this..ReadOnly = true;
this..Width = 80;
//
// 位置类型
//
this..DataPropertyName = "位置类型";
this..HeaderText = "位置类型";
this..Name = "位置类型";
this..ReadOnly = true;
//
// 障碍物模式
//
this..DataPropertyName = "障碍物模式";
this..HeaderText = "障碍物模式";
this..Name = "障碍物模式";
this..ReadOnly = true;
//
// 速度
//
this..DataPropertyName = "速度";
this..HeaderText = "速度";
this..Name = "速度";
this..ReadOnly = true;
//
// 下一站点1
//
this.1.DataPropertyName = "下一站点1";
this.1.HeaderText = "下一站点1";
this.1.Name = "下一站点1";
this.1.ReadOnly = true;
//
// 运动模式1
//
this.1.DataPropertyName = "运动模式1";
this.1.HeaderText = "运动模式1";
this.1.Name = "运动模式1";
this.1.ReadOnly = true;
//
// 运动时间1
//
this.1.DataPropertyName = "运动时间1";
this.1.HeaderText = "运动时间1";
this.1.Name = "运动时间1";
this.1.ReadOnly = true;
//
// 下一站点2
//
this.2.DataPropertyName = "下一站点2";
this.2.HeaderText = "下一站点2";
this.2.Name = "下一站点2";
this.2.ReadOnly = true;
//
// 运动模式2
//
this.2.DataPropertyName = "运动模式2";
this.2.HeaderText = "运动模式2";
this.2.Name = "运动模式2";
this.2.ReadOnly = true;
//
// 运动时间2
//
this.2.DataPropertyName = "运动时间2";
this.2.HeaderText = "运动时间2";
this.2.Name = "运动时间2";
this.2.ReadOnly = true;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Right;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(612, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.toolStrip1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.panel2);
this.splitContainer1.Panel2.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.splitContainer1.Size = new System.Drawing.Size(444, 681);
this.splitContainer1.SplitterDistance = 70;
this.splitContainer1.TabIndex = 25;
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.Dock = System.Windows.Forms.DockStyle.Fill;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(444, 70);
this.toolStrip1.TabIndex = 26;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 67);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 67);
this.toolStripButton2.Text = "查询";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 67);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 67);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 67);
this.toolStripButton5.Text = "更新";
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 67);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// panel2
//
this.panel2.Controls.Add(this.groupBox2);
this.panel2.Controls.Add(this.groupBox1);
this.panel2.Controls.Add(this.groupBox3);
this.panel2.Controls.Add(this.groupBox4);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(444, 607);
this.panel2.TabIndex = 19;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.next_longtime1);
this.groupBox2.Controls.Add(this.label14);
this.groupBox2.Controls.Add(this.label13);
this.groupBox2.Controls.Add(this.cmb_run1);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.label11);
this.groupBox2.Controls.Add(this.next_loc1);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox2.Enabled = false;
this.groupBox2.Location = new System.Drawing.Point(0, 330);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(444, 133);
this.groupBox2.TabIndex = 30;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Next Station1";
//
// next_longtime1
//
this.next_longtime1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_longtime1.Location = new System.Drawing.Point(294, 34);
this.next_longtime1.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_longtime1.Name = "next_longtime1";
this.next_longtime1.Size = new System.Drawing.Size(68, 23);
this.next_longtime1.TabIndex = 27;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(365, 39);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(14, 14);
this.label14.TabIndex = 28;
this.label14.Text = "S";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(214, 36);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(77, 14);
this.label13.TabIndex = 26;
this.label13.Text = "运行时间:";
//
// cmb_run1
//
this.cmb_run1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_run1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_run1.FormattingEnabled = true;
this.cmb_run1.Items.AddRange(new object[] {
"NULL",
"沿X轴运动",
"沿Y轴运动",
"先沿X轴运动,再沿Y轴运动",
"先沿Y轴运动,再沿X轴运动",
"沿斜线运动"});
this.cmb_run1.Location = new System.Drawing.Point(84, 82);
this.cmb_run1.Name = "cmb_run1";
this.cmb_run1.Size = new System.Drawing.Size(250, 22);
this.cmb_run1.TabIndex = 25;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(6, 85);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(77, 14);
this.label12.TabIndex = 24;
this.label12.Text = "运动模式:";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(6, 36);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(77, 14);
this.label11.TabIndex = 11;
this.label11.Text = "位置编号:";
//
// next_loc1
//
this.next_loc1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_loc1.Location = new System.Drawing.Point(84, 34);
this.next_loc1.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_loc1.Name = "next_loc1";
this.next_loc1.Size = new System.Drawing.Size(79, 23);
this.next_loc1.TabIndex = 12;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.txt_zb);
this.groupBox1.Controls.Add(this.label10);
this.groupBox1.Controls.Add(this.num_speed);
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.cmb_zhangaiwu);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.cmb_type);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.cmb_bd);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.cmb_map);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Enabled = false;
this.groupBox1.Location = new System.Drawing.Point(0, 148);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(444, 182);
this.groupBox1.TabIndex = 29;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "基本信息";
//
// txt_zb
//
this.txt_zb.Location = new System.Drawing.Point(95, 32);
this.txt_zb.Name = "txt_zb";
this.txt_zb.Size = new System.Drawing.Size(103, 23);
this.txt_zb.TabIndex = 29;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(367, 140);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(56, 14);
this.label10.TabIndex = 28;
this.label10.Text = "米/分钟";
//
// num_speed
//
this.num_speed.Location = new System.Drawing.Point(306, 134);
this.num_speed.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_speed.Name = "num_speed";
this.num_speed.Size = new System.Drawing.Size(56, 23);
this.num_speed.TabIndex = 27;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(228, 139);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(77, 14);
this.label9.TabIndex = 26;
this.label9.Text = "设备速度:";
//
// cmb_zhangaiwu
//
this.cmb_zhangaiwu.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_zhangaiwu.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_zhangaiwu.FormattingEnabled = true;
this.cmb_zhangaiwu.Items.AddRange(new object[] {
"NULL",
"bank1",
"bank2",
"bank3",
"bank4",
"bank5",
"bank6",
"bank7",
"bank8",
"bank9",
"bank10",
"bank11",
"bank12",
"bank13",
"bank14",
"bank15",
"bank16"});
this.cmb_zhangaiwu.Location = new System.Drawing.Point(95, 136);
this.cmb_zhangaiwu.Name = "cmb_zhangaiwu";
this.cmb_zhangaiwu.Size = new System.Drawing.Size(102, 22);
this.cmb_zhangaiwu.TabIndex = 25;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(3, 141);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(91, 14);
this.label8.TabIndex = 24;
this.label8.Text = "障碍物模式:";
//
// cmb_type
//
this.cmb_type.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_type.FormattingEnabled = true;
this.cmb_type.Items.AddRange(new object[] {
"管控复位点",
"管控停止点"});
this.cmb_type.Location = new System.Drawing.Point(306, 80);
this.cmb_type.Name = "cmb_type";
this.cmb_type.Size = new System.Drawing.Size(102, 22);
this.cmb_type.TabIndex = 23;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(228, 87);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(77, 14);
this.label5.TabIndex = 22;
this.label5.Text = "位置类型:";
//
// cmb_bd
//
this.cmb_bd.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_bd.FormattingEnabled = true;
this.cmb_bd.Items.AddRange(new object[] {
"NULL",
"左端",
"右端",
"顶部",
"底部"});
this.cmb_bd.Location = new System.Drawing.Point(94, 84);
this.cmb_bd.Name = "cmb_bd";
this.cmb_bd.Size = new System.Drawing.Size(102, 22);
this.cmb_bd.TabIndex = 21;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.next_longtime2);
this.groupBox3.Controls.Add(this.label15);
this.groupBox3.Controls.Add(this.label16);
this.groupBox3.Controls.Add(this.cmb_run2);
this.groupBox3.Controls.Add(this.label17);
this.groupBox3.Controls.Add(this.label18);
this.groupBox3.Controls.Add(this.next_loc2);
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.groupBox3.Enabled = false;
this.groupBox3.Location = new System.Drawing.Point(0, 472);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(444, 135);
this.groupBox3.TabIndex = 31;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Next Station2";
//
// next_longtime2
//
this.next_longtime2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_longtime2.Location = new System.Drawing.Point(294, 34);
this.next_longtime2.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_longtime2.Name = "next_longtime2";
this.next_longtime2.Size = new System.Drawing.Size(68, 23);
this.next_longtime2.TabIndex = 27;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(365, 39);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(14, 14);
this.label15.TabIndex = 28;
this.label15.Text = "S";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(214, 36);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(77, 14);
this.label16.TabIndex = 26;
this.label16.Text = "运行时间:";
//
// cmb_run2
//
this.cmb_run2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_run2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_run2.FormattingEnabled = true;
this.cmb_run2.Items.AddRange(new object[] {
"NULL",
"沿X轴运动",
"沿Y轴运动",
"先沿X轴运动,再沿Y轴运动",
"先沿Y轴运动,再沿X轴运动",
"沿斜线运动"});
this.cmb_run2.Location = new System.Drawing.Point(84, 81);
this.cmb_run2.Name = "cmb_run2";
this.cmb_run2.Size = new System.Drawing.Size(250, 22);
this.cmb_run2.TabIndex = 25;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(6, 84);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(77, 14);
this.label17.TabIndex = 24;
this.label17.Text = "运动模式:";
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(6, 36);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(77, 14);
this.label18.TabIndex = 11;
this.label18.Text = "位置编号:";
//
// next_loc2
//
this.next_loc2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_loc2.Location = new System.Drawing.Point(84, 34);
this.next_loc2.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_loc2.Name = "next_loc2";
this.next_loc2.Size = new System.Drawing.Size(79, 23);
this.next_loc2.TabIndex = 12;
//
// groupBox4
//
this.groupBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.groupBox4.Controls.Add(this.button1);
this.groupBox4.Controls.Add(this.label1);
this.groupBox4.Controls.Add(this.num_plcvalue);
this.groupBox4.Controls.Add(this.num_id);
this.groupBox4.Controls.Add(this.label3);
this.groupBox4.Controls.Add(this.cmb_linelist);
this.groupBox4.Controls.Add(this.label2);
this.groupBox4.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox4.Location = new System.Drawing.Point(0, 0);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(444, 148);
this.groupBox4.TabIndex = 29;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "管控位置";
//
// button1
//
this.button1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.button1.Location = new System.Drawing.Point(216, 68);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(118, 23);
this.button1.TabIndex = 12;
this.button1.Text = "获取属性值";
this.button1.UseVisualStyleBackColor = true;
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// panel1
//
this.panel1.Controls.Add(this.dataGridView1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(612, 681);
this.panel1.TabIndex = 27;
//
// Control_Point
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1056, 681);
this.Controls.Add(this.panel1);
this.Controls.Add(this.splitContainer1);
this.Name = "Control_Point";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "线体添加地标";
this.Load += new System.EventHandler(this.Control_Point_Load);
((System.ComponentModel.ISupportInitialize)(this.num_id)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_plcvalue)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.panel2.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc1)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.num_speed)).EndInit();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc2)).EndInit();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cmb_linelist;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.NumericUpDown num_id;
private System.Windows.Forms.NumericUpDown num_plcvalue;
private System.Windows.Forms.ComboBox cmb_map;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ComboBox cmb_bd;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ComboBox cmb_type;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.NumericUpDown next_longtime2;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox cmb_run2;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.NumericUpDown next_loc2;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.NumericUpDown next_longtime1;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.ComboBox cmb_run1;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.NumericUpDown next_loc1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.NumericUpDown num_speed;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.ComboBox cmb_zhangaiwu;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox txt_zb;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn X;
private System.Windows.Forms.DataGridViewTextBoxColumn Y;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn 1;
private System.Windows.Forms.DataGridViewTextBoxColumn 1;
private System.Windows.Forms.DataGridViewTextBoxColumn 1;
private System.Windows.Forms.DataGridViewTextBoxColumn 2;
private System.Windows.Forms.DataGridViewTextBoxColumn 2;
private System.Windows.Forms.DataGridViewTextBoxColumn 2;
private System.Windows.Forms.Button button1;
}
}
@@ -0,0 +1,338 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Control_Point : Form
{
private ClsDBConn_sql db = new ClsDBConn_sql();
private System.Data.DataSet ds = new System.Data.DataSet();
string str_sql = "";
public Control_Point( int w , int h)
{
InitializeComponent();
this.Width = w;
this.Height = h;
ds = db.connDt("select CONVERT( VARCHAR(10),id) +' . '+ line_name as info from Assembly_Line order by id");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_linelist.Items.Add(dr[0].ToString());
}
}
}
}
private void Control_Point_Load(object sender, EventArgs e)
{
ds.Tables.Clear();
str_sql = "SELECT CONVERT( VARCHAR(10),Assembly_Line.ID)+' . '+Line_name as 线体" +
",[Assembly_Line] as 线体编号" +
",[Loc_ID] as 位置编号" +
",[Flag_Value] as 标记值" +
",[Loc_X] as 坐标x" +
",[Loc_Y] as 坐标y" +
",CONVERT( VARCHAR(10),Loc_X)+','+CONVERT( VARCHAR(10),Loc_Y) as 位置坐标" +
",[Binding] as 绑定方式" +
",LandMarkInfo.[Area] as 地图编号" +
",(Case when LandMarkInfo.Assembly_ID >0 THEN '管控停止点' ELSE '管控复位点' END) as 位置类型" +
",[Bank] as 障碍物模式" +
",[Speed] as 速度" +
",[Next_Station1] as 下一站点1" +
",[Drict1] as 运动模式1" +
",[LongTime1] as 运动时间1" +
",[Next_Station2] as 下一站点2" +
",[Drict2] as 运动模式2" +
",[LongTime2] as 运动时间2" +
",[Next_Station3] as 下一站点3" +
",[Drict3] as 运动模式3" +
",[LongTime3] as 运动时间3" +
" FROM LandMarkInfo ,Assembly_Line" +
" WHERE LandMarkInfo.Assembly_Line = Assembly_Line.ID";
ds = db.connDt(str_sql);
if (ds.Tables.Count > 0)
dataGridView1.DataSource = ds.Tables[0];
groupBox1.Enabled = false;
groupBox2.Enabled = false;
groupBox3.Enabled = false;
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
groupBox1.Enabled = false;
groupBox2.Enabled = false;
groupBox3.Enabled = false;
cmb_linelist.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["线体"].Value.ToString();
num_id.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["位置编号"].Value);
num_plcvalue.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["标记值"].Value);
cmb_map.SelectedIndex =Convert.ToInt16( dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["地图编号"].Value.ToString());
cmb_bd.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["绑定方式"].Value.ToString());
txt_zb.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["位置坐标"].Value.ToString();
cmb_type.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["位置类型"].Value.ToString();
cmb_zhangaiwu.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["障碍物模式"].Value.ToString());
num_speed.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["速度"].Value);
next_loc1.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["下一站点1"].Value);
next_loc2.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["下一站点2"].Value);
next_longtime1.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["运动时间1"].Value);
next_longtime2.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["运动时间2"].Value);
cmb_run1.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["运动模式1"].Value);
cmb_run2.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["运动模式2"].Value);
}
}
private void btn_Click(object sender, EventArgs e)
{
}
private string delete_point(string line_id, string point_id)
{
string rowcount = "0";
DataSet ds = new DataSet();
rowcount = db.Command("delete from LandMarkInfo where Assembly_Line = " + line_id + " and Loc_ID = " + point_id);
return rowcount;
}
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
groupBox1.Enabled = true;
groupBox2.Enabled = true;
groupBox3.Enabled = true;
num_plcvalue.Value = 0;
cmb_map.SelectedIndex = 0;
cmb_bd.SelectedIndex = 0;
cmb_type.SelectedIndex = 0;
cmb_zhangaiwu.SelectedIndex = 0;
num_speed.Value = 0;
next_loc1.Value = 0;
next_loc2.Value = 0;
next_longtime1.Value = 0;
next_longtime2.Value = 0;
cmb_run1.SelectedIndex = 0;
cmb_run2.SelectedIndex = 0;
txt_zb.Text = "0,0";
DataSet ds1 = db.connDt("Select max(loc_id)+1 from LandMarkInfo " );
if (ds1.Tables[0].Rows[0][0].ToString() != "")
num_id.Value = Convert.ToInt16(ds1.Tables[0].Rows[0][0].ToString());
else
num_id.Value = 1;
}
private string add_point(int Assembly_Line, int Loc_ID, int Flag_Value, int Binding, int Area, int Assembly_ID, int Bank, int Speed, int Next_Station1, int Drict1, int LongTime1, int Next_Station2, int Drict2, int LongTime2,int loc_x,int loc_y)
{
string rowcount = "0", strsql;
strsql = "INSERT INTO [LandMarkInfo]" +
"([Assembly_Line] ,[Loc_ID] ,[Flag_Value] ,[Binding]" +
",[Area] ,[Assembly_ID] ,[Bank] ,[Speed] " +
",[Next_Station1],[Drict1] ,[LongTime1] ,[Next_Station2]" +
",[Drict2] ,[LongTime2] ,loc_x ,loc_y ) VALUES (" +
Assembly_Line + " ," + Loc_ID + " ," + Flag_Value + " ," + Binding +
"," + Area + " ," + Assembly_ID + " ," + Bank + " ," + Speed +
"," + Next_Station1 + "," + Drict1 + " ," + LongTime1 + " ," + Next_Station2 +
"," + Drict2 + " ," + LongTime2+","+loc_x+","+loc_y+")";
rowcount = db.Command(strsql);
return rowcount;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (num_id.Value == 0 || cmb_linelist.Text == "")
{
return;
}
if (add_point(Convert.ToInt16( cmb_linelist.Text.Split('.')[0]), Convert.ToInt16( num_id.Value), Convert.ToInt16( num_plcvalue.Value), cmb_bd.SelectedIndex,
cmb_map.SelectedIndex,Convert.ToInt16( (cmb_type.SelectedIndex == 1) ? cmb_linelist.Text.Split('.')[0] : "0"),cmb_zhangaiwu.SelectedIndex,Convert.ToInt16( num_speed.Value),
Convert.ToInt16( next_loc1.Value), cmb_run1.SelectedIndex, Convert.ToInt16( next_longtime1.Value), Convert.ToInt16( next_loc2.Value),
cmb_run2.SelectedIndex, Convert.ToInt16(next_longtime2.Value), Convert.ToInt16(txt_zb.Text.Split(',')[0]), Convert.ToInt16(txt_zb.Text.Split(',')[1])) == "1")
{
MessageBox.Show("添加成功!");
Control_Point_Load(null, null);
}
else
return;
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (delete_point(cmb_linelist.Text.Split('.')[0], num_id.Value.ToString()) == "1")
{
MessageBox.Show("删除成功!");
Control_Point_Load(null, null);
}
else
return;
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
groupBox1.Enabled = true;
groupBox2.Enabled = true;
groupBox3.Enabled = true;
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
if (cmb_linelist.Text != "" || num_id.Value != 0 || num_plcvalue.Value != 0)
{
ds.Tables.Clear();
str_sql = "SELECT CONVERT( VARCHAR(10),Assembly_Line.ID)+' . '+Line_name as 线体" +
",[Assembly_Line] as 线体编号" +
",[Loc_ID] as 位置编号" +
",[Flag_Value] as 标记值" +
",[Loc_X] as 坐标x" +
",[Loc_Y] as 坐标y" +
",CONVERT( VARCHAR(10),Loc_X)+','+CONVERT( VARCHAR(10),Loc_Y) as 位置坐标" +
",[Binding] as 绑定方式" +
",LandMarkInfo.[Area] as 地图编号" +
",(Case when LandMarkInfo.Assembly_ID >0 THEN '管控停止点' ELSE '管控复位点' END) as 位置类型" +
",[Bank] as 障碍物模式" +
",[Speed] as 速度" +
",[Next_Station1] as 下一站点1" +
",[Drict1] as 运动模式1" +
",[LongTime1] as 运动时间1" +
",[Next_Station2] as 下一站点2" +
",[Drict2] as 运动模式2" +
",[LongTime2] as 运动时间2" +
",[Next_Station3] as 下一站点3" +
",[Drict3] as 运动模式3" +
",[LongTime3] as 运动时间3" +
" FROM LandMarkInfo ,Assembly_Line" +
" WHERE LandMarkInfo.Assembly_Line = Assembly_Line.ID";
ds = db.connDt(str_sql);
if (cmb_linelist.Text != "" && cmb_linelist.Text != "所有线体")
str_sql = str_sql + " and LandMarkInfo.Assembly_Line = " + cmb_linelist.Text.Split('.')[0];
if (num_id.Value != 0)
str_sql = str_sql + " and Landmarkinfo.Loc_id = " + num_id.Value.ToString();
if (num_plcvalue.Value != 0)
str_sql = str_sql + " and Landmarkinfo.flag_value = " + num_plcvalue.Value.ToString();
ds = db.connDt(str_sql);
if (ds.Tables.Count > 0)
dataGridView1.DataSource = ds.Tables[0];
}
}
DataSet ds1;
private void num_id_ValueChanged(object sender, EventArgs e)
{
string strsql;
if (groupBox1.Enabled==true && num_id.Value != 0)
{
strsql = "SELECT top 1 [Flag_Value] ,[Loc_X] ,[Loc_Y] ,[Binding] ,[Area] ,[Assembly_ID] ,[Bank] " +
",[Speed] ,[Next_Station1] ,[Drict1] ,[LongTime1] ,[Next_Station2] ,[Drict2] ,[LongTime2] " +
" FROM [LandMarkInfo] where loc_id =" + num_id.Value;
ds1 = db.connDt(strsql);
if (ds1.Tables[0].Rows.Count == 1)
button1.Visible = true;
else
button1.Visible = false;
}
if (!groupBox1.Enabled) button1.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
if (ds1.Tables[0].Rows.Count == 1)
{
num_plcvalue.Value = Convert.ToInt16(ds1.Tables[0].Rows[0]["Flag_Value"].ToString());
cmb_map.SelectedIndex = Convert.ToInt16(ds1.Tables[0].Rows[0]["Area"].ToString());
cmb_bd.SelectedIndex = Convert.ToInt16(ds1.Tables[0].Rows[0]["Binding"].ToString());
txt_zb.Text = ds1.Tables[0].Rows[0]["Loc_X"].ToString() + "," + ds1.Tables[0].Rows[0]["Loc_Y"].ToString();
cmb_type.SelectedIndex = ds1.Tables[0].Rows[0]["Assembly_ID"].ToString() == "0" ? 0 : 1;
cmb_zhangaiwu.SelectedIndex = Convert.ToInt16(ds1.Tables[0].Rows[0]["Bank"].ToString());
num_speed.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0]["Speed"].ToString());
next_loc1.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0]["Next_Station1"].ToString());
next_loc2.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0]["Next_Station2"].ToString());
next_longtime1.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0]["LongTime1"].ToString());
next_longtime2.Value = Convert.ToDecimal(ds1.Tables[0].Rows[0]["LongTime2"].ToString());
cmb_run1.SelectedIndex = Convert.ToInt16(ds1.Tables[0].Rows[0]["Drict1"].ToString());
cmb_run2.SelectedIndex = Convert.ToInt16(ds1.Tables[0].Rows[0]["Drict2"].ToString());
}
}
private string update_point(int Assembly_Line, int Loc_ID, int Flag_Value, int Binding, int Area, int Assembly_ID, int Bank, int Speed, int Next_Station1, int Drict1, int LongTime1, int Next_Station2, int Drict2, int LongTime2, int Loc_X, int Loc_Y)
{
string rowcount = "0" ,strsql;
strsql = "UPDATE [LandMarkInfo] "+
" SET [Flag_Value] = "+Flag_Value+
" ,[Loc_X] = "+Loc_X+
" ,[Loc_Y] = "+Loc_Y +
" ,[Binding] = "+Binding+
" ,[Area] = "+Area+
" ,[Assembly_ID] = "+Assembly_ID+
" ,[Bank] = "+Bank+
" ,[Speed] = "+Speed+
" ,[Next_Station1] = "+Next_Station1+
" ,[Drict1] = "+Drict1+
" ,[LongTime1] = "+LongTime1+
" ,[Next_Station2] = "+Next_Station2+
" ,[Drict2] = "+Drict2+
" ,[LongTime2] = "+LongTime2+
" WHERE [Assembly_Line] = "+Assembly_Line+
" and [Loc_ID] ="+Loc_ID;
rowcount = db.Command(strsql);
return rowcount;
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (update_point(Convert.ToInt16(cmb_linelist.Text.Split('.')[0]),
Convert.ToInt16(num_id.Value),
Convert.ToInt16(num_plcvalue.Value),
cmb_bd.SelectedIndex,
cmb_map.SelectedIndex,
Convert.ToInt16((cmb_type.SelectedIndex == 1) ? cmb_linelist.Text.Split('.')[0] : "0"),
cmb_zhangaiwu.SelectedIndex,
Convert.ToInt16(num_speed.Value),
Convert.ToInt16(next_loc1.Value),
cmb_run1.SelectedIndex,
Convert.ToInt16(next_longtime1.Value),
Convert.ToInt16(next_loc2.Value),
cmb_run2.SelectedIndex,
Convert.ToInt16(next_longtime2.Value),
Convert.ToInt16(txt_zb.Text.Split(',')[0]),
Convert.ToInt16(txt_zb.Text.Split(',')[1])) == "1")
{
MessageBox.Show("更新成功!");
Control_Point_Load(null, null);
}
else
return;
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,237 @@
namespace AGVSystem
{
partial class Creat_Task
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.lab_loc = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.lab_group = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.lab_qty = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(37, 23);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 0;
this.label1.Text = "料车编号:";
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6"});
this.comboBox1.Location = new System.Drawing.Point(110, 20);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 20);
this.comboBox1.TabIndex = 1;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(61, 70);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 2;
this.label2.Text = "位置:";
//
// lab_loc
//
this.lab_loc.AutoSize = true;
this.lab_loc.Location = new System.Drawing.Point(110, 70);
this.lab_loc.Name = "lab_loc";
this.lab_loc.Size = new System.Drawing.Size(11, 12);
this.lab_loc.TabIndex = 3;
this.lab_loc.Text = "0";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(25, 117);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(77, 12);
this.label4.TabIndex = 4;
this.label4.Text = "保险杆数量:";
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(110, 115);
this.numericUpDown1.Maximum = new decimal(new int[] {
6,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(120, 21);
this.numericUpDown1.TabIndex = 5;
this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(37, 164);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 6;
this.label5.Text = "TS上件口:";
//
// comboBox2
//
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"",
"A组 -1",
"B组 -2",
"C组 -3",
"D组 -4",
"E组 -5",
"F组 -6",
"G组 -7",
"H组 -8",
"I组 -9",
"J组 -10",
"K组 -11",
"L组 -12"});
this.comboBox2.Location = new System.Drawing.Point(110, 161);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(121, 20);
this.comboBox2.TabIndex = 7;
this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(25, 211);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(77, 12);
this.label6.TabIndex = 8;
this.label6.Text = "滑杆下件口:";
//
// lab_group
//
this.lab_group.AutoSize = true;
this.lab_group.Location = new System.Drawing.Point(110, 211);
this.lab_group.Name = "lab_group";
this.lab_group.Size = new System.Drawing.Size(11, 12);
this.lab_group.TabIndex = 9;
this.lab_group.Text = "0";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(37, 258);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 10;
this.label8.Text = "下件数量:";
//
// lab_qty
//
this.lab_qty.AutoSize = true;
this.lab_qty.Location = new System.Drawing.Point(110, 258);
this.lab_qty.Name = "lab_qty";
this.lab_qty.Size = new System.Drawing.Size(11, 12);
this.lab_qty.TabIndex = 11;
this.lab_qty.Text = "0";
//
// button1
//
this.button1.Location = new System.Drawing.Point(132, 307);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(99, 30);
this.button1.TabIndex = 12;
this.button1.Text = "创 建";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Creat_Task
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(260, 366);
this.Controls.Add(this.button1);
this.Controls.Add(this.lab_qty);
this.Controls.Add(this.label8);
this.Controls.Add(this.lab_group);
this.Controls.Add(this.label6);
this.Controls.Add(this.comboBox2);
this.Controls.Add(this.label5);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label4);
this.Controls.Add(this.lab_loc);
this.Controls.Add(this.label2);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.Name = "Creat_Task";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "创建任务";
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label lab_loc;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label lab_group;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label lab_qty;
private System.Windows.Forms.Button button1;
}
}
@@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Creat_Task : Form
{
public Creat_Task()
{
InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
lab_loc.Text = Func.AgvInfo[comboBox1.SelectedIndex].Location_Display.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if (numericUpDown1.Value == 0)
{
MessageBox.Show("错误!上件数量不能等于零", "信息", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
if (Convert.ToInt16(lab_loc.Text) > 47 && Convert.ToInt16(lab_loc.Text) < 62)
{
if (Convert.ToInt16(comboBox2.Text.Split('-')[1]) <= Convert.ToInt16(lab_group.Text))
{
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Channel_Task_ID = Convert.ToInt16(comboBox1.Text) + 50;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Mes_Task_ID = -1;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Channel_Task_ID = Convert.ToInt16(lab_group.Text)+50;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Goods_Qty = Convert.ToInt16(lab_qty.Text);
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_Up_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_HgQty_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_Down_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_Up_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_HgQty_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_Down_Status = 0;
this.Close();
}
else
{
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Channel_Task_ID = Convert.ToInt16(comboBox1.Text) + 50;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Mes_Task_ID = -1;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Channel_Task_ID = Convert.ToInt16(lab_group.Text) + 50;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Goods_Qty = Convert.ToInt16(lab_qty.Text);
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_Up_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_HgQty_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[0].Do_Down_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_Up_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_HgQty_Status = 0;
Func.AgvInfo[Convert.ToInt16(comboBox1.Text) - 1].Up_Channel[1].Do_Down_Status = 0;
this.Close();
}
}
else
{
MessageBox.Show("AGV在位置48处时,可以创建任务! 当前任务创建失败!","信息",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (numericUpDown1.Value <= Frm_A17194.HG_Qty_Flag)
lab_qty.Text = "3";
else
lab_qty.Text = "6";
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if(comboBox2.SelectedIndex>0)
lab_group.Text = Frm_A17194.ds_hg.Tables[0].Rows[Convert.ToInt16(comboBox2.Text.Split('-')[1]) - 1][3].ToString();
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,147 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Data.ConnectionUI;
using System.Runtime.InteropServices;
//using Microsoft.Win32;
namespace AGVSystem
{
public partial class DatabaseSet : Form
{
private Point mouseOffset;//记录鼠标指针的坐标
private bool isMouseDown;//记录鼠标左键是否按下
[DllImport("user32.dll")]
private static extern int SetWindowRgn(IntPtr hWnd, IntPtr hRgn, bool bRedraw);
[DllImport("gdi32.dll")]
private static extern IntPtr CreateRoundRectRgn(int x1, int y1, int x2, int y2, int cx, int cy);
private string tempconnectStr;
public DatabaseSet()
{
InitializeComponent();
tempconnectStr = Cls.Param.connectStr;
string[] str = Cls.Param.connectStr.Split(';');
try
{
textBox1.Text = str[0].Split('=')[1];
textBox2.Text = str[1].Split('=')[1];
textBox5.Text = Cls.Param.Pro_id;
textBox3.Text = str[2].Split('=')[1];
if (textBox3.Text == "True") textBox3.Text = "Windows身份验证";
//textBox4.Text = str[3].Split('=')[1];
}
catch
{ }
}
private void savebtn_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "" && mainfrm.newmainfrm != null)
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (Cls.Param.connectStr == tempconnectStr || textBox5.Text.Trim() == "") return;
//Properties.Settings.Default.connectStr = tempconnectStr;
//Properties.Settings.Default.Save();
//RegistryKey key = Registry.LocalMachine;
//RegistryKey software = key.CreateSubKey("Software\\AGV Manager System");
//software.SetValue("conn", tempconnectStr);
//software.SetValue("item_id", Cls.Param.Pro_id);
Cls.FileRW.WriteIniValue("conn", "conn", tempconnectStr, Application.StartupPath + @"\info.ini");
Cls.FileRW.WriteIniValue("item_id", "item_id", Cls.Param.Pro_id, Application.StartupPath + @"\info.ini");
if (mainfrm.newmainfrm != null)
{
MessageBox.Show("数据库连接配置已保存成功!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
else
{
MessageBox.Show("数据库连接配置已保存成功,请重启软件!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
}
private void button1_Click(object sender, EventArgs e)
{
DataConnectionDialog dialog = new DataConnectionDialog();
dialog.DataSources.Add(DataSource.SqlDataSource);//Sql Server
dialog.SelectedDataSource = DataSource.SqlDataSource;
dialog.SelectedDataProvider = DataProvider.SqlDataProvider;
if (DataConnectionDialog.Show(dialog) == DialogResult.OK)
{
tempconnectStr = dialog.ConnectionString;
string[] str = tempconnectStr.Split(';');
try
{
textBox1.Text = str[0].Split('=')[1];
textBox2.Text = str[1].Split('=')[1];
textBox5.Text = textBox2.Text.Split('_')[2];
tempconnectStr = tempconnectStr.Replace(textBox5.Text, "XXXXX");
Cls.Param.Pro_id = textBox5.Text;
textBox3.Text = str[2].Split('=')[1];
if (textBox3.Text == "True") textBox3.Text = "Windows身份验证";
textBox4.Text = str[3].Split('=')[1];
}
catch
{ }
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void panel3_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown)
{//获取鼠标的位置
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
this.Location = mousePos;
}
}
private void panel3_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//按下的是鼠标左键
{
isMouseDown = false;
}
}
private void panel3_MouseDown(object sender, MouseEventArgs e)
{
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - 2 * SystemInformation.FrameBorderSize.Width;//减去的属性为窗体边线宽
yOffset = -e.Y - 99;//减去的两个属性分别是标题栏高、窗体边线高。如果FormBorderStyle = None,则上述两句代码不需要减去后面的属性值
mouseOffset = new Point(xOffset, yOffset);
isMouseDown = true;
}
}
protected override void OnResize(EventArgs e)
{
//base.OnResize(e);
//IntPtr Rgn = CreateRoundRectRgn(3, 3, this.Width - 2, this.Height - 2, 7, 7);
//SetWindowRgn(this.Handle, Rgn, true);
}
}
}
@@ -0,0 +1,218 @@
namespace AGVSystem
{
partial class DatabaseSet
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.savebtn = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(54, 32);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(63, 14);
this.label1.TabIndex = 0;
this.label1.Text = "服务器:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(54, 121);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(63, 14);
this.label2.TabIndex = 1;
this.label2.Text = "用户名:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(68, 166);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(49, 14);
this.label3.TabIndex = 2;
this.label3.Text = "密码:";
//
// button1
//
this.button1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.ForeColor = System.Drawing.Color.Blue;
this.button1.Location = new System.Drawing.Point(122, 289);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(120, 30);
this.button1.TabIndex = 3;
this.button1.Text = "测试连接";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// savebtn
//
this.savebtn.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.savebtn.ForeColor = System.Drawing.Color.Blue;
this.savebtn.Location = new System.Drawing.Point(251, 289);
this.savebtn.Name = "savebtn";
this.savebtn.Size = new System.Drawing.Size(120, 30);
this.savebtn.TabIndex = 4;
this.savebtn.Text = "保 存";
this.savebtn.UseVisualStyleBackColor = true;
this.savebtn.Click += new System.EventHandler(this.savebtn_Click);
//
// textBox1
//
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox1.Location = new System.Drawing.Point(128, 26);
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(247, 23);
this.textBox1.TabIndex = 5;
//
// textBox2
//
this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox2.Location = new System.Drawing.Point(128, 75);
this.textBox2.Name = "textBox2";
this.textBox2.ReadOnly = true;
this.textBox2.Size = new System.Drawing.Size(247, 23);
this.textBox2.TabIndex = 6;
//
// textBox3
//
this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox3.Location = new System.Drawing.Point(128, 118);
this.textBox3.Name = "textBox3";
this.textBox3.ReadOnly = true;
this.textBox3.Size = new System.Drawing.Size(247, 23);
this.textBox3.TabIndex = 7;
//
// textBox4
//
this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox4.Location = new System.Drawing.Point(128, 163);
this.textBox4.Name = "textBox4";
this.textBox4.PasswordChar = '*';
this.textBox4.ReadOnly = true;
this.textBox4.Size = new System.Drawing.Size(247, 23);
this.textBox4.TabIndex = 9;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(54, 78);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(63, 14);
this.label4.TabIndex = 8;
this.label4.Text = "数据库:";
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
this.panel1.Location = new System.Drawing.Point(11, 269);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(429, 2);
this.panel1.TabIndex = 22;
//
// textBox5
//
this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox5.Location = new System.Drawing.Point(128, 209);
this.textBox5.Name = "textBox5";
this.textBox5.ReadOnly = true;
this.textBox5.Size = new System.Drawing.Size(247, 23);
this.textBox5.TabIndex = 24;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(40, 211);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(77, 14);
this.label5.TabIndex = 23;
this.label5.Text = "项目编号:";
//
// DatabaseSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(450, 337);
this.Controls.Add(this.textBox5);
this.Controls.Add(this.label5);
this.Controls.Add(this.panel1);
this.Controls.Add(this.textBox4);
this.Controls.Add(this.label4);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.savebtn);
this.Controls.Add(this.button1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "DatabaseSet";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "数据库服务器设置";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button savebtn;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label5;
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,71 @@
namespace AGVSystem
{
partial class Frm_Path_Status
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.dataGridView1 = new System.Windows.Forms.DataGridView();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersWidth = 60;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(655, 391);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.RowStateChanged += new System.Windows.Forms.DataGridViewRowStateChangedEventHandler(this.dataGridView1_RowStateChanged);
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// Frm_Path_Status
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(655, 391);
this.Controls.Add(this.dataGridView1);
this.Name = "Frm_Path_Status";
this.Text = "管控路口现况";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Frm_Path_Status_FormClosed);
this.Load += new System.EventHandler(this.Frm_Path_Status_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.DataGridView dataGridView1;
}
}
@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Frm_Path_Status : Form
{
public Frm_Path_Status()
{
InitializeComponent();
}
private void Frm_Path_Status_Load(object sender, EventArgs e)
{
if (mainfrm.ds_CrossInfo != null && mainfrm.ds_CrossInfo.Tables.Count > 0)
dataGridView1.DataSource = mainfrm.ds_CrossInfo.Tables[0];
}
private void Frm_Path_Status_FormClosed(object sender, FormClosedEventArgs e)
{
mainfrm.frm_Path_Status = null;
}
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount == 0)
return;
if (MessageBox.Show("是否复位该路口?", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
return;
int[] num = new int[2];
num[0] = Convert.ToInt16(mainfrm.ds_CrossInfo.Tables[0].Rows[dataGridView1.CurrentRow.Index]["当前产线编号"].ToString());
num[1] = Convert.ToInt16(mainfrm.ds_CrossInfo.Tables[0].Rows[dataGridView1.CurrentRow.Index]["当前地标编号"].ToString());
for (int i = 0; i < mainfrm.ds_CrossInfo.Tables[0].Rows.Count; i++)
{
string s = mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前地标编号"].ToString();
string a = mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString();
if (mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前产线编号"].ToString() == num[0].ToString() &&
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["当前地标编号"].ToString() == num[1].ToString() &&
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString() != "0")
{
MessageBox.Show("AGV-" + mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"].ToString() + "占用路口信息被清除!");
mainfrm.ds_CrossInfo.Tables[0].Rows[i]["AGV编号"] = 0;
}
}
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,611 @@
namespace AGVSystem
{
partial class InputSet
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InputSet));
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label9 = new System.Windows.Forms.Label();
this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
this.comboBox8 = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.comboBox7 = new System.Windows.Forms.ComboBox();
this.comboBox6 = new System.Windows.Forms.ComboBox();
this.comboBox5 = new System.Windows.Forms.ComboBox();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.comboBox4 = new System.Windows.Forms.ComboBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.comboBox3 = new System.Windows.Forms.ComboBox();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.comboBox9 = new System.Windows.Forms.ComboBox();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Controls.Add(this.toolStrip1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
this.panel1.Location = new System.Drawing.Point(675, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(442, 670);
this.panel1.TabIndex = 0;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.comboBox9);
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.numericUpDown3);
this.groupBox1.Controls.Add(this.comboBox8);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.comboBox7);
this.groupBox1.Controls.Add(this.comboBox6);
this.groupBox1.Controls.Add(this.comboBox5);
this.groupBox1.Controls.Add(this.numericUpDown2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.comboBox4);
this.groupBox1.Controls.Add(this.numericUpDown1);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Controls.Add(this.comboBox3);
this.groupBox1.Controls.Add(this.comboBox2);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Enabled = false;
this.groupBox1.Location = new System.Drawing.Point(0, 71);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(442, 599);
this.groupBox1.TabIndex = 42;
this.groupBox1.TabStop = false;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(30, 454);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(77, 12);
this.label9.TabIndex = 48;
this.label9.Text = "终点位编号:";
//
// numericUpDown3
//
this.numericUpDown3.Location = new System.Drawing.Point(114, 452);
this.numericUpDown3.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.numericUpDown3.Name = "numericUpDown3";
this.numericUpDown3.Size = new System.Drawing.Size(120, 21);
this.numericUpDown3.TabIndex = 47;
//
// comboBox8
//
this.comboBox8.FormattingEnabled = true;
this.comboBox8.Items.AddRange(new object[] {
"呼叫控制",
"放行控制"});
this.comboBox8.Location = new System.Drawing.Point(113, 270);
this.comboBox8.Name = "comboBox8";
this.comboBox8.Size = new System.Drawing.Size(121, 20);
this.comboBox8.TabIndex = 46;
this.comboBox8.SelectedIndexChanged += new System.EventHandler(this.comboBox8_SelectedIndexChanged);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(42, 275);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 45;
this.label8.Text = "控制类型:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(30, 389);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(77, 12);
this.label7.TabIndex = 44;
this.label7.Text = "中转位编号:";
//
// comboBox7
//
this.comboBox7.FormattingEnabled = true;
this.comboBox7.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7"});
this.comboBox7.Location = new System.Drawing.Point(241, 142);
this.comboBox7.Name = "comboBox7";
this.comboBox7.Size = new System.Drawing.Size(121, 20);
this.comboBox7.TabIndex = 43;
this.comboBox7.Visible = false;
//
// comboBox6
//
this.comboBox6.FormattingEnabled = true;
this.comboBox6.Items.AddRange(new object[] {
"0",
"1",
"2",
"3"});
this.comboBox6.Location = new System.Drawing.Point(241, 78);
this.comboBox6.Name = "comboBox6";
this.comboBox6.Size = new System.Drawing.Size(121, 20);
this.comboBox6.TabIndex = 42;
this.comboBox6.Visible = false;
//
// comboBox5
//
this.comboBox5.FormattingEnabled = true;
this.comboBox5.Items.AddRange(new object[] {
"",
"card1",
"card2",
"card3"});
this.comboBox5.Location = new System.Drawing.Point(241, 14);
this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(121, 20);
this.comboBox5.TabIndex = 41;
this.comboBox5.Visible = false;
//
// numericUpDown2
//
this.numericUpDown2.Location = new System.Drawing.Point(114, 387);
this.numericUpDown2.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(120, 21);
this.numericUpDown2.TabIndex = 40;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(30, 328);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(77, 12);
this.label1.TabIndex = 28;
this.label1.Text = "起始位编号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(42, 17);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 29;
this.label2.Text = "板卡选择:";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(113, 520);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(240, 64);
this.textBox1.TabIndex = 39;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(66, 81);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 30;
this.label3.Text = "Prot";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(66, 523);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 38;
this.label6.Text = "备注:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(72, 145);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(35, 12);
this.label4.TabIndex = 31;
this.label4.Text = "Bit";
//
// comboBox4
//
this.comboBox4.FormattingEnabled = true;
this.comboBox4.Items.AddRange(new object[] {
"0",
"1"});
this.comboBox4.Location = new System.Drawing.Point(113, 208);
this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(121, 20);
this.comboBox4.TabIndex = 37;
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(113, 326);
this.numericUpDown1.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(120, 21);
this.numericUpDown1.TabIndex = 32;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(24, 212);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(83, 12);
this.label5.TabIndex = 36;
this.label5.Text = "Input Value";
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"",
"card1",
"card2",
"card3"});
this.comboBox1.Location = new System.Drawing.Point(113, 14);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 20);
this.comboBox1.TabIndex = 33;
//
// comboBox3
//
this.comboBox3.FormattingEnabled = true;
this.comboBox3.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7"});
this.comboBox3.Location = new System.Drawing.Point(113, 142);
this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(121, 20);
this.comboBox3.TabIndex = 35;
//
// comboBox2
//
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"0",
"1",
"2",
"3"});
this.comboBox2.Location = new System.Drawing.Point(113, 78);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(121, 20);
this.comboBox2.TabIndex = 34;
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(442, 71);
this.toolStrip1.TabIndex = 28;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 68);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Enabled = false;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 68);
this.toolStripButton2.Text = "查询";
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 68);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 68);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 68);
this.toolStripButton5.Text = "更新";
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 68);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.,
this.,
this.,
this.,
this.,
this.ID,
this.ID,
this.ID,
this.});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.GridColor = System.Drawing.Color.DimGray;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersWidth = 60;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(675, 670);
this.dataGridView1.TabIndex = 20;
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// 板卡编号
//
this..DataPropertyName = "板卡编号";
this..HeaderText = "板卡编号";
this..Name = "板卡编号";
this..ReadOnly = true;
//
// 端口号
//
this..DataPropertyName = "端口号";
this..HeaderText = "端口号";
this..Name = "端口号";
this..ReadOnly = true;
//
// 端口位
//
this..DataPropertyName = "端口位";
this..HeaderText = "端口位";
this..Name = "端口位";
this..ReadOnly = true;
//
// 输入值
//
this..DataPropertyName = "输入值";
this..HeaderText = "输入值";
this..Name = "输入值";
this..ReadOnly = true;
//
// 区分
//
this..DataPropertyName = "区分";
this..HeaderText = "区分";
this..Name = "区分";
this..ReadOnly = true;
//
// 起始位ID
//
this.ID.DataPropertyName = "起始位ID";
this.ID.HeaderText = "起始位ID";
this.ID.Name = "起始位ID";
this.ID.ReadOnly = true;
//
// 中转位ID
//
this.ID.DataPropertyName = "中转位ID";
this.ID.HeaderText = "中转位ID";
this.ID.Name = "中转位ID";
this.ID.ReadOnly = true;
//
// 最终位ID
//
this.ID.DataPropertyName = "最终位ID";
this.ID.HeaderText = "最终位ID";
this.ID.Name = "最终位ID";
this.ID.ReadOnly = true;
//
// 备注
//
this..DataPropertyName = "备注";
this..HeaderText = "备注";
this..Name = "备注";
this..ReadOnly = true;
this..Width = 200;
//
// comboBox9
//
this.comboBox9.FormattingEnabled = true;
this.comboBox9.Items.AddRange(new object[] {
"0",
"1"});
this.comboBox9.Location = new System.Drawing.Point(241, 208);
this.comboBox9.Name = "comboBox9";
this.comboBox9.Size = new System.Drawing.Size(121, 20);
this.comboBox9.TabIndex = 49;
this.comboBox9.Visible = false;
//
// InputSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1117, 670);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel1);
this.Name = "InputSet";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "板卡Input设置";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.InputSet_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.ComboBox comboBox7;
private System.Windows.Forms.ComboBox comboBox6;
private System.Windows.Forms.ComboBox comboBox5;
private System.Windows.Forms.NumericUpDown numericUpDown2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox comboBox4;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.ComboBox comboBox3;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.ComboBox comboBox8;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.NumericUpDown numericUpDown3;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.DataGridViewTextBoxColumn ID;
private System.Windows.Forms.DataGridViewTextBoxColumn ID;
private System.Windows.Forms.DataGridViewTextBoxColumn ID;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.ComboBox comboBox9;
}
}
@@ -0,0 +1,172 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class InputSet : Form
{
private string strsql;
private ClsDBConn_sql db = new ClsDBConn_sql();
private DataSet ds = new DataSet();
private int flag = 0;
public InputSet()
{
InitializeComponent();
}
private void comboBox8_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox8.SelectedIndex == 1)
{
label7.Visible = false;
numericUpDown2.Visible = false;
label9.Visible = false;
numericUpDown3.Visible = false;
numericUpDown2.Value = 0;
numericUpDown3.Value = 0;
}
else
{
label7.Visible = true;
numericUpDown2.Visible = true;
label9.Visible = true;
numericUpDown3.Visible = true;
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
flag = 0;
groupBox1.Enabled = true;
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
comboBox3.SelectedIndex = 0;
comboBox4.SelectedIndex = 0;
comboBox5.SelectedIndex = 0;
comboBox6.SelectedIndex = 0;
comboBox7.SelectedIndex = 0;
comboBox8.SelectedIndex = 0;
comboBox9.SelectedIndex = 0;
textBox1.Text = "";
numericUpDown1.Value = 0;
numericUpDown2.Value = 0;
numericUpDown3.Value = 0;
}
private void InputSet_Load(object sender, EventArgs e)
{
strsql = "SELECT [Card_ID] as 板卡编号 ,[Port] as 端口号 ,[Bit] as 端口位 ,[Value] as 输入值,[Class] as 区分 ,[Loc1] as 起始位ID ,[Loc2] as 中转位ID ,[Loc3] as 最终位ID ,[Remark] as 备注 FROM [IO_Accept]";
ds.Tables.Clear();
ds = db.connDt(strsql);
dataGridView1.DataSource = ds.Tables[0];
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
flag = 0;
strsql = "INSERT INTO [IO_Accept] ([Card_ID] ,[Port] ,[Bit] ,[Value] ,[Class] ,[Loc1] ,[Loc2] ,[Loc3] ,[Remark]) VALUES "+
"("+comboBox1.SelectedIndex+","+comboBox2.SelectedIndex+ ","+comboBox3.SelectedIndex+","+comboBox4.SelectedIndex+","+comboBox8.SelectedIndex+","+numericUpDown1.Value+","+numericUpDown2.Value+","+numericUpDown3.Value+",'"+textBox1.Text +"')";
if (db.Command(strsql) == "1")
{
MessageBox.Show("添加成功!");
InputSet_Load(null, null);
toolStripButton1_Click(null, null);
}
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
flag = 0;
comboBox1.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["板卡编号"].Value);
comboBox5.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["板卡编号"].Value);
comboBox2.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["端口号"].Value);
comboBox6.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["端口号"].Value);
comboBox3.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["端口位"].Value);
comboBox7.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["端口位"].Value);
comboBox4.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["输入值"].Value);
comboBox9.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["输入值"].Value);
comboBox8.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["区分"].Value);
numericUpDown1.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["起始位ID"].Value);
numericUpDown2.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["中转位ID"].Value);
numericUpDown3.Value = Convert.ToDecimal(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["最终位ID"].Value);
textBox1.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["备注"].Value.ToString();
groupBox1.Enabled = false;
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
groupBox1.Enabled = true;
flag = 1;
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag == 1)
{
strsql = "UPDATE [IO_Accept] SET [Card_ID] = "+comboBox1.SelectedIndex+
",[Port] = "+comboBox2.SelectedIndex+
",[Bit] = "+comboBox3.SelectedIndex+
",[Value] = "+comboBox4.SelectedIndex+
",[Class] = "+comboBox8.SelectedIndex+
",[Loc1] = "+numericUpDown1.Value+
",[Loc2] = "+numericUpDown2.Value+
",[Loc3] = "+numericUpDown3.Value+
",[Remark] = '"+textBox1.Text+"'"+
" WHERE [Card_ID] = "+comboBox5.SelectedIndex+" and "+
" [Port] = "+comboBox6.SelectedIndex +" and "+
" [Bit] = "+comboBox7.SelectedIndex+" and "+
" [Value] = "+comboBox9.SelectedIndex;
if (db.Command(strsql) == "1")
{
MessageBox.Show("更新成功!");
InputSet_Load(null, null);
toolStripButton1_Click(null, null);
flag = 0;
}
}
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
flag = 0;
strsql = " DELETE FROM [IO_Accept] WHERE [Card_ID] = " + comboBox5.SelectedIndex + " and [Port] =" + comboBox6.SelectedIndex + " and [Bit] = " + comboBox7.SelectedIndex + " and Value = "+comboBox9.SelectedIndex;
if (db.Command(strsql) == "1")
{
MessageBox.Show("删除成功!");
InputSet_Load(null, null);
toolStripButton1_Click(null, null);
flag = 0;
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,320 @@
namespace AGVSystem
{
partial class Linemanage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Linemanage));
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txt_id = new System.Windows.Forms.TextBox();
this.txt_line_name = new System.Windows.Forms.TextBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.线 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(83, 43);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 0;
this.label1.Text = "编号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(83, 88);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 1;
this.label2.Text = "名称:";
//
// txt_id
//
this.txt_id.BackColor = System.Drawing.SystemColors.ScrollBar;
this.txt_id.Location = new System.Drawing.Point(129, 40);
this.txt_id.Name = "txt_id";
this.txt_id.Size = new System.Drawing.Size(100, 21);
this.txt_id.TabIndex = 2;
//
// txt_line_name
//
this.txt_line_name.Location = new System.Drawing.Point(129, 85);
this.txt_line_name.Name = "txt_line_name";
this.txt_line_name.Size = new System.Drawing.Size(216, 21);
this.txt_line_name.TabIndex = 3;
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 40;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.线,
this.线,
this.});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(518, 466);
this.dataGridView1.TabIndex = 5;
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// 线体编号
//
this.线.DataPropertyName = "线体编号";
this.线.HeaderText = "线体编号";
this.线.Name = "线体编号";
this.线.ReadOnly = true;
this.线.Width = 80;
//
// 线体名称
//
this.线.DataPropertyName = "线体名称";
this.线.HeaderText = "线体名称";
this.线.Name = "线体名称";
this.线.ReadOnly = true;
this.线.Width = 200;
//
// 所属地图
//
this..DataPropertyName = "所属地图";
this..HeaderText = "所属地图";
this..Name = "所属地图";
this..ReadOnly = true;
this..Width = 80;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.dataGridView1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
this.splitContainer1.Panel2.Controls.Add(this.toolStrip1);
this.splitContainer1.Size = new System.Drawing.Size(967, 466);
this.splitContainer1.SplitterDistance = 518;
this.splitContainer1.TabIndex = 17;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Controls.Add(this.txt_id);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.txt_line_name);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Location = new System.Drawing.Point(0, 71);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(445, 219);
this.groupBox1.TabIndex = 28;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "线体信息";
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"NULL",
"AGV路线图1",
"AGV路线图2",
"AGV路线图3"});
this.comboBox1.Location = new System.Drawing.Point(129, 130);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(141, 20);
this.comboBox1.TabIndex = 21;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(59, 133);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 12);
this.label3.TabIndex = 20;
this.label3.Text = "所属地图:";
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(445, 71);
this.toolStrip1.TabIndex = 27;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 68);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Enabled = false;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 68);
this.toolStripButton2.Text = "查询";
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 68);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 68);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Enabled = false;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 68);
this.toolStripButton5.Text = "更新";
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 68);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// Linemanage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(967, 466);
this.Controls.Add(this.splitContainer1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Name = "Linemanage";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "运行线体管理";
this.Load += new System.EventHandler(this.Linemanage_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txt_id;
private System.Windows.Forms.TextBox txt_line_name;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn 线;
private System.Windows.Forms.DataGridViewTextBoxColumn ;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.GroupBox groupBox1;
}
}
@@ -0,0 +1,158 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Linemanage : Form
{
private ClsDBConn_sql db = new ClsDBConn_sql();
System.Data.DataSet ds = new System.Data.DataSet();
public Linemanage( )
{
InitializeComponent();
}
private void Linemanage_Load(object sender, EventArgs e)
{
ds = db.connDt("select id as 线体编号 , line_name as 线体名称 , area as 所属地图 from Assembly_Line");
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
}
this.WindowState = FormWindowState.Maximized;
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
txt_id.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["线体编号"].Value.ToString();
txt_line_name.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["线体名称"].Value.ToString();
comboBox1.SelectedIndex = Convert.ToInt16(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["所属地图"].Value.ToString());
}
}
private int Delete_Assembly_Line(string id)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("delete from Assembly_Line where id = " + id));
}
catch
{ }
return rowcount;
}
private int Update_Assembly_Line(string id, string name,int map)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("update Assembly_Line set line_name='" + name + "' , area = "+ map+" where id = " + id));
}
catch
{ }
return rowcount;
}
private int Add_Assembly_Line(string id , string name,int map)
{
int rowcount = 0;
try
{
rowcount = Convert.ToInt16(db.Command("insert into Assembly_Line (id , line_name,area ) values (" + id + ",'" + name +"',"+map+ ") "));
}
catch
{ }
return rowcount;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
txt_id.Text = "";
txt_line_name.Text = "";
comboBox1.SelectedIndex = 0;
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (txt_id.Text.Trim() == "" || txt_line_name.Text.Trim() == "")
{
return;
}
if (Add_Assembly_Line(txt_id.Text, txt_line_name.Text, comboBox1.SelectedIndex ) > 0)
{
MessageBox.Show("添加成功!");
}
else
{
return;
}
Linemanage_Load(null, null);
txt_id.Text = "";
txt_line_name.Text = "";
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (txt_id.Text.Trim() == "" || txt_line_name.Text.Trim() == "")
{
return;
}
if (Delete_Assembly_Line(txt_id.Text.Trim()) > 0)
{
MessageBox.Show("删除成功!");
}
else
{
return;
}
Linemanage_Load(null, null);
txt_id.Text = "";
txt_line_name.Text = "";
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (txt_id.Text.Trim() == "" || txt_line_name.Text.Trim() == "")
{
return;
}
if (Update_Assembly_Line(txt_id.Text, txt_line_name.Text, comboBox1.SelectedIndex + 1) > 0)
{
MessageBox.Show("修改成功!");
}
else
{
return;
}
Linemanage_Load(null, null);
txt_id.Text = "";
txt_line_name.Text = "";
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,576 @@
namespace AGVSystem
{
partial class Location_Set
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.txt_zb_x = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.num_speed = new System.Windows.Forms.NumericUpDown();
this.label9 = new System.Windows.Forms.Label();
this.cmb_zhangaiwu = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
this.cmb_type = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.cmb_bd = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.cmb_map = new System.Windows.Forms.ComboBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.next_longtime1 = new System.Windows.Forms.NumericUpDown();
this.label14 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.cmb_run1 = new System.Windows.Forms.ComboBox();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.next_loc1 = new System.Windows.Forms.NumericUpDown();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.next_longtime2 = new System.Windows.Forms.NumericUpDown();
this.label15 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.cmb_run2 = new System.Windows.Forms.ComboBox();
this.label17 = new System.Windows.Forms.Label();
this.label18 = new System.Windows.Forms.Label();
this.next_loc2 = new System.Windows.Forms.NumericUpDown();
this.num_plcvalue = new System.Windows.Forms.NumericUpDown();
this.num_id = new System.Windows.Forms.NumericUpDown();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.txt_zb_y = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.num_speed)).BeginInit();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc1)).BeginInit();
this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_plcvalue)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num_id)).BeginInit();
this.SuspendLayout();
//
// txt_zb_x
//
this.txt_zb_x.Location = new System.Drawing.Point(107, 72);
this.txt_zb_x.Name = "txt_zb_x";
this.txt_zb_x.ReadOnly = true;
this.txt_zb_x.Size = new System.Drawing.Size(45, 21);
this.txt_zb_x.TabIndex = 29;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(168, 261);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(47, 12);
this.label10.TabIndex = 28;
this.label10.Text = "米/分钟";
//
// num_speed
//
this.num_speed.Enabled = false;
this.num_speed.Location = new System.Drawing.Point(107, 255);
this.num_speed.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_speed.Name = "num_speed";
this.num_speed.Size = new System.Drawing.Size(56, 21);
this.num_speed.TabIndex = 27;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(29, 260);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(65, 12);
this.label9.TabIndex = 26;
this.label9.Text = "设备速度:";
//
// cmb_zhangaiwu
//
this.cmb_zhangaiwu.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_zhangaiwu.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_zhangaiwu.Enabled = false;
this.cmb_zhangaiwu.FormattingEnabled = true;
this.cmb_zhangaiwu.Items.AddRange(new object[] {
"NULL",
"bank1",
"bank2",
"bank3",
"bank4",
"bank5",
"bank6",
"bank7",
"bank8",
"bank9",
"bank10",
"bank11",
"bank12",
"bank13",
"bank14",
"bank15",
"bank16"});
this.cmb_zhangaiwu.Location = new System.Drawing.Point(107, 144);
this.cmb_zhangaiwu.Name = "cmb_zhangaiwu";
this.cmb_zhangaiwu.Size = new System.Drawing.Size(102, 20);
this.cmb_zhangaiwu.TabIndex = 25;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(15, 149);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(77, 12);
this.label8.TabIndex = 24;
this.label8.Text = "障碍物模式:";
//
// cmb_type
//
this.cmb_type.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_type.Enabled = false;
this.cmb_type.FormattingEnabled = true;
this.cmb_type.Items.AddRange(new object[] {
"管控复位点",
"管控停止点"});
this.cmb_type.Location = new System.Drawing.Point(107, 218);
this.cmb_type.Name = "cmb_type";
this.cmb_type.Size = new System.Drawing.Size(102, 20);
this.cmb_type.TabIndex = 23;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(29, 79);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(65, 12);
this.label4.TabIndex = 4;
this.label4.Text = "位置坐标:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(29, 225);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 22;
this.label5.Text = "位置类型:";
//
// cmb_bd
//
this.cmb_bd.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_bd.FormattingEnabled = true;
this.cmb_bd.Items.AddRange(new object[] {
"NULL",
"左端",
"右端",
"顶部",
"底部"});
this.cmb_bd.Location = new System.Drawing.Point(107, 107);
this.cmb_bd.Name = "cmb_bd";
this.cmb_bd.Size = new System.Drawing.Size(102, 20);
this.cmb_bd.TabIndex = 21;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 113);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 12);
this.label6.TabIndex = 6;
this.label6.Text = "绑定方式:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(29, 187);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 9;
this.label7.Text = "所属地图:";
//
// cmb_map
//
this.cmb_map.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_map.FormattingEnabled = true;
this.cmb_map.Items.AddRange(new object[] {
"NULL",
"AGV路线图1",
"AGV路线图2",
"AGV路线图3"});
this.cmb_map.Location = new System.Drawing.Point(107, 182);
this.cmb_map.Name = "cmb_map";
this.cmb_map.Size = new System.Drawing.Size(102, 20);
this.cmb_map.TabIndex = 14;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.next_longtime1);
this.groupBox2.Controls.Add(this.label14);
this.groupBox2.Controls.Add(this.label13);
this.groupBox2.Controls.Add(this.cmb_run1);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.label11);
this.groupBox2.Controls.Add(this.next_loc1);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.groupBox2.Location = new System.Drawing.Point(0, 288);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 93);
this.groupBox2.TabIndex = 31;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Next Station1";
//
// next_longtime1
//
this.next_longtime1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_longtime1.Location = new System.Drawing.Point(238, 25);
this.next_longtime1.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_longtime1.Name = "next_longtime1";
this.next_longtime1.Size = new System.Drawing.Size(68, 21);
this.next_longtime1.TabIndex = 27;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(309, 30);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(11, 12);
this.label14.TabIndex = 28;
this.label14.Text = "s";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(177, 27);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(65, 12);
this.label13.TabIndex = 26;
this.label13.Text = "运行时间:";
//
// cmb_run1
//
this.cmb_run1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_run1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_run1.FormattingEnabled = true;
this.cmb_run1.Items.AddRange(new object[] {
"NULL",
"沿X轴运动",
"沿Y轴运动",
"先沿X轴运动,再沿Y轴运动",
"先沿Y轴运动,再沿X轴运动",
"沿斜线运动"});
this.cmb_run1.Location = new System.Drawing.Point(84, 61);
this.cmb_run1.Name = "cmb_run1";
this.cmb_run1.Size = new System.Drawing.Size(250, 20);
this.cmb_run1.TabIndex = 25;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(6, 64);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(65, 12);
this.label12.TabIndex = 24;
this.label12.Text = "运动模式:";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(6, 27);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(65, 12);
this.label11.TabIndex = 11;
this.label11.Text = "位置编号:";
//
// next_loc1
//
this.next_loc1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_loc1.Location = new System.Drawing.Point(84, 25);
this.next_loc1.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_loc1.Name = "next_loc1";
this.next_loc1.Size = new System.Drawing.Size(79, 21);
this.next_loc1.TabIndex = 12;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.next_longtime2);
this.groupBox3.Controls.Add(this.label15);
this.groupBox3.Controls.Add(this.label16);
this.groupBox3.Controls.Add(this.cmb_run2);
this.groupBox3.Controls.Add(this.label17);
this.groupBox3.Controls.Add(this.label18);
this.groupBox3.Controls.Add(this.next_loc2);
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.groupBox3.Location = new System.Drawing.Point(0, 381);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 92);
this.groupBox3.TabIndex = 32;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Next Station2";
//
// next_longtime2
//
this.next_longtime2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_longtime2.Location = new System.Drawing.Point(237, 23);
this.next_longtime2.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_longtime2.Name = "next_longtime2";
this.next_longtime2.Size = new System.Drawing.Size(68, 21);
this.next_longtime2.TabIndex = 27;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(308, 28);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(11, 12);
this.label15.TabIndex = 28;
this.label15.Text = "s";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(175, 25);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(65, 12);
this.label16.TabIndex = 26;
this.label16.Text = "运行时间:";
//
// cmb_run2
//
this.cmb_run2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.cmb_run2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_run2.FormattingEnabled = true;
this.cmb_run2.Items.AddRange(new object[] {
"NULL",
"沿X轴运动",
"沿Y轴运动",
"先沿X轴运动,再沿Y轴运动",
"先沿Y轴运动,再沿X轴运动",
"沿斜线运动"});
this.cmb_run2.Location = new System.Drawing.Point(84, 61);
this.cmb_run2.Name = "cmb_run2";
this.cmb_run2.Size = new System.Drawing.Size(250, 20);
this.cmb_run2.TabIndex = 25;
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(6, 64);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(65, 12);
this.label17.TabIndex = 24;
this.label17.Text = "运动模式:";
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(6, 25);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(65, 12);
this.label18.TabIndex = 11;
this.label18.Text = "位置编号:";
//
// next_loc2
//
this.next_loc2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.next_loc2.Location = new System.Drawing.Point(84, 23);
this.next_loc2.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.next_loc2.Name = "next_loc2";
this.next_loc2.Size = new System.Drawing.Size(79, 21);
this.next_loc2.TabIndex = 12;
//
// num_plcvalue
//
this.num_plcvalue.Enabled = false;
this.num_plcvalue.Location = new System.Drawing.Point(107, 38);
this.num_plcvalue.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_plcvalue.Name = "num_plcvalue";
this.num_plcvalue.ReadOnly = true;
this.num_plcvalue.Size = new System.Drawing.Size(102, 21);
this.num_plcvalue.TabIndex = 36;
//
// num_id
//
this.num_id.BackColor = System.Drawing.SystemColors.Control;
this.num_id.Enabled = false;
this.num_id.Location = new System.Drawing.Point(107, 4);
this.num_id.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.num_id.Name = "num_id";
this.num_id.ReadOnly = true;
this.num_id.Size = new System.Drawing.Size(102, 21);
this.num_id.TabIndex = 35;
this.num_id.ValueChanged += new System.EventHandler(this.num_id_ValueChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(41, 43);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 34;
this.label3.Text = "标记值:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(29, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 33;
this.label2.Text = "位置编号:";
//
// button1
//
this.button1.Location = new System.Drawing.Point(275, 9);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 37;
this.button1.Text = "保存";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// txt_zb_y
//
this.txt_zb_y.Location = new System.Drawing.Point(163, 72);
this.txt_zb_y.Name = "txt_zb_y";
this.txt_zb_y.ReadOnly = true;
this.txt_zb_y.Size = new System.Drawing.Size(45, 21);
this.txt_zb_y.TabIndex = 38;
//
// Location_Set
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(362, 473);
this.Controls.Add(this.txt_zb_y);
this.Controls.Add(this.button1);
this.Controls.Add(this.num_plcvalue);
this.Controls.Add(this.num_id);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.txt_zb_x);
this.Controls.Add(this.label10);
this.Controls.Add(this.label4);
this.Controls.Add(this.num_speed);
this.Controls.Add(this.cmb_map);
this.Controls.Add(this.label9);
this.Controls.Add(this.label7);
this.Controls.Add(this.cmb_zhangaiwu);
this.Controls.Add(this.label6);
this.Controls.Add(this.label8);
this.Controls.Add(this.cmb_bd);
this.Controls.Add(this.cmb_type);
this.Controls.Add(this.label5);
this.Controls.Add(this.groupBox3);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "Location_Set";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "位置属性设置";
this.Load += new System.EventHandler(this.Location_Set_Load);
((System.ComponentModel.ISupportInitialize)(this.num_speed)).EndInit();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc1)).EndInit();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.next_longtime2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.next_loc2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_plcvalue)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num_id)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox txt_zb_x;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.NumericUpDown num_speed;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.ComboBox cmb_zhangaiwu;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ComboBox cmb_type;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ComboBox cmb_bd;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ComboBox cmb_map;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.NumericUpDown next_longtime1;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.ComboBox cmb_run1;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.NumericUpDown next_loc1;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.NumericUpDown next_longtime2;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox cmb_run2;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.NumericUpDown next_loc2;
private System.Windows.Forms.NumericUpDown num_plcvalue;
private System.Windows.Forms.NumericUpDown num_id;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox txt_zb_y;
}
}
@@ -0,0 +1,126 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Location_Set : Form
{
string strsql = "";
ClsDBConn_sql db = new ClsDBConn_sql();
DataSet ds = new DataSet();
public Location_Set(int id , int x, int y ,int map )
{
InitializeComponent();
txt_zb_x.Text = x.ToString();
txt_zb_y.Text = y.ToString();
cmb_map.SelectedIndex = map;
num_id.Value = id;
}
private void button1_Click(object sender, EventArgs e)
{
string count = "0";
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
strsql = "UPDATE [LandMarkInfo] SET [Flag_Value] = "+num_plcvalue.Value+
",[Loc_X] = "+txt_zb_x.Text+
",[Loc_Y] = "+txt_zb_y.Text+
",[Binding] = "+cmb_bd.SelectedIndex+
",[Area] = "+cmb_map.SelectedIndex+
",[Bank] = "+cmb_zhangaiwu.SelectedIndex+
",[Speed] = "+num_speed.Value+
",[Next_Station1] = "+next_loc1.Value+
",[Drict1] = "+cmb_run1.SelectedIndex+
",[LongTime1] = "+next_longtime1.Value+
",[Next_Station2] = "+next_loc2.Value+
",[Drict2] = "+cmb_run2.SelectedIndex+
",[LongTime2] = "+next_longtime2.Value+
" WHERE [Loc_ID] = "+num_id.Value;
count = db.Command(strsql);
if (count == "1")
{
MessageBox.Show("更新成功!");
this.Close();
}
}
int value = -100;
private void num_id_ValueChanged(object sender, EventArgs e)
{
value = -100;
strsql = "SELECT [Loc_ID] ,[Flag_Value],[Binding],[Area],[Assembly_ID],[Bank],[Speed]"+
",[Next_Station1],[Drict1],[LongTime1] ,[Next_Station2] ,[Drict2] ,[LongTime2]"+
" FROM [LandMarkInfo] where Loc_ID ="+num_id.Value;
ds.Tables.Clear();
ds = db.connDt(strsql);
if (ds.Tables[0].Rows.Count == 1)
{
num_plcvalue.Value = Convert.ToDecimal( ds.Tables[0].Rows[0][0].ToString());
}
else if (ds.Tables[0].Rows.Count > 1)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (value == -100)
{
value = Convert.ToInt16(dr[0].ToString());
}
else
{
if (value != Convert.ToInt16(dr[0].ToString()))
{
MessageBox.Show(num_id.Value.ToString()+"对应的标记值有误!");
button1.Enabled = false;
return;
}
}
}
}
if (ds.Tables[0].Rows.Count >= 1)
{
num_plcvalue.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][1].ToString());
cmb_map.SelectedIndex = Convert.ToInt16(ds.Tables[0].Rows[0][3].ToString());
cmb_bd.SelectedIndex = Convert.ToInt16(ds.Tables[0].Rows[0][2].ToString());
cmb_type.SelectedIndex = ds.Tables[0].Rows[0][4].ToString() == "0" ? 0 : 1;
cmb_zhangaiwu.SelectedIndex = Convert.ToInt16(ds.Tables[0].Rows[0][5].ToString());
num_speed.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][6].ToString());
next_loc1.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][7].ToString());
next_loc2.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][10].ToString());
next_longtime1.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][9].ToString());
next_longtime2.Value = Convert.ToDecimal(ds.Tables[0].Rows[0][12].ToString());
cmb_run1.SelectedIndex = Convert.ToInt16(ds.Tables[0].Rows[0][8].ToString());
cmb_run2.SelectedIndex = Convert.ToInt16(ds.Tables[0].Rows[0][11].ToString());
}
}
private void next_loc1_ValueChanged(object sender, EventArgs e)
{
strsql = "SELECT [Loc_X] ,[Loc_Y] FROM LandMarkInfo WHERE Loc_ID ="+next_loc1.Value;
ds.Tables.Clear();
ds = db.connDt(strsql);
if (ds.Tables[0].Rows.Count == 1)
{
next_longtime1.Value = Math.Abs(Convert.ToInt16(ds.Tables[0].Rows[0][0].ToString()) - Convert.ToInt16(txt_zb_x.Text)) + Math.Abs(Convert.ToInt16(ds.Tables[0].Rows[0][1].ToString()) - Convert.ToInt16(txt_zb_y.Text));
}
}
private void Location_Set_Load(object sender, EventArgs e)
{
this.next_loc1.ValueChanged += new System.EventHandler(this.next_loc1_ValueChanged);
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,438 @@
namespace AGVSystem
{
partial class OutputSet
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OutputSet));
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.comboBox7 = new System.Windows.Forms.ComboBox();
this.comboBox6 = new System.Windows.Forms.ComboBox();
this.comboBox5 = new System.Windows.Forms.ComboBox();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.comboBox4 = new System.Windows.Forms.ComboBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.comboBox3 = new System.Windows.Forms.ComboBox();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label7 = new System.Windows.Forms.Label();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton6 = new System.Windows.Forms.ToolStripButton();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Controls.Add(this.label7);
this.panel1.Controls.Add(this.toolStrip1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
this.panel1.Location = new System.Drawing.Point(485, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(436, 505);
this.panel1.TabIndex = 0;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.comboBox7);
this.groupBox1.Controls.Add(this.comboBox6);
this.groupBox1.Controls.Add(this.comboBox5);
this.groupBox1.Controls.Add(this.numericUpDown2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.comboBox4);
this.groupBox1.Controls.Add(this.numericUpDown1);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Controls.Add(this.comboBox3);
this.groupBox1.Controls.Add(this.comboBox2);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Enabled = false;
this.groupBox1.Location = new System.Drawing.Point(0, 71);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(436, 434);
this.groupBox1.TabIndex = 41;
this.groupBox1.TabStop = false;
//
// comboBox7
//
this.comboBox7.FormattingEnabled = true;
this.comboBox7.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7"});
this.comboBox7.Location = new System.Drawing.Point(250, 217);
this.comboBox7.Name = "comboBox7";
this.comboBox7.Size = new System.Drawing.Size(121, 20);
this.comboBox7.TabIndex = 43;
this.comboBox7.Visible = false;
//
// comboBox6
//
this.comboBox6.FormattingEnabled = true;
this.comboBox6.Items.AddRange(new object[] {
"0",
"1",
"2",
"3"});
this.comboBox6.Location = new System.Drawing.Point(250, 153);
this.comboBox6.Name = "comboBox6";
this.comboBox6.Size = new System.Drawing.Size(121, 20);
this.comboBox6.TabIndex = 42;
this.comboBox6.Visible = false;
//
// comboBox5
//
this.comboBox5.FormattingEnabled = true;
this.comboBox5.Items.AddRange(new object[] {
"",
"card1",
"card2",
"card3"});
this.comboBox5.Location = new System.Drawing.Point(250, 89);
this.comboBox5.Name = "comboBox5";
this.comboBox5.Size = new System.Drawing.Size(121, 20);
this.comboBox5.TabIndex = 41;
this.comboBox5.Visible = false;
//
// numericUpDown2
//
this.numericUpDown2.Location = new System.Drawing.Point(250, 26);
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(120, 21);
this.numericUpDown2.TabIndex = 40;
this.numericUpDown2.Visible = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(53, 28);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 28;
this.label1.Text = "位置编号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(51, 92);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 29;
this.label2.Text = "板卡选择:";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(122, 347);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(240, 64);
this.textBox1.TabIndex = 39;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(75, 156);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 30;
this.label3.Text = "Prot";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(75, 350);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 38;
this.label6.Text = "备注:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(81, 220);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(35, 12);
this.label4.TabIndex = 31;
this.label4.Text = "Bit";
//
// comboBox4
//
this.comboBox4.FormattingEnabled = true;
this.comboBox4.Items.AddRange(new object[] {
"0",
"1"});
this.comboBox4.Location = new System.Drawing.Point(122, 283);
this.comboBox4.Name = "comboBox4";
this.comboBox4.Size = new System.Drawing.Size(121, 20);
this.comboBox4.TabIndex = 37;
this.comboBox4.TextChanged += new System.EventHandler(this.comboBox4_TextChanged);
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(122, 26);
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(120, 21);
this.numericUpDown1.TabIndex = 32;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(27, 287);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(89, 12);
this.label5.TabIndex = 36;
this.label5.Text = "Output Value";
//
// comboBox1
//
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"",
"card1",
"card2",
"card3"});
this.comboBox1.Location = new System.Drawing.Point(122, 89);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 20);
this.comboBox1.TabIndex = 33;
//
// comboBox3
//
this.comboBox3.FormattingEnabled = true;
this.comboBox3.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7"});
this.comboBox3.Location = new System.Drawing.Point(122, 217);
this.comboBox3.Name = "comboBox3";
this.comboBox3.Size = new System.Drawing.Size(121, 20);
this.comboBox3.TabIndex = 35;
//
// comboBox2
//
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"0",
"1",
"2",
"3"});
this.comboBox2.Location = new System.Drawing.Point(122, 153);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(121, 20);
this.comboBox2.TabIndex = 34;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(250, 369);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(0, 12);
this.label7.TabIndex = 40;
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.Color.White;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(64, 64);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3,
this.toolStripButton4,
this.toolStripButton5,
this.toolStripButton6});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(436, 71);
this.toolStrip1.TabIndex = 27;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Size = new System.Drawing.Size(68, 68);
this.toolStripButton1.Text = "新建";
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Enabled = false;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(68, 68);
this.toolStripButton2.Text = "查询";
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(68, 68);
this.toolStripButton3.Text = "添加";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// toolStripButton4
//
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton4.Name = "toolStripButton4";
this.toolStripButton4.Size = new System.Drawing.Size(68, 68);
this.toolStripButton4.Text = "删除";
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripButton5
//
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton5.Name = "toolStripButton5";
this.toolStripButton5.Size = new System.Drawing.Size(68, 68);
this.toolStripButton5.Text = "更新";
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
//
// toolStripButton6
//
this.toolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton6.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton6.Image")));
this.toolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton6.Name = "toolStripButton6";
this.toolStripButton6.Size = new System.Drawing.Size(68, 68);
this.toolStripButton6.Text = "保存";
this.toolStripButton6.Click += new System.EventHandler(this.toolStripButton6_Click);
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.Color.White;
this.dataGridView1.ColumnHeadersHeight = 30;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.GridColor = System.Drawing.Color.DimGray;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersWidth = 60;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(485, 505);
this.dataGridView1.TabIndex = 19;
this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
//
// OutputSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(921, 505);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel1);
this.Name = "OutputSet";
this.Text = "板卡output设置";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.OutputSet_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.ComboBox comboBox4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ComboBox comboBox3;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton toolStripButton1;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private System.Windows.Forms.ToolStripButton toolStripButton3;
private System.Windows.Forms.ToolStripButton toolStripButton4;
private System.Windows.Forms.ToolStripButton toolStripButton5;
private System.Windows.Forms.ToolStripButton toolStripButton6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.ComboBox comboBox7;
private System.Windows.Forms.ComboBox comboBox6;
private System.Windows.Forms.ComboBox comboBox5;
private System.Windows.Forms.NumericUpDown numericUpDown2;
}
}
@@ -0,0 +1,143 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class OutputSet : Form
{
private string strsql;
private ClsDBConn_sql db = new ClsDBConn_sql();
private DataSet ds = new DataSet();
public OutputSet()
{
InitializeComponent();
}
private void comboBox4_TextChanged(object sender, EventArgs e)
{
if (comboBox4.SelectedIndex == 0)
label7.Text = "";
else if (comboBox4.SelectedIndex == 1)
label7.Text = "低电平输出";
else if (comboBox4.SelectedIndex == 2)
label7.Text = "高电平输出";
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
groupBox1.Enabled = true;
numericUpDown1.Value = 0;
comboBox1.SelectedIndex = 1;
comboBox2.SelectedIndex = 1;
comboBox3.SelectedIndex = 1;
comboBox4.SelectedIndex = 1;
textBox1.Text = "";
}
private void OutputSet_Load(object sender, EventArgs e)
{
strsql = "SELECT [Loc_ID] as 位置编号,[Card_ID] as 板卡编号,[Port] as 端口号,[Bit] as 端口位,[Value] as 输出值,[Remark] as 备注 FROM [IO_Set]";
if (ds.Tables.Count > 0)
ds.Tables.Clear();
ds = db.connDt(strsql);
dataGridView1.DataSource = ds.Tables[0];
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (numericUpDown1.Value == 0 || comboBox1.Text == "" || comboBox2.Text == "" || comboBox3.Text == "" || comboBox4.Text == "")
return;
strsql = "INSERT INTO [IO_Set] ([Loc_ID],[Card_ID],[Port] ,[Bit] ,[Value] ,[Remark]) " +
" VALUES (" + numericUpDown1.Value + "," + comboBox1.SelectedIndex + "," + comboBox2.SelectedIndex + "," + comboBox3.SelectedIndex + "," + comboBox4.Text + ",'" + textBox1.Text + "')";
if (db.Command(strsql) == "1")
{
MessageBox.Show("添加成功!");
OutputSet_Load(null,null);
groupBox1.Enabled = false;
}
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0)
{
numericUpDown1.Value = Convert.ToDecimal(dataGridView1.CurrentRow.Cells[0].Value.ToString());
numericUpDown2.Value = Convert.ToDecimal(dataGridView1.CurrentRow.Cells[0].Value.ToString());
comboBox1.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[1].Value.ToString());
comboBox5.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[1].Value.ToString());
comboBox2.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[2].Value.ToString());
comboBox6.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[2].Value.ToString());
comboBox3.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[3].Value.ToString());
comboBox7.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[3].Value.ToString());
comboBox4.SelectedIndex = Convert.ToInt16(dataGridView1.CurrentRow.Cells[4].Value.ToString());
textBox1.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
groupBox1.Enabled = false;
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
groupBox1.Enabled = true;
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (numericUpDown1.Value == 0 || comboBox1.Text == "" || comboBox2.Text == "" || comboBox3.Text == "" || comboBox4.Text == "")
return;
strsql = "DELETE FROM io_set where [Loc_ID] =" + numericUpDown1.Value +
" and [Card_ID] = " + comboBox1.SelectedIndex +
" and [Port] =" + comboBox2.SelectedIndex +
" and [Bit] =" + comboBox3.SelectedIndex;
if (db.Command(strsql) == "1")
{
MessageBox.Show("删除成功!");
OutputSet_Load(null, null);
groupBox1.Enabled = false;
}
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (Cls.Param.UserName_temp == "")
{
MessageBox.Show("请登录管理员权限!", "AGV调度管理系统", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (numericUpDown1.Value == 0 || comboBox1.Text == "" || comboBox2.Text == "" || comboBox3.Text == "")
return;
strsql = "update io_set set [Loc_ID] = " + numericUpDown1.Value +
",[Card_ID] = " + comboBox1.SelectedIndex +
",[Port] = " + comboBox2.SelectedIndex +
",[Bit] = " + comboBox3.SelectedIndex +
",[Value] =" + comboBox4.SelectedIndex +
",[Remark] = '" + textBox1.Text + "'"+
" where [Loc_ID] =" + numericUpDown2.Value +
" and [Card_ID] = " + comboBox5.SelectedIndex +
" and [Port] =" + comboBox6.SelectedIndex +
" and [Bit] =" + comboBox7.SelectedIndex;
if (db.Command(strsql) == "1")
{
MessageBox.Show("更新成功!");
OutputSet_Load(null, null);
groupBox1.Enabled = false;
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,228 @@
namespace AGVSystem
{
partial class Point_loc_Set
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.cmb = new System.Windows.Forms.ComboBox();
this.num2 = new System.Windows.Forms.NumericUpDown();
this.num1 = new System.Windows.Forms.NumericUpDown();
this.num = new System.Windows.Forms.NumericUpDown();
this.button1 = new System.Windows.Forms.Button();
this.cmb_linelist = new System.Windows.Forms.ComboBox();
this.label5 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.num2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.num)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(56, 39);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(82, 15);
this.label1.TabIndex = 0;
this.label1.Text = "位置编号:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(60, 152);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(53, 15);
this.label2.TabIndex = 1;
this.label2.Text = "坐标X:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(60, 207);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 15);
this.label3.TabIndex = 2;
this.label3.Text = "坐标Y:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(59, 275);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(52, 15);
this.label4.TabIndex = 3;
this.label4.Text = "对齐:";
//
// cmb
//
this.cmb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb.FormattingEnabled = true;
this.cmb.Items.AddRange(new object[] {
"",
"左对齐",
"右对齐",
"顶部对齐",
"底部对齐"});
this.cmb.Location = new System.Drawing.Point(143, 268);
this.cmb.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.cmb.Name = "cmb";
this.cmb.Size = new System.Drawing.Size(160, 23);
this.cmb.TabIndex = 4;
//
// num2
//
this.num2.Location = new System.Drawing.Point(143, 210);
this.num2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.num2.Maximum = new decimal(new int[] {
5000,
0,
0,
0});
this.num2.Minimum = new decimal(new int[] {
5000,
0,
0,
-2147483648});
this.num2.Name = "num2";
this.num2.Size = new System.Drawing.Size(160, 25);
this.num2.TabIndex = 5;
//
// num1
//
this.num1.Location = new System.Drawing.Point(143, 151);
this.num1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.num1.Maximum = new decimal(new int[] {
5000,
0,
0,
0});
this.num1.Minimum = new decimal(new int[] {
5000,
0,
0,
-2147483648});
this.num1.Name = "num1";
this.num1.Size = new System.Drawing.Size(160, 25);
this.num1.TabIndex = 6;
//
// num
//
this.num.Location = new System.Drawing.Point(143, 36);
this.num.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.num.Maximum = new decimal(new int[] {
60000,
0,
0,
0});
this.num.Name = "num";
this.num.Size = new System.Drawing.Size(160, 25);
this.num.TabIndex = 7;
//
// button1
//
this.button1.Location = new System.Drawing.Point(208, 317);
this.button1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(140, 51);
this.button1.TabIndex = 8;
this.button1.Text = "保 存";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// cmb_linelist
//
this.cmb_linelist.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmb_linelist.FormattingEnabled = true;
this.cmb_linelist.Location = new System.Drawing.Point(143, 86);
this.cmb_linelist.Margin = new System.Windows.Forms.Padding(4);
this.cmb_linelist.Name = "cmb_linelist";
this.cmb_linelist.Size = new System.Drawing.Size(160, 23);
this.cmb_linelist.TabIndex = 16;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(56, 89);
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(82, 15);
this.label5.TabIndex = 15;
this.label5.Text = "线体名称:";
//
// Point_loc_Set
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(398, 422);
this.Controls.Add(this.cmb_linelist);
this.Controls.Add(this.label5);
this.Controls.Add(this.button1);
this.Controls.Add(this.num);
this.Controls.Add(this.num1);
this.Controls.Add(this.num2);
this.Controls.Add(this.cmb);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.Name = "Point_loc_Set";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "位置设置";
this.TopMost = true;
this.Load += new System.EventHandler(this.Point_loc_Set_Load);
((System.ComponentModel.ISupportInitialize)(this.num2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.num)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox cmb;
private System.Windows.Forms.NumericUpDown num2;
private System.Windows.Forms.NumericUpDown num1;
private System.Windows.Forms.NumericUpDown num;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox cmb_linelist;
private System.Windows.Forms.Label label5;
}
}
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AGVSystem
{
public partial class Point_loc_Set : Form
{
private ClsDBConn_sql db = new ClsDBConn_sql();
public Point_loc_Set()
{
InitializeComponent();
}
public Point_loc_Set(int x, int y)
{
InitializeComponent();
num1.Value = x;
num2.Value = y;
}
private void button1_Click(object sender, EventArgs e)
{
if (cmb.SelectedIndex > 0)
{
string sqlstr = "UPDATE [LandMarkInfo] " +
" SET[Loc_X] =" + num1.Value +
" ,[Loc_Y] = " + num2.Value +
" ,[Binding] = " + cmb.SelectedIndex +
" WHERE[Loc_ID]=" + num.Value + " And Assembly_Line=" + cmb_linelist.Text.Split('.')[0];
if ("1" == db.Command(sqlstr))
this.Close();
}
}
private void Point_loc_Set_Load(object sender, EventArgs e)
{
DataSet ds = db.connDt("select CONVERT( VARCHAR(10),id) +' . '+ line_name as info from Assembly_Line order by id");
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
cmb_linelist.Items.Add("");
foreach (DataRow dr in ds.Tables[0].Rows)
{
cmb_linelist.Items.Add(dr[0].ToString());
}
}
}
ds.Tables.Clear();
}
}
}
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Reflection;
using System.Threading;
namespace AGVSystem
{
static class Program
{
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
private const int WS_SHOWNORMAL = 3;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Process instance = RunningInstance();
mainfrm.init2();
if (instance == null)
{
Application.Run(new mainfrm());
}
else
{
HandleRunningInstance(instance);
}
}
catch(Exception ex) { }
//bool runOne;
//Mutex run = new Mutex(true, "AGVSystem", out runOne);
//if (runOne)
//{
// run.ReleaseMutex();
// Application.EnableVisualStyles();
// Application.SetCompatibleTextRenderingDefault(false);
// Application.Run(new Form1());
//}
//else
//{
// MessageBox.Show("程序已运行!");
//}
}
/// <summary>
/// 获取正在运行的实例,没有运行的实例返回null;
/// </summary>
public static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
foreach (Process process in processes)
{
if (process.Id != current.Id)
{
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
{
return process;
}
}
}
return null;
}
/// <summary>
/// 显示已运行的程序。
/// </summary>
public static void HandleRunningInstance(Process instance)
{
ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL); //显示,可以注释掉
SetForegroundWindow(instance.MainWindowHandle); //放到前端
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("AGV 调度管理系统")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("华晓精密(苏州)有限公司")]
[assembly: AssemblyProduct("AGVSystem")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("07628622-77c1-41a8-adf1-e2c9be20a4c9")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0.0")]
[assembly: AssemblyFileVersion("4.0.0.0")]
@@ -0,0 +1,223 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace AGVSystem.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AGVSystem.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _0 {
get {
object obj = ResourceManager.GetObject("0", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _1 {
get {
object obj = ResourceManager.GetObject("1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _6 {
get {
object obj = ResourceManager.GetObject("_6", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _8 {
get {
object obj = ResourceManager.GetObject("_8", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap agv1_32 {
get {
object obj = ResourceManager.GetObject("agv1_32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap agv2_32 {
get {
object obj = ResourceManager.GetObject("agv2_32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap agv3_32 {
get {
object obj = ResourceManager.GetObject("agv3_32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap agv4_32 {
get {
object obj = ResourceManager.GetObject("agv4_32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap csg___副本 {
get {
object obj = ResourceManager.GetObject("csg - 副本", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap hui {
get {
object obj = ResourceManager.GetObject("hui", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap ledHigh {
get {
object obj = ResourceManager.GetObject("ledHigh", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap ledLow {
get {
object obj = ResourceManager.GetObject("ledLow", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap lv {
get {
object obj = ResourceManager.GetObject("lv", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap logo {
get {
object obj = ResourceManager.GetObject("华晓logo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap logo1 {
get {
object obj = ResourceManager.GetObject("华晓logo1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap _1_拷贝 {
get {
object obj = ResourceManager.GetObject("未标题-1 拷贝", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="hui" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\hui.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="0" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="华晓logo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\华晓logo.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="华晓logo1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\华晓logo.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ledHigh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ledHigh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="agv4_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\agv4_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="agv3_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\agv3_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="agv2_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\agv2_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="agv1_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\agv1_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="未标题-1 拷贝" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\未标题-1 拷贝.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ledLow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ledLow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="csg - 副本" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\csg - 副本.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_6" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Debug\picture\6.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="_8" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\bin\Debug\picture\8.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
@@ -0,0 +1,266 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace AGVSystem.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Product_bp_using {
get {
return ((int)(this["Product_bp_using"]));
}
set {
this["Product_bp_using"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Product_bp_backup {
get {
return ((int)(this["Product_bp_backup"]));
}
set {
this["Product_bp_backup"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Product_xc_using {
get {
return ((int)(this["Product_xc_using"]));
}
set {
this["Product_xc_using"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Product_xc_backup {
get {
return ((int)(this["Product_xc_backup"]));
}
set {
this["Product_xc_backup"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Use_bp_using {
get {
return ((int)(this["Use_bp_using"]));
}
set {
this["Use_bp_using"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Use_bp_backup {
get {
return ((int)(this["Use_bp_backup"]));
}
set {
this["Use_bp_backup"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Use_xc_backup {
get {
return ((int)(this["Use_xc_backup"]));
}
set {
this["Use_xc_backup"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int Use_xc_using {
get {
return ((int)(this["Use_xc_using"]));
}
set {
this["Use_xc_using"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool A17083_loc20 {
get {
return ((bool)(this["A17083_loc20"]));
}
set {
this["A17083_loc20"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool A17083_loc48 {
get {
return ((bool)(this["A17083_loc48"]));
}
set {
this["A17083_loc48"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int A17099_loc1 {
get {
return ((int)(this["A17099_loc1"]));
}
set {
this["A17099_loc1"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")]
public int A17099_loc2 {
get {
return ((int)(this["A17099_loc2"]));
}
set {
this["A17099_loc2"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int A17099_loc3 {
get {
return ((int)(this["A17099_loc3"]));
}
set {
this["A17099_loc3"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")]
public int A17099_loc4 {
get {
return ((int)(this["A17099_loc4"]));
}
set {
this["A17099_loc4"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")]
public int A17099_loc5 {
get {
return ((int)(this["A17099_loc5"]));
}
set {
this["A17099_loc5"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int A17099_loc15 {
get {
return ((int)(this["A17099_loc15"]));
}
set {
this["A17099_loc15"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")]
public int A17099_loc16 {
get {
return ((int)(this["A17099_loc16"]));
}
set {
this["A17099_loc16"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int A17099_loc17 {
get {
return ((int)(this["A17099_loc17"]));
}
set {
this["A17099_loc17"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")]
public int A17099_loc18 {
get {
return ((int)(this["A17099_loc18"]));
}
set {
this["A17099_loc18"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("3")]
public int A17194_Qty_Flag {
get {
return ((int)(this["A17194_Qty_Flag"]));
}
set {
this["A17194_Qty_Flag"] = value;
}
}
}
}
@@ -0,0 +1,66 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AGVSystem.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="Product_bp_using" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Product_bp_backup" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Product_xc_using" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Product_xc_backup" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Use_bp_using" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Use_bp_backup" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Use_xc_backup" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="Use_xc_using" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="A17083_loc20" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="A17083_loc48" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="A17099_loc1" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="A17099_loc2" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="A17099_loc3" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="A17099_loc4" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="A17099_loc5" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="A17099_loc15" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="A17099_loc16" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="A17099_loc17" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="A17099_loc18" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="A17194_Qty_Flag" Type="System.Int32" Scope="User">
<Value Profile="(Default)">3</Value>
</Setting>
</Settings>
</SettingsFile>
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换
requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 节点将会禁用文件和注册表虚拟化。
如果要利用文件和注册表虚拟化实现向后
兼容性,则删除 requestedExecutionLevel 节点。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 此应用程序设计使用的所有 Windows 版本的列表。Windows 将会自动选择最兼容的环境。-->
<!-- 如果应用程序设计使用 Windows 7,请取消注释以下 supportedOS 节点-->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
</application>
</compatibility>
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!-- <dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>-->
</asmv1:assembly>
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Some files were not shown because too many files have changed in this diff Show More