VI와 일반적인 VI 객체의 조직
- 업데이트 날짜:2025-08-27
- 5분 (읽기 시간)
VI 스크립팅을 사용하는 VI를 생성하거나 수정하려면, VI를 구성하는 객체들이 VI 서버 클래스 계층구조 및 가까운 객체와 어떤 관련이 있는지 이해해야 합니다. 이 토픽에서는 다양한 용도의 편의를 위해 몇몇 일반적인 VI에 대한 세 가지 유형의 필수 정보를 제시합니다.
- VI와 일반적인 VI 객체의 조직 이 토픽의 이미지는 VI 스크립팅으로 조작이 가능한 서로 다른 타입의 객체뿐만 아니라 객체의 일부 구성요소 및 상호관계를 보여줍니다. 예를 들어, For 루프는 여러 구성요소를 포함하는 일반적인 VI 객체입니다. For 루프로 들어가는 새 와이어를 생성하려는 경우, 루프 자체, 루프 터널, 루프 터널의 외부 및 내부 터미널과 같은 몇 가지 구성요소들과 상호작용해야 합니다. For 루프 및 기타 일반적인 VI 객체의 조직을 조사하여, 특정 스크립팅 동작이 영향을 줄 수 있는 모든 객체 원소를 식별할 수 있습니다.
- 일반 VI 객체의 VI 서버 클래스 몇 가지 스크립팅 함수에서는 상호작용하려는 객체의 클래스 지정이 필요합니다. 이 토픽에서 각 조직 테이블의 클래스 계층구조 열은 관련 다이어그램 내의 객체에 대한 클래스 정보를 보여줍니다. 클래스 지정자 상수를 사용하여 이 정보를 함수나 VI로 전달합니다. 클래스 계층구조 열의 정보를 사용하여 다음 태스크에서 클래스를 지정합니다:
- [새 VI 객체] 함수로 새 객체 생성하기
- [VI 객체 참조 열기] 함수로 기존 객체에 대한 참조 얻기
- [G객체의 탐색] VI로 특정 클래스 객체의 인스턴스 검색하기
- [보다 구체적인 클래스로] 함수로 참조 다운캐스트하기
- 특정 객체에 대해 VI 서버 클래스 계층구조에서 어떤 프로퍼티와 메소드가 사용 가능한지 식별하기
- 일반 VI 객체의 특정 인스턴스에 대한 참조를 반환하는 프로퍼티 일부 스크립팅 작업에서는 한 객체에 대한 참조를 사용해야만 다른 객체에 대한 참조를 얻을 수 있습니다. 이런 경우, 원래 객체의 어떤 프로퍼티가 원하는 참조를 반환하는지 알아야 합니다. 각 조직 테이블의 객체 참조 반환 열은 객체 타입:프로퍼티의 표기법을 사용하여 이러한 프로퍼티 정보를 보여줍니다. 예를 들어, For 루프:루프 카운트 표기는 For 루프 객체에 대한 참조에서 루프 카운트 프로퍼티를 호출 중임을 나타냅니다. 이를 위해, 우선 For 루프에 대한 참조를 얻어야 합니다. 그런 다음 For 루프 참조를 프로퍼티 노드에 연결하고 해당 프로퍼티 노드에 대해 루프 카운트 프로퍼티를 선택합니다. 객체 참조 반환 열의 정보를 사용하여 다음 작업에 필요한 참조를 얻습니다:
- VI 탐색하기
- VI 편집하기
- 새 VI 객체 간 연결하기
블록다이어그램 조직
다음 이미지는 VI 스크립팅으로 생성하거나 수정할 수 있는 몇몇 일반적인 블록다이어그램 객체를 보여줍니다.
| | ||
| 1 컨트롤/인디케이터 터미널 | 4 와이어 | 7 SubVI |
| 2 숫자형 상수 | 5 [증가] 함수 | 8 최상위 레벨 다이어그램 |
| 3 로컬 변수 | 6 [복합 연산] 함수 | 9 블록다이어그램 주석 |
다음 테이블은 위 이미지에서 객체에 대한 참조를 얻는데 사용 가능한 클래스 및 프로퍼티를 나열합니다.
| 클래스 계층구조 | 다음 객체 참조 반환 | |
| 1 | G객체≫터미널≫컨트롤터미널 | 컨트롤:터미널, 다이어그램:모든 객체[] |
| 2 | G객체≫상수≫숫자형상수 | 다이어그램:모든 객체[] |
| 3 | G객체≫노드≫로컬 | 컨트롤:로컬 변수[] |
| 4 | G객체≫와이어 | 터미널:연결된 와이어, 다이어그램:와이어[] |
| 5 | G객체≫노드≫함수 | 다이어그램:노드[], 다이어그램:모든 객체[] |
| 6 | G객체≫노드≫크기 조정 가능한 함수≫복합 연산 | 다이어그램:노드[], 다이어그램:모든 객체[] |
| 7 | G객체≫노드≫SubVI | 다이어그램:SubVI[], 다이어그램:노드[],다이어그램:모든 객체[] |
| 8 | G객체≫추상 다이어그램≫다이어그램≫최상위 다이어그램 | VI:블록다이어그램 |
| 9 | G객체≫장식≫텍스트 | 다이어그램:장식[], 다이어그램:모든 객체[] |
프런트패널 조직
다음 이미지는 일부 일반적인 프런트패널 객체를 보여줍니다.
| | |
| 1 컨트롤/인디케이터 | 2 프런트패널 |
다음 테이블은 위 이미지에서 객체에 대한 참조를 얻는데 사용 가능한 클래스 및 프로퍼티를 나열합니다.
| 클래스 계층구조 | 다음 객체 참조 반환 | |
| 1 | G객체≫컨트롤≫숫자형 | 패널:컨트롤[], 컨트롤 터미널:컨트롤 |
| 2 | G객체≫패널 | VI:프런트패널 |
케이스 구조 조직
다음 이미지는 케이스 구조를 구성하는 다양한 객체를 보여줍니다.
| | ||
| 1 터미널 | 4 선택자 터널 | 7 케이스 구조 |
| 2 터널 | 5 선택자 라벨 | |
| 3 내부 터미널 | 6 다이어그램 |
다음 테이블은 위 이미지에서 객체에 대한 참조를 얻는데 사용 가능한 클래스 및 프로퍼티를 나열합니다.
| 클래스 계층구조 | 다음 객체 참조 반환 | |
| 1 | G객체≫터미널≫외부 터미널 | 터널:외부 터미널 |
| 2 | G객체≫터널 | 구조:터널[] |
| 3 | G객체≫터미널≫내부 터미널 | 터널:내부 터미널[] |
| 4 | G객체≫터널≫조건 터널≫선택자 터널 | 구조:터널[], 케이스 구조:선택자 |
| 5 | 해당 없음 | 케이스 구조:프레임 이름 * |
| 6 | G객체≫추상 다이어그램≫다이어그램 | 구조:다이어그램[], 멀티프레임 구조:프레임[] |
| 7 | G객체≫노드≫구조≫멀티프레임 구조≫케이스 구조 | 다이어그램:모든 객체[], 다이어그램:노드[] |
* LabVIEW는 케이스 구조에서 선택자 라벨에 대한 참조는 제공하지 않습니다. 케이스 구조:프레임 이름 프로퍼티는 다른 케이스와 관련된 다이어그램에 대한 참조 배열보다는 문자열 배열을 반환합니다. 케이스 구조:프레임 인덱스 얻기 메소드와 함께 이러한 이름 문자열을 사용하여, 멀티프레임 구조:프레임[] 프로퍼티에 의해 반환된 배열 내에 있는 특정 다이어그램의 인덱스를 얻을 수 있습니다.
Structures - Case Structure VI는 VI 스크립팅을 사용하여 케이스 구조 조직의 구성요소에 접근하는 방법을 보여줍니다.
For 루프 조직
다음 이미지는 For 루프를 구성하는 다양한 객체를 보여줍니다.
| | ||
| 1 For 루프 | 5 외부 터미널 | 9 왼쪽 시프트 레지스터 |
| 2 카운트 터미널 (N) | 6 내부 터미널 | 10 오른쪽 시프트 레지스터 |
| 3 터미널 (i) | 7 루프 터널 | 11 다이어그램 |
| 4 조건 터미널 | 8 오토인덱싱 루프 터널 |
다음 테이블은 위 이미지에서 객체에 대한 참조를 얻는데 사용 가능한 클래스 및 프로퍼티를 나열합니다.
| 클래스 계층구조 | 다음 객체 참조 반환 | |
| 1 | G객체≫노드≫구조≫루프≫For 루프 | 다이어그램:모든 객체[], 다이어그램:노드[] |
| 2 | G객체≫터널 | For 루프:루프 카운트 |
| 3 | G객체≫터미널 | 루프:루프 카운터 |
| 4 | G객체≫터미널 | For 루프:루프 끝 참조 |
| 5 | G객체≫터미널≫외부 터미널 | 터널:외부 터미널 |
| 6 | G객체≫터미널≫내부 터미널 | 터널:내부 터미널[] |
| 7 | G객체≫터널≫루프 터널 | 구조:터널[] |
| 8 | G객체≫터널≫루프 터널 | 구조:터널[], 루프 터널:인덱스 모드 = 1 (오토인덱싱일 때) |
| 9 | G객체≫터널≫왼쪽 시프트 레지스터 | 오른쪽 시프트 레지스터:왼쪽 레지스터[] |
| 10 | G객체≫터널≫오른쪽 시프트 레지스터 | 루프:시프트 레지스터[], 왼쪽 시프트 레지스터:오른쪽 시프트 레지스터 |
| 11 | G객체≫추상 다이어그램≫다이어그램 | 루프:다이어그램, 구조:다이어그램[] |
Structures - For Loop VI는 VI 스크립팅을 사용하여 For 루프 조직의 구성요소에 접근하는 방법을 보여줍니다.
플랫 시퀀스 구조 조직
다음 이미지는 플랫 시퀀스 구조를 구성하는 다양한 객체를 보여줍니다.
| | ||
| 1 플랫 시퀀스 | 4 플랫 시퀀스 바깥쪽 터널 | 7 플랫 시퀀스 안쪽 터널 |
| 2 플랫 시퀀스 프레임 | 5 플랫 시퀀스 바깥쪽 터널의 외부 터미널 | 8 플랫 시퀀스 안쪽 터널의 왼쪽 터미널 |
| 3 다이어그램 | 6 플랫 시퀀스 바깥쪽 터널의 내부 터미널 | 9 플랫 시퀀스 안쪽 터널의 오른쪽 터미널 |
다음 테이블은 위 이미지에서 객체에 대한 참조를 얻는데 사용 가능한 클래스 및 프로퍼티를 나열합니다.
| 클래스 계층구조 | 다음 객체 참조 반환 | |
| 1 | G객체≫플랫 시퀀스 | 다이어그램:모든 객체[] |
| 2 | 일반≫플랫 시퀀스 프레임 | 플랫 시퀀스:프레임[], 다이어그램:발생 순서[], 플랫 시퀀스 바깥쪽 터널:프레임, 플랫 시퀀스 안쪽 터널:왼쪽 프레임, 플랫 시퀀스 안쪽 터널:오른쪽 프레임 |
| 3 | G객체≫추상 다이어그램≫다이어그램 | 플랫 시퀀스 프레임:다이어 그램 |
| 4 | G객체≫플랫 시퀀스 터널 | 플랫 시퀀스 프레임:바깥쪽 터널[] |
| 5 | G객체≫터미널 | 플랫 시퀀스:터미널[], 플랫 시퀀스 바깥쪽 터널:외부 터미널 |
| 6 | G객체≫터미널 | 플랫 시퀀스 바깥쪽 터널:내부 터미널 |
| 7 | G객체≫플랫 시퀀스 안쪽 터널 | 플랫 시퀀스 프레임:왼쪽 안쪽 터널[], 플랫 시퀀스 프레임:오른쪽 안쪽 터널[] |
| 8 | G객체≫터미널 | 플랫 시퀀스 터널:왼쪽 터미널 |
| 9 | G객체≫터미널 | 플랫 시퀀스 터널:오른쪽 터미널 |
Structures - Flat Sequence Structure VI는 VI 스크립팅을 사용하여 플랫 시퀀스 구조 조직의 구성요소에 접근하는 방법을 보여줍니다.
추가 정보
이 토픽에서는 가장 일반적인 VI 객체의 일부만 집중적으로 다루어집니다. 여기서 다루지 않은 객체에 대한 정보는 다음 리소스를 참고하십시오:
- 일반:클래스 이름 ― 이 프로퍼티를 사용하여 모든 VI 프로젝트의 클래스 이름을 찾습니다. 그런 다음 VI 서버 클래스 계층구조 내에서 클래스 이름을 찾아 객체에 대한 전체 클래스 계층구조를 식별합니다.
- VI 서버 클래스 계층구조 ― 특정 객체의 클래스를 아는 경우, VI 서버 클래스 계층구조를 통해 해당 객체의 다른 구성요소에 대한 참조를 제공하는 프로퍼티나 메소드를 알 수 있습니다.