함수 또는 루프의 실행 시간 계산하기
- LabVIEW 랩뷰/Labview 랩뷰 강의
- 2021. 2. 1.
안녕하세요. 지지비입니다.
이번 포스팅에서는 함수 또는 루프의 실행 시간을 계산하는 방법에 대해서 알아보도록 하겠습니다.
1. 틱 카운트 (Tick Count)
함수나 루프의 실행시간을 측정하기 위해서 일반적으로 사용하는 함수는 틱 카운트(Tick Count (ms))함수입니다. 이전 포스팅에서 알아보았던 절대 시간을 얻는 함수(날짜/시간을 초로 얻기)와는 다르게, 틱 카운트 함수는 랩뷰에서 특정 시간이 지남에 따라 출력값이 증가합니다. 틱 카운트 함수의 값은 U32 숫자형으로 0~4,294,967,295 사이의 값을 일정하게 증가하면서 출력해주는 함수입니다. 최대값이 넘으면 다시 0이 됩니다. 즉, 이 함수로 측정할 수 있는 최대 시간은 0 ~ 4294967295 ms로 약 3000시간입니다.
따라서 틱 카운트 함수를 사용해서 특정 이벤트부터 계속해서 지난 시간(Elapsed Time)을 측정할 때 3000시간 이상은 측정할 수 없다는 것을 의미하므로, 신중하게 사용해야 합니다.
틱 카운트 함수는 함수 팔레트의 Timing에서 찾아볼 수 있습니다.
2. 루프의 실행 시간 계산하기
아래와 같이 간단하게 작성할 수 있습니다. 루프는 특정 작업을 반복하는 행위이기 때문에 작업 전/후에 틱 카운트 함수를 사용해 주고, 두 출력값을 빼 주면 중간의 작업 시간을 계산할 수 있습니다. 아래 블록다이어그램에서 작업 간의 시간은 100 ms의 지연이 들어있으므로 측정값(Elapsed Time)도 100 ms가 되면 맞는 걸로 볼 수 있겠습니다.
루프가 시작되고 지난 최종 시간을 계산하려면 틱 카운트 함수의 최초 값을 루프 밖에 놓아주면 됩니다. 아래와 같은 방법으로 사용할 수 있습니다. 100 ms씩 총 20번을 반복하므로 최종적으로 2000 ms 정도의 값이 나오면 정상적으로 측정된다고 생각할 수 있겠습니다.
3. 절대 시간으로 계산하기
이전 포스팅에서 사용했었던 절대 시간을 얻는 함수인 날짜/시간을 초로 얻기(Get Date/Time In Seconds)함수를 사용해서 시간을 계산할 수도 있습니다. 하지만 위에서 언급한 틱 카운트를 사용할 때보다는 정확도가 떨어지므로, 1 ms보다 더 정확한 타이밍을 계산해야 할 때에는 틱 카운트 함수를 사용하는 것을 랩뷰에서 권장하고 있습니다(도움말).
날짜/시간을 초로 얻기 함수를 사용해서 두 값을 빼면 '초'로 시간이 계산됩니다. 최종 값은 약 2초 정도가 나올 것으로 예상합니다.
'LabVIEW 랩뷰 > Labview 랩뷰 강의' 카테고리의 다른 글
자동화 - 바코드 리더기 활용하기 (0) | 2021.02.16 |
---|---|
랩뷰 상태머신을 이용한 XY 그래프 그리기 (0) | 2021.02.05 |
현재시간을 X축에 나타내고 엑셀 시간 포맷으로 저장하기 (0) | 2021.01.28 |
XY 그래프 : 확대축소/오토스케일/커서 (0) | 2021.01.27 |
루프와 함께 XY 그래프 그리기 - 실전예제 (2) | 2021.01.26 |