LabVIEW에서 불리언 컨트롤에는 설정 가능한 기계적 동작이 있으며, 이를 통해 오실로스코프 또는 멀티미터와 같은 물리적 인스트루먼트의 버튼과 유사하게 동작할 수 있습니다.

기계적 동작은 스위치래치의 두 가지로 분류됩니다. 스위치와 래치 동작은 모두 불리언 컨트롤의 값을 변경한다는 점에서 유사합니다. 두 동작은 컨트롤의 값을 이전 값으로 되돌리는 방식에서 차이가 납니다.

  • 스위치 작업—사용자만 컨트롤의 값을 이전 값으로 되돌릴 수 있도록 합니다.
  • 래치 작업—컨트롤을 읽는 VI가 컨트롤의 값을 이전 값으로 되돌릴 수 있도록 합니다. 또한 VI가 컨트롤을 읽기 전에는 사용자도 컨트롤의 값을 이전 값으로 되돌릴 수 있습니다.
    노트 래치 동작은 로컬 변수와 함께 사용할 수 없습니다. 이벤트 구조와 함께 사용되는 래치 동작의 터미널은 일반적으로 값 변경 이벤트 프레임 내부에 있습니다.
  • 불리언 컨트롤의 기계적 동작을 정의하려면, 컨트롤에서 마우스 오른쪽 버튼으로 클릭한 후 Mechanical Action 메뉴에서 동작을 선택합니다. 표 8. 불리언 컨트롤의 기계적 동작 스위치 동작과 래치 동작의 세 가지 타입에 대한 더 자세한 정보를 제공합니다.

    각 기계적 동작에 대한 테이블의 아이콘 내의 문양은 다음과 같은 의미를 가집니다:

  • m—컨트롤을 작동할 때 마우스 버튼의 모션.
  • v—컨트롤의 출력값.
  • RD—VI가 컨트롤을 읽는 시점.
  • 표 8. 불리언 컨트롤의 기계적 동작
    기계적 동작 동작 그림 동작
    누를 때 스위치 불리언 컨트롤에 대한 누를 때 스위치 기계적 동작의 동작을 보여줍니다.
    • 컨트롤을 클릭하면 바로 현재 값을 변경합니다.
    • 컨트롤을 다시 클릭할 때까지 새 값을 유지합니다.
    빛 스위치: 컨트롤을 스위치하면 바로 빛이 켜집니다. 컨트롤을 다시 전환할 때까지 빛은 그 상태를 유지합니다.
    놓을 때 스위치 불리언 컨트롤에 대해 놓을 때 스위치 기계적 동작의 동작을 보여줍니다.
    • 마우스 버튼을 놓을 때 현재 값을 변경합니다.
    • 컨트롤을 다시 클릭할 때까지 새 값을 유지합니다.
    확인란: 이 확인란은 마우스 버튼을 놓은 후에만 값을 변경합니다. 이렇게 하면 마우스 버튼을 놓기 전에 커서를 확인란에서 벗어나서 클릭한 후 선택한 사항을 다시 고려할 수 있습니다.
    놓을 때까지 스위치 불리언 컨트롤에 대해 놓을 때까지 스위치 기계적 동작의 동작을 보여줍니다.
    • 마우스 버튼을 누른 상태에서만 현재 값을 변경합니다.
    • 마우스 버튼을 놓을 때 이전 값으로 되돌아갑니다.
    도어벨: 버튼을 누르면 즉시 벨이 울립니다. 버튼을 놓을 때까지 계속 벨이 울립니다.
    누를 때 래치 불리언 컨트롤의 누를 때 래치 기계적 동작의 동작을 보여줍니다.
    • 컨트롤을 클릭하면 바로 현재 값을 변경합니다.
    • VI가 컨트롤을 읽은 후 이전 값으로 되돌아갑니다.
    긴급 정지 버튼: 버튼을 누르면 바로 시스템이 정지됩니다. 버튼은 시스템이 값의 변경을 읽은 즉시 리셋되므로 버튼을 다시 누를 수 있습니다.
    놓을 때 래치 불리언 컨트롤의 놓을 때 래치 기계적 동작의 동작을 보여줍니다.
    • 마우스 버튼을 놓을 때 현재 값을 변경합니다.
    • VI가 컨트롤을 읽은 후 이전 값으로 되돌아갑니다.
    닫기 버튼: 버튼은 마우스 버튼을 놓고 어플리케이션이 값의 변경을 읽은 후에만 프로그램을 닫습니다. 이렇게 하면 마우스 버튼을 놓기 전에 버튼에서 커서를 벗어나서 클릭한 후 선택한 사항을 다시 고려할 수 있습니다.
    놓을 때까지 래치 불리언 컨트롤의 놓을 때까지 래치 기계적 동작의 동작을 보여줍니다.
    • 마우스 버튼을 누른 상태에서만 현재 값을 변경합니다.
    • 마우스 버튼을 놓으면, VI가 컨트롤을 읽은 후 이전 값으로 돌아갑니다.
    로봇 작동 컨트롤: 작동 컨트롤이 눌려져 있는 동안 로봇 시스템에 로봇을 작동하도록 명령합니다. 컨트롤을 놓으면, 로봇 시스템은 컨트롤을 읽고 로봇은 작동하지 않는 이전 상태로 돌아갑니다.
    노트 바로 가기 키를 불리언 컨트롤의 기계적 동작에 할당하면, 키보드가 그 값을 토글합니다. 예를 들어, 불리언 컨트롤에 대해 바로 가기 키를 할당하고 해당 바로 가기 키를 래치 기계적 동작 중에 하나로 설정하면, 읽을 때 버튼이 언래치됩니다.
    노트 로컬 변수가 있는 객체에서는 래치 작업을 사용할 수 없습니다. 불리언 값을 래치 기계적 동작으로 설정하는 경우, 프로퍼티와 값(신호) 프로퍼티는 VI가 실행 중이거나 실행되도록 예약되어 있을 때와 같이 유휴 상태에 있지 않은 경우에 에러를 반환합니다. 래치 기계적 동작으로 설정된 불리언 값이 있을 때 경합 조건이 발생할 수 있기 때문에 래치 기계적 동작으로 설정된 불리언 값을 프로그램적으로 읽을 수 없습니다.
    노트 (FPGA Module) FPGA 타겟에서는 호스트 VI에서 FPGA 타겟으로 새 값이 쓰이면 현재 값을 변경하고, 호스트 VI에서 다른 값이 쓰일 때까지 이 값을 유지하는 컨트롤로 누를 때 스위치, 놓을 때 스위치, 놓을 때까지 스위치를 사용합니다. 호스트 VI에서 FPGA 타겟으로 새 값이 쓰일 때 현재 값만 변경하고, FPGA 타겟이 이 새 값 읽은 후에는 다시 이전 값으로 되돌리는 컨트롤로 누를 때 래치, 놓을 때 래치, 놓을 때까지 래치를 사용합니다.