화인스텍 로고

지식정보

제품사용 매뉴얼

SENTECH_SDK 프로그래밍 가이드

2022-10-19

 

1. 소개

 

GenICam 표준에 맞춰 개발한 Sentech SDK로, Sentech 카메라만 연결할 수 있습니다.

GigE, CXP, USB3 Vision, USB 3.0 인터페이스만 연결 가능합니다.

Sentech SDK 주요 구성

GigECameraIPConfig_VC141_x64 : 카메라의 IP 설정을 도와주는 툴입니다.

StFWUpdater_VC141_x64 : 카메라의 펌웨어 업데이트 툴입니다.

StGevDelay : 다수의 GigE 카메라를 사용할 때 Packet Delay를 계산하기 위한 툴입니다.

StNICConfig_x64 : 네트워크 어댑터의 설정을 도와주는 툴입니다.

StPowerCtrl_x64 : 윈도우 전원 옵션 제어를 도와주는 툴입니다.

StViewer_VC141_x64 : 다수의 카메라 이미지 취득과 제어를 할 수 있는 툴입니다.

 

2. SDK 환경 설정

 

C++‘프로젝트 속성 > C/C++ > 일반 > 추가 포함 디렉터리’에 라이브러리 include 경로를 추가합니다.

기본 경로: C:\Program Files\OMRON_SENTECH\SentechSDK\v1_1\Development\Include 또는 $(STAPI_ROOT_PATH)Includes

 

‘프로젝트 속성 > 링커 > 일반 > 추가 라이브러리 디렉터리’에 라이브러리 lib 경로를 추가합니다.

기본 경로: C:\Program Files\OMRON_SENTECH\SentechSDK\v1_1\Development\lib 또는 $(STAPI_ROOT_PATH)

Iib라이브러리 참조 방법

C#

플랫폼에 맞는 ‘프로젝트 > 참조’에 GenApiDotNet.dll과 StApiDotNet.dll을 추가합니다.

기본 경로: C:\Program Files\Common Files\OMRON_SENTECH\StApi\v1_1.Net 버전에 따라 알맞은 dll을 선택합니다.

 

다음의 네임스페이스를 추가합니다.

3. 예제 코드 설명

 

기본 설치 경로에 언어 별 예제 코드가 제공됩니다.

 

 

언어 별 레퍼런스 매뉴얼은 아래 경로에 제공됩니다.

AllocateStreamBuffersManually : 사용자 버퍼를 연동하여 이미지를 취득하는 예제 코드.

EventDeviceLost : 카메라 구동 중 연결이 끊어졌을 때의 이벤트를 발생하고, 어떻게 다시 연결하는지 보여주는 예제 코드.

FrameStartTrigger : Software Trigger를 발생하여 이미지를 취득하는 예제 코드.

GigEConfigurations : 카메라 IP 주소와 Heartbeat Timeout을 설정하는 예제 코드.

Grab : 카메라를 연결/해제하고 이미지 데이터를 직접 취득하는 예제 코드.

GrabCallback : 카메라를 연결/해제하고 이미지 데이터를 콜백 함수에서 취득하는 예제 코드.

OpenCV : 3'rd party library에 이미지 버퍼를 연동하는 예제 코드.주요 예제 코드

 

사용자가 쉽게 SDK를 사용할 수 있도록 Wrapping Class를 제공한 예제 코드를 제공합니다.

예제 코드 이름: FTech_SentechEx

C# WinForm과 MFC Dialog 기반.

솔루션 구성

LostAndRecovery : 카메라 끊김 및 재연결 예제 코드.

MultiCamera_Async : 최대 4대의 카메라를 연결하는 예제 코드.

카메라의 이미지 획득과 버퍼 획득이 비순차적으로 수행되는 예제 코드.

SingleCamera_Sync : 1대의 카메라를 연결하는 예제 코드.

카메라의 이미지 획득과 버퍼 획득이 순차적으로 수행되는 예제 코드.화인스텍 예제 코드

동작 설명

카메라를 연결하면 DeviceLostThread가 동작하고, Device Lost 상태를 체크합니다.

만약, Device Lost가 발생하면 카메라 핸들을 해제(Close)합니다.그리고 Re-Open을 N회 시도합니다.

 

동작 설명

카메라가 이미지를 그랩(Grab)하는 것과 이미지 버퍼를 취득하는 동작이 비동기적(Asynchronous)으로 진행됩니다.

최대 4대의 카메라를 연결할 수 있도록 구현되어 있습니다.

OnBnClickedBtnConnection() 함수에 카메라 연결이 구현되어 있습니다.

SetEnableImageCallback(true)를 호출하여 카메라 객체의 이미지 콜백을 활성화합니다.

카메라 객체는 가장 마지막 버퍼를 보관하고 있습니다.

이미지 그랩 여부는 m_grabDone 핸들로 확인합니다.

카메라 연결 후 Main Dialog에서 DisplayThread를 구동합니다.

 버튼의 체크 여부에 따라 Mono(Bayer8) 또는 RGB24 영상이 그려집니다.

Color Conversion이 필요한 경우 체크합니다.MultiCamera_Async연결Grab Done?N처리Y영상 취득 시작

 

동작 설명

카메라가 이미지를 그랩 (Grab) 하는 것과 이미지 버퍼를 취득하는 동작이 동기적(Synchronous)으로 진행 됩니다.

1대의 카메라를 연결할 수 있도록 구현되어 있습니다. OnBnClickedBtmConnection() 함수에 카메라 연결이 구현되어 있습니다.

SetEnableImageCallback(False)를 호출 하여 콜백을 하지 않는 설정을 합니다.

 

첨부파일