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(); } }
//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)); }