ScatterGraph를 이용해서 1초에 30개씩 데이터를 그리고 있는데 2000초 이후부터 lag이 자주 걸려서 1,2 개나 2~3초 사이에 한개 그릴 때도 있습니다. 그래프 그리는 부분을 제거 하고 실행하면 lag걸리는 문제가 없는것으로 봐서 그래프 그리는 쪽에서 발생하는 것 같습니다.
혹시 이런 문제 경험해보신 분이나 해결하신 분이 계시면 도움 부탁드립니다.
프로그램 개발 툴은 VS 2017입니다.
네 PlotXYAppend를 사용하기 때문에 누적이 되긴 합니다.
HistoryCapacity를 500000로 설정을 했고 1초에 30개씩 데이터를 그립니다.
답변 감사합니다.
데이터 초기화는 그래프를 처음 부터 다시 그리라는 말씀인가요?
그래프를 전부 보여줘야하기 때문에 그렇게는 하지 못합니다.
날짜: 11-13-2019 08:50 PM
일단 그래프를 중간에 초기화 시켰을 시 lag 현상이 나타나지 않는다면 결국에는 그래프에 데이터가 쌓임으로써 메모리 부담으로 일어나는 현상임을 확실 시 할 수 있을 것 같습니다.
만약 그렇다면 환경적 사양 때문에 벌어지는 문제이므로 그래프를 전부 보여주지는 못할 것 같습니다.
중간 중간 로깅하여 저장한 뒤 후처리로 그래프를 붙여주는 방식을 사용해야 하지 않을까 싶습니다.
원인 파악을 확실하게 하는 것이 제일 먼저 해 볼 Troubleshooting이지 않을까 싶습니다!
해결되었으면 좋겠네요 ㅜ
https://guslabview.tistory.com/113 여긴 제가 LabView를 처음접할 당시 많이 찾던 블로그입니다.
위 링크의 포스트를 살펴보면.. Graph에서 메모리점유율을 급증시킬수 있는 요인들중 일부 몇가지가 적혀있습니다.
보시고 해당사항이 있다면 줄여보시는게 좋겠습니다.
또 하나 말씀드리자면 프론트패널에서 메모리를 사용하지 않는 인디케이터는 없습니다.
그러나.. LabView에서 가용할 수 있는 메모리의 한계치는 존재합니다.
Graph와 Table처럼 메모리를 이용하여 데이터를 축적하는 경우 또한 메모리의 한계를 피할수 없습니다.
Graph에 축적되는 point의 갯수를 제한하는게 제일 안전합니다.
만약, 한번에 다 지우는것이 문제가 될것같다면.. 아래와같은 방법도 좋을것같습니다.
ex)
1. Graph의 point갯수를 지정하는 Controller 생성
2. 매번 Graph에 Data를 삽입 전 현재까지의 Data point개수가 Contoller의 숫자보다 큰지 물어봄
3. 보다 크다: 가장 앞(오래된) Data를 삭제 후 data 삽입, 보다 작다: Data 삽입
위 방법은 처음부터 끝까지의 point를 한번에 담을수는 없지만, 측정할때마다 매번 엑셀에 저장한다면..
측정이 끝난 후에 엑셀에서 전체그래프를 그리게 됬을 때 문제없다고 봅니다.