프로그래밍 가능한 계측기에 대한 표준 명령
Standard Commands for Programmable InstrumentsSCPI(Standard Commands for Programmable Instruments)는 자동 테스트 장비 및 전자 테스트 [3]장비 등 프로그래밍 가능한 테스트 및 측정 장치를 제어하는 데 사용할 구문 및 명령의 표준을 정의합니다.
개요
SCPI는 IEEE 488.2-1987 사양 "Standard Codes, Formats, Protocols, Common Commands"[4] 위에 추가 레이어로 정의되었습니다.표준은 모든 계측기에서 사용할 공통 구문, 명령 구조 및 데이터 형식을 지정합니다.범용 명령어가 도입되었습니다(예:CONFigure
그리고.MEASure
모든 계측기와 함께 사용할 수 있습니다.이러한 명령어는 서브시스템으로 그룹화되어 있습니다.SCPI는 또한 몇 가지 계측기 클래스를 정의합니다.예를 들어 제어 가능한 모든 전원장치는 동일한 기능을 구현합니다.DCPSUPPLY
기본 기능 클래스.계측기 클래스는 구현하는 하위 시스템뿐만 아니라 기기별 기능을 지정합니다.
물리적 하드웨어 통신 링크는 SCPI에 의해 정의되지 않습니다.원래 IEEE-488.1(GPIB) 버스용으로 작성되었지만 SCPI는 RS-232, RS-422, 이더넷, USB, VXIbus, HiSLIP 등과 함께 사용할 수도 있습니다.
SCPI 명령은 ASCII 텍스트 문자열로, 물리적 계층(예: IEEE-488.1)을 통해 계측기로 전송됩니다.명령어는 1개 이상의 키워드로 이루어진 일련의 키워드이며, 이들 중 대부분은 파라미터를 사용합니다.사양에는 키워드가 기재되어 있습니다.CONFigure
: 키워드 전체를 사용할 수도 있고 대문자 부분만 생략할 수도 있습니다.쿼리 명령에 대한 응답은 일반적으로 ASCII 문자열입니다.그러나 대량 데이터의 경우 이진 형식을 [3]사용할 수 있습니다.
SCPI 사양은 다음 4개의 볼륨으로 구성됩니다.제1권: "구문 및 스타일", 제2권: "명령 참조", 제3권: "데이터 교환 형식", 제4권: "계기 클래스"[3]이 사양은 처음에는 무료가 아닌 인쇄 매뉴얼로 출시되었다가 나중에 무료 PDF 파일로 출시되었습니다.
SCPI 이력
1990년에 [3][5]처음 출시된 SCPI는 IEEE-488의 추가 레이어로 시작되었습니다.IEEE-488.1은 물리적 및 전기 버스를 지정했고 IEEE-488.2는 프로토콜 및 데이터 형식을 지정했지만, 두 가지 계측기 명령은 지정하지 않았습니다.동일한 유형의 계측기를 사용하는 제조업체나 모델마다 명령 집합이 다를 수 있습니다.SCPI는 모든 제조업체와 모델에서 공통으로 사용할 수 있는 표준을 만들었습니다.IEEE-488.2 데이터 형식을 사용해야 하지만 IEEE-488.1 버스를 [6]의무화하지는 않습니다.
2002-2003년 SCPI 컨소시엄은 IVI Foundation(Interchangeable Virtual Instruments)[6]의 일부가 되기로 의결했습니다.
IEEE 488.2 이력
1987년에 IEEE는 IEEE 488.2-1987 규격 "표준 코드, 형식, 프로토콜 및 공통 명령"을 도입하였고, 1992년에 IEEE 488.[7]2-1992로 개정되었다.
IEEE 488.2는 장치에 독립적인 구문을 제공했지만, 기기별 명령에 대한 표준은 여전히 없었습니다.예를 들어 멀티미터와 같은 동일한 등급의 계측기를 제어하는 명령은 제조업체와 모델마다 다를 수 있습니다.미국 [8]공군과 후에 Hewlett-Packard는 이 문제를 인식했다.1989년 HP는 SCPI의 선구자였던 TML 언어를[9] 개발했습니다.
IEC는 IEC 60625-2-1993 (IEC 625)와 함께 IEEE와 병행하여 자체 표준을 개발하였습니다.2004년에 IEEE와 IEC는 각각의 표준을 "듀얼 로고" IEEE/IEC 표준 IEC 60488-2-2004, Part 2: Codes, Formats, Protocols and Common [10]Commands로 결합하였으며, IEEE 488.2-1992와 IEC 60625-2-1993을 [11]대체하였다.
명령어 구문
계측기에 대한 SCPI 명령은 설정 작업(예: 전원 공급기 켜기) 또는 쿼리 작업(예: 전압 판독)을 수행할 수 있습니다.쿼리는 명령 끝에 물음표를 추가하여 계측기에 발행됩니다.일부 명령은 기기 설정과 쿼리 모두에 사용할 수 있습니다.예를 들어, 계측기의 데이터 수집 모드는ACQuire:MODe
명령어 또는 명령어를 사용하여 쿼리할 수 있습니다.ACQuire:MODe?
명령어를 입력합니다.일부 명령은 계측기를 동시에 설정하고 쿼리할 수 있습니다.예를 들어,*CAL?
명령은 일부 장비에서 자가 교정 루틴을 실행한 다음 교정 결과를 반환합니다.
유사한 명령어는 계층 구조 또는 "트리"[3] 구조로 그룹화됩니다.예를 들어, 계측기에서 측정을 읽는 명령은 "로 시작합니다.MEASure
". 계층 내의 특정 하위 명령어는 콜론으로 중첩됩니다.:
)의 문자입니다.예를 들어, "DC 전압 측정" 명령은 다음과 같은 형식을 취합니다.MEASure:VOLTage:DC?
"AC 전류 측정" 명령어는 다음 형식을 취합니다.MEASure:CURRent:AC?
.
: MEASure : VOLTage : DC ? : AC ? : CURRent : DC ? : AC ? ...
명령어 생략
명령어 구문은 대문자와 소문자가 혼재된 문자를 보여줍니다.명령어를 대문자와 소문자만 전송하도록 생략하는 것은 대문자와 소문자를 [3]전송하는 것과 같은 의미를 가집니다.
예를 들어, 명령어 "는 다음과 같습니다.SYSTem:COMMunicate:SERial:BAUD 2400
는 RS-232 시리얼 통신 인터페이스를 2400비트/초로 설정합니다.이것은 대체적으로 "라고 축약될 수도 있다.SYST:COMM:SER:BAUD 2400
". 쿼리 명령어"SYSTem:COMMunicate:SERial:BAUD?
" 또는SYST:COMM:SER:BAUD?
"는 현재 보레이트를 보고하도록 계측기에 지시합니다.
명령어 연결
하나의 문자열에 있는 계측기에 여러 명령을 실행할 수 있습니다.세미콜론 문자( )로 구분된 단순한 명령어로 구성됩니다.;
예를 들어, "직류 전압을 측정한 후 AC 전류를 측정"하는 명령은 다음과 같이 실행됩니다.MEASure:VOLTage:DC?;:MEASure:CURRent:AC?
.
콜론으로 시작하는 간단한 명령어(:
)는 명령트리의 루트에 관해 해석됩니다.그 이외의 경우는, 암묵적으로 앞의 커맨드의 마지막 노드를 참조합니다(이미 아스타리스크로 시작하지 않은 경우).예를들면,
: 소스:FREQuency:START 100;정지 200
메시지의 줄임말입니다.
: 소스:FREQuency:START 100;:SOURce: FREQuency:정지 200
논쟁들
일부 명령어에서는 추가 인수가 필요합니다.인수는 명령어 뒤에 지정되며 [3]공백으로 구분됩니다.예를 들어, 계측기의 트리거 모드를 "일반"으로 설정하는 명령은 ""으로 지정될 수 있습니다.TRIGger:MODe NORMal
"여기, 이 단어는"NORMal
"는 "에 대한 인수로 사용됩니다.TRIGger:MODe
" 명령어.
정수 인수
정수 인수를 받아들이는 명령어에서는 값을 10진수, 16진수, 8진수, 이진수 등 여러 컴퓨터 번호 형식으로 지정할 수 있습니다.마지막 세 가지 형식은 SCPI의 [3]기반이 되는 IEEE 488.[10]2에 의해 정의됩니다.10 진수(기수 10)는 프리픽스가 붙지 않고, 16 진수(기수 16)는 프리픽스가 붙습니다.#H
또는#h
, 8진수(기수 8)와#Q
또는#q
, 및 2진수(기수 2)는 다음과 같습니다.#B
또는#b
. 16 진수는 대문자(ABCDEF) 또는 소문자(abcdef) 또는 혼합 대문자(aBcDeF) 중 하나를 사용할 수 있습니다.8진수에서는 숫자 0과의 시각적 [10]혼란을 최소화하기 위해 문자 "O" 대신 문자 "Q"를 선택했습니다.
다음 인수 예는 수치적으로 동일합니다.
- 소수점:
26
- 16진수:
#H1A
또는#h1a
- 8진수:
#Q32
또는#q32
- 바이너리:
#B11010
또는#b11010
「 」를 참조해 주세요.
- IEEE-488(GPIB)
- 가상 기기 소프트웨어 아키텍처(VISA)
- 계측기 드라이버
- TCP 및 UDP 포트 번호 목록 - TCP 포트 5025 및 UDP 포트 5025의 scpi-raw
레퍼런스
- ^ Tektronix TDS2010 디지털 오실로스코프 프로그래머 매뉴얼, 2020, 291페이지.
- ^ Rigol DS1074Z 오실로스코프 프로그래머 설명서, 2019년, 264페이지.
- ^ a b c d e f g h SCPI-1999 사양, SCPI 컨소시엄.
- ^ ni.com - GPIB 기록 - 개발자 영역
- ^ "History of GPIB". National Instruments. Retrieved 2010-02-06.
In 1990, the IEEE 488.2 specification included the Standard Commands for Programmable Instrumentation (SCPI) document.
- ^ a b "SCPI". IVI Foundation. Retrieved 2010-06-02.
- ^ IEEE Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation, Institute of Electrical and Electronics Engineers, 1992, ISBN 1-55937-238-9, IEEE Std 488.2-1992
- ^ 1985년 프로젝트메이트
- ^ "GPIB 101, A Tutorial of the GPIB Bus". ICS Electronics. p. 5, paragraph=SCPI Commands.
- ^ a b c Standard Digital Interface for Programmable Instrumentation- Part 2: Codes, Formats, Protocols and Common Commands (Adoption of (IEEE Std 488.2-1992). IEEE. doi:10.1109/IEEESTD.2004.95390. ISBN 978-0-7381-4100-8.
- ^ "Replaced or Withdrawn Publications". IEC. Archived from the original on 2012-04-17. Retrieved 2010-02-06.
외부 링크
- SCPI Consortium, 공식 웹사이트
- 사양
- SCPI-1999 사양, Volume 1-4, 무료, 819 페이지 PDF 파일.
- IEEE 488.2-1992 사양, 비용 44달러, PDF 파일로 제공.
- IEEE/IEC 60488-2-2004 사양, 비용 332달러, PDF 파일로 제공.
- 테스트 장비 SCPI 예시
- Keysight InfiniiVision 2000 X 시리즈 오실로스코프 프로그래머 가이드, 938 페이지 PDF 파일.