라이브러리 초기화 실패
- 현창원
- 2025-01-17
- 178
업체 정보는 상위에 등록되므로, 별도 기재하시지 않으셔도 됩니다.
현재 사용중인 보드및 Ezconfig/라이브러리 버전 정보입니다.
Initialize library fail 이발생하고있습니다.
1. 라이브러리 초기화가 안되는 경우가 어떤때 발생할수있나요?
BOOL CIoCardEzUC::InitDIO()
{
// Initialize library
DWORD Code = AxlOpenNoReset(7);
if (Code == AXT_RT_SUCCESS)
{
TRACE("Library is initialized . ");
DWORD dwStatus;
// Inspect if DIO module exsits
Code = AxdInfoIsDIOModule(&dwStatus);
if (dwStatus == STATUS_EXIST)
{
TRACE(_T("DIO module exists. "));
long IModuleCounts;
Code = AxdInfoGetModuleCount(&IModuleCounts);
if (Code == AXT_RT_SUCCESS)
TRACE(_T("Number of DIO module: %d "), IModuleCounts);
else
TRACE(_T("AxdInfoGetModuleCount() : ERROR code Ox%x "), Code);
long IInputCounts;
long IOutputCounts;
long IBoardNo;
long IModulePos;
DWORD dwModuleID;
CString strData;
for (int ModuleNo = 0; ModuleNo < IModuleCounts; ModuleNo++)
{
// Grasp IO channel
AxdInfoGetInputCount(ModuleNo, &IInputCounts);
AxdInfoGetOutputCount(ModuleNo, &IOutputCounts);
if (AxdInfoGetModule(ModuleNo, &IBoardNo, &IModulePos, &dwModuleID) == AXT_RT_SUCCESS)
{
m_nModuleNo = ModuleNo;
switch (dwModuleID)
{
case AXT_SIO_RDI32MLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDI32MLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDI32MSMLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDI32MSMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDI32PMLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDI32PMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDI32RTEX: strData.Format(_T("[BD No:%d - MD No:%d],RDI32RTEX"), IBoardNo, ModuleNo); break;
case AXT_SIO_DI32_P: strData.Format(_T("[BD No:%d - MD No:%d],DI32_P"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDI32: strData.Format(_T("[BD No:%d - MD No:%d],RDI32"), IBoardNo, ModuleNo); break;
case AXT_SIO_DI32: strData.Format(_T("[BD No:%d - MD No:%d],DI32"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO32MLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDO32MLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO32AMSMLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDO32AMSMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO32PMLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDO32PMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO16AMLII: strData.Format(_T("[BD No:%d - MD No:%d],RDO16AMLII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO16BMLII: strData.Format(_T("[BD No:%d - MD No:%d],RDO16BMLII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO32RTEX: strData.Format(_T("[BD No:%d - MD No:%d],RDO32RTEX"), IBoardNo, ModuleNo); break;
case AXT_SIO_DO32T_P: strData.Format(_T("[BD No:%d - MD No:%d],DO32T_P"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDO32: strData.Format(_T("[BD No:%d - MD No:%d],RDO32"), IBoardNo, ModuleNo); break;
case AXT_SIO_DO32P: strData.Format(_T("[BD No:%d - MD No:%d],DO32P"), IBoardNo, ModuleNo); break;
case AXT_SIO_DO32T: strData.Format(_T("[BD No:%d - MD No:%d],DO32T"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB32MLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDB32MLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB32PMLIII: strData.Format(_T("[BD No:%d - MD No:%d],RDB32PMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB128MLIIIAI: strData.Format(_T("[BD No:%d - MD No:%d],RDB128MLIIIAI"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB96MLII: strData.Format(_T("[BD No:%d - MD No:%d],RDB96MLII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB32RTEX: strData.Format(_T("[BD No:%d - MD No:%d],RDB32RTEX"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB128MLII: strData.Format(_T("[BD No:%d - MD No:%d],RDB128MLII"), IBoardNo, ModuleNo); break;
case AXT_SIO_DB32P: strData.Format(_T("[BD No:%d - MD No:%d],DB32P"), IBoardNo, ModuleNo); break;
case AXT_SIO_RDB32T: strData.Format(_T("[BD No:%d - MD No:%d],RDB32T"), IBoardNo, ModuleNo); break;
case AXT_SIO_DB32T: strData.Format(_T("[BD No:%d - MD No:%d],DB32T"), IBoardNo, ModuleNo); break;
case AXT_SIO_UNDEFINEMLIII: strData.Format(_T("[BD No:%d - MD No:%d],UNDEFINEMLIII"), IBoardNo, ModuleNo); break;
case AXT_SIO_RSIMPLEIOMLII: strData.Format(_T("[BD No:%d - MD No:%d],RSIMPLEIOMLII"), IBoardNo, ModuleNo); break;
default:
strData.Format(_T("[BD No:%d - MD No:%d] Unknown"), IBoardNo, ModuleNo);
break;
}
CString strLog = _T("");
strLog.Format(_T("[DIO],%s"), strData);
g_ShareDlg.LogProcess(enLog_SYSTEM, strLog);
}
}
}
else
{
AfxMessageBox(_T("Module not exist."));
return FALSE;
}
}
else
{
AfxMessageBox(_T("Failed initialization."));
return FALSE;
}
return TRUE;
}
안녕하십니까 아진엑스텍입니다.
안녕하십니까 아진엑스텍입니다.
문의주신 Q&A는 메일로 답변드렸습니다. 확인부탁드립니다