사용자 컨트롤과 인디케이터를 사용하여 프런트패널 객체 세트를 확장합니다. 내장된 LabVIEW 컨트롤과 인디케이터로부터 어플리케이션을 위한 다양한 모양의 사용자 지정 사용자 인터페이스 구성요소를 생성할 수 있습니다. 생성한 사용자 컨트롤 또는 인디케이터를 디렉토리 또는 LLB에 저장한 후 다른 프런트패널에서 사용자 컨트롤 또는 인터케이터를 사용할 수 있습니다. 또한, 사용자 컨트롤 또는 인디케이터를 위한 아이콘을 생성하고 컨트롤 팔레트에 추가할 수 있습니다. 사용자 정의 컨트롤과 인디케이터를 생성하기 전에 유의점 및 권장사항을 참조하십시오.

타입 정의와 엄격한 타입 정의를 사용하여 사용자 컨트롤 또는 인디케이터의 모든 인스턴스를 저장된 사용자 컨트롤 또는 인디케이터 파일에 링크합니다. 저장된 사용자 컨트롤 또는 인디케이터 파일만을 편집하여 사용자 컨트롤 또는 인디케이터의 모든 인스턴스를 변경할 수 있으며, 이는 여러 VI에서 같은 사용자 컨트롤 또는 인디케이터를 사용하는 경우에 유용합니다.

노트 또한, X컨트롤을 사용하여 LabVIEW에서 복잡한 컨트롤과 인디케이터를 디자인하고 생성할 수 있습니다. 사용자 컨트롤과는 달리, X컨트롤은 배경에서 실행되는 VI로 정의된 다이나믹 런타임과 편집 모드를 가지고 있습니다. LabVIEW Professional Development System에서만 X컨트롤을 생성하고 편집할 수 있습니다. VI에 X컨트롤이 있을 경우, 모든 LabVIEW 패키지에서 그 VI를 실행할 수 있습니다.

컨트롤 편집기 윈도우 사용하기

컨트롤 편집기 윈도우를 사용하여 컨트롤과 인디케이터를 사용자 정의하며 LabVIEW 클래스의 프라이빗 데이터 컨트롤을 정의합니다. 예를 들어, 컨트롤 또는 인디케이터의 크기, 색, 원소의 상대적인 위치를 변경하고, 컨트롤이나 인디케이터에 이미지를 반입할 수 있습니다.

다음과 같은 방법으로 컨트롤 편집기 윈도우를 열 수 있습니다:

  • 프런트패널 컨트롤 또는 인디케이터에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 고급≫사용자 정의를 선택합니다.
  • 위치 도구를 사용하여 프런트패널에서 선택한 컨트롤 또는 인디케이터에서 편집≫컨트롤 사용자 정의를 선택합니다.
  • 새로 만들기 대화 상자를 사용합니다.
  • 기존 컨트롤이나 컨트롤 템플릿에서 마우스 오른쪽 버튼을 클릭하고 열기를 선택합니다.
  • 프로젝트 탐색기 윈도우의 내 컴퓨터에서 마우스 오른쪽 버튼을 클릭한 후, 바로 가기 메뉴에서 새로 만들기≫타입 정의를 선택합니다.
  • LabVIEW 클래스를 생성하고 프라이빗 데이터 컨트롤을 더블 클릭합니다.
    노트 클래스 프라이빗 데이터 컨트롤을 정의할 경우, 컨트롤 편집기 윈도우가 자동으로 블록다이어그램의 클래스 프라이빗 데이터의 클러스터와 함께 열립니다. 또한 LabVIEW는 컨트롤 편집기 윈도우의 링 컨트롤을 클래스 프라이빗 데이터에 기본으로 하며 변경할 수 없습니다.
  • 프런트패널 또는 블록다이어그램의 타입 정의 또는 엄격한 타입 정의의 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의 열기를 선택합니다.

컨트롤 편집기 윈도우는 프런트패널처럼 보이지만, 단일 컨트롤과 인디케이터의 사용자 정의를 위해서만 사용합니다. LabVIEW 클래스의 경우, 단일 컨트롤은 클러스터여야 합니다. 컨트롤 편집기 윈도우는 블록다이어그램이 없으며 실행되지 않습니다.

컨트롤 편집기 윈도우는 하나의 컨트롤 또는 인디케이터만 포함할 수 있습니다. 다른 서브컨트롤 또는 서브인디케이터를 가진 배열 또는 클러스터의 컨트롤이나 인디케이터를 사용자 정의할 수 있습니다. 배열이나 클러스터 자체는 단일 컨트롤입니다. 컨트롤 또는 인디케이터를 배열 또는 클러스터에 집어넣고 빼는 동안에는 컨트롤 편집기 윈도우의 도구 모음에 유효하지 않은 컨트롤 버튼이 나타납니다. 유효하지 않은 컨트롤 버튼을 클릭하여 에러 리스트 윈도우에 에러의 설명을 디스플레이합니다.

컨트롤 편집기 윈도우 도구 모음의 모드 인디케이터 버튼은 편집 모드인지 사용자 정의 모드인지 보여줍니다. 이 버튼을 클릭하여 두 가지 모드 사이에서 토글합니다. 또한 수행≫사용자 정의 모드로 변경 또는 수행≫편집 모드로 변경을 선택하여 모드 사이를 전환할 수 있습니다. 컨트롤 편집기 윈도우는 편집 모드로 열립니다.

프런트패널의 편집 모드와 마찬가지로, 편집 모드를 사용하여 컨트롤 또는 인디케이터의 크기나 색을 변경하고 바로 가기 메뉴에서 옵션을 선택합니다

컨트롤 또는 인디케이터의 개별 부분을 변경하여 컨트롤 또는 인디케이터를 포괄적으로 변경할 때 사용자 정의 모드를 사용합니다.

사용자 정의 모드 바로 가기 메뉴

사용자 정의 모드에서 각 부분의 바로 가기 메뉴는 컨트롤 또는 인디케이터 전체의 바로 가기 메뉴를 대체합니다. 다른 부분은 다른 바로 가기 메뉴를 가집니다. 바로 가기 메뉴를 사용하여 다음 작업을 수행합니다:

  • 사용자 컨트롤 또는 인디케이터에 추가된 장식 팔레트의 객체와 같은 외관 부분을 사용자 정의합니다.
  • 이름 라벨과 같은 텍스트 부분을 사용자 정의합니다.
  • 슬라이드 컨트롤의 디지털 디스플레이를 위해 사용되는 숫자형 컨트롤과 같은 부분으로 사용되는 컨트롤 또는 인디케이터를 사용자 정의합니다. 노브, 미터 및 차트도 디지털 디스플레이를 위해 숫자 컨트롤을 사용합니다. 일부 컨트롤은 좀 더 복잡합니다. 예를 들면, 그래프는 커서 디스플레이 부분에 트리 컨트롤을 사용합니다.

컨트롤 및 인디케이터의 개별 부분 사용자 정의하기

컨트롤 또는 인디케이터의 개별 부분

모든 컨트롤과 인디케이터는 작은 부분으로 구성되어 있습니다. 예를 들어 다음 그림은 슬라이드 컨트롤의 개별 부분을 보여줍니다.

컨트롤 편집기 윈도우에서 사용자 정의 모드로 전환하면 컨트롤 또는 인디케이터의 부분은 개별로 독립됩니다. 다른 부분에 영향을 주지 않고 각 부분을 변경할 수 있습니다. 사용자 정의 모드는 숫자 컨트롤에서 이름 라벨 또는 기수와 같은 편집 모드에서 보이지 않았던 부분들을 포함하여 컨트롤 또는 인디케이터의 모든 부분을 보여줍니다. 컨트롤 또는 인디케이터의 부분이 서로 떨어지게 되므로 사용자 정의 모드에서는 컨트롤 또는 인디케이터의 값을 수행하거나 변경할 수 없습니다.

사용자 정의 모드에서 위치 도구를 사용하여 두 개 또는 그 이상의 컨트롤 또는 인디케이터의 부분을 선택할 수 있으며, 도구 모음에서 객체 정렬, 객체 간격 조절, 순서 재설정 풀다운 메뉴를 사용하여 각 부분을 다시 정렬할 수 있습니다.

컨트롤 부분 윈도우

윈도우≫부분 윈도우 보이기를 선택하여 컨트롤 부분 윈도우를 디스플레이합니다. 컨트롤 부분 윈도우를 사용하여 컨트롤 또는 인디케이터의 개별 부분을 크기 조절하고 위치시킵니다. 컨트롤 부분 윈도우는 컨트롤 또는 인디케이터의 부분을 확인하고 픽셀 단위로 각 부분의 정확한 위치와 크기를 보여줍니다.

컨트롤 부분 윈도우의 현재 부분 섹션은 컨트롤 편집기 윈도우 안에서 선택된 부분의 이미지와 이름을 포함합니다. 현재 부분 디스플레이를 클릭하여 컨트롤 또는 인디케이터의 모든 부분을 디스플레이하고 그 중에서 선택합니다. 현재 부분 증가 또는 감소 화살표를 클릭하여 컨트롤 또는 인디케이터의 부분을 스크롤합니다.

컨트롤 편집기 윈도우에서 부분을 이동하거나 크기를 조정할 때, LabVIEW는 컨트롤 부분 윈도우의 현재 부분부분 위치와 차원 섹션에 위치와 크기를 업데이트합니다. 또한 부분 위치와 차원 섹션에 직접 위치와 크기 값을 입력하여 컨트롤 편집기 윈도우에서 부분을 이동하고 크기를 조정할 수 있습니다. 이는 두 부분을 정확히 같은 크기로 만들거나 한 부분을 다른 부분에 맞춰 정렬해야 할 때 유용합니다. 부분 위치와 차원 섹션에 위치와 크기 값을 입력한 후에, <Enter> 키를 누르거나 마우스 왼쪽 버튼을 클릭하면 변경이 적용됩니다.

사용자 컨트롤 및 인디케이터에 외관 부분 추가하기

편집 모드 또는 사용자 정의 모드에서 사용자 컨트롤 또는 인디케이터에 그래픽, 텍스트, 장식을 추가하기 위해 컨트롤 편집기 윈도우를 사용할 수 있습니다. 클립보드에서 그래픽이나 텍스트를 붙여넣고 라벨링 도구를 사용하여 라벨을 생성하거나 장식 팔레트에서 장식을 선택하면, 객체는 컨트롤 또는 인디케이터의 새로운 장식 부분이 되고 프런트패널에 컨트롤 또는 인디케이터를 놓았을 때 컨트롤이나 인디케이터와 함께 나타나게 됩니다. 컨트롤 편집기 윈도우에서 새로운 장식 부분을 이동, 크기 조정, 계층 순서 변경, 또는 대체할 수 있습니다. 프런트패널에서 사용자 컨트롤 또는 인디케이터를 사용할 때, 추가한 모든 장식 부분의 크기를 변경할 수 있습니다. 그러나 추가된 장식 부분을 이동할 수는 없습니다.

외관 부분을 위한 사용자 정의 모드 바로 가기 메뉴 아이템

외관 부분은 단일 그래픽, 다른 시간에 디스플레이되는 여러 그래픽 및 각각 독립적인 여러 그래픽을 가질 수 있습니다. 외관 부분을 사용자 정의하려면, 컨트롤 편집기 윈도우를 사용자 정의 모드로 놓고 사용자 정의하려는 외관 부분에서 마우스 오른쪽 버튼을 클릭합니다. 바로 가기 메뉴 아이템은 외관 부분의 타입에 따라 사용 가능 여부가 결정됩니다.

단일 그래픽의 외관 부분

단일 그래픽의 외관 부분을 위한 바로 가기 메뉴는 다음 아이템을 포함합니다.:

  • 클립보드에 복사—클립보드에 해당 부분의 그래픽을 복사하여 놓습니다. 클립보드에 형태를 복사한 후, 부분에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 클립보드로부터 그림 반입을 선택하여 부분 안에 형태를 반입합니다. 외관 부분을 사용자 정의하기 위해 단순한 형태가 필요할 때, 그래픽 어플리케이션에서 생성하지 않고 다른 컨트롤 또는 인디케이터의 내장 부분으로부터 형태를 복사하는 것을 고려하십시오. 예를 들면, 단순한 사각 형태가 필요하면, 틀에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 클립보드에 복사를 선택합니다. 내장 부분이나 장식에서 가져온 그래픽은 그래픽 어플리케이션에서 만든 그래픽보다 크기 조정하기 좋습니다. 예를 들어 그래픽 어플리케이션에서 그린 사각형을 크기 조정하면 사각형은 균일하게 그 영역을 넓혀 증가하고 경계가 두꺼워집니다. 그러나 내장 컨트롤 또는 인디케이터의 부분에서 복사한 사각형을 크기 조정하면 그 사각형은 같은 얇은 경계를 유지합니다. 내장 컨트롤 또는 인디케이터에서 복사한 부분은 컬러 모니터와 흑백 모니터에서 유사한 모양을 가집니다. 추가적으로 색칠 도구를 사용하여 내장 부분 및 장식에서 복사한 그래픽에 색을 추가할 수 있습니다. 다른 소스에서 반입한 그래픽에서는 색이 그래픽 정의의 일부이기 때문에 그래픽의 색을 변경할 수 없습니다.
  • 클립보드로부터 그림 반입—외관 부분의 현재 그래픽을 클립보드에 있는 그래픽으로 대체합니다. 예를 들면, 불리언 스위치의 열기와 닫기 밸브의 그래픽을 반입할 수 있습니다. 클립보드가 그래픽을 포함하고 있지 않으면 클립보드로부터 그림 반입 아이템은 사용할 수 없습니다.
  • 클립보드로부터 같은 크기로 반입—현재 그래픽을 클립보드에 있는 그래픽으로 대체하고 클립보드 그래픽을 줄이거나 늘려 맞추어 부분의 원래 크기를 유지합니다. 클립보드가 그래픽을 포함하고 있지 않으면 클립보드로부터 같은 크기로 반입 아이템은 사용할 수 없습니다.
  • 파일로부터 반입—외관 부분의 현재 그래픽을 파일 대화 상자에서 선택한 그래픽으로 대체합니다.
  • 파일로부터 같은 크기로 반입—현재 그래픽을 파일 대화 상자에서 선택한 그래픽으로 대체하고 파일의 그래픽을 줄이거나 늘려 맞추어 부분의 원래 크기를 유지합니다.
  • 되돌리기—부분의 위치를 변경하지 않고 원래의 모양으로 부분을 다시 복원합니다. 프런트패널 컨트롤 또는 인디케이터를 위한 컨트롤 편집기 윈도우를 디스플레이하고 부분을 변경하는 경우, 바로 가기 메뉴에서 되돌리기를 선택하면 부분을 프런트패널에서 보이는 그대로 되돌립니다. 컨트롤 편집기 윈도우에서 사용자 컨트롤 또는 인디케이터를 열면 되돌리기 아이템은 사용할 수 없습니다.
  • 원래 크기—부분의 그래픽을 원래의 크기로 복원합니다. 이는 다른 어플리케이션에서 반입한 후 크기를 조정한 그래픽에 유용합니다. 다른 어플리케이션에서 반입된 일부 그래픽은 크기를 조정하면 원본만큼 좋게 보이지 않습니다. 그래픽의 모양을 개선하기 위해 반입된 그래픽을 원래의 크기로 다시 복원하기를 원할 경우도 있습니다. 그래픽을 반입하지 않은 경우, 원래 크기 아이템은 사용할 수 없습니다.
노트 또한, 장식을 선택한 후 편집≫붙여넣기를 선택하여 장식을 클립보드의 이미지로 대체할 수 있습니다. 장식을 파일의 이미지로 대체하려면, 장식에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴의 파일로부터 반입을 선택합니다.

여러 의존 그래픽의 외관 부분

일부 외관 부분은 다른 시간에 디스플레이되는 여러 개의 의존 그래픽을 가집니다. 다른 그래픽은 같은 크기이고 같은 색을 사용합니다. 외관 부분의 현재 그래픽을 이동 또는 크기 조정할 때 다른 그래픽 또한 같은 정도로 이동하거나 변경한 크기에 비례하여 크기가 변경됩니다. 예를 들면 불리언 스위치는 4개의 다른 그래픽을 가집니다. 첫번째 그래픽은 거짓 상태를 보여줍니다. 두번째 그래픽은 참 상태를 보여줍니다. 세번째 그래픽은 놓을 때 스위치 상태를 보여주는데, 이것은 참에서 거짓으로 전이 상태입니다. 네번째 그래픽은 참에서 거짓으로 전이 상태인 놓을 때 래치 상태를 보여줍니다. 불리언 컨트롤이 놓을 때 스위치 상태 또는 놓을 때 래치 상태이면 불리언 컨트롤의 값은 마우스 버튼을 놓을 때까지 변경되지 않습니다. 마우스 버튼을 클릭하고 마우스를 놓을 때까지의 시간 사이에 불리언 컨트롤은 전이 상태로 세번째 또는 네번째 그래픽을 보여줍니다.

여러 의존하는 그래픽의 외관 부분을 위한 바로 가기 메뉴는 그림 아이템 아이템과 단일 그래픽의 외관 부분을 위해 사용 가능한 모든 아이템을 포함합니다. 바로 가기 메뉴에서 그림 아이템을 선택하면 외관 부분에 속하는 모든 그래픽을 디스플레이합니다. 현재 그래픽 아이템은 어두운 경계로 둘러싸여집니다. 그래픽을 반입하면 현재 그래픽 아이템만 변경됩니다. 다른 그래픽 아이템 중의 하나를 위해 그래픽을 반입하려면, 부분에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 그림 아이템을 선택하고, 그래픽 아이템을 선택하여 새 그래픽을 반입합니다.

여러 독립되는 그래픽의 외관 부분

하나 이상의 그래픽 외관 부분은 각각 다른 색과 다른 크기의 그래픽을 가질 수 있습니다. 예를 들면 슬라이드는 여러 값의 슬라이드에서 어떤 슬라이드가 활성화되어 있는지 나타내기 위해 서로 다른 크기의 그래픽 두 개를 사용합니다. 여러 독립적인 그래픽의 외관 부분을 위한 바로 가기 메뉴는 독립적인 크기 아이템과 단일 및 여러 의존 그래픽의 외관 부분을 위해 사용 가능한 모든 아이템을 포함합니다. 바로 가기 메뉴에서 독립적인 크기 아이템을 선택하여 외관 부분에서 다른 그래픽의 변경없이 독립적으로 각 그래픽을 이동 및 크기 조정할 수 있도록 옆에 확인 표시를 합니다.

텍스트 부분

텍스트 부분은 라벨과 같은 텍스트를 가진 그래픽입니다. 텍스트 부분을 위한 바로 가기 메뉴는 편집 모드의 프런트패널에서 텍스트 원소를 위해 사용 가능한 아이템 및 단일 그래픽의 외관 부분을 위해 사용 가능한 아이템 모두를 포함합니다. 컨트롤 부분 윈도우는 텍스트 자체가 아닌 텍스트 부분을 위한 배경 그래픽만 보여줍니다. 텍스트가 아닌 배경 그래픽만을 사용자 정의할 수 있습니다.

불리언 컨트롤과 인디케이터를 위한 편집 모드 옵션

컨트롤 편집기 윈도우가 사용자 정의 모드일 때만 그래픽을 반입할 수 있는 다른 컨트롤과 인디케이터와는 달리, 컨트롤 편집기 윈도우가 편집 모드일 때에도 그래픽을 불리언 컨트롤과 인디케이터에 반입할 수 있습니다. 편집 모드의 컨트롤 편집기 윈도우에서 불리언 컨트롤 또는 인디케이터를 마우스 오른쪽 버튼으로 클릭하면, 바로 가기 메뉴는 클립보드로부터 그림 반입 아이템뿐만 아니라 편집 모드의 프런트패널에서 불리언 컨트롤과 인디케이터에 사용 가능한 모든 아이템을 나타냅니다.

저장된 사용자 컨트롤 또는 인디케이터 파일에 사용자 컨트롤 및 인디케이터 링크하기

사용자 컨트롤 또는 인디케이터를 VI에 놓을 때, 저장한 사용자 컨트롤 또는 인디케이터와 VI의 사용자 컨트롤 또는 인디케이터의 인스턴스는 서로 연결되어 있지 않습니다. 사용자 컨트롤 또는 인디케이터의 각 인스턴스는 개별적이고 독립적인 복사본입니다. 그렇기 때문에, 사용자 컨트롤 또는 인디케이터 파일을 변경해도 이미 사용자 컨트롤 또는 인디케이터를 사용한 VI에는 영향을 주지 않습니다. 사용자 컨트롤 또는 인디케이터의 인스턴스를 사용자 컨트롤 또는 인디케이터 파일에 연결하려는 경우, 사용자 컨트롤 또는 인디케이터를 타입 정의 또는 엄격한 타입 정의로 저장합니다. 타입 정의 또는 엄격한 타입 정의의 모든 인스턴스는 해당 인스턴스를 생성한 원래 파일에 링크되어 있습니다.

사용자 컨트롤 또는 인디케이터를 타입 정의 또는 엄격한 타입 정의로 저장할 때, 타입 정의 또는 엄격한 타입 정의에 데이터 타입을 변경하면 그것을 사용하는 모든 VI의 타입 정의 또는 엄격한 타입 정의의 모든 인스턴스에 영향을 줍니다. 또한, 엄격한 타입 정의의 모양 변화는 프런트패널의 엄격한 타입 정의의 모든 인스턴스에 영향을 줍니다.

타입 정의와 엄격한 타입 정의

타입 정의와 엄격한 타입 정의를 사용하여 사용자 컨트롤 또는 인디케이터의 모든 인스턴스를 저장된 사용자 컨트롤 또는 인디케이터 파일에 링크합니다. 저장된 사용자 컨트롤 또는 인디케이터 파일만을 편집하여 사용자 컨트롤 또는 인디케이터의 모든 인스턴스를 변경할 수 있으며, 이는 여러 VI에서 같은 사용자 컨트롤 또는 인디케이터를 사용하는 경우에 유용합니다.

타입 정의

타입 정의는 사용자 컨트롤 또는 인디케이터의 각 인스턴스를 위한 정확한 데이터 타입을 확인합니다. 타입 정의의 데이터 타입을 변경하면, 타입 정의의 모든 인스턴스는 자동으로 업데이트됩니다. 즉, 타입 정의 인스턴스의 데이터 타입은 그 타입 정의가 사용되고 있는 각 VI안에서 변경됩니다. 그러나 타입 정의는 데이터 타입만 정의하기 때문에, 데이터 타입의 일부인 값만 업데이트됩니다. 예를 들어, 숫자형 컨트롤에서의 데이터 범위는 데이터 타입의 부분이 아닙니다. 그러므로 숫자형 컨트롤의 타입 정의는 그 타입 정의의 인스턴스에 대한 데이터 범위를 정의하지 않습니다. 또한, 링 컨트롤에서 아이템 이름은 데이터 타입을 정의하지 않기 때문에 타입 정의에서 링 컨트롤 아이템 이름을 변경해도 타입 정의 인스턴스에서 아이템 이름은 변경되지 않습니다. 그러나 열거형 타입 컨트롤을 위한 타입 정의에서 아이템 이름을 변경하면, 아이템 이름이 데이터 타입의 일부이기 때문에 인스턴스는 업데이트됩니다. 타입 정의의 인스턴스는 슬라이드 대신에 노브를 사용하는 것과 같이 컨트롤 또는 인디케이터 고유의 스타일, 캡션, 라벨, 설명, 팁 상자, 기본값, 크기, 색을 가질 수 있습니다.

타입 정의에서 데이터 타입을 변경하면, LabVIEW는 가능한 한 타입 정의 인스턴스의 이전 기본값을 새 데이터 타입으로 변환합니다. 숫자형 컨트롤 및 인디케이터를 문자열 컨트롤 및 인디케이터로 대체하는 것처럼 데이터 타입이 호환되지 않는 타입으로 변경되면, LabVIEW는 그 인스턴스의 기본값을 보존할 수 없게 됩니다. 타입 정의의 데이터 타입이 이전 타입 정의와 호환되지 않는 데이터 타입으로 변경되면, LabVIEW는 사용자가 .ctl 파일에서 지정한 기본값을 인스턴스의 기본값으로 설정합니다. 기본값을 지정하지 않는 경우, LabVIEW는 그 데이터 타입의 기본값을 사용합니다. 예를 들어 숫자에서 문자열 타입으로 타입 정의를 변경했다면, LabVIEW는 이전 숫자 데이터 타입과 관련된 모든 기본값을 빈 문자열로 대체합니다.

엄격한 타입 정의

엄격한 타입 정의는 캡션, 라벨, 설명, 팁 상자, 기본값을 제외한 인스턴스의 모든 것을 엄격한 타입 정의와 동일하도록 합니다. 엄격한 타입 정의의 데이터 타입은 엄격한 타입 정의를 사용한 모든 곳에 똑같이 남게 됩니다. 엄격한 타입 정의는 또한 링 컨트롤의 아이템 이름, 숫자 컨트롤의 범위 확인과 같이 다른 값도 정의합니다. 엄격한 타입 정의에서는 VI 서버 프로퍼티 중 보이기, 비활성화, 키 포커스, 깜박거림, 위치, 경계와 같이 컨트롤 및 인디케이터의 모양에 영향을 주는 요소만을 사용할 수 있습니다.

노트 상수를 엄격한 타입 정의에 링크해도 상수는 링크가 엄격하지 않은 것처럼 동작합니다. 엄격한 타입 정의에서 타입 정의의 모든 인스턴스는 동일한 외양적 속성을 유지해야 합니다. 그러나 대부분의 외양적 속성은 블록다이어그램에서 유효하지 않습니다. 상수는 블록다이어그램에만 존재하기 때문에 외양적 속성을 유지하지 않습니다.

인스턴스와 엄격한 타입 정의 사이의 링크를 제거하지 않으면 엄격한 타입 정의 인스턴스의 자동 업데이트를 방지할 수 없습니다.

타입 정의와 엄격한 타입 정의 생성 및 편집하기

프런트패널 또는 블록다이어그램에서 타입 정의 또는 엄격한 타입 정의를 생성하고 편집할 수 있습니다. 컨트롤 편집기 윈도우를 사용하여 그리고 다른 컨트롤과 인디케이터를 사용자 정의하는데 사용하는 것과 동일한 기술을 사용하여 타입 정의 및 엄격한 타입 정의를 사용자 정의합니다.

타입 정의 인스턴스의 자동 업데이트 방지하기

인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 타입 정의로부터 자동 업데이트 바로 가기 메뉴 아이템 옆의 확인 표시를 제거해 타입 정의의 데이터 타입이 변경되었을 때 타입 정의의 개별 인스턴스가 자동적으로 업데이트 되는 것을 방지할 수 있습니다. 타입 정의의 데이터 타입은 변경되나 인스턴스와 타입 정의 사이의 링크는 보존하려할 때 타입 정의로부터 자동 업데이트 아이템의 확인 표시를 삭제하여 인스턴스의 자동 업데이트를 방지합니다. 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의로부터 연결 끊기를 선택하여 인스턴스와 타입 정의의 링크를 제거할 수 있습니다.

노트 인스턴스와 엄격한 타입 정의 사이의 링크를 제거하지 않으면 엄격한 타입 정의 인스턴스의 자동 업데이트를 방지할 수 없습니다.

타입 정의 인스턴스의 자동 업데이트를 비활성화하고 인스턴스의 데이터 타입을 변경하거나 타입 정의의 테이터 타입을 변경하면, 인스턴스는 회색화되어 나타나고 실행 버튼이 깨져 나타납니다. 수동으로 인스턴스를 업데이트하려면, 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 타입 정의로부터 검토 및 업데이트를 선택하여 타입 정의로부터 검토 및 업데이트 대화 상자를 디스플레이합니다. 인스턴스를 업데이트하지 않고 실행되도록 어플리케이션을 활성화하려면, 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의로부터 연결 끊기를 선택하여 인스턴스와 타입 정의 사이의 링크를 제거합니다.

수동으로 타입 정의 인스턴스 업데이트하기

타입 정의의 인스턴스가 회색화되어 나타나는 경우, 타입 정의로부터 검토 및 업데이트 대화 상자를 사용하여 반드시 인스턴스를 수동으로 업데이트해야 합니다.

타입 정의의 데이터 타입을 변경하면, LabVIEW는 자동으로 타입 정의의 모든 인스턴스에 대한 업데이트를 시도합니다. 그러나, 인스턴스를 업데이트할 때 LabVIEW가 이전 기본값을 업데이트된 컨트롤 또는 상수에 맵핑할 수 없는 경우, LabVIEW는 이러한 인스턴스를 결정되지 않은 상태로 둡니다. 결정되지 않은 인스턴스는 비활성화되고, 이러한 인스턴스가 있는 VI의 실행 버튼은 깨져서 나타납니다. 데이터 맵핑 차이를 해결하려면 인스턴스를 수동으로 업데이트해야 합니다. 또는, 결정되지 않은 인스턴스와 타입 정의 사이의 링크를 제거하여 어플리케이션의 실행을 활성화할 수 있습니다.

인스턴스와 타입 정의 또는 엄격한 타입 정의 사이의 링크 제거하기

인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의로부터 연결 끊기를 선택하여 타입 정의 또는 엄격한 타입 정의의 인스턴스와 타입 정의 또는 엄격한 타입 정의 사이의 링크를 영구히 제거할 수 있습니다. 타입 정의 또는 엄격한 타입 정의로부터 연결을 끊으면 인스턴스의 데이터 타입에서 제한을 제거하여 인스턴스를 컨트롤 또는 인디케이터로 만듭니다.

타입 정의와 엄격한 타입 정의 사용 불가능

타입 정의 또는 엄격한 타입 정의의 각 인스턴스에서 인스턴스를 포함하는 VI는 타입 정의 또는 엄격한 타입 정의를 저장한 파일로의 연결을 유지합니다. 타입 정의 또는 엄격한 타입 정의의 인스턴스를 포함하는 VI가 실행되려면, VI는 반드시 사용 가능한 타입 정의 또는 엄격한 타입 정의를 포함한 파일을 가지고 있어야 합니다. VI를 열고 LabVIEW가 VI가 필요로 하는 타입 정의 또는 엄격한 타입 정의를 찾을 수 없는 경우, LabVIEW는 VI에서 타입 정의 또는 엄격한 타입 정의의 인스턴스를 비활성화시키고 실행 버튼은 깨져서 나타납니다. VI가 실행하도록 하려면 정확한 타입 정의 또는 엄격한 타입 정의를 찾아서 엽니다. 또는 비활성화된 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의로부터 연결 끊기를 선택하여 타입 정의 또는 엄격한 타입 정의와 인스턴스 사이의 링크를 영구히 제거할 수 있습니다.

타입 정의와 엄격한 타입 정의 사용하기

프런트패널 또는 블록다이어그램에 타입 정의 및 엄격한 타입 정의를 프런트패널 또는 블록다이어그램에 사용자 컨트롤 또는 인디케이터를 놓는 방법과 같은 방법으로 놓습니다. 타입 정의 또는 엄격한 타입 정의의 인스턴스에서 마우스 오른쪽 버튼을 클릭할 때, 바로 가기 메뉴는 타입 정의 옵션을 포함합니다. 인스턴스에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 타입 정의 열기를 선택하여 프런트패널 또는 블록다이어그램에서 타입 정의 또는 엄격한 타입 정의를 열 수 있습니다.

인스턴스의 왼쪽 위 코너에 표시되는 문양()으로 타입 정의 또는 엄격한 타입 정의의 인스턴스를 식별할 수 있습니다. 문양 위로 커서를 움직이면, 팁 상자가 타입 정의 또는 엄격한 타입 정의의 이름를 디스플레이합니다. 타입 정의를 변경하면 변경이 프런트패널 인스턴스에 영향을 주는 것과 같이 블록다이어그램에 상수로 놓은 인스턴스에 영향을 줍니다.

노트 엄격한 타입 정의를 변경하면, 블록다이어그램에서 상수로 놓은 인스턴스가 링크가 엄격하지 않은 것처럼 동작하며 LabVIEW는 데이터 타입 변경에서만 상수를 업데이트합니다. 예를 들어, 엄격한 타입 정의로 저장한 링 컨트롤의 문자열 값을 업데이트하면 LabVIEW는 문자열 값이 링 컨트롤의 데이터 타입 일부가 아니므로 블록다이어그램에 있는 엄격한 타입 정의의 인스턴스를 업데이트하지 않습니다.

클러스터 타입 정의와 엄격한 클러스터 타입 정의 사용하기

프런트패널에 클러스터 타입 정의와 엄격한 클러스터 타입 정의의 인스턴스를 놓으려면, 블록다이어그램에서 [이름으로 묶기] 함수와 [이름으로 풀기] 함수를 사용하여 클러스터의 원소에 접근합니다. 클러스터 순서로 클러스터 원소를 참조하는 [묶기] 함수 및 [풀기] 함수와는 다르게 [이름으로 묶기] 함수 및 [이름으로 풀기] 함수는 이름으로 클러스터의 원소를 참조합니다. 그러므로 클러스터 타입 정의 또는 엄격한 클러스터 타입 정의에 원소 순서를 다시 설정하거나 새로운 원소를 추가해도 VI는 깨지지 않습니다.

[이름으로 묶기] 함수 또는 [이름으로 풀기] 함수에 연결된 클러스터 타입 정의 또는 엄격한 클러스터 타입 정의로부터 원소를 삭제하려면 반드시 블록다이어그램을 변경해야 합니다. 없어진 원소의 참조는 유효하지 않게 되기 때문입니다. [이름으로 묶기] 함수와 [이름으로 풀기] 함수 안의 유효하지 않은 이름은 검정색으로 나타납니다. [이름으로 묶기] 함수 또는 [이름으로 풀기] 함수를 클릭하여 선택할 유효한 이름의 리스트를 디스플레이합니다.

클러스터 타입 정의 또는 엄격한 클러스터 타입 정의에서 컨트롤의 참조를 생성할 때, LabVIEW는 클러스터 순서를 사용하여 클러스터에서 참조가 어떤 컨트롤을 가리키는지 결정합니다. 이와 같은 동작 때문에, 클러스터 타입 정의나 엄격한 클러스터 타입 정의에서 컨트롤을 삭제하면, 삭제된 컨트롤을 가리키는 남은 참조가 이제 클러스터에서 다른 컨트롤을 가리킬 수 있습니다. 클러스터 타입 정의 또는 엄격한 클러스터 타입 정의에서 컨트롤을 삭제하는 경우, 클러스터에서 각 참조가 여전히 올바른 컨트롤을 가리키는지 확인합니다.