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