예제 #1
0
        /// <summary>
        /// 현재 파라미터들을 아진 함수를 이용하여 세팅함.
        /// </summary>


        public void ApplyPara(double _dPulsePerUnit)
        {
            m_dPulsePerUnit = _dPulsePerUnit;

            //포트관련. 원래 있던 포트는 다른애가 쓸수도 있어서 그냥 냅둔다.
            //한번 여기 타면 파일에 저장 되어서 다음에 켤때는 생성 안됌.
            if (!OpenPorts.Contains(Para.iPortNo))
            {
                m_bConnected = false;
                Init();
            }

            if (!m_bConnected)
            {
                return;
            }

            int iRet = 0;

            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 0, (int)9);               //레졸루션 10000 ;
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 1, (int)500000);          //맥스스피드.
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 2, (int)1);               //시작스피드
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 26, (int)0);              //인포지션밸류.

            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 28, Para.bDirection?1:0); //모터방향.
        }
예제 #2
0
        /// <summary>
        /// 홈을 수행한다.
        /// </summary>
        /// <returns>수행 성공여부.</returns>
        public bool GoHome(double _dHomeVelFirst, double _dHomeVelLast, double _dHomeAccFirst)
        {
            int iRet = 0;

            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 17, (int)_dHomeVelFirst);                           //홈속도
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 18, (int)_dHomeVelLast);                            //홈 엣지스캔속도
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 19, (int)(1000 * _dHomeVelFirst / _dHomeAccFirst)); //홈 가감속 시간.


            int iVal = (int)Para.eHomeMethode;

            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 20, iVal);                                      //홈 잡는 방법. ?? 좀 이상하다 ;;
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 21, (int)1);                                    //-방향.
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 22, (int)(Para.dHomeOffset * m_dPulsePerUnit)); //홈잡고 오프셑
            iRet = EziMOTIONPlusRLib.FAS_SetParameter((byte)Para.iPortNo, (byte)Para.iMotorID, 23, (int)0);                                    //홈잡고 포지션 세팅값.


            iRet = EziMOTIONPlusRLib.FAS_MoveOriginSingleAxis((byte)Para.iPortNo, (byte)Para.iMotorID);


            return(iRet == EziMOTIONPlusRLib.FMM_OK);
        }