Exemple #1
0
        public bool JogMove(short Axis, double dAcc, double dDec, double dVel)
        {
            short sRtn;

            if (Axis < 8 && Axis > -1)
            {
                lock (lockObj)
                {
                    Axis++;
                    gts.mc.TJogPrm jog = new gts.mc.TJogPrm();
                    jog.acc = dAcc;
                    jog.dec = dDec;

                    sRtn = gts.mc.GT_ClrSts((short)usCardNo, Axis, 8);             //清除轴报警和限位
                    sRtn = gts.mc.GT_PrfJog((short)usCardNo, Axis);                //设置为jog模式
                    sRtn = gts.mc.GT_SetJogPrm((short)usCardNo, Axis, ref jog);    //设置jog运动参数
                    sRtn = gts.mc.GT_SetVel((short)usCardNo, Axis, dVel / 1000.0); //设置目标速度
                    sRtn = gts.mc.GT_Update((short)usCardNo, 1 << (Axis - 1));     //更新轴运动
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public override bool JogMove(int nAxisNo, bool bPositive, int bStart, double nSpeed)
        {
            nAxisNo += 1;
            double speed = nSpeed;
            double Acc   = 0;
            double Dcc   = 0;

            TranMMToPluse(nAxisNo, ref speed, ref Acc, ref Dcc);

            gts.mc.TJogPrm trap = new gts.mc.TJogPrm();
            if (0 == gts.mc.GT_ClrSts((short)m_nCardIndex, (short)nAxisNo, 8) &&
                0 == gts.mc.GT_PrfJog((short)m_nCardIndex, (short)nAxisNo) &&
                0 == gts.mc.GT_GetJogPrm((short)m_nCardIndex, (short)nAxisNo, out trap))
            {
                trap.acc = 0.1;
                trap.dec = 0.1;
                if (0 == gts.mc.GT_SetJogPrm((short)m_nCardIndex, (short)nAxisNo, ref trap) &&
                    0 == gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, bPositive ? (double)nSpeed : (double)-nSpeed) &&
                    0 == gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)))
                {
                    return(true);
                }
            }
            return(false);
        }
Exemple #3
0
        public bool StartSearchLimit(short axis, double dAcc, double dDec, double dCatchSpeed)
        {
            short sRtn;

            bHomeStop[axis] = false;
            bHomeDone[axis] = false;
            bHomeLast[axis] = false;
            if (axis < 8 && axis > -1)
            {
                lock (lockObj)
                {
                    axis++;
                    gts.mc.TJogPrm jog = new gts.mc.TJogPrm();
                    jog.acc = dAcc;
                    jog.dec = dDec;

                    sRtn = gts.mc.GT_ClrSts((short)usCardNo, axis, 1);                    //清除轴报警和限位
                    sRtn = gts.mc.GT_PrfJog((short)usCardNo, axis);                       //设置为jog模式
                    sRtn = gts.mc.GT_SetJogPrm((short)usCardNo, axis, ref jog);           //设置jog运动参数
                    sRtn = gts.mc.GT_SetVel((short)usCardNo, axis, dCatchSpeed / 1000.0); //设置目标速度
                    sRtn = gts.mc.GT_Update((short)usCardNo, 1 << (axis - 1));            //更新轴运动
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }