From 0242b65e68962adc8fec21eb6600c79cbbe38a33 Mon Sep 17 00:00:00 2001 From: "zhengxuan.zhang" Date: Sun, 8 Oct 2023 16:03:08 +0800 Subject: [PATCH] =?UTF-8?q?UI=E8=AE=BE=E8=AE=A1=EF=BC=8C=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E5=8C=85=E6=8B=AChexcal=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E3=80=81=E8=BF=90=E5=8A=A8=E5=B9=B3=E5=8F=B0=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E3=80=81=E8=BD=A8=E8=BF=B9=E7=82=B9=E7=BB=98=E5=9B=BE=EF=BC=8C?= =?UTF-8?q?=E5=92=8C=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HexcalMC/Base/BaseFunction.cs | 6 +- HexcalMC/HexcalMC.csproj | 18 + HexcalMC/MainFrom.Designer.cs | 812 ++++++++++++++++++++-------- HexcalMC/MainFrom.cs | 212 +++++++- HexcalMC/MainFrom.resx | 306 +++++++++++ HexcalMC/Motion/Motion.Designer.cs | 4 +- HexcalMC/Motion/Motion.cs | 2 +- HexcalMC/Motion/Motion.resx | 12 +- HexcalMC/Properties/AssemblyInfo.cs | 8 +- HexcalMC/Properties/licenses.licx | 7 +- 10 files changed, 1134 insertions(+), 253 deletions(-) diff --git a/HexcalMC/Base/BaseFunction.cs b/HexcalMC/Base/BaseFunction.cs index 17af288..3677fac 100644 --- a/HexcalMC/Base/BaseFunction.cs +++ b/HexcalMC/Base/BaseFunction.cs @@ -226,7 +226,7 @@ namespace HexcalMC.Base /// 容器 /// 控件名字 /// 控件 - public static object GetControlInstance(object obj, string strControlName, Form mainForm) + public static object GetControlInstance(object obj, string strControlName, System.Windows.Forms.Form mainForm) { IEnumerator Controls = null; //所有控件 Control c = null; //当前控件 @@ -374,7 +374,7 @@ namespace HexcalMC.Base { if (Strstyle == '\0') Strstyle = '*'; - Form InputForm = new Form(); + System.Windows.Forms.Form InputForm = new System.Windows.Forms.Form(); InputForm.MinimizeBox = false; InputForm.MaximizeBox = false; InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; @@ -446,7 +446,7 @@ namespace HexcalMC.Base public static int MessageBox(string strError, string Caption, string btnName1 = "YES", string btnName2 = "NO", string btnName3 = "Cancel", int iColor = 0) { - Form ErrorForm = new Form(); + System.Windows.Forms.Form ErrorForm = new System.Windows.Forms.Form(); ErrorForm.MinimizeBox = false; ErrorForm.MaximizeBox = false; ErrorForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; diff --git a/HexcalMC/HexcalMC.csproj b/HexcalMC/HexcalMC.csproj index 881d56e..88f5c3a 100644 --- a/HexcalMC/HexcalMC.csproj +++ b/HexcalMC/HexcalMC.csproj @@ -98,6 +98,18 @@ + + UserControl + + + Lamp.cs + + + Form + + + AboutBox.cs + Form @@ -113,6 +125,12 @@ + + Lamp.cs + + + AboutBox.cs + MainFrom.cs diff --git a/HexcalMC/MainFrom.Designer.cs b/HexcalMC/MainFrom.Designer.cs index e95be3c..5bb7203 100644 --- a/HexcalMC/MainFrom.Designer.cs +++ b/HexcalMC/MainFrom.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrom)); this.radLabelElement2 = new Telerik.WinControls.UI.RadLabelElement(); this.radTextBoxElement2 = new Telerik.WinControls.UI.RadTextBoxElement(); @@ -39,18 +40,19 @@ this.radRibbonBarGroup4 = new Telerik.WinControls.UI.RadRibbonBarGroup(); this.radRibbonBarButtonGroup4 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup(); this.radLabelElement5 = new Telerik.WinControls.UI.RadLabelElement(); - this.radTextBoxElement8 = new Telerik.WinControls.UI.RadTextBoxElement(); + this.rtb_xPos = new Telerik.WinControls.UI.RadTextBoxElement(); this.radRibbonBarButtonGroup5 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup(); this.radLabelElement6 = new Telerik.WinControls.UI.RadLabelElement(); - this.radTextBoxElement9 = new Telerik.WinControls.UI.RadTextBoxElement(); + this.rtb_yPos = new Telerik.WinControls.UI.RadTextBoxElement(); this.radRibbonBarButtonGroup6 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup(); this.radLabelElement7 = new Telerik.WinControls.UI.RadLabelElement(); - this.radTextBoxElement10 = new Telerik.WinControls.UI.RadTextBoxElement(); + this.rtb_zPos = new Telerik.WinControls.UI.RadTextBoxElement(); this.ribbonTab2 = new Telerik.WinControls.UI.RibbonTab(); this.radRibbonBarGroup2 = new Telerik.WinControls.UI.RadRibbonBarGroup(); - this.radButtonElement2 = new Telerik.WinControls.UI.RadButtonElement(); + this.rtb_about = new Telerik.WinControls.UI.RadButtonElement(); this.radButtonElement3 = new Telerik.WinControls.UI.RadButtonElement(); this.radRibbonBar1 = new Telerik.WinControls.UI.RadRibbonBar(); + this.radRibbonBarBackstageView1 = new Telerik.WinControls.UI.RadRibbonBarBackstageView(); this.radMenuItem2 = new Telerik.WinControls.UI.RadMenuItem(); this.radMenuButtonItem3 = new Telerik.WinControls.UI.RadMenuButtonItem(); this.radMenuButtonItem4 = new Telerik.WinControls.UI.RadMenuButtonItem(); @@ -70,33 +72,45 @@ this.radButtonElement7 = new Telerik.WinControls.UI.RadButtonElement(); this.radTextBoxElement5 = new Telerik.WinControls.UI.RadTextBoxElement(); this.radStatusStrip1 = new Telerik.WinControls.UI.RadStatusStrip(); + this.rle_timer = new Telerik.WinControls.UI.RadLabelElement(); this.radMenuButtonItem1 = new Telerik.WinControls.UI.RadMenuButtonItem(); this.radMenuItem1 = new Telerik.WinControls.UI.RadMenuItem(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.groupBox4 = new System.Windows.Forms.GroupBox(); - this.formsPlot1 = new ScottPlot.FormsPlot(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.txtPort = new System.Windows.Forms.TextBox(); - this.txtIP = new System.Windows.Forms.TextBox(); - this.btn_ACSStop = new System.Windows.Forms.Button(); - this.btn_ACSStart = new System.Windows.Forms.Button(); - this.label2 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.lamp_hexcal = new HexcalMC.Lamp(); this.textBox2 = new System.Windows.Forms.TextBox(); this.textBox3 = new System.Windows.Forms.TextBox(); this.btn_HexcalStop = new System.Windows.Forms.Button(); this.btn_HexcalStart = new System.Windows.Forms.Button(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); - this.groupBox3 = new System.Windows.Forms.GroupBox(); - this.textBox_Msg = new System.Windows.Forms.TextBox(); this.groupBox5 = new System.Windows.Forms.GroupBox(); - this.btnDisable = new System.Windows.Forms.Button(); - this.btnEnable = new System.Windows.Forms.Button(); - this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.grpSafety = new System.Windows.Forms.GroupBox(); + this.lblEMG = new System.Windows.Forms.Label(); + this.lblRL3 = new System.Windows.Forms.Label(); + this.lblLL3 = new System.Windows.Forms.Label(); + this.lblRL2 = new System.Windows.Forms.Label(); + this.lblLL2 = new System.Windows.Forms.Label(); + this.lblRL1 = new System.Windows.Forms.Label(); + this.lblRL4 = new System.Windows.Forms.Label(); + this.lblLL1 = new System.Windows.Forms.Label(); + this.lblLL4 = new System.Windows.Forms.Label(); + this.lblRL0 = new System.Windows.Forms.Label(); + this.lblLL0 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); this.grpMst = new System.Windows.Forms.GroupBox(); + this.cboAxisNo = new System.Windows.Forms.ComboBox(); this.label16 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); this.lblEnable = new System.Windows.Forms.Label(); @@ -104,21 +118,39 @@ this.lblAcc = new System.Windows.Forms.Label(); this.lblMoving = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); - this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.btnEnable = new System.Windows.Forms.Button(); + this.btnDisable = new System.Windows.Forms.Button(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.lamp_acs = new HexcalMC.Lamp(); + this.txtPort = new System.Windows.Forms.TextBox(); + this.txtIP = new System.Windows.Forms.TextBox(); + this.btn_ACSStop = new System.Windows.Forms.Button(); + this.btn_ACSStart = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.formsPlot1 = new ScottPlot.FormsPlot(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.textBox_Msg = new System.Windows.Forms.TextBox(); + this.tmrMonitor = new System.Windows.Forms.Timer(this.components); + this.timer_RefreshUI = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.groupBox4.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.groupBox3.SuspendLayout(); - this.groupBox5.SuspendLayout(); - this.groupBox6.SuspendLayout(); - this.grpMst.SuspendLayout(); this.groupBox7.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.grpSafety.SuspendLayout(); + this.grpMst.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); this.SuspendLayout(); // @@ -214,7 +246,7 @@ // this.radRibbonBarButtonGroup4.Items.AddRange(new Telerik.WinControls.RadItem[] { this.radLabelElement5, - this.radTextBoxElement8}); + this.rtb_xPos}); this.radRibbonBarButtonGroup4.Name = "radRibbonBarButtonGroup4"; // // radLabelElement5 @@ -224,19 +256,19 @@ this.radLabelElement5.Text = "X"; this.radLabelElement5.TextWrap = true; // - // radTextBoxElement8 + // rtb_xPos // - this.radTextBoxElement8.MinSize = new System.Drawing.Size(80, 0); - this.radTextBoxElement8.Name = "radTextBoxElement8"; - this.radTextBoxElement8.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); - this.radTextBoxElement8.Text = "45.230"; - this.radTextBoxElement8.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; + this.rtb_xPos.MinSize = new System.Drawing.Size(80, 0); + this.rtb_xPos.Name = "rtb_xPos"; + this.rtb_xPos.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); + this.rtb_xPos.Text = "45.230"; + this.rtb_xPos.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; // // radRibbonBarButtonGroup5 // this.radRibbonBarButtonGroup5.Items.AddRange(new Telerik.WinControls.RadItem[] { this.radLabelElement6, - this.radTextBoxElement9}); + this.rtb_yPos}); this.radRibbonBarButtonGroup5.Name = "radRibbonBarButtonGroup5"; // // radLabelElement6 @@ -246,19 +278,19 @@ this.radLabelElement6.Text = "Y"; this.radLabelElement6.TextWrap = true; // - // radTextBoxElement9 + // rtb_yPos // - this.radTextBoxElement9.MinSize = new System.Drawing.Size(80, 0); - this.radTextBoxElement9.Name = "radTextBoxElement9"; - this.radTextBoxElement9.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); - this.radTextBoxElement9.Text = "60.000"; - this.radTextBoxElement9.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; + this.rtb_yPos.MinSize = new System.Drawing.Size(80, 0); + this.rtb_yPos.Name = "rtb_yPos"; + this.rtb_yPos.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); + this.rtb_yPos.Text = "60.000"; + this.rtb_yPos.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; // // radRibbonBarButtonGroup6 // this.radRibbonBarButtonGroup6.Items.AddRange(new Telerik.WinControls.RadItem[] { this.radLabelElement7, - this.radTextBoxElement10}); + this.rtb_zPos}); this.radRibbonBarButtonGroup6.Name = "radRibbonBarButtonGroup6"; // // radLabelElement7 @@ -268,13 +300,13 @@ this.radLabelElement7.Text = "Z"; this.radLabelElement7.TextWrap = true; // - // radTextBoxElement10 + // rtb_zPos // - this.radTextBoxElement10.MinSize = new System.Drawing.Size(80, 0); - this.radTextBoxElement10.Name = "radTextBoxElement10"; - this.radTextBoxElement10.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); - this.radTextBoxElement10.Text = "-50.000"; - this.radTextBoxElement10.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; + this.rtb_zPos.MinSize = new System.Drawing.Size(80, 0); + this.rtb_zPos.Name = "rtb_zPos"; + this.rtb_zPos.Padding = new System.Windows.Forms.Padding(0, 2, 0, 1); + this.rtb_zPos.Text = "-50.000"; + this.rtb_zPos.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; // // ribbonTab2 // @@ -294,7 +326,7 @@ this.radRibbonBarGroup2.AutoSize = false; this.radRibbonBarGroup2.Bounds = new System.Drawing.Rectangle(0, 0, 80, 100); this.radRibbonBarGroup2.Items.AddRange(new Telerik.WinControls.RadItem[] { - this.radButtonElement2, + this.rtb_about, this.radButtonElement3}); this.radRibbonBarGroup2.Margin = new System.Windows.Forms.Padding(0); this.radRibbonBarGroup2.MaxSize = new System.Drawing.Size(0, 0); @@ -303,15 +335,16 @@ this.radRibbonBarGroup2.Text = "帮助"; this.radRibbonBarGroup2.UseCompatibleTextRendering = false; // - // radButtonElement2 + // rtb_about // - this.radButtonElement2.Image = global::HexcalMC.Properties.Resources.about; - this.radButtonElement2.Name = "radButtonElement2"; - this.radButtonElement2.Text = "关于"; - this.radButtonElement2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; - this.radButtonElement2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.radButtonElement2.TextOrientation = System.Windows.Forms.Orientation.Horizontal; - this.radButtonElement2.UseCompatibleTextRendering = false; + this.rtb_about.Image = global::HexcalMC.Properties.Resources.about; + this.rtb_about.Name = "rtb_about"; + this.rtb_about.Text = "关于"; + this.rtb_about.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; + this.rtb_about.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.rtb_about.TextOrientation = System.Windows.Forms.Orientation.Horizontal; + this.rtb_about.UseCompatibleTextRendering = false; + this.rtb_about.Click += new System.EventHandler(this.rtb_about_Click); // // radButtonElement3 // @@ -323,6 +356,7 @@ // // radRibbonBar1 // + this.radRibbonBar1.BackstageControl = this.radRibbonBarBackstageView1; this.radRibbonBar1.CommandTabs.AddRange(new Telerik.WinControls.RadItem[] { this.ribbonTab1, this.ribbonTab2}); @@ -342,12 +376,24 @@ // // this.radRibbonBar1.RootElement.AutoSizeMode = Telerik.WinControls.RadAutoSizeMode.WrapAroundChildren; - this.radRibbonBar1.Size = new System.Drawing.Size(1016, 176); + this.radRibbonBar1.ShowExpandButton = false; + this.radRibbonBar1.Size = new System.Drawing.Size(1192, 176); + this.radRibbonBar1.StartButtonImage = global::HexcalMC.Properties.Resources.Hexagon; this.radRibbonBar1.StartMenuItems.AddRange(new Telerik.WinControls.RadItem[] { this.radMenuItem2}); this.radRibbonBar1.TabIndex = 0; this.radRibbonBar1.Text = "直线电机平台运动补偿软件"; // + // radRibbonBarBackstageView1 + // + this.radRibbonBarBackstageView1.EnableKeyMap = true; + this.radRibbonBarBackstageView1.Location = new System.Drawing.Point(0, 58); + this.radRibbonBarBackstageView1.Name = "radRibbonBarBackstageView1"; + this.radRibbonBarBackstageView1.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.radRibbonBarBackstageView1.SelectedItem = null; + this.radRibbonBarBackstageView1.Size = new System.Drawing.Size(1192, 837); + this.radRibbonBarBackstageView1.TabIndex = 3; + // // radMenuItem2 // this.radMenuItem2.Items.AddRange(new Telerik.WinControls.RadItem[] { @@ -506,11 +552,20 @@ // // radStatusStrip1 // - this.radStatusStrip1.Location = new System.Drawing.Point(0, 737); + this.radStatusStrip1.Items.AddRange(new Telerik.WinControls.RadItem[] { + this.rle_timer}); + this.radStatusStrip1.Location = new System.Drawing.Point(0, 869); this.radStatusStrip1.Name = "radStatusStrip1"; - this.radStatusStrip1.Size = new System.Drawing.Size(1016, 26); + this.radStatusStrip1.Size = new System.Drawing.Size(1192, 26); this.radStatusStrip1.TabIndex = 1; // + // rle_timer + // + this.rle_timer.Name = "rle_timer"; + this.radStatusStrip1.SetSpring(this.rle_timer, false); + this.rle_timer.Text = "2023-10-08 16:01:23"; + this.rle_timer.TextWrap = true; + // // radMenuButtonItem1 // this.radMenuButtonItem1.Name = "radMenuButtonItem1"; @@ -542,98 +597,23 @@ // this.splitContainer1.Panel2.BackColor = System.Drawing.SystemColors.Control; this.splitContainer1.Panel2.Controls.Add(this.groupBox3); - this.splitContainer1.Size = new System.Drawing.Size(1016, 561); - this.splitContainer1.SplitterDistance = 746; + this.splitContainer1.Size = new System.Drawing.Size(1192, 693); + this.splitContainer1.SplitterDistance = 760; this.splitContainer1.TabIndex = 2; // - // groupBox4 + // groupBox7 // - this.groupBox4.Controls.Add(this.formsPlot1); - this.groupBox4.Location = new System.Drawing.Point(13, 296); - this.groupBox4.Name = "groupBox4"; - this.groupBox4.Size = new System.Drawing.Size(730, 259); - this.groupBox4.TabIndex = 2; - this.groupBox4.TabStop = false; - this.groupBox4.Text = "轨迹点"; - // - // formsPlot1 - // - this.formsPlot1.Dock = System.Windows.Forms.DockStyle.Fill; - this.formsPlot1.Location = new System.Drawing.Point(3, 18); - this.formsPlot1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.formsPlot1.Name = "formsPlot1"; - this.formsPlot1.Size = new System.Drawing.Size(724, 238); - this.formsPlot1.TabIndex = 0; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.txtPort); - this.groupBox2.Controls.Add(this.txtIP); - this.groupBox2.Controls.Add(this.btn_ACSStop); - this.groupBox2.Controls.Add(this.btn_ACSStart); - this.groupBox2.Controls.Add(this.label2); - this.groupBox2.Controls.Add(this.label1); - this.groupBox2.Location = new System.Drawing.Point(17, 21); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(209, 114); - this.groupBox2.TabIndex = 1; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "ACS通讯设置"; - // - // txtPort - // - this.txtPort.Location = new System.Drawing.Point(88, 52); - this.txtPort.Name = "txtPort"; - this.txtPort.Size = new System.Drawing.Size(91, 21); - this.txtPort.TabIndex = 21; - this.txtPort.Text = "701"; - // - // txtIP - // - this.txtIP.Location = new System.Drawing.Point(88, 29); - this.txtIP.Name = "txtIP"; - this.txtIP.Size = new System.Drawing.Size(91, 21); - this.txtIP.TabIndex = 22; - this.txtIP.Text = "10.0.0.100"; - // - // btn_ACSStop - // - this.btn_ACSStop.Location = new System.Drawing.Point(98, 77); - this.btn_ACSStop.Name = "btn_ACSStop"; - this.btn_ACSStop.Size = new System.Drawing.Size(81, 23); - this.btn_ACSStop.TabIndex = 20; - this.btn_ACSStop.Text = "断开"; - this.btn_ACSStop.UseVisualStyleBackColor = true; - // - // btn_ACSStart - // - this.btn_ACSStart.Location = new System.Drawing.Point(6, 77); - this.btn_ACSStart.Name = "btn_ACSStart"; - this.btn_ACSStart.Size = new System.Drawing.Size(81, 23); - this.btn_ACSStart.TabIndex = 19; - this.btn_ACSStart.Text = "连接"; - this.btn_ACSStart.UseVisualStyleBackColor = true; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(6, 56); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(33, 13); - this.label2.TabIndex = 17; - this.label2.Text = "端口"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 33); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(71, 13); - this.label1.TabIndex = 18; - this.label1.Text = "目标设备 IP"; + this.groupBox7.Controls.Add(this.groupBox1); + this.groupBox7.Location = new System.Drawing.Point(9, 7); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.Size = new System.Drawing.Size(731, 154); + this.groupBox7.TabIndex = 4; + this.groupBox7.TabStop = false; + this.groupBox7.Text = "Hexcal接口"; // // groupBox1 // + this.groupBox1.Controls.Add(this.lamp_hexcal); this.groupBox1.Controls.Add(this.textBox2); this.groupBox1.Controls.Add(this.textBox3); this.groupBox1.Controls.Add(this.btn_HexcalStop); @@ -647,9 +627,21 @@ this.groupBox1.TabStop = false; this.groupBox1.Text = "Hexcal通讯设置"; // + // lamp_hexcal + // + this.lamp_hexcal.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + this.lamp_hexcal.Location = new System.Drawing.Point(57, 49); + this.lamp_hexcal.LText = ""; + this.lamp_hexcal.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lamp_hexcal.Name = "lamp_hexcal"; + this.lamp_hexcal.Shadow = false; + this.lamp_hexcal.Size = new System.Drawing.Size(24, 24); + this.lamp_hexcal.State = -1; + this.lamp_hexcal.TabIndex = 29; + // // textBox2 // - this.textBox2.Location = new System.Drawing.Point(100, 52); + this.textBox2.Location = new System.Drawing.Point(103, 52); this.textBox2.Name = "textBox2"; this.textBox2.Size = new System.Drawing.Size(91, 21); this.textBox2.TabIndex = 27; @@ -657,7 +649,7 @@ // // textBox3 // - this.textBox3.Location = new System.Drawing.Point(100, 29); + this.textBox3.Location = new System.Drawing.Point(103, 29); this.textBox3.Name = "textBox3"; this.textBox3.Size = new System.Drawing.Size(91, 21); this.textBox3.TabIndex = 28; @@ -665,7 +657,7 @@ // // btn_HexcalStop // - this.btn_HexcalStop.Location = new System.Drawing.Point(110, 77); + this.btn_HexcalStop.Location = new System.Drawing.Point(113, 79); this.btn_HexcalStop.Name = "btn_HexcalStop"; this.btn_HexcalStop.Size = new System.Drawing.Size(81, 23); this.btn_HexcalStop.TabIndex = 26; @@ -674,7 +666,7 @@ // // btn_HexcalStart // - this.btn_HexcalStart.Location = new System.Drawing.Point(18, 77); + this.btn_HexcalStart.Location = new System.Drawing.Point(18, 79); this.btn_HexcalStart.Name = "btn_HexcalStart"; this.btn_HexcalStart.Size = new System.Drawing.Size(81, 23); this.btn_HexcalStart.TabIndex = 25; @@ -699,71 +691,232 @@ this.label4.TabIndex = 24; this.label4.Text = "目标设备 IP"; // - // groupBox3 - // - this.groupBox3.AutoSize = true; - this.groupBox3.Controls.Add(this.textBox_Msg); - this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox3.Location = new System.Drawing.Point(0, 0); - this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(266, 561); - this.groupBox3.TabIndex = 0; - this.groupBox3.TabStop = false; - this.groupBox3.Text = "交互信息"; - // - // textBox_Msg - // - this.textBox_Msg.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox_Msg.Location = new System.Drawing.Point(3, 18); - this.textBox_Msg.Multiline = true; - this.textBox_Msg.Name = "textBox_Msg"; - this.textBox_Msg.Size = new System.Drawing.Size(260, 540); - this.textBox_Msg.TabIndex = 0; - // // groupBox5 // + this.groupBox5.Controls.Add(this.grpSafety); this.groupBox5.Controls.Add(this.grpMst); this.groupBox5.Controls.Add(this.groupBox6); this.groupBox5.Controls.Add(this.groupBox2); - this.groupBox5.Location = new System.Drawing.Point(13, 136); + this.groupBox5.Location = new System.Drawing.Point(9, 170); this.groupBox5.Name = "groupBox5"; this.groupBox5.Size = new System.Drawing.Size(731, 154); this.groupBox5.TabIndex = 3; this.groupBox5.TabStop = false; this.groupBox5.Text = "运动平台"; // - // btnDisable + // grpSafety // - this.btnDisable.Location = new System.Drawing.Point(6, 52); - this.btnDisable.Name = "btnDisable"; - this.btnDisable.Size = new System.Drawing.Size(75, 23); - this.btnDisable.TabIndex = 8; - this.btnDisable.Text = "单轴取消"; - this.btnDisable.UseVisualStyleBackColor = true; + this.grpSafety.Controls.Add(this.lblEMG); + this.grpSafety.Controls.Add(this.lblRL3); + this.grpSafety.Controls.Add(this.lblLL3); + this.grpSafety.Controls.Add(this.lblRL2); + this.grpSafety.Controls.Add(this.lblLL2); + this.grpSafety.Controls.Add(this.lblRL1); + this.grpSafety.Controls.Add(this.lblRL4); + this.grpSafety.Controls.Add(this.lblLL1); + this.grpSafety.Controls.Add(this.lblLL4); + this.grpSafety.Controls.Add(this.lblRL0); + this.grpSafety.Controls.Add(this.lblLL0); + this.grpSafety.Controls.Add(this.label18); + this.grpSafety.Controls.Add(this.label27); + this.grpSafety.Controls.Add(this.label26); + this.grpSafety.Controls.Add(this.label25); + this.grpSafety.Controls.Add(this.label33); + this.grpSafety.Controls.Add(this.label24); + this.grpSafety.Controls.Add(this.label20); + this.grpSafety.Controls.Add(this.label19); + this.grpSafety.Controls.Add(this.label17); + this.grpSafety.Location = new System.Drawing.Point(492, 15); + this.grpSafety.Name = "grpSafety"; + this.grpSafety.Size = new System.Drawing.Size(191, 133); + this.grpSafety.TabIndex = 12; + this.grpSafety.TabStop = false; + this.grpSafety.Text = "安全限位"; // - // btnEnable + // lblEMG // - this.btnEnable.Location = new System.Drawing.Point(6, 23); - this.btnEnable.Name = "btnEnable"; - this.btnEnable.Size = new System.Drawing.Size(75, 23); - this.btnEnable.TabIndex = 9; - this.btnEnable.Text = "单轴使能"; - this.btnEnable.UseVisualStyleBackColor = true; + this.lblEMG.Image = ((System.Drawing.Image)(resources.GetObject("lblEMG.Image"))); + this.lblEMG.Location = new System.Drawing.Point(76, 88); + this.lblEMG.Name = "lblEMG"; + this.lblEMG.Size = new System.Drawing.Size(19, 17); + this.lblEMG.TabIndex = 5; // - // groupBox6 + // lblRL3 // - this.groupBox6.Controls.Add(this.btnEnable); - this.groupBox6.Controls.Add(this.btnDisable); - this.groupBox6.Location = new System.Drawing.Point(233, 31); - this.groupBox6.Name = "groupBox6"; - this.groupBox6.Size = new System.Drawing.Size(93, 104); - this.groupBox6.TabIndex = 10; - this.groupBox6.TabStop = false; - this.groupBox6.Text = "轴使能"; + this.lblRL3.Image = ((System.Drawing.Image)(resources.GetObject("lblRL3.Image"))); + this.lblRL3.Location = new System.Drawing.Point(142, 67); + this.lblRL3.Name = "lblRL3"; + this.lblRL3.Size = new System.Drawing.Size(19, 17); + this.lblRL3.TabIndex = 5; + this.lblRL3.Tag = "13"; + // + // lblLL3 + // + this.lblLL3.Image = ((System.Drawing.Image)(resources.GetObject("lblLL3.Image"))); + this.lblLL3.Location = new System.Drawing.Point(142, 45); + this.lblLL3.Name = "lblLL3"; + this.lblLL3.Size = new System.Drawing.Size(19, 17); + this.lblLL3.TabIndex = 5; + this.lblLL3.Tag = "3"; + // + // lblRL2 + // + this.lblRL2.Image = ((System.Drawing.Image)(resources.GetObject("lblRL2.Image"))); + this.lblRL2.Location = new System.Drawing.Point(120, 67); + this.lblRL2.Name = "lblRL2"; + this.lblRL2.Size = new System.Drawing.Size(19, 17); + this.lblRL2.TabIndex = 5; + this.lblRL2.Tag = "12"; + // + // lblLL2 + // + this.lblLL2.Image = ((System.Drawing.Image)(resources.GetObject("lblLL2.Image"))); + this.lblLL2.Location = new System.Drawing.Point(120, 45); + this.lblLL2.Name = "lblLL2"; + this.lblLL2.Size = new System.Drawing.Size(19, 17); + this.lblLL2.TabIndex = 5; + this.lblLL2.Tag = "2"; + // + // lblRL1 + // + this.lblRL1.Image = ((System.Drawing.Image)(resources.GetObject("lblRL1.Image"))); + this.lblRL1.Location = new System.Drawing.Point(98, 67); + this.lblRL1.Name = "lblRL1"; + this.lblRL1.Size = new System.Drawing.Size(19, 17); + this.lblRL1.TabIndex = 5; + this.lblRL1.Tag = "11"; + // + // lblRL4 + // + this.lblRL4.Image = ((System.Drawing.Image)(resources.GetObject("lblRL4.Image"))); + this.lblRL4.Location = new System.Drawing.Point(164, 67); + this.lblRL4.Name = "lblRL4"; + this.lblRL4.Size = new System.Drawing.Size(19, 17); + this.lblRL4.TabIndex = 5; + this.lblRL4.Tag = "14"; + // + // lblLL1 + // + this.lblLL1.Image = ((System.Drawing.Image)(resources.GetObject("lblLL1.Image"))); + this.lblLL1.Location = new System.Drawing.Point(98, 45); + this.lblLL1.Name = "lblLL1"; + this.lblLL1.Size = new System.Drawing.Size(19, 17); + this.lblLL1.TabIndex = 5; + this.lblLL1.Tag = "1"; + // + // lblLL4 + // + this.lblLL4.Image = ((System.Drawing.Image)(resources.GetObject("lblLL4.Image"))); + this.lblLL4.Location = new System.Drawing.Point(164, 45); + this.lblLL4.Name = "lblLL4"; + this.lblLL4.Size = new System.Drawing.Size(19, 17); + this.lblLL4.TabIndex = 5; + this.lblLL4.Tag = "4"; + // + // lblRL0 + // + this.lblRL0.Image = ((System.Drawing.Image)(resources.GetObject("lblRL0.Image"))); + this.lblRL0.Location = new System.Drawing.Point(76, 67); + this.lblRL0.Name = "lblRL0"; + this.lblRL0.Size = new System.Drawing.Size(19, 17); + this.lblRL0.TabIndex = 5; + this.lblRL0.Tag = "10"; + // + // lblLL0 + // + this.lblLL0.Image = ((System.Drawing.Image)(resources.GetObject("lblLL0.Image"))); + this.lblLL0.Location = new System.Drawing.Point(76, 45); + this.lblLL0.Name = "lblLL0"; + this.lblLL0.Size = new System.Drawing.Size(19, 17); + this.lblLL0.TabIndex = 5; + this.lblLL0.Tag = "0"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(7, 72); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(46, 13); + this.label18.TabIndex = 5; + this.label18.Text = "右限位"; + // + // label27 + // + this.label27.Location = new System.Drawing.Point(6, 88); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(43, 26); + this.label27.TabIndex = 5; + this.label27.Text = "急停"; + this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(146, 21); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(13, 13); + this.label26.TabIndex = 5; + this.label26.Text = "3"; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(124, 21); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(13, 13); + this.label25.TabIndex = 5; + this.label25.Text = "2"; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(168, 21); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(13, 13); + this.label33.TabIndex = 5; + this.label33.Text = "4"; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(102, 21); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(13, 13); + this.label24.TabIndex = 5; + this.label24.Text = "1"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(80, 21); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(13, 13); + this.label20.TabIndex = 5; + this.label20.Text = "0"; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(6, 21); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(33, 13); + this.label19.TabIndex = 5; + this.label19.Text = "轴号"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(7, 47); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(46, 13); + this.label17.TabIndex = 5; + this.label17.Text = "左限位"; // // grpMst // + this.grpMst.Controls.Add(this.cboAxisNo); this.grpMst.Controls.Add(this.label16); + this.grpMst.Controls.Add(this.label9); this.grpMst.Controls.Add(this.label15); this.grpMst.Controls.Add(this.label14); this.grpMst.Controls.Add(this.lblEnable); @@ -771,26 +924,48 @@ this.grpMst.Controls.Add(this.lblAcc); this.grpMst.Controls.Add(this.lblMoving); this.grpMst.Controls.Add(this.label13); - this.grpMst.Location = new System.Drawing.Point(332, 28); + this.grpMst.Location = new System.Drawing.Point(332, 15); this.grpMst.Name = "grpMst"; - this.grpMst.Size = new System.Drawing.Size(154, 107); + this.grpMst.Size = new System.Drawing.Size(154, 133); this.grpMst.TabIndex = 11; this.grpMst.TabStop = false; this.grpMst.Text = "电机状态 (MST)"; // + // cboAxisNo + // + this.cboAxisNo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboAxisNo.FormattingEnabled = true; + this.cboAxisNo.Items.AddRange(new object[] { + "1", + "2", + "4"}); + this.cboAxisNo.Location = new System.Drawing.Point(88, 17); + this.cboAxisNo.Name = "cboAxisNo"; + this.cboAxisNo.Size = new System.Drawing.Size(60, 20); + this.cboAxisNo.TabIndex = 6; + // // label16 // this.label16.AutoSize = true; - this.label16.Location = new System.Drawing.Point(9, 82); + this.label16.Location = new System.Drawing.Point(9, 109); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(33, 13); this.label16.TabIndex = 5; this.label16.Text = "使能"; // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(9, 24); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(33, 13); + this.label9.TabIndex = 7; + this.label9.Text = "轴号"; + // // label15 // this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(9, 61); + this.label15.Location = new System.Drawing.Point(9, 88); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(33, 13); this.label15.TabIndex = 5; @@ -799,7 +974,7 @@ // label14 // this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(9, 40); + this.label14.Location = new System.Drawing.Point(9, 67); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(46, 13); this.label14.TabIndex = 5; @@ -808,7 +983,7 @@ // lblEnable // this.lblEnable.Image = ((System.Drawing.Image)(resources.GetObject("lblEnable.Image"))); - this.lblEnable.Location = new System.Drawing.Point(120, 80); + this.lblEnable.Location = new System.Drawing.Point(120, 107); this.lblEnable.Name = "lblEnable"; this.lblEnable.Size = new System.Drawing.Size(19, 17); this.lblEnable.TabIndex = 5; @@ -816,7 +991,7 @@ // lblInPos // this.lblInPos.Image = ((System.Drawing.Image)(resources.GetObject("lblInPos.Image"))); - this.lblInPos.Location = new System.Drawing.Point(120, 59); + this.lblInPos.Location = new System.Drawing.Point(120, 86); this.lblInPos.Name = "lblInPos"; this.lblInPos.Size = new System.Drawing.Size(19, 17); this.lblInPos.TabIndex = 5; @@ -824,7 +999,7 @@ // lblAcc // this.lblAcc.Image = ((System.Drawing.Image)(resources.GetObject("lblAcc.Image"))); - this.lblAcc.Location = new System.Drawing.Point(120, 38); + this.lblAcc.Location = new System.Drawing.Point(120, 65); this.lblAcc.Name = "lblAcc"; this.lblAcc.Size = new System.Drawing.Size(19, 17); this.lblAcc.TabIndex = 5; @@ -832,7 +1007,7 @@ // lblMoving // this.lblMoving.Image = ((System.Drawing.Image)(resources.GetObject("lblMoving.Image"))); - this.lblMoving.Location = new System.Drawing.Point(120, 17); + this.lblMoving.Location = new System.Drawing.Point(120, 44); this.lblMoving.Name = "lblMoving"; this.lblMoving.Size = new System.Drawing.Size(19, 17); this.lblMoving.TabIndex = 5; @@ -840,30 +1015,184 @@ // label13 // this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(9, 19); + this.label13.Location = new System.Drawing.Point(9, 46); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(46, 13); this.label13.TabIndex = 5; this.label13.Text = "运动中"; // - // groupBox7 + // groupBox6 // - this.groupBox7.Controls.Add(this.groupBox1); - this.groupBox7.Location = new System.Drawing.Point(16, 18); - this.groupBox7.Name = "groupBox7"; - this.groupBox7.Size = new System.Drawing.Size(702, 100); - this.groupBox7.TabIndex = 4; - this.groupBox7.TabStop = false; - this.groupBox7.Text = "Hexcal接口"; + this.groupBox6.Controls.Add(this.btnEnable); + this.groupBox6.Controls.Add(this.btnDisable); + this.groupBox6.Location = new System.Drawing.Point(233, 15); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Size = new System.Drawing.Size(93, 133); + this.groupBox6.TabIndex = 10; + this.groupBox6.TabStop = false; + this.groupBox6.Text = "轴使能"; + // + // btnEnable + // + this.btnEnable.Location = new System.Drawing.Point(6, 23); + this.btnEnable.Name = "btnEnable"; + this.btnEnable.Size = new System.Drawing.Size(75, 23); + this.btnEnable.TabIndex = 9; + this.btnEnable.Text = "3轴使能"; + this.btnEnable.UseVisualStyleBackColor = true; + this.btnEnable.Click += new System.EventHandler(this.btnEnable_Click); + // + // btnDisable + // + this.btnDisable.Location = new System.Drawing.Point(6, 52); + this.btnDisable.Name = "btnDisable"; + this.btnDisable.Size = new System.Drawing.Size(75, 23); + this.btnDisable.TabIndex = 8; + this.btnDisable.Text = "3轴取消"; + this.btnDisable.UseVisualStyleBackColor = true; + this.btnDisable.Click += new System.EventHandler(this.btnDisable_Click); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.lamp_acs); + this.groupBox2.Controls.Add(this.txtPort); + this.groupBox2.Controls.Add(this.txtIP); + this.groupBox2.Controls.Add(this.btn_ACSStop); + this.groupBox2.Controls.Add(this.btn_ACSStart); + this.groupBox2.Controls.Add(this.label2); + this.groupBox2.Controls.Add(this.label1); + this.groupBox2.Location = new System.Drawing.Point(14, 15); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(209, 133); + this.groupBox2.TabIndex = 1; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "ACS通讯设置"; + // + // lamp_acs + // + this.lamp_acs.Font = new System.Drawing.Font("宋体", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); + this.lamp_acs.Location = new System.Drawing.Point(57, 50); + this.lamp_acs.LText = ""; + this.lamp_acs.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.lamp_acs.Name = "lamp_acs"; + this.lamp_acs.Shadow = false; + this.lamp_acs.Size = new System.Drawing.Size(24, 24); + this.lamp_acs.State = -1; + this.lamp_acs.TabIndex = 30; + // + // txtPort + // + this.txtPort.Location = new System.Drawing.Point(103, 52); + this.txtPort.Name = "txtPort"; + this.txtPort.Size = new System.Drawing.Size(91, 21); + this.txtPort.TabIndex = 21; + this.txtPort.Text = "701"; + // + // txtIP + // + this.txtIP.Location = new System.Drawing.Point(103, 29); + this.txtIP.Name = "txtIP"; + this.txtIP.Size = new System.Drawing.Size(91, 21); + this.txtIP.TabIndex = 22; + this.txtIP.Text = "10.0.0.100"; + // + // btn_ACSStop + // + this.btn_ACSStop.Location = new System.Drawing.Point(113, 84); + this.btn_ACSStop.Name = "btn_ACSStop"; + this.btn_ACSStop.Size = new System.Drawing.Size(81, 23); + this.btn_ACSStop.TabIndex = 20; + this.btn_ACSStop.Text = "断开"; + this.btn_ACSStop.UseVisualStyleBackColor = true; + this.btn_ACSStop.Click += new System.EventHandler(this.btn_ACSStop_Click); + // + // btn_ACSStart + // + this.btn_ACSStart.Location = new System.Drawing.Point(18, 84); + this.btn_ACSStart.Name = "btn_ACSStart"; + this.btn_ACSStart.Size = new System.Drawing.Size(81, 23); + this.btn_ACSStart.TabIndex = 19; + this.btn_ACSStart.Text = "连接"; + this.btn_ACSStart.UseVisualStyleBackColor = true; + this.btn_ACSStart.Click += new System.EventHandler(this.btn_ACSStart_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(18, 56); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(33, 13); + this.label2.TabIndex = 17; + this.label2.Text = "端口"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(18, 33); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(71, 13); + this.label1.TabIndex = 18; + this.label1.Text = "目标设备 IP"; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.formsPlot1); + this.groupBox4.Location = new System.Drawing.Point(9, 328); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(730, 359); + this.groupBox4.TabIndex = 2; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "轨迹点"; + // + // formsPlot1 + // + this.formsPlot1.Dock = System.Windows.Forms.DockStyle.Fill; + this.formsPlot1.Location = new System.Drawing.Point(3, 18); + this.formsPlot1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.formsPlot1.Name = "formsPlot1"; + this.formsPlot1.Size = new System.Drawing.Size(724, 338); + this.formsPlot1.TabIndex = 0; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.textBox_Msg); + this.groupBox3.Location = new System.Drawing.Point(13, 6); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Padding = new System.Windows.Forms.Padding(5); + this.groupBox3.Size = new System.Drawing.Size(405, 681); + this.groupBox3.TabIndex = 0; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "交互信息"; + // + // textBox_Msg + // + this.textBox_Msg.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox_Msg.Location = new System.Drawing.Point(5, 20); + this.textBox_Msg.Margin = new System.Windows.Forms.Padding(5); + this.textBox_Msg.Multiline = true; + this.textBox_Msg.Name = "textBox_Msg"; + this.textBox_Msg.Size = new System.Drawing.Size(395, 656); + this.textBox_Msg.TabIndex = 0; + // + // tmrMonitor + // + this.tmrMonitor.Interval = 50; + this.tmrMonitor.Tick += new System.EventHandler(this.tmrMonitor_Tick); + // + // timer_RefreshUI + // + this.timer_RefreshUI.Interval = 1000; + this.timer_RefreshUI.Tick += new System.EventHandler(this.timer_RefreshUI_Tick); // // MainFrom // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1016, 763); + this.ClientSize = new System.Drawing.Size(1192, 895); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.radStatusStrip1); this.Controls.Add(this.radRibbonBar1); + this.Controls.Add(this.radRibbonBarBackstageView1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = null; this.Name = "MainFrom"; @@ -871,27 +1200,31 @@ // // this.RootElement.ApplyShapeToControl = true; + this.ShowIcon = false; this.Text = "直线电机平台运动补偿软件"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainFrom_FormClosed); this.Load += new System.EventHandler(this.MainFrom_Load); ((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).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.groupBox4.ResumeLayout(false); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); + this.groupBox7.ResumeLayout(false); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); - this.groupBox3.ResumeLayout(false); - this.groupBox3.PerformLayout(); this.groupBox5.ResumeLayout(false); - this.groupBox6.ResumeLayout(false); + this.grpSafety.ResumeLayout(false); + this.grpSafety.PerformLayout(); this.grpMst.ResumeLayout(false); this.grpMst.PerformLayout(); - this.groupBox7.ResumeLayout(false); + this.groupBox6.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -908,7 +1241,7 @@ private Telerik.WinControls.UI.RadButtonElement rtb_motion; private Telerik.WinControls.UI.RibbonTab ribbonTab2; private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup2; - private Telerik.WinControls.UI.RadButtonElement radButtonElement2; + private Telerik.WinControls.UI.RadButtonElement rtb_about; private Telerik.WinControls.UI.RadButtonElement radButtonElement3; private Telerik.WinControls.UI.RadRibbonBar radRibbonBar1; private Telerik.WinControls.UI.RadMenuItem radMenuItem2; @@ -931,13 +1264,13 @@ private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup4; private Telerik.WinControls.UI.RadRibbonBarButtonGroup radRibbonBarButtonGroup4; private Telerik.WinControls.UI.RadLabelElement radLabelElement5; - private Telerik.WinControls.UI.RadTextBoxElement radTextBoxElement8; + private Telerik.WinControls.UI.RadTextBoxElement rtb_xPos; private Telerik.WinControls.UI.RadRibbonBarButtonGroup radRibbonBarButtonGroup5; private Telerik.WinControls.UI.RadLabelElement radLabelElement6; - private Telerik.WinControls.UI.RadTextBoxElement radTextBoxElement9; + private Telerik.WinControls.UI.RadTextBoxElement rtb_yPos; private Telerik.WinControls.UI.RadRibbonBarButtonGroup radRibbonBarButtonGroup6; private Telerik.WinControls.UI.RadLabelElement radLabelElement7; - private Telerik.WinControls.UI.RadTextBoxElement radTextBoxElement10; + private Telerik.WinControls.UI.RadTextBoxElement rtb_zPos; private Telerik.WinControls.UI.RadMenuButtonItem radMenuButtonItem1; private Telerik.WinControls.UI.RadMenuItem radMenuItem1; private Telerik.WinControls.UI.RadMenuButtonItem radMenuButtonItem3; @@ -975,5 +1308,34 @@ private System.Windows.Forms.Label lblAcc; private System.Windows.Forms.Label lblMoving; private System.Windows.Forms.Label label13; + private System.Windows.Forms.GroupBox grpSafety; + private System.Windows.Forms.Label lblEMG; + private System.Windows.Forms.Label lblRL3; + private System.Windows.Forms.Label lblLL3; + private System.Windows.Forms.Label lblRL2; + private System.Windows.Forms.Label lblLL2; + private System.Windows.Forms.Label lblRL1; + private System.Windows.Forms.Label lblRL4; + private System.Windows.Forms.Label lblLL1; + private System.Windows.Forms.Label lblLL4; + private System.Windows.Forms.Label lblRL0; + private System.Windows.Forms.Label lblLL0; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Timer tmrMonitor; + private System.Windows.Forms.ComboBox cboAxisNo; + private System.Windows.Forms.Label label9; + private Telerik.WinControls.UI.RadRibbonBarBackstageView radRibbonBarBackstageView1; + private Lamp lamp_hexcal; + private Lamp lamp_acs; + private System.Windows.Forms.Timer timer_RefreshUI; + private Telerik.WinControls.UI.RadLabelElement rle_timer; } } diff --git a/HexcalMC/MainFrom.cs b/HexcalMC/MainFrom.cs index b9ccc9b..2108938 100644 --- a/HexcalMC/MainFrom.cs +++ b/HexcalMC/MainFrom.cs @@ -8,44 +8,73 @@ using System.Drawing; using System.Text; using System.Windows.Forms; using HexcalMC.Base; +using HexcalMC.Form; namespace HexcalMC { public partial class MainFrom : Telerik.WinControls.UI.RadRibbonForm { + #region hexcal变量区 + private TcpIpServer m_tcpIpServer; //创建tcpserver,用于接收hexcal传来的指令,并解析传递平台 + private bool m_bHexcalConnected = false; + + #endregion + + #region 运动平台变量区 + private Api _ACS; + + private const int MAX_UI_LIMIT_CNT = 8; + private const int MAX_UI_IO_CNT = 8; + + private int m_nTotalAxis = 0; + private int m_nTotalBuffer = 0; + private Axis[] m_arrAxisList = null; + private bool m_bConnected = false; + // For update values + private MotorStates m_nMotorState; //运动状态 + private ProgramStates m_nProgramState; //程序状态 + private object m_objReadVar = null; + private Array m_arrReadVector = null; + private double m_lfRPos, m_lfFPos, m_lfPE, m_lfFVEL; //参考位置,反馈位置 位置误差 反馈速度 double类型 + private int m_nValues, m_nOutputState; + + + private Label[] m_lblLeftLimit; //左限位 + private Label[] m_lblRightLimit; //右限位 + + #endregion + public MainFrom() { InitializeComponent(); } - private void rtb_motion_Click(object sender, EventArgs e) - { - Motion motion = new Motion(); - motion.Show(); - } - private void MainFrom_Load(object sender, EventArgs e) { this.FormBorderStyle = FormBorderStyle.FixedSingle; // 设置窗体边框样式为固定大小 this.MaximizeBox = false; // 禁用窗体的最大化按钮 + double[] dataX = new double[] { 1, 2, 3, 4, 5 }; double[] dataY = new double[] { 1, 4, 9, 16, 25 }; formsPlot1.Plot.AddScatter(dataX, dataY); formsPlot1.Refresh(); + + //启动界面刷新 + timer_RefreshUI.Start(); } + #region hexcal软件相关 - //新建一个函数,用于启动tcpserver - private void startServer() + private void StartServer() { - //启动服务器,并获取L2数据,解析 + //启动服务器,并获取数据,解析 m_tcpIpServer = new TcpIpServer("100.0.0.1", Convert.ToString(1234)); //启动监听 if (m_tcpIpServer.StartListen()) @@ -90,11 +119,174 @@ namespace HexcalMC DebugDfn.AddLogText(iType + " : " + Msg); } - private void SendMsgToHexcal(string Msg) { //发送数据 m_tcpIpServer.SendMessageToAllClients(Msg); } + + #endregion + + #region ACS平台相关 + + private void btnEnable_Click(object sender, EventArgs e) //使能所有轴 + { + Axis[] AxisList = new Axis[] + { + Axis.ACSC_AXIS_0, Axis.ACSC_AXIS_1, Axis.ACSC_AXIS_4, Axis.ACSC_NONE + }; //!!!! Important !! Must insert '-1' at the last + _ACS.EnableM(AxisList); + } + + private void btnDisable_Click(object sender, EventArgs e) //轴取消 + { + // Disable all of axes + _ACS.DisableAll(); + } + + private void tmrMonitor_Tick(object sender, EventArgs e) //用于刷新状态 + { + int iAxisNo = cboAxisNo.SelectedIndex; + if (m_bConnected) + { + try + { + // Instruction 1. Using library functions - acsc_GetFPosition, acsc_GetRPosition, .... + // Instruction 2. Read ACS variable - Already defined almost things (FPOS, RPOS, ...) + // Motion parameters and state is array (Max length is total number of axes) + // + // * Library function can read only 1 axis information, so if you want to read several axes, you have to call the function many times. + // (This may cause communication delay.) + // Recommand (if you want to read many axes) : read/write variable using ReadVariable, ReadVariableScalar, ReadVariableVector, ReadVariableMatrix + + // + // Get Motor State + // ACSPL+ Variable : MST (integer) + m_nMotorState = _ACS.GetMotorState((Axis)iAxisNo); + + // Returned value is integer, you need to use bitmaks + if ((m_nMotorState & MotorStates.ACSC_MST_MOVE) != 0) lblMoving.Image = Properties.Resources.On; + else lblMoving.Image = Properties.Resources.Off; // 运动中 + if ((m_nMotorState & MotorStates.ACSC_MST_INPOS) != 0) lblInPos.Image = Properties.Resources.On; + else lblInPos.Image = Properties.Resources.Off; // 就位 + if ((m_nMotorState & MotorStates.ACSC_MST_ACC) != 0) lblAcc.Image = Properties.Resources.On; + else lblAcc.Image = Properties.Resources.Off; // 加速 + if ((m_nMotorState & MotorStates.ACSC_MST_ENABLE) != 0) lblEnable.Image = Properties.Resources.On; + else lblEnable.Image = Properties.Resources.Off; // 使能 + + // Reference position + // ACSPL+ Variable : RPOS (real) + m_lfRPos = _ACS.GetRPosition((Axis)iAxisNo); // 参考位置 + + // Feedback position (Encoder value) + // ACSPL+ Variable : FPO (real) + m_lfFPos = _ACS.GetFPosition((Axis)iAxisNo); //反馈位置 + + // PE (Position Error) + // There is no function in library. We need to use ReadVariable function + m_lfPE = (double)_ACS.ReadVariable("PE", ProgramBuffer.ACSC_NONE, iAxisNo, iAxisNo); //位置误差 + + // Feedback Velocity + m_lfFVEL = (double)_ACS.ReadVariable("FVEL", ProgramBuffer.ACSC_NONE, iAxisNo, iAxisNo); //实际速度 + + // txtRPOS.Text = String.Format("{0:0.0000}", m_lfRPos); //参考位置 + rtb_xPos.Text = String.Format("{0:0.0000}", m_lfFPos); //反馈位置 + // txtPE.Text = String.Format("{0:0.0000}", m_lfPE); //实际速度 + // txtFVEL.Text = String.Format("{0:0.0000}", m_lfFVEL);//位置误差 + + + // Read left/right hardware limits state + // ACSPL+ Variable : FAULT (integer) + m_objReadVar = + _ACS.ReadVariableAsVector("FAULT", ProgramBuffer.ACSC_NONE, 0, m_nTotalAxis - 1, -1, -1); + if (m_objReadVar != null) + { + m_arrReadVector = m_objReadVar as Array; + if (m_arrReadVector != null) + { + for (int i = 0; i < m_nTotalAxis; i++) + { + UpdateLimitState(i, (int)m_arrReadVector.GetValue(i)); + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + } + + + private void btn_ACSStart_Click(object sender, EventArgs e) //连接 + { + btn_ACSStart.Enabled = false; + btn_ACSStop.Enabled = true; + + + // Set updating timer + tmrMonitor.Interval = 50; + tmrMonitor.Start(); + } + + private void btn_ACSStop_Click(object sender, EventArgs e) //断开连接 + { + if (m_bConnected) _ACS.CloseComm(); + + tmrMonitor.Stop(); + + btn_ACSStart.Enabled = true; + btn_ACSStop.Enabled = false; + } + + private void MainFrom_FormClosed(object sender, FormClosedEventArgs e) + { + timer_RefreshUI.Stop(); + } + + private void UpdateLimitState(int axisNo, int fault) //刷新限位 + { + if (axisNo < MAX_UI_LIMIT_CNT) + { + if ((fault & (int)SafetyControlMasks.ACSC_SAFETY_LL) != 0) + m_lblLeftLimit[axisNo].Image = Properties.Resources.Error; + else m_lblLeftLimit[axisNo].Image = Properties.Resources.Off; + if ((fault & (int)SafetyControlMasks.ACSC_SAFETY_RL) != 0) + m_lblRightLimit[axisNo].Image = Properties.Resources.Error; + else m_lblRightLimit[axisNo].Image = Properties.Resources.Off; + } + } + + #endregion + + #region 菜单栏 + + private void rtb_motion_Click(object sender, EventArgs e) //ACS调试页面 + { + Motion motion = new Motion(); + motion.Show(); + } + + private void rtb_about_Click(object sender, EventArgs e) //关于界面 + { + AboutBox mAboutBox = new AboutBox(); + mAboutBox.Show(); + } + + private void timer_RefreshUI_Tick(object sender, EventArgs e) //UI刷新 + { + //状态灯刷新 + lamp_acs.State = m_bConnected ? LampColor.Green : LampColor.Silver; + lamp_hexcal.State = m_bHexcalConnected ? LampColor.Green : LampColor.Silver; + + //时间栏 + //获取当前时间,构造形如 精确到秒,例如 2023-10-08 16:01:23 + rle_timer.Text = "当前时间: "+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + } + + #endregion } } \ No newline at end of file diff --git a/HexcalMC/MainFrom.resx b/HexcalMC/MainFrom.resx index d877962..6a5904a 100644 --- a/HexcalMC/MainFrom.resx +++ b/HexcalMC/MainFrom.resx @@ -118,6 +118,303 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 @@ -226,6 +523,15 @@ KCgoHw8HBwcfKCgoKCg= + + 17, 17 + + + 137, 4 + + + 25 + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA diff --git a/HexcalMC/Motion/Motion.Designer.cs b/HexcalMC/Motion/Motion.Designer.cs index e8bea21..c5f2c90 100644 --- a/HexcalMC/Motion/Motion.Designer.cs +++ b/HexcalMC/Motion/Motion.Designer.cs @@ -2064,7 +2064,7 @@ this.checkBox2.Text = "X"; this.checkBox2.UseVisualStyleBackColor = true; // - // MainForm + // Motion // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(1226, 725); @@ -2078,7 +2078,7 @@ this.Controls.Add(this.grpMotionTest); this.Controls.Add(this.groupBox1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "MainForm"; + this.Name = "Motion"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "HexcalMC运动补偿"; this.Load += new System.EventHandler(this.Form1_Load); diff --git a/HexcalMC/Motion/Motion.cs b/HexcalMC/Motion/Motion.cs index 82721b6..78328af 100644 --- a/HexcalMC/Motion/Motion.cs +++ b/HexcalMC/Motion/Motion.cs @@ -12,7 +12,7 @@ using System.Runtime.InteropServices; namespace HexcalMC { - public partial class Motion : Form + public partial class Motion : System.Windows.Forms.Form { private Api _ACS; diff --git a/HexcalMC/Motion/Motion.resx b/HexcalMC/Motion/Motion.resx index 8a60b22..460b4af 100644 --- a/HexcalMC/Motion/Motion.resx +++ b/HexcalMC/Motion/Motion.resx @@ -112,15 +112,15 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 @@ -1147,8 +1147,8 @@ KCgoHw8HBwcfKCgoKCg= - - 25 + + 176 diff --git a/HexcalMC/Properties/AssemblyInfo.cs b/HexcalMC/Properties/AssemblyInfo.cs index a622881..071efda 100644 --- a/HexcalMC/Properties/AssemblyInfo.cs +++ b/HexcalMC/Properties/AssemblyInfo.cs @@ -4,11 +4,11 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("HexcalMC")] -[assembly: AssemblyDescription("")] +[assembly: AssemblyDescription("本软件为海克斯康制造智能技术(青岛)有限公司(简称海克斯康)版权所有。本软件的任何部分,未经海克斯康公司事前书面许可,均不能复制、存储在检索系统中,或者以任何形式传播,或以任何方法(机械、电子及其他方法)影印、复制。")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("HexcalMC")] -[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyCompany("Hexagon HMI")] +[assembly: AssemblyProduct("直线电机平台补偿软件(HexcalMC)")] +[assembly: AssemblyCopyright("Copyright © 2023 Hexagon,Inc")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/HexcalMC/Properties/licenses.licx b/HexcalMC/Properties/licenses.licx index a6eaac5..9bc5eaa 100644 --- a/HexcalMC/Properties/licenses.licx +++ b/HexcalMC/Properties/licenses.licx @@ -1,6 +1,9 @@ -Telerik.WinControls.UI.RadSplitContainer, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e +Telerik.WinControls.UI.RadLabel, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e +Telerik.WinControls.UI.RadGroupBox, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e Telerik.WinControls.RadThemeManager, Telerik.WinControls, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e Telerik.WinControls.UI.RadStatusStrip, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e -Telerik.WinControls.UI.RadGroupBox, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e +Telerik.WinControls.UI.RadTextBox, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e +Telerik.WinControls.UI.RadButton, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e Telerik.WinControls.UI.RadRibbonBar, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e +Telerik.WinControls.UI.RadSplitContainer, Telerik.WinControls.UI, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e Telerik.WinControls.UI.RadSchedulerNavigator, Telerik.WinControls.Scheduler, Version=2018.3.1016.20, Culture=neutral, PublicKeyToken=5bb2a467cbec794e