Ongoing60 #3517 CF AOI Review 자가진단 기능 개선
1차 커밋 내용
1) 진직도 자가진단 UI 모듈별 분리
2) 시뮬레이션 정상화
3) WSI 데이터 추가
4) 초기 셋팅값 설정 및 기준점으로 적용
| | |
| | | measureResult.nWsiState = pPacket->GetInt(3); |
| | | measureResult.dAccuracy = pPacket->GetDouble(0); |
| | | measureResult.dRepeatability = pPacket->GetDouble(1); |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | measureResult.dDiagnosisHeight[i] = pPacket->GetDouble(i + 2); |
| | | } |
| | | m_pWC2P->IWC2P_DisplayMessage(m_nIndex,_T("VLSI state %d ACC %f RTB %f"),measureResult.nWsiState,measureResult.dAccuracy ,measureResult.dRepeatability); |
| | | } |
| | | break; |
| | |
| | | int nWsiState; |
| | | double dAccuracy; |
| | | double dRepeatability; |
| | | double dDiagnosisHeight[10]; |
| | | |
| | | bool bBigSizeDefect; |
| | | |
| | |
| | | file.GetItem(_T("FLATNESS_JUDGE_DATA_Z_RANGE"), m_dJudgeData_ZRange, 0); |
| | | file.GetItem(_T("FLATNESS_GLASS_X"), m_nGlassSizeX, 0); |
| | | file.GetItem(_T("FLATNESS_GLASS_Y"), m_nGlassSizeY, 0); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | file.GetItem(_T("FLATNESS_SKIPMODE"), m_nFlatnessSkipMode, 0); |
| | | file.GetItem(_T("SQUARENESS_STANDARD"), m_dSquarenessStandard, 0); |
| | | file.GetItem(_T("SQUARENESS_STANDARD2"), m_dSquarenessStandard2, 0); |
| | | file.GetItem(_T("WSI_STANDARD"), m_dWSIStandard, 0); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | file.GetItem(_T("FLATNESS_MODE"), m_nFlatnessMode, 0); |
| | | file.GetItem(_T("FLATNESS_RANGECOUNT"), m_nRangeCount_Flatness, 0); |
| | | file.GetItem(_T("WSI_PANEL_COUNT"), m_nPanelCount_Wsi, 0); |
| | |
| | | return CreateDirectory(strTemp, NULL); |
| | | } |
| | | |
| | | BOOL CDiagnosisManager::CheckManualMode() |
| | | { |
| | | if (m_pDP2P->IDP2P_CheckManualMode() == TRUE) |
| | | { |
| | | return TRUE; |
| | | } |
| | | return FALSE; |
| | | } |
| | | |
| | | int CDiagnosisManager::SetDiagnosisResultCount_Squareness(int nCount) |
| | | { |
| | | if (nCount == int(m_vecDiagnosisResult_Squareness.size())) return int(m_vecDiagnosisResult_Squareness.size()); |
| | |
| | | { |
| | | if (pParameter == NULL) return; |
| | | |
| | | CString strMessage = ""; |
| | | |
| | | CDiagnosisProcessData* pProcessData = static_cast<CDiagnosisProcessData*>(pParameter); |
| | | int nProcessMode = pProcessData->nProcessMode; |
| | | |
| | |
| | | m_pManager->m_bProcessAll = true; |
| | | ProcessAll(); |
| | | break; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | case DiagnosisMode_Review : |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisMode_Review START")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | |
| | | m_pManager->m_bProcessAll = false; |
| | | if (IsCommandStop()) return; |
| | | m_pDP2P->IDP2P_SetDialogTap(0); |
| | | ProcessSquareness(); |
| | | Sleep(1000); |
| | | if (IsCommandStop()) return; |
| | | m_pDP2P->IDP2P_SetDialogTap(1); |
| | | ProcessFlatness(); |
| | | Sleep(1000); |
| | | |
| | | if (ProcessDiagnosisJudge() == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisJudge FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisMode_Review END")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | |
| | | break; |
| | | |
| | | case DiagnosisMode_Wsi: |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisMode_WSI START")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | |
| | | m_pManager->m_bProcessAll = false; |
| | | if (IsCommandStop()) return; |
| | | m_pDP2P->IDP2P_UpdateDialog(7); |
| | | ProcessWsi(); |
| | | Sleep(1000); |
| | | |
| | | if (ProcessDiagnosisJudge() == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisJudge FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisMode_WSI END")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | |
| | | break; |
| | | |
| | | case DiagnosisMode_Squareness: |
| | | m_pManager->m_bProcessAll = false; |
| | | ProcessSquareness(); |
| | | Sleep(1000); |
| | | if (ProcessDiagnosisJudge() == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisJudge FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | break; |
| | | |
| | | case DiagnosisMode_Wsi: |
| | | m_pManager->m_bProcessAll = false; |
| | | ProcessWsi(); |
| | | break; |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | case DiagnosisMode_Flatness: |
| | | m_pManager->m_bProcessAll = false; |
| | | ProcessFlatness(); |
| | | Sleep(1000); |
| | | if (ProcessDiagnosisJudge() == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisJudge FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | break; |
| | | |
| | | case DiagnosisMode_Flatness_Manual: |
| | |
| | | int CDiagnosisProcessor::ProcessAll() |
| | | { |
| | | if (IsCommandStop()) return 1; |
| | | |
| | | CString strMessage = ""; |
| | | |
| | | m_pDP2P->IDP2P_UpdateDialog(7);//WSI Result 칸 초기화 |
| | | //if (m_pDP2P == NULL) return 0; |
| | |
| | | m_pDP2P->IDP2P_SetDialogTap(1); |
| | | ProcessFlatness(); |
| | | |
| | | Sleep(2000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //Sleep(2000); |
| | | Sleep(1000); |
| | | |
| | | //#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD START |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | int nSelModuleIndex = i; |
| | | |
| | | CDiagnosisInfo* pSettingInfo = m_pManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(4); |
| | | return 0; |
| | | } |
| | | |
| | | CDiagnosisResult* pProcessResult = m_pManager->GetDiagnosisResult_Squareness(nSelModuleIndex); // 0412 kyh 직각도 측정 모듈에 대한 결과정보 |
| | | if (pProcessResult == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(4); |
| | | return 0; |
| | | } |
| | | |
| | | CDiagnosisResult* pProcessWSIResult = m_pManager->GetDiagnosisResult_Wsi(nSelModuleIndex); // 0412 kyh WSI 측정 모듈에 대한 결과 정보 |
| | | if (pProcessWSIResult == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(6); |
| | | return 0; |
| | | } |
| | | |
| | | CString strMessage = _T(""); |
| | | |
| | | double dDate = (90 - pProcessResult->GetGantryDegree()); |
| | | if (abs(dDate) >= abs(pSettingInfo->GetJudgeData_Degree())) // 0412 kyh 직각도에서 나온 Dgree 값이 설정한 Judge 값보다 크거나 같을경우 |
| | | { |
| | | |
| | | m_pDP2P->IDP2P_DiagnosisSendJudgeAlarm(); // 알람 발생 |
| | | strMessage.Format(_T("[Judge Data] [Gantry %d]Diagnosis Error ! GantryDegree[%lf] Judge[%lf]"), i, dDate, pSettingInfo->GetJudgeData_Degree()); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | |
| | | if (pProcessWSIResult->getWSI_RTB() >= pSettingInfo->GetJudgeData_3Sigma() || pProcessWSIResult->getWSI_RTB() <= 0) // 0412 kyh WSI 표준편차 비교 |
| | | { |
| | | m_pDP2P->IDP2P_DiagnosisSendJudgeAlarm(); // 알람 발생 |
| | | strMessage.Format(_T("[Judge Data] [WSI %d]Diagnosis Error ! WSI RTB[%lf] Judge[%lf]"), i, pProcessWSIResult->getWSI_RTB(), pSettingInfo->GetJudgeData_3Sigma()); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | if (ProcessDiagnosisJudge() == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] DiagnosisJudge FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | //#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD END |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | |
| | | //컴플릿트 신호 보내기 |
| | | m_pDP2P->IDP2P_DiagnosisSendCompleteSig(); |
| | | m_pManager->m_bProcessAll = false; |
| | | |
| | | return 1; |
| | |
| | | int stTime = GetTickCount(); |
| | | while (1) |
| | | { |
| | | if (11000 <= GetTickCount() - stTime) |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //if (11000 <= GetTickCount() - stTime) |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | if (1000 <= GetTickCount() - stTime) |
| | | { |
| | | break; |
| | | } |
| | |
| | | |
| | | } |
| | | m_pDP2P->IDP2P_SetAFMTracking(nSelModuleIndex, TRUE); |
| | | Sleep(1000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //Sleep(1000); |
| | | Sleep(500); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | CString strimagename; |
| | | strimagename.Format(_T("%s_Module[%d]Index[%d].bmp"), m_pManager->m_strResultImageFileName, nSelModuleIndex, nIdx); |
| | | |
| | | |
| | | // find mark at panel |
| | | double dFindPixX = 0., dFindPixY = 0.; |
| | | if (m_pDP2P->IDP2P_FindPanelCenter(nSelModuleIndex, dFindPixX, dFindPixY, strimagename) == FALSE) continue; |
| | | if (m_pDP2P->IDP2P_FindPanelCenter(nSelModuleIndex, dFindPixX, dFindPixY, strimagename) == FALSE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] find mark at panel FAIL")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | continue; |
| | | } |
| | | |
| | | m_pDP2P->IDP2P_SetAFMTracking(nSelModuleIndex, FALSE); |
| | | |
| | |
| | | } |
| | | m_pDP2P->IDP2P_SetWsiManualMeasure(nSelModuleIndex, dXpos, dYpos); |
| | | // move panel |
| | | Sleep(2000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //Sleep(2000); |
| | | Sleep(1000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | m_pDP2P->IDP2P_MotorGo(nSelModuleIndex, dXpos, dYpos); |
| | | |
| | | if (m_pDP2P->IDP2P_IsGantryMotionEnd(nSelModuleIndex) == FALSE) |
| | |
| | | int stTime = GetTickCount(); |
| | | while (1) |
| | | { |
| | | if (10000 <= GetTickCount() - stTime) |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //if (10000 <= GetTickCount() - stTime) |
| | | if (1000 <= GetTickCount() - stTime) |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | { |
| | | break; |
| | | } |
| | |
| | | { |
| | | if (m_pDP2P == NULL || m_pManager == NULL) return 0; |
| | | |
| | | CString strMessage = ""; |
| | | |
| | | CDiagnosisInfo * pSettingInfo = m_pManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) return 0; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | if (pSettingInfo->GetFlastnessSkipMode() == TRUE) { |
| | | strMessage.Format(_T("[CDiagnosisProcessor] FlastnessSkipMode!")); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | return 0; |
| | | } |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | int nSelModuleIndex = m_pDP2P->IDP2P_GetSelectedModuleIndex(); |
| | | int nFlatnessMode = pSettingInfo->GetFlatnessMode(); |
| | |
| | | { |
| | | // AF Home |
| | | m_pDP2P->IDP2P_AFMHomePosition(0); |
| | | Sleep(5000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | //Sleep(5000); |
| | | Sleep(1000); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | m_pDP2P->IDP2P_SetAFMTracking(0, TRUE); |
| | | Sleep(500); |
| | | } |
| | |
| | | return TRUE; |
| | | } |
| | | |
| | | int CDiagnosisProcessor::ProcessDiagnosisJudge() |
| | | { |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | int nSelModuleIndex = i; |
| | | |
| | | CDiagnosisInfo* pSettingInfo = m_pManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(4); |
| | | return 0; |
| | | } |
| | | |
| | | CDiagnosisResult* pProcessResult = m_pManager->GetDiagnosisResult_Squareness(nSelModuleIndex); // 0412 kyh 직각도 측정 모듈에 대한 결과정보 |
| | | if (pProcessResult == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(4); |
| | | return 0; |
| | | } |
| | | |
| | | CDiagnosisResult* pProcessWSIResult = m_pManager->GetDiagnosisResult_Wsi(nSelModuleIndex); // 0412 kyh WSI 측정 모듈에 대한 결과 정보 |
| | | if (pProcessWSIResult == NULL) { |
| | | m_pDP2P->IDP2P_UpdateDialog(6); |
| | | return 0; |
| | | } |
| | | |
| | | CString strMessage = _T(""); |
| | | |
| | | double dDate = (90 - pProcessResult->GetGantryDegree()); |
| | | if (abs(dDate) >= abs(pSettingInfo->GetJudgeData_Degree())) // 0412 kyh 직각도에서 나온 Dgree 값이 설정한 Judge 값보다 크거나 같을경우 |
| | | { |
| | | |
| | | m_pDP2P->IDP2P_DiagnosisSendJudgeAlarm(); // 알람 발생 |
| | | strMessage.Format(_T("[Judge Data] [Gantry %d]Diagnosis Error ! GantryDegree[%lf] Judge[%lf]"), i, dDate, pSettingInfo->GetJudgeData_Degree()); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | |
| | | if (pProcessWSIResult->getWSI_RTB() >= pSettingInfo->GetJudgeData_3Sigma() || pProcessWSIResult->getWSI_RTB() <= 0) // 0412 kyh WSI 표준편차 비교 |
| | | { |
| | | m_pDP2P->IDP2P_DiagnosisSendJudgeAlarm(); // 알람 발생 |
| | | strMessage.Format(_T("[Judge Data] [WSI %d]Diagnosis Error ! WSI RTB[%lf] Judge[%lf]"), i, pProcessWSIResult->getWSI_RTB(), pSettingInfo->GetJudgeData_3Sigma()); |
| | | m_pDP2P->IDP2P_DisplayMessage(0, strMessage); |
| | | } |
| | | } |
| | | //#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD END |
| | | |
| | | //컴플릿트 신호 보내기 |
| | | m_pDP2P->IDP2P_DiagnosisSendCompleteSig(); |
| | | return 1; |
| | | } |
| | | |
| | | BOOL CDiagnosisProcessor::CalculateSquareness(int nIndex) |
| | | { |
| | | if (m_pDP2P == NULL || m_pManager == NULL) return 0; |
| | |
| | | </ModuleDefinitionFile> |
| | | <AdditionalLibraryDirectories>../lib;../../Internal_Library/lib;</AdditionalLibraryDirectories> |
| | | <AdditionalDependencies>CHThreadPools_x64_vc15.lib</AdditionalDependencies> |
| | | <ImportLibrary>$(SolutionDir)\lib\$(TargetName).lib</ImportLibrary> |
| | | </Link> |
| | | <Midl> |
| | | <MkTypLibCompatible>false</MkTypLibCompatible> |
| | |
| | | void CDlgSelfDiagnosis_Flatness::OnBnClickedButtonSimulation() |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | if (m_pDiagnosisManager->CheckManualMode() == FALSE) |
| | | { |
| | | CString strMessage; |
| | | strMessage.Format(_T("Change Manual Mode!!")); |
| | | if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONERROR)) |
| | | { |
| | | g_pLog->DisplayMessage(_T("Manual Diagnosis Fail! Not Manual Mode")); |
| | | return; |
| | | } |
| | | } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | if (m_bState == FALSE) |
| | | { |
| | | m_bState = TRUE; |
| | |
| | | |
| | | void CDlgSelfDiagnosis_Flatness::OnBnClickedButtonManual() |
| | | { |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | if (m_pDiagnosisManager->CheckManualMode() == FALSE) |
| | | { |
| | | CString strMessage; |
| | | strMessage.Format(_T("Change Manual Mode!!")); |
| | | if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONERROR)) |
| | | { |
| | | g_pLog->DisplayMessage(_T("Manual Diagnosis Fail! Not Manual Mode")); |
| | | return; |
| | | } |
| | | } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | m_pDiagnosisManager->ManualMeasure_Flatness(); |
| | | } |
| | | |
| | |
| | | DDX_Control(pDX, IDC_EDIT_WSI_PANEL_POS_Y, m_editPanelPosY); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_PANEL_POS_X2, m_editPanelPosX2); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_PANEL_POS_Y2, m_editPanelPosY2); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | DDX_Control(pDX, IDC_CHECK_SELF_DIAGNOSIS_FLATNESS_SKIP, m_CheckFlatnessSkip); |
| | | DDX_Control(pDX, IDC_EDIT_SQUARENESS_STANDARD, m_editSquarenessStandard); |
| | | DDX_Control(pDX, IDC_EDIT_SQUARENESS_STANDARD2, m_editSquarenessStandard2); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_STANDARD, m_editWSIStandard); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | DDX_Text(pDX, IDC_EDIT_REVIEW_PANEL_POS_X, m_dEditReviewPanelPosX); |
| | | DDX_Text(pDX, IDC_EDIT_REVIEW_PANEL_POS_Y, m_dEditReviewPanelPosY); |
| | | DDX_Text(pDX, IDC_EDIT_REVIEW_PANEL_POS_X2, m_dEditReviewPanelPosX2); |
| | |
| | | |
| | | BOOL CDlgSelfDiagnosis_Setting::ReadAutoDiagnosisConfigFile() |
| | | { |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | CString strConfigFilePath = _T(""); |
| | | strConfigFilePath.Format(_T("%s\\%s"), REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_PATH, REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_NAME); |
| | | m_pDiagnosisManager->LoadSettingConfigFile(strConfigFilePath); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) |
| | | return FALSE; |
| | | |
| | | CString strTemp = _T(""); |
| | | CString strFilePath = REVIEW_AUTO_DIAGNOSIS_SETTING_FILE_PATH; |
| | | CString strFileName = _T("AutoDiagnosisSetting.cfg"); |
| | | |
| | | m_editFilePath.SetWindowTextA(strFilePath +_T('\\') + strFileName); |
| | | m_editFilePath.SetWindowTextA(strConfigFilePath); |
| | | |
| | | strTemp.Format("%d", pSettingInfo->GetModuleCount()); |
| | | m_editModuleCount.SetWindowTextA(strTemp); |
| | |
| | | |
| | | strTemp.Format("%f", pSettingInfo->GetJudgeData_Degree()); |
| | | m_editJudgeData_Degree.SetWindowTextA(strTemp); |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | strTemp.Format("%f", pSettingInfo->GetSquarenessStandard()); |
| | | m_editSquarenessStandard.SetWindowTextA(strTemp); |
| | | |
| | | strTemp.Format("%f", pSettingInfo->GetSquarenessStandard2()); |
| | | m_editSquarenessStandard2.SetWindowTextA(strTemp); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | strTemp.Format("%d", pSettingInfo->GetCameraFrameWidth()); |
| | | m_editFrameWidth.SetWindowTextA(strTemp); |
| | |
| | | strTemp.Format("%d", pSettingInfo->GetGlassSizeY_Flatness()); |
| | | m_editGlassSizeY.SetWindowTextA(strTemp); |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | m_CheckFlatnessSkip.SetCheck(pSettingInfo->GetFlastnessSkipMode()); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | strTemp.Format("%d", pSettingInfo->GetPanelCount_Wsi()); |
| | | m_editPanelCount_Wsi.SetWindowTextA(strTemp); |
| | | |
| | | strTemp.Format("%f", pSettingInfo->GetJudgeData_3Sigma()); |
| | | m_editJudgeData_3Sigma.SetWindowTextA(strTemp); |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | strTemp.Format("%f", pSettingInfo->GetWSIStandard()); |
| | | m_editWSIStandard.SetWindowTextA(strTemp); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | strTemp.Format("%f", pSettingInfo->GetPanelPosX_Wsi()); |
| | | m_editPanelPosX.SetWindowTextA(strTemp); |
| | |
| | | nTemp = atoi(strTemp); |
| | | macroFile.SetItem(strItem, nTemp); |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | strItem.Format(_T("FLATNESS_SKIPMODE")); |
| | | nTemp = m_CheckFlatnessSkip.GetCheck(); |
| | | macroFile.SetItem(strItem, nTemp); |
| | | |
| | | strItem.Format(_T("SQUARENESS_STANDARD")); |
| | | m_editSquarenessStandard.GetWindowTextA(strTemp); |
| | | dTemp = atof(strTemp); |
| | | macroFile.SetItem(strItem, dTemp); |
| | | |
| | | strItem.Format(_T("SQUARENESS_STANDARD2")); |
| | | m_editSquarenessStandard2.GetWindowTextA(strTemp); |
| | | dTemp = atof(strTemp); |
| | | macroFile.SetItem(strItem, dTemp); |
| | | |
| | | strItem.Format(_T("WSI_STANDARD")); |
| | | m_editWSIStandard.GetWindowTextA(strTemp); |
| | | dTemp = atof(strTemp); |
| | | macroFile.SetItem(strItem, dTemp); |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | strItem.Format(_T("WSI_PANEL_COUNT")); |
| | | m_editPanelCount_Wsi.GetWindowTextA(strTemp); |
| | | nTemp = atoi(strTemp); |
| | |
| | | double m_dEditReviewPanelPosY5; |
| | | double m_dEditReviewPanelPosX6; |
| | | double m_dEditReviewPanelPosY6; |
| | | public: |
| | | CButton m_CheckFlatnessSkip; |
| | | CEdit m_editSquarenessStandard; |
| | | CEdit m_editSquarenessStandard2; |
| | | CEdit m_editWSIStandard; |
| | | }; |
| | |
| | | CDlgSelfDiagnosis_Squareness::CDlgSelfDiagnosis_Squareness(CDiagnosisManager* pDiagnosisManager, CWnd* pParent /*=nullptr*/) |
| | | : CDialogEx(IDD_DLG_SELF_DIAGNOSIS_SQUARENESS, pParent) |
| | | , m_nSelModuleIndex(0) |
| | | , m_dEditTheta(0) |
| | | , m_dEditLeftTheta(0) |
| | | , m_dEditMotorX_1(0) |
| | | , m_dEditMotorY_1(0) |
| | | , m_dEditPixelX_1(0) |
| | |
| | | , m_dEditMotorY_3(0) |
| | | , m_dEditPixelX_3(0) |
| | | , m_dEditPixelY_3(0) |
| | | , m_dEditRightTheta(0) |
| | | , m_dEditMotorX_4(0) |
| | | , m_dEditMotorY_4(0) |
| | | , m_dEditPixelX_4(0) |
| | | , m_dEditPixelY_4(0) |
| | | , m_dEditMotorX_5(0) |
| | | , m_dEditMotorY_5(0) |
| | | , m_dEditPixelX_5(0) |
| | | , m_dEditPixelY_5(0) |
| | | , m_dEditMotorX_6(0) |
| | | , m_dEditMotorY_6(0) |
| | | , m_dEditPixelX_6(0) |
| | | , m_dEditPixelY_6(0) |
| | | , m_editFirstSettingStandard(0) |
| | | , m_editFirstSettingStandard2(0) |
| | | { |
| | | m_pDiagnosisManager = pDiagnosisManager; |
| | | } |
| | |
| | | CDialogEx::DoDataExchange(pDX); |
| | | DDX_Control(pDX, IDC_GRID_GANTRY_DATA_HISTORY, m_ctrlGridGantryDataHistory); |
| | | DDX_Control(pDX, IDC_LIST, m_ctrlListFileHistory); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_THETA, m_dEditTheta); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_THETA, m_dEditLeftTheta); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_X, m_dEditMotorX_1); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_Y, m_dEditMotorY_1); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_X, m_dEditPixelX_1); |
| | |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_Y3, m_dEditMotorY_3); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_X3, m_dEditPixelX_3); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_Y3, m_dEditPixelY_3); |
| | | |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_THETA2, m_dEditRightTheta); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_X4, m_dEditMotorX_4); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_Y4, m_dEditMotorY_4); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_X4, m_dEditPixelX_4); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_Y4, m_dEditPixelY_4); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_X5, m_dEditMotorX_5); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_Y5, m_dEditMotorY_5); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_X5, m_dEditPixelX_5); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_Y5, m_dEditPixelY_5); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_X6, m_dEditMotorX_6); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_MOTOR_Y6, m_dEditMotorY_6); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_X6, m_dEditPixelX_6); |
| | | DDX_Text(pDX, IDC_EDIT_GANTRY_PIXEL_Y6, m_dEditPixelY_6); |
| | | DDX_Text(pDX, IDC_EDIT_SQUARENESS_FIRSTSETTING, m_editFirstSettingStandard); |
| | | DDX_Text(pDX, IDC_EDIT_SQUARENESS_FIRSTSETTING2, m_editFirstSettingStandard2); |
| | | //DDX_Control(pDX, IDC_BUTTON_SIMULATION, m_BtSumulation); |
| | | //DDX_Control(pDX, IDC_BUTTON_SIMULATION, m_BtSumulation); |
| | | DDX_Control(pDX, IDC_BUTTON_SIMULATION2, m_BtSumulation); |
| | |
| | | const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) return; |
| | | |
| | | const CDiagnosisResult* pStandardResult = pSettingInfo->GetSettingResult_Squareness(m_nSelModuleIndex); |
| | | if (pStandardResult == NULL) return; |
| | | m_editFirstSettingStandard = pSettingInfo->GetSquarenessStandard(); |
| | | m_editFirstSettingStandard2 = pSettingInfo->GetSquarenessStandard2(); |
| | | |
| | | if (bLoadResult) // update load file data |
| | | { |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(m_nSelModuleIndex); |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(0); |
| | | if (pResult == NULL) return; |
| | | |
| | | // result : theta, pixel position |
| | | m_dEditTheta = pResult->GetGantryDegree(); |
| | | m_dEditLeftTheta = pResult->GetGantryDegree(); |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nIndex == PanelPosition_Base) |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | | { |
| | | m_dEditPixelX_1 = pPosData->dPixelX; |
| | | m_dEditPixelY_1 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Sub) |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_2 = pPosData->dPixelX; |
| | | m_dEditPixelY_2 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Addition) |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_3 = pPosData->dPixelX; |
| | | m_dEditPixelY_3 = pPosData->dPixelY; |
| | | } |
| | | } |
| | | |
| | | pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(1); |
| | | if (pResult == NULL) return; |
| | | |
| | | // result : theta, pixel position |
| | | m_dEditRightTheta = pResult->GetGantryDegree(); |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx+3); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | | { |
| | | m_dEditPixelX_4 = pPosData->dPixelX; |
| | | m_dEditPixelY_4 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_5 = pPosData->dPixelX; |
| | | m_dEditPixelY_5 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_6 = pPosData->dPixelX; |
| | | m_dEditPixelY_6 = pPosData->dPixelY; |
| | | } |
| | | } |
| | | |
| | | } |
| | | else if (bLoadResult == FALSE && m_pDiagnosisManager->ExistStandardData() == FALSE)// update setting data |
| | | { |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(m_nSelModuleIndex); |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(0); |
| | | if (pResult == NULL) return; |
| | | |
| | | // result : theta, pixel position |
| | | m_dEditTheta = pResult->GetGantryDegree(); |
| | | m_dEditLeftTheta = pResult->GetGantryDegree(); |
| | | |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nIndex == PanelPosition_Base) |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | | { |
| | | m_dEditPixelX_1 = pPosData->dPixelX; |
| | | m_dEditPixelY_1 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Sub) |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_2 = pPosData->dPixelX; |
| | | m_dEditPixelY_2 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Addition) |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_3 = pPosData->dPixelX; |
| | | m_dEditPixelY_3 = pPosData->dPixelY; |
| | | } |
| | | } |
| | | |
| | | pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(1); |
| | | if (pResult == NULL) return; |
| | | |
| | | // result : theta, pixel position |
| | | m_dEditLeftTheta = pResult->GetGantryDegree(); |
| | | |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx+3); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | | { |
| | | m_dEditPixelX_4 = pPosData->dPixelX; |
| | | m_dEditPixelY_4 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_5 = pPosData->dPixelX; |
| | | m_dEditPixelY_5 = pPosData->dPixelY; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_6 = pPosData->dPixelX; |
| | | m_dEditPixelY_6 = pPosData->dPixelY; |
| | | } |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | int nPlanindex = 0; |
| | | |
| | | // result : theta, pixel position |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(m_nSelModuleIndex); |
| | | const CDiagnosisResult* pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(0); |
| | | if (pResult == NULL) return; |
| | | |
| | | BOOL bProcess = FALSE; |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | if (m_nSelModuleIndex == 1) |
| | | { |
| | | nPlanindex = nPIdx + 3; |
| | | } |
| | | else |
| | | { |
| | | nPlanindex = nPIdx; |
| | | } |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPlanindex); |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | |
| | | m_dEditPixelY_1 = pPosData->dPixelY; |
| | | bProcess = pPosData->bProcsss; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Sub) |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_2 = pPosData->dPixelX; |
| | | m_dEditPixelY_2 = pPosData->dPixelY; |
| | | bProcess &= pPosData->bProcsss; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Addition) |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_3 = pPosData->dPixelX; |
| | | m_dEditPixelY_3 = pPosData->dPixelY; |
| | |
| | | } |
| | | } |
| | | |
| | | m_dEditTheta = bProcess ? pResult->GetGantryDegree() : 0.; |
| | | m_dEditLeftTheta = bProcess ? pResult->GetGantryDegree() : 0.; |
| | | |
| | | pResult = m_pDiagnosisManager->GetDiagnosisResult_Squareness(1); |
| | | if (pResult == NULL) return; |
| | | |
| | | bProcess = FALSE; |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pResult->GetPositionData_Squareness(nPIdx+3); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nPosMode == PanelPosition_Base) |
| | | { |
| | | m_dEditPixelX_4 = pPosData->dPixelX; |
| | | m_dEditPixelY_4 = pPosData->dPixelY; |
| | | bProcess = pPosData->bProcsss; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Sub) |
| | | { |
| | | m_dEditPixelX_5 = pPosData->dPixelX; |
| | | m_dEditPixelY_5 = pPosData->dPixelY; |
| | | bProcess &= pPosData->bProcsss; |
| | | } |
| | | else if (pPosData->nPosMode == PanelPosition_Addition) |
| | | { |
| | | m_dEditPixelX_6 = pPosData->dPixelX; |
| | | m_dEditPixelY_6 = pPosData->dPixelY; |
| | | bProcess &= pPosData->bProcsss; |
| | | } |
| | | } |
| | | |
| | | m_dEditRightTheta = bProcess ? pResult->GetGantryDegree() : 0.; |
| | | } |
| | | |
| | | const CDiagnosisResult* pStandardResult = pSettingInfo->GetSettingResult_Squareness(0); |
| | | |
| | | // info : motor position |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | |
| | | { |
| | | m_dEditMotorX_3 = pPosData->dPosX; |
| | | m_dEditMotorY_3 = pPosData->dPosY; |
| | | } |
| | | } |
| | | |
| | | pStandardResult = pSettingInfo->GetSettingResult_Squareness(1); |
| | | |
| | | for (int nPIdx = 0; nPIdx < pSettingInfo->GetPanelCount_Squareness(); nPIdx++) |
| | | { |
| | | const SPositionData* pPosData = pStandardResult->GetPositionData_Squareness(nPIdx); |
| | | if (pPosData == NULL) continue; |
| | | |
| | | if (pPosData->nIndex == PanelPosition_Base) |
| | | { |
| | | m_dEditMotorX_4 = pPosData->dPosX; |
| | | m_dEditMotorY_4 = pPosData->dPosY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Sub) |
| | | { |
| | | m_dEditMotorX_5 = pPosData->dPosX; |
| | | m_dEditMotorY_5 = pPosData->dPosY; |
| | | } |
| | | else if (pPosData->nIndex == PanelPosition_Addition) |
| | | { |
| | | m_dEditMotorX_6 = pPosData->dPosX; |
| | | m_dEditMotorY_6 = pPosData->dPosY; |
| | | } |
| | | } |
| | | |
| | |
| | | void CDlgSelfDiagnosis_Squareness::OnBnClickedButtonSimulation2() |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | |
| | | if (m_pDiagnosisManager == NULL) return; |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | if (m_pDiagnosisManager->CheckManualMode() == FALSE) |
| | | { |
| | | CString strMessage; |
| | | strMessage.Format(_T("Change Manual Mode!!")); |
| | | if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONERROR)) |
| | | { |
| | | g_pLog->DisplayMessage(_T("Manual Diagnosis Fail! Not Manual Mode")); |
| | | return; |
| | | } |
| | | } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | GetDialogControls(); |
| | | |
| | | m_pDiagnosisManager->RecvSignalToSignalControl(DiagnosisSignal_Manual, DiagnosisMode_Squareness, TRUE); |
| | |
| | | CListBox m_ctrlListFileHistory; |
| | | CComboBox m_ctrlComboModuleIndex; |
| | | int m_nSelModuleIndex; |
| | | double m_dEditTheta; |
| | | double m_dEditLeftTheta; |
| | | double m_dEditMotorX_1; |
| | | double m_dEditMotorY_1; |
| | | double m_dEditPixelX_1; |
| | |
| | | double m_dEditMotorY_3; |
| | | double m_dEditPixelX_3; |
| | | double m_dEditPixelY_3; |
| | | double m_dEditRightTheta; |
| | | double m_dEditMotorX_4; |
| | | double m_dEditMotorY_4; |
| | | double m_dEditPixelX_4; |
| | | double m_dEditPixelY_4; |
| | | double m_dEditMotorX_5; |
| | | double m_dEditMotorY_5; |
| | | double m_dEditPixelX_5; |
| | | double m_dEditPixelY_5; |
| | | double m_dEditMotorX_6; |
| | | double m_dEditMotorY_6; |
| | | double m_dEditPixelX_6; |
| | | double m_dEditPixelY_6; |
| | | CButton m_BtSumulation; |
| | | afx_msg void OnBnClickedButtonSimulation2(); |
| | | double m_editFirstSettingStandard; |
| | | double m_editFirstSettingStandard2; |
| | | }; |
| | |
| | | : CDialogEx(IDD_DLG_SELF_DIAGNOSIS_WSI, pParent) |
| | | { |
| | | m_pDiagnosisManager = pDiagnosisManager; |
| | | m_editWSIFirstStandard = 180; |
| | | } |
| | | |
| | | CDlgSelfDiagnosis_Wsi::~CDlgSelfDiagnosis_Wsi() |
| | |
| | | DDX_Control(pDX, IDC_EDIT_WSI_RTB_00, m_ctrlWsiRtb00); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_RTB_01, m_ctrlWsiRtb01); |
| | | DDX_Control(pDX, IDC_BUTTON_SIMULATION, m_btSimulation); |
| | | DDX_Text(pDX, IDC_EDIT_WSI_FIRST_STANDARD, m_editWSIFirstStandard); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT1, m_editWSIHeight1); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT2, m_editWSIHeight2); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT3, m_editWSIHeight3); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT4, m_editWSIHeight4); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT5, m_editWSIHeight5); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT6, m_editWSIHeight6); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT7, m_editWSIHeight7); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT8, m_editWSIHeight8); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT9, m_editWSIHeight9); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT10, m_editWSIHeight10); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT11, m_editWSIHeight11); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT12, m_editWSIHeight12); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT13, m_editWSIHeight13); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT14, m_editWSIHeight14); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT15, m_editWSIHeight15); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT16, m_editWSIHeight16); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT17, m_editWSIHeight17); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT18, m_editWSIHeight18); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT19, m_editWSIHeight19); |
| | | DDX_Control(pDX, IDC_EDIT_WSI_HEIGHT20, m_editWSIHeight20); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | void CDlgSelfDiagnosis_Wsi::OnBnClickedButtonSimulation() |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | if (m_pDiagnosisManager == NULL) return; |
| | | |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | if (m_pDiagnosisManager->CheckManualMode() == FALSE) |
| | | { |
| | | CString strMessage; |
| | | strMessage.Format(_T("Change Manual Mode!!")); |
| | | if (IDOK == AfxMessageBox(strMessage, MB_OK | MB_ICONERROR)) |
| | | { |
| | | g_pLog->DisplayMessage(_T("Manual Diagnosis Fail! Not Manual Mode")); |
| | | return; |
| | | } |
| | | } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | //GetDialogControls(); |
| | | |
| | |
| | | { |
| | | const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) return; |
| | | |
| | | m_editWSIFirstStandard = pSettingInfo->GetWSIStandard(); |
| | | |
| | | double nACC00 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_ACC(); |
| | | double nACC01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_ACC(); |
| | | double nRTB00 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->getWSI_RTB(); |
| | | double nRTB01 = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->getWSI_RTB(); |
| | | |
| | | double dDiagnosisHeight[20]; |
| | | |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | dDiagnosisHeight[i] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->GetDiagnosisHeight(i); |
| | | } |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | dDiagnosisHeight[i+10] = m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->GetDiagnosisHeight(i); |
| | | } |
| | | |
| | | CString strDiagnosisHeight; |
| | | CString strACC00, strACC01; |
| | | CString strRTB00, strRTB01; |
| | | strACC00.Format(_T("%d"), nACC00); |
| | | strACC01.Format(_T("%d"), nACC01); |
| | | strRTB00.Format(_T("%d"), nRTB00); |
| | | strRTB01.Format(_T("%d"), nRTB01); |
| | | m_ctrlWsiAcc00.SetWindowTextA(strACC00); |
| | | m_ctrlWsiAcc01.SetWindowTextA(strACC01); |
| | | m_ctrlWsiRtb00.SetWindowTextA(strRTB00); |
| | | m_ctrlWsiRtb01.SetWindowTextA(strRTB01); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[0]); |
| | | m_editWSIHeight1.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[1]); |
| | | m_editWSIHeight2.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[2]); |
| | | m_editWSIHeight3.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[3]); |
| | | m_editWSIHeight4.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[4]); |
| | | m_editWSIHeight5.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[5]); |
| | | m_editWSIHeight6.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[6]); |
| | | m_editWSIHeight7.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[7]); |
| | | m_editWSIHeight8.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[8]); |
| | | m_editWSIHeight9.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[9]); |
| | | m_editWSIHeight10.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[10]); |
| | | m_editWSIHeight11.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[11]); |
| | | m_editWSIHeight12.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[12]); |
| | | m_editWSIHeight13.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[13]); |
| | | m_editWSIHeight14.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[14]); |
| | | m_editWSIHeight15.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[15]); |
| | | m_editWSIHeight16.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[16]); |
| | | m_editWSIHeight17.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[17]); |
| | | m_editWSIHeight18.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[18]); |
| | | m_editWSIHeight19.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | strDiagnosisHeight.Format(_T("%d"), dDiagnosisHeight[19]); |
| | | m_editWSIHeight20.SetWindowTextA(strDiagnosisHeight); |
| | | |
| | | } |
| | | |
| | |
| | | const CDiagnosisInfo* pSettingInfo = m_pDiagnosisManager->GetDiagnosisInfo(); |
| | | if (pSettingInfo == NULL) return; |
| | | |
| | | m_editWSIFirstStandard = pSettingInfo->GetWSIStandard(); |
| | | |
| | | double nACC00 = dAcc00; |
| | | double nACC01 = dAcc01; |
| | | |
| | |
| | | CEdit m_ctrlWsiRtb00; |
| | | CEdit m_ctrlWsiRtb01; |
| | | CButton m_btSimulation; |
| | | double m_editWSIFirstStandard; |
| | | CEdit m_editWSIHeight1; |
| | | CEdit m_editWSIHeight2; |
| | | CEdit m_editWSIHeight3; |
| | | CEdit m_editWSIHeight4; |
| | | CEdit m_editWSIHeight5; |
| | | CEdit m_editWSIHeight6; |
| | | CEdit m_editWSIHeight7; |
| | | CEdit m_editWSIHeight8; |
| | | CEdit m_editWSIHeight9; |
| | | CEdit m_editWSIHeight10; |
| | | CEdit m_editWSIHeight11; |
| | | CEdit m_editWSIHeight12; |
| | | CEdit m_editWSIHeight13; |
| | | CEdit m_editWSIHeight14; |
| | | CEdit m_editWSIHeight15; |
| | | CEdit m_editWSIHeight16; |
| | | CEdit m_editWSIHeight17; |
| | | CEdit m_editWSIHeight18; |
| | | CEdit m_editWSIHeight19; |
| | | CEdit m_editWSIHeight20; |
| | | }; |
| | |
| | | |
| | | double dAccdata = measureResut.dAccuracy; |
| | | double dRbtdata = measureResut.dRepeatability; |
| | | double dDiagnosisHeight[10]; |
| | | |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | dDiagnosisHeight[i] = measureResut.dDiagnosisHeight[i]; |
| | | } |
| | | |
| | | if (nModuleIndex == 0) |
| | | { |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetACC(dAccdata); |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetRTB(dRbtdata); |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetDiagnosisHeight(dDiagnosisHeight[i], i); |
| | | } |
| | | m_vecWSIControl[0]->SendWsiAfmSafePosMove(); |
| | | } |
| | | else if (nModuleIndex == 1) |
| | | { |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetACC(dAccdata); |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetRTB(dRbtdata); |
| | | for (int i = 0; i < 10; i++) |
| | | { |
| | | m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetDiagnosisHeight(dDiagnosisHeight[i], i); |
| | | } |
| | | m_vecWSIControl[1]->SendWsiAfmSafePosMove(); |
| | | } |
| | | |
| | | |
| | | m_pDlgDiagnosis->m_pDlgWsi->UpdateWSIResult(nModuleIndex,dAccdata, dAccdata, dRbtdata, dRbtdata); |
| | | |
| | | |
| | | |
| | | |
| | | m_pDlgDiagnosis->m_pDiagnosisManager->setWSIVLSIEnd(true); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | BOOL CReviewInterface::IDP2P_CheckManualMode() |
| | | { |
| | | if (IsManualProcessMode() == TRUE) |
| | | { |
| | | return TRUE; |
| | | } |
| | | |
| | | return FALSE; |
| | | } |
| | | |
| | | int CReviewInterface::IDP2P_GetSelectedModuleIndex() |
| | | { |
| | | return Module_GetSelectedModuleIndex(); |
| | |
| | | virtual void IDP2P_MotorGo(int nModuleIdx, double dPosX, double dPosY, BOOL bWaitReturn = FALSE); |
| | | virtual BOOL IDP2P_GetMotionEnd(int nModuleIdx, int nTimeOut = -1); |
| | | virtual BOOL IDP2P_IsGantryMotionEnd(int nModuleIdx); |
| | | virtual BOOL IDP2P_CheckManualMode(); |
| | | // Squareness |
| | | virtual int IDP2P_GetSelectedModuleIndex(); |
| | | virtual int IDP2P_GetOrigionMotorDir(); |
| | |
| | | BEGIN |
| | | GROUPBOX "File History",IDC_STATIC,7,286,421,86 |
| | | LISTBOX IDC_LIST,14,297,409,69,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Data History",IDC_STATIC,292,7,136,278 |
| | | CONTROL "",IDC_GRID_GANTRY_DATA_HISTORY,"MFCGridCtrl",WS_TABSTOP,297,19,126,260 |
| | | LTEXT "Module Index :",IDC_STATIC,21,29,48,8 |
| | | COMBOBOX IDC_COMBO_MODULE_INDEX,71,28,48,34,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Measure Data",IDC_STATIC,7,7,280,278 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,98,67,37,37 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,98,205,37,37 |
| | | CONTROL IDB_BITMAP_GANTRY,IDC_STATIC,"Static",SS_BITMAP,40,70,39,168 |
| | | LTEXT "Theta(θ) :",IDC_STATIC,40,242,38,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_THETA,40,253,40,14,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,80,255,10,8 |
| | | LTEXT ": Motor",IDC_STATIC,155,174,24,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X,82,116,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y,118,116,35,14,ES_AUTOHSCROLL |
| | | LTEXT ": Pixel",IDC_STATIC,155,190,24,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X,82,132,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y,118,132,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X2,82,172,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y2,118,172,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X2,82,188,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y2,118,188,35,14,ES_AUTOHSCROLL |
| | | GROUPBOX "Measure Data",IDC_STATIC,7,7,280,278 |
| | | CTEXT "X",IDC_STATIC,95,106,8,8 |
| | | CTEXT "Y",IDC_STATIC,130,106,8,8 |
| | | CTEXT "X",IDC_STATIC,96,162,8,8 |
| | | CTEXT "Y",IDC_STATIC,131,162,8,8 |
| | | PUSHBUTTON "Simulation",IDC_BUTTON_SIMULATION2,224,253,50,14 |
| | | LTEXT ": Motor",IDC_STATIC,245,119,24,8 |
| | | LTEXT ": Pixel",IDC_STATIC,245,135,24,8 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,189,67,37,37 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X3,172,116,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y3,208,116,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X3,172,132,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y3,208,132,35,14,ES_AUTOHSCROLL |
| | | CTEXT "X",IDC_STATIC,187,106,8,8 |
| | | CTEXT "Y",IDC_STATIC,221,106,8,8 |
| | | GROUPBOX "Data History",IDC_STATIC,337,7,91,278 |
| | | CONTROL "",IDC_GRID_GANTRY_DATA_HISTORY,"MFCGridCtrl",WS_TABSTOP,342,19,81,260 |
| | | COMBOBOX IDC_COMBO_MODULE_INDEX,123,18,48,34,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Measure Data",IDC_STATIC,7,7,326,278 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,25,59,37,37 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,25,197,37,37 |
| | | LTEXT "Left Module Theta(θ) :",IDC_STATIC,17,264,74,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_THETA,92,262,40,14,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,135,264,10,8 |
| | | LTEXT ": Motor",IDC_STATIC,82,166,24,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X,9,108,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y,45,108,35,14,ES_AUTOHSCROLL |
| | | LTEXT ": Pixel",IDC_STATIC,82,182,24,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X,9,124,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y,45,124,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X2,9,164,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y2,45,164,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X2,9,180,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y2,45,180,35,14,ES_AUTOHSCROLL |
| | | GROUPBOX "Measure Data",IDC_STATIC,7,7,327,278 |
| | | CTEXT "X",IDC_STATIC,22,98,8,8 |
| | | CTEXT "Y",IDC_STATIC,57,98,8,8 |
| | | CTEXT "X",IDC_STATIC,23,154,8,8 |
| | | CTEXT "Y",IDC_STATIC,58,154,8,8 |
| | | PUSHBUTTON "Simulation",IDC_BUTTON_SIMULATION2,11,18,50,14 |
| | | LTEXT ": Motor",IDC_STATIC,156,111,24,8 |
| | | LTEXT ": Pixel",IDC_STATIC,156,127,24,8 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,100,59,37,37 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X3,83,108,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y3,119,108,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X3,83,124,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y3,119,124,35,14,ES_AUTOHSCROLL |
| | | CTEXT "X",IDC_STATIC,98,98,8,8 |
| | | CTEXT "Y",IDC_STATIC,132,98,8,8 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,199,58,37,37 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,199,196,37,37 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X4,183,107,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y4,219,107,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X4,183,123,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y4,219,123,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X5,183,163,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y5,219,163,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X5,183,179,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y5,219,179,35,14,ES_AUTOHSCROLL |
| | | CTEXT "X",IDC_STATIC,196,97,8,8 |
| | | CTEXT "Y",IDC_STATIC,231,97,8,8 |
| | | CTEXT "X",IDC_STATIC,197,153,8,8 |
| | | CTEXT "Y",IDC_STATIC,232,153,8,8 |
| | | CONTROL IDB_BITMAP_MARK,IDC_STATIC,"Static",SS_BITMAP,274,58,37,37 |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_X6,257,107,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_MOTOR_Y6,293,107,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_X6,257,123,35,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GANTRY_PIXEL_Y6,293,123,35,14,ES_AUTOHSCROLL |
| | | CTEXT "X",IDC_STATIC,272,97,8,8 |
| | | CTEXT "Y",IDC_STATIC,306,97,8,8 |
| | | GROUPBOX "Right Module",IDC_STATIC,180,36,153,202 |
| | | GROUPBOX "Left Module",IDC_STATIC,7,36,173,203 |
| | | LTEXT "Right Module Theta(θ) :",IDC_STATIC,186,264,78,8 |
| | | EDITTEXT IDC_EDIT_GANTRY_THETA2,264,262,40,14,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,307,264,10,8 |
| | | LTEXT "First Setting Standard(θ) :",IDC_STATIC,18,247,83,8 |
| | | EDITTEXT IDC_EDIT_SQUARENESS_FIRSTSETTING,103,245,39,13,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,145,247,10,8 |
| | | LTEXT "First Setting Standard(θ) :",IDC_STATIC,185,247,83,8 |
| | | EDITTEXT IDC_EDIT_SQUARENESS_FIRSTSETTING2,271,245,39,13,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,313,247,10,8 |
| | | END |
| | | |
| | | IDD_DLG_SELF_DIAGNOSIS_FLATNESS DIALOGEX 0, 0, 435, 379 |
| | |
| | | GROUPBOX "메뉴얼 조작",IDC_STATIC,18,21,80,40 |
| | | GROUPBOX "File History",IDC_STATIC,5,245,421,86 |
| | | LISTBOX IDC_LIST,10,257,413,69,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Data",IDC_STATIC,11,127,409,116 |
| | | CONTROL "ㄱ",IDC_GRID_WSI_RESULT_DATA,"MFCGridCtrl",WS_TABSTOP,17,137,400,100 |
| | | GROUPBOX "Data",IDC_STATIC,172,16,248,227 |
| | | CONTROL "ㄱ",IDC_GRID_WSI_RESULT_DATA,"MFCGridCtrl",WS_TABSTOP,409,231,6,6 |
| | | LTEXT "Module 0",IDC_STATIC,37,80,30,8 |
| | | LTEXT "Module 1",IDC_STATIC,37,95,30,8 |
| | | LTEXT "ACC",IDC_STATIC,91,66,14,8 |
| | |
| | | EDITTEXT IDC_EDIT_WSI_RTB_00,122,77,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_ACC_01,76,95,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_RTB_01,123,94,40,14,ES_AUTOHSCROLL |
| | | LTEXT "WSI Standard (um)",IDC_STATIC,32,113,65,10 |
| | | EDITTEXT IDC_EDIT_WSI_FIRST_STANDARD,97,112,40,15,ES_AUTOHSCROLL |
| | | LTEXT "um",IDC_STATIC,267,33,19,12 |
| | | LTEXT "WSI Height 1",IDC_STATIC,179,34,43,8 |
| | | LTEXT "WSI Height 2",IDC_STATIC,179,48,43,8 |
| | | LTEXT "WSI Height 3",IDC_STATIC,179,62,43,8 |
| | | LTEXT "WSI Height 4",IDC_STATIC,179,76,43,8 |
| | | LTEXT "WSI Height 5",IDC_STATIC,179,90,43,8 |
| | | LTEXT "WSI Height 6",IDC_STATIC,179,104,43,8 |
| | | LTEXT "WSI Height 7",IDC_STATIC,179,117,43,8 |
| | | LTEXT "WSI Height 8",IDC_STATIC,179,132,43,8 |
| | | LTEXT "WSI Height 9",IDC_STATIC,179,145,43,8 |
| | | LTEXT "WSI Height 10",IDC_STATIC,179,158,47,8 |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT1,227,33,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT2,227,47,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT3,227,61,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT4,226,75,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT5,226,89,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT6,226,103,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT7,226,117,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT8,226,131,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT9,226,145,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT10,226,158,39,12,ES_AUTOHSCROLL |
| | | LTEXT "um",IDC_STATIC,148,121,19,12 |
| | | LTEXT "um",IDC_STATIC,267,47,19,12 |
| | | LTEXT "um",IDC_STATIC,267,61,19,12 |
| | | LTEXT "um",IDC_STATIC,267,75,19,12 |
| | | LTEXT "um",IDC_STATIC,267,89,19,12 |
| | | LTEXT "um",IDC_STATIC,267,103,19,12 |
| | | LTEXT "um",IDC_STATIC,267,117,19,12 |
| | | LTEXT "um",IDC_STATIC,267,131,19,12 |
| | | LTEXT "um",IDC_STATIC,267,145,19,12 |
| | | LTEXT "um",IDC_STATIC,267,159,19,12 |
| | | LTEXT "um",IDC_STATIC,387,33,19,12 |
| | | LTEXT "WSI Height 1",IDC_STATIC,299,34,43,8 |
| | | LTEXT "WSI Height 2",IDC_STATIC,299,48,43,8 |
| | | LTEXT "WSI Height 3",IDC_STATIC,299,62,43,8 |
| | | LTEXT "WSI Height 4",IDC_STATIC,299,76,43,8 |
| | | LTEXT "WSI Height 5",IDC_STATIC,299,90,43,8 |
| | | LTEXT "WSI Height 6",IDC_STATIC,299,104,43,8 |
| | | LTEXT "WSI Height 7",IDC_STATIC,299,117,43,8 |
| | | LTEXT "WSI Height 8",IDC_STATIC,299,132,43,8 |
| | | LTEXT "WSI Height 9",IDC_STATIC,299,145,43,8 |
| | | LTEXT "WSI Height 10",IDC_STATIC,299,158,47,8 |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT11,347,33,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT12,347,47,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT13,347,61,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT14,346,75,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT15,346,89,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT16,346,103,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT17,346,117,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT18,346,131,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT19,346,145,39,12,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_HEIGHT20,346,158,39,12,ES_AUTOHSCROLL |
| | | LTEXT "um",IDC_STATIC,387,47,19,12 |
| | | LTEXT "um",IDC_STATIC,387,61,19,12 |
| | | LTEXT "um",IDC_STATIC,387,75,19,12 |
| | | LTEXT "um",IDC_STATIC,387,89,19,12 |
| | | LTEXT "um",IDC_STATIC,387,103,19,12 |
| | | LTEXT "um",IDC_STATIC,387,117,19,12 |
| | | LTEXT "um",IDC_STATIC,387,131,19,12 |
| | | LTEXT "um",IDC_STATIC,387,145,19,12 |
| | | LTEXT "um",IDC_STATIC,387,159,19,12 |
| | | GROUPBOX "Left",IDC_STATIC,176,24,105,154 |
| | | GROUPBOX "Right",IDC_STATIC,296,24,105,154 |
| | | END |
| | | |
| | | IDD_DLG_SELF_DIAGNOSIS_SETTING DIALOGEX 0, 0, 435, 379 |
| | |
| | | LTEXT "파일 위치 :",IDC_STATIC,18,36,31,8 |
| | | PUSHBUTTON "Save",IDC_BUTTON_SAVE,371,351,50,14 |
| | | PUSHBUTTON "Load",IDC_BUTTON_LOAD,320,351,50,14 |
| | | EDITTEXT IDC_EDIT_PANEL_COUNT_SQUARENESS,67,94,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_RESOLUTION,183,94,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_DEGREE,67,111,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_MODULE_COUNT,67,127,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_FRAME_WIDTH,183,111,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_FRAME_HEIGHT,183,127,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_PANEL_COUNT_SQUARENESS,67,81,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_RESOLUTION,183,81,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_DEGREE,67,97,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_MODULE_COUNT,67,113,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_FRAME_WIDTH,183,96,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_CAMERA_FRAME_HEIGHT,183,112,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_REVIEW_PANEL_POS_X,43,184,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_REVIEW_PANEL_POS_Y,85,184,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_REVIEW_PANEL_POS_X3,43,200,40,14,ES_AUTOHSCROLL |
| | |
| | | EDITTEXT IDC_EDIT_REVIEW_PANEL_POS_X6,151,216,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_REVIEW_PANEL_POS_Y6,193,216,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_PANEL_COUNT_WSI,330,94,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_3SIGMA,330,111,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_3SIGMA,330,113,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_PANEL_POS_X,294,181,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_PANEL_POS_Y,336,181,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_PANEL_POS_X2,294,197,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_PANEL_POS_Y2,336,197,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_AF_DELAY,67,268,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_Z_RANGE,67,284,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GLASS_SIZE_X,183,268,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GLASS_SIZE_Y,183,284,40,14,ES_AUTOHSCROLL |
| | | COMBOBOX IDC_COMBO_FLANTESS_MODE,67,308,48,62,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Setting",IDC_STATIC,7,60,414,282 |
| | | RTEXT "Resolution :",IDC_STATIC,143,96,39,8 |
| | | RTEXT "Panel Count :",IDC_STATIC,23,96,43,8 |
| | | RTEXT "Judge Data :",IDC_STATIC,26,114,40,10 |
| | | RTEXT "AF Delay :",IDC_STATIC,34,273,32,8 |
| | | RTEXT "Judge Data :\n(Z Range)",IDC_STATIC,24,287,42,21 |
| | | RTEXT "Mode :",IDC_STATIC,43,309,23,8 |
| | | RTEXT "Range Count :",IDC_STATIC,136,309,46,8 |
| | | RTEXT "GlassSizeX :",IDC_STATIC,146,273,36,8 |
| | | RTEXT "GlassSizeY :",IDC_STATIC,145,287,37,8 |
| | | EDITTEXT IDC_EDIT_AF_DELAY,67,275,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_JUDGE_DATA_Z_RANGE,67,291,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GLASS_SIZE_X,183,275,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_GLASS_SIZE_Y,183,291,40,14,ES_AUTOHSCROLL |
| | | COMBOBOX IDC_COMBO_FLANTESS_MODE,67,315,48,62,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP |
| | | GROUPBOX "Setting",IDC_STATIC,7,67,414,282 |
| | | RTEXT "Resolution :",IDC_STATIC,143,84,39,8 |
| | | RTEXT "Panel Count :",IDC_STATIC,23,83,43,8 |
| | | RTEXT "Judge Data :",IDC_STATIC,26,101,40,10 |
| | | RTEXT "AF Delay :",IDC_STATIC,34,280,32,8 |
| | | RTEXT "Judge Data :\n(Z Range)",IDC_STATIC,24,294,42,21 |
| | | RTEXT "Mode :",IDC_STATIC,43,316,23,8 |
| | | RTEXT "Range Count :",IDC_STATIC,136,316,46,8 |
| | | RTEXT "GlassSizeX :",IDC_STATIC,146,280,36,8 |
| | | RTEXT "GlassSizeY :",IDC_STATIC,145,294,37,8 |
| | | RTEXT "Panel Count : ",IDC_STATIC,286,96,43,8 |
| | | RTEXT "Judge Data :\n(3sigma) ",IDC_STATIC,287,114,42,17 |
| | | GROUPBOX "직각도",IDC_STATIC,15,83,233,166 |
| | | GROUPBOX "평탄도",IDC_STATIC,15,253,233,80 |
| | | EDITTEXT IDC_EDIT_RANGE_COUNT_FLATNESS,183,308,40,14,ES_AUTOHSCROLL | WS_DISABLED |
| | | GROUPBOX "직각도",IDC_STATIC,15,75,233,176 |
| | | GROUPBOX "평탄도",IDC_STATIC,15,252,233,80 |
| | | EDITTEXT IDC_EDIT_RANGE_COUNT_FLATNESS,183,315,40,14,ES_AUTOHSCROLL | WS_DISABLED |
| | | GROUPBOX "WSI",IDC_STATIC,254,83,164,146 |
| | | RTEXT "Frame Width :",IDC_STATIC,135,114,47,8 |
| | | RTEXT "Frame Height :",IDC_STATIC,127,131,55,8 |
| | | RTEXT "Frame Width :",IDC_STATIC,135,99,47,8 |
| | | RTEXT "Frame Height :",IDC_STATIC,127,115,55,8 |
| | | RTEXT "[nm]",IDC_STATIC,372,114,16,8 |
| | | RTEXT "[um]",IDC_STATIC,226,97,16,8 |
| | | RTEXT "[um]",IDC_STATIC,226,81,16,8 |
| | | RTEXT "[px]",IDC_STATIC,226,99,14,8 |
| | | RTEXT "[px]",IDC_STATIC,226,114,14,8 |
| | | RTEXT "[px]",IDC_STATIC,226,129,14,8 |
| | | RTEXT "[°]",IDC_STATIC,109,114,10,8 |
| | | LTEXT "[ms]",IDC_STATIC,109,273,15,8 |
| | | LTEXT "[um]",IDC_STATIC,109,287,16,8 |
| | | LTEXT "[ea]",IDC_STATIC,226,311,14,8 |
| | | LTEXT "[mm]",IDC_STATIC,226,273,18,8 |
| | | LTEXT "[mm]",IDC_STATIC,226,287,18,8 |
| | | LTEXT "[ea]",IDC_STATIC,109,97,14,8 |
| | | RTEXT "[°]",IDC_STATIC,109,99,10,8 |
| | | LTEXT "[ms]",IDC_STATIC,109,280,15,8 |
| | | LTEXT "[um]",IDC_STATIC,109,294,16,8 |
| | | LTEXT "[ea]",IDC_STATIC,226,318,14,8 |
| | | LTEXT "[mm]",IDC_STATIC,226,280,18,8 |
| | | LTEXT "[mm]",IDC_STATIC,226,294,18,8 |
| | | LTEXT "[ea]",IDC_STATIC,109,84,14,8 |
| | | LTEXT "[ea]",IDC_STATIC,373,97,14,8 |
| | | RTEXT "ModuleCount :",IDC_STATIC,20,131,46,8 |
| | | RTEXT "ModuleCount :",IDC_STATIC,20,117,46,8 |
| | | CTEXT "Module1 Panel",IDC_STATIC,62,163,46,8 |
| | | GROUPBOX "Panel Motor Position",IDC_STATIC,22,148,218,94 |
| | | CTEXT "1",IDC_STATIC,34,186,8,8 |
| | |
| | | CTEXT "2",IDC_STATIC,284,200,8,8 |
| | | CTEXT "3",IDC_STATIC,34,219,8,8 |
| | | CTEXT "3",IDC_STATIC,141,219,8,8 |
| | | CONTROL "Use Skip Mode",IDC_CHECK_SELF_DIAGNOSIS_FLATNESS_SKIP, |
| | | "Button",BS_AUTOCHECKBOX | WS_TABSTOP,66,260,62,10 |
| | | LTEXT "Left Standard :",IDC_STATIC,17,133,49,9 |
| | | LTEXT "Standard :",IDC_STATIC,296,135,33,9 |
| | | EDITTEXT IDC_EDIT_SQUARENESS_STANDARD,67,130,40,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_WSI_STANDARD,330,132,40,14,ES_AUTOHSCROLL |
| | | RTEXT "[nm]",IDC_STATIC,372,134,16,8 |
| | | RTEXT "[°]",IDC_STATIC,108,133,10,8 |
| | | LTEXT "Right Standard :",IDC_STATIC,131,132,53,9 |
| | | EDITTEXT IDC_EDIT_SQUARENESS_STANDARD2,183,130,40,14,ES_AUTOHSCROLL |
| | | RTEXT "[°]",IDC_STATIC,226,132,10,8 |
| | | END |
| | | |
| | | IDD_DLG_TAB_DEFECT_INFO DIALOGEX 0, 0, 539, 282 |
| | |
| | | break; |
| | | case PCControlRecv_Autodiagnosis: |
| | | { |
| | | m_pSP2P->ISP2P_DisplayMessage(_T("[PCControl_Signal] Diagno start => %d"), bSignalOn); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | CSignalControl* pSignalControl = m_pSP2P->ISP2P_GetSignalControl(); |
| | | CString strDiagnosisMode; |
| | | pSignalControl->ReadData(_T("11160"), 2, strDiagnosisMode); |
| | | int nDiagnosisMode = atoi(strDiagnosisMode); |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | m_pSP2P->ISP2P_DisplayMessage(_T("[PCControl_Signal] Diagno start => %d, DiagnosisMode => %d"), bSignalOn, nDiagnosisMode); |
| | | if (bSignalOn) { |
| | | bResult = SendSignalToSignalControl(PCControlSendSignalIndex_DiagnoAck, 0); |
| | | |
| | | m_pSP2P->ISP2P_GetDlgDiagnosis()->ShowWindow(SW_SHOW); |
| | | |
| | | m_pSP2P->ISP2P_GetDiagnosisManager()->RecvSignalToSignalControl(0, 0); |
| | | m_pSP2P->ISP2P_GetDiagnosisManager()->RecvSignalToSignalControl(0, nDiagnosisMode); |
| | | } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | else |
| | | bResult = SendSignalOffToSignalControl(PCControlSendSignalIndex_DiagnoAck, 0); |
| | | |
| | |
| | | #define IDC_BUTTON_UI_LEFT 1004 |
| | | #define IDC_CHECK_OFFSET_MODE 1004 |
| | | #define IDC_IMAGE_ROTATION 1004 |
| | | #define IDC_CHECK_SELF_DIAGNOSIS_FLATNESS_SKIP 1004 |
| | | #define IDC_SLIDER1 1005 |
| | | #define IDC_SLIDER_LIGHT_LEVEL 1005 |
| | | #define IDC_RADIO_MAP_TYPE_0 1005 |
| | |
| | | #define IDC_EDIT4 1088 |
| | | #define IDC_EDIT_PANEL_COUNT_SQUARENESS 1089 |
| | | #define IDC_EDIT_SCAN_COUNT 1089 |
| | | #define IDC_EDIT_WSI_HEIGHT4 1089 |
| | | #define IDC_BUTTON_GLASS_GO_XY 1090 |
| | | #define IDC_EDIT_REVIEW_CAMCOUNT 1090 |
| | | #define IDC_EDIT_WSI_HEIGHT5 1090 |
| | | #define IDC_BUTTON_TEST1 1091 |
| | | #define IDC_KEY_JOD_MOVE 1091 |
| | | #define IDC_EDIT_JUDGE_DATA_Z_RANGE 1091 |
| | | #define IDC_EDIT16 1091 |
| | | #define IDC_EDIT_SETTINGFILE_PATH 1091 |
| | | #define IDC_EDIT_WSI_HEIGHT6 1091 |
| | | #define IDC_BUTTON_GLASS_GO_XY3 1092 |
| | | #define IDC_BUTTON_TEST2 1092 |
| | | #define IDC_EDIT_XPOS_COUNT 1092 |
| | | #define IDC_EDIT_WSI_HEIGHT7 1092 |
| | | #define IDC_CHECK_AFM_TRACK 1093 |
| | | #define IDC_EDIT_RANGE_COUNT_FLATNESS 1093 |
| | | #define IDC_EDIT_WSI_HEIGHT8 1093 |
| | | #define IDC_BUTTON_GLASS_GO_XY2 1094 |
| | | #define IDC_BUTTON_GLASSCENTER_GO_XY 1094 |
| | | #define IDC_EDIT_GLASS_SIZE_X 1094 |
| | | #define IDC_EDIT_WSI_HEIGHT9 1094 |
| | | #define IDC_EDIT_GLASS_SIZE_Y 1095 |
| | | #define IDC_EDIT_WSI_HEIGHT10 1095 |
| | | #define IDC_EDIT_PANEL_COUNT_WSI 1096 |
| | | #define IDC_EDIT_WSI_HEIGHT14 1096 |
| | | #define IDC_EDIT_JUDGE_DATA_3SIGMA 1097 |
| | | #define IDC_EDIT_WSI_HEIGHT15 1097 |
| | | #define IDC_EDIT_WSI_PANEL_POS_X 1098 |
| | | #define IDC_EDIT_WSI_HEIGHT16 1098 |
| | | #define IDC_EDIT_WSI_PANEL_POS_Y 1099 |
| | | #define IDC_EDIT_WSI_HEIGHT17 1099 |
| | | #define IDC_STATIC_JOG_SPEED 1100 |
| | | #define IDC_EDIT_WSI_PANEL_POS_X2 1100 |
| | | #define IDC_EDIT_WSI_HEIGHT18 1100 |
| | | #define IDC_STATIC_LIGHT_LEVEL 1101 |
| | | #define IDC_EDIT_WSI_PANEL_POS_Y2 1101 |
| | | #define IDC_EDIT_WSI_HEIGHT19 1101 |
| | | #define IDC_EDIT_REVIEW_PANEL_POS_X 1102 |
| | | #define IDC_EDIT_WSI_HEIGHT20 1102 |
| | | #define IDC_EDIT_REVIEW_PANEL_POS_Y 1103 |
| | | #define IDC_RADIO_ZOOM_LEVEL_4 1104 |
| | | #define IDC_EDIT_REVIEW_PANEL_POS_X2 1104 |
| | |
| | | #define IDC_EDIT_GANTRY_THETA 1142 |
| | | #define IDC_GRID_GANTRY_DATA_HISTORY 1143 |
| | | #define IDC_EDIT_MODULE_COUNT 1144 |
| | | #define IDC_EDIT_GANTRY_THETA2 1144 |
| | | #define IDC_EDIT_GANTRY_MOTOR_X 1145 |
| | | #define IDC_GRID_WSI_RESULT_DATA 1145 |
| | | #define IDC_EDIT_GANTRY_MOTOR_Y 1146 |
| | |
| | | #define IDC_EDIT_GANTRY_PIXEL_Y3 1156 |
| | | #define IDC_EDIT_CHANGE_TARGET_XPOS 1156 |
| | | #define IDC_EDIT_CHANGE_TARGET_YPOS 1157 |
| | | #define IDC_EDIT_GANTRY_MOTOR_X4 1157 |
| | | #define IDC_BUTTON5 1158 |
| | | #define IDC_EDIT_GANTRY_MOTOR_Y4 1158 |
| | | #define IDC_EDIT_OFFSET_Y_VALUE 1159 |
| | | #define IDC_EDIT_GANTRY_PIXEL_X4 1159 |
| | | #define IDC_EDIT_CAMERA_COUNT 1160 |
| | | #define IDC_EDIT_GANTRY_PIXEL_Y4 1160 |
| | | #define IDC_PROGRESS_PROCESS 1161 |
| | | #define IDC_EDIT_GANTRY_MOTOR_X5 1161 |
| | | #define IDC_EDIT_MOTOR_XPOS 1162 |
| | | #define IDC_EDIT_GANTRY_MOTOR_Y5 1162 |
| | | #define IDC_EDIT_MOTOR_YPOS 1163 |
| | | #define IDC_EDIT_GANTRY_PIXEL_X5 1163 |
| | | #define IDC_BUTTON6 1164 |
| | | #define IDC_EDIT_GANTRY_PIXEL_Y5 1164 |
| | | #define IDC_TAB_HISTORY_CONTROL 1165 |
| | | #define IDC_EDIT_GANTRY_MOTOR_X6 1165 |
| | | #define IDC_LIST_HISTORY_DEFECT 1166 |
| | | #define IDC_EDIT_GANTRY_MOTOR_Y6 1166 |
| | | #define IDC_EDIT_GANTRY_PIXEL_X6 1167 |
| | | #define IDC_STATIC_MAP 1168 |
| | | #define IDC_EDIT_GANTRY_PIXEL_Y6 1168 |
| | | #define IDC_GRID_ALIGN_ORIGIN_INFO 1170 |
| | | #define IDC_GRID_ALIGN_HISTORY_INFO 1171 |
| | | #define IDC_ALIGN_GRID_ORIGIN_INFO 1173 |
| | | #define IDC_ALIGN_GRID_ALIGN_INFO 1174 |
| | | #define IDC_EDIT_SQUARENESS_STANDARD 1175 |
| | | #define IDC_EDIT_WSI_STANDARD 1176 |
| | | #define IDC_EDIT_SQUARENESS_FIRSTSETTING 1176 |
| | | #define IDC_EDIT_WSI_FIRST_STANDARD 1177 |
| | | #define IDC_EDIT_SQUARENESS_STANDARD2 1177 |
| | | #define IDC_EDIT_SQUARENESS_FIRSTSETTING2 1177 |
| | | #define IDC_EDIT_WSI_HEIGHT1 1178 |
| | | #define IDC_EDIT_WSI_HEIGHT2 1179 |
| | | #define IDC_EDIT_WSI_HEIGHT3 1180 |
| | | #define IDC_EDIT_WSI_HEIGHT11 1181 |
| | | #define IDC_EDIT_WSI_HEIGHT12 1182 |
| | | #define IDC_EDIT_WSI_HEIGHT13 1183 |
| | | #define ID_INS_HOOK 32772 |
| | | #define ID_UNINS_HOOK 32773 |
| | | |
| | |
| | | #ifndef APSTUDIO_READONLY_SYMBOLS |
| | | #define _APS_NEXT_RESOURCE_VALUE 381 |
| | | #define _APS_NEXT_COMMAND_VALUE 32775 |
| | | #define _APS_NEXT_CONTROL_VALUE 1175 |
| | | #define _APS_NEXT_CONTROL_VALUE 1181 |
| | | #define _APS_NEXT_SYMED_VALUE 346 |
| | | #endif |
| | | #endif |
| | |
| | | |
| | | enum DiagnosisMode { |
| | | DiagnosisMode_All = 0, |
| | | DiagnosisMode_Squareness, |
| | | DiagnosisMode_Review, |
| | | DiagnosisMode_Wsi, |
| | | DiagnosisMode_Squareness, |
| | | DiagnosisMode_Flatness, |
| | | DiagnosisMode_Flatness_Manual, |
| | | DiagnosisMode_Simulation |
| | |
| | | virtual BOOL IDP2P_SetDlgFlatness(int nIndex) = 0; |
| | | virtual BOOL IDP2P_SetDialogTap(int nIndex) = 0; |
| | | virtual void IDP2P_UpdateDialog(int nIndex = -1) = 0; |
| | | |
| | | virtual BOOL IDP2P_CheckManualMode() = 0; |
| | | }; |
| | | |
| | | struct SPositionData |
| | |
| | | void SetHeight3Sigma(double dData) { m_dHeight3Sigma = dData; } |
| | | void SetACC(double dData) { m_dACC = dData; } |
| | | void SetRTB(double dData) { m_dRTB = dData; } |
| | | void SetDiagnosisHeight(double dData, int idx) { m_dDiagnosisHeight[idx] = dData; } |
| | | |
| | | // getter |
| | | int GetModuleIndex() const { return m_nModuleIndex; } |
| | |
| | | double GetHeight3Sigma() const { return m_dHeight3Sigma; } |
| | | double getWSI_ACC() const {return m_dACC;} |
| | | double getWSI_RTB() const { return m_dRTB; } |
| | | double GetDiagnosisHeight(int idx) const { return m_dDiagnosisHeight[idx]; } |
| | | |
| | | protected: |
| | | int m_nModuleIndex; |
| | | |
| | |
| | | double m_dHeight3Sigma; |
| | | double m_dACC; |
| | | double m_dRTB; |
| | | double m_dDiagnosisHeight[10]; |
| | | }; |
| | | typedef std::vector<CDiagnosisResult> VectorDiagnosisResult; |
| | | typedef std::vector<CDiagnosisResult>::iterator VectorDiagnosisResultIt; |
| | |
| | | m_dCameraResolution = 0.; |
| | | m_nPanelCount_Squareness = 0; |
| | | m_dJudgeData_Degree = 0.; |
| | | m_dSquarenessStandard = 0.; |
| | | |
| | | m_dataSettingResult_Flatness.Reset(); |
| | | m_nAFDelay = 0; |
| | |
| | | m_vecSettingResult_Wsi.clear(); |
| | | m_nPanelCount_Wsi = 0; |
| | | m_dJudgeData_3Sigma = 0.; |
| | | m_dWSIStandard = 0.; |
| | | |
| | | m_dPanelPosX = 0; |
| | | m_dPanelPosY = 0; |
| | |
| | | m_dReviewPanelPosY2 = 0; |
| | | m_dReviewPanelPosX4 = 0; |
| | | m_dReviewPanelPosY4 = 0; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | m_nFlatnessSkipMode = 0; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | } |
| | | |
| | |
| | | void SetPanelCount_Wsi(int nCount) { m_nPanelCount_Wsi = nCount; } |
| | | void SetJudgeData_3Sigma(double dData) { m_dJudgeData_3Sigma = dData; } |
| | | |
| | | void GetPanelPosX_Wsi(double dData) { m_dPanelPosX = dData; } |
| | | void GetPanelPosY_Wsi(double dData) { m_dPanelPosY = dData; } |
| | | void GetPanelPosX2_Wsi(double dData) { m_dPanelPosX2 = dData; } |
| | | void GetPanelPosY2_Wsi(double dData) { m_dPanelPosY2 = dData; } |
| | | void SetPanelPosX_Wsi(double dData) { m_dPanelPosX = dData; } |
| | | void SetPanelPosY_Wsi(double dData) { m_dPanelPosY = dData; } |
| | | void SetPanelPosX2_Wsi(double dData) { m_dPanelPosX2 = dData; } |
| | | void SetPanelPosY2_Wsi(double dData) { m_dPanelPosY2 = dData; } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | void SetFlastnessSkipMode(double dData) { m_nFlatnessSkipMode = dData; } |
| | | void SetSquarenessStandard(double dData) { m_dSquarenessStandard = dData; } |
| | | void SetSquarenessStandard2(double dData) { m_dSquarenessStandard2 = dData; } |
| | | void SetWSIStandard(double dData) { m_dWSIStandard = dData; } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | |
| | | // getter |
| | |
| | | double GetPanelPosY_Wsi() const { return m_dPanelPosY; } |
| | | double GetPanelPosX2_Wsi() const { return m_dPanelPosX2; } |
| | | double GetPanelPosY2_Wsi() const { return m_dPanelPosY2; } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | int GetFlastnessSkipMode() const { return m_nFlatnessSkipMode; } |
| | | double GetSquarenessStandard() const { return m_dSquarenessStandard; } |
| | | double GetSquarenessStandard2() const { return m_dSquarenessStandard2; } |
| | | double GetWSIStandard() const { return m_dWSIStandard; } |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | //Review |
| | | public: |
| | | double GetReviewPanelPosX() const { return m_dReviewPanelPosX; } |
| | |
| | | int m_nCameraFrameHeight; |
| | | double m_dCameraResolution; |
| | | double m_dJudgeData_Degree; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | double m_dSquarenessStandard; |
| | | double m_dSquarenessStandard2; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | // Flatness |
| | | CDiagnosisResult m_dataSettingResult_Flatness; // single data |
| | |
| | | int m_nRangeCount_Flatness; |
| | | int m_nGlassSizeX; |
| | | int m_nGlassSizeY; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | int m_nFlatnessSkipMode; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | // wsi |
| | | VectorDiagnosisResult m_vecSettingResult_Wsi; // add module count |
| | | int m_nPanelCount_Wsi; |
| | | double m_dJudgeData_3Sigma; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_START |
| | | double m_dWSIStandard; |
| | | //#3514_LYW_CF AOI Review 자가진단 기능 개선_END |
| | | |
| | | double m_dPanelPosX; |
| | | double m_dPanelPosY; |
| | |
| | | |
| | | BOOL MakeDirectory(CString strPath); |
| | | |
| | | BOOL CheckManualMode(); |
| | | |
| | | // setter |
| | | void SetExistStandardData(BOOL bExist = TRUE) { m_bExistStandardData = bExist; } |
| | | int SetDiagnosisResultCount_Squareness(int nCount); |
| | |
| | | int ProcessFlatness(); |
| | | int ProcessFlatness_Manual(); |
| | | int ProcessSimulation(); |
| | | int ProcessDiagnosisJudge(); |
| | | |
| | | BOOL CalculateSquareness(int nIndex); |
| | | protected: |