C# 固高点位运动

 #region 点位运动
        /// <summary>
        /// 点位运动
        /// </summary>
        /// <param name="axis">轴号</param>
        /// <param name="acc">加速度 </param>
        /// <param name="dec">减速度</param>
        /// <param name="vel">目标速度</param>
        /// <param name="velStart">起跳速度 默认值为 0</param>
        /// <param name="smooth">平滑时间 [0, 50]</param>
        /// <param name="pos">目标位置</param>
        public void PointMovement(short axis, double acc, double dec, double vel = 50, double velStart = 0, short smooth = 25, int pos = 0)
        {
            int sts;
            uint pClock;
            TTrapPrm _trapPrm;
            //清除轴的报警和限位
            GT_ClrSts(_cardNum, axis, 1);
            //伺服使能
            GT_AxisOn(_cardNum, axis);
            //设置点位模式
            GT_PrfTrap(_cardNum, axis);
            GT_GetTrapPrm(_cardNum, axis, out _trapPrm);
            _trapPrm.acc = acc;//加速度
            _trapPrm.dec = dec;//减速度
            _trapPrm.velStart = velStart;//
            _trapPrm.smoothTime = smooth;
            GT_SetTrapPrm(_cardNum, axis, ref _trapPrm);
            GT_SetPos(_cardNum, axis, pos);
            GT_SetVel(_cardNum, axis, vel);
            GT_Update(_cardNum, (1 << (axis - 1)));
            do
            {
                // 读取AXIS轴的状态
                GT_GetSts(_cardNum, axis, out sts, 1, out pClock);
                /*  // 读取AXIS轴的规划位置
                  GT_GetPrfPos(_cardNum, axis,, 1,out pClock);*/

            } while (Convert.ToBoolean(sts & 0x400));// 等待AXIS轴规划停止
            GT_Stop(_cardNum, axis, axis);

        }
        #endregion

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值