labview 기반의 데이터 수집...

40
ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍 기법 한국내쇼날인스트루먼트 전략마케팅 권오훈 과장

Upload: duongngoc

Post on 08-Mar-2018

263 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

ni.com/korea

LabVIEW 기반의 데이터 수집 프로그래밍 기법

한국내쇼날인스트루먼트

전략마케팅

권오훈 과장

Page 2: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

2

개요

• LabVIEW 란?

• LabVIEW 기반의 데이터 수집 프로그래밍 • DAQ 어시스턴트

• DAQmx API

• 템플릿 및 샘플 프로젝트

• 요약

Page 3: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

3

데이터 수집 하드웨어

DAQmx 드라이버 및 MAX 유틸리티

데이터 수집 소프트웨어

프로그래밍 언어

Page 4: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

4

LabVIEW란?

“엔지니어를 위한 그래픽 기반의 프로그래밍 언어”

엔지니어를 위한

그래픽 기반

프로그래밍 언어

: 모든 사람이 아닌 엔지니어를 위한

: Flow Chart 형식의 개발 환경

: 컴파일러를 가진 프로그래밍 언어

Page 5: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

5

LabVIEW 환경

“VI” = 프로그램 또는 함수

“프런트 패널” = 사용자 인터페이스 “블록 다이어그램” = 코드

Page 6: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

6

객체 및 라이브러리의 활용 : 팔레트

• 마우스 오른쪽 클릭으로 팔레트 호출 • 객체 계층별으로 구분되어 있음

컨트롤 팔레트 함수 팔레트

Page 7: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

7

NI LabVIEW – 그래픽 기반 프로그래밍

1 데이터 흐름의 시작

2 VI는 모든 입력이 입력되었을때 실행

Page 8: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

8

• LabVIEW는 각 어플리케이션을 여러 개의 실행 스레드로 자동 분리

• 멀티스레딩 적용 (1998년)

LabVIEW의 자동 멀티스레딩

스레드

스레드

스레드

Page 9: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

9

와이어와 데이터의 유형

• 와이어를 통해 객체 간의 데이터 전송

• 데이터 유형에 따라 다른 색상, 스타일, 두께

• 깨진 와이어는 중앙에 빨간색 X 표시가 된 검은색 점선

스칼라 1D 배열 2D 배열

DBL 숫자형 정수형 문자형

Page 10: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

10

텍스트 기반의 언어와의 비교

LabVIEW 코드 C 코드

Page 11: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

11

LabVIEW C

* does not include code to generate UI

텍스트 기반의 언어와의 비교

Page 12: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

12

다형성 VIs

프로퍼티 노드

고급 유틸리티 함수 DAQ 어시스턴트

DAQmx 태스크 및 채널 상수

데이터 수집 프로그래밍 함수

Page 13: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

13

설정 기반 프로그래밍

데이터 수집 프로그래밍 방법

Page 14: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

14

설정 기반 프로그래밍

데이터 수집 프로그래밍 방법

Page 15: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

15

설정 기반 : DAQ 어시스턴트

• 설정기반의 데이터 수집 프로그래밍 함수

데이터 측정 값 미리 보기

측정 채널 설정

측정 타이밍 설정

Page 16: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

16

데모

• DAQ 어시스턴트를 통한 프로그래밍

Page 17: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

17

분석 관련 익스프레스 VI

오더 분석 함수

주파수 도메인 측정 함수 시간 도메인 측정 함수

신호 로딩/저장 함수

리미트 검사 함수

신호 전처리 함수

Page 18: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

18

•신호 처리 & 분석 – 파형 생성 – 파형 컨디셔닝 – 파형 모니터링 – 파형 측정 – 신호 생성 – 신호 운영 – 윈도우 – 디지털 필터 – 스펙트럼 분석 – 변형 – 점 대 점(Point-by-Point)

•수학 – 숫자 – 기본/특별 함수 – BLAS/LAPAC 기반 선형 대수 – 커브 피팅 – 보간 / 외삽 – 확률 및 통계 – 최적화 – 상미분 방정식 – 기하학 – 다항식 – 포뮬러 파싱(Formula Parsing) – 1D & 2D 평가 – 미적분

신호 처리, 분석 및 연산 함수

Page 19: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

19

파일 입출력

측정 파일에 쓰기

측정 파일로부터 읽기

Page 20: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

20

데모 : 데이터 수집에서 분석, 저장까지

• 사인파 수집, 주파수 분석, 파일 저장 프로그래밍

Page 21: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

21

데이터 수집의 3 단계

Acquire Analyze Present

Page 22: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

22

DAQmx 함수

• NI DAQ 하드웨어를 제어하는 함수

• 다형성 함수 : 하나의 함수에 다양한 옵션 존재, 필요에 따라 설정하여 사용

DAQmx 함수

H/W 드라이버 소트프웨어

DAQ 하드웨어

Page 23: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

23

DAQmx 함수

DAQmx 버추얼 채널 생성

DAQmx 읽기

DAQmx 쓰기

DAQmx 완료할 때까지 기다림

DAQmx 타이밍

DAQmx 트리거

DAQmx 태스크 시작

DAQmx 태스크 정지

DAQmx 태스트 지우기

Page 24: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

24

채널 설정

타이밍 설정

트리거링 설정

작업 시작

데이터 읽기

작업 해제

NI-DAQmx LabVIEW API

Transducer Signal Signal Conditioning DAQ Software

Page 25: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

25

아날로그 입력 프로그래밍 비교

Page 26: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

26

코드 생성

• DAQ 어시스턴트를 DAQmx API 프로그램으로 자동생성

Page 27: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

27

예제의 활용 : 예제 탐색기

Page 28: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

28

데모

• 코드 생성과 예제 활용을 통한 편리한 코드 개발 • Voltage – Continuous Input.vi 사용

Page 29: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

29

템플릿 및 샘플 프로젝트 : LabVIEW 2012

효율성 향상

에러 감소

재사용성 극대화

배우는 기간 단축

템플릿 및 샘플 프로젝트란 ?

템플릿 기본적인 프로젝트, 코드, 문서 및 폴더 구조

샘플 프로젝트 사용자 정의를 위한 시작점이 되는 동작하는 어플리케이션, 일반적으로 템플릿에 기반

왜 템플릿과 샘플프로젝트를 사용하는가?

Page 30: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

30

샘플 프로젝트

키워드로 검색

어플리케이션에 따른 샘플 프로젝트 선택

타입 또는 타겟에 따른 선택

Page 31: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

31

사례 : 유한 측정 샘플 프로젝트

Page 32: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

32

초기화

이벤트 기다림

UI 업데이트

설정 수집 데이터

불러오기 데이터 삭제 분석

정지

데이터 저장

데이터 반출

그래프 복사

사례 : 유한 측정 샘플 프로젝트

Page 33: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

33

초기화

이벤트 기다림

UI 업데이트

설정 수집 데이터

불러오기 데이터 삭제 분석

정지

데이터 저장

데이터 반출

그래프 복사

사례 : 유한 측정

이벤트 기다림

샘플 프로젝트

Page 34: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

34

초기화

이벤트 기다림

UI 업데이트

설정 수집 데이터

불러오기 데이터 삭제 분석

정지

데이터 저장

데이터 반출

그래프 복사

사례 : 유한 측정

수집

샘플 프로젝트

Page 35: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

35

초기화

이벤트 기다림

UI 업데이트

설정 수집 데이터

불러오기 데이터 삭제 분석

정지

데이터 저장

데이터 반출

그래프 복사

사례 : 유한 측정

설정

샘플 프로젝트

Page 36: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

36

초기화

이벤트 기다림

UI 업데이트

설정 수집 데이터

불러오기 데이터 삭제 분석

정지

데이터 저장

데이터 반출

그래프 복사

사례 : 유한 측정

분석

샘플 프로젝트

Page 37: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

37

데모 : 샘플 프로젝트의 활용

• 연속 측정 및 데이터 로깅에 대한 샘플 프로젝트의 사용

Page 38: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

38

요약 : LabVIEW 데이터 수집 프로그래밍

1. DAQ 어시스턴트 : 편리한 프로그래밍

2. DAQmx 함수의 활용 : 세부적인 프로그래밍

3. 예제 및 샘플 프로젝트의 활용 : 편리한 시작, 빠른 개발

Page 39: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

39

Mylv.net : LabVIEW 사용자 커뮤니티

- 모든 LabVIEW 사용자를 위한 커뮤니티 웹사이트

- Q&A 게시판

- 예제 코드 공유

- 최신 구인 및 이벤트 정보

자세한 정보는 mylv.net

Page 40: LabVIEW 기반의 데이터 수집 프로그래밍marcom.mylv.net/web/slides/online_daq_4.LV_daq.pdf ·  · 2016-06-29ni.com/korea LabVIEW 기반의 데이터 수집 프로그래밍

40