예제로 labview 완전 정복

By agosto 2, 2019Sem categoria

이 메시지는 LabVIEW가 배열에 충분히 큰 메모리 블록을 할당할 수 없는 경우에 가장 일반적입니다. 예를 들어 크기 2,000~ 2,000개 요소의 이중 정밀부 부동 점 번호의 2D 배열은 약 32MB를 사용합니다. 32MB의 메모리를 사용할 수 있더라도 배열에 충분히 큰 연속 메모리 블록이 없을 수 있습니다. 이 메시지는 2^31 개 이상의 요소를 포함하는 배열이 For 루프를 인덱싱하는 데 사용되는 경우에도 생성됩니다. 배열에는 최대 2^32 요소를 포함할 수 있지만 For 루프는 최대 2^31 값만 인덱싱할 수 있습니다. 이는 N 단말이 서명되지 않은 32비트 정수(U32) 데이터 형식이 아닌 서명된 32비트 정수(I32) 숫자 데이터 형식을 사용하기 때문입니다. I32 데이터 형식의 가장 중요한 비트는 값이 양수인지 음수인지 를 지정하는 데 사용됩니다. 이러한 제한을 해결하려면 배열을 두 개의 더 작은 배열로 분할하거나 For Loop를 While 루프로 대체하여 반복 값을 배열 크기와 비교하고 둘이 같을 때 종료할 수 있습니다. LabVIEW에서 대규모 응용 프로그램을 개발할 때 배열, 클러스터 및 파형 에서 사용되는 메모리 감소라는 오류 메시지가 표시되는 것을 방지하는 몇 가지 제안 사항이 있습니다. 일반적으로 배열, 클러스터 또는 파형의 큰 데이터 집합을 사용하여 응용 프로그램을 개발할 때 발생합니다.

LabVIEW는 각 데이터 집합을 연속된 메모리 블록에 저장하므로 컴퓨터에서 사용할 수 있는 메모리 블록이 큰 데이터 집합을 저장할 만큼 크지 않을 수 있습니다. 또 다른 이유는 많은 참조가 열리고 제대로 닫히지 않았기 때문입니다. 이 작업을 완료하기에 충분한 메모리가 아닙니다. 사용 가능한 RAM이 많기 때문에 이 오류 메시지가 수신되는 이유는 무엇입니까?