Beispiel #1
0
        /// <summary>
        /// 초기화 함수.
        /// </summary>
        /// <returns>초기화 성공여부</returns>
        public bool Init()
        {
            //Local Var.
            bool   bExtCmeFile = false;
            String Path        = m_sCmePath;

            //Check Already Init.
            if (m_iTotalAxis > 0)
            {
                return(true);                  //이미 Initial 했으므로
            }
            try
            {
                if (Cmmsdk.cmmGnDeviceLoad((int)MotnDefines._TCmBool.cmTRUE, ref m_iTotalAxis) != MotnDefines.cmERR_NONE)
                {
                    Log.ShowMessage("Motor", "[Comizoa Motion]Cannot Load Device Fail!");
                    return(false);
                }
                if (m_iTotalAxis <= 0)
                {
                    Log.ShowMessage("Motor", "[Comizoa Motion]Cannot Load Device (Load Axis is Zero!)");
                    return(false);
                }
                //Check Exist CME2 File.
                //bExtCmeFile = FNC.FileExists(Path);
                //if (bExtCmeFile) Cmmsdk.cmmGnInitFromFile(Path);
                //Cmmsdk.cmmAdvGetNumDefinedAxes(ref m_iTotalAxis);
            }
            catch (Exception ex)
            {
                Log.Trace("TAxisComi. Open " + ex.ToString());
            }
            //Return.
            return(m_iTotalAxis > 0);
        }
Beispiel #2
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];
        }