본문 바로가기
랩뷰(LabVIEW)

제 5강. 랩뷰(LabVIEW)의 파일 I/O(File I/O)를 통한 데이터 저장

by asmodeliy 2022. 11. 30.

파일 I/O는 데이터를 파일 안팎으로 전달합니다파일 I/O 팔레트의 파일 I/O VI와 함수를 사용하여 다음을 포함한 모든 파일 I/O 기능을 다룹니다:

  • 데이터 파일의 열기와 닫기
  • 파일에서 데이터 읽기와 데이터 쓰기
  • 스프레드시트 형식 파일 읽기와 쓰기
  • 파일 및 디렉토리 이동하기와 이름 바꾸기
  • 파일 특성 변경하기
  • 설정 파일 만들기, 수정하기, 읽기

하나의 VI 또는 함수를 사용하여 파일을 열거나, 읽거나, 쓰거나, 닫을 수 있습니다. 또한, 함수를 사용하여 프로세스의 각 단계를 컨트롤할 수 있습니다.


1. 텍스트 파일에 쓰기(Write to text file) 함수

2. 경로 만들기(Build path) 함수

3. 구분된 스프레드시트 쓰기(Write to spreadsheet file) 함수


안녕하세요. 저번 시간(제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수)에는 자주 쓰이는 배열에 대해 배웠다면, 이번에는 파일 I/O 팔레트에 있는 함수를 이용한 데이터 저장에 대해 알아보려고 합니다.

텍스트 파일에 쓰기

텍스트 파일에 쓰기 함수는 텍스트를 원하는 저장 경로에 쓰는 함수입니다.

 

블록 다이어그램과 프론트 패널

 

 

생성된 텍스트 파일

위와 같이 파일 경로와 텍스트를 컨트롤로 연결하면

프론트 패널에서 지정한 경로에 원하는 텍스트 문서가 저장됩니다.

 

이를 응용하여 원하는 데이터를 자동 경로로 저장해 보겠습니다.

 

경로 만들기 함수와 어플리케이션 디렉토리 함수

 

 

블록 다이어그램과 프론트 패널

다음과 같이 경로 만들기(Build path) 함수와 어플리케이션 디렉토리(Application directory) 함수를 사용하여 VI가 저장된 폴더에 원하는 이름의 텍스트파일을 생성할 수 있습니다.

 

생성된 텍스트 파일과 내용

 

이번엔 배열을 저장해보겠습니다.

 

구분된 스프레드시트 쓰기(Write to spreadsheet file)

구분된 스프레드시트 쓰기(Write to spreadsheet file) 함수를 사용해 다음과 같은 블록 다이어그램을 만들고 프론트패널에 숫자를 입력해보겠습니다.

블록 다이어그램과 프론트 패널
생성된 텍스트 파일

이러한 텍스트 문서가 생성되는 것을 볼 수 있습니다.

 

이번엔 0~1사이의 랜덤한 숫자가 0.95이상일 때 멈추고 누적 값으로 저장하는 예제를 해보겠습니다.

 

블록 다이어그램
프론트 패널

다음과 같이 While을 사용해 블록 다이어그램과 프론트 패널을 형성하면

이러한 텍스트 파일이 생성됨을 볼 수 있습니다.

 

글을 마치며 이 포스팅을 통해 파일 I/O를 통한 데이터 저장에 대한 궁금증이 어느 정도 해소되었으면 합니다.

 

감사합니다.

텍스트파일에 쓰기.vi
0.01MB
구분된 스프레드시트에 저장.vi
0.01MB

같이보면 좋은 글

제 6강. 랩뷰(LabVIEW)의 동일한 파일에 데이터 누적 저장

 

제 6강. 랩뷰(LabVIEW)의 동일한 파일에 데이터 누적 저장

1. 파일 또는 폴더 존재 확인(Check if File or Folder Exists) 함수 2. 케이스(Case) 구조 3. 파일 불러오기 4. 파일 생성 안녕하세요. 저번 시간(제 5강. 랩뷰(LabVIEW)의 파일 I/O(File I/O)를 통한 데이터 저장)에

jungwonlab.tistory.com

제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수

 

제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수

배열(array)은 동일한 데이터 타입을 묶어 놓은 데이터 집합입니다. 배열은 원소들로 이루어져 있으며, 그들의 위치를 인덱스(index) 라고 합니다. 보통 행과 열로 표현하는 2차원 배열을 자주 사용

jungwonlab.tistory.com

제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이

 

제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이

상수(Numeric) 함수는 숫자를 넣을 때, 문자형(String) 함수는 문자를 넣을 때 사용하는 랩뷰의 기능입니다. Delay time 을 넣고 싶다면 타이밍(Timing) 함수를, 성격이 다른 함수들을 묶을 때는 클러스터(C

jungwonlab.tistory.com

제 2강. 랩뷰(LabVIEW)에서 자주 쓰는 구조(Structures) For/While/Sequence Loop

 

제 2강. 랩뷰(LabVIEW)에서 자주 쓰는 구조(Structures) For/While/Sequence Loop

For 문은 원하는 횟수 만큼 반복 작업을 할 때 사용하며, While 문은 특정 조건에서 반복 작업을 멈추는 작업에 적합합니다. 마지막으로 Sequence loop는 처리 우선순위가 요구될 때 사용합니다. 1. 구

jungwonlab.tistory.com

제 1강. LabVIEW(랩뷰)의 기초

 

제 1강. LabVIEW(랩뷰)의 기초

1. 랩뷰 실행 방법 2. 프론트 패널과 블록 다이어그램 2. 랩뷰 환경 설정 3. 랩뷰에서 유용한 단축기 모음 안녕하세요. 이전글 (제 0강. 랩뷰(LabVIEW)란?) 에서는 랩뷰에 대한 기본적인 내용을 알아 봤

jungwonlab.tistory.com

제 0강. 랩뷰(LabVIEW)란?

 

제 0강. 랩뷰(LabVIEW)란?

1. 소개 2. 장단점 3. 설치 시 주의사항 안녕하세요. 이번 시간부터는 대학 연구실과 기업에서 많이 사용하는 랩뷰(LabVIEW)에 대해 알아보려고 합니다. 먼저 랩뷰에 대한 관심이 커지게 된 배경과

jungwonlab.tistory.com

 

댓글