LabVIEW 컨트롤과 인디케이터에서 동기화된 디스플레이 사용하기



주요한 소프트웨어:
주요한 소프트웨어 버전: N/A
문제가 해결된 소프트웨어 버전: N/A
부차적인 소프트웨어: N/A

문제점: LabVIEW의 컨트롤과 인디케이터에서 동기화된 디스플레이 옵션을 사용하면 어떻게 동작합니까? 이 옵션이 LabVIEW의 실행에 어떤 영향을 미칩니까?

솔루션:

동기화된 디스플레이 옵션은 Multi-Threading과 관련이 있습니다. User Interface(UI)가 블록다이어그램의 실행과 분리되기 시작할때 부터 모든 데이터가 프론트패널에 표시되지 않기 시작합니다. 데이터가 블록다이어그램의 터미널로 전달이 되면, 이벤트는 UI쪽으로 데이터를 넘겨 큐에 쌓고 UI Thread가 실행될 때마다 업데이트를 하게 됩니다. 블록다이어그램이 계속해서 데이터를 쌓게 되면 먼저 들어온 데이터를 블록다이어그램에서 업데이트 하기 때문에 같은 인디케이터임에도 불구하고 다른 데이터를 생성하게 됩니다.

만약 동기화된 디스플레이가 활성화되면, 블록다이어그램은 데이터를 인디케이터에 새로운 데이터로 업데이트 하지 않고 먼저 들어온 데이터를 표시하게 됩니다. 그리고 다이어그램은 UI가 온전한 데이터를 표시할 때까지 멈춰서 기다리게 됩니다.

동기화된 디스플레이가 비활성화 된다면 (기본값) 모든 데이터라 디스플레이 되지는 않게 됩니다. 이전 데이터가 UI큐에 있는 새로운 데이터에 의해서 덮어쓰기 되며 실행이 됩니다. 이 말은 실행 속도에 맞춰서 데이터가 들어오게 되며 동기화된 디스플레이가 되지 않는 다는 것을 뜻합니다.

차트를 빠른 속도로 쓰게 되면 업데이트되는 데이터의 속도는 눈으로 볼수 있는 데이터 보다 훨씬 빠르기 때문에 눈으로 보는것은 그다지 중요하지 않습니다. 동기화된 디스플레이를 켜는것은 Multi-Threading을 끄는 것과는 다른 내용이지만 LabVIEW 4.x버전이나 그 이전 버전과 거의 비슷하게 동작한다는 것을 의미합니다.

Windows NT에서 실행되는 DAQ 어플리케이션의 경우, 이벤트에 의한 동기화, 마우스로 정지버튼을 누르는 것과 같이 정확한 응답을 필요하다면 이것은 매우 중요한 요소가 됩니다. UI의 Thread는 계획했던 것처럼 정확히 돌지 않는 것으로 보이기 때문에 몇몇 인디케이터를 강제로 동기화 하기 위해서 사용하는 것도 가능합니다.



관련 링크:
LabVIEW Help: VI Execution Speed
LabVIEW Help: Configuring Controls and Indicators
Knowledge Base DIRECT-3S8R4F: Why Doesn't My Front Panel Draw all My Data?

첨부:





리포트 날짜: 03/25/1998
마지막 업데이트: 02/19/2015
문서 번호: 17OC8QWV