Example #1
0
        //梯形速度运动(T梯形速度曲线)
        public override bool AxisVelocityMove_T(int Axis, int MaxSpeed, int StopSpedDec, double Curve, Double AccSpeed, string DecSpeed, string Direct, int Position, int StartSpeed, int AccEnable, int PulseMode, out string ErrorMessage)
        {
            int State = -1;

            if (Dmc1000_Dll.d1000_check_done(Axis) == 0)
            {
                ErrorMessage = Convert.ToString(Axis) + "轴正在运行";
                return(false);
            }


            State = Dmc1000_Dll.d1000_set_sd(Axis, AccEnable);//设置减速开关是否有效
            if (State != ERR_NoError)
            {
                ErrorMessage = Convert.ToString(Axis) + "轴设置减速信号使能失败";
                return(false);
            }
            else
            {
                ErrorMessage = Convert.ToString(Axis) + "轴设置减速信号使能成功";
            }


            State = Dmc1000_Dll.d1000_set_pls_outmode(Axis, PulseMode);//设置控制卡脉冲输出模式
            if (State != ERR_NoError)
            {
                ErrorMessage = Convert.ToString(Axis) + "轴设置控制卡脉冲输出模式失败";
                return(false);
            }
            else
            {
                ErrorMessage = Convert.ToString(Axis) + "轴设置控制卡脉冲输出模式成功";
            }

            State = Dmc1000_Dll.d1000_start_tv_move(Axis, StartSpeed, MaxSpeed, AccSpeed);
            if (State != ERR_NoError)
            {
                ErrorMessage = Convert.ToString(Axis) + "轴T型速度运动失败";
                return(false);
            }
            else
            {
                ErrorMessage = Convert.ToString(Axis) + "轴T型速度运动成功";
            }

            return(true);
        }