示例#1
0
        //Display용 모듈 순서
        /// <summary>
        /// 초기화함수
        /// </summary>
        /// <returns>성공했는지 실패했는지 여부</returns>
        public bool Init()
        {
            // Load Motion & DIO devices //
            int nNumAxes = 0;

            if (Cmmsdk.cmmGnDeviceLoad((int)MotnDefines._TCmBool.cmTRUE, ref nNumAxes) != MotnDefines.cmERR_NONE)
            {
                Log.ShowMessage("Dio", "Comizoa Device Loading Error");
                return(false);
            }

            //Input 전체 채널 개수
            Cmmsdk.cmmAdvGetNumAvailDioChan((int)MotnDefines._TCmBool.cmTRUE, ref m_iMaxIn); //현재 사용 가능한 Input채널 갯수를 찾는다.(첫번째 인자가 False이면 Output)

            //Output 전체 채널 개수
            Cmmsdk.cmmAdvGetNumAvailDioChan((int)MotnDefines._TCmBool.cmFALSE, ref m_iMaxOut); //현재 사용 가능한 Input채널 갯수를 찾는다.(첫번째 인자가 False이면 Output)

            m_aModuleInfo         = new TModuleInfo();
            m_aModuleInfo.iCntIn  = m_iMaxIn;
            m_aModuleInfo.iCntOut = m_iMaxOut;

            return(true);

            //Input모듈 개수 찾는곳
            //for (int i = 0; i < m_iMaxIn; i++)
            //{
            //    //이거 안될수도 있음 확인해야함. 진섭.
            //    //해당 함수는 IsInputChannel  인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 Instance를 반환합니다.
            //    //Instance는 같은 종류의 장치(ex SD404 2장)을 사용할 경우 각 장치를 구분하기 위한 숫자로 0번부터 시작합니다.
            //    Cmmsdk.cmmAdvGetDioDevInstance(i, (int)MotnDefines._TCmBool.cmTRUE, ref m_iInModuleCnt); //Axis: DevInstance를 확인할 채널
            //                                                                                          //IsInputChannel : input, output 선택( 1 : Input, 0 : Output)
            //                                                                                          //DevInstance: 선택 된 채널의 장치의 Instance
            //}

            //Output 모듈 개수 찾는곳
            //for (int o = 0; o < m_iMaxOut; o++)
            //{
            //    //이거 안될수도 있음 확인해야함. 진섭.
            //    //해당 함수는 IsInputChannel  인자로 선택 된 Input 혹은 Output의 Axis 인자로 선택 된 채널의 장치 Instance를 반환합니다.
            //    //Instance는 같은 종류의 장치(ex SD404 2장)을 사용할 경우 각 장치를 구분하기 위한 숫자로 0번부터 시작합니다.
            //    Cmmsdk.cmmAdvGetDioDevInstance(o, (int)MotnDefines._TCmBool.cmFALSE, ref m_iOutModuleCnt); //Axis: DevInstance를 확인할 채널
            //                                                                                          //IsInputChannel : input, output 선택( 1 : Input, 0 : Output)
            //                                                                                          //DevInstance: 선택 된 채널의 장치의 Instance
            //}

            //m_iModuleCnt = 0;
            //m_iModuleCnt = m_iInModuleCnt + m_iOutModuleCnt;
            //m_aModuleInfo = new TModuleInfo[m_iModuleCnt];
        }