DSK(SDK)

Deepsound Software Development Kit (DSK) 시작 가이드 및 기술 매뉴얼입니다.

Getting Started Manual

Deepsound Software Development Kit


Copyright ⓒ 2026 / (주)성산연구소

이 설명서는 국내 / 국제 저작권법에 의해 보호됩니다. (주)성산연구소의 사전 서면 승인 없이 본 매뉴얼의 어떠한 부분도 전자, 자기, 광학, 화학, 수동 또는 기타 형식으로 복제, 배포, 번역 또는 전송할 수 없습니다.

All rights reserved

이 문서가 최종 사용자 계약서가 포함 된 소프트웨어와 함께 배포되는 경우 본 설명서 및 여기에 설명 된 소프트웨어는 사용 허가를 받아 제공되며 해당 사용권 조항에 따라서만 사용하거나 복사할 수 있습니다. 그러한 라이선스의 허용 범위를 제외하고, 본 안내서의 어떠한 부분도 (주)성산연구소의 사전 서면 승인 없이는 어떠한 형식이나 수단 (전자, 기계, 녹음 등)으로도 재생산, 검색 시스템에 저장 또는 전송할 수 없습니다.

주의 및 책임 한계

이 안내서의 내용은 정보 제공의 목적으로만 제공되며 예고 없이 변경 될 수 있습니다. (주)성산연구소는 이 안내서에 포함 된 정보의 오류나 부정확성에 대해 어떠한 책임도 지지 않습니다. 프로젝트에 포함된 삽화나 이미지는 저작권법에 의해 보호될 수 있으므로 주의하시기 바랍니다.

DEEPSOUND는 (주)성산연구소의 대한민국 등록 상표이며 소유자의 재산입니다.

연락처 정보

  • 본사: (주)성산연구소 (P: 02-2039-5725 | F: 02-2039-5726)
  • 웹사이트: www.dspaut.com | 이메일: admin@dspaut.com
  • 품질: 모든 작업은 (주)성산연구소 품질 표준에 따라 수행됩니다.

DSK 수정 내용

버전변경 사항날짜
1.0최초 Release2026

1. INTRODUCTION

이 문서는 DSK를 사용하여 초음파 비파괴 소프트웨어를 개발하는 방법을 안내합니다.
개발 환경: Windows 10, Visual Studio 2017, .NET Framework 4.5.2

1.1 준비하기

DSK를 이용한 프로그램은 여러 종류의 DLL을 필요로 하므로, 항상 지정된 실행 위치(예: c:/deepsound/dsktutorial/bin/release_x86)에서 수행되어야 합니다.

또한, 프로그램이 실행되는 위치에서 두 단계 위(../../) 디렉토리에 CommonResource가 존재해야 하며, 그 내부에 Python이 설치되어 있어야 합니다. 가급적 설치된 dsktutorial 디렉토리 내에서 프로젝트를 생성하는 것을 권장합니다.

1.2 시작하기

Visual Studio를 실행한 후, DskTutorial.sln을 열거나 아래 설정을 참고하여 새로운 프로젝트를 생성합니다.

새 프로젝트 생성 설정:
File → New → Project 메뉴에서 아래와 같이 설정합니다.

그림: 새 프로젝트 생성 설정 화면

프로젝트 생성 후 00-Start 프로젝트의 속성(Property) 화면을 엽니다.

그림: 프로젝트 속성 창 열기

Build 설정: Output 경로를 실행 파일이 생성될 위치로 지정합니다.

그림: 빌드 출력 경로(Output path) 설정

Reference 추가하기

DSK 프로젝트에는 반드시 SVDSK.dll이 참조(Reference)로 추가되어야 합니다. 프로젝트의 References 항목에서 “Add Reference…”를 선택합니다.

그림: Reference 추가 메뉴

Browse 탭을 선택하고, 위에서 설정한 출력 디렉토리(../Bin/Release_x86) 내의 svdsk.dll 파일을 선택합니다.

그림: svdsk.dll 파일 선택

참조가 정상적으로 추가되면 아래와 같이 목록에서 확인할 수 있습니다.

그림: 추가된 Reference 확인

프로그램 작성

Program.cs를 열고 DSK 사용을 위한 설정을 추가합니다. DSK는 DEEPSOUND 네임스페이스를 사용하므로 using DEEPSOUND;를 반드시 포함해야 하며, 사용 전 InitDsk를 호출해야 합니다.

그림: DSK 버전 출력 샘플 코드

빌드 후 생성된 00_Start.exe를 실행하여 다음과 같은 결과가 나오면 성공입니다.

그림: 프로그램 실행 결과 화면


2. TUTORIALS

DSK에 포함된 주요 샘플 프로젝트의 구성과 기능은 다음과 같습니다.

프로젝트명설명
01 InitDevice하드웨어 초기화 및 DMA 방식의 데이터 전송 구현 예제
02 SScanS-Scan 이미징 및 스캔 컨버전 구현 예제
03 AScanA-Scan 이미징 및 비트맵 출력 구현 예제
04 Inspection엔코더(Encoder) 설정 및 검사 모드 제어 예제
10 SimplePAUT종합적인 파라미터 제어를 통한 PAUT 이미지 구현 예제

2.1 Initdevice

InitDevice는 하드웨어 초기화 후 DMA를 통해 데이터를 수신하는 기초 예제입니다. 모든 프로젝트는 SVDSK.dll과 공통 라이브러리인 DskCommon을 참조해야 합니다.

그림: InitDevice 프로젝트 구성

실행 시 하드웨어로부터 데이터를 수신하는 화면이 표시됩니다.

그림: InitDevice 실행 화면

핵심 코드는 InitDskInitDevice 호출입니다. 호출 후 DSK는 하드웨어를 초기화하고 SetCallbackFrame에 설정된 콜백 함수를 통해 데이터를 전달합니다.

그림: 초기화 및 장치 가동 코드

그림: 초기화 및 장치 가동 코드

콜백 함수는 USB DMA를 통해 전달된 초음파 데이터를 최종적으로 수신하는 지점입니다.

그림: 데이터 수신 콜백 함수 예제

또한 Dsk.Freeze, Dsk.UnFreeze를 사용하여 데이터 획득을 제어할 수 있습니다.

그림: 데이터 프리즈(Freeze) 기능 테스트

2.2 S Scan

SScan 프로젝트는 수신된 Raw Data를 스캔 컨버전(Scan Conversion)하여 2D 이미지로 변환하는 예제입니다.

스캔 컨버전 순서:

  1. GetSScanWidth, GetSScanHeight로 이미지 크기 확인
  2. GetVectorCount, GetSampleCountPerVector로 데이터 정보 확인
  3. CalcSScanImage를 호출하여 2D 이미지 데이터 생성
  4. 컬러 맵핑 후 화면 출력

그림: SScan 프로젝트 참조 설정

콜백 함수에서 데이터를 버퍼에 복사한 후, 타이머 인터럽트를 통해 이미지를 갱신합니다. 실시간성을 보장하려면 큐(Queue) 방식 사용을 권장합니다.

그림: SScan 콜백 및 이미지 변환 코드

그림: SScan 콜백 및 이미지 변환 코드

2.3 A Scan

AScan 프로젝트는 특정 벡터 위치의 데이터를 추출하여 A-Scan 이미지를 생성합니다.

그림: A-Scan 데이터 추출 예제

DrawAScan 함수는 비트맵 이미지를 사용하여 A-Scan 파형을 화면에 렌더링합니다.

그림: A-Scan 비트맵 출력 화면

2.4 Inspection

엔코더(Encoder)를 사용하여 정해진 위치에서 이미지를 얻는 자동 검사 예제입니다.

그림: 엔코더 설정 및 검사 제어 코드

SetScanEncoder를 통해 시작/종료 위치, 스텝(Step), 펄스 수를 설정한 후, UploadInspectionModeStart를 호출하여 검사를 시작합니다.

2.5 Simple PAUT

종합적인 PAUT 장비 구현 예제입니다. DSK 함수는 크게 Get(값 획득), Set(값 설정), Upload(설정 반영)로 구분됩니다.

파라미터 전달 프로세스:

  1. Gui2Param: 사용자 입력을 내부 변수로 저장
  2. Param2Dsk: DSK Set 함수로 값 설정
  3. UploadAllParameters: 설정값을 실제 하드웨어/이미지에 반영
  4. Dsk2Param & Param2Gui: 반영 후 변경된 값을 다시 읽어 화면에 업데이트

그림: 파라미터 업데이트 흐름도

Load/Save Setup

설정값의 저장과 로드는 JSON 직렬화를 지원하는 JsonFile2Object 함수를 활용하여 간편하게 구현할 수 있습니다.

그림: 설정 로드 및 저장 구현 예제


Copyright © 2026, (주)성산연구소
본 설명서의 저작권은 (주)성산연구소에 있으며, 무단 복제 및 전송을 금합니다.
www.dspaut.com

DSPAUT

Technical Support Portal

© 2026 SEONGSANLAB Co., Ltd. All rights reserved.