领胜LDS 键盘AOI检测项目
xcd
2020-07-02 9cedbf3a4e9cc7c18df0b5424891f77c9dcb2988
Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071
2 文件已重命名
4个文件已添加
1个文件已删除
2个文件已修改
969 ■■■■■ 已修改文件
src/Bro.Device.GTSCard/GTSCardConfig.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/Bro.UI.Device.Winform.csproj 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/CtrlMotionCardRunBase.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.Designer.cs 237 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.Designer.cs 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.resx 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.Device.GTSCard/GTSCardConfig.cs
@@ -98,10 +98,10 @@
        [DisplayName("监听超时")]
        public int MonitorTimeout { get; set; } = 500;
        //[Category("事件地址设置")]
        //[Description("事件开始地址,PLC的实际寄存器地址。十进制,不包含功能码。")]
        //[DisplayName("监听开始地址")]
        //public int EventStartAddress { get; set; } = 8000;
        [Category("事件地址设置")]
        [Description("事件开始地址,PLC的实际寄存器地址。十进制,不包含功能码。")]
        [DisplayName("监听开始地址")]
        public int EventStartAddress { get; set; } = 8000;
        //[Category("事件地址设置")]
        //[Description("事件地址长度,最大长度128")]
src/Bro.UI.Device.Winform/Bro.UI.Device.Winform.csproj
@@ -89,17 +89,23 @@
    <Compile Include="CtrlCameraRunBase.Designer.cs">
      <DependentUpon>CtrlCameraRunBase.cs</DependentUpon>
    </Compile>
    <Compile Include="CtrlMotionCardRunBase.cs">
    <Compile Include="MotionCard\CtrlMotionCardOperation.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="CtrlMotionCardRunBase.Designer.cs">
      <DependentUpon>CtrlMotionCardRunBase.cs</DependentUpon>
    <Compile Include="MotionCard\CtrlMotionCardOperation.Designer.cs">
      <DependentUpon>CtrlMotionCardOperation.cs</DependentUpon>
    </Compile>
    <Compile Include="CtrlPLCRunBase.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="CtrlPLCRunBase.Designer.cs">
      <DependentUpon>CtrlPLCRunBase.cs</DependentUpon>
    </Compile>
    <Compile Include="MotionCard\CtrlMotionCardAxisStatus.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Include="MotionCard\CtrlMotionCardAxisStatus.Designer.cs">
      <DependentUpon>CtrlMotionCardAxisStatus.cs</DependentUpon>
    </Compile>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\Resources.Designer.cs">
@@ -112,12 +118,15 @@
    <EmbeddedResource Include="CtrlCameraRunBase.resx">
      <DependentUpon>CtrlCameraRunBase.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="CtrlMotionCardRunBase.resx">
      <DependentUpon>CtrlMotionCardRunBase.cs</DependentUpon>
    <EmbeddedResource Include="MotionCard\CtrlMotionCardOperation.resx">
      <DependentUpon>CtrlMotionCardOperation.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="CtrlPLCRunBase.resx">
      <DependentUpon>CtrlPLCRunBase.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="MotionCard\CtrlMotionCardAxisStatus.resx">
      <DependentUpon>CtrlMotionCardAxisStatus.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
src/Bro.UI.Device.Winform/CtrlMotionCardRunBase.cs
File was deleted
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.Designer.cs
New file
@@ -0,0 +1,237 @@
namespace Bro.UI.Device.Winform.MotionCard
{
    partial class CtrlMotionCardAxisStatus
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region 组件设计器生成的代码
        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.groupBoxAxisStatus = new System.Windows.Forms.GroupBox();
            this.ioIndicatorCtrl2 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl10 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl9 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl8 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl6 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl1 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label7 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.groupBoxAxisStatus.SuspendLayout();
            this.SuspendLayout();
            //
            // groupBoxAxisStatus
            //
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl2);
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl10);
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl9);
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl8);
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl6);
            this.groupBoxAxisStatus.Controls.Add(this.ioIndicatorCtrl1);
            this.groupBoxAxisStatus.Controls.Add(this.textBox4);
            this.groupBoxAxisStatus.Controls.Add(this.textBox3);
            this.groupBoxAxisStatus.Controls.Add(this.textBox2);
            this.groupBoxAxisStatus.Controls.Add(this.textBox1);
            this.groupBoxAxisStatus.Controls.Add(this.label7);
            this.groupBoxAxisStatus.Controls.Add(this.label5);
            this.groupBoxAxisStatus.Controls.Add(this.label4);
            this.groupBoxAxisStatus.Controls.Add(this.label3);
            this.groupBoxAxisStatus.Controls.Add(this.label2);
            this.groupBoxAxisStatus.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBoxAxisStatus.Location = new System.Drawing.Point(0, 0);
            this.groupBoxAxisStatus.Name = "groupBoxAxisStatus";
            this.groupBoxAxisStatus.Size = new System.Drawing.Size(580, 141);
            this.groupBoxAxisStatus.TabIndex = 4;
            this.groupBoxAxisStatus.TabStop = false;
            this.groupBoxAxisStatus.Text = "轴状态";
            //
            // ioIndicatorCtrl2
            //
            this.ioIndicatorCtrl2.Desc = "伺服使能";
            this.ioIndicatorCtrl2.IsOn = null;
            this.ioIndicatorCtrl2.Location = new System.Drawing.Point(479, 17);
            this.ioIndicatorCtrl2.Name = "ioIndicatorCtrl2";
            this.ioIndicatorCtrl2.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl2.TabIndex = 4;
            //
            // ioIndicatorCtrl10
            //
            this.ioIndicatorCtrl10.Desc = "回零状态";
            this.ioIndicatorCtrl10.IsOn = null;
            this.ioIndicatorCtrl10.Location = new System.Drawing.Point(328, 77);
            this.ioIndicatorCtrl10.Name = "ioIndicatorCtrl10";
            this.ioIndicatorCtrl10.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl10.TabIndex = 4;
            //
            // ioIndicatorCtrl9
            //
            this.ioIndicatorCtrl9.Desc = "运动状态";
            this.ioIndicatorCtrl9.IsOn = null;
            this.ioIndicatorCtrl9.Location = new System.Drawing.Point(328, 107);
            this.ioIndicatorCtrl9.Name = "ioIndicatorCtrl9";
            this.ioIndicatorCtrl9.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl9.TabIndex = 4;
            //
            // ioIndicatorCtrl8
            //
            this.ioIndicatorCtrl8.Desc = "负限位";
            this.ioIndicatorCtrl8.IsOn = null;
            this.ioIndicatorCtrl8.Location = new System.Drawing.Point(479, 47);
            this.ioIndicatorCtrl8.Name = "ioIndicatorCtrl8";
            this.ioIndicatorCtrl8.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl8.TabIndex = 4;
            //
            // ioIndicatorCtrl6
            //
            this.ioIndicatorCtrl6.Desc = "正限位";
            this.ioIndicatorCtrl6.IsOn = null;
            this.ioIndicatorCtrl6.Location = new System.Drawing.Point(328, 47);
            this.ioIndicatorCtrl6.Name = "ioIndicatorCtrl6";
            this.ioIndicatorCtrl6.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl6.TabIndex = 4;
            //
            // ioIndicatorCtrl1
            //
            this.ioIndicatorCtrl1.Desc = "驱动报警";
            this.ioIndicatorCtrl1.IsOn = null;
            this.ioIndicatorCtrl1.Location = new System.Drawing.Point(328, 17);
            this.ioIndicatorCtrl1.Name = "ioIndicatorCtrl1";
            this.ioIndicatorCtrl1.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl1.TabIndex = 4;
            //
            // textBox4
            //
            this.textBox4.Location = new System.Drawing.Point(85, 114);
            this.textBox4.Name = "textBox4";
            this.textBox4.ReadOnly = true;
            this.textBox4.Size = new System.Drawing.Size(116, 21);
            this.textBox4.TabIndex = 3;
            //
            // textBox3
            //
            this.textBox3.Location = new System.Drawing.Point(85, 53);
            this.textBox3.Name = "textBox3";
            this.textBox3.ReadOnly = true;
            this.textBox3.Size = new System.Drawing.Size(116, 21);
            this.textBox3.TabIndex = 3;
            //
            // textBox2
            //
            this.textBox2.Location = new System.Drawing.Point(85, 83);
            this.textBox2.Name = "textBox2";
            this.textBox2.ReadOnly = true;
            this.textBox2.Size = new System.Drawing.Size(116, 21);
            this.textBox2.TabIndex = 3;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(85, 22);
            this.textBox1.Name = "textBox1";
            this.textBox1.ReadOnly = true;
            this.textBox1.Size = new System.Drawing.Size(116, 21);
            this.textBox1.TabIndex = 3;
            //
            // label7
            //
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(7, 214);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(0, 12);
            this.label7.TabIndex = 2;
            //
            // label5
            //
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(23, 117);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(65, 12);
            this.label5.TabIndex = 2;
            this.label5.Text = "实际速度:";
            //
            // label4
            //
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(23, 56);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(65, 12);
            this.label4.TabIndex = 2;
            this.label4.Text = "规划速度:";
            //
            // label3
            //
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(23, 86);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(65, 12);
            this.label3.TabIndex = 2;
            this.label3.Text = "实际位置:";
            //
            // label2
            //
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(23, 25);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(65, 12);
            this.label2.TabIndex = 2;
            this.label2.Text = "规划位置:";
            //
            // CtrlMotionCardRunStatus
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.groupBoxAxisStatus);
            this.Name = "CtrlMotionCardRunStatus";
            this.Size = new System.Drawing.Size(580, 141);
            this.groupBoxAxisStatus.ResumeLayout(false);
            this.groupBoxAxisStatus.PerformLayout();
            this.ResumeLayout(false);
        }
        #endregion
        private System.Windows.Forms.GroupBox groupBoxAxisStatus;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl2;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl10;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl9;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl8;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl6;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl1;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label2;
    }
}
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.cs
New file
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Bro.UI.Device.Winform.MotionCard
{
    public partial class CtrlMotionCardAxisStatus : UserControl
    {
        public CtrlMotionCardAxisStatus()
        {
            InitializeComponent();
        }
    }
}
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisStatus.resx
New file
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.Designer.cs
File was renamed from src/Bro.UI.Device.Winform/CtrlMotionCardRunBase.Designer.cs
@@ -1,6 +1,6 @@
namespace Bro.UI.Device.Winform
{
    partial class CtrlMotionCardRunBase
    partial class CtrlMotionCardOperation
    {
        /// <summary> 
        /// 必需的设计器变量。
@@ -28,24 +28,24 @@
        /// </summary>
        private void InitializeComponent()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlMotionCardRunBase));
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CtrlMotionCardOperation));
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
            this.groupBox2 = new System.Windows.Forms.GroupBox();
            this.listBox1 = new System.Windows.Forms.ListBox();
            this.groupBox3 = new System.Windows.Forms.GroupBox();
            this.listBoxMsg = new System.Windows.Forms.ListBox();
            this.groupBoxPara = new System.Windows.Forms.GroupBox();
            this.propGrid = new System.Windows.Forms.PropertyGrid();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.radioButton3 = new System.Windows.Forms.RadioButton();
            this.radioButton2 = new System.Windows.Forms.RadioButton();
            this.radioButton1 = new System.Windows.Forms.RadioButton();
            this.radioGoHome = new System.Windows.Forms.RadioButton();
            this.radioJog = new System.Windows.Forms.RadioButton();
            this.radioP2P = new System.Windows.Forms.RadioButton();
            this.groupBoxCommBtn = new System.Windows.Forms.GroupBox();
            this.btnStart = new System.Windows.Forms.Button();
            this.button1 = new System.Windows.Forms.Button();
            this.button11 = new System.Windows.Forms.Button();
            this.button8 = new System.Windows.Forms.Button();
            this.button10 = new System.Windows.Forms.Button();
            this.button9 = new System.Windows.Forms.Button();
            this.buttonClearStatus = new System.Windows.Forms.Button();
            this.buttonEmergencyStop = new System.Windows.Forms.Button();
            this.buttonServoEnable = new System.Windows.Forms.Button();
            this.buttonSmoothStop = new System.Windows.Forms.Button();
            this.buttonPositionReset = new System.Windows.Forms.Button();
            this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
            this.groupBox5 = new System.Windows.Forms.GroupBox();
            this.ioIndicatorCtrl14 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
@@ -64,22 +64,6 @@
            this.ioIndicatorCtrl18 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl15 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl11 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.groupBox4 = new System.Windows.Forms.GroupBox();
            this.ioIndicatorCtrl2 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl10 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl9 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl8 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl6 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl1 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label7 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.groupBox6 = new System.Windows.Forms.GroupBox();
            this.ioIndicatorCtrl27 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl28 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
@@ -97,15 +81,15 @@
            this.ioIndicatorCtrl40 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl41 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.ioIndicatorCtrl42 = new Bro.UI.Model.Winform.IOIndicatorCtrl();
            this.flowLayoutPanelRunStatus = new System.Windows.Forms.FlowLayoutPanel();
            this.tableLayoutPanel1.SuspendLayout();
            this.tableLayoutPanel2.SuspendLayout();
            this.groupBox2.SuspendLayout();
            this.groupBox3.SuspendLayout();
            this.groupBoxPara.SuspendLayout();
            this.groupBox1.SuspendLayout();
            this.groupBoxCommBtn.SuspendLayout();
            this.tableLayoutPanel3.SuspendLayout();
            this.groupBox5.SuspendLayout();
            this.groupBox4.SuspendLayout();
            this.groupBox6.SuspendLayout();
            this.SuspendLayout();
            // 
@@ -129,7 +113,7 @@
            this.tableLayoutPanel2.ColumnCount = 1;
            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
            this.tableLayoutPanel2.Controls.Add(this.groupBox2, 0, 3);
            this.tableLayoutPanel2.Controls.Add(this.groupBox3, 0, 2);
            this.tableLayoutPanel2.Controls.Add(this.groupBoxPara, 0, 2);
            this.tableLayoutPanel2.Controls.Add(this.groupBox1, 0, 1);
            this.tableLayoutPanel2.Controls.Add(this.groupBoxCommBtn, 0, 0);
            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -145,7 +129,7 @@
            // 
            // groupBox2
            // 
            this.groupBox2.Controls.Add(this.listBox1);
            this.groupBox2.Controls.Add(this.listBoxMsg);
            this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBox2.Location = new System.Drawing.Point(3, 607);
            this.groupBox2.Name = "groupBox2";
@@ -154,27 +138,27 @@
            this.groupBox2.TabStop = false;
            this.groupBox2.Text = "消息框";
            // 
            // listBox1
            // listBoxMsg
            // 
            this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
            this.listBox1.FormattingEnabled = true;
            this.listBox1.ItemHeight = 15;
            this.listBox1.Location = new System.Drawing.Point(3, 17);
            this.listBox1.Name = "listBox1";
            this.listBox1.Size = new System.Drawing.Size(374, 84);
            this.listBox1.TabIndex = 1;
            this.listBoxMsg.Dock = System.Windows.Forms.DockStyle.Fill;
            this.listBoxMsg.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
            this.listBoxMsg.FormattingEnabled = true;
            this.listBoxMsg.ItemHeight = 15;
            this.listBoxMsg.Location = new System.Drawing.Point(3, 17);
            this.listBoxMsg.Name = "listBoxMsg";
            this.listBoxMsg.Size = new System.Drawing.Size(374, 84);
            this.listBoxMsg.TabIndex = 1;
            // 
            // groupBox3
            // groupBoxPara
            // 
            this.groupBox3.Controls.Add(this.propGrid);
            this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBox3.Location = new System.Drawing.Point(3, 143);
            this.groupBox3.Name = "groupBox3";
            this.groupBox3.Size = new System.Drawing.Size(380, 458);
            this.groupBox3.TabIndex = 6;
            this.groupBox3.TabStop = false;
            this.groupBox3.Text = "参数";
            this.groupBoxPara.Controls.Add(this.propGrid);
            this.groupBoxPara.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBoxPara.Location = new System.Drawing.Point(3, 143);
            this.groupBoxPara.Name = "groupBoxPara";
            this.groupBoxPara.Size = new System.Drawing.Size(380, 458);
            this.groupBoxPara.TabIndex = 6;
            this.groupBoxPara.TabStop = false;
            this.groupBoxPara.Text = "参数";
            // 
            // propGrid
            // 
@@ -187,9 +171,9 @@
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.radioButton3);
            this.groupBox1.Controls.Add(this.radioButton2);
            this.groupBox1.Controls.Add(this.radioButton1);
            this.groupBox1.Controls.Add(this.radioGoHome);
            this.groupBox1.Controls.Add(this.radioJog);
            this.groupBox1.Controls.Add(this.radioP2P);
            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBox1.Location = new System.Drawing.Point(3, 93);
            this.groupBox1.Name = "groupBox1";
@@ -198,49 +182,49 @@
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "运动类型";
            // 
            // radioButton3
            // radioGoHome
            // 
            this.radioButton3.AutoSize = true;
            this.radioButton3.Location = new System.Drawing.Point(156, 22);
            this.radioButton3.Name = "radioButton3";
            this.radioButton3.Size = new System.Drawing.Size(59, 16);
            this.radioButton3.TabIndex = 5;
            this.radioButton3.TabStop = true;
            this.radioButton3.Text = "GoHome";
            this.radioButton3.UseVisualStyleBackColor = true;
            this.radioGoHome.AutoSize = true;
            this.radioGoHome.Location = new System.Drawing.Point(156, 22);
            this.radioGoHome.Name = "radioGoHome";
            this.radioGoHome.Size = new System.Drawing.Size(59, 16);
            this.radioGoHome.TabIndex = 5;
            this.radioGoHome.TabStop = true;
            this.radioGoHome.Text = "GoHome";
            this.radioGoHome.UseVisualStyleBackColor = true;
            // 
            // radioButton2
            // radioJog
            // 
            this.radioButton2.AutoSize = true;
            this.radioButton2.Location = new System.Drawing.Point(82, 22);
            this.radioButton2.Name = "radioButton2";
            this.radioButton2.Size = new System.Drawing.Size(41, 16);
            this.radioButton2.TabIndex = 5;
            this.radioButton2.TabStop = true;
            this.radioButton2.Text = "Jog";
            this.radioButton2.UseVisualStyleBackColor = true;
            this.radioJog.AutoSize = true;
            this.radioJog.Location = new System.Drawing.Point(82, 22);
            this.radioJog.Name = "radioJog";
            this.radioJog.Size = new System.Drawing.Size(41, 16);
            this.radioJog.TabIndex = 5;
            this.radioJog.TabStop = true;
            this.radioJog.Text = "Jog";
            this.radioJog.UseVisualStyleBackColor = true;
            // 
            // radioButton1
            // radioP2P
            // 
            this.radioButton1.AutoSize = true;
            this.radioButton1.Checked = true;
            this.radioButton1.Location = new System.Drawing.Point(9, 22);
            this.radioButton1.Name = "radioButton1";
            this.radioButton1.Size = new System.Drawing.Size(41, 16);
            this.radioButton1.TabIndex = 5;
            this.radioButton1.TabStop = true;
            this.radioButton1.Text = "P2P";
            this.radioButton1.UseVisualStyleBackColor = true;
            this.radioButton1.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
            this.radioP2P.AutoSize = true;
            this.radioP2P.Checked = true;
            this.radioP2P.Location = new System.Drawing.Point(9, 22);
            this.radioP2P.Name = "radioP2P";
            this.radioP2P.Size = new System.Drawing.Size(41, 16);
            this.radioP2P.TabIndex = 5;
            this.radioP2P.TabStop = true;
            this.radioP2P.Text = "P2P";
            this.radioP2P.UseVisualStyleBackColor = true;
            this.radioP2P.CheckedChanged += new System.EventHandler(this.RadioButton_CheckedChanged);
            // 
            // groupBoxCommBtn
            // 
            this.groupBoxCommBtn.Controls.Add(this.btnStart);
            this.groupBoxCommBtn.Controls.Add(this.button1);
            this.groupBoxCommBtn.Controls.Add(this.button11);
            this.groupBoxCommBtn.Controls.Add(this.button8);
            this.groupBoxCommBtn.Controls.Add(this.button10);
            this.groupBoxCommBtn.Controls.Add(this.button9);
            this.groupBoxCommBtn.Controls.Add(this.buttonClearStatus);
            this.groupBoxCommBtn.Controls.Add(this.buttonEmergencyStop);
            this.groupBoxCommBtn.Controls.Add(this.buttonServoEnable);
            this.groupBoxCommBtn.Controls.Add(this.buttonSmoothStop);
            this.groupBoxCommBtn.Controls.Add(this.buttonPositionReset);
            this.groupBoxCommBtn.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBoxCommBtn.Location = new System.Drawing.Point(3, 3);
            this.groupBoxCommBtn.Name = "groupBoxCommBtn";
@@ -265,59 +249,65 @@
            this.btnStart.Text = "  启  动";
            this.btnStart.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
            this.btnStart.UseVisualStyleBackColor = true;
            this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
            // 
            // button1
            // buttonClearStatus
            // 
            this.button1.Location = new System.Drawing.Point(6, 18);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(70, 25);
            this.button1.TabIndex = 4;
            this.button1.Text = "清除状态";
            this.button1.UseVisualStyleBackColor = true;
            this.buttonClearStatus.Location = new System.Drawing.Point(6, 18);
            this.buttonClearStatus.Name = "buttonClearStatus";
            this.buttonClearStatus.Size = new System.Drawing.Size(70, 25);
            this.buttonClearStatus.TabIndex = 4;
            this.buttonClearStatus.Text = "清除状态";
            this.buttonClearStatus.UseVisualStyleBackColor = true;
            this.buttonClearStatus.Click += new System.EventHandler(this.buttonClearStatus_Click);
            // 
            // button11
            // buttonEmergencyStop
            // 
            this.button11.Location = new System.Drawing.Point(86, 53);
            this.button11.Name = "button11";
            this.button11.Size = new System.Drawing.Size(70, 25);
            this.button11.TabIndex = 4;
            this.button11.Text = "紧急停止";
            this.button11.UseVisualStyleBackColor = true;
            this.buttonEmergencyStop.Location = new System.Drawing.Point(86, 53);
            this.buttonEmergencyStop.Name = "buttonEmergencyStop";
            this.buttonEmergencyStop.Size = new System.Drawing.Size(70, 25);
            this.buttonEmergencyStop.TabIndex = 4;
            this.buttonEmergencyStop.Text = "紧急停止";
            this.buttonEmergencyStop.UseVisualStyleBackColor = true;
            this.buttonEmergencyStop.Click += new System.EventHandler(this.buttonEmergencyStop_Click);
            // 
            // button8
            // buttonServoEnable
            // 
            this.button8.Location = new System.Drawing.Point(86, 18);
            this.button8.Name = "button8";
            this.button8.Size = new System.Drawing.Size(70, 25);
            this.button8.TabIndex = 4;
            this.button8.Text = "伺服使能";
            this.button8.UseVisualStyleBackColor = true;
            this.buttonServoEnable.Location = new System.Drawing.Point(86, 18);
            this.buttonServoEnable.Name = "buttonServoEnable";
            this.buttonServoEnable.Size = new System.Drawing.Size(70, 25);
            this.buttonServoEnable.TabIndex = 4;
            this.buttonServoEnable.Text = "伺服使能";
            this.buttonServoEnable.UseVisualStyleBackColor = true;
            this.buttonServoEnable.Click += new System.EventHandler(this.buttonServoEnable_Click);
            // 
            // button10
            // buttonSmoothStop
            // 
            this.button10.Location = new System.Drawing.Point(6, 53);
            this.button10.Name = "button10";
            this.button10.Size = new System.Drawing.Size(70, 25);
            this.button10.TabIndex = 4;
            this.button10.Text = "平滑停止";
            this.button10.UseVisualStyleBackColor = true;
            this.buttonSmoothStop.Location = new System.Drawing.Point(6, 53);
            this.buttonSmoothStop.Name = "buttonSmoothStop";
            this.buttonSmoothStop.Size = new System.Drawing.Size(70, 25);
            this.buttonSmoothStop.TabIndex = 4;
            this.buttonSmoothStop.Text = "平滑停止";
            this.buttonSmoothStop.UseVisualStyleBackColor = true;
            this.buttonSmoothStop.Click += new System.EventHandler(this.buttonSmoothStop_Click);
            // 
            // button9
            // buttonPositionReset
            // 
            this.button9.Location = new System.Drawing.Point(168, 18);
            this.button9.Name = "button9";
            this.button9.Size = new System.Drawing.Size(70, 25);
            this.button9.TabIndex = 4;
            this.button9.Text = "位置清零";
            this.button9.UseVisualStyleBackColor = true;
            this.buttonPositionReset.Location = new System.Drawing.Point(168, 18);
            this.buttonPositionReset.Name = "buttonPositionReset";
            this.buttonPositionReset.Size = new System.Drawing.Size(70, 25);
            this.buttonPositionReset.TabIndex = 4;
            this.buttonPositionReset.Text = "位置清零";
            this.buttonPositionReset.UseVisualStyleBackColor = true;
            this.buttonPositionReset.Click += new System.EventHandler(this.buttonPositionReset_Click);
            // 
            // tableLayoutPanel3
            // 
            this.tableLayoutPanel3.ColumnCount = 1;
            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
            this.tableLayoutPanel3.Controls.Add(this.groupBox5, 0, 1);
            this.tableLayoutPanel3.Controls.Add(this.groupBox4, 0, 0);
            this.tableLayoutPanel3.Controls.Add(this.groupBox6, 0, 2);
            this.tableLayoutPanel3.Controls.Add(this.flowLayoutPanelRunStatus, 0, 0);
            this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
            this.tableLayoutPanel3.Location = new System.Drawing.Point(395, 3);
            this.tableLayoutPanel3.Name = "tableLayoutPanel3";
@@ -498,161 +488,6 @@
            this.ioIndicatorCtrl11.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl11.TabIndex = 4;
            // 
            // groupBox4
            //
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl2);
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl10);
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl9);
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl8);
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl6);
            this.groupBox4.Controls.Add(this.ioIndicatorCtrl1);
            this.groupBox4.Controls.Add(this.textBox4);
            this.groupBox4.Controls.Add(this.textBox3);
            this.groupBox4.Controls.Add(this.textBox2);
            this.groupBox4.Controls.Add(this.textBox1);
            this.groupBox4.Controls.Add(this.label7);
            this.groupBox4.Controls.Add(this.label5);
            this.groupBox4.Controls.Add(this.label4);
            this.groupBox4.Controls.Add(this.label3);
            this.groupBox4.Controls.Add(this.label2);
            this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill;
            this.groupBox4.Location = new System.Drawing.Point(3, 3);
            this.groupBox4.Name = "groupBox4";
            this.groupBox4.Size = new System.Drawing.Size(578, 422);
            this.groupBox4.TabIndex = 3;
            this.groupBox4.TabStop = false;
            this.groupBox4.Text = "轴状态";
            //
            // ioIndicatorCtrl2
            //
            this.ioIndicatorCtrl2.Desc = "伺服使能";
            this.ioIndicatorCtrl2.IsOn = null;
            this.ioIndicatorCtrl2.Location = new System.Drawing.Point(145, 76);
            this.ioIndicatorCtrl2.Name = "ioIndicatorCtrl2";
            this.ioIndicatorCtrl2.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl2.TabIndex = 4;
            //
            // ioIndicatorCtrl10
            //
            this.ioIndicatorCtrl10.Desc = "运动出错";
            this.ioIndicatorCtrl10.IsOn = null;
            this.ioIndicatorCtrl10.Location = new System.Drawing.Point(306, 73);
            this.ioIndicatorCtrl10.Name = "ioIndicatorCtrl10";
            this.ioIndicatorCtrl10.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl10.TabIndex = 4;
            //
            // ioIndicatorCtrl9
            //
            this.ioIndicatorCtrl9.Desc = "运动状态";
            this.ioIndicatorCtrl9.IsOn = null;
            this.ioIndicatorCtrl9.Location = new System.Drawing.Point(306, 103);
            this.ioIndicatorCtrl9.Name = "ioIndicatorCtrl9";
            this.ioIndicatorCtrl9.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl9.TabIndex = 4;
            //
            // ioIndicatorCtrl8
            //
            this.ioIndicatorCtrl8.Desc = "负限位";
            this.ioIndicatorCtrl8.IsOn = null;
            this.ioIndicatorCtrl8.Location = new System.Drawing.Point(145, 106);
            this.ioIndicatorCtrl8.Name = "ioIndicatorCtrl8";
            this.ioIndicatorCtrl8.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl8.TabIndex = 4;
            //
            // ioIndicatorCtrl6
            //
            this.ioIndicatorCtrl6.Desc = "正限位";
            this.ioIndicatorCtrl6.IsOn = null;
            this.ioIndicatorCtrl6.Location = new System.Drawing.Point(9, 106);
            this.ioIndicatorCtrl6.Name = "ioIndicatorCtrl6";
            this.ioIndicatorCtrl6.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl6.TabIndex = 4;
            //
            // ioIndicatorCtrl1
            //
            this.ioIndicatorCtrl1.Desc = "驱动报警";
            this.ioIndicatorCtrl1.IsOn = null;
            this.ioIndicatorCtrl1.Location = new System.Drawing.Point(9, 76);
            this.ioIndicatorCtrl1.Name = "ioIndicatorCtrl1";
            this.ioIndicatorCtrl1.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl1.TabIndex = 4;
            //
            // textBox4
            //
            this.textBox4.Location = new System.Drawing.Point(280, 48);
            this.textBox4.Name = "textBox4";
            this.textBox4.ReadOnly = true;
            this.textBox4.Size = new System.Drawing.Size(116, 21);
            this.textBox4.TabIndex = 3;
            //
            // textBox3
            //
            this.textBox3.Location = new System.Drawing.Point(69, 45);
            this.textBox3.Name = "textBox3";
            this.textBox3.ReadOnly = true;
            this.textBox3.Size = new System.Drawing.Size(116, 21);
            this.textBox3.TabIndex = 3;
            //
            // textBox2
            //
            this.textBox2.Location = new System.Drawing.Point(280, 18);
            this.textBox2.Name = "textBox2";
            this.textBox2.ReadOnly = true;
            this.textBox2.Size = new System.Drawing.Size(116, 21);
            this.textBox2.TabIndex = 3;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(69, 18);
            this.textBox1.Name = "textBox1";
            this.textBox1.ReadOnly = true;
            this.textBox1.Size = new System.Drawing.Size(116, 21);
            this.textBox1.TabIndex = 3;
            //
            // label7
            //
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(7, 214);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(0, 12);
            this.label7.TabIndex = 2;
            //
            // label5
            //
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(218, 51);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(65, 12);
            this.label5.TabIndex = 2;
            this.label5.Text = "实际速度:";
            //
            // label4
            //
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(7, 48);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(65, 12);
            this.label4.TabIndex = 2;
            this.label4.Text = "规划速度:";
            //
            // label3
            //
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(218, 21);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(65, 12);
            this.label3.TabIndex = 2;
            this.label3.Text = "实际位置:";
            //
            // label2
            //
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(7, 21);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(65, 12);
            this.label2.TabIndex = 2;
            this.label2.Text = "规划位置:";
            //
            // groupBox6
            // 
            this.groupBox6.Controls.Add(this.ioIndicatorCtrl27);
@@ -823,6 +658,14 @@
            this.ioIndicatorCtrl42.Size = new System.Drawing.Size(90, 24);
            this.ioIndicatorCtrl42.TabIndex = 4;
            // 
            // flowLayoutPanelRunStatus
            //
            this.flowLayoutPanelRunStatus.Dock = System.Windows.Forms.DockStyle.Fill;
            this.flowLayoutPanelRunStatus.Location = new System.Drawing.Point(3, 3);
            this.flowLayoutPanelRunStatus.Name = "flowLayoutPanelRunStatus";
            this.flowLayoutPanelRunStatus.Size = new System.Drawing.Size(578, 422);
            this.flowLayoutPanelRunStatus.TabIndex = 8;
            //
            // CtrlMotionCardRunBase
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -833,15 +676,13 @@
            this.tableLayoutPanel1.ResumeLayout(false);
            this.tableLayoutPanel2.ResumeLayout(false);
            this.groupBox2.ResumeLayout(false);
            this.groupBox3.ResumeLayout(false);
            this.groupBoxPara.ResumeLayout(false);
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.groupBoxCommBtn.ResumeLayout(false);
            this.groupBoxCommBtn.PerformLayout();
            this.tableLayoutPanel3.ResumeLayout(false);
            this.groupBox5.ResumeLayout(false);
            this.groupBox4.ResumeLayout(false);
            this.groupBox4.PerformLayout();
            this.groupBox6.ResumeLayout(false);
            this.ResumeLayout(false);
@@ -852,15 +693,15 @@
        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
        private System.Windows.Forms.GroupBox groupBoxCommBtn;
        private System.Windows.Forms.GroupBox groupBox3;
        private System.Windows.Forms.GroupBox groupBoxPara;
        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button11;
        private System.Windows.Forms.Button button8;
        private System.Windows.Forms.Button button10;
        private System.Windows.Forms.Button button9;
        private System.Windows.Forms.Button buttonClearStatus;
        private System.Windows.Forms.Button buttonEmergencyStop;
        private System.Windows.Forms.Button buttonServoEnable;
        private System.Windows.Forms.Button buttonSmoothStop;
        private System.Windows.Forms.Button buttonPositionReset;
        private System.Windows.Forms.GroupBox groupBox2;
        private System.Windows.Forms.ListBox listBox1;
        private System.Windows.Forms.ListBox listBoxMsg;
        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
        private System.Windows.Forms.GroupBox groupBox5;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl14;
@@ -879,22 +720,6 @@
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl18;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl15;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl11;
        private System.Windows.Forms.GroupBox groupBox4;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl2;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl10;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl9;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl8;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl6;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl1;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.GroupBox groupBox6;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl27;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl28;
@@ -912,10 +737,11 @@
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl40;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl41;
        private Model.Winform.IOIndicatorCtrl ioIndicatorCtrl42;
        private System.Windows.Forms.RadioButton radioButton3;
        private System.Windows.Forms.RadioButton radioButton2;
        private System.Windows.Forms.RadioButton radioButton1;
        private System.Windows.Forms.RadioButton radioGoHome;
        private System.Windows.Forms.RadioButton radioJog;
        private System.Windows.Forms.RadioButton radioP2P;
        private System.Windows.Forms.PropertyGrid propGrid;
        private System.Windows.Forms.Button btnStart;
        private System.Windows.Forms.FlowLayoutPanel flowLayoutPanelRunStatus;
    }
}
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.cs
New file
@@ -0,0 +1,100 @@
using Bro.Common.Helper;
using Bro.Common.Interface;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;
namespace Bro.UI.Device.Winform
{
    public partial class CtrlMotionCardOperation : UserControl, IProcessObserver, ILogOutput
    {
        public CtrlMotionCardOperation()
        {
            InitializeComponent();
        }
        List<string> _avaiableMethods { get; set; } = new List<string>();
        private IProcess process = null;
        public IProcess Process
        {
            get => process;
            set
            {
                if (process != value)
                {
                    process = value;
                    OnProcessUpdated();
                }
            }
        }
        #region ILogoutput
        public Action<LogMsg> OnLogMsgOutput { get; set; }
        public void LogDisplay(LogMsg msg)
        {
        }
        #endregion
        public void DownloadProcess(IProcess process)
        {
            throw new NotImplementedException();
        }
        public void OnProcessUpdated()
        {
            if (InvokeRequired)
            {
                Invoke(new Action(() => OnProcessUpdated()));
            }
            else
            {
                if (Process != null)
                {
                    //_avaiableMethods = Process.ProcessMethodCollection.Where(u => u.InvokeType == _invokeType).Select(u => u.MethodCode).ToList();
                    //LoadDevices();
                    //LoadProcessMethods();
                }
            }
        }
        private void RadioButton_CheckedChanged(object sender, EventArgs e)
        {
        }
        private void buttonClearStatus_Click(object sender, EventArgs e)
        {
        }
        private void buttonServoEnable_Click(object sender, EventArgs e)
        {
        }
        private void buttonPositionReset_Click(object sender, EventArgs e)
        {
        }
        private void btnStart_Click(object sender, EventArgs e)
        {
        }
        private void buttonSmoothStop_Click(object sender, EventArgs e)
        {
        }
        private void buttonEmergencyStop_Click(object sender, EventArgs e)
        {
        }
    }
}
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperation.resx