콘텐츠로 건너뛰기

Cognex VisionPro Adapter#

Cognex VisionPro Adapter 단종 안내

Framegrabber SDK 버전 5.10부터 Cognex VisionPro Adapter는 단종되었습니다. Framegrabber SDK 5.10 릴리스 노트도 참조하십시오. Cognex VisionPro Adapter는 GenTL Interface로 대체할 수 있습니다.

버전 4

Cognex VisionPro Adapter는 Basler 프레임 래버 및 Framegrabber SDK 소프트웨어를 Cognex의 VisionPro 소프트웨어 패키지에 통합하기 위한 지원 도구입니다. Basler Framegrabber API를 VisionPro에 직접 통합하는 데 필요한 해당 인터페이스로 매핑합니다. Cognex VisionPro Adapter 버전 4는 Basler에서 제공하는 모든 프레임 래버를 지원합니다.

Cognex VisionPro Adapter를 사용하면 Cognex VisionPro 환경을 사용하는 동안 자체 소프트웨어에 Basler 프레임 그래버의 구성 및 제어 기능을 구현할 수 있습니다.

또한 이 어댑터를 사용하면 카메라가 GenICam 표준을 지원하는 한 프레임 래버에 연결된 카메라의 구성을 구현할 수 있습니다.

이 어댑터를 사용하면 다음을 수행할 수 있습니다.

  • 프레임 래버에 다양한 이미지 처리 기능을 로드하고,
  • 프레임 그래버 구성 파라미터에 액세스하고 수정
  • 프레임 래버 구성에 따라 이미지를 획득하며,
  • 단일 시스템에서 여러 개의 Basler 프레임 그래버 사용

Cognex VisionPro Adapter 개요 다이어그램

지원되는 프레임 그래버#

프레임 그래버 모델#

Cognex VisionPro Adapter는 Basler에서 제공하는 모든 프레임 그래버를 지원합니다.

여기에는 microEnable V 및 imaWorx 프레임 래버가 포함됩니다.

프레임 그래버 기능 (Applets)#

Basler 프레임 그래버의 기능은 applet이라는 특정 하드웨어 프로그램으로 정의됩니다. 각 프레임 그래버 모델에 대해 다양한 기능 범위를 제공하는 광범위한 applet을 사용할 수 있습니다.

각 applet은 특정 인터페이스, 특정 카메라 그룹 또는 특정 응용 분야에 최적화되어 있습니다. 래버에서 사용할 applet을 선택하여 Basler 프레임 래버의 기능을 정의합니다.

각 특정 프레임 그래버 모델별로 Basler에서 제공하는 applet 세트가 있습니다. 또한 그래픽 프로그래밍 환경인 VisualApplets를 사용하여 사용자 정의 이미지 처리 applet을 빌드할 수 있습니다.

Cognex VisionPro Adapter는 Basler 프레임 래버의 모든 기능을 지원합니다. 예를 들어 Basler에서 제공하는 applet을 실행하는 프레임 래버뿐만 아니라 VisualApplets로 빌드된 applet을 실행하는 프레임 래버도 지원합니다.

지원되는 출력 형식#

Cognex VisionPro Adapter는 다음과 같은 프레임 그래버 출력 포맷을 지원합니다.

Cognex Name Basler Name Format
ck_pt_mono FG_GRAY Gray 8bit
ck_pt_mono16 FG_GRAY16 Gray 16bit
ck_pt_RGBplanar FG_COL24 Color 24bit
ck_pt_RGB48 (Cognex에서 지원하지 않음) FG_COL48 Color 48bit

RGB Planar 출력 형식으로 변환#

Cognex VisionPro는 RGB 플래너(planar) 포맷을 지원하지만 RGB 팩드(packed) 포맷은 지원하지 않습니다. 그러나 Basler 프레임 그래버는 RGB 팩드 포맷을 지원하지만 플래너 포맷은 지원하지 않습니다. 따라서 Cognex VisionPro Adapter는 Basler 프레임 그래버가 출력하는 RGB 팩드 포맷을 Cognex VisionPro가 지원하는 RGB 플래너 포맷으로 변환합니다. 변환은 픽셀 단위로 수행됩니다. 데이터는 색상 채널(R, G, B)별로 분리되어 프레임 버퍼에 버퍼링됩니다.

프레임 그래버에서의 RGB24 데이터 저장 형식:

R(Px1)G(Px1)B(Px1)R(Px2)G(Px2)B(Px3) ... R(Pxn*m)G(Pxn)B(Pxn)

(Pxn: 이미지 위치 n에서의 픽셀 값)

플래너 프레임 버퍼에서의 데이터 저장 형식:

R(Px1)R(Px2)R(Px3) ... R(Pxn*m)
G(Px1)G(Px2)G(Px3) ... G(Pxn*m)
B(Px1)B(Px2)B(Px3) ... B(Pxn*m)

n = 이미지 너비 m = 이미지 높이

형식은 프레임 그래버 파라미터 FG_FORMAT에 따라 VisionPro로 전달됩니다.

다중 비디오 스트림#

Basler frame grabber는 여러 개의 비디오 스트림을 제공할 수 있습니다. 하지만 Cognex VisionPro에서는 각 frame grabber(ICogFrameGrabber)가 하나의 비디오 스트림에만 연결됩니다.

따라서 어댑터는 Basler frame grabber의 각 비디오 스트림(DMA) 출력을 하나의 Cognex frame grabber 인스턴스(ICogFrameGrabber)에 매핑합니다.

여러 Frame Grabber 인스턴스로 비디오 스트림 출력 매핑

프레임 그래버에 의해 생성되는 DMA 채널 수는 프레임 그래버에서 실행 중인 앱릿에 따라 다릅니다.

요구 사항#

Cognex VisionPro Adapter를 사용하려면 시스템이 다음 요구 사항을 충족해야 합니다.

하드웨어#

  • 올바르게 설치된 Basler 프레임 그래버 최소 1개
  • Cognex VisionPro용 하드웨어 동글(Cognex에서 제공)

소프트웨어#

  • 운영 체제: Windows 7, Windows 8.1 또는 Windows 10
  • Cognex VisionPro 설치(Cognex를 통해 설치 프로그램 제공)
  • Cognex Acquisition Integration Kit 설치(Cognex를 통해 설치 프로그램 제공)
  • Basler Framegrabber SDK 설치
  • Cognex VisionPro Adapter 설치

정보

Basler는 Cognex VisionPro 9.0에 최적화되고 테스트되었으므로 Cognex VisionPro 소프트웨어 버전 9와 함께 Cognex VisionPro Adapter 버전 4를 사용할 것을 권장합니다. 이후 버전의 VisionPro에는 Basler 어댑터 DLL을 방해할 수 있는 내부 GenTL Consumer가 포함되어 있을 수 있습니다.

설치#

Cognex VisionPro Adapter를 사용하려면 반드시 다음을 설치해야 합니다.

  • Basler Framegrabber SDK 및
  • Cognex VisionPro Adapter 자체.

설치를 위해 두 가지 옵션이 있습니다. 다음 중 하나를 선택할 수 있습니다.

  • Basler Framegrabber SDK와 Cognex VisionPro Adapter를 한 번에 설치(둘 다 Framegrabber SDK 설치 프로그램 사용)하거나,
  • 별도의 설치 프로그램을 통해 Framegrabber SDK 및 어댑터를 설치합니다.
    이는 시스템에 Framegrabber SDK가 이미 설치되어 있고 Cognex VisionPro Adapter 설치를 추가하려는 경우 특히 유용합니다.
    또한 설치 프로그램을 사용하지 않고 어댑터를 수동으로 설치할 수도 있습니다.

다음 섹션에서는 모든 설치 옵션에 대해 설명합니다.

Framegrabber SDK 및 어댑터 한 번에 설치#

Basler Framegrabber SDK와 Cognex VisionPro Adapter를 한 단계로 함께 설치하려면:

  1. 당사 웹사이트의 다운로드 섹션에서 Framegrabber SDK 설치 프로그램을 다운로드합니다. 해당하는 설치 프로그램을 선택해야 합니다.
  2. 파일 이름을 더블 클릭하여 Framegrabber SDK 설치 프로그램을 시작합니다.
  3. Framegrabber SDK 설치 프로그램의 Select Components 대화상자에서 Cognex VisionPro Adapter가 선택되어 있는지 확인하십시오.

    Select Components 대화상자

  4. Framegrabber SDK 설치를 완료합니다.

Cognex VisionPro Adapter는 Basler Framegrabber SDK 소프트웨어와 함께 설치됩니다.

어댑터 개별 설치#

시스템에 Basler Framegrabber SDK가 이미 설치되어 있는 경우, 별도의 설치 프로그램을 실행하여 Cognex VisionPro Adapter를 설치할 수 있습니다.

  1. Basler 웹사이트에서 Framegrabber SDK 설치 프로그램을 다운로드합니다. 해당하는 설치 프로그램을 선택해야 합니다.
  2. 설치 프로그램 파일을 더블 클릭하십시오. SetupCognexAdapter_xxx.exe 그리고 설치 마법사의 지침을 따르세요.

이것은 일반적인 설치 절차입니다. 그러나 어댑터가 예상대로 작동하지 않는 등의 특정 상황에서는 대안으로 어댑터를 수동으로 설치할 수 있습니다.

어댑터 수동 설치#

Basler 프레임 그래버 지원을 위한 어댑터를 수동으로 통합하려면 다음 단계를 수행하세요:

  1. 파일을 복사합니다. SiSoCognexAdapter.dll 하위 디렉토리 \bin Basler Framegrabber SDK 설치 폴더 내에 있습니다.
  2. 레지스트리 편집기를 엽니다.
  3. 레지스트리 편집기에서 다음으로 이동합니다. [HKEY_LOCAL_MACHINE\SOFTWARE\Cognex\AIK\AdapterSiso].
    이 폴더를 찾을 수 없는 경우 필요에 따라 생성하십시오.
    실제 사용자가 레지스트리 키 [HKEY_LOCAL_MACHINE\SOFTWARE\Cognex\AIK]에 대한 쓰기 권한을 가지는 것이 중요합니다. 그렇지 않으면 Basler 어댑터 DLL을 로드하기 위해 관리자 권한으로 VisionPro를 실행해야 합니다.
  4. 다음 항목을 추가합니다. AdapterSiso:

    PoolSize=dword:04000000
    PoolSizeQuantum=dword:000000002
    ServerNameBase=Cognex.AIKserver.AdapterSiSo
    UseExe=dword:00000001
    LibName=<SISOINSTALLDIR>\bin\SiSoCognexAdapter.dll
    

    where \<SISOINSTALLDIR> is your installation directory of the Basler Framegrabber SDK, e.g.: C:\Program Files\Basler\FramegrabberSDK5.x.x\bin\SiSoCognexAdapter.dll

    Regedit 설정

Applet 선택#

Basler는 각 프레임 그래버 모델용 acquisition applet 세트를 제공합니다. 초기화하려면 모든 프레임 그래버가 앱릿을 로드해야 하며, 앱릿이 다르면 기능 세트도 달라집니다.

applet을 로드할 수 있으려면 하드웨어와 소프트웨어 모두에서 사용할 수 있어야 하며, 이는 frame grabber 제품군에 따라 상당한 차이가 있습니다.

applet을 로드 가능하게 만드는 방법에 대한 자세한 내용은 microDiagnostics documentation에서 확인할 수 있습니다.

포함된 로드 가능한 앱릿 중 하나는 다른 앱릿을 활성 앱릿으로 정의하지 않는 한 기본적으로 활성 앱릿이 됩니다.

특정 frame grabber 모델용 applet 세트에서 아무 applet이나 선택하거나, VisualApplets로 설계된 applet을 선택할 수 있습니다.

Cognex VisionPro Adapter 버전 4에서는 다음 규칙에 따라 applet이 선택됩니다.

  • 먼저, 어댑터는 앱릿 또는 앱릿 구성 파일을 가리키는, 보드의 인덱스를 나타내는 "_x"(예: "_0")가 포함된 환경 변수 SISO_COGNEX_APPLET_x가 있는지 확인합니다.
  • 이 환경 변수를 찾지 못하면, 어댑터는 GenTL 종료 후 "%Appdata%\Basler" 아래에 저장된 프레임 그래버용 GenTL Producer의 마지막 설정을 검색합니다.
  • 프레임 그래버에 대한 이 마지막 설정 파일도 존재하지 않는 경우, 어댑터는 프레임 그래버에 대해 실제로 active applet을 검색합니다.
  • 어댑터가 환경 변수나 마지막 GenTL Producer 설정을 찾지 못하고 active applet도 없는 경우, 발견한 첫 번째 로드 가능한 applet을 로드합니다.

환경 변수를 사용하여 앱릿을 선택하려면:

  1. 해당 시스템 환경 설정을 변경합니다: SISO_COGNEX_APPLET_<x> = <AppletFilename>
    • 보드 인덱스를 나타냅니다. 예: 첫 번째 보드의 경우 "0"
    • 사용할 앱릿의 경로와 파일 이름입니다. 예: C:\Program Files\Basler\FramegrabberSDK\dll\iW-CXP12-Q\Acq_SingleCXP12x4Area.dll.
      Basler 프레임 그래버 열거에 대한 자세한 내용은 Basler Framegrabber SDK documentation을 참조하십시오.
  2. 필요한 경우 풀 크기를 늘리십시오:
    1. 레지스트리 편집기를 엽니다.
    2. 레지스트리 편집기에서 다음으로 이동합니다. [HKEY_LOCAL_MACHINE\SOFTWARE\Cognex\AIK\AdapterSiso].
    3. "PoolSize" 키의 값을 변경합니다.
  3. Cognex VisionPro를 닫습니다.
  4. Windows 작업 관리자를 통해 AIK Server를 종료합니다.
  5. Cognex VisionPro를 재시작하십시오.

정보

환경 변수를 변경할 때마다 Windows 작업 관리자를 통해 AIK 서버를 종료해야 합니다. 이 프로그램을 닫는 것만으로는 AIK 서버가 종료되지 않으므로 VisionPro를 닫는 것만으로는 충분하지 않습니다.

VisionPro 소프트웨어를 재시작한 (따라서 AIK 서버를 다시 시작한) 후에야 시스템 변수 변경 사항이 활성화됩니다.

선택한 앱릿은 시스템에 설치된 각 프레임 그래버별로 개별적으로 구성할 수 있습니다.

사전 정의된 설정 파일을 사용하여 프레임 그래버를 초기화하는 방법에 대한 정보는 Frame Grabber Initialization Using an MCF File을 참조하십시오.

정보

Dual 앱릿(연결된 카메라 두 대 지원) 또는 Quad 앱릿(연결된 카메라 네 대 지원)을 사용하는 경우:

단 하나의 물리적 프레임 그래버가 설치되어 있더라도, VisionPro에서는 Image Acquisition Device/Frame Grabber 아래에 각 카메라마다 하나씩 총 2개/4개의 서로 다른 장치가 논리적으로 나열됩니다. 자세한 내용은 Multiple Video Streams를 참조하십시오.

설치 테스트#

어댑터 설치가 성공했는지 테스트할 수 있습니다. 테스트에는 VisionPro 툴인 QuickBuild를 사용합니다.

어댑터 설치를 테스트하려면:

  1. Selecting an Applet에 설명된 대로 applet을 선택했는지 확인하십시오.
  2. VisionPro(R) QuickBuild를 시작하십시오.
  3. Image Source를 더블 클릭합니다:

    Image Source 항목

  4. Camera를 선택합니다:

    Camera 버튼

어댑터 설치가 성공한 경우, Basler 프레임 그래버가 Image Acquisition Device / Frame Grabber 콤보 박스에 모델명, 포트 연결 번호 및 일련번호와 함께 나열됩니다:

프레임 그래버 목록

사용 가능한 파라미터#

이 섹션에서는 특정 작업에 사용할 수 있는 파라미터에 대해 설명합니다.

라이브러리 정보#

다음 매개변수를 통해 사용된 라이브러리에 대한 정보를 얻을 수 있습니다:

파라미터 이름 CogAdapterInterfaceID
설명 이 기능은 어댑터가 빌드될 때 사용된 인터페이스 파일의 ID를 반환합니다.
Type String
Access Read
파라미터 이름 CogAdapterVersion
설명 어댑터 DLL의 버전입니다.
Type String
Access Read

프레임 그래버 구성#

프레임 그래버의 기능은 프레임 그래버에서 사용할 앱릿을 통해 정의됩니다. 앱릿은 특정 카메라 인터페이스, 특정 토폴로지, 심지어 특정 응용 분야에 맞게 조정된 하드웨어 프로그램입니다.

프레임 그래버 구성을 시작할 때, 실제로는 프레임 그래버에 로드된 앱릿 구성을 시작하는 것입니다. 따라서 프레임 그래버 구성에 사용할 수 있는 매개변수는 사용하는 앱릿에 따라 다릅니다.

해당 어플릿 문서에서 어플릿 특정 파라미터 및 해당 설정에 대한 모든 정보를 확인하십시오.

다음 매개변수를 통해 앱릿 매개변수를 설정할 수 있습니다:

파라미터 이름 FgFeatureKey
설명 이 파라미터는 FgStringValue, FgIntValue 또는 FgFloatValue 파라미터 중 하나를 통해 설정하거나 읽으려는 applet 파라미터의 이름을 보유합니다.
Type String
Access Read/Write
파라미터 이름 FgStringValue
설명 이 파라미터를 통해 String 유형의 applet 파라미터를 읽고 쓸 수 있습니다.
FgFeatureKey 파라미터가 대상 applet 파라미터를 가리키고 있는지 확인하십시오.
Type String
Access Read/Write
파라미터 이름 FgIntValue
설명 이 파라미터를 통해 Integer 타입의 애플릿 파라미터를 읽거나 쓸 수 있습니다.
FgFeatureKey 파라미터가 대상 애플릿 파라미터를 가리키고 있는지 확인하십시오.
Type Integer. 부호 있음/부호 없음 및 바이트 수는 애플릿 파라미터에 따라 다릅니다.
Access Read/Write
파라미터 이름 FgFloatValue
설명 이 파라미터를 통해 Double 타입의 애플릿 파라미터를 읽거나 쓸 수 있습니다.
FgFeatureKey 파라미터가 대상 애플릿 파라미터를 가리키고 있는지 확인하십시오.
Type 64-bit Float
Access Read/Write

정보

또는 *.mcf 파일을 사용하여 특정 애플릿 구성을 저장하고 불러올 수 있습니다. 자세한 내용은 Frame Grabber Initialization Using an MCF File을 참조하십시오.

카메라 구성#

카메라를 설정하려면 먼저 카메라를 선택하고 해당 카메라와의 연결을 설정해야 합니다. 이는 Camera Connector Interface를 통해 수행할 수 있습니다. 특정 카메라를 선택하고 연결한 후에는 실제 카메라 설정을 시작할 수 있습니다.

선택한 카메라가 사용 중인 Cognex 프레임 그래버 객체의 데이터 스트림에 영향을 주지 않더라도, Cognex 프레임 그래버 객체(DMA 채널)를 사용하여 물리적 프레임 그래버의 모든 카메라를 구성할 수 있습니다.

Cognex 프레임 그래버 객체는 하나의 데이터 스트림에 대해서는 로컬 액세스 권한을 가지지만, 물리적 프레임 그래버에 연결된 모든 카메라에 대해서는 글로벌 액세스 권한을 가집니다.

따라서 선택한 카메라가 이 Cognex 프레임 그래버 객체로 데이터를 보내든 안 보내든 상관없이, 모든 Cognex 프레임 그래버 객체를 통해 카메라를 구성할 수 있습니다.

Camera Configuration Model

카메라 커넥터 인터페이스#

카메라 커넥터 인터페이스를 통해 GenICam 표준(CL 및 CXP)을 지원하는 카메라를 감지하고 설정할 수 있습니다. 이 인터페이스를 통해 명령을 보내면 아래 그림에서 볼 수 있듯이 인터페이스의 상태가 변경됩니다.

Interface State Block Diagram

다음 명령과 매개변수를 사용할 수 있습니다:

파라미터 이름 InitializeCameraConnector
설명 GenICam 호환 카메라를 사용할 예정인 경우, 이 함수를 호출하는 것으로 시작하십시오.
Type 명령
Access Execute
가용성 Always
파라미터 이름 CloseCameraConnector
설명 작업이 완료되어 더 이상 카메라 기능을 사용할 필요가 없을 때 이 함수를 호출하십시오.
Type 명령
Access Execute
가용성 다음 상태인 경우: valid_lib, valid_port, invalid_port, valid_cam, invalid_cam
파라미터 이름 Detect
설명 이 함수는 사용 가능한 포트와 연결된 카메라를 감지합니다.
Type 명령
Access Execute
가용성 다음 상태인 경우: valid_lib, valid_port, invalid_port, valid_cam, invalid_cam
파라미터 이름 StartAquisition
설명 카메라에서 이미지 취득을 시작하려면 이 함수만을 배타적으로 사용하십시오. 이 목적으로 GenICam 기능인 AcquisitionStart를 사용하지 마십시오.
Type 명령
Access Execute
가용성 valid_cam 상태인 경우
파라미터 이름 StopAquisition
설명 카메라에서 이미지 취득을 중지하려면 이 함수만을 배타적으로 사용하십시오. 이 목적으로 GenICam 기능인 AcquisitionStop을 사용하지 마십시오.
Type 명령
Access Execute
가용성 valid_cam 상태인 경우
파라미터 이름 CameraCount
설명 이 파라미터는 활성 PortIndex에서 감지된 카메라의 수를 유지합니다.
Type size_ta
Access Read
가용성 다음 상태: valid_port, valid_cam, invalid_cam
파라미터 이름 CameraIndex
설명 활성 PortIndex에서 작업할 카메라를 선택하려면 이 파라미터를 사용하십시오.
Type size_ta
Access Read/Write
가용성 다음 상태: valid_port, valid_cam, invalid_cam
파라미터 이름 CameraName
설명 이 파라미터는 현재 선택된 카메라의 이름을 유지합니다.
Type String
Access Read
가용성 valid_cam 상태인 경우
파라미터 이름 PortIndex
설명 작업할 포트를 선택하려면 이 파라미터를 사용하십시오.
Type size_ta
Access Read/Write
가용성 다음 상태: valid_port, invalid_port, valid_cam, invalid_cam
파라미터 이름 PortCount
설명 이 파라미터는 사용 가능한 포트 수를 유지합니다.
Type size_ta
Access Read
가용성 다음 상태: valid_port, invalid_port, valid_cam, invalid_cam

카메라 구성하기#

(이 이전 섹션에서 설명한 대로 선택하고 연결한) 카메라를 설정하기 위해 다음 명령들을 사용할 수 있습니다.

정보

특정 대상 파라미터 이름에 대한 자세한 내용은 사용할 카메라의 카메라 문서를 참조하십시오.

다음 파라미터를 사용하여 카메라 파라미터를 설정할 수 있습니다:

파라미터 이름 CameraFeatureKey
설명 CameraStringValue, CameraIntValue, CameraFloatValue, CameraBooleanValue, CameraEnumerationValue 또는 CameraCommand(아래 참조)를 통해 구성하려는 카메라 파라미터의 이름을 지정하려면 이 파라미터를 사용하십시오.
Type String
Access Read/Write
파라미터 이름 CameraStringValue
설명 이 파라미터를 통해 String 유형의 카메라 파라미터를 읽고 쓸 수 있습니다.
CameraFeatureKey 파라미터가 대상 파라미터를 가리키고 있는지 확인하십시오.
Type String
Access Read/Write
파라미터 이름 CameraIntValue
설명 이 파라미터를 통해 Int 유형의 카메라 파라미터를 읽고 쓸 수 있습니다.
CameraFeatureKey 파라미터가 대상 파라미터를 가리키고 있는지 확인하십시오.
Type Int
Access Read/Write
파라미터 이름 CameraFloatValue
설명 이 파라미터를 통해 Float 유형의 카메라 파라미터를 읽고 쓸 수 있습니다.
CameraFeatureKey 파라미터가 대상 파라미터를 가리키고 있는지 확인하십시오.
Type Float
Access Read/Write
파라미터 이름 CameraBooleanValue
설명 이 파라미터를 통해 Boolean 유형의 카메라 파라미터를 읽고 쓸 수 있습니다.
CameraFeatureKey 파라미터가 대상 파라미터를 가리키고 있는지 확인하십시오.
Type String
Access Read/Write
파라미터 이름 CameraEnumerationValue
설명 이 파라미터를 통해 Enumeration 유형의 카메라 파라미터를 읽고 쓸 수 있습니다.
CameraFeatureKey 파라미터가 대상 파라미터를 가리키고 있는지 확인하십시오.
Type String
Access Read/Write
파라미터 이름 CameraCommand
설명 CameraFeatureKey 파라미터를 통해 지정한 커맨드를 실행하려면 이 파라미터를 사용하십시오.
Type 명령
Access Read/Write

이미지 취득#

다음 파라미터를 사용하여 실제 이미지 취득을 구성할 수 있습니다.

파라미터 이름 BufferCount
설명 BufferCount를 사용하여 어댑터 내부 이미지 취득에 사용되는 버퍼 수를 정의합니다.
이 파라미터를 변경하면 버퍼가 삭제되거나 할당됩니다.
Type size_ta
Access Read/Write
파라미터 이름 FrameCountSinceLastStart
설명 Counter: 이미지 취득이 마지막으로 시작된 후 어댑터가 수신한 이미지 수를 카운트합니다.
Type size_ta
Access Read
파라미터 이름 TimestampFrequency
설명 각 이미지에는 Timestamp가 할당됩니다. 이 파라미터는 Timer의 해상도를 나타냅니다.
Type Uint64_t
Access Read
파라미터 이름 AcquisitionStrategy
설명 AcquisitionStrategy 파라미터를 통해 스트림 버퍼의 처리 모드를 정의합니다.
Type Enumeration
Values 사용 가능한 버퍼 처리 모드는 다음과 같습니다.
  • OldestFirst: 다이어그램 참조 아래. 애플리케이션은 항상 Output Buffer Queue의 헤드에서 버퍼를 가져옵니다(즉, 가장 오래된 사용 가능한 버퍼). Output Buffer Queue가 비어 있는 경우, 애플리케이션은 타임아웃이 만료될 때까지 새로 취득된 버퍼를 기다립니다. 새 버퍼의 데이터를 사용할 수 있게 되면, 취득 엔진은 Input Buffer Pool에서 사용 가능한 버퍼를 찾아 데이터를 채운 후 Output Buffer Queue의 테일에 추가합니다. Input Buffer Pool이 비어 있는 경우 새 데이터는 폐기되고 에러가 발생합니다. 이 버퍼 처리 모드는 일반적으로 모든 이미지 프레임을 취득해야 하고 평균 처리 시간이 취득 시간보다 짧을 때 사용됩니다. Output Buffer Queue에서 버퍼가 폐기되거나 덮어쓰여지지 않으며, 채워진 모든 버퍼가 취득된 순서대로 전달됩니다.
  • OldestFirstOverwrite: 다이어그램 참조 아래. 애플리케이션은 항상 Output Buffer Queue의 헤드에서 버퍼를 가져옵니다(즉, 가장 오래된 사용 가능한 버퍼). Output Buffer Queue가 비어 있는 경우, 애플리케이션은 타임아웃이 만료될 때까지 새로 취득된 버퍼를 기다립니다. 새 버퍼의 데이터를 사용할 수 있게 되면, 취득 엔진은 Input Buffer Pool에서 사용 가능한 버퍼를 찾아 데이터를 채운 후 Output Buffer Queue의 테일에 추가합니다. Input Buffer Pool이 비어 있고 Output Buffer Queue가 비어 있지 않은 경우, Output Buffer Queue의 헤드(즉, 가장 오래된 버퍼)를 폐기하고 새 데이터로 덮어쓴 후 Output Buffer Queue의 테일에 추가합니다. Input Buffer Pool과 Output Buffer Queue가 모두 비어 있는 경우 새 데이터는 폐기됩니다. 이 버퍼 처리 모드는 일반적으로 모든 이미지 프레임을 취득할 필요가 없고 애플리케이션이 처리에 뒤처지지 않아야 할 때 사용됩니다.
  • NewestOnly: 응용 프로그램은 항상 가장 최근에 완료된 버퍼(가장 새로운 버퍼)를 가져옵니다. Output Buffer Queue가 비어 있는 경우, 응용 프로그램은 타임아웃이 만료될 때까지 새로 획득한 버퍼를 기다립니다. 이 버퍼 처리 모드는 일반적으로 카메라와 디스플레이 간에 지연이 없어야 하는 라이브 디스플레이 GUI에서 사용됩니다.
Access Read/Write
가용성 취득이 활성화되어 있지 않은 동안
파라미터 이름 변환
설명 Cognex VisionPro는 RGB packed 이미지를 허용하지 않습니다. 이 파라미터를 통해 RGB packed 형식의 이미지를 Cognex 호환 planar 형식으로 변환할지 여부를 정의합니다.
파라미터 값을 다음으로 설정하는 경우 NoTransformation, 이미지가 폐기됩니다.
파라미터 값을 다음으로 설정하는 경우 RGB8PackedToPlanar, RGB 8 packed 이미지가 RGB planar로 변환됩니다. 변환은 CPU에서 수행되므로, 파라미터를 다음 값으로 설정합니다 RGB8PackedToPlanar 시스템 전체 성능이 저하될 수 있습니다.
참고: 현재 어댑터는 Rgb8Packed 이미지의 planar 형식 변환만 지원하며(예: RGB16Packed 변환은 지원하지 않음),
Type Enumeration
Values NoTransformation
RGB8PackedToPlanar
Access Read/Write
가용성 취득이 활성화되어 있지 않은 동안

OldestFirst 버퍼 처리 모드#

Acquisition Engine#

OldestFirst Acquisition Engine

Buffer Delivery#

OldestFirst Buffer Delivery

OldestFirstOverwrite 버퍼 처리 모드#

Acquisition Engine#

OldestFirstOverwrite Acquisition Engine

Buffer Delivery#

OldestFirstOverwrite Buffer Delivery

MCF 파일을 사용한 프레임 그래버 초기화#

microEnable 환경 구성 파일(*.mcf)에는 프레임 그래버 매개변수화 데이터가 포함되어 있습니다.

*.mcf 파일에는 프레임 그래버 초기화 시 사용할 앱릿의 이름과 이 앱릿의 매개변수화가 포함되어 있습니다.

*.mcf 파일 생성 방법에 대한 자세한 내용은 microDisplay X documentation를 참조하십시오.

VisionPro로 빌드한 소프트웨어에서 *.mcf 파일로 프레임 그래버를 초기화할 수 있습니다. 프레임 그래버가 즉시 사전 구성되어 실행 준비 상태가 됩니다.

*.mcf 파일을 사용하여 프레임 그래버를 초기화하려면 다음 시스템 환경 변수를 변경하십시오.

SISO_COGNEX_APPLET_[x] = [ConfigurationFilename]

  • [x] 보드 인덱스를 나타냅니다. 예: 첫 번째 보드의 경우 "0"
  • [ConfigurationFilename] 사용할 *.mcf 파일의 경로 및 파일 이름입니다(예: C:\Program Files\SiliconSoftware\MyMCFs\my configuration.mcf).

트리거링#

트리거 파라미터#

VisionPro는 다음과 같은 Trigger Mode을 제공합니다.

  • 수동 트리거
  • Hardware Auto
  • 하드웨어 반자동
  • Free Run

각 파라미터의 값은 개별적으로 변경할 수 있습니다.

Frame Grabber Configuration File(microEnable 환경 구성 파일 *.mcf)을 사용하여 VisionPro 소프트웨어 내에서 프레임 그래버를 초기화하는 경우 VisionPro Trigger Mode 옵션은 사용되지 않습니다. 이 파일에서 가져온 구성은 항상 VisionPro Trigger Mode 설정을 덮어씁니다.

VisionPro 트리거 설정은 프레임 그래버 초기화에 *.mcf 파일을 사용하지 않는 경우에만 사용할 수 있습니다.

VisionPro Trigger Mode은 다음과 같이 앱릿 트리거 모델에 매핑됩니다.

Cognex Name Parameter Basler Cognex VisionPro Adapter의 Default Value Basler Name
수동 트리거 FG_TRIGGERMODE
FG_EXSYNCON
FG_CCSEL0
ASYNC_SOFTWARE_TRIGGER
1
CCEXSYNC
소프트웨어 트리거 (프레임 래퍼를 통한 소프트웨어 트리거 이미지 획득)
Hardware Auto
(setHardwareAutoTriggerMode)
FG_TRIGGERMODE
FG_EXSYNCON
FG_CCSEL0
ASYNC_SOFTWARE_TRIGGER
1
CCEXSYNC
외부 트리거
하드웨어 반자동 FG_TRIGGERMODE
FG_EXSYNCON
FG_CCSEL0
ASYNC_SOFTWARE_TRIGGER
1
CCEXSYNC
Cognex VisionPro Adapter에서는 Hardware auto와 Hardware Semi-Auto가 동일하므로 Basler 이름이 없습니다.
Free Run FG_TRIGGERMODE FREE_RUN 프리런
Cognex Name Parameter Basler Cognex VisionPro Adapter의 Default Value Basler Name
수동 트리거 FG_AREATRIGGERMODE
FG_TRIGGERCC_SELECT0
FG_TRIGGERSTATE
ATM_SOFTWARE
CC_PULSEGEN0
TS_ACTIVE
소프트웨어 트리거 (프레임 래퍼를 통한 소프트웨어 트리거 이미지 획득)
Hardware Auto
(setHardwareAutoTriggerMode)
FG_AREATRIGGERMODE
FG_TRIGGERCC_SELECT0
FG_TRIGGERSTATE
ATM_SOFTWARE
CC_PULSEGEN0
TS_ACTIVE
외부 트리거
하드웨어 반자동 FG_AREATRIGGERMODE
FG_TRIGGERCC_SELECT0
FG_TRIGGERSTATE
ATM_SOFTWARE
CC_PULSEGEN0
TS_ACTIVE
Cognex VisionPro Adapter에서는 Hardware auto와 Hardware Semi-Auto가 동일하므로 Basler 이름이 없습니다.
Free Run FG_TRIGGERSTATE TS_SYNC_STOP 프리런

Camera Link 프레임 래퍼의 Advanced Acquisition Applets Line Scan의 경우, 모든 트리거 옵션은 Frame Grabber Configuration File을 통해서만 사용할 수 있습니다.

예제: 소프트웨어 트리거 구성 및 사용#

Cognex VisionPro Adapter를 사용하여 Cognex VisionPro에서 소프트웨어 트리거 펄스를 얻으려면:

  1. 다음 순서도에 따라 파라미터를 설정하십시오.

    Parameters Flow Chart

    정보

    Camera Link 파라미터 "FG_CCSEL0"은 Cognex VisionPro Adapter에서 "FG_TRIGGWECC_SELCET0"이라고 합니다.

    다음 스크린샷은 파라미터 설정 방법을 보여줍니다.

    파라미터 설정

  2. 획득을 시작하려면 소프트웨어 트리거 펄스를 전송하십시오.

    1. 노란색 Run QuickBuild Application 버튼을 계속 클릭하십시오.
    2. 다음에서 Imaging Device 탭, 입력 FgIntValue (으)로 기능 입력 필드 및 클릭 Read. Value 1이 표시됩니다.
    3. 소프트웨어 트리거 펄스를 전송하려면 Write를 클릭합니다.

  1. 이 데이터 유형은 항상 부호가 없습니다. 자세한 내용은 C++ reference를 참조하십시오. ↩↩↩↩↩↩