프로그래밍 가능한 계측기에 대한 표준 명령

Standard Commands for Programmable Instruments
원격 SCPI [1]명령을 수신하는 RS-232(DE9) 및 IEEE-488 커넥터를 보여주는 Tektronix TDS210 디지털 오실로스코프의 후면 패널.
원격 SCPI [2]명령을 수신하는 USB-B 및 이더넷(RJ45) 커넥터를 보여주는 Rigol DS1074Z 디지털 오실로스코프의 후면 패널.

SCPI(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

「 」를 참조해 주세요.

레퍼런스

  1. ^ Tektronix TDS2010 디지털 오실로스코프 프로그래머 매뉴얼, 2020, 291페이지.
  2. ^ Rigol DS1074Z 오실로스코프 프로그래머 설명서, 2019년, 264페이지.
  3. ^ a b c d e f g h SCPI-1999 사양, SCPI 컨소시엄.
  4. ^ ni.com - GPIB 기록 - 개발자 영역
  5. ^ "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.
  6. ^ a b "SCPI". IVI Foundation. Retrieved 2010-06-02.
  7. ^ 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
  8. ^ 1985년 프로젝트메이트
  9. ^ "GPIB 101, A Tutorial of the GPIB Bus". ICS Electronics. p. 5, paragraph=SCPI Commands.
  10. ^ 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.
  11. ^ "Replaced or Withdrawn Publications". IEC. Archived from the original on 2012-04-17. Retrieved 2010-02-06.

외부 링크

  • SCPI Consortium, 공식 웹사이트
사양
테스트 장비 SCPI 예시