Esempio n. 1
0
        /// <summary>
        /// 초기화 함수.
        /// </summary>
        /// <returns>초기화 성공여부</returns>
        public bool Init()
        {
            Para = new CParaMotorAxl();

            //통합 보드 초기화 부분.
            if (CAXL.AxlIsOpened() == 0)
            {                                    // 통합 라이브러리가 사용 가능하지 (초기화가 되었는지) 확인
                if (CAXL.AxlOpenNoReset(7) != 0) //초기화 사용 하지 않는 오픈.
                {                                // 통합 라이브러리 초기화
                    Log.ShowMessage("Motor", "AJIN AXL Lib Loading Error");
                    return(false);
                }
            }
            uint uStatus = 0;
            uint uRet    = CAXM.AxmInfoIsMotionModule(ref uStatus);

            if (uRet != 0)
            {
                Log.ShowMessage("Motor", "AJIN AXL Motion Module Loading Error");
                return(false);
            }

            //public static extern uint AxmInfoIsMotionModule(ref uint upStatus);



            return(true);
        }
Esempio n. 2
0
 public void Close()
 {
     // Ajinextek 시스템 초기화 되었는가?
     if (CAXL.AxlIsOpened() != 0)
     {
         CAXL.AxlClose();
     }
 }
Esempio n. 3
0
        //상속된것들.
        public bool Init()
        {
            //통합 보드 초기화 부분.
            if (CAXL.AxlIsOpened() == 0)
            {                           // 통합 라이브러리가 사용 가능하지 (초기화가 되었는지) 확인
                if (CAXL.AxlOpenNoReset(7) != 0)
                {                       // 통합 라이브러리 초기화
                    Log.ShowMessage("Dio", "AJIN AXL Lib Loading Error");
                    return(false);
                }
            }

            uint uiStatus = 0;
            uint uiRet    = CAXD.AxdInfoIsDIOModule(ref uiStatus);

            if (uiRet != 0)
            {
                if (uiStatus == 0)
                {
                    Log.ShowMessage("Dio", "AJIN AXL No Exist IO Module");
                }
                else
                {
                    Log.ShowMessage("Dio", "AJIN AXL Init Failed");
                }

                return(false);
            }



            //모듈 정보 확인 부분.
            //InPut OutPut Count Set
            CAXD.AxdInfoGetModuleCount(ref m_iModuleCnt);


            //Get Max I Module , O Module Count.
            int iInputCnt = 0, iOutputCnt = 0;


            m_aModuleInfo = new TModuleInfo[m_iModuleCnt];
            for (int i = 0; i < m_iModuleCnt; i++)
            {
                CAXD.AxdInfoGetInputCount(i, ref iInputCnt);
                CAXD.AxdInfoGetOutputCount(i, ref iOutputCnt);

                m_iMaxIn  += iInputCnt;
                m_iMaxOut += iOutputCnt;

                m_aModuleInfo[i].iCntIn  = iInputCnt;
                m_aModuleInfo[i].iCntOut = iOutputCnt;
                //m_aModuleInfo[i].uData   = 0         ;
            }

            return(true);
        }
Esempio n. 4
0
        public void Initialize()
        {
            // Ajinextek 시스템 초기화 되었는가?
            if (CAXL.AxlIsOpened() != 0)
            {
                return;
            }

            // Ajinextek 시스템 초기화
            Validate(CAXL.AxlOpen(0));

            InitializeDIO();
            InitializeAxes();
        }
Esempio n. 5
0
 public bool IsEmergency()
 {
     if (CAXL.AxlIsOpened() == 1)
     {
         uint value = 0;
         CAXD.AxdiReadInportBit(0, 0, ref value);
         if (value == 1)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
Esempio n. 6
0
        public void initLibrary()
        {
            try
            {
                if ((CAXL.AxlIsOpened() == (int)AXT_FUNC_RESULT.AXT_RT_OPEN_ALREADY))
                {
                    return;
                }
                if (CAXL.AxlOpen(7) != (uint)AXT_FUNC_RESULT.AXT_RT_SUCCESS)
                {
                    msgBox.ShowMessage("아젠보드 오류", "아젠 보드 초기화 오류", "현재 아젠 보드가 시스템에 장착되어 있지 않거나 정상적으로 인스톨되어 있지 않습니다.\r\n\r\n제어판에서 확인하십시요!");//("Intialize Fail..!!");
                    return;
                }

                if (this.DigitalIO_Open() == false)
                {
                    msgBox.ShowMessage("AT 보드 오류", "AT 보드 DIO 오류",
                                       "현재 DIO 보드가 시스템에 장착되어 있지 않거나 정상적으로 인스톨되어 있지 않습니다.\r\n\r\n제어판에서 확인하십시요!");
                }

                int uAxisCount = 0;

                uint upStatus = 0;

                upStatus = CAXM.AxmInfoGetAxisCount(ref uAxisCount);

                if (CAXM.AxmInfoIsMotionModule(ref upStatus) == (uint)AXT_FUNC_RESULT.AXT_RT_SUCCESS)
                {
                    if (upStatus != (uint)AXT_EXISTENCE.STATUS_EXIST)
                    {
                        msgBox.ShowMessage("모션 모듈", "모션 모듈 에러.", "현재 모션 모듈을 찾지 못했습니다. 시스템을 확인해 주십시요!");
                    }
                }
            }
            catch (System.Exception ex)
            {
                msgBox.ShowMessage("AT Main Control Board", "AT Main Control Board Initializing Error", "System에서 AT Main Control Board를 찾지 못했습니다. System의 내용을 \r\n\r\n제어판에서 확인하십시요!");
            }
        }
Esempio n. 7
0
        //상속된것들.
        public bool Init()
        {
            //통합 보드 초기화 부분.
            if (CAXL.AxlIsOpened() == 0)
            {                           // 통합 라이브러리가 사용 가능하지 (초기화가 되었는지) 확인
                if (CAXL.AxlOpenNoReset(7) != 0)
                {                       // 통합 라이브러리 초기화
                    Log.ShowMessage("Aio", "AJIN AXL Lib Loading Error");
                    return(false);
                }
            }

            uint uiStatus = 0;
            uint uiRet    = CAXA.AxaInfoIsAIOModule(ref uiStatus);

            if (uiRet != 0)
            {
                if (uiStatus == 0)
                {
                    Log.ShowMessage("Dio", "AJIN AXL No Exist IO Module");
                }
                else
                {
                    Log.ShowMessage("Dio", "AJIN AXL Init Failed");
                }

                return(false);
            }



            //모듈 정보 확인 부분.
            //InPut OutPut Count Set
            CAXA.AxaInfoGetModuleCount(ref m_iModuleCnt);


            //Get Max I Module , O Module Count.
            int iInputCnt = 0, iOutputCnt = 0;


            m_aModuleInfo = new TModuleInfo[m_iModuleCnt];
            for (int i = 0; i < m_iModuleCnt; i++)
            {
                CAXA.AxaInfoGetInputCount(i, ref iInputCnt);
                CAXA.AxaInfoGetOutputCount(i, ref iOutputCnt);

                m_iMaxIn  += iInputCnt;
                m_iMaxOut += iOutputCnt;

                m_aModuleInfo[i].iCntIn  = iInputCnt;
                m_aModuleInfo[i].iCntOut = iOutputCnt;
            }

            //Range Setting
            if (dMin < -10 || dMin > 10)
            {
                dMin = 0;
            }
            if (dMax < -10 || dMax > 10)
            {
                dMax = 0;
            }
            for (int i = 0; i < m_iMaxIn; i++)
            {
                CAXA.AxaiSetRange(i, dMin, dMax);
                CAXA.AxaiSetTriggerMode(i, 1);        //1 - Normal Trigger , 2 - Timer Trigger , 3 - External Trigger
                //CAXA.AxaiHwSetBufferOverflowMode(i, 0);
                //CAXA.AxaiHwSetSamplePeriod(i, 100);
                //CAXA.AxaiHwSetSampleFreq(i, 10);
                //CAXA.AxaiHwGetSampleFreq(0, ref d1);
            }
            for (int i = 0; i < m_iMaxOut; i++)
            {
                CAXA.AxaoSetRange(i, dMin, dMax);
            }



            return(true);
        }