CoaXPress over Fiber 프레임 그래버용 데이터 포워딩

imaFlex 2 Dual 100 플랫폼에서의 데이터 포워딩

간략한 설명

Files: \Examples\Acquisition\DataForwarding\iF2D100\DFExample_Host.vad
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Client_MidPosition.vad
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Client_EndPosition.vad
\Examples\Acquisition\DataForwarding\iF2D100\hap\DFExample_Host.hap\DFExample_Host.hap
\Examples\Acquisition\DataForwarding\iF2D100\hap\DFExample_Client_MidPosition.hap
\Examples\Acquisition\DataForwarding\iF2D100\hap\DFExample_Client_EndPosition.hap
\Examples\Acquisition\DataForwarding\SDK

Default Platform: iF2D100

간단한 설명

imaFlex 2 Dual 100 플랫폼에서의 데이터 포워딩 구현에 대해 설명합니다.

데이지 체인 방식으로 연결된 프레임 그래버를 사용하는 일반적인 데이터 포워딩 환경은 다음과 같습니다.

데이지 체인 방식 프레임 그래버(데이터 포워딩)

그림 233. 데이지 체인 방식 프레임 그래버(데이터 포워딩)


왼쪽에 있는 첫 번째 장치는 후속 연결된 클라이언트(슬레이브)의 호스트(마스터) 역할을 합니다. 예를 들어 카메라에서 호스트 장치가 수신한 데이터는 클라이언트에 전달됩니다. 유스 케이스에 따라 클라이언트는 전체 원본 스트림 데이터 또는 그 일부만을 포워딩합니다. 이 동작은 데이지 체인의 끝에 도달할 때까지 장치 간에 계속됩니다.

Basler imaFlex 2 Dual 100의 데이터 포워딩 기능을 사용하면 이미지 데이터뿐만 아니라 예를 들어 클라이언트 장치를 원격 제어하기 위한 메타데이터도 포워딩할 수 있습니다. 다음 섹션에서는 두 가지 측면을 모두 보여주는 기본 예제를 설명합니다.

사용법

예제 어블릿은 해당 데이터 포워딩 SDK 예제 애플리케이션과 함께 사용하기 위한 것입니다. DFMaster 및 DFSlave따라서 microDisplay X 등을 통한 수동 어블릿 로딩이 필요하지 않습니다. SDK 예제 애플리케이션이 자동으로 어블릿을 로드하며, 모든 사용자 상호 작용은 호스트(마스터) 애플리케이션을 통해서만 독점적으로 이루어집니다.

프레임 그래버 SDK 스크립트 사용에 대한 자세한 내용은 다음 위치에 있는 해당 스크립트 문서를 참조하십시오. examples\Acquisition\DataForwarding\SDK VisualApplets 설치 디렉터리.

데이터 포워딩 예제 앱릿

이 예제 어블릿은 두 가지 측면을 고려하여 데이터 포워딩을 보여줍니다.

  1. 호스트에서 후속 클라이언트로 이미지 데이터를 전송합니다.

  2. 클라이언트를 원격으로 제어하고 모니터링합니다.

데이터 포워딩 VisualApplets 앱릿

이미지 데이터 전송은 간단하며 구현하기 쉽습니다. 각 예제 어블릿은 이미지 경로에서 이를 보여줍니다.

들어오는 제어 명령과 같은 VisualApplets 링크의 데이터를 사용하여 어블릿 파라미터를 동적으로 변경할 수 없으므로 원격 제어 및 모니터링에는 더 많은 노력이 필요합니다. VisualApplets 이벤트 시스템을 사용하면 이러한 한계를 해결할 수 있습니다. 원격 제어 메타데이터 경로는 이 접근 방식을 보여줍니다.

어블릿 디자인에서는 두 경로가 별도로 표시되지만, 두 경로는 단일 장치 쌍에 대해 동일한 파이버 리소스를 공유합니다. 0번부터 3번까지 번호가 지정된 4개의 파이버 레인을 통해 이미지 데이터가 전송되는 반면, 원격 제어 데이터/메타데이터는 동일한 파이버 모듈의 0번 레인을 사용합니다.

즉, 파이버 모듈의 2×4 레인은 이미지와 메타데이터 모두에 대해 두 장치를 양방향으로 연결합니다. 해당 데이터 포워딩 opérateurs DFTxImage, DFTxMeta, DFRxImage, DFRxMeta가 내부적으로 이를 관리합니다.

아래 표에는 예제에서 구현된 데이터 포워딩 연결이 요약되어 있습니다.

파이버 포트 호스트 중간 클라이언트 엔드 클라이언트
port0 예약됨 (예: 카메라) 이전 이전
port1 다음 다음 —

표 17. 데이터 포워딩 연결 (파이버 포트)


예제 디자인 파일의 처리 구조에 대한 자세한 내용은 해당 설명의 주석 상자를 참조하십시오. *.vad 디자인.

VisualApplets 이벤트 시스템 및 데이터 포워딩 원격 제어

원격 제어에 VisualApplets 이벤트 시스템을 사용하는 아이디어는 Framegrabber SDK API가 오퍼레이터 및 앱렛 파라미터에 액세스하는 루틴을 제공한다는 점에 기반합니다. VisualApplets 이벤트 시스템을 사용하면 앱렛에서 호스트 PC로 페이로드 데이터가 포함된 이벤트를 전송할 수 있으며, 이벤트 모니터링 SDK 응용 프로그램이 페이로드에 반응할 수 있습니다.

이를 염두에 두고 원격 제어 신호 흐름은 다음과 같습니다.

  • 호스트 앱렛이 클라이언트에 명령을 보냅니다.

  • 클라이언트 앱렛에서 수신된 각 제어 명령은 이벤트(페이로드 포함)를 트리거합니다.

  • 이벤트는 프레임 그래버 OS 드라이버에 의해 캡처됩니다.

  • 이벤트 모니터링 SDK 응용 프로그램은 이벤트 페이로드 해석에 따라 SDK 루틴을 실행합니다.

사용자 정의 원격 제어 통신 프로토콜

데이터 포워딩 예제에서는 사용자 정의 통신 프로토콜을 사용합니다. 이 범위에서 명령 트랜잭션을 메시지라고 합니다. 메시지의 구조는 다음과 같습니다.

비트 인덱스 설명 크기(비트)
[55] 읽기/쓰기 플래그 1
[54:48] 클라이언트(슬레이브) 장치 주소 7
[47:32] 소프트웨어 액세스 가능 레지스터 주소 16
[31:0] 소프트웨어 액세스 가능 레지스터 데이터 32

표 18. 메시지 비트 레이아웃


메시지는 총 56비트이며, 이는 DFTxMeta 및 DFRxMeta 오퍼레이터의 데이터 단어 하나 크기에 해당합니다.

메시지 트리거가 메시지를 시작합니다. SDK 호스트 응용 프로그램은 메시지 내용과 트리거를 모두 구성합니다.

일반적으로 VisualApplets 링크를 통해 전송되는 데이터는 다양한 방식으로 처리될 수 있습니다. 데이터 전달 예제에서는 다음과 같은 두 가지 처리 방법이 관련됩니다.

  1. 시스템은 명령 데이터 비트를 직접 사용합니다. 예를 들어, 특정 비트를 VALT_SIGNAL 로 변환하여 GPO 뱅크로 라우팅합니다.

  2. 시스템은 VisualApplets 이벤트를 트리거하고 원격 명령에서 추출된 페이로드 데이터를 포함할 수 있습니다.

첫 번째 처리 방법은 hardware command를 나타냅니다. 시스템은 메시지 비트를 신호 소스로 사용하여 특정 작업을 트리거합니다. 두 번째 처리 방법은 드라이버 소프트웨어가 호스트 PC로 전송된 이벤트를 처리하기 때문에 software command를 나타냅니다. 데이터 전달 예제에서는 소프트웨어 명령에 초점을 맞추어 두 가지 명령 유형 모두를 구현합니다.