임베디드 개발/계측장비

SCPI 사용해 DC Power supply 제어하기

eteo 2025. 1. 3. 22:58

 

 

이전에 SCPI에 대한 글을 썼었는데 이번에는 SCPI를 직접 사용하여 계측장비를 제어해보도록 한다.

 

SCPI(Standard Commands for Programmable Instruments)란? 다양한 계측 장비를 프로그래밍하기 위한 표준화된 명령어 세트이다. SCPI 명령어는 주로 장비를 원격으로 제어할 때 사용되며 여러 제조사의 다양한 장비 간 호환성을 확보하도록 개발되었다.

 

Standard라는 말이 무색하게도 명령어 셋은 장비별로 차이가 있기 때문에 매뉴얼을 찾아보면 된다.

 

 

UM_GPD-X303S_20220324_VC_E.pdf
1.63MB

 

 

내가 다룬 GW INSTEK 사의 GPD-4303S 제품은 후면 USB Type-B port를 통해서 PC와 연결하고 Com port를 아래와 같이 설정하면 시리얼 인터페이스로 제어할 수 있다.

 

 

 

명령어는 직관적인 구조로 되어있어 사용이 쉬우며, 명령어 끝에 0x0D, 0x0A를 포함해 전송하면 된다.

 

 

 

 

그럼 바로 SCPI의 표준적인 특징에 대해 알아보자

 

 

1. 공통 명령어

일부 SCPI를 지원하는 거의 모든 장비에서 사용하는 공통 명령어가 있다. 예를 들어, *IDN? 명령어는 제조사, 모델, 시리얼 번호 등 장비 정보를 반환한다.

 

2. 직관적이고 일관된 명령어 구조

SCPI는 명령어는 직관적이고 일관된 계층 구조를 갖추고 있으며, 설정 명령어가 있으면 그에 대응하는 질의 명령어는 물음표가 붙어서 현재 설정을 쉽게 확인할 수 있다.

예를 들어 현재 설정된 전압 값을 반환하는 질의 명령어의 경우 장비별로 차이가 있을 수 있지만 VOLTage? VOLT? VOUT? MEAS:VOLT? MEAS:VOLT:DC? 이런 식으로 직관적으로 어떤 의미인지 알아보기 쉽게 설계된다.

한편 : 는 SCPI에서 쓰이는 Separator로 명령어의 계층적 트리 구조를 구분하거나 파라미터를 구분하는데 사용한다.

 

3. 대소문자 구분 없음

SCPI 명령어는 대소문자를 구분하지 않는다.

 

4. 명령어 종료 방식

 모든 SCPI 명령어는 <CR><LF> (캐리지 리턴과 라인 피드) 또는 <LF> (라인피드) 로 끝나며 둘 다 지원한다.

 

5. 다양한 통신 인터페이스 호환

SCPI는 IEEE 488.2(GPIB) 인터페이스와 함께 개발되었지만, USB, RS-232, Ethernet 등 다양한 통신 인터페이스에서도 사용할 수 있다.