총 18 건
안녕하세요? 화인스텍 마케팅 팀입니다. 머신비전 전문 기업 화인스텍 블로그를 찾아주셔서 감사드립니다. 이번에는 XENICS사의 Manx SQ CXP카메라의 사용하는 방법에 대해 설명해드리겠습니다. 기초이론부터 영상 취득 방법, Calibaration 생성 , 저장과 관리까지 상세하게 전달 해드리겠습니다! 1. 준비작업 1) 보드 펌웨어 보드 뒷면의 6Pin 전원을 연결합니다. CoaxLink Firmware Manager를 실행합니다. 오른쪽 그림과 같이 표시가 있다면 펌웨어 업데이트가 필요한 경우입니다. 펌웨어 목록 중 1-Camera를 선택하고 버튼을 클릭합니다. 펌웨어 업데이트가 완료되면 컴퓨터의 전원을 끕니다. 이 때 , 재부팅이 아니라 완전하게 종료해야 합니다. 컴퓨터 부팅 후 다시 CoaxLink Firmware Manager를 실행합니다. 왼쪽 그림과 같이 표시가 있다면 준비가 완료된 상태입니다. 카메라와 보드의 ABCD 커넥터를 A:A , B:B , C:C, D:D로 연결해야 합니다. 왼쪽 그림은 카메라의 채널 순서를 오른쪽은 보드의 채널 순서를 보여줍니다. A는 POCXP(전원)입력이므로 가장 마지막에 연결 합니다. 보드 펌웨어와 케이블 연결이 정상이라면 보드 뒷면의 LED가 초록색으로 점등 됩니다. 그리고 GenICam Browser 실행 시 CXPCam으로 인식됩니다. 2. 기초 이론 1) 동작 Manx SQ CXP 카메라는 Linescan 카메라이지만 Frame으로 출력됩니다. 프레임 출력은 카메라 내부에서 프레임을 생성하기 때문에 최대 높이가 정해져 있습니다. 2) 파라미터 DeviceGain(Analog Gain) 이미지가 어두울 경우 Gain을 높여 밝기를 확보 할 수 있습니다. Gain을 높일 경우 노이즈도 같이 증폭되므로 주의가 필요합니다. ExposureTime(us) 노출 시간을 설정하는 파라미터 입니다. AcquisitionLineTime(us) Line Rate를 설정하는 파라미터 입니다. 노출 시간이 너무 긴 경우 실제 AcquisitionLineTime은 Exposure Time이 됩니다. Height (Pixel) Frame의 높이를 설정 합니다. 3) NUC NUC(Non-Uniformity Calibration) 개별 픽셀은 오프셋이 약간 다를 수 있으며 들어오는 광자에 약간 다르게 반응합니다. 이러한 이유로 원본 이미지는 왼쪽 그림과 같이 약간 줄무늬가 있는 경향이 있습니다. NUC를 적용하면 오른쪽 그림과 같이 원본 이미지를 균일하게 만들 수 있습니다. 주의 사항 Exposure Time , Gain Exposure Time과 Gain이 변경되면 환경에 맞춰 다시 Calibration을 해야 합니다. Temperature 사용 환경의 온도가 변경되면 환경에 맞춰 다시 Calibration을 진행해야 합니다. NUC 조명 , 타겟 NUC에 사용될 조명과 타겟의 표면은 균일해야 합니다. 4)광학계 사양 계산 방법 예시 환경 Camera : Manx 2048 SQ CXP (Cell Size 12.5um) Lens: 2x Motion Speed : 10mm/s 계수 계산 방법 Resolution (실제 분해능) = 12.5um (Cell Size) / 2(렌즈 배율) = 6.25um AcqusitionLineTime = 6.25um(실제 분해능) / 10mm/s (모션속도) = 625us ExposureTime = 625us 미만 예시 환경 Camera : Manx 2048 SQ CXP (Cell Size 12.5um) Lens: 2x Motion Speed : 10mm/s Encoder Pitch : 4um 4체배 사용 계수 계산방법 4체배 사용 시 Pitch per edge : 1um Encoder Pulse Divider = 6.25um (실제 분해능) , 정수 입력 시 6 또는 7 3. 영상 취득 방법 1)카메라 Free-Run 제어 Deive 설정 CameraControlMethod : NC Remote Device 설정 Height : Frame 높이 AcquisitionMode : continuous TriggerMode : LineFreeFrameFree AcquisitionLineTile(us) : 광학 사양에 따른 계산 값 Exposure Tiem(us) : AcquisitionLineTime 보다 작은 값 DeVice 설정 CameraControlMethod:RC ExposureReadoutOverlap : True ExposureRecoveryTime : 0.0 CycleMinimumPeriod(us) : 광학 사양에 따른 계산 값 CycleTriggerSource :Immediate Remote Device 설정 Height: Frame 높이 AcquisitionMode :Continuous TriggerMode : LineCXPFrameFree ExposureTime(us) : CycleMinimumPeriod 보다 작은 값 Interface 설정 QuadratureDecoderTollSelector : QDC1 QuadratureDecoderToolSources : Din11_Din12 QuadratureDecoderTollActivation : AllEdgesAB DividerToolSelector : DIV1 DividerToolSource : QDC1 DividerToolEnableControl :Enable DividerToolDivisionFactor : 광학 사양에 따른 계산 값 Divice 설정 CameraControlMethod : RC ExposureReadoutOverlap : True ExposureRecoveryTime : 0.0 CycleMinimumPeriod(us): 광학 사양에 따른 계산 값 CycleTriggerSource: DIV1 Remote Device 설정 Height : Frame 높이 AcquisitionMode : continuous TriggerMode : LineCXPFrameFree ExposureTime(us) : CycleMinimumperiod 보다 작은 값 4. Calibration 파일 생성 방법 Xeneth64를 실행합니다. Calibration data는 none을 선택 합니다. 툴 상단의 메뉴를 클릭합니다 . Camera Calibration Wizard 에서 Two Point Calibration을 선택하고 버튼을 클릭 합니다. 첫 단계는 FPN(Fixed Pattern Nosie)를 보정합니다. FPN보정을 위해 빛을 차단한 Dark Image를 취득해야 합니다. 버튼을 클릭하면 이미지를 취득하고 분석이 진행 됩니다. Dark Nosie 분석이 완료되면 이미지 뷰어에 다음과 같이 표시 됩니다. 초록색 : FPN 위치 빨간색 : Temporal 노이즈 위치 다음 단계는 PRNU(Photon Response Non-Uniformity)를 보정합니다 . PRNU 보정을 위해 균일한 Gray Image를 취득해야 합니다. 조명 및 타겟 (예시 :A4 용지)의 표면이 균일한지 확인합니다. 빛의 밝기는 히스토그램의 2/3 위치가 적절합니다. Xeneth64 View 메뉴에서 히스토그램을 활성화 할 수 있습니다. 버튼을 클릭하면 이미지를 획득하고 분석이 진행 됩니다. PRNU 분석이 완료되면 이미지 뷰어에 다음과 같이 표시됩니다. 노란색 : PRNU 위치 보라색 : Temporal 노이즈 위치 Finichi 버튼을 클릭하면 Calibarion 정보를 파일로 저장할 것인지 확인 메세지가 표시됩니다. 경로를 지정하면 Calibration 파일이 저장됩니다. Calibration 생성후 버튼을 클릭하여 활성화 여부를 설정 할 수 있습니다. 왼쪽 이미지는 비활성화 , 오른쪽 이미지는 활성화 후 스캔 된 모습 입니다. 5. Calibration 정보 카메라에 저장하는 방법 이전 단계에서 저장한 Calibration 파일을 카메라 메모리에 저장 할 수 있습니다 . Xeneth64 프로그램의 Settings 메뉴에서 버튼을 클릭합니다. Calibration set control 카테고리의 Selector 에서 저장 공간을 선택합니다. 0~6 까지는 기본 값이 보관되어 있고, 7~15는 비어 있습니다. Slot을 선택하면 Slot Info에 Free 또는 Not Free로 표시됩니다. Xeneth64 Settions 메뉴에 파라미터 갱신 주기를 설정 할 수 있습니다. 즉각 파라미터 확인을 위해 짧게 설정 합니다 Free 상태의 Slot을 선택하고 store의 버튼을 클릭 합니다. 파일 선택 창이 표시되면 Calibration 파일을 선택합니다. 파일 선택 후 진행 창이 잠시 표시되고 사라집니다. Slot 15의 상태를 확인하면 Not Free로 표시됩니다. 즉, 정상적으로 Slot 15에 Calibration 정보가 저장 됐습니다. Calibration 정보를 삭제할 Slot을 선택한다 그리고 Clear 버튼을 클릭하면 즉시 정보가 비워집니다 정상적으로 비워졌다면 Slot Info에 Free로 표시됩니다. 6. User set 관리하는 방법 설정된 파라미터 정보를 카메라의 User set 공간에 저장할 수 있습니다. User Set Control 카테고리의 Selector 에 Slot 0~15중 하나를 선택합니다. 선택한 Slot 상태에 따라 Slot Info에 Free, Not Free가 표시됩니다. Default는 카메라 전원 입력시 불러와지는 Slot 을 의미합니다. Save의 버튼을 클릭하면 저장됩니다. 카메라의 user set 공간에 저장된 파라미터 설정 값을 불러올 수 있습니다. User set control 카테고리의 Selector에 Slot 0~15중 하나를 선택합니다 선택된 Slot 상태에 따라 Slot Info에 Free, Not Free가 표시됩니다. Load의 버튼을 클릭하면 불러옵니다. 이번 시간에는 XENICS_CXP_Manx SQ 카메라 사용 방법에 대해서 알아 보았습니다. 도움이 되셨나요 ? 문의 사항 있으시면 머신비전 솔루션 전문 기업 화인스텍에 문의하세요 . 언제나 여러분과 함께 하겠습니다. www.fainstec.com으로 이동.
2022.10.281.CoanLink Quad 3D-LLE Grabber 소개 3D 프로파일링을 위한 온보드 레이저 라인 추출 기능 탑재. CPU 사용량 없이, 레이저 프로파일 추출. 싱글 / 듀얼 레이저 프로파일 추출. 16Bit Height 맵 생성 다양한 알고리즘 지원 (PEAK, COG, MAX) Laser Line Extraction 라인 레이저를 이용한 광삼각법 기반. 라인 레이저를 대상 물체에 투사하고 반사된 라인 이미지의 모양을 분석하여 객체의 표면 형상을 기하하적으로 재구성. 획득된 일련의 프로파일에 기초하여 Height Map을 생성하기 위한 알고리즘 LLE Processing Core Euresys Quad 3D-LLE Grabber에 내장된 기능 레이저 라인 추출을 위한 3가지 알고리즘 제공 (PEAK, COG, MAXIMUM) 필터링을 위한 전처리 기능 제공 (Filter, Threshold) Linear Filter 1x3 Sliding Window에 convolution 연산자를 적용. Convolution kernel 요소 (A,B,C)는 3개 요소 합이 1~512 사이 값이 되도록 모든 양의 정수로 구성 가능. Kernel 요소가 ROI 경계 밖에 있을 경우, 입력 픽셀 값은 중앙 픽셀 값으로 대체. Coring Threshold 규칙에 따라 픽셀을 두가지 값 (범주)로 분류하는 간단한 분할 기법. Maximum Detection 열의 모든 픽셀을 분석하여, 어느 포지션이 최대 높이 지점인지 감지 8Bit(0 ~ 255) 혹은 16Bit (0 ~ 65535) Height Map 출력 구성. 두개 이상의 픽셀에서 최대 레이저 강도가 감지될 경우, Maximum Detection 알고리즘은 가장 높은 위치를 가진 픽셀을 나타냅니다 Threshold 기능을 이용하여 노이즈 성분 제거 가능 최대 ROI Y Size는 8BIT 255, 16Bit 65535 Pixel. Peak Detection 취득된 프로파일을 1차 미분하여, 어느 포지선이 최대 높이지점인지 감지. 16Bit 고정 소수점 단위로 Height Map 출력 UQ11.5 : MSB 11Bit는 정수부, LSB 5Bit는 실수부로 구성 UQ8.8 : MSB 8Bit는 정수부, LSB 8Bit는 실수부로 구성 Peak 값이 감지 되면 Peak Detection 알고리즘은 해당 f(x) 픽셀을 가장 높은 값을 갖는 위치로 감지 하나 이상의 f(x) 픽셀이 동일한 조건을 갖는 경우, 가장 높은 높이와 동일한 위치를 감지 최대 지원 ROI Y Size는 2048Pixel Center Of Gravity Detection 취득된 프로파일의 무게중심을 레이저 라인으로 인식 16Bit 고정 소수점 단위로 Height Map 출력 UQ11.5 : MSB 11Bit는 정수부, LSB 5Bit는 실수부로 구성 UQ8.8 : MSB 8Bit는 정수부, LSB 8Bit는 실수부로 구성 2. 테스트 환경 구성 구성품 CXP Interface Camera Euresys Coaxlink Quad 3D-LLE Line Laser Lens 환경구성 일반적으로 Standard Geometry로 구성을 합니다. Standard Geometry는 레이저는 대상체에 수직, 카메라는 특정 각도로 구성. 카메라와 레이저의 각도, 렌즈에 따라 분해능과 측정 Range가 결정 됩니다. 계산이 용이하도록 해당 내용은 Euresys 측에서 별도 Excel Sheet를 제공하고 있습니다. 엑셀 시트 사용하기 제공되는 Excel Sheet에 파라미터를 적용시키면, 현재 구성한 환경에 대해 Z Range, Accuracy, Resolution 등의 정보를 획득합니다. Input Data Camera : Sensor Width, Sensor Height, Pixel Size, Frame Rate, Camera Angle, Camera Height Lens : Lens Iris No Position, Working Distance, Magnification, Lens Fno Laser : Laser Angle Grabber : Effective ROI Height, Line Extraction Method Motion : Trigger per mm , Conveyer Speed 엑셀시트 결과 확인 엑셀시트 Input에 대한 Output 정보를 확인 합니다. Output Data 중에 , out of lomits values의 값이 있을 경우, Input을 조절하여 output values 로 되도록 조절합니다. 카메라 AOI 설정 영상을 확인 하면서 적절한 AOI 위치 선정 Object의 상단, 하단 영역을 모두 포함하도록 설정. 데이터 연산영역을 줄여 속도 증대. 알고리즘 설정 사용하고자 하는 알고리즘 및 적절한 세부 파라미터를 설정 사용하고자 하는 알고리즘. Threshold 사용 여부 및 레벨. 스캔 거리 설정 스캔하고자 하는 거리를 설정 합니다. 스캔 거리 = Vertical Sampling(Y) x ScanLength 3. 데이터 취득 캘리브레이션 타겟 Euresys에서 캘리브레이션 타겟 도면 제공 Easy3D Library를 이용하여 Calibration File 제작에 이용 음영지역을 최소화 하여 데이터 취득 캘리브레이션 파일 생성 Easy 3D LLE 이용하여 캘리브레이션 파일 생성 캘리브레이션 타겟을 LLE를 이용하여 데이터 취득. 실제 제작된 캘리브레이션 타겟의 배율 및 종류 적용 캘리브레이션 파일 생성 (.mdl) 캘리브레이션 파일 생성은 다소 시간이 소요됩니다. Point Cloud 데이터 생성 캘리브레이션 타겟이 아닌 다른 오브젝트의 Depth Map 이용 미리 생성되어 있는 캘리브레이션 파일 (.mdl)을 적용하여 PCD 데이터 생성 ZMap 데이터 생성 PCD 데이터를 평면 데이터로 변경 각각의 Pixel은 실측 높이 데이터. 4. 참고 사항 Laser Width 선명한 레이저 폭을 이용하여 정밀한 데이터 취득 Angle 카메라와 레이저 사이 각 변경에 따라 다른 이미지 취득
2022.10.261. C2C-Link 특징 C2C-Link 특징 여러대 (복수)의 보드의 트리거 및 노출 시작 동기화 가능 PC 한 대에 여러 대 보드 간의 동기화 (지연시간 :10ns 이하) 여러 PC에 여러 보드 간의 동기화 (지연시간 : 265ns 이하, C2C Link Adapter 필요) 2. Hardware 구성 Hardware 구성 방법 PC 한 대에 여러 보드 구성 C2C 케이블을 이용하여 보드 간의 C2C 케이블 연결 여러 PC에 여러 보드 구성 C2C Link Adapter를 이용하여 보드 간의 C2C 케이블 연결 3. Software 설정 Software 구성 신호를 보내는 Device 설정 Devices C2CLinkConfiguration : Master 신호를 받는 Device 설정 Devices C2CLinkConfiguration : Slave CycleTriggerSource : C2C 4. Memento Log 로 신호 지연시간 확인 Memento Log PC 한 대에 여러 보드로 테스트 결과 5ns 지연 시간 발생
2022.10.251.모듈 확인 EureSys eGrabber SDK는 모듈 별 파라미터 제어가 가능합니다. 모듈의 종류는 아래 그림처럼, GenICam Browser 또는 eGrabber Studio에서 확인 가능합니다. Interface : PoCXP, I/O , Event 등의 제어. Device : 영상 취득 관련된 보드 제어. Remote Device: 카메라 제어. Data Stream : 영상 취득 관련 제어. 2. Node 정보 확인 방법 각 뷰어 프로그램에서 모듈 별 파라미터 이름을 확인합니다. 아래 그림의 예시 설명 카메라의 Trigger Mode 비활성화 Remote Device Module 선택. 왼쪽 열의 이름 확인(파라미터 이름): TriggerMode 오른쪽 열의 이름 확인(파라미터 값): Off 코드 적용: setString(“TriggerMode”, “Off”);
2022.10.251.Line Scan & TDI Camera Line Scan Camera 특징 Area Scan Camera (Frame Scan Camera) 대비하여 적은 Pixel. 카메라혹은 촬영 하고자 하는 대상체를 이동시켜 이미지를 취득. Pixel Resolution과 Encoder Resolution을 일치시켜 1대1 영상을 취득 장점 센서 자체의 FOV가 좁아 환경 구성 비용이 저렴. 단점 광량 확보가 어려움. TDI Camera 특징 일반적인 Line Scan Camera의 감도 문제를 개선시키기 위해 개발. 여러 Stage에서 취득된 데이터를 중첩하여 감도 확보. 장점 감도 확보에 유리. 단점 Line Scan Camera에 비해 고비용 Focus 확보의 어려움 존재 2. Multicam to Coaxlink Multicam to Coaxlink - period 동작 특징 Grabber 내부 Clock을 이용하여 설정된 Period를 갖는 신호를 생성. 생성된 신호에 의해 Frame Rate(Line Rate)가 변화 사용 환경 Encoder 신호를 받지 못하는 환경에서 사용 등속 구간이 아닐 경우, 영상의 일그러짐 발생 가능성 존재 LineRate 계산방식 : Motion Speed / Pixel Resolution -> 10 mm/s / 10um = 1000Hz - 1KHz eg) CycleMinimumPeriod = 1 / 1000Hz - 0.0001s = 100(us) Multicam to Coaxlink - pulse 동작 특징 외부 Encoder 신호를 정수비로 분주하여 신호를 생성. 사용 환경 Encoder 신호를 받아 사용 Pixel Resolution과 Encoder Resolution이 정수 배일 경우 사용. 등속 구간이 아닐 경우에도 영상의 일그러짐 발생하지 않음. Factor 계산 방식 : Pixel Resolution / Encoder Resolution -> 10um / 1um = 10 Multicam to Coaxlink - Convert 동작 특징 외부 Encoder 신호를 실수비로 분주하여 신호를 생성. 사용 환경 Encoder 신호를 받아 사용. Pixel Resolution 과 Encoder Resolution이 정수 배가 아닐 경우 사용. 등속 구간이 아닐 경우에도 영상의 일그러짐 발생하지 않음 Factor 계산 방식 : Pixel Resolution / Encoder Resolution -> 10um / 3um = 3.333 eg) Multiplier Factor = 10, Divider Factor = 3 Multicam to Coaxlink - Start Trigger 동작 특징 Image Buffer를 취득하는 시점을 외부 신호로 정의. 사용 환경 Differential, TTL, OPTO (5~25V) 모든 종류의 신호 사용 가능. Start Trigger 인가 전까지 영상 대기 상태로 유지 . Period, Pulse, Convert mode 관계 없이 사용 가능. Multicam to Coaxlink - End Trigger 동작 특징 Image Buffer를 종료하는 시점을 외부 신호로 정의. 사용 환경 Differential, TTL, OPTO (5~25V) 모든 종류의 신호 사용 가능. Start Trigger와 같이 사용. Stop Trigger 인가 전까지 지속적으로 영상 획득. Period,Pulse,Convert Mode 관계 없이 사용 가능. 3. TDI 카메라 TDI 카메랄 파라미터 - ScanDirection 데이터 스캔 방향성을 선택 합니다. 선택 된 방향성과 반대 방향으로 스캔 시 , Blur 증상이 발생 합니다. TDI 카메라 파라미터 - TDI Stage Operation Mode 가 TDI 일때 사용 중첩 시킬 Line의 개수를 의미 TDI Stage 수가 많아 질 수록 감도 성능이 우수해짐. TDI 카메라 파라미터 - TDI, Area TDI TDI Stage를 이용하는 모드. 설정된 TDI Stage 수만큼 Image를 Intergration 하여 하나의 Line으로 출력 Area TDI Sensor 특성상 Focus를 맞추기 어려워 제공되는 기능. Sensor의 모든 라인을 이용하여 Image 출력. 노출시간 제어 가능. 항상 FreeRun으로 동작. 실제 검사 환경에 사용 권장하지 않음. TDI 카메라 세팅방법 - Free Run 카메라 내부 Clock 기준으로 카메라가 영상을 취득합니다. 데이터 취득 속도는 Acquistion Frame Rate에 종속 됩니다. Acquisition Frame Rate 계산 방법 = Moving Speed / Pixel Resolution eg) Moving Speed - 10mm/s, Pixel Resolution = 10um 10,000um/s / 10um = 1,000 TDI 카메라 세팅방법 - Trigger Mode 카메라 외부에 인가되는 External Trigger 혹은 CXP Trigger 기준으로 카메라가 영상을 취득 합니다. 데이터 취득 속도는 External Trigger 혹은 CXP Trigger Rate에 종속 됩니다. Pixel Resolution과 Trigger (Encoder Resolution)의 비율이 다를 경우, Grabber의 Pulse, Convert 모드를 사용하거나 , Camera의 Trigger Rescaler Rate를 이용하여 조절합니다. 4. JS 파일 설명 JS 파일 설명 - Immediate Trigger Mode Grabber에서 일정한 주기를 갖는 신호를 생성. 해당 신호를 이용하여 카메라의 Frame Rate를 조절 CycleMinimumperiod, ExposureRecoveryTime 파라미터 조절을 통해 Line Rate 조절 가능. CycleMinimumPeriod 계산식 = 1 / 사용하고자 하는 Line Rate. * 10^6(us 단위로 변환) eg) 사용하고자 하는 Line Rate : 8KHZ 1 / 8,000 = 0.000125 * 1,000,000 = 125 JS 파일 설명 - Encoder Trigger Mode Grabber External Connector로 인가된 Differential 신호를 이용. Pixel Resolution과 Encoder Resolution이 일치하지 않을 경우, Pulse(DIV) or Convert(MDV) 모드 사용. QuadratureDecoderToolForwardDirection을 이용하여 신호 방향성 설정 가능. QuadratureDecoderToolOutputMode를 이용하여 신호 인식 동작 설정 가능. CycleMinimumPeriod, ExposureRecoveryTime가 현재 사용하고자 하는 Line Rate와 일치하지 않을 경우, 포커스가 무너짐. JS 파일 설명 - Encoder Trigger Mode + Start Trigger /End Trigger Encoder Trigger Mode에 Start Trigger, End Trigger 기능 추가. LineInputToolSelector, LineInputToolSource를 조절하여 입력 신호 조절 가능. StartOfSequenceTriggerSource를 이용하여, Start Trigger 설정. EndOfSequenceTriggerSource를 이용하여 End Trigger 설정. 5. 동작 예시 동작 동영상 미리 제작된 JS 파일 Load. 현재 상황에 맞게 파라미터 수정. 데이터 취득
2022.10.251. JS 파일 오픈 제공드리는 Base.js 파일을 우클릭 합니다. 편집을 클릭하여 오픈 합니다. 2. JS 파일 수정 Interface -> InterfacePort Device -> DevicePort Remote Device -> RemotePort Data Stream -> StreamPort Node 몇 , 값 기재 예시 : SetRemotePort('ExposureTime','1000');
2022.10.251.저장 방법 Memento를 설치하면 시작 프로그램에 아래의 아이콘들이 생성됩니다. Memento: GUI 방식 Memento 프로그램 Reset Memento to Default Verbosity: Console 형태로 Dump 진행 시 Verbosity를 기본 값으로 설정 Set Memento Highest Verbosity: Console 형태로 Dump 진행 시 Verbosity를 최대로 설정 Start Memento Logging: Console 형태로 Dump 진행 Dump 기록시 모든 Log를 기록하기 위해 Set Memento Highest Verbosity를 실행 후 기록하는 것을 권장합니다. 관리자 권한으로 명령 프롬프트 또는 CMD 를 실행합니다. 아래 명령어를 입력하여 , memento.exe가 존재하는 경로로 이동 합니다. cd C:\Program Files\Euresys\Memento\bin\x84_64 (해당 경로는 기본 설정입니다.) 아래의 Dump 옵션을 이용하여 Dump 파일을 저장 할 수 있습니다. 아래 명령어를 입력하여 Dump File을 저장할 수 있습니다. Memento.exe dump --output=“D:\dump.memento” --follow --split=1000 (D:\경로에 dump. Memento 파일을 생성 하여 1,000MB 단위로 분할 저장.) 저장 경로에서 실시간으로 기록되고 있는 것을 확인 할 수 있습니다. Dump 중지: Ctrl + Pause Break 키를 누릅니다. Dump 일시 정지: Pause Break 키를 누릅니다. Dump 다시 시작: Enter 키를 누릅니다.
2022.10.251. IO Connector IO Connector - Differential Input 전기적 사양 RS-422/RS-485 differential line drivers 신호 인식 사용 환경 주로 Encoder 신호를 사용하여 고속으로 Trigger 인가 받기 위해 사용 IO Connector - Isolate Input 전기적 사양 Totem-pole LVTTL, TTL, 5 V CMOS drivers RS-422 line drivers potential free contact, solid-state relay , opr opto-isolators 12 V and 24 V signaling voltage also acceptd 사용 환경 50KHz 주기 이하의 신호 인식 5~24K 다양한 Level의 신호 인식 IO Connector - Isolate output 전기적 사양 30V/100mA 내에서 사용 가능 외부 전원 혹인 Connectoer 12V/GND 핀을 이용하여 사용 IO Connector - TTL IO 전기적 사양 LVTTV(3.3V low-voltage TLL) [Input / Output] TTL (5V TTL) [Input / Output] CMOS (5V CMOS) [Input] 2. CoaxPress Diagram CoaxPress 동작 Diagram CoaxLink Frame Grabber 동작은 크게 3가지로 구분이 가능합니다. I/O ToolBox : I/O를 통해 인가 받은 신호를 가공. (Delay, Divider, Multiplier) CIC Camera & Illumination Controller : I/O ToolBox 에서 가공된 신호를 이용하여 Trigger 및 Strobe 동작 제어 Image Acquisition Controller : Image Acquisition 및 Grabber 내부 전처리 기능 담당 3. IO Tool Box IO Tool Box 위치 Line Input Tool External IO와 맵핑이 가능한 IO Tool Box 내부에서 사용되는 신호를 제공합니다. (총 8EA) LineInputToolSelector : 사용하고자 하는 IO ToolBox 내부 신호를 선택 합니다. LineInputToolSource : 맵핑할 External IO 신호핀을 선택 합니다. LineInputToolActivation : 신호 인식 시점을 선택 합니다. Delay Tool IO Tool Box 내부에서 사용되는 신호에 Delay를 적용 합니다. (총 2EA) DelayToolSelector : Delay가 적용될 신호를 선택 합니다. DelayToolSource1 : DEL1 신호에 적용 될 신호를 선택 합니다. DelayToolSource2 : DEL2 신호에 적용 될 신호를 선택 합니다. DelayToolClockSource : DEL 신호에 적용될 Delay 기준 Clock을 선택 합니다. DelayToolDelayValue : DelayToolClockSource를 몇 회까지 Skip할지 기준을 선택 합니다. Divider Tool IO Tool Box 내부에서 사용되는 신호에 분주를 적용 합니다. (총 1EA). DividerToolSelector : 분주가 적용될 신호를 선택 합니다. DividerToolSource : 분주의 기준 신호를 선택 합니다. DividerToolEnableControl : DIV1신호 사용 여부를 선택 합니다. DividerToolDivisionFactor : 분주비를 선택 합니다. (정수만 가능) DividerToolInitialOffset : 분주 적용 전, 건너뛸 신호의 개수를 선택 합니다. MultiplierDividerTool IO Tool Box 내부에서 사용되는 신호의 속도를 변경 합니다. (총 1EA). MultiplierDividerToolSelector : MultiplierDivider가 적용될 신호를 선택 합니다. MultiplierDividerToolSource : 변경할 기준 신호를 선택 합니다. MultiplierDividerToolEnableControl : MDV1 신호 사용 여부를 선택 합니다.. MultiplierDividerToolMultiplierFactor : 기준신호의 증폭 배수를 선택 합니다. (실수 적용 가능) MultiplierDividerToolDivisionFactor : 기준신호의 분주 배수를 선택 합니다. (실수 적용 가능) QuadratureDecoderTool External IO와 맵핑이 가능한 IO Tool Box 내부에서 사용되는 신호를 제공 합니다. (총 1EA) QuadratureDecoder의 경우 Line과 달리, Pair 신호만 선택이 가능합니다. QuadratureDecoderToolSelector : 사용하고자 하는 IO Tool 내부 QDC 신호를 선택 합니다. QuadratureDecoderToolSources : 사용하고자 하는 External Pair 신호를 선택 합니다. QuadratureDecoderToolActivation : Pair 신호의 인식 Edge를 선택 합니다. QuadratureDecoderToolDirection : 신호 인식 방향성을 선택 합니다. QuadratureDecoderToolOutputMode Unfiltered : External Pair 신호가 인식 될때마다 신호를 발생시킵니다. ForwardOnly : Forward 방향일때만 신호를 발생시킵니다. FirstPassForwardOnly : Backward발생 시점까지 되돌아 오기 전에는 신호를 발생시키지 않습니다. QuadratureDecoderToolPosition / QuadratureDecoderToolDirection : 현재 위치와 방향을 나타냅니다 [ReadOnly] 동작 예시 IIN1로 1KHz 신호가 인가되며, 카메라는 50Hz로 이미지 취득을 희망 DIV 이용하여 분주된 신호 생성 가능 IIN1로 10Hz 신호가 인가되며, 카메라는 25Hz로 이미지 취득을 희망 MDV이용하여 신호 주파수 변경 가능 Encoder Resulution 이 1um 인 Pair 신호를 이용하여 Resolution 5um 신호로 변경. QuadratureDecoderToolActivation을 AllEdgeAB로 변경하여 Resolutiond을 1/4 = 0.25um으로 인식 DIV이용하여 0.25um 마다 발생 신호를 5um 마다 발생하도록 변경 Encoder Resulution 이 1um 인 Pair 신호를 이용하여 Resolution 0.1um 신호로 변경. QuadratureDecoderToolActivation을 AllEdgeAB로 변경하여 Resolutiond을 1/4 = 0.25um으로 인식 DIV이용하여 0.25um 마다 발생 신호를 0.1um 마다 발생하도록 변경 4. Grabber Trigger Mode 설정 Grabber 동작 설정 위치 Grabber 동작 모드 NC 프레임 그래버에 의해 조절되지 않는 카메라를 대상으로 합니다. 외부 트리거 신호를 사용하지 않는 프리 런 카메라. 직접 Trigger를 인가 받는 트리거모드 카메라 (Camera External IO) RC 카메라주기 속도만 프레임 그래버에 의해 제어되는 트리거 모드카메라를 대상으로 합니다. 노출 지속 시간은 카메라에 의해 제어됩니다. RG 트리거모드 카메라를 대상으로 하며 카메라주기 속도와 노출 지속 시간은 프레임 그래버에 의해 조절됩니다. Grabber 동작 설정 Cycle Trigger Source를 사용하고자 하는 IO ToolBox Out으로 설정
2022.10.251. 소개 Euresys GenApi Script의 문법은 JavaScript와 비슷합니다. 확장자로 .js를 사용하는 이유는 에디터에서 문법의 highlighting 효과가 적용되기 위함입니다. Script로 보드 및 카메라 파라미터를 설정할 경우, 별도의 소스 코드 컴파일 단계가 필요하지 않으므로 유지보수를 간편하게 할 수 있습니다. Script 파일은 간단히 메모장에서 작성 가능하며, 확장자는 js로 저장하면 됩니다. 2. Script 예시 파일 아래 경로에 기본적인 Script 사용 예시가 있습니다. 기본 설치 경로 : C:\Program Files\Euresys\Coaxlink\scripts 3. Script 작성 - 카메라 설정 카메라의 특정 파라미터를 설정하기 위해 아래와 같이 작성합니다. var grabber = grabbers[0]; //첫 번째 보드의 핸들 var remote = grabber.RemotePort; //보드의 카메라 핸들 remote.set(“TriggerMode”, “On”); //Trigger Mode를 On으로 설정 4. Script 실행 - GenICam Browser GenICam Browser에서 작성한 Script 파일을 테스트할 수 있습니다. "Run Script..." 버튼을 클릭하여 작성한 Script 파일을 불러오면, 오른쪽 그림처럼 실행 결과를 확인할 수 있습니다. Script를 잘못 작성하면 에러 메시지가 표시됩니다. 5. Script 실행 - Code Code에서도 마찬가지로 Script 파일을 불러올 수 있습니다. Script 호출을 위한 EGrabber Class의 runScript() API가 제공 됩니다.
2022.10.251. FFC-Wizard로 FFC 파일 생성하기 준비 단계 보드의 종류와 펌웨어에 따라 FFC 지원 여부가 다릅니다. Coaxlink Quad G3(only F/W 1-camera) Coaxlink Octo(only F/W 2-camera) 위 보드가 아닌 경우, 문의 부탁드립니다. 카메라 및 보드의 설정을 Continuous mode로 준비해야 합니다. Device Tab의 CameraControlMethod: NC Remote Device Tab의 TriggerMode: Off 정확한 보정을 위해, 평평한 흰색 타겟(예시, A4용지)을 준비합니다. 8bit 출력 기준으로, 흰색 타겟의 픽셀 값이 약 200 Level로 유지되도록 카메라 파라미터 또는 외부 환경을 조정합니다. 차광 단계에서는 카메라의 빛을 차단해야 하므로, 렌즈 덮개 또는 어두운 물체로 빛을 차단해야 합니다. 프로젝트 빌드 샘플 코드 중 coaxlink-sampe-programs\cpp\ffcWizard의 프로젝트를 실행합니다. 별도의 코드 수정 없이, 바로 빌드(Build) 합니다. 빌드 후 출력 폴더에 ffc-wizard.exe 파일이 생성됩니다. FFC 파일 생성하기 출력 폴더에서 주소창에 cmd를 입력하여 명령 프로프트를 실행 합니다. 명령 프롬프트 창에 명령어를 입력합니다. 명령어 : ffc-wizard.exe --balance --output-ffc=(filename).ffc 또는 ffc-wizard.exe --ifINT --dew=INT --ds=INT --balance --output-ffc=(filename).ffc ※ 보드에 2개 이상의 카메라가 연결되어 있다면, INT에 올바른 인덱스를 입력해야 합니다. 아래의 화면이 표시되면 카메라 차광을 진행합니다. 렌즈 덮개를 이용하여 차광하는 것을 권장합니다. 차광이 준비되면 Enter키를 눌러 다음 단계로 넘어갑니다. (Enter 키를 누르면 어두운 이미지를 얻기 위한 영상취득이 시작됩니다.) 카메라 수광을 진행 합니다. 덮어져 있는 렌즈 덮개를 제거합니다. 수광이 준비되면 Enter키를 눌러 다음 단계로 넘어갑니다. Enter 키를 누르면 평평한 회색 타겟 이미지를 얻기 위한 영상취득이 시작됩니다. 정상적으로 절차가 완료되면 Done 메세지가 출력됩니다. ffc-wizard.exe 경로에 *.ffc 파일이 정상적으로 생성 되었는지 확인합니다. 2. GenICam Browser에서 ffc 파일 적용하기 FFC 파일 불러오기 GenICam Browser를 실행 합니다. 툴 바 -> "Run Script..." -> Load -ffc 메뉴를 클릭합니다. 생성한 FFC 파일을 선택합니다. 정상적으로 Load 되면 Script에 Finished 메세지가 표시됩니다. FFC 파일 적용 확인하는 방법 GenICam Browser의 Stream0에서, FfcControl 파라미터가 Enable로 변경되어 있으면 정상적으로 적용된 것입니다.
2022.10.25