주소 문자열에 있는 GPIB 디바이스로부터 바이트의 바이트 카운트 개수를 읽습니다.

노드에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 동기화된 I/O 모드≫동기화을 선택하여 동기적으로 데이터를 읽습니다.


icon

입력/출력

  • ci32.png 타임아웃 ms (488.2 글로벌)

    타임아웃 ms는 함수가 타임아웃되기 전까지 기다릴 밀리초 단위의 시간을 지정합니다.

    타임아웃 ms 내에 완료되지 못하는 경우 이 작업은 강제 종료됩니다. 타임아웃을 비활성화하려면 타임아웃 ms를 0으로 설정하십시오.

    488.2 글로벌 타임아웃을 사용하려면, 타임아웃 ms를 연결하지 않거나 입력을 -1로 설정합니다. 그리고 타임아웃 설정 함수를 사용하여 타임아웃 ms의 기본값을 변경하십시오. 기본은 10000입니다.

  • cstr.png 주소 문자열

    주소 문자열은 함수가 통신을 하는 GPIB 디바이스의 주소를 가집니다.

    기본+보조 형태를 사용하여 주소 문자열에 기본 주소와 보조 주소 모두를 입력할 수 있습니다. 기본보조 모두 10진 값이므로, 기본이 2 이고 보조가 3인 경우, 주소 문자열은 2+3 입니다.

    주소를 지정하지 않은 경우, 함수는 문자열을 읽고 쓰기를 시도하기 전에 주소 지정을 수행하지 않습니다. 이 명령은 다른 방식으로 보내졌거나 또는 다른 컨트롤러가 담당하고 있으며 주소지정에 대해서 책임이 있다고 가정하기 때문입니다. 컨트롤러가 디바이스에 주소를 지정하는 것으로 예상되었지만 시간 제한이 끝나기 전에 주소 지정을 하지 않는 경우, 함수는 GPIB 에러 6 (타임아웃)과 함께 종료하며 상태에 비트 14를 설정합니다. GPIB가 담당 컨트롤러가 아닌 경우, 주소 문자열을 지정하지 마십시오.

    LabVIEW가 여러 GPIB 컨트롤러를 사용할 때, ID:주소 (또는 주소가 필요하지 않은 경우에는 ID: ) 형태의 주소 문자열의 접두어는 특정 함수가 사용할 컨트롤러를 결정합니다. 예를 들어, GPIB 컨트롤러 2가 주소 3의 디바이스와 토크하도록 설정하려면 접두어 2:3을 사용하십시오. 컨트롤러 ID가 존재하지 않는 경우, 함수는 0번 컨트롤러(또는 버스)를 기본으로 합니다.

  • ci32.png 바이트 카운트

    바이트 카운트는 함수가 GPIB 디바이스로부터 읽는 바이트 수를 지정합니다.

  • ci16.png 모드(0)

    모드는 바이트 카운트에 도달이 아닌 읽기를 종료하는 조건을 지정합니다.

    다음 테이블은 유효한 값과 대응하는 EOS 문자를 포함합니다. 테이블 리스트에 없는 모든 모드는 원하는 EOS 문자의 10진수를 나타냅니다. GPIB 작업 관리에 대한 자세한 내용은 >GPIB 멀티라인 인터페이스 메시지를 참조하십시오.

    0EOS 문자 없음. EOS 종료 모드는 비활성화됩니다. 읽기는 EOI, 바이트 카운트에서 종료됩니다.
    1EOS 문자는 CR입니다. 읽기는 EOI, 바이트 카운트, 또는 CR에서 종료됩니다.
    2EOS 문자는 LF입니다. 읽기는 EOI, 바이트 카운트, 또는 LF에서 종료됩니다.
  • cerrcodeclst.png 에러 입력

    에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 이 입력은 표준 에러 입력 기능을 제공합니다.

  • istr.png 데이터

    데이터는 함수가 읽은 데이터입니다.

  • i1dbool.png 상태

    상태는 각 비트가 GPIB 컨트롤러의 상태를 나타내는 불리언 배열입니다.

    에러가 발생하는 경우, 함수는 비트 15를 설정합니다. GPIB 에러상태의 비트 15이 설정된 경우에만 유효합니다.

    다음 테이블은 상태에서 각 비트의 숫자값과 기호형 상태를 보여줍니다. 이 테이블은 또한 각 비트의 설명을 포함합니다.

    상태 비트숫자값기호형 상태설명
    01DCAS디바이스 지우기 상태
    12DTAS디바이스 트리거 상태
    24LACS리스너 활성화
    38TACS토커 활성화
    416ATN어텐션 지정됨
    532CICController-In-Charge
    664REM원격 상태
    7128LOK잠금 상태
    8256CMPL동작이 완료됨
    124096SRQICIC동안 SRC가 감지됨
    138192ENDEOI 또는 EOS가 감지됨
    1416384TIMO타임아웃
    15-32768ERR에러가 감지됨
  • ierrcodeclst.png 에러 출력

    에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.

  • 데이터를 동기적으로 하드웨어 드라이버에 전송하거나 전송받을 때, 호출 스레드는 데이터 전송 기간 동안 잠겨있습니다. 전송의 속도에 따라, 이 작업은 호출 스레드를 필요로 하는 다른 프로세스를 방해할 수도 있습니다. 그러나 어플리케이션이 데이터 전송을 최대한 빨리 수행해야 하는 경우, 이 작업을 동기적으로 수행하면 호출 스레드가 전적으로 이 작업에 집중됩니다.

    노트 대부분의 어플리케이션에서 4개 이하의 인스트루먼트와 통신할 때에는 동기적인 호출이 약간 빠릅니다. 5개 이상의 인스트루먼트와 통신할 때에는 비동기화 작업을 수행해야 어플리케이션이 약간 더 빨라집니다. LabVIEW에서는 기본적으로 비동기화 I/O를 사용합니다.

    [GPIB 읽기] 함수는 다음 태스크 중 하나를 완료할 때 종료됩니다.

    • 요청된 바이트의 개수를 읽습니다.
    • 에러를 감지합니다.
    • 시간 제한을 초과합니다.
    • END 메시지(EOI 지정)를 감지합니다.
    • EOS 문자(모드에 공급되는 값으로 이 옵션이 활성화된 경우)를 감지합니다.
    노트 함수는 EOS 문자를 체크할 때 모든 8비트를 비교합니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\Instrument IO\GPIB\Simple GPIB.vi