VI 문자열 파일 구문
- 업데이트 날짜:2026-08-20
- 5분 (읽기 시간)
VI 현지화에 사용되는 VI 문자열 파일의 구조를 이해합니다.
VI 문자열 파일의 포맷은 HTML 파일과 비슷합니다. 시스템은 모든 원소를 시작 태그와 끝 태그로 표시합니다. 시작 태그는 <로 시작하여 >로 끝납니다. 끝 태그는 </로 시작하여 >로 끝납니다. LabVIEW는 텍스트 내부를 제외하고는 화이트 스페이스 문자를 무시합니다. <라는 문자가 태그의 시작을 나타내기 때문에, LabVIEW는 <<를 사용하여 텍스트에서 보다 작음을 표시합니다. >를 대신하여, LabVIEW는 >>를 사용하여 보다 큼을 표시합니다. LabVIEW는 큰 따옴표를 ""로 대체합니다. 또한, LabVIEW는 라인 끝 문자를 <CR>, <CRLF>, 또는 <LF>로 표시하는데, 이는 각각 캐리지 리턴, 캐리지 리턴과 그 다음의 라인 피드, 라인 피드로 취급됩니다. VI 문자열 파일의 포맷은 컴퓨터에서 읽을 수 있도록 만들어졌습니다. 따라서 읽기 어려운 경우에도 염려하지 마십시오. 반출 파일의 각 라인에는 프라이빗 데이터 또는 기본 데이터에 대한 태그가 최대 두 개까지만 포함됩니다. 또한, LabVIEW는 각 하위 레벨마다 아이템을 한 번씩 들여씁니다. 태그를 변경하거나 삭제하는 경우, LabVIEW는 파일을 VI로 반입할 때 에러를 발생시킵니다.
다음 테이블은 VI 태그 타입과 대응하는 VI 태그 구문을 나열합니다.
| VI 태그 타입 | VI 태그 구문 |
|---|---|
|
[VI 문자열 파일]. |
<VI [vi 속성] > [vi 정보] </VI> |
|
[VI 속성]. |
syntaxVersion=5 LVversion=nnn revision=nnn name="텍스트" |
|
[VI 정보]. |
[vi 제목] [설명] [내용] [블록다어이그램 내용] |
|
[VI 제목]. |
<TITLE>텍스트</TITLE>|.<TITLE><NO_TITLE></TITLE>. |
|
[설명]. |
<DESC>텍스트</DESC>. |
|
[내용]. |
<CONTENT>[그룹][객체]</CONTENT> |
|
[블록다이어그램 내용]. |
<BDCONTENT>[블록다이어그램 객체] </BDCONTENT> |
스페이스는 VI 속성을 구분합니다. 속성 이름과 다음 등호 사이, 등호와 속성 값 사이에는 스페이스가 허용되지 않습니다.
예:
<VI syntaxVersion=5 LVversion=4502007 revision=10 name="AO Generate Waveform.vi">
<TITLE>AO Generate Waveform.vi</TITLE>
<DESC>이 VI는 지정된 업데이트 속도로 주어진 출력 채널에 대해 단순 버퍼 Timed 웨이브폼을 생성합니다.</DESC>
<CONTENT>
........
</CONTENT>
</VI>
다음 테이블은 프런트패널의 내용(독립과 고유 라벨, 캡션 라벨, 속성)을 설명하는 태그와 이에 상응하는 태그 구문을 나열합니다.
| 내용 태그 타입 | 내용 태그 구문 |
|---|---|
|
[내용] |
<CONTENT>[그룹][객체]</CONTENT> |
|
[그룹] |
<GROUPER>[부분]</GROUPER> |
|
[객체] |
([컨트롤]|[라벨]) * |
|
[컨트롤] |
<CONTROL [컨트롤 속성]> [컨트롤 정보] </CONTROL> |
|
[라벨] |
<LABEL>[스타일 텍스트] </LABEL> |
|
[스타일 텍스트] |
<STEXT>폰트 정보를 가진 텍스트 </STEXT> |
<STEXT>와 </STEXT> 사이에 폰트 스펙을 타이핑할 수 있습니다. LabVIEW는 다음 포맷을 사용하여 폰트 정보를 인코딩합니다: <FONT name="font name" size='3' style='BIUSO' color=00ff00>. 폰트 속성은 순서와 관계 없이 나열할 수 있습니다. 폰트 스펙은 끝 태그가 없으므로 다른 원소와 다릅니다. 예를 들어, 다음과 같이 캡션을 텍스트 "굵은체 라벨"로 설명할 수 있습니다.
<LABEL><STEXT><FONT name="times new roman" size=12 style='B'>Bold <FONT style='I'>label</STEXT></LABEL>
폰트를 사전 정의로 정의하여 사전에 정의된 폰트 중 하나를 지정할 수 있습니다―어플리케이션 폰트, 시스템 폰트, 또는 대화 상자 폰트.
<GROUPER></GROUPER> 태그는 함께 그룹화한 프런트패널 객체를 둘러쌉니다. 또한, 이 태그는 분리자 막대로 설정한 각 구획을 둘러쌉니다. 프런트패널이 언제나 적어도 하나 이상의 구획을 포함하므로, VI 문자열 파일은 항성 적어도 한 세트 이상의 <GROUPER></GROUPER> 태그를 포함합니다. 또한, 클러스터도 구획을 포함합니다.
다음 테이블은 데이터를 포함하는 객체를 설명하는 태그와 대응하는 태그 구문을 나열합니다.
| 내용 태그 타입 | 내용 태그 구문 |
|---|---|
|
[컨트롤] |
<CONTROL [컨트롤 속성]> [컨트롤 정보] </CONTROL> |
|
[컨트롤 속성] |
ID=xxx type="불리언" name="스위치" |
|
[컨트롤 정보] |
[설명] [팁 상자] [부분] [프라이빗 데이터 섹션] [기본 데이터 섹션] [내용] |
|
[팁 상자] |
<TIP>텍스트</TIP> |
|
[부분] |
<PARTS> [부분]*</PARTS> |
|
[부분] |
<PART [부분 속성]> [부분 정보] </PART> |
|
[부분 속성] |
partID=nnn partOrder=nnn |
|
[부분 정보] |
[컨트롤]|[라벨]|[여러 라벨] |
다음은 "링" 캡션과 로드, 로드 해제, 열기, 닫기 옵션을 포함하는 링 컨트롤 설명의 예입니다.
<CONTROL ID=87 type="Ring" name="RINGcontrol">
<DESC>링 컨트롤</DESC>
<PARTS>
<PART ID=12 order=0
type="Ring Text"><MLABEL><STRINGS><STRING>로드</STRING><STRING>로드 해제</STRING><STRING>열기</STRING><STRING>닫기</STRING></STRINGS></MLABEL></PART>
<PART ID=82 order=0 type="Caption"><LABEL><STEXT><FONT color=FF0033 size=12>링</STEXT></LABEL></PART>
</PARTS>
</CONTROL>
LabVIEW는 위의 MLABEL (여러 라벨) 태그를 사용하여 링 컨트롤의 옵션 문자열 또는 불리언 버튼의 문자열을 지정합니다. 불리언 버튼의 경우 네 가지 상태 각각에 대해 하나의 문자열이 사용됩니다. 다음은 MLABEL 태그 구문의 일반적인 설명입니다:
[여러 라벨]<MLABEL> [여러 라벨 정보] </MLABEL>
[여러 라벨 정보][폰트][문자열]
다음 테이블은 문자열, 테이블, 배열, 경로의 기본 데이터를 설명하는 태그와 대응하는 태그 구문을 나열합니다.
| 내용 태그 타입 | 내용 태그 구문 |
|---|---|
|
[기본 데이터 섹션] |
<DEFAULT> [기본 데이터] </DEFAULT> |
|
[기본 데이터] |
[문자열 기본]|[테이블 기본]|[배열 데이터]|[경로 데이터] |
|
[문자열 기본] |
[문자열]|<SAME_AS_TEXT> |
|
[테이블 기본] |
[문자열] |
|
[배열 데이터] |
<ARRAY nElems=n> [배열 원소 데이터] </ARRAY> |
|
[배열 원소 데이터] |
[클러스터 데이터]|[문자열 데이터]|[비 문자열 데이터] |
|
[문자열 데이터] |
[문자열] |
|
[비 문자열 데이터] |
<NON_STRING> |
|
[클러스터 데이터] |
<CLUSTER nElems=n> [클러스터 원소 데이터] </CLUSTER> |
|
[클러스터 원소 데이터] |
[클러스터 데이터]|[문자열 데이터]|[비 문자열 데이터]|[배열 데이터]|[경로 데이터] |
|
[경로 데이터] |
<PATH type ="absolute"> a<SEP> system </PATH> |
[배열 데이터]의 경우, n [배열 원소 데이터]는 <ARRAY> 태그 다음에 와야 합니다. 마찬가지로 [클러스터 데이터]의 경우, n [클러스터 원소 데이터]는 <CLUSTER> 태그 다음에 와야 합니다.
문자열 컨트롤 기본 데이터 [문자열 기본]의 경우, 특별한 태그인 <SAME_AS_LABEL>를 사용합니다. 이 태그는 문자열 기본 데이터가 문자열 부분 리스트의 텍스트 라벨과 같음을 나타냅니다. <SAME_AS_LABEL>을 사용할 때, 텍스트 라벨과 문자열 기본 데이터 모두에 같은 텍스트를 타이핑할 필요가 없습니다.
경로 컨트롤 기본 데이터 [경로 데이터]의 경우, <PATH> 시작 태그는 경로 타입을 지정하는 속성을 가질 수 있습니다. 가능한 속성 값은 "absolute", "relative", "not-a-path" 및 "unc"입니다. <SEP> 태그는 <PATH>와 </PATH> 태그 사이에 오는 경로 부분을 구분합니다. 예를 들면, Windows 플랫폼에서 절대 경로 c:\windows\temp\temp.txt는 다음과 같이 쓰입니다:
<PATH type="absolute">c<SEP>windows<SEP>temp<SEP>temp.txt</PATH>
다음 표는 컨트롤 프로퍼티를 설명하는 태그와 해당 태그 구문을 나열합니다.
| 내용 태그 타입 | 내용 태그 구문 |
|---|---|
|
[프라이빗 데이터 섹션] |
<PRIV> [프라이빗 데이터]* </PRIV> |
|
[프라이빗 데이터] |
([문자열]|[열 헤더]|[행 헤더]|[셀 폰트]|[플롯]|[커서]|[경로 프라이빗 데이터]|[탭 컨트롤 프라이빗 데이터]) |
|
[문자열] |
<STRINGS> [문자열]* </STRINGS> |
|
[문자열] |
<STRING> 텍스트 </STRING> |
|
[열 헤더] |
<COL_HEADER> [문자열]* </COL_HEADER> |
|
[행 헤더] |
<ROW_HEADER> [문자열]* </ROW_HEADER> |
|
[셀 폰트] |
<CELL_FONTS> [셀 폰트]* </CELL_FONTS> |
|
[플롯] |
<PLOTS> [문자열]* </PLOTS> |
|
[커서] |
<CURSORS> [문자열]* </CURSORS> |
|
[셀 폰트] |
[행 수 열 수][폰트] |
|
[폰트] |
<FONT name="font name" size='x' style='BIUSO' color=000000> |
|
[경로 프라이빗 데이터] |
<PROMPT>텍스트</PROMPT> <MTCH_PTN>텍스트</MTCH_PTN> <STRT_PTH>[경로 데이터]</STRT_PTH> |
|
[탭 컨트롤 프라이빗 데이터] |
<PAGE_CAPTIONS>[문자열]*</PAGE_CAPTIONS> |
|
[탭 컨트롤 페이지] |
<PAGE> [설명] [팁 상자] [객체] </PAGE> |
| 내용 태그 타입 | 내용 태그 구문 |
|---|---|
|
[블록다이어그램 내용] |
<BDCONTENT>[블록다이어그램 객체] </BDCONTENT> |
|
[블록다이어그램 객체] |
([컨트롤]|[라벨]|[노드])* |
|
[노드] |
<NODE [node attributes]>[노드 정보]</NODE> |
|
[노드 속성] |
ID=xxx type="시퀀스" |
|
[노드 정보] |
[설명][블록다이어그램 내용] |
VI 윈도우 제목 편집하기
VI 윈도우 제목을 사용자 정의하여 VI 파일 이름보다 더 상세하게 설명할 수 있으며, 이는 현지화된 VI에서 중요합니다. VI 윈도우 제목은 현지화할 수 있으며, 파일 시스템 이름짓기 제한을 받지 않으면서도 윈도우를 호출하는 VI가 인식할 수 있습니다. 그 이유는 VI 호출 시 제목이 아니라 파일 이름으로 subVI를 참조하기 때문입니다. 반출/반입 도구를 사용하여 윈도우 제목을 현지화하거나, VI를 편집할 때 VI 프로퍼티 대화 상자의 윈도우 모양 페이지를 사용하여 수동으로 VI 윈도우 제목을 변경합니다. 또한, VI 서버를 사용하여 프로그램적으로 VI 윈도우 제목을 변경할 수 있습니다.
마침표와 쉼표 소수점
기본적으로, LabVIEW는 사용자의 OS 환경에 맞는 적당한 소수점을 찾아 사용하며, 이는 컨트롤내의 숫자 디스플레이와 숫자와 문자열 사이를 변환하는 함수의 작동에 영향을 미칩니다. 이렇게 되면 숫자를 문자열로 인스트루먼트에 전달하거나 인스트루먼트 출력 문자열을 분석할 때 문제가 발생합니다.
다음 함수는 기본으로 OS 셋팅을 사용합니다. 마침표를 사용하려면 거짓값을 시스템 소수점 사용(+) 이라고 불리는 불리언 입력에 연결해야 합니다.
- 소수점/지수 문자열을 숫자로
- 숫자를 소수점형 문자열로
- 숫자를 지수형 문자열로
- 숫자를 공학 문자열로
포맷 문자열을 받는 함수의 경우, 포맷 코드 %x는 해당 특정 호출에 대한 소수점을 지정하는데 사용될 수 있습니다. 여기서 x는 소수점 문자를 나타냅니다. 해당되는 함수는 다음과 같습니다:
- 문자열로 포맷
- 문자열로부터 스캔
- 값을 문자로 포맷
- 값 스캔
- 배열을 스프레드시트 문자열로
- 스프레드시트 문자열을 배열로
- 구분된 스프레드시트 읽기
도구≫옵션을 선택한 후 항목 리스트에서 프런트패널을 선택하고 현지화된 소수점 사용 확인란에 확인 표시를 하여 소수점 또는 마침표에 시스템 셋팅(로캘)을 사용할 것인지 지정합니다.
날짜와 시간 값을 문자열로 디스플레이하기
기본으로 [날짜/시간 문자열로 포맷] 함수를 사용하여 문자열의 날짜와 시간 디스플레이 포맷을 설정할 수 있습니다. LabVIEW는 OS 셋팅을 읽고 현재 로캘에 맞는 날짜/시간 형을 디스플레이합니다. LabVIEW는 중국어와 한국어와 같이 단축된 이름을 지원하지 않는 시스템을 위해 단축된 요일과 달 이름을 숫자값으로 반환합니다. 바로 가기 메뉴에서 디스플레이 포맷을 선택하여 디스플레이를 사용자 정의할 수 있습니다.