labview 기반의 데이터 수집...
TRANSCRIPT
ni.com/korea
LabVIEW 기반의 데이터 수집 프로그래밍 기법
한국내쇼날인스트루먼트
전략마케팅
권오훈 과장
2
개요
• LabVIEW 란?
• LabVIEW 기반의 데이터 수집 프로그래밍 • DAQ 어시스턴트
• DAQmx API
• 템플릿 및 샘플 프로젝트
• 요약
3
데이터 수집 하드웨어
DAQmx 드라이버 및 MAX 유틸리티
데이터 수집 소프트웨어
프로그래밍 언어
4
LabVIEW란?
“엔지니어를 위한 그래픽 기반의 프로그래밍 언어”
엔지니어를 위한
그래픽 기반
프로그래밍 언어
: 모든 사람이 아닌 엔지니어를 위한
: Flow Chart 형식의 개발 환경
: 컴파일러를 가진 프로그래밍 언어
5
LabVIEW 환경
“VI” = 프로그램 또는 함수
“프런트 패널” = 사용자 인터페이스 “블록 다이어그램” = 코드
6
객체 및 라이브러리의 활용 : 팔레트
• 마우스 오른쪽 클릭으로 팔레트 호출 • 객체 계층별으로 구분되어 있음
컨트롤 팔레트 함수 팔레트
7
NI LabVIEW – 그래픽 기반 프로그래밍
1 데이터 흐름의 시작
2 VI는 모든 입력이 입력되었을때 실행
8
• LabVIEW는 각 어플리케이션을 여러 개의 실행 스레드로 자동 분리
• 멀티스레딩 적용 (1998년)
LabVIEW의 자동 멀티스레딩
스레드
스레드
스레드
9
와이어와 데이터의 유형
• 와이어를 통해 객체 간의 데이터 전송
• 데이터 유형에 따라 다른 색상, 스타일, 두께
• 깨진 와이어는 중앙에 빨간색 X 표시가 된 검은색 점선
스칼라 1D 배열 2D 배열
DBL 숫자형 정수형 문자형
10
텍스트 기반의 언어와의 비교
LabVIEW 코드 C 코드
11
LabVIEW C
* does not include code to generate UI
텍스트 기반의 언어와의 비교
12
다형성 VIs
프로퍼티 노드
고급 유틸리티 함수 DAQ 어시스턴트
DAQmx 태스크 및 채널 상수
데이터 수집 프로그래밍 함수
13
설정 기반 프로그래밍
데이터 수집 프로그래밍 방법
14
설정 기반 프로그래밍
데이터 수집 프로그래밍 방법
15
설정 기반 : DAQ 어시스턴트
• 설정기반의 데이터 수집 프로그래밍 함수
데이터 측정 값 미리 보기
측정 채널 설정
측정 타이밍 설정
16
데모
• DAQ 어시스턴트를 통한 프로그래밍
17
분석 관련 익스프레스 VI
오더 분석 함수
주파수 도메인 측정 함수 시간 도메인 측정 함수
신호 로딩/저장 함수
리미트 검사 함수
신호 전처리 함수
18
•신호 처리 & 분석 – 파형 생성 – 파형 컨디셔닝 – 파형 모니터링 – 파형 측정 – 신호 생성 – 신호 운영 – 윈도우 – 디지털 필터 – 스펙트럼 분석 – 변형 – 점 대 점(Point-by-Point)
•수학 – 숫자 – 기본/특별 함수 – BLAS/LAPAC 기반 선형 대수 – 커브 피팅 – 보간 / 외삽 – 확률 및 통계 – 최적화 – 상미분 방정식 – 기하학 – 다항식 – 포뮬러 파싱(Formula Parsing) – 1D & 2D 평가 – 미적분
신호 처리, 분석 및 연산 함수
19
파일 입출력
측정 파일에 쓰기
측정 파일로부터 읽기
20
데모 : 데이터 수집에서 분석, 저장까지
• 사인파 수집, 주파수 분석, 파일 저장 프로그래밍
21
데이터 수집의 3 단계
Acquire Analyze Present
22
DAQmx 함수
• NI DAQ 하드웨어를 제어하는 함수
• 다형성 함수 : 하나의 함수에 다양한 옵션 존재, 필요에 따라 설정하여 사용
DAQmx 함수
H/W 드라이버 소트프웨어
DAQ 하드웨어
23
DAQmx 함수
DAQmx 버추얼 채널 생성
DAQmx 읽기
DAQmx 쓰기
DAQmx 완료할 때까지 기다림
DAQmx 타이밍
DAQmx 트리거
DAQmx 태스크 시작
DAQmx 태스크 정지
DAQmx 태스트 지우기
24
채널 설정
타이밍 설정
트리거링 설정
작업 시작
데이터 읽기
작업 해제
NI-DAQmx LabVIEW API
Transducer Signal Signal Conditioning DAQ Software
25
아날로그 입력 프로그래밍 비교
26
코드 생성
• DAQ 어시스턴트를 DAQmx API 프로그램으로 자동생성
27
예제의 활용 : 예제 탐색기
28
데모
• 코드 생성과 예제 활용을 통한 편리한 코드 개발 • Voltage – Continuous Input.vi 사용
29
템플릿 및 샘플 프로젝트 : LabVIEW 2012
효율성 향상
에러 감소
재사용성 극대화
배우는 기간 단축
템플릿 및 샘플 프로젝트란 ?
템플릿 기본적인 프로젝트, 코드, 문서 및 폴더 구조
샘플 프로젝트 사용자 정의를 위한 시작점이 되는 동작하는 어플리케이션, 일반적으로 템플릿에 기반
왜 템플릿과 샘플프로젝트를 사용하는가?
30
샘플 프로젝트
키워드로 검색
어플리케이션에 따른 샘플 프로젝트 선택
타입 또는 타겟에 따른 선택
31
사례 : 유한 측정 샘플 프로젝트
32
초기화
이벤트 기다림
UI 업데이트
설정 수집 데이터
불러오기 데이터 삭제 분석
정지
데이터 저장
데이터 반출
그래프 복사
사례 : 유한 측정 샘플 프로젝트
33
초기화
이벤트 기다림
UI 업데이트
설정 수집 데이터
불러오기 데이터 삭제 분석
정지
데이터 저장
데이터 반출
그래프 복사
사례 : 유한 측정
이벤트 기다림
샘플 프로젝트
34
초기화
이벤트 기다림
UI 업데이트
설정 수집 데이터
불러오기 데이터 삭제 분석
정지
데이터 저장
데이터 반출
그래프 복사
사례 : 유한 측정
수집
샘플 프로젝트
35
초기화
이벤트 기다림
UI 업데이트
설정 수집 데이터
불러오기 데이터 삭제 분석
정지
데이터 저장
데이터 반출
그래프 복사
사례 : 유한 측정
설정
샘플 프로젝트
36
초기화
이벤트 기다림
UI 업데이트
설정 수집 데이터
불러오기 데이터 삭제 분석
정지
데이터 저장
데이터 반출
그래프 복사
사례 : 유한 측정
분석
샘플 프로젝트
37
데모 : 샘플 프로젝트의 활용
• 연속 측정 및 데이터 로깅에 대한 샘플 프로젝트의 사용
38
요약 : LabVIEW 데이터 수집 프로그래밍
1. DAQ 어시스턴트 : 편리한 프로그래밍
2. DAQmx 함수의 활용 : 세부적인 프로그래밍
3. 예제 및 샘플 프로젝트의 활용 : 편리한 시작, 빠른 개발
39
Mylv.net : LabVIEW 사용자 커뮤니티
- 모든 LabVIEW 사용자를 위한 커뮤니티 웹사이트
- Q&A 게시판
- 예제 코드 공유
- 최신 구인 및 이벤트 정보
자세한 정보는 mylv.net
40