예제 #1
0
        /// <summary>
        /// 홈센서 기준 절대 위치로 다축 이동.
        /// </summary>
        /// <param name="Para.iPhysicalNos">이동할축들 0번이 마스터</param>
        /// <param name="_dPoses">이동할 위치 펄스단위</param>
        /// <param name="_dVel">이동할 속도 펄스단위</param>
        /// <param name="_dAcc">이동할 가속 펄스단위</param>
        /// <param name="_dDec">이동할 감속 펄스단위</param>
        /// <returns>성공여부</returns>
        /// 일단 2축만 구현한다.
        /// 축번호는 오름차순으로 배열 해야함.
        public void GoMultiAbs(int [] _iPhysicalNos, double [] _dPoses, double _dVel, double _dAcc, double _dDec)
        {
            if (_iPhysicalNos.Count() > 3 || _dPoses.Count() > 3)
            {
                return;
            }
            if (_iPhysicalNos.Count() < 2 || _dPoses.Count() < 2)
            {
                return;
            }
            if (_iPhysicalNos.Count() != _dPoses.Count())
            {
                return;
            }


            short nRet;

            nRet = NMC2.nmc_SetSpeed(m_nDevId, (short)_iPhysicalNos[0], 200, _dAcc, _dDec, _dVel);
            if (_iPhysicalNos.Count() == 2)
            {
                nRet = NMC2.nmc_Interpolation2Axis(m_nDevId, (short)_iPhysicalNos[0], (double)_dPoses[0], (short)_iPhysicalNos[1], (double)_dPoses[1], 1);
            }
            if (_iPhysicalNos.Count() == 3)
            {
                nRet = NMC2.nmc_Interpolation3Axis(m_nDevId, (short)_iPhysicalNos[0], (double)_dPoses[0], (short)_iPhysicalNos[1], (double)_dPoses[1], (short)_iPhysicalNos[2], (double)_dPoses[2], 1);
            }
        }