참조 번호 또는 refnum은 파일, 디바이스 또는 네트워크 연결과 같은 열린 객체에 대해 LabVIEW가 생성하는 유일한 식별자입니다. 참조 번호는 객체가 열려 있는 동안 작업에 대한 객체를 식별합니다.

열린 파일, 디바이스, 또는 네트워크 연결에서 수행하는 모든 작업은 참조 번호를 사용하여 각 객체를 식별합니다. 참조 번호 컨트롤을 사용하여 VI 내부 또는 외부로 참조 번호를 전달할 수 있습니다. 예를 들어 참조 번호 컨트롤을 사용하여 참조 번호가 참조하는 파일을 닫거나 다시 열지 않고 파일의 내용을 수정할 수 있습니다.

참조 번호는 열어 놓은 객체의 임시 포인터이므로, 객체가 열려 있는 동안만 유효합니다. 객체를 닫으면, LabVIEW는 참조 번호와 객체의 연결을 끊어서 해당 참조 번호를 사용할 수 없게 됩니다. 객체를 다시 열면, LabVIEW는 처음 참조 번호와는 다른 새 참조 번호를 생성합니다.

LabVIEW는 각 참조 번호와 연관된 정보(예: 객체에서 읽거나 쓰기 위한 현재 위치 및 사용자 접근 정도)를 기억합니다. 이렇게 하면 단일 객체에서 동시에 독립적인 작업을 수행할 수 있습니다. VI가 객체를 여러번 여는 경우, 열 때마다 매번 다른 참조 번호를 반환합니다.

참조 번호는 엄격한 타입 또는 엄격하지 않은 타입일 수 있습니다.

LabVIEW는 참조 번호와 관련된 객체에 메모리를 할당합니다. 참조 번호를 닫으면 메모리에서 객체가 해제됩니다. 참조 번호의 메모리를 가장 효율적으로 사용하려면 다음 권장사항을 따르십시오:

  • 참조 번호의 사용이 끝나면 참조 번호를 닫습니다. LabVIEW는 VI의 실행이 끝나면 자동으로 참조 번호를 닫습니다. 그러나 사용이 끝난 직후 참조 번호를 닫는 것이 좋은 프로그래밍 방법입니다.
  • 참조 번호는 연 순서와 반대로 닫아야 합니다.

    예를 들어, 다음과 같은 기능을 가진 프로그램을 생각해 보십시오:

    1. 객체 A에 대한 참조 번호를 얻습니다
    2. 객체 A에서 메소드를 호출하여 객체 B에 대한 참조 번호를 얻습니다.

    이 경우, 다음 순서로 참조 번호를 닫습니다:

    1. 객체 B에 대한 참조 번호 닫기
    2. 객체 A에 대한 참조 번호 닫기
  • For 루프 또는 While 루프 내에서 참조 번호를 여는 경우, 루프의 각 반복에서 해당 참조 번호를 닫아야 합니다.

    LabVIEW는 참조 번호에 반복적으로 메모리를 할당하며 VI 실행이 끝날 때까지 메모리를 해제하지 않습니다.