GPIB 2018 02 05 EMLAB 3 GPIB pinout
GPIB 2018. 02. 05. 작성자: 김하연 EMLAB
3 GPIB pinout Data Input/Output Bit: DIO 1 Input/Output Bit: DIO 2 Input/Output Bit: DIO 3 Input/Output Bit: DIO 4 End-Or-Identify: EOI Data Valid: DAV Not Ready for Data: NRFD Not Data Accepted: NDAC Interface Clear: IFC Service Requested: SRQ Attention: ATN Shield: SHIELD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DIO 5: Data Input/Output Bit DIO 6: Data Input/Output Bit DIO 7: Data Input/Output Bit DIO 8: Data Input/Output Bit REN: Remote Enable GND: GND - Wire Twisted with GND: GND - Wire Twisted with Signal GND: Logic Ground DAV (pin 6) NRFD (pin 7) NDAC (pin 8) IFC (pin 9) SRQ (pin 10) ATN (pin 11) EMLAB
4 Typical measurement setup System controller (PC, Workstation) Device (instrument) GPIB system 에는 항상 하나의 system controller 가 존재함. System controller 와 device (계측기) 는 아래 그림과 같은 GPIB controller card 나 GPIB USB controller 를 통해 연결됨. EMLAB
6 GPIB 통신 원리 (2) Commands Queries Data (parameter) Events System controller (PC, Workstation) Device (instrument) Data (response) Events EMLAB
16 Events Event 는 데이터를 포함하고 있지 않으며 미리 정의되어있는 primitive information 을 빠르고 간단히 전달하기 위해 사용됨. (primitive information 은 interface events 혹은 interface messages 라고도 함. ) single line events 와 multiline events 로 나뉨. EMLAB
19 Visual studio 를 이용한 GPIB 프로그래밍 준비 프로젝트에서 ni 4882. h 와 gpib-32. obj 를 포함하도록 설정. ü MSVC 창에서 프로젝트>속성>구성 속성>C/C++>일반>추가 포함 디렉터리> ni 4882. h 의 경로를 넣어줌. (default 로 설치한 경우 C: Program Files (x 86) National InstrumentsSharedExternal. Compiler. SupportCinclude) EMLAB
20 Visual studio 를 이용한 GPIB 프로그래밍 준비 ü MSVC 창에서 솔루션 탐색기>(마우스 오른쪽)>추가>기존 항목> C: Program Files (x 86)National InstrumentsSharedExternal. Compiler. Support Clib 64msvcni 4882. obj * 빌드 시 Debug 나 Release 플랫폼 (Win 32 or x 64) 에 따라 obj 파일의 경로 가 다름. (Win 32이면 lib 32 로, x 64이면 lib 64. ) EMLAB
21 3. Visual studio 를 이용한 GPIB 통신 ①. Initialization ibdev 함수를 사용하여 device handle 을 열고, ibclr 함수를 이용하여 device 를 default 상태로 reset 함. ②. Device communication ibwrt 및 ibrd 함수를 이용하여 command 를 보내고 response 를 읽음. ③. Cleanup ibonl 함수를 이용하여 device handle 을 offline 상태로 만듦. EMLAB
22 ① Initialization ibdev 함수 : 임의의 device 에 대해 device handle 을 얻고, 초기화함. ibdev (int board. ID, int pad, int sad, int tmo, int eot, int eos); * board. ID: GPIB Interface board를 식별함. 0 에서 (총 board 수-1) 범위의 값. * pad(primary address): device 의 primary address. 0 -30 사이의 숫자. (device 에서 설정 가능한 값임. ) **signal analyzer 에서 설정하는 법 * sad(secondary address): device 의 secondary address 로 0이나 96 -126 사이의 숫자. 0인 경우는 device 가 secondary address 를 갖지 않음을 가리킴. * tmo: device 의 timeout 을 나타내는 숫자로 0 -17 사이의 숫자로 각각이 10 usec 에서 1000 sec 를 나타냄. usec EMLAB
23 ibdev (int board. ID, int pad, int sad, int tmo, int eot, int eos); * eot: device 에 command 를 보낼 때 마지막 바이트에 EOI (end-or-identify) 를 표명 할 것인지 말 것인지를 명시 (0이 아니면 EOI 표명, 0이면 EOI 표명 안 함) * eos: device 와 통신 시에 EOS (end-of-string) termination mode 를 사용할 것인지 말 지를 명시함. (0이면 사용 안 함) EMLAB
25 ③ Cleanup ibonl: device handle 을 on/off 하는 함수. ibonl (int ud, int v); ud: device handle 을 포함하는 정수 v: 0이 아니면 device 가 online, 0 이면 offline EMLAB
26 ※ 계측기에서 GPIB address 설정 Signal analyzer [N 9020 A] Power on → 전면의 system 버튼 → I/O config 메뉴 → GPIB address 설정 (0 -30 사이의 숫자) EMLAB
- Slides: 28