2015-01-13 3 views
0

T/F 탭으로 인해 종료 될 때 더 다운 스트림으로 사용될 값을 출력하는 while 루프가 있습니다. while 루프를 종료하기 위해 T/F 탭을 클릭하면 while 루프를 건너 뛰고 탭이 참일 때 프로그램이 다시 도달하면 while 루프를 건너 뛰고 다운 스트림으로 전송 된 값은 마지막 바이트의 값과 같습니다. 반복 (아무 것도 출력하지 않으면 내가 할 수 있다고 가정).조건부로 While 루프를 건너 뜁니다.

사례 구조로이 작업을 시도했지만 양쪽 프레임이 모든 출력에 값을 할당하거나 기본값을 사용해야하므로 어려움이 있습니다. 제가 진정으로 원하는 것은 아마도 또 다른 T/F 탭 일 것입니다. 사실이라면, 프로그램은 한 번 실행 한 다음 계속하기보다는 while 루프를 계속 통과합니다.

희망이 맞습니다!

+0

을 찾을 수 있도록 Skipping while loop 유래는, VI를 첨부 할 수 없습니다 무엇 T/F 탭을입니까? 몇 가지 코드를 보여주십시오. – mzu

+0

몇 가지 코드가 필요합니다. 문제가 분명하지 않다 –

+0

내가 사용하는 리그가 인터넷에 연결되어 있지 않아서 내가 갖고있는 모든 것이 [이미지] (http://i.imgur.com/TdZQ2iN.png)입니다. while 루프는 커서 위치 (주황색 와이어)를 출력하고 while 루프는 Store Cursor Data 탭을 클릭하면 종료됩니다. 이 탭을 True로 설정하면 while 루프는 스크립트를 실행하기 전에 한 번만 실행됩니다. 내가 정말로 원하는 것은 탭을 눌렀을 때 while 루프를 건너 뛰는 것입니다. 사례 구조를 사용할 때 모든 결과가 두 경우에 모두 있어야하기 때문에 어려움을 겪었습니다. 그리고 나는 (사실) 참된 경우에 아무 것도 출력하지 않기를 원합니다. – Toastisme

답변

0

첨부 된 솔루션을 참조하십시오. 해결책은 최적이 아니지만 작동합니다. 루프에 도달하기 전에 "커서 커서 데이터 저장"버튼을 누르면 "True"탭 (비어 있음)이 실행되고, 마지막 저장된 값 (피드백 노드에서 전달)이 전달됩니다. 버튼이 false이면 while 루프가 평소대로 실행됩니다. enter image description here

ps. 적절한 해결책으로서 나는 변화하는 어플리케이션 아키텍처를 제안한다. 이벤트를 사용하고 시프트 레지스터를 사용하여 데이터를 저장하십시오.

PPS. 이 코드는 스 니펫이므로 탐색기에서이 파일을 드래그하여 BD에 놓으면 코드 조각 (LV2014)으로 표시됩니다.

PPPS. 이 것을 버튼이 아니라 탭이라고합니다.

PPPPS. 피드백 노드없이 LabVIEW를 버전 8.0로 하향 변환 솔루션이 here

+0

솔루션을 복제하려고하는데 ' 피드백 노드를 생성하고 이유를 모르겠습니다. http://i.imgur.com/0uPJRGJ.png 전선을 마우스 오른쪽 버튼으로 클릭하면 '피드백 노드 삽입'옵션이 회색으로 표시됩니다. 모든 기능을 수행하여 피드백 노드를 삽입하려는 것은 아무 것도하지 않는 것 같습니다. Labview 7.1을 사용하고 있습니다. (내가 사용하고있는 설정이 인터넷에 연결되어 있지 않고이 컴퓨터에서 labview 14의 무료 평가판 만 있기 때문에 코드를 드래그 할 수 없습니다.) – Toastisme

+0

오류는 와이어가주기의 멤버라고 말합니다. – Toastisme

+0

피드백 노드 대신 시프트 레지스터를 사용하십시오. 그들이 LV 7.1에서 어떻게 작동하는지 확신하지 못한다. – mzu

관련 문제