void CreateVision(CObjectInfo objInfo) { #if !SIMULATION_VISION bool VisionHardwareCheck = true; if (m_VisionSystem.m_iResult != SUCCESS) { VisionHardwareCheck = false; } CVisionData data = new CVisionData(); CVisionRefComp refComp = new CVisionRefComp(); // 생성된 Vision System,Camera, View 를 RefComp로 연결 refComp.System = m_VisionSystem; for (int iIndex = 0; iIndex < DEF_MAX_CAMERA_NO; iIndex++) { if (m_VisionCamera[iIndex].m_iResult != SUCCESS || m_VisionView[iIndex].m_iResult != SUCCESS) { VisionHardwareCheck = false; break; } refComp.Camera[iIndex] = m_VisionCamera[iIndex]; refComp.View[iIndex] = m_VisionView[iIndex]; // Display와 Camera와 System을 연결 refComp.Camera[iIndex].SelectView(refComp.View[iIndex]); refComp.System.SelectCamera(refComp.Camera[iIndex]); refComp.System.SelectView(refComp.View[iIndex]); } m_Vision = new MVision(objInfo, refComp, data); if (VisionHardwareCheck == false) { m_Vision.m_bSystemInit = false; } else { m_Vision.m_bSystemInit = true; } // Cam Live Set m_Vision.LiveVideo(PRE__CAM); m_Vision.LiveVideo(FINE_CAM); // Pattern Model Data Read & Apply CModelData pModelData; m_DataManager.ViewModelData("Default", out pModelData); m_DataManager.m_ModelData = pModelData; m_Vision.ReLoadPatternMark(PRE__CAM, PATTERN_A, m_DataManager.m_ModelData.MacroPatternA); m_Vision.ReLoadPatternMark(PRE__CAM, PATTERN_B, m_DataManager.m_ModelData.MacroPatternB); m_Vision.ReLoadPatternMark(FINE_CAM, PATTERN_A, m_DataManager.m_ModelData.MicroPatternA); m_Vision.ReLoadPatternMark(FINE_CAM, PATTERN_B, m_DataManager.m_ModelData.MicroPatternB); #endif }
public MVision(CObjectInfo objInfo, CVisionRefComp refComp,CVisionData data) : base(objInfo) { m_RefComp = refComp; SetData(data); m_bSystemInit = false; m_bErrorPrint = false; m_bSaveErrorImage = false; m_iHairLineWidth = DEF_HAIRLINE_NOR; m_iMarkROIWidth = DEF_MARK_WIDTH_NOR; m_iMarkROIHeight = DEF_MARK_HEIGHT_NOR; Initialize(DEF_MAX_CAMERA_NO); }