VisualApplets에 대한 첫인상을 가질 수 있도록, 이 장에서는 해당 도구에 대한 간단한 소개를 제공합니다. VisualApplets을 사용하여 영상 처리 애플리케이션을 생성하는 데 필요한 모든 단계가 설명되어 있습니다. FPGA나 기타 하드웨어 관련 지식 없이도 얼마나 빠르고 쉽게 애플리케이션을 구현할 수 있는지 직접 확인하실 수 있습니다.
-
Windows 메뉴 또는 바탕 화면에서 VisualApplets 프로그램 아이콘을 클릭하여 VisualApplets을 실행합니다. 처음에는 프로젝트가 로드되지 않은 상태로 메인 창이 열립니다.
이제 첫 번째 디자인 구현을 바로 시작할 수 있습니다. 첫 번째 단계는 새 프로젝트를 시작하는 것입니다.
-
→ ( Ctrl+N )을 클릭하거나 파일 아이콘 바의 새로 만들기 아이콘을 사용하세요. 프로젝트 이름, 대상 하드웨어 플랫폼 및 대상 런타임을 지정할 수 있는 새 프로젝트 창이 열립니다. 현재 개발 단계에서 이러한 설정을 잘 모르겠다면, 프로젝트 이름을 입력하고 기본값을 사용하면 됩니다. 이러한 설정은 나중에 언제든지 변경할 수 있습니다.
-
여기서 예제를 따라 하려면 다음 설정을 사용하세요:
-
프로젝트 이름: "helloWorld"
-
하드웨어 플랫폼: imaFlex CXP-12 Quad 프레임 그래버
-
대상 런타임: Microsoft Windows 64비트 시스템.
-
-
을 클릭하여 설정을 확인합니다.
이제 VisualApplets이 새 프로젝트를 시작합니다. 프로그램 창 중앙에 빈 디자인 창이 표시됩니다. (하드웨어 플랫폼으로 microEnable 5를 선택한 경우, 필수 제어 오퍼레이터인 Applet Properties와 Board Status가 빈 디자인에 자동으로 삽입됩니다.) 오른쪽의 Project Info 탭에는 프로젝트 이름, 대상 하드웨어, 대상 플랫폼 등 현재 프로젝트와 관련된 정보가 표시됩니다.
VisualApplets에서 영상 처리 작업은 오퍼레이터로 표현됩니다. 이 모든 오퍼레이터는 VisualApplets 디자인 창 오른쪽에 있는 오퍼레이터 라이브러리에서 찾을 수 있습니다. 드래그앤드롭을 사용하여 디자인 창에 오퍼레이터를 매우 쉽게 배치할 수 있습니다. 디자인 내의 오퍼레이터 인스턴스를 모듈이라고 합니다. 오퍼레이터에는 입력 및 출력 포트가 있을 수 있습니다. 디자인 내의 오퍼레이터(즉, 모듈)는 이러한 포트를 사용하여 연결할 수 있습니다. 모듈 간의 연결을 링크라고 하며, 디자인 창에서 화살표로 표시됩니다. 이러한 모듈과 링크는 영상(또는 신호) 처리 파이프라인을 나타내므로, 작업 순서는 모듈의 순서에 의해 결정됩니다.
첫 번째 디자인을 위해 다음 세 가지 오퍼레이터가 필요합니다.
-
mE5-MA-VCL 라이브러리의 CameraGrayAreaBase 오퍼레이터
-
Memory 라이브러리의 ImageBuffer 오퍼레이터
-
mE5-MA-VCL 라이브러리의 DmaToPC 오퍼레이터
디자인에서 이러한 오퍼레이터를 사용하려면:
-
라이브러리에서 오퍼레이터를 찾아 다음과 같이 디자인 창으로 드래그합니다.
다음 단계는 링크를 통해 디자인의 모듈들을 연결하는 것입니다.
포트를 클릭하면 새 링크가 시작되며, 대상 포트를 한 번 더 클릭하여 완료할 수 있습니다.
-
카메라 모듈과 버퍼 모듈을 연결하려면 카메라 모듈의 출력 포트를 클릭한 다음 버퍼 모듈의 입력 포트를 클릭하세요.
-
마찬가지로 버퍼 모듈과 DMA 모듈을 연결합니다.
Design을 저장합니다. Design을 처음 저장하는 경우, Save 대화 상자에서 프로젝트 이름을 Design 파일의 이름으로 제안합니다.
![]() |
파일 이름 및 프로젝트 이름 |
|---|---|
|
Design을 처음 저장하거나 Save as... 옵션을 사용하는 경우, Save/Save as... 대화 상자에서 프로젝트 이름을 Design 파일의 이름으로 제안합니다. |
이제 첫 번째 Design을 완료했습니다. 다음 단계에서는 개별 모듈 및 링크의 설정을 지정해야 합니다(그렇지 않으면 Design에 사전 설정된 기본 Property가 사용됩니다).
-
모듈을 파라미터화하려면 모듈을 더블클릭하기만 하면 됩니다. 모듈의 모든 파라미터가 나열되는 대화 상자 창이 열립니다.
-
Design에 필요한 대로 Property를 설정하십시오. 지금 디자인 중인 이 첫 번째 샘플 Applet의 경우 모듈 이름을 "Camera", "Buffer", "DMA"로 변경하기만 하면 됩니다.
-
를 클릭합니다.
-
를 클릭하여 Property 창을 닫습니다.
-
Design을 저장합니다.
![]() |
Operator 파라미터 |
|---|---|
|
파라미터는 항상 Operator별로 다르므로 설정 옵션은 Operator에 따라 다릅니다. |
다음 단계는 Design 링크의 Property를 편집하는 것입니다. 지금 생성 중인 샘플 Applet에서는 링크 Property를 변경할 필요가 없습니다. 기본 설정을 그대로 사용하면 됩니다.
그러나 Design 링크를 파라미터화해야 할 때마다 다음과 같이 진행해야 합니다.
-
파라미터화할 링크를 더블클릭합니다.
-
원하는 설정을 입력합니다.
-
를 클릭합니다.
-
를 클릭하여 Property 창을 닫습니다.
이제 간단한 이미지 취득인 첫 번째 애플리케이션 구현을 완료했습니다. VisualApplets의 DRC(Design Rules Check) 기능을 사용하여 Design에 오류가 있는지 확인하는 단계로 진행하십시오.
-
→ ( Ctrl+F7 )을 클릭하거나 Build 아이콘 막대에서 Design Rules Check Level 1 아이콘을 사용합니다.
-
오른쪽에 있는 Project Info 창에서 DRC Log 탭으로 전환합니다.
다음 그림에서 볼 수 있듯이 여기에 DRC 분석 결과가 표시됩니다.
![]() |
중요 |
|---|---|
|
DRC에서 오류가 감지되면 다음 단계로 넘어가기 전에 오류를 수정해야 합니다. 감지된 오류는 링크 형식으로 나열됩니다. 나열된 오류 중 하나를 클릭하면 Design 창에서 해당 모듈이나 링크가 강조 표시됩니다. |
DRC가 성공한 후 Design을 저장합니다.
-
→ ( Ctrl+S )을 클릭하거나 File 아이콘 막대에서 Save 아이콘을 사용합니다.
다음과 같이 빌드 설정을 편집해야 합니다.
-
microEnable 5 marathon 플랫폼용 디자인을 생성합니다.
-
Xilinx Vivado를 사용하는 경우.
-
9.2보다 높은 버전의 Xilinx ISE를 사용하는 경우.
특정 환경에 맞게 빌드 설정을 구성하려면 다음과 같이 진행하십시오.
-
→ 메뉴를 클릭합니다.
Build Settings 대화 상자가 열립니다.
-
Add 버튼을 클릭합니다.
-
이 빌드 설정에 사용할 대상 하드웨어 플랫폼(frame grabber)을 선택하고 OK를 눌러 확인합니다.
-
새로 생성 중인 빌드 설정 세트의 이름을 지정합니다.
-
이름을 입력한 필드 바로 뒤에 있는 Active configuration 옵션을 활성화합니다.
-
Precondition Check를 활성화된 상태로 둡니다.
-
Xilinx Build Flow에서 사용할 Xilinx 도구(Xilinx ISE 또는 Xilinx Vivado)를 선택합니다.
-
Use system environment instead 옵션을 비활성화합니다.
-
파일 시스템에서 Xilinx 설정 배치 파일을 선택합니다. 배치 파일은 Xilinx 설치 폴더에 있습니다.:
-
ISE: \Xilinx\<version_number>\ISE_DS\settings64.bat.
-
Vivado: \Xilinx\Vivado\<version_number>\settings64.bat.
microEnable 5 플랫폼용 applet을 개발할 때는 64비트 Windows 운영 체제를 사용하는 것을 권장합니다. 사용 중인 운영 체제에 맞는 배치 파일(예: 64비트 Windows 운영 체제용 파일인 "settings64.bat")을 선택해야 합니다.
-
-
나머지 설정은 모두 기본값으로 유지합니다.
-
OK를 클릭합니다.
빌드 설정 옵션에 대한 자세한 내용은 'Build Settings' 섹션을 참조하십시오.
마지막 단계는 디자인에서 applet을 빌드하는 것입니다.
![]() |
Build Preconditions |
|---|---|
|
빌드 프로세스는 XILINX 도구가 올바르게 설치된 경우에만 수행할 수 있습니다. XILINX 도구 설치에 대한 자세한 내용은 Installing the Xilinx Toolchain 섹션을 참조하십시오. microEnable 5 marathon frame grabbers용 디자인을 생성하거나 버전 9.2보다 높은 버전의 Xilinx ISE를 사용하는 경우, 계속 진행하기 전에 빌드 설정을 정의해야 합니다. 'Configuring the Build Settings ' 섹션을 참조하십시오. |
비트 스트림(*.hap 파일)을 생성하려면:
-
→ ( F7 )을 클릭하거나 Build 도구 모음에서 Build 아이콘을 사용합니다.
Build 대화 상자가 열립니다.
-
Xilinx configuration에서 사용할 빌드 구성을 선택합니다(Build Settings 대화 상자에서 정의한 구성 중에서 선택).
-
비트스트림 생성을 시작하려면 Start를 클릭합니다.
이제 VisualApplets은 Xilinx 도구를 사용하여 애플리케이션을 FPGA 비트스트림, 즉 "프로그램" 또는 "applet"으로 변환합니다.
![]() |
빌드 시간이 길어질 수 있음 |
|---|---|
|
배치 및 라우팅(Place and Route) 프로세스의 소요 시간은 디자인의 복잡성에 따라 다릅니다. 매우 복잡한 디자인의 경우 빌드에 몇 시간이 걸릴 수 있습니다. |
빌드가 성공적으로 완료되면 applet이 완전히 생성됩니다.
applet의 이름(*.hap 파일)은 디자인 파일(*.va)의 이름과 동일합니다. 프로젝트 이름은 applet(*.hap 파일)의 이름에 영향을 미치지 않습니다.
이 단계로 VisualApplets 작업이 완료되며, 실제 FPGA 하드웨어에서 applet을 사용할 수 있습니다.
하드웨어에서 VisualApplets 디자인을 실행하는 방법에 대한 설명은 'Running Your Applet on Hardware' 섹션에서 확인할 수 있습니다.
![]() |
사전 요구 사항: |
|---|---|
|
applet을 실행하는 방법은 사용하는 frame grabber 세대에 따라 다릅니다.
microEnable 5 marathon: microEnable 5 marathon frame grabbers의 경우, applet을 선택하고 시작하기 전에 펌웨어 플래셔 도구를 통해 *.hap 파일(applet)을 frame grabber에 먼저 로드해야 합니다('Flashing the Applet on the Frame Grabber (Only mE5)' 참조).
imaFlex: imaFlex 플랫폼의 경우 로컬 파일 시스템에서 applet(*.hap 파일)을 즉시 선택하여 frame grabber에서 실행할 수 있습니다.
다음과 같은 작업을 수행할 수 있습니다.
-
Framegrabber SDK에 포함된 microDiagnostics 도구를 사용하여 applet의 이미지 처리 결과를 직접 확인하고 테스트할 수 있습니다(https://docs.baslerweb.com/frame-grabbers/managing-applets-micro-diagnostics 참조).
-
애플리케이션 프로그래밍 인터페이스를 통해 applet을 시작합니다('Accessing the Applet via SDK' 참조).
microEnable 5 marathon frame grabber를 사용하는 경우 새로운 applet으로 frame grabber를 플래싱해야 합니다.
imaFlex frame grabber에서 새 applet을 사용할 예정인 경우 이 섹션을 건너뛰면 됩니다.
frame grabber를 플래싱하려면:
-
microDiagnostics 도구를 시작합니다.
-
사용할 frame grabber를 선택합니다.
-
Flash Selected Board(s) 버튼을 클릭합니다. 새 창이 열립니다.
-
VisualApplets에서 생성한 *.hap 파일이 저장된 디렉토리로 이동하여 해당 파일을 선택합니다.
-
Open을 클릭하고 Yes를 클릭하여 확인합니다.
-
새 펌웨어가 완전히 설치될 때까지 기다리십시오. microDiagnostics에서 관련 메시지를 확인할 수 있습니다.
-
메시지의 지침을 따르십시오.
특정 프레임 그래버를 플래싱하는 방법에 대한 자세한 내용은 해당 프레임 그래버의 사용자 매뉴얼을 참조하십시오 (Flashing Applets onto marathon Frame Grabbers).
applet을 테스트하고 초기 파라미터를 설정하려면 microDisplay 툴을 사용할 수 있습니다:
-
VisualApplets에서 생성한
*.hap파일을 Framegrabber SDK 설치 디렉토리에 저장하십시오:[Framegrabber SDK installation directory]/Hardware Applets. -
VisualApplets에서 → ( F5 )을 클릭하거나 Windows 시작 메뉴를 통해 microDisplay 툴을 실행하십시오.
-
I want to… 대화상자에서 Load Applet을 선택하십시오.
-
Load Hardware Applet 대화상자의 Board에서 사용할 프레임 그래버를 선택하십시오. 선택한 보드에서 사용할 수 있는 모든 applet이 즉시 표시됩니다.
microEnable 5의 경우, (보드에 플래싱한) 단일 app만 사용할 수 있습니다.
-
선택하십시오
*.hap사용하려는 파일입니다. -
선택한 applet ( 불러오기 파일)을 프레임 그래버에 로드하려면
*.hap버튼을 클릭하십시오. -
Load Hardware Applet 대화상자를 닫습니다.
-
microDisplay 프로그램 창의 파라미터 패널을 사용하여 프레임 그래버를 구성하십시오.
둘 이상의 카메라를 사용하는 경우, 먼저 구성할 포트를 선택하십시오. 사용 중인 모든 포트를 구성하십시오.
이미지 높이 및 이미지 너비 등 필요에 따라 파라미터를 설정하십시오. 값을 직접 마우스 우클릭하고 Edit을 선택합니다.
사용할 특정 작동 모드(예: 트리거 설정)를 구성하십시오.
-
Grab and display an infinite number of frames 버튼을 클릭하여 프레임 그래버에서 이미지 수집을 시작하십시오.
수집된 이미지가 microDisplay에 표시됩니다.
-
수집을 중지하려면 microDisplay에서 Stop 버튼을 클릭하십시오.
사용자 소프트웨어(SDK)에서 Applet 사용을 시작하려면:
-
Framegrabber API에서 다음 호출을 사용하십시오:
Fg_Init함수 호출을 통해 applet을 시작합니다.위치의 경로를 지정하십시오.
*.hap파일의 위치 경로를 지정하십시오.
![]() |
카메라 시작하기 |
|---|---|
|
카메라 인터페이스 유형에 따라 카메라를 제어하기 위해 GenICam 탐색기 도구를 함께 실행하는 것이 유용할 수 있습니다. 자세한 내용은 Framegrabber SDK documentation을 참조하십시오. |
첫 번째 VisualApplets 디자인을 성공적으로 구현했습니다. VisualApplets에 대한 보다 심층적인 단계별 입문서를 원하시는 경우 Basics and Examples를 읽어보는 것을 권장합니다.
또한 From Empty Design to Running Applet 튜토리얼 항목을 따르거나 Overview 튜토리얼 항목부터 시작할 수도 있습니다.
프로그램의 기능에 대해 자세히 알아보려면 Basic Functionality에 있는 이 사용자 설명서의 다음 장을 계속 읽어보십시오. 여기에서 VisualApplets의 모든 기능을 자세히 확인할 수 있습니다. The User Interface of VisualApplets 장에서는 VisualApplets의 사용자 인터페이스 옵션에 익숙해질 수 있습니다.
사용자 설명서에 제공된 모든 정보는 VisualApplets 내에서도 직접 액세스할 수 있습니다. 프로그램의 버튼을 클릭하면 사용자 설명서의 해당 설명으로 자동으로 이동합니다.
체계적인 도구 소개를 선호하시는 경우, 바슬러(Basler)에서 VisualApplets 워크숍과 코칭을 제공하고 있습니다. Basler Sales를 통해 언제든지 문의해 주세요.




![[참고]](../common/images/admon/note.png)


![[중요]](../common/images/admon/important.png)

이전

