| 간략한 설명 | |
|---|---|
|
파일:
\Examples\Acquisition\DataForwarding\iF2D100\DFExample_Host.vad
|
![]() |
|
기본 플랫폼: iF2D100 |
|
|
간략한 설명 imaFlex 2 Dual 100 플랫폼에서의 데이터 전달 구현에 대해 설명합니다. |
|
프레임 그래버를 데이지 체인 방식으로 연결한 일반적인 데이터 전달 환경은 다음과 같습니다:
왼쪽에 있는 첫 번째 장치는 연결된 다음의 클라이언트(슬레이브)들에 대한 호스트(마스터) 역할을 합니다. 호스트 장치가 (예를 들어 카메라로부터) 수신한 데이터는 클라이언트들에게 전달됩니다. 사용 사례에 따라 클라이언트는 원본 스트림 데이터 전체를 전달하거나 그 일부만 전달합니다. 이러한 동작은 데이지 체인이 끝날 때까지 장치에서 장치로 이어집니다.
Basler imaFlex 2 Dual 100 의 데이터 전달 기능은 이미지 데이터뿐만 아니라 메타데이터도 전달할 수 있게 해주며, 이를 통해 예를 들어 클라이언트 장치를 원격으로 제어할 수 있습니다. 다음 섹션에서는 이 두 가지 측면을 모두 보여주는 기본적인 예시를 설명합니다.
이 예제 애플릿은 해당 데이터 전달 SDK 예제
애플리케이션과 함께 사용하기 위한 것입니다. DFMaster 및 DFSlave. 따라서,
microDisplay X 과 같은 방법을 통해 애플릿을 수동으로 로드할 필요가 없습니다. SDK
예제 애플리케이션은 애플릿을 자동으로 로드하며, 모든 사용자 상호 작용은
전적으로 호스트(마스터) 애플리케이션을 통해 이루어집니다.
프레임 그래버 SDK 스크립트 사용에 대한 정보는 다음 위치에 있는 해당
스크립트 설명서를 참조하십시오.
examples\Acquisition\DataForwarding\SDK VisualApplets
설치 디렉터리 내에.
이 예제 애플릿들은 다음 두 가지 측면을 고려하여 데이터 전달을 보여줍니다:
-
호스트에서 후속 클라이언트로 이미지 데이터를 전송합니다.
-
클라이언트를 원격으로 제어하고 모니터링합니다.
이미지 데이터 전송은 간단하며 구현하기도 쉽습니다. 각 예제 애플릿은 이미지 경로를 통해 이를 보여줍니다.
원격 제어 및 모니터링에는 더 많은 노력이 필요합니다. 들어오는 제어 명령과 같은 VisualApplet 링크의 데이터를 사용하여 애플릿 매개변수를 동적으로 변경할 수 없기 때문입니다. VisualApplets 이벤트 시스템을 사용하면 이러한 제한 사항을 해결할 수 있습니다. 원격 제어 메타데이터 경로에서 이 접근 방식을 확인할 수 있습니다.
애플릿 설계도에서는 두 경로가 별도로 표시되어 있지만, 두 경로 모두 단일 장치 쌍에 대해 동일한 광섬유 리소스를 공유합니다. 이미지 데이터는 0번부터 3번까지 번호가 매겨진 네 개의 광섬유 레인을 통해 전송되는 반면, 원격 제어 데이터 및 메타데이터는 동일한 광섬유 모듈의 0번 레인을 사용합니다.
즉, 파이버 모듈의 2×4 레인은 두 장치를 이미지와 메타데이터 모두에 대해 양방향으로 연결합니다. 이에 상응하는 데이터 전달 연산자 DFTxImage, DFTxMeta, DFRxImage 및 DFRxMeta가 이를 내부적으로 관리합니다.
아래 표는 이 예제에서 구현된 데이터 전달 연결을 요약한 것입니다.
예제 설계 파일의 처리 구조에 대한 자세한 내용은
해당 파일의 주석 상자를 참조하십시오. *.vad 디자인.
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 연산자의 데이터 워드 하나 크기와 일치합니다.
A 메시지 트리거는 는 메시지를 시작합니다. SDK 호스트 애플리케이션은 메시지 내용과 트리거를 모두 구성합니다.
일반적으로 VisualApplets 링크를 통해 전송되는 데이터는 다양한 방식으로 처리될 수 있습니다. 데이터 전달 예시의 경우, 다음 두 가지 처리 방법이 적용됩니다:
-
이 시스템은 명령 데이터 비트를 직접 사용합니다. 예를 들어, 전용 비트를
VALT_SIGNAL그리고 이를 GPO 은행으로 이체합니다. -
이 시스템은 ‘ VisualApplets ’ 이벤트를 발생시키며, 원격 명령에서 추출된 페이로드 데이터를 포함할 수 있습니다.
첫 번째 처리 방법은 하드웨어 명령어을 나타냅니다. 시스템은 메시지 비트를 신호원으로 사용하여 전용 동작을 트리거합니다. 두 번째 처리 방법은 소프트웨어 명령를 나타냅니다. 이는 드라이버 소프트웨어가 호스트 PC로 전송된 이벤트를 처리하기 때문입니다. 데이터 전달 예제는 두 가지 명령 유형을 모두 구현하지만, 특히 소프트웨어 명령에 중점을 둡니다.



이전

