문제 해결(프레임 그래버)#
imaWorx CXP-12 Quad#
카메라 검색 문제#
Framegrabber API 라이브러리 siso_genicam 또는 microDisplay X 도구를 사용하여 카메라 검색을 수행하는 동안 문제가 발생하는 경우, 특정 환경 변수를 재설정하여 검색 동작을 세부적으로 조정할 수 있습니다:
| 변수 이름 | 기본값 | 정의 |
|---|---|---|
| SISO_CXP_COMMAND_ACK_TIMEOUT | 200 ms | 명령을 보낸 후 Framegrabber SDK가 카메라 응답을 대기하는 최대 시간입니다. 기본값인 200 ms는 CXP 1.1 표준에서 요구하는 값입니다. 확인(ACK) 시간 초과를 알리는 로그 메시지가 자주 발생하는 경우 이 값을 늘릴 수 있습니다. |
| SISO_CXP_WAIT_AFTER_LINKRESET | 300 ms | 단일 채널에서 링크 리셋 명령이 전송된 후 Framegrabber SDK가 대기하는 시간(밀리초). 검색 시 Framegrabber SDK는 모든 채널로 링크 리셋 명령을 보냅니다. 링크 리셋은 순차적으로 수행됩니다. Framegrabber SDK는 각 링크 리셋 후 다음 링크 리셋을 수행하기 전에 SISO_CXP_WAIT_AFTER_LINKRESET ms만큼 대기합니다. CXP 1.1 표준에서는 200 ms를 요구하지만, 링크 리셋 명령을 모든 채널에 동시에 전송해야 하는지 아니면 개별적으로 전송해야 하는지에 대해서는 명확하지 않습니다. Framegrabber SDK는 SISO_CXP_WAIT_AFTER_LINKRESET, SISO_CXP_WAIT_AFTER_LINKRESET_AT_DISCOVERY 및 SISO_CXP_WAIT_AFTER_LINKRESET_OF_ALL_PORTS의 세 가지 환경 변수를 통해 이 동작을 구성할 수 있도록 지원합니다. 기본값은 시중의 대부분의 카메라를 지원하도록 선택되었습니다. 링크 잠금은 성공했으나 검색 중 카메라 통신이 실패했다는 로그 메시지가 발생하는 경우, SISO_CXP_WAIT_AFTER_LINKRESET 및/또는 SISO_CXP_WAIT_AFTER_LINKRESET_AT_DISCOVERY의 값을 늘리거나, SISO_CXP_WAIT_AFTER_LINKRESET을 0으로 설정하고 SISO_CXP_WAIT_AFTER_LINKRESET_AT_DISCOVERY를 200 이상으로 설정해 볼 수 있습니다. |
| SISO_CXP_WAIT_AFTER_LINKRESET_AT_DISCOVERY | 200 ms | 모든 채널이 링크 리셋 명령을 수신한 후 Framegrabber SDK가 추가로 대기하는 시간입니다. 추가적인 내용은 SISO_CXP_WAIT_AFTER_LINKRESET을 참조하십시오. |
| SISO_CXP_WAIT_AFTER_LINKRESET_OF_ALL_PORTS | 0 ms | 잠금 가능한 모든 채널에서 채널 링크 잠금이 설정된 후 Framegrabber SDK가 추가로 대기하는 시간입니다. 일반적으로 사용자는 기본값인 0을 변경할 필요가 없습니다. (SISO_CXP_WAIT_AFTER_LINKRESET 및 SISO_CXP_WAIT_AFTER_LINKRESET_AT_DISCOVERY가 모두 0으로 설정된 경우, SISO_CXP_WAIT_AFTER_LINKRESET_OF_ALL_PORTS의 값은 200 이상으로 설정해야 합니다.) 추가적인 내용은 SISO_CXP_WAIT_AFTER_LINKRESET을 참조하십시오. |
| SISO_CXP_WAIT_AFTER_CAMERACONFIG_DONE | 750 ms | Framegrabber SDK가 링크 구성 명령을 전송한 후 대기하는 시간입니다. CXP 1.1 표준에서는 200 ms가 필요합니다. 그러나 일부 카메라는 링크 구성 변경 후 복구하는 데 더 많은 시간이 필요하므로 Framegrabber SDK의 기본값은 750 ms입니다. 구성 변경 후 카메라와의 통신이 끊어지는 경우 이 값을 늘릴 수 있습니다. |
| SISO_CXP_RECEIVE_ACK_PACKET_ON_LINKCONFIG | Off | CXP 1.1 표준에서는 카메라가 링크 구성 변경을 적용한 후 이에 대한 확인 응답(acknowledge)을 보내도록 요구합니다. 그러나 대부분의 카메라는 링크 구성 변경 후 확인 응답을 보내지 않습니다. 카메라의 확인 응답 대기를 강제하려면 이 값을 ON으로 설정하십시오. |
| SISO_CXP_SKIP_REGISTER_CHECK_ON_LINKCONFIG | Off | 링크 구성 변경 후 카메라 통신이 정상적으로 작동하는지 확인하기 위해 Framegrabber SDK는 변경 사항이 적용된 후 레지스터 읽기를 시도합니다. 이 동작을 억제하려면 이 값을 ON으로 설정하십시오. |
microEnable 5 프레임 그래버#
앱릿 활성화 시 블루스크린 발생#
FPGA 라이브 재구성(applet 활성화 시 시작됨) 동안 프레임 그래버가 잠시 동안 PCI 버스에서 사라집니다. 그러나 모든 메인보드가 PCI 버스에서 장치가 사라지는 현상을 지원하는 것은 아닙니다. 자세한 내용은 Crash Protection (microDiagnostics)을 참조하십시오.
컴퓨터가 FPGA의 라이브 재구성을 지원하지 않는 경우, FPGA 라이브 구성을 비활성화할 수 있습니다.
정보
다음 칩셋은 일부 메인보드에서 재부팅 없이 FPGA 라이브 구성을 지원합니다.
- Intel X58 Express
- Intel X79 Express
- Intel Z87 (Z99)
Basler는 상술한 칩셋과의 FPGA 라이브 구성을 보장하지 않습니다.
언제든지 FPGA의 라이브 재구성을 비활성화할 수 있습니다. 비활성화한 후에는 새 펌웨어를 플래싱한 후 전원을 껐다 켜야(콜드 부팅) 합니다.
FPGA의 라이브 재구성을 비활성화하려면:
- 시스템에 다음 시스템 환경 변수를 추가하십시오:
SISO_ENABLE_RECONFIGURATION - 다음 값으로 설정하십시오.
NO:SISO_ENABLE_RECONFIGURATION=NO
이제 플래싱할 때마다 컴퓨터의 전원을 껐다 켜라는(콜드 부팅) 메시지가 표시됩니다:

컴퓨터 전원을 껐다 켜려면:
- Shut Down을 클릭하여 컴퓨터를 완전히 종료하십시오(Restart 옵션만으로는 충분하지 않습니다).
- 컴퓨터가 완전히 꺼진 후 몇 초 동안 기다립니다.
- 호스트 컴퓨터를 다시 시작합니다.
FPGA 대체(Fall-Back) 구성#
FPGA는 전원이 꺼지면 구성을 잃게 됩니다. 구성은 각 콜드 스타트 시 또는 선택적으로 나중에 다시 로드됩니다. 프레임 그래퍼에서 FPGA는 BPI 플래시 메모리에서 구성을 로드합니다.
BPI 플래시 메모리는 8개의 파티션으로 나뉩니다. 파티션 1~7 중 하나에는 사용자가 사용하려는 구성(부팅 구성 및/또는 활성 구성)이 포함되어 있습니다. 예외적인 상황에서도 프레임 그래퍼가 안정적으로 작동하도록 하기 위해 파티션 0에는 대체(폴백) 구성(SAVE Configuration 1)이 포함되어 있습니다. 의도한 구성(부팅 구성 또는 활성 구성)을 FPGA 구성에 사용할 수 없는 경우 SAVE Configuration이 자동으로 로드됩니다.
이러한 방식으로 항상 FPGA에 대한 소프트웨어 액세스를 유지할 수 있습니다. 즉, 완전한 기능을 갖춘 구성(애플릿)으로 프레임 그래퍼를 항상 구성할 수 있습니다.
이러한 상황은 언제 발생하는가?#
의도한 구성을 로드할 수 없는 가장 일반적인 원인은 BPI 플래시 메모리가 로드되는 동안 프레임 그래퍼의 전원 연결이 끊어지는 것입니다. 전원 연결이 끊어지면 로딩 프로세스가 완료되지 않은 상태로 남게 됩니다. 그 후 FPGA는 BPI 플래시 메모리의 (불완전한) 콘텐츠를 구성에 사용할 수 없습니다. 대신 FPGA는 SAVE Configuration을 사용합니다.
구성 스위치#
보드에 직접 위치한 구성 스위치를 통해 언제든지 SAVE Configuration을 활성화할 수 있습니다. 이는 SAVE Configuration이 자동으로 로드되지 않는 매우 드문 경우를 위한 최종적인 대체 방법입니다.
프레임 그래퍼의 구성 스위치:

구성 스위치를 사용하려면:
- 구성 스위치를 누릅니다.
- 프레임 그래퍼의 장치 드라이버를 다시 로드하거나 호스트 컴퓨터를 다시 시작(웜 스타트)합니다.
프레임 그래버 재구성/재플래싱#
SAVE Configuration이 성공적으로 활성화되면(자동으로 또는 스위치를 통해) 해당 SAVE LED가 빨간색으로 바뀝니다. 이는 소프트웨어를 통해 프레임 그래버를 사용할 수 있음을 나타냅니다. 이제 이미지 취득에 사용할 애플릿의 완전한 기능 버전을 사용하여 프레임 그래버를 다시 구성하거나 다시 플래싱할 수 있습니다. 플래싱하려면 소프트웨어 도구인 microDiagnostics를 사용합니다(Flashing 참조).
새 앱릿 로드(플래싱)가 완료되지 않음#
mE5 프레임 그래버에 앱릿을 플래싱하는 동안 문제가 발생하거나, 예를 들어 플래싱 프로세스가 끝나지 않는 경우:
- 프레임 그래버의 전원을 켜둔 상태로 유지하십시오. 프레임 그래버를 끄지 마십시오.
- Basler Technical Support Team에 문의하십시오.
FPGA 라이브 재구성 비활성화#
FPGA 라이브 재구성(applet 활성화 시 시작됨) 동안 프레임 그래버가 잠시 동안 PCI 버스에서 사라집니다. 그러나 모든 메인보드가 PCI 버스에서 장치가 사라지는 현상을 지원하는 것은 아닙니다. (참조: Crash Protection)
컴퓨터가 FPGA의 라이브 재구성을 지원하지 않는 경우, 일반적으로 FPGA 라이브 구성을 비활성화할 수 있습니다.
참고
서버 수준 칩셋을 지원하는 고성능 메인보드는 FPGA 라이브 구성을 지원합니다. 다음 칩셋은 일부 메인보드에서 재부팅 없이 FPGA 라이브 구성을 지원하는 것으로 알려져 있습니다.
- Intel X58 Express
- Intel X79 Express
- Intel Z87 (Z99)
Basler는 위에서 언급한 칩셋과의 FPGA 라이브 구성을 보장하지 않습니다. 자세한 내용은 Flashing을 참조하십시오.
FPGA의 라이브 재구성은 언제든지 비활성화할 수 있습니다. 비활성화한 후에는 프레임 그래버를 플래싱한 후 컴퓨터를 전원 껐다 켜기(콜드 부팅)해야 합니다.
FPGA의 라이브 재구성을 비활성화하려면:
- 시스템에 다음 시스템 환경 변수를 추가하십시오:
SISO_ENABLE_RECONFIGURATION - 다음 값으로 설정하십시오.
NO:SISO_ENABLE_RECONFIGURATION=NO
이제 플래싱할 때마다 컴퓨터의 전원을 껐다 켜라는(콜드 부팅) 메시지가 표시됩니다:

컴퓨터 전원을 껐다 켜려면:
- Shut Down을 클릭하여 컴퓨터를 완전히 종료하십시오(Restart 옵션만으로는 충분하지 않습니다).
- 컴퓨터가 완전히 꺼진 후 몇 초 동안 기다립니다.
- 호스트 컴퓨터를 다시 시작합니다.
플래싱 후 프레임 그래버를 사용할 수 없음#
microEnable 5 프레임 그래버를 다음 파일로 플래싱하고 *.hap 그 후 Windows 장치 관리자 및 microDisplay X에서 프레임 그래버를 인식하지 못하는 경우, 프레임 그래버에 플래싱한 *.hap 파일에 오류가 있는 것입니다(타이밍 위반 등).
이 경우 SAVE Configuration이 FPGA 구성에 자동으로 사용되지 않습니다.
SAVE Configuration을 활성화하려면 프레임 그래버에 직접 위치한 구성 스위치를 사용하십시오.

구성 스위치를 사용하려면:
- 구성 스위치를 누르십시오.
- 프레임 그래퍼의 장치 드라이버를 다시 로드하거나 호스트 컴퓨터를 다시 시작(웜 스타트)합니다.
SAVE Configuration이 성공적으로 활성화되면(자동 또는 스위치를 통해) 해당 SAVE LED가 빨간색으로 바뀝니다. 이는 소프트웨어를 통해 프레임 그래버를 사용할 수 있음을 나타냅니다. 이제 이미지 취득에 사용할 애플릿의 완전한 기능 버전을 사용하여 프레임 그래버를 다시 구성하거나 다시 플래싱할 수 있습니다. 플래싱하려면 소프트웨어 도구인 microDiagnostics를 사용합니다.
microDiagnostics를 열고 Flashing에 설명된 대로 프레임 그래버에 사용할 애플릿(완전한 기능 버전)을 로드합니다.