컨트롤러 함수
- 업데이트 날짜:2025-07-30
- 5분 (읽기 시간)
컨트롤러 함수는 컨트롤러를 설정하거나 또는 모든 인스트루먼트가 응답하는 IEEE 488 명령을 보냅니다.
cac―활성 컨트롤러가 됨
| 구문 | cac 0 (동기적으로 컨트롤 얻기) |
| cac 1 (즉시 컨트롤 얻기) |
cac는 동기적으로 또는 즉시, 때로는 비동기적으로 컨트롤을 얻습니다. You generally do not need to use the cac function because other functions, such as cmd and rpp, take control automatically.
데이터 핸드쉐이크의 진행 중에 동기적으로 컨트롤을 얻으려하는 경우, 함수는 핸드쉐이크가 완료될 때까지 컨트롤 얻기 작업을 연기합니다. 핸드쉐이크가 진행 중이지 않은 경우, 함수는 즉시 컨트롤 얻기 작업을 수행합니다. 읽기 또는 쓰기 동작이 타임아웃 또는 다른 에러로 완료된 경우 동기적으로 컨트롤 얻기는 보장되지 않습니다.
예를 들어, 타임아웃 에러가 발생한 후에 동기적으로 컨트롤을 얻을 수 없을 때, 비동기적으로 컨트롤을 얻어야 합니다.
GPIB 컨트롤러가 CIC가 아닌 경우, ECIC 에러가 발생합니다.
cmd―IEEE 488 명령을 보냄
| 구문 | cmd string |
cmd는 GPIB 명령 메시지를 보냅니다. 이 명령 메시지는 디바이스 토크와 리슨 주소, 보조 주소, 시리얼과 병렬 폴 설정 메시지, 디바이스 지우기와 트리거 메시지를 포함합니다.
프로그래밍 지시를 디바이스에 전송하기 위해 cmd를 사용하지 않습니다. The GPIB Read and GPIB Write functions transmit programming instructions and other device-dependent information.
문자열은 컨트롤러가 보내는 명령 바이트를 포함합니다. ASCII characters represent these bytes in cmd string. 표시할 수 없는 문자를 보내야 하는 경우 문자열 컨트롤 또는 문자열 상수에서 백슬래시 코드를 활성화하거나 형식 함수를 사용하여 16진수로 명령을 나열할 수 있습니다.
dma―DMA 모드 또는 프로그램 I/O 모드를 설정
| 구문 | dma 0 (프로그램된 I/O 사용) |
| dma 1 (DMA 사용) |
dma는 데이터 전송이 DMA를 사용하는지 여부를 나타냅니다.
일부 GPIB 컨트롤러는 DMA 기능을 가지고 있지 않습니다. Dma 1을 실행하려고 하면 이 함수는 GPIB 오류 11을 반환하여 기능이 없음을 나타냅니다.
gts―활성 컨트롤러에서 대기상태로 감
| 구문 | gts 0 (쉐도우 핸드쉐이킹 없음) |
| gts 1 (쉐도우 핸드쉐이킹) |
gts는 GPIB 컨트롤러를 컨트롤러 대기 상태로 설정하고 활성 컨트롤러인 경우 ATN 신호를 지정해제합니다. 일반적으로, GPIB 컨트롤러는 데이터 전송에 관련됩니다. gts는 GPIB 디바이스가 GPIB 컨트롤러에 관련되지 않고 데이터를 전송하도록 허락합니다.
쉐도우 핸드쉐이킹이 활성화된 경우, GPIB 컨트롤러는 리스너로서 GPIB 전송에 관여하지만 데이터를 받지는 않습니다. END 메시지를 감지할 때, GPIB 컨트롤러는 데이터가 준비되어 있지 않음(NRFD)를 지정하여 핸드쉐이크 홀드오프 상태를 생성합니다.
쉐도우 핸드쉐이킹이 활성화되지 않은 경우, GPIB 컨트롤러는 쉐도우 핸드쉐이킹이나 핸드쉐이크 홀드오프를 수행하지 않습니다.
쉐도우 핸드쉐이크 옵션을 활성화하는 경우, GPIB 컨트롤러는 리스너로서 데이터 핸드쉐이크에 관여하지만 실제로 데이터를 읽지는 않습니다. END 메시지의 전송을 모니터하여 이후의 전송을 중지합니다. This mechanism allows the GPIB controller to take control synchronously on subsequent operations such as cmd or rpp.
gts 명령을 보낸 후, 다른 GPIB 명령을 시작하기 전에 END를 기다립니다. [GPIB 기다림] 함수로 이를 수행할 수 있습니다.
GPIB 컨트롤러가 CIC가 아닌 경우, ECIC 에러가 발생합니다.
ist―개별 상태 비트를 설정
| 구문 | ist 0 (개별 상태 비트 삭제됨) |
| ist 1 (개별 상태 비트 설정됨) | |
| ist sets the sense of the individual status (ist) bit. |
GPIB 컨트롤러가 CIC가 아니나 활성 컨트롤러인 디바이스로 수행하는 병렬 폴에 관여할 때 ist를 사용합니다. CIC는 아이덴티티(IDY) 메시지를 보내는 EOI와 ATN 신호를 지정하여 병렬 폴을 수행합니다. 이 메시지가 활성화 되어있는 동안, 폴에 관여하도록 설정한 각 디바이스는 로컬 ist 비트의 값에 따라 미리 지정된 GPIB 데이터 라인을 참 또는 거짓으로 지정하여 응답합니다. 예를 들어, GPIB 컨트롤러가 DIO3 데이터 라인을 구동하도록 할당할 수 있습니다( ist가 1이면 TRUE, 0이면 FALSE). 반대로, ist가 0이면 DIO3 드라이브에 TRUE를, 1이면 FALSE를 할당할 수 있습니다.
각 디바이스에 유효한 병렬 폴 활성화(PPE) 메시지는 ist의 값, 동작되는 라인, 동작되는 라인의 센스 사이의 관계를 결정합니다. GPIB 컨트롤러는 ppc를 사용하여 로컬로, 또는 CIC로부터의 명령을 통하여 원격으로 이 메시지를 받을 수 있습니다. PPE 메시지가 실행된 후, ist는 병렬 폴 중에 GPIB 컨트롤러가 라인을 동작시키는 센스를 변경할 수 있으며, GPIB 컨트롤러는 1 비트의 디바이스 의존적인 메시지를 컨트롤러에 전달할 수 있습니다.
IIo―로컬 잠금
| 구문 | llo |
llo 모든 디바이스를 로컬 잠금 상태로 놓습니다. 일반적으로 이렇게하면 디바이스의 프런트패널에서의 입력이 인식되지 않습니다.
llo 로컬 잠금(LLO) 명령을 보냅니다.
loc―컨트롤러를 로컬 상태에 둠
| 구문 | loc |
loc는 원격 모드에서 잠기지 않았을 경우(LOK 비트의 상태로 나타냄) 로컬 메시지 로컬로 반환(RTL)을 보내어 GPIB 컨트롤러를 로컬 상태로 놓습니다. 컴퓨터를 사용하여 인스트루먼트를 시뮬레이트할 때 loc을 사용하여 프런트패널 RTL 스위치를 시뮬레이트합니다.
off―컨트롤러를 오프라인으로 함
| 구문 | Off |
off 컨트롤러를 오프라인으로 합니다. 이것은 NI-488 라이브러리를 사용하는 다른 어플리케이션과 컨트롤러를 공유할 때만 필요합니다.
ppc―병렬 폴 설정(활성화 및 비활성화)
| 구문 | ppc byte |
ppc configures the GPIB Controller to participate in a parallel poll by setting its Local Poll Enable (LPE) message to the value of byte. 바이트의 값이 0인 경우, GPIB 컨트롤러는 스스로 설정 해제합니다.
16개의 병렬 폴 활성화(PPE) 메시지 각각은 디바이스가 병렬 폴 중 아이덴티티(IDY) 메시지에 응답할 때 사용해야 하는 GPIB 데이터 라인(DIO1부터 DIO8)과 센스(1 또는 0)를 선택합니다. 디바이스는 할당된 메시지와 개별 상태(ist) 비트의 현재값을 해석하여 선택된 라인이 참 또는 거짓으로 동작하는지 결정합니다. 예를 들어, PPE=0x64인 경우, DIO5는 ist가 0이면 TRUE로, 1이면 FALSE로 구동됩니다. PPE=0x68이면 DIO1 PPE 메시지가 유효합니다. 어떤 PPE와 PPD 메시지가 보내지는지를 알아야하며 응답이 무엇을 나타내는지 결정해야 합니다.
ppu―병렬 폴 설정 해제
| 구문 | ppu |
ppu는 모든 디바이스가 병렬 폴에 응답하는 것을 비활성화합니다.
ppu는 병렬 폴 설정 해제(PPU) 명령을 보냅니다.
rpp―병렬 폴 수행
| 구문 | rpp |
rpp는 IDY 메시지를 보내는 ATN과 EOI 신호를 지정하여 이전에 설정된 디바이스의 병렬 폴을 수행합니다.
rpp는 병렬 폴 응답을 ASCII 문자로 출력 문자열에 놓습니다.
rsc―시스템 컨트롤 해제 또는 요청
| 구문 | rsc 0 (시스템 컨트롤 해제) |
| rsc 1 (시스템 컨트롤 요청) |
rsc releases or requests the capability of the GPIB controller to send the Interface Clear (IFC) and Remote Enable (REN) messages to GPIB devices using the sic and sre functions. GPIB 컨트롤러가 다른 컨트롤러가 보낸 IFC에 응답하려면, GPIB 컨트롤러는 시스템 컨트롤러가 아니어야 합니다.
대부분의 어플리케이션에서, GPIB 컨트롤러는 언제나 시스템 컨트롤러입니다. 프로그램 실행 동안 컴퓨터가 시스템 컨트롤러가 아닌 경우에만 rsc를 사용할 수 있습니다.
rsv―서비스 요청 및/또는 시리얼 폴 상태 바이트 설정
| 구문 | rsv byte |
rsv sets the serial poll status byte of the GPIB controller to byte. 0x40 비트가 바이트로 설정되는 경우, GPIB 컨트롤러는 또한 GPIB RQS 라인을 지정하여 컨트롤러로부터의 서비스를 요청합니다. 예를 들어, GPIB RQS 라인을 지정하려는 경우, 0x40가 설정된 ASCII 문자 @를 보냅니다.
rsv를 사용하여, 서비스 요청(SRQ) 신호를 사용하여 컨트롤러로부터 서비스를 요청할 수 있으며 컨트롤러가 GPIB 포트를 시리얼 폴할 때 시스템 의존적인 상태 바이트를 제공할 수 있습니다.
sic―인터페이스 지우기 보냄
| 구문 | sic |
sic는 컨트롤러가 시스템 컨트롤러 권한을 가진 경우 컨트롤러가 적어도 100ms 동안 IFC 신호를 지정하도록 합니다. 이 작업은 GPIB를 초기화하고 컨트롤러 포트를 CIC로 만듭니다. 일반적으로 디바이스를 CIC로 만들거나 버스 폴트 상태를 제거하려할 때 sic를 사용합니다.
IFC 신호는 버스 디바이스의 GPIB 함수만을 리셋합니다: 내부 디바이스 함수는 리셋하지 않습니다. Device Clear (DCL)와 Selected Device Clear (SDC) 명령은 디바이스 함수를 리셋합니다. 이 메시지의 효과를 결정하려면 인스트루먼트 문서를 참조하십시오.
sre―원격 활성화 지정해제 또는 지정
| 구문 | sre 0 (원격 활성화 지정해제) |
| sre 1 (원격 활성화 지정) |
sre는 GPIB REN 라인을 지정해제하거나 지정합니다. 디바이스는 로컬과 원격 작동 모드 중 선택할 때 REN을 모니터합니다. 디바이스는 리스너 주소를 받을 때까지 실제로 원격 모드에 들어가지 않습니다.
컨트롤러가 시스템 컨트롤러가 아닌 경우, ESAC 에러가 발생합니다.