Beispiel #1
0
        private static void Arc(object a)    //public static void XY_move(double x_p,double y_p,double z_p, double Vel,double AccDec)
        {
            short Arc_co = 0;
            int   i      = 0;

            Global.Cdefault data = a as Global.Cdefault;


            double[] mid     = { data.Aposition[0] * Global.X.dEquiv, data.Aposition[1] * Global.Y.dEquiv, data.Aposition[2] * Global.Z.dEquiv };
            double[] target  = { data.Bposition[0] * Global.X.dEquiv, data.Bposition[1] * Global.Y.dEquiv, data.Bposition[2] * Global.Y.dEquiv };;
            ushort   AxisNum = 3;
            int      cricle  = -1;  //圈数:

            #region
            //    负数:表示此时执行的为空间圆弧插补
            //    该值的绝对减 1表示空间圆弧的圈数。如, 表示空间圆弧的圈数。如, -1即表示 0圈 空间圆弧, -2即表示 1圈空间圆弧…
            //    自然数:表示此时执行的为圆柱螺旋线插补
            //    该值表示螺旋线的圈数。如, 0即表示 0圈螺旋线插补, 1即表示 1圈螺旋线插补…
            //    posi_mode 运动模式, 0:
            //相对坐标模式, 1:
            #endregion
            while (LTDMC.dmc_check_done_multicoor(Global.Ccard1.CarNum, 0) == 0)
            {
                i++;
                Application.DoEvents();
            }
            //卡号                  轴数         轴号                              目标位置,  圈数     模式0:相对 1:绝对
            Arc_co = LTDMC.dmc_arc_move_3points_unit(Global.Ccard1.CarNum, 0, AxisNum, new ushort[] { Global.X.axis, Global.Y.axis, Global.Z.axis }, target, mid, cricle, 1);
            i      = 0;
            Thread.Sleep(1);
            while (LTDMC.dmc_check_done_multicoor(Global.Ccard1.CarNum, 0) == 0)
            {
                i++;
                Application.DoEvents();
            }
        }
Beispiel #2
0
        //public void Vector (Global.Cdefault l_data)
        //{

        //    LTDMC.dmc_set_vector_profile_unit(CarNum, 0, 10, l_data.vel, l_data.Ade, l_data.Ade, 0);

        //}

        //public void dmc_line_unit(Global.Cdefault l_data)
        //{
        //    LTDMC.dmc_line_unit(CarNum, 0, 3, new ushort[] { 0, 1, 2 }, l_data.Bposition, 1);
        //}

        public short dmc_check_done_multicoor()
        {
            return(LTDMC.dmc_check_done_multicoor(CarNum, 0));
        }