♣ 주요내용 ♣
공학이나 이학에서 연구나 실험을 위해서는 먼저 측정 시스템과 제어 시스템을 구성해야 됩니다. 그래서 대부분의 엔지니어와 연구원들은 측정 및 제어 시스템을 구축하기 위하여 많은 시간과 노력을 투자하고 있습니다. 특히 세계 최초의 연구나 신제품 개발의 경우에는 더 많은 투자가 필요합니다.
전통적인 측정 및 제어 시스템은 오실로스코프, 펑션 발생기, 디지털 멀티미터, DC 파워공급기 등의 박스형 장비와 모터, CCD 카메라, 각종 센서, 밸브, 접점 등을 이용하여 수동 혹은 마이크로프로세스 등을 이용한 자동화 시스템으로 구성됩니다. 또는 전문 장비 개발 업체에서 전체 시스템을 주문 제작합니다. 그러나 최근 기술동향은 이러한 측정 및 제어 시스템을 컴퓨터를 이용하여 제작하고 통합하는 것입니다. GPIB를 이용하여 오실로스코프나 펑션 발생기 등의 박스형 장비를 제어하여 자동화 시스템을 구축하는 것이 대표적인 예입니다. 이런 자동화 시스템의 핵심은 컴퓨터입니다.
컴퓨터를 이용한 제어와 계측은 컴퓨터 기술의 발달과 함께 급속도로 발전하고 있습니다. 데이터베이스를 이용하여 측정 데이터를 저장하고, Excel 등을 이용하여 리포트를 출력하고, 웹 브라우저를 이용하여 측정 값을 확인하고 장비를 제어할 수 있습니다. 시스템에 문제가 발생하면, SMS 문자 서비스를 이용하여 관리자의 핸드폰으로 메시지를 전송하고, PDA나 휴대용 장비를 이용하여 온도나 맥박, 소음 등을 측정하고, 데이터를 무선으로 전송할 수 있습니다.
컴퓨터를 이용한 제어와 계측 시스템이 요구되는 또 다른 이유는 신제품의 개발과 새로운 연구의 진행 주기가 점점 빨라지기 때문에, 대응할 수 있는 제어 및 계측 시스템의 구축을 위하여 주어지는 시간도 점점 줄어들기 때문입니다. 요즈음 추세는 신제품의 수명이 반년을 넘지 못하는 것입니다. 신제품 출시 후, 6 개월이 못되어 또 다른 신제품이 출시됩니다. 좋은 성능의 신제품을 빨리 접할 수 있는 고객들에게는 기쁜 일이지만, 제품을 개발하고, 생산하는 연구원 및 엔지니어에게는 점점 업무가 많아지고, 어려워지는 것입니다.
측정 및 제어를 위한 하드웨어는 그대로 두고, 소프트웨어만 바꾸면 새로운 제품과 연구에 바로 적용할 수 있다면, 이러한 빠른 주기에 대응할 수 있을 것입니다. 5년 전에는 C 언어나 Visual Basic이 이러한 소프트웨어 개발 도구로 가장 많이 사용되었습니다. 특히 C 언어는 가장 기본이 되고, 안정적인 개발 도구로 수 십 년간 검정된 프로그래밍 언어입니다. 그래서 공학과 이학 대학에서 C 언어를 필수로 교육하고 있습니다. 엔지니어나 연구원으로서 성공적으로 업무를 수행하기 위해서는 최소한 한 개 이상의 프로그래밍 언어는 알아야 되는데, C 언어가 가장 기본이기 때문입니다. 그러나 대학교에서 C 언어의 기초는 배울 수 있지만, 시장에서 요구되는 수준의 엔지니어를 양성하기는 힘듭니다. C 언어를 이용하여 GPIB 통신 프로그램을 작성하거나 DAQ 보드를 제어하고 모터를 제어할 수 있는 수준까지 가능한 엔지니어를 양성하기 위해서는 많은 시간과 투자가 필요합니다.
C 언어처럼 안정적이고 일반적이면서, 동시에 배우기 쉽고 개발 시간을 단축할 수 있는 프로그래밍 언어가 요구됩니다. LabVIEW는 이러한 시장의 요구에 부응하는 프로그래밍 언어입니다. LabVIEW는 컴퓨터를 이용한 제어와 계측에 최적화되어있고, 그래픽 개발환경을 이용하고 있기 때문에 직관적인 이해와 개발이 가능한 프로그래밍 언어입니다. 또한 매년 새로운 8.2 버전이 출시되어 최신 기술 동향을 따라가고 있습니다.
지금도 많은 분들이 LabVIEW을 사용하고 있고, 새롭게 시작하고 있습니다. 이 책이 여러분들께 조금이나마 도움이 될 수 있기를 바랍니다
♣ 차례 ♣
제 1 장 LabVIEW 소개
가. LabVIEW의 구성
연습 1-1. 숫자의 더하기와 빼기
연습 1-2. 섭씨온도를 화씨온도로 바꾸기
나. LabVIEW의 데이터 타입
연습 1-3. 불리언 연산
연습 1-4. 문자열과 문자열 함수
연습 1-5. 숫자형 데이터를 문자열로 바꾸기
연습 1-6. 문자열 데이터를 숫자형으로 바꾸기
다. 배열
연습 1-7. For 루프를 이용하여 배열 만들기
연습 1-8. 2차원 배열을 만들기
연습 1-9. 배열 함수와 연산
연습 1-10. 원 그리기
라. 클러스터
연습 1-11. 클러스터를 만들고 다루는 법
마. 복잡한 연산
연습 1-12. 수식노드
연습 1-13. MathScript 노드
바. SubVI 만들기
연습 1-14. SubVI 만들기
연습 1-15. VI의 일부만 SubVI로 만들기
연습 문제
■ 요약정리
제 2 장 구조 및 파일저장
가. While 루프
연습 2-1. While 루프의 속도
연습 2-2. 난수 발생 및 일치되는 실수 값 ?기
연습 2-3. 시프트 레지스터 만들기
연습 2-4. 웨이브폼 차트
연습 2-5. 차트에 여러 개의 데이터를 동시에 그리기
나. Timed 루프
연습 2-6. While 루프와 Timed 루프의 타이밍 차이
다. For 루프
라. 케이스 구조
연습 2-7. 케이스 구조 (불리언 조건 입력)
연습 2-8. 케이스 구조 (링 조건 입력)
연습 2-9. 라디오 버튼
연습 2-10. 로컬 변수를 이용한 케이스 구조
마. 이벤트 구조
연습 2-11. 사용자 인터페이스 이벤트
바. 시퀸스 구조
연습 2-12. Timed to Match
사. 파일 입출력
연습 2-13. 파일 저장
연습 2-14. 문자열 타입으로 저장된 파일을 읽기
연습 2-15. While 루프와 파일 입출력
연습 2-16. 이벤트를 이용하여 완성된 프로그램 구현
■ 요약정리
제 3 장 데이터 수집 기초
가. DAQ란 무엇인가?
나. MAX란 무엇인가?
연습 3-1. NI-DAQmx Simulated Device 만들기
다. DAQmx란 무엇인가?
연습 3-2. 온도측정
라. 시그널 연결 방법
마. 각종 센서
연습 3-3. 웨이브폼 측정
바. 아날로그 출력
연습 3-4. 웨이브폼 출력
연습 3-5. DC 전압 출력
■ 요약정리
제 4 장 DAQmx 함수
가. 아날로그 입력
연습 4-1. 웨이브폼 측정
연습 4-2. 연속적인 웨이브폼 측정
연습 4-3. 다 채널 웨이브폼 측정
연습 4-4. 외부 Clock을 이용한 웨이브폼 측정
나. 아날로그 및 디지털 트리거
연습 4-5. 디지털 트리거를 이용한 웨이브폼 측정
연습 4-6. 디지털 시작 트리거를 이용한 연속 아날로그 입력
다. 소프트웨어 타임
연습 4-7. 소프트웨어 타임을 이용한 아날로그 입력
연습 4-8. While 루프의 속도
연습 4-9. Sound Level 측정
라. 신호 분석 및 처리
연습 4-10. 측정, 분석, 저장
마. 아날로그 출력
연습 4-11. DC 전압 출력
연습 4-12. DC 전압 출력 변화시키기
연습 4-13. 연속적인 웨이브폼 출력
연습 4-14. 웨이브폼 출력 (디지털 트리거)
연습 4-15. 웨이브폼 출력 (주파수 변경)
연습 4-16. 웨이브폼 진폭과 주파수 변경
바. 아날로그 입력과 출력
연습 4-17. 동시 아날로그 입력과 아날로그 출력
■ 요약정리
제 5 장 디지털 신호 측정
가. 디지털 신호
나. 디지털 입출력
연습 5-1. DAQ 어시스턴트를 이용한 디지털 출력
연습 5-2. DAQ 어시스턴트를 이용한 디지털 입력
연습 5-3. DAQmx를 이용한 디지털 출력
연습 5-4. DAQmx를 이용한 디지털 입력
연습 5-5. 고속 디지털 패턴 출력
다. 카운터 측정
연습 5-6. 디지털 단순 이벤트 카운트
연습 5-7. DAQmx를 이용한 단순 이벤트 카운트
연습 5-8. 디지털 단순 이벤트 카운트-Pause 트리거
연습 5-9. Buffered 이벤트 카운트
연습 5-10. DAQmx를 이용한 Buffered 이벤트 카운트
연습 5-11. 각도 측정
연습 5-12. DAQmx를 이용한 각도 측정
연습 5-13. Pulse 폭 측정
연습 5-14. DAQmx를 이용한 펄스폭 측정
연습 5-15. DAQ 어시스턴트를 이용한 낮은 주파수 측정
연습 5-16. DAQ 어시스턴트를 이용한 높은 주파수 측정
연습 5-17. DAQmx를 이용한 낮은 주파수 측정
연습 5-18. DAQmx를 이용한 높은 주파수 측정
연습 5-19. 단일 Pulse 생성
연습 5-20. DAQmx를 이용한 단일 Pulse 생성
연습 5-21. N개 Pulse 생성
■ 요약정리
제 6 장 GPIB 통신
가. GPIB 통신이란 무엇인가?
나. GPIB 카드 설치 및 통신 점검
다. GPIB 통신 명령어
연습 6-1. 대화식 컨트롤
라. VISA 함수를 이용한 GPIB 통신
마. 인스트루먼트 I/O 어시스턴트를 이용한 GPIB 통신
연습 6-2. 인스트루먼트 I/O 어시스턴트
바. GPIB 488.2함수를 이용한 GPIB 통신
사. 인스트루먼트 드라이브
연습 6-3. 인스트루먼트 드라이브
아. 시리얼 통신
■ 요약정리
제 7 장 데이터 통신
가. 옵션 설정
나. DataSocket
연습 7-1. DataSocket을 이용한 데이터 통신
다. TCP/IP 통신
연습 7-2. TCP를 이용한 통신 - 한 개 Client 통신
라. 웹 서버
연습 7-3. 웹 서버를 이용한 VI 모니터링과 컨트롤
■ 요약정리
제 8 장 Utility
가. LabVIEW 프로젝트
연습 8-1. 공유 변수
나. 글로벌 변수와 로컬 변수
연습 8-2. 로컬 변수
연습 8-3. 글로벌 변수
다. VI 프로퍼티
라. LLB 파일 만들기
마. 실행파일 만들기
■ 요약정리 |