基本信息
源码名称:运动控制六轴运动
源码大小:2.68M
文件格式:.rar
开发语言:C#
更新时间:2019-05-16
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using csLTDMC;
namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }
        private ushort _CardID = 0;//卡号
        private bool shineng = false;//使能
        private bool fuwei = false;//复位
        private void Form3_Load(object sender, EventArgs e)
        {
            // System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
            // path.AddEllipse(this.button1.ClientRectangle);
            // this.button1.Region = new Region(path);

            short num = LTDMC.dmc_board_init();//获取卡的数量
            if (num <= 0 || num > 8)
            {
                MessageBox.Show("初始卡失败", "提示");
            }
            ushort _num = 0;
            ushort[] cardids = new ushort[8];
            uint[] cardtypes = new uint[8];
            short res = LTDMC.dmc_get_CardInfList(ref _num, cardtypes, cardids);
            if (res != 0)
            {
                MessageBox.Show("获取卡信息失败", "提示");
            }

            _CardID = cardids[0];

        }

        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {


            Application.Exit();
        }



        private void label3_Click(object sender, EventArgs e)
        {
            if (this.label3.ImageIndex == 1)
            {
                this.label3.ImageIndex = 0;


                LTDMC.dmc_write_sevon_pin(_CardID, 0, 1);//使能 卡号  轴号  低电平
                LTDMC.dmc_write_sevon_pin(_CardID, 1, 1);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 2, 1);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 3, 1);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 4, 1);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 5, 1);//使能
                MessageBox.Show("关闭使能", "提示", MessageBoxButtons.OK);
                shineng = false;

            }
            else if (this.label3.ImageIndex == 0)
            {
                this.label3.ImageIndex = 1;

                LTDMC.dmc_write_sevon_pin(_CardID, 0, 0);//使能 卡号  轴号  低电平
                LTDMC.dmc_write_sevon_pin(_CardID, 1, 0);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 2, 0);//使能
                LTDMC.dmc_write_sevon_pin(_CardID, 3, 0);//使能
                MessageBox.Show("启动使能", "提示");
                shineng = true;
            }

        }
        #region  参数
        private int y_pos = 0;
        private double start = 1000;
        private double speed = 4000;
        private double acc = 0.1;
        private double dec = 0.1;
        private double stop = 1000;
        #endregion
        private void 启动ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (shineng)
                {
                    if (fuwei)
                    {
                        LTDMC.dmc_set_position(_CardID, 0, 0);
                        LTDMC.dmc_set_position(_CardID, 1, 0);
                        int a = 5;//循环运动的次数

                        //X轴连续运动开始
                        //4.设置S段时间  (0-0.05s)  dmc_set_s_profile   //设置单轴速度曲线 S 段参数值 :CardNo 控制卡卡号 axis 指定轴号, s_mode 保留参数,固定值为 0 s_para S 段时间,单位:s;范围:0~0.5 s 
                        LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);
                        //5.//设置起始速度、运行速度、加速时间、减速时间、停止速度
                        //dmc_set_profile dmc_set_profile 参数CardNo 控制卡卡号 axis 指定轴号,起始速度,最大速度,加速时间,减速时间,停止速度
                        LTDMC.dmc_set_profile(_CardID, 0, start, speed, acc, dec, stop);
                        //6.设置运动方式为定长运动 // dmc_pmove;//定长运动  指定轴点位运动 :CardNo 控制卡卡号 axis 指定轴号, 目标位置(运动距离), posi_mode 运动模式,0:相对坐标模式,1:绝对坐标模式 
                        LTDMC.dmc_pmove(_CardID, 0, 5000, 1);
                        for (int i = 0; i >= 0; i  )
                        {
                            short y = LTDMC.dmc_check_done(_CardID, 0);
                            if (y == 1)
                            {
                                break;
                            }
                        }
                        //整体两轴循环三次
                        while (a >= 0)
                        {

                            #region 注释代码
                            //LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                            //LTDMC.dmc_set_profile(_CardID, 0, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                            ////zCardNo 控制卡卡号 axis 指定轴号 Min_Vel 起始速度, Max_Vel 最大速度 加速时间 减速时间, 停止速度
                            //LTDMC.dmc_vmove(_CardID, 0, 1);//连续运动        正方向

                            //for (int i = 0; i >= 0; i  )
                            //{
                            //    if (y_pos <= posx_1())//X轴达到指定位置  
                            //    {
                            //        //X轴运动停止
                            //        LTDMC.dmc_stop(_CardID, 0, 1); //1 立即停止  0减速停止
                            //        y_pos  = 3000;
                            //        break;
                            //    }
                            //}
                            #endregion


                            //Y轴连续运动开始

                            LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                            LTDMC.dmc_set_profile(_CardID, 1, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                            //zCardNo 控制卡卡号 axis 指定轴号 Min_Vel 起始速度, Max_Vel 最大速度 加速时间 减速时间, 停止速度
                            LTDMC.dmc_vmove(_CardID, 1, 1);//连续运动        正方向
                            for (int i = 0; i >= 0; i  )
                            {
                                if (posy_1() > 8000)//Y轴到达指定位置
                                {
                                    LTDMC.dmc_stop(_CardID, 1, 1);//Y轴运动停止
                                    LTDMC.dmc_set_position(_CardID, 1, 0);
                                    break;
                                }

                            }
                            //XY轴直线插补开始
                            // 设置插补速度 dmc_set_vector_profile_multicoorCardNo 控制卡卡号 Crd 指定控制卡上的坐标系号,  保留参数,固定值为 0  合成最大速度, 加减速时间,  保留参数,固定值为 0  保留参数,固定值为 0 
                            //直线插补运动   dmc_line_multicoor CardNo 控制卡卡号 Crd 坐标系, axisNum 插补轴数, axisList 插补轴列表 DistList 插补轴目标位置列表, posi_mode 运动模式,0:相对坐标模式,1:绝对坐标模式 
                            ushort[] axis = new ushort[2];
                            axis[0] = 0;
                            axis[1] = 1;
                            int[] pos = new int[2];
                            pos[0] = posx_1()   2000;//?绝对运动相对于自身还是原点坐标轴?
                            pos[1] = 0;
                            LTDMC.dmc_set_vector_profile_multicoor(_CardID, 0, 0, 5000, acc, dec, 0);//设置插补速度 
                            //卡号  坐标系 保留参数 最大速度   加速时间 减速时间 保留参数?
                            LTDMC.dmc_line_multicoor(_CardID, 0, 2, axis, pos, 1);
                            //判断直线插补是否完成
                            for (int i = 0; i >= 0; i  )
                            {
                                short xy = LTDMC.dmc_check_done_multicoor(_CardID, 0);
                                if (xy == 1)
                                {
                                    a--;
                                    break;
                                }
                            }
                            if (a == 0)
                            {
                                //设置单轴速度曲线 S 段参数值 
                                LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);
                                LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);
                                LTDMC.dmc_set_profile(_CardID, 0, 1000, 3000, 0.1, 0.1, 1000);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                                LTDMC.dmc_set_profile(_CardID, 1, 1000, 3000, 0.1, 0.1, 1000);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                                LTDMC.dmc_set_homemode(_CardID, 0, (ushort)0, 1, 1, 0);//设置回零模式
                                LTDMC.dmc_set_homemode(_CardID, 1, (ushort)0, 1, 1, 0);//设置回零模式
                                LTDMC.dmc_home_move(_CardID, 0);
                                LTDMC.dmc_home_move(_CardID, 1);
                                LTDMC.dmc_set_position(_CardID, 0, 0);
                                LTDMC.dmc_set_position(_CardID, 1, 0); break;
                            }

                        }
                        //                   while (a > 0)
                        //                   {



                        //                          LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                        //                          LTDMC.dmc_set_profile(_CardID, 0, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                        ////CardNo 控制卡卡号 axis 指定轴号 Min_Vel 起始速度, Max_Vel 最大速度 加速时间 减速时间, 停止速度
                        //                          LTDMC.dmc_vmove(_CardID, 0, 1);//连续运动        正方向
                        //                          for (int j = 1; j >=1; j  )
                        //                          {
                        //                              if (i < posx_1())
                        //                              {---------------------------------------------------

                        //                                  LTDMC.dmc_stop(_CardID, 0, 1); //1 立即停止  0减速停止 
                        //                                  i  = 2000;
                        //                                  LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                        //                                  LTDMC.dmc_set_profile(_CardID, 1, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                        //                                  LTDMC.dmc_vmove(_CardID, 1, 1);//连续运动
                        //                                    for (int q = 0; q >=0 ; q  )
                        //                                    {


                        //                                  if (posy_1()>2000)
                        //                                  {
                        //                                      LTDMC.dmc_stop(_CardID, 1, 1); //1 立即停止  0减速停止 
                        //                                     // 设置插补速度 dmc_set_vector_profile_multicoorCardNo 控制卡卡号 Crd 指定控制卡上的坐标系号,  保留参数,固定值为 0  合成最大速度, 加减速时间,  保留参数,固定值为 0  保留参数,固定值为 0 


                        //                                                          //直线插补运动   dmc_line_multicoor CardNo 控制卡卡号 Crd 坐标系, axisNum 插补轴数, axisList 插补轴列表 DistList 插补轴目标位置列表, posi_mode 运动模式,0:相对坐标模式,1:绝对坐标模式 
                        //                                                          ushort[] axis = new ushort[2];
                        //                                                          axis[0] = 0;
                        //                                                          axis[1] = 1;
                        //                                                          int[] pos = new int[2];
                        //                                                          pos[0] = posx_1()   2000;
                        //                                                          pos[1] = 0;
                        //                                                          LTDMC.dmc_set_vector_profile_multicoor(_CardID, 0, 0, 5000, acc, dec, 0);//设置插补速度 
                        //                                                          //卡号  坐标系 保留参数 最大速度   加速时间 减速时间 保留参数?
                        //                                                          LTDMC.dmc_line_multicoor(_CardID, 0, 2, axis, pos, 1);
                        //                                                          for (int g = 0; g >=0; g  )
                        //                                                          {
                        //                                                                short   xy=LTDMC.dmc_check_done_multicoor(_CardID,0);
                        //                                                              short y = LTDMC.dmc_check_done(_CardID, 0);
                        //                                                              short x = LTDMC.dmc_check_done(_CardID, 1);
                        //                                                              if ( x == 1)
                        //                                                              {
                        //                                                                  a--;
                        //                                                                  break;
                        //                                                              }
                        //                                                          }
                        //                                            break;
                        //                                        }

                        //                                    }


                        //                              } int y1 = LTDMC.dmc_check_done(_CardID, 0);
                        //                              int x1 = LTDMC.dmc_check_done(_CardID, 1);
                        //                              if (y1 == 1 && x1 == 1)
                        //                              {
                        //                                  a--;
                        //                                  break;
                        //                              }
                        //                          }


                        //                                //        int posy = LTDMC.dmc_get_position(_CardID, 0);

                        //                                //        if (posy == i)
                        //                                //        {
                        //                                //            i  = 2000;

                        //                                //            if (posx_1 == i)
                        //                                //            {
                        //                                //                LTDMC.dmc_stop(_CardID, 0, 1); //1 立即停止  0减速停止 
                        //                                //                int posx = LTDMC.dmc_get_position(_CardID, 1);
                        //                                //                LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                        //                                //                LTDMC.dmc_set_profile(_CardID, 1, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                        //                                //                LTDMC.dmc_vmove(_CardID, 1, 1);//连续运动        负方向

                        //                                //                if (posx == 5000)
                        //                                //                {
                        //                                //                    LTDMC.dmc_stop(_CardID, 1, 1); //1 立即停止  0减速停止
                        //                                //                    //设置插补速度 dmc_set_vector_profile_multicoorCardNo 控制卡卡号 Crd 指定控制卡上的坐标系号,  保留参数,固定值为 0  合成最大速度, 加减速时间,  保留参数,固定值为 0  保留参数,固定值为 0 
                        //                                //                    LTDMC.dmc_set_vector_profile_multicoor(_CardID, 0, 0, 10000, acc, dec, 0);//设置插补速度 
                        //                                //                    //卡号  坐标系 保留参数 最大速度   加速时间 减速时间 保留参数?
                        //                                //                    //直线插补运动   dmc_line_multicoor CardNo 控制卡卡号 Crd 坐标系, axisNum 插补轴数, axisList 插补轴列表 DistList 插补轴目标位置列表, posi_mode 运动模式,0:相对坐标模式,1:绝对坐标模式 
                        //                                //                    ushort[] axis = new ushort[2];
                        //                                //                    axis[0] = 0;
                        //                                //                    axis[1] = 1;
                        //                                //                    int[] pos = new int[2];
                        //                                //                    pos[0] = posx_1   1000;
                        //                                //                    pos[1] = 0;
                        //                                //                    LTDMC.dmc_line_multicoor(_CardID, 0, 2, axis, pos, 0);
                        //                                //                    int y = LTDMC.dmc_check_done(_CardID, 0);
                        //                                //                    int x = LTDMC.dmc_check_done(_CardID, 1);
                        //                                //                    if (y==1&&x==1)
                        //                                //                    {

                        //                                //                    }
                        //                                //                    a--;
                        //                                //                }
                        //                                //            }


                        //   }





                    }
                    else
                    {
                        MessageBox.Show("未复位", "提示");
                    }
                }
                else
                {

                    MessageBox.Show("未伺服使能", "提示");
                }

            }
            catch (Exception a)
            {

                throw a;
            }
        }

        private void 复位ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            fuwei = true;
            if (shineng)
            {
                try
                {
                    //设置单轴速度曲线 S 段参数值 
                    int posx_1 = LTDMC.dmc_get_position(_CardID, 0);
                    int posy_1 = LTDMC.dmc_get_position(_CardID, 1);
                  //  int posb_1 = LTDMC.dmc_get_position(_CardID, 5);
                    LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);
                    LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);
                  //  LTDMC.dmc_set_s_profile(_CardID, 5, 0, 0.01);
                    LTDMC.dmc_set_profile(_CardID, 0, 500, 3000, 0.1, 0.1, 100);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_set_profile(_CardID, 1, 500, 3000, 0.1, 0.1, 100);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                 //   LTDMC.dmc_set_profile(_CardID, 5, 1000, 3000, 0.1, 0.1, 1000);//设置起始速度、运行速度、停止速度、加速时间、减速时间        
                    LTDMC.dmc_set_homemode(_CardID, 0, (ushort)0, 1, 1, 0);//设置回零模式
                    LTDMC.dmc_set_homemode(_CardID, 1, (ushort)0, 1, 1, 0);//设置回零模式
                  //  LTDMC.dmc_set_homemode(_CardID, 5, (ushort)0, 1, 1, 0);//设置回零模式
                    LTDMC.dmc_home_move(_CardID, 0);
                    LTDMC.dmc_home_move(_CardID, 1);
                  //  LTDMC.dmc_home_move(_CardID, 5);
                    LTDMC.dmc_set_position(_CardID, 0, 0);
                    LTDMC.dmc_set_position(_CardID, 1, 0);
                 //   LTDMC.dmc_set_position(_CardID, 5, 0);
                }
                catch (Exception a)
                {

                    throw a;
                }
            }
            else
            {
                MessageBox.Show("先伺服使能");
            }

        }

        // private void button4_MouseDown(object sender, MouseEventArgs e)
        // {
        //  if (sender.ToString()==this.button1.Text)
        //  { 
        //        LTDMC.dmc_set_s_profile(_CardID, axis, 0, 0.01);//设置S段时间(0-0.05s)       设置情况下为s型运动 不设置为梯形运动
        //    LTDMC.dmc_set_profile(_CardID, axis, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
        //    LTDMC.dmc_vmove(_CardID, axis, dir);//连续运动

        // }
        // else
        // {
        //
        // }


        //   }

        private void button4_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

      
        #region 单轴连续运动函数
        #region Y轴单轴运动按下
        //上
        private void y_downshang()
        {
            double start = 1000;
            double speed = 3000;
            double acc = 1000;
            double dec = 0.1;
            double stop = 0.1;
            LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
            LTDMC.dmc_set_profile(_CardID, 1, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
            LTDMC.dmc_vmove(_CardID, 1, 0);//连续运动   
        }
        //下
        private void y_downxia()
        {
            double start = 1000;
            double speed = 3000;
            double acc = 1000;
            double dec = 0.1;
            double stop = 0.1;
            LTDMC.dmc_set_s_profile(_CardID, 1, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
            LTDMC.dmc_set_profile(_CardID, 1, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
            LTDMC.dmc_vmove(_CardID, 1, 1);//连续运动        负方向
        }

        #endregion
        #region   Y轴单轴运动松开
        //上
        private void y_up()
        {
            LTDMC.dmc_stop(_CardID, 1, 1); //1 立即停止  0减速停止  
        }
        //下
        #endregion
        #region   X轴单轴运动按下
        //左
        private void x_downleft()
        {
            double start = 1000;
            double speed = 3000;
            double acc = 1000;
            double dec = 0.1;
            double stop = 0.1;
            LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
            LTDMC.dmc_set_profile(_CardID, 0, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
            LTDMC.dmc_vmove(_CardID, 0, 0);//连续运动        负方向
        }
        //右
        private void x_downyou()
        {
            double start = 1000;
            double speed = 3000;
            double acc = 1000;
            double dec = 0.1;
            double stop = 0.1;
            LTDMC.dmc_set_s_profile(_CardID, 0, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
            LTDMC.dmc_set_profile(_CardID, 0, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
            LTDMC.dmc_vmove(_CardID, 0, 1);//连续运动        正方向
        }
        #endregion
        #region   X轴单轴运动松开
        //左
        private void x_up()
        {
            LTDMC.dmc_stop(_CardID, 0, 1); //1 立即停止  0减速停止 
        }
        //右
        #endregion 
        #region B轴按下
        //宽
                private void b_downkuan()
        {
            double start = 1000;
            double speed = 2000;
            double acc = 1000;
            double dec = 0.1;
            double stop = 0.1;
            LTDMC.dmc_set_s_profile(_CardID, 5, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
            LTDMC.dmc_set_profile(_CardID,5, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
            LTDMC.dmc_vmove(_CardID, 5, 0);//连续运动   
        }

        //窄
                private void b_downzhai()
                {
                    double start = 1000;
                    double speed = 2000;
                    double acc = 1000;
                    double dec = 0.1;
                    double stop = 0.1;
                    LTDMC.dmc_set_s_profile(_CardID, 5, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                    LTDMC.dmc_set_profile(_CardID, 5, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_vmove(_CardID, 5, 1);//连续运动   
                }
        #endregion
        #region B轴松开
                private void b_up()
                {
                    LTDMC.dmc_stop(_CardID, 5, 1); //1 立即停止  0减速停止 
                }
        #endregion
        #region Z轴按下
        //前进
                private void z_downqianjin()
                {
                    double start = 4000;
                    double speed = 8000;
                    double acc = 0.1;
                    double dec = 0.1;
                    double stop = 4000;
                    LTDMC.dmc_set_s_profile(_CardID, 5, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                    LTDMC.dmc_set_profile(_CardID, 5, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_vmove(_CardID, 5, 1);//连续运动 
                    LTDMC.dmc_set_s_profile(_CardID, 4, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                    LTDMC.dmc_set_profile(_CardID, 4, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_vmove(_CardID, 4, 1);//连续运动 
                }
        //后退
                private void z_downhoutui()
                {
                    double start = 1000;
                    double speed = 2000;
                    double acc = 1000;
                    double dec = 0.1;
                    double stop = 0.1;
                    LTDMC.dmc_set_s_profile(_CardID, 3, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                    LTDMC.dmc_set_profile(_CardID, 3, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_vmove(_CardID, 3, 0);//连续运动 
                    LTDMC.dmc_set_s_profile(_CardID, 2, 0, 0.01);//设置S段时间(0-0.05s)设置情况下为s型运动 不设置为梯形运动
                    LTDMC.dmc_set_profile(_CardID, 2, start, speed, acc, dec, stop);//设置起始速度、运行速度、停止速度、加速时间、减速时间
                    LTDMC.dmc_vmove(_CardID, 2, 0);//连续运动 
                }
        #endregion
        #region Z轴松开
                private void z_up()
                {
                    LTDMC.dmc_stop(_CardID, 4, 1); //1 立即停止  0减速停止 
                    LTDMC.dmc_stop(_CardID, 5, 1); //1 立即停止  0减速停止 
                }
        #endregion
        #endregion


                private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LTDMC.dmc_emg_stop(_CardID);
        }

        private int posx_1()
        {
            int posx_1 = LTDMC.dmc_get_position(_CardID, 0);
            return posx_1;
        }

        private int posy_1()
        {
            int posy_1 = LTDMC.dmc_get_position(_CardID, 1);
            return posy_1;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {




            posy_1();
            posx_1();
            this.textBox1.Text = posx_1().ToString();
            this.textBox2.Text = posy_1().ToString();
            if (true)
            {

            }
        }


        #region 单轴鼠标单击松开触发事件
        private void button1_MouseDown(object sender, MouseEventArgs e)
        {
            y_downshang();
        }

        private void button1_MouseUp(object sender, MouseEventArgs e)
        {
            y_up();
        }

        private void button2_MouseDown(object sender, MouseEventArgs e)
        {
            y_downxia();
        }

        private void button2_MouseUp(object sender, MouseEventArgs e)
        {
            y_up();
        }

        private void button3_MouseDown(object sender, MouseEventArgs e)
        {
            x_downleft();
        }

        private void button3_MouseUp(object sender, MouseEventArgs e)
        {
            x_up();
        }

        private void button4_MouseDown(object sender, MouseEventArgs e)
        {
            x_downyou();
        }

        private void button4_MouseUp(object sender, MouseEventArgs e)
        {
            x_up();
        }
        
        private void button8_MouseDown(object sender, MouseEventArgs e)
        {
            z_downqianjin();
        }

        private void button8_MouseUp(object sender, MouseEventArgs e)
        {
            z_up();
            
        }

        private void button9_MouseDown(object sender, MouseEventArgs e)
        {
            z_downhoutui();
            
        }

        private void button9_MouseUp(object sender, MouseEventArgs e)
        {
            z_up();
        }

        private void button6_MouseDown(object sender, MouseEventArgs e)
        {
            b_downkuan();
        }

        private void button6_MouseUp(object sender, MouseEventArgs e)
        {
            b_up();
        }

        private void button7_MouseDown(object sender, MouseEventArgs e)
        {
            b_downzhai();
        }

        private void button7_MouseUp(object sender, MouseEventArgs e)
        {
            b_up();
        }
        #endregion
    }
}