/// <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); }
public void Close() { // Ajinextek 시스템 초기화 되었는가? if (CAXL.AxlIsOpened() != 0) { CAXL.AxlClose(); } }
//상속된것들. 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); }
public void Initialize() { // Ajinextek 시스템 초기화 되었는가? if (CAXL.AxlIsOpened() != 0) { return; } // Ajinextek 시스템 초기화 Validate(CAXL.AxlOpen(0)); InitializeDIO(); InitializeAxes(); }
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); } }
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제어판에서 확인하십시요!"); } }
//상속된것들. 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); }