Standard Commands for Programmable Instruments (SCPI)
Model urządzenia pomiarowego PamięćWyzwalacz Przełącznik sygnałów Funkcja pomiarowa Formatowanie wyniku pomiaru Generator sygnału
Uproszczony model instrumentu pomiarowego Uproszczony model urządzenia generującego sygnał
Rozszerzony model funkcji pomiarowej Wejście Czujnik Matematyczna obróbka wyniku
Sense
Rozszerzony model generatora sygnałów
Komenda musi być wysłana wraz ze ścieżką: SENSe:DATA? Nawiasy [] oznaczają że parametr lub polecenie znajdujące się wewnątrz nich jest opcjonalne: SENSe:DATA? Nawias {} oznacza, że można użyć kilka parametrów. Znak | oznacza alternatywę lub. ? na końcu komendy to zapytanie. W wyniku urządzenie powinno nam przesłać informację o którą pytamy. Nie jest istotne czy komenda ma duże litery. Można skrócić komendy do ilości znaków pisanych dużymi literami.
Instrukcje pomiarowe MEASure? – to polecenie (jeżeli są ustawione warunki pomiaru) dokona pomiaru i wyśle dane. Dla wykorzystania wielu specyficznych ustawień to polecenie bywa dzielone na dwa: CONFigure i READ? ABORt; CONFigure: ; READ: ? [, ];
MEASure[: ] [: ] : ? przykład: MEASure:ARRay:VOLTage:DC? READ[: ]? – polecenie to może być podzielone na dwa: INITiate [:IMMediate] i FETCH? przykład: CONFigure:VOLTage:RISE:TIME 10 PCT, 90 PCT, S SWEep:TIME.05 S VOLTage:AC:RANGe 5 V READ:VOLTage:RISE:TIME? INITiate – wykonuje pomiar. FETCH? – obrabia wynik pomiaru i wysyła dane. CONFigure: [,source list] przykład: CONFigure:VOLTage:AC 5,.001
Podstawowe funkcje pomiarowe transducer
Zbiór komend matematycznych Zestaw ten służy do przeliczania zmierzonych i przetworzonych na formę reprezentacji cyfrowej danych.
Zbiór komend uśredniania
CALCulate:AVERage:TCONtrol EXPonential|MOVing|NORMal|REPeat EXPonential: Dla TYPE SCALar Xn rzeczywiste TYPE SCALar Xn zespolone TYPE RMS Xn rzeczywiste TYPE RMS Xn zespolone CALCULATE:AVERage:TCONtrol EXPonential dla TYPE:MINImum| MAXimum | ENVelope nieokreślona MOVing - W miarę dodawania nowych danych stare są wymazywane. REPeat – czyści dane i zeruje licznik, restartuje nowe uśrednianie. NORMal – uśrednianie ustawiane komendą TYPE.
CALCulate:AVERage:TYPE COMPlex | ENVelope | MAXimum | MINimum | RMS | SCALar COMPlex osobne sumowanie dla części rzeczywistej i zespolonej ENVelope – zachowane minimum i maksimum ze zbioru Xn Gdy X n jest rzeczywiste RMS SCALar MAXimum – AVG(n) = MAX(X 1 … X n ) MINimum – AVG(n) = MIN(X 1 ….X n )
CALCulate:AVERage:TYPE COMPlex | ENVelope | MAXimum | MINimum | RMS | SCALar Gdy X n jest zespolone RMS SCALar MAXimum – AVG(n) = MAX(MAG(X 1 )…MAG(X n )) MINimum – AVG(n) = MIN(MAG(X1)…MAG(Xn))
CALCulate:DATA? – czyta wynik systemu matematycznego. CALCulate:Derivative – liczy pochodną ze zbioru pomiarów. CALCulate:FEED – określa jakie dane mają być przetwarzane w systemie matematycznym. CALCulate:FILTER: [GATE] : TIME: STATe ON | OFF włącza lub wyłącza filtr czasowy. [GATE]: TIME:[:TYPE] BPASs | NOTCh BPASs – przepuszcza informacje w oknie czasowym. NOTCh – blokuje informacje w oknie czasowym. [GATE]:TIME:STARt – czas startu dla filtra. Zakres zależy od urz. [GATE]:TIME:STOP - czas stopu dla filtra. Zakres zależy od urz. [GATE]:TIME:SPAN - czas działania filtru od startu.
CALCulate:FORMat NONE | MLINear | MLOGarithmic | PHASe | REAL | IMAGinary | SWR | GDELay | COMPlex | NYQuist | NICHols | POLar | UPHase NONE – wyłaczenie przetwarzania danych. MLINear MLOGarithmic PHASe REAL IMAGinary SWR GDELay COMPlex|NYQuist POLar NICHols
CALCulate:MATH CALCulate:MATH[:EXPRession] CALCulate:MATH:STATE ON|OFF CALCulate:SMOothing – wygładzanie. CALCulate:SMOothing:STATe ON|OFF – włączone lub nie. CALCulate:SMOothing:APERture
Zbiór komend związanych z kalibracją
CALibration:ALL CALibration:ALL? CALibration:AUTO ON|OFF|ONCE - kalibracja z ustaloną częstością. CALibration:DATA? – przesyła ostatnie dane z kalibracji. CALibration:SOURce INTernal|EXTernal – sygnał referencyjny wewnętrzny|zewnętrzny CALibration:STATe ON|OFF CALibration:VALue CALibration:ZERO – mierzona wartość przez sensor traktowana jest jako zero. CALibration:ZERO:AUTO ON|OFF|ONCE
Komendy zbioru format FORMat:READings:BORDer NORMal|SWAPped – SWAPped to odwrocone bity w bajcie. FORMat:READings:DATA [, ] - ASCii, INTeger, UINTeger, REAL, HEXadecimal, OCTal, BINary, and PACKed. FORMat:SREGister ASCii | BINary | HEXadecimal | OCTal – format danych z rejestrów stanów.
Zbiór INPut
INPut:ATTenuation tłumienność. INPut:ATTenuation:AUTO ON | OFF | Once – zmienia tłumienność by osiągnąć maksimum czujnośći. INPut:ATTenuation:STATe ON | OFF INPut:BIAS:TYPE CURRent | VOLTage INPut:BIAS:STATe ON | OFF INPut:BIAS:CURRent:AC - odjęcie bazowego prądu zmiennego. INPut:BIAS:CURRent:DC - odjęcie bazowego prądu stały. INPut:BIAS:VOLTage:AC INPut:BIAS:VOLTage:DC
INPut:COUPling AC | DC | GROund – zwarcie sygnału AC, DC INPut:FILTer:AWEighting – filtr o charakterze czułości słuchu. INPut:FILTer:HPASs:FREQuency - częstotliwość graniczna filtru gurnoprzepustowego. INPut:FILTer:HPASs:STATe ON | OFF INPut:FILTer:LPASs:FREQuency INPut:FILTer:LPASs:STATe ON | OFF INPut:GAIN - wzmocnienie. INPut:GAIN:AUTO ON | OFF | ONCE INPut:GAIN:STATe ON | OFF INPut:IMPedance INPut:OFFSet INPut:OFFSet:STATe ON | OFF INPut:POLarity NORMal | INVerted
Komendy wyzwalające akcje pomiaru
ABORt – kasowanie układu wyzwalania. ARM:SEQuence:DEFine ARM:SEQuence:LAYer:DELay - czas od zdarzenia do pomiaru. ARM:SEQuence:LAYer:ECOunt - ile razy musi zajść zdarzenie aby uruchomić pomiar. ARM:SEQuence:LAYer:SLOPe POSitive | NEGative | EITHer – która z krawędzi sygnału wyzwalającego ma być uznana jako początek akcji pomiaru.
ARM:SEQuence:LAYer:SOURce AINTernal | BUS | ECLTrg | EXTernal | HOLD | IMMediate | INTernal | LINE | LINK | MANual | OUTPut | TIMer | TTLTrg AINTernal – Sygnał wyzwalający jest generowany przez specjalną funkcję użądzenia. BUS – wyzwolenie pomiaru następuje przez magistralę GPIB (*TRG | GET). ECLTrg – wyzwalanie przez VXI. EXTernal – wyzwalanie sygnałem z zewnątrz. HOLD – wstrzymanie wykrywania sygnału wyzwalającego. IMMediate – wykonanie pomiaru od razu. INTernal – wyzwoleniem jest sygnał mierzony przez urządzenie np. przekroczenie określonego napięcia w woltomierzu. LINE – źródłem jest poziom napięcia na zewnętrznej linii analogowej. LINK – definiowane przez komendę LINK. MANual – generowany przez wciśnięcie specjalnego klawisza. OUTPut – sygnał z wyjścia urządzenia (generatora). TIMer – sygnał z wewnętrznego zegara ustawiany komendą TIMer. TTLTrg – wyzwalanie przez linie VXI.
ARM:SEQuence:LAYer:TIMer INITiate INITiate:CONTinuous ON | OFF – jeżeli jest włączone to automatycznie przejście do kolejnego wyzwolenia pomiaru. OFF jednorazowe wyzwolenie i przejście do stanu IDLE. INITiate:IMMediate – Urządzenie przechodzi ze stanu IDLE do wykonania pełnego cyklu trigerowania.
Manipulowanie danymi zgromadzonymi w pamięci
DATA:CATalog? – w wyniku dostaniemy nazwy katalogów z danymi i/lub ustawieniami. DATA:COPY, ( | ) – kopiowanie danych pomiędzy różnymi katalogami. DATA [:DATA]? – w odpowiedzi otrzymujemy dane zgromadzone w pamięci. DATA:DATA:VALue,, - zapisuje dane do określonego katalogu i numeru komurki pamięci. DATA:DATA:VALue?, - czyta dane z określonej komórki pamięci DATA:DELete[:NAME] - kasowanie utworzonego przez użytkownika katalogu. TRACe:DELete:ALL – jak wyżej ale wszystkich katalogów. DATA:FEED, ( | NONE ) – definiuje jakie jest żródło danych zapisywanych do katalogu trace_name. DATA:FREE? – w odpowiedzi dostaniemy informacje ile jest jeszcze wolnego miejsca w pamięci a ile zajętego. DATA:POINts [, ] – definiuje ile np. pomiarów ma być zapisanych w danym katalogu. DATA:POINts? - w wyniku dostajemy informację o ilości wpisów.
DATA:AUTO,(ON | OFF | ONCE) – automatyczne dostosowanie rozmiaru pamięci.
Zastosowanie SCPI na przykładzie multimetru 34401A
FREQuency:CW lub FREQuency FREQuency:CW:AUTO OFF lub FREQuency:AUTO OFF