본문 바로가기
LabVIEW/랩뷰 기초

랩뷰 기본 용어 9. 디버깅 2-코드119

by 박사과정 모닝 2022. 11. 17.
반응형

안녕하세요! 오늘도 박사과정 모닝이에요.

브레이크 포인트에 이어 오늘은 디버깅에 관련된 도구들을 마지막으로 훑어보려 합니다!

 

1. 단계별 실행

단계별 실행을 사용하면 프로그램을 노드별로 한 단계씩 실행해볼 수 있습니다. 실행 순서도 확인해볼 수 있고, 어떤 노드에서 문제가 발생했는지 알 수 있습니다. 블록 다이어그램의 상단 도구 모음에서 확인할 수 있습니다.

랩뷰 디버깅, 단계별 실행

- 노드 내부로 들어가기: 단계별 실행 도중 Sub vi를 만날 경우, Sub vi 내부로 들어가서 단계별로 실행합니다. (왼쪽)

- 노드 건너뛰기: Sub vi 내부로 들어가지 않고 건너뜁니다. (가운데)

- 노드 벗어나기: Sub vi를 벗어나 상위 vi로 돌아오거나, 단계별 실행을 끝낼 때 사용합니다. (오른쪽)

 

2. 와이어 값 유지

마찬가지로 블록 다이어그램의 도구 모음에서 설정 가능합니다. 기본적으로 와이어 값 유지가 해제되어 있으면, 코드 실행이 완료된 다음 프로브를 찍어 보면, 값이 날아가버리기 때문에 다시 코드를 실행하지 않는 이상 이전 코드 실행 값을 알 수 없습니다. 그러나 와이어 값 유지를 설정하고 코드를 실행한 다음 프로브를 찍어 보면, 와이어 안에 값이 저장되어 있기 때문에 실행이 끝난 이후에도 프로브를 통해 데이터를 확인할 수 있습니다.

랩뷰 디버깅, 와이어 값 유지

 

3. 비정상 데이터

데이터가 비정상적인 경우 Inf 또는 NaN이라는 단어가 인디케이터에 표시됩니다. 각각의 뜻은 아래와 같습니다.

랩뷰 Inf, NaN

- Inf: Inifinite. 값이 무한대임을 뜻함

- NaN: Not a Number. 숫자가 아님.

 

4. 에러 클러스터

클러스터란 다양한 형식의 데이터를 한 데 묶어놓은 것을 뜻합니다. 에러 클러스터란 에러 상태, 에러 코드, 에러 소스의 정보를 한 데 묶어놓은 클러스터를 말합니다.

랩뷰 에러 클러스터

- 에러 상태: 에러 발생 유무를 불리언 데이터로 표현. 에러가 발생한 경우 T(참)으로 표시됨.

- 에러 코드: 몇 번 에러 코드의 에러가 발생했는지를 표시함.

- 에러 소스: 어떤 노드에서 에러가 발생했는지를 표시함.

 

에러 클러스터는 에러를 확인하는 것 외에도 '실행 순서 결정'에 사용되기도 합니다. 대부분의 노드들이 에러 클러스터 입출력을 가지고 있으므로, 각 노드들의 에러 클러스터 입력과 출력을 연결함으로써 이들의 실행 순서를 결정할 수 있습니다. 

반응형