//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]; }