MoonNote

반응형

 


This VI containing two parallel loops is broken. What is the most likely cause?

  1. The chart terminal requires an array to be wired instead of a scalar.
  2. The Stop button is set to the latch mechanical action, which is incompatible with local variables.
  3. The iteration terminals in the loops are unwired.
  4. You cannot have multiple Wait (ms) functions with different rates on a single block diagram.

정답 보기는 아래 더보기 클릭

 

더보기

정답 : 2. The Stop button is set to the latch mechanical action, which is incompatible with local variables.

 코드를 살펴보면 하나의 정지 버튼을 이용하여 두 개의 병렬 While Loop를 제어하는 코드이다.
왼쪽 루프부터 1번 While문, 2번 While문으로 나뉘었을 때 1번 루프는 정지 버튼을 그대로 조건 터미널에 와이어링하였고, 2번 루프의 경우 로컬 변수를 이용하여 조건 터미널에 와이어링 시켜주었다.

 LabVIEW는 와이어링 기반의 데이터 흐름을 따라가는 코딩 방식을 기본으로 한다. 정지 버튼을 눌렀을 때 1번 루프와 2번 루프 모두 '버튼 눌림' 상태 값을 정상적으로 읽어야 루프가 종료되기에 불리언 버튼의 기계적 동작 '스위치'와 '래치' 중 '스위치'로 설정되어야지만 정상적으로 코드가 실행될 수 있다.

 '래치'는 순간적으로 값이 반전되었다가 다시 돌아오는 형태의 동작이므로 LabVIEW 와이어링 기반의 코딩 방식에 어긋나는 로컬 변수를 사용할 경우 순간적인 값을 놓칠 가능성이 있다. 따라서 LabVIEW에서는 이런 에러를 방지하고자 애초에 '래치'와 '로컬 변수'를 같이 사용하면 VI 실행 버튼이 깨져 실행할 수 없게 해두었다. 따라서 문제에서는 VI가 깨진 원인을 물어보고 있으므로 2. The Stop button is set to the latch mechanical action, which is incompatible with local variables.이 정답이다.

 

 

 

 

 

※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band