440 likes | 623 Views
Standard Commands for Programmable Instruments (SCPI). Model urządzenia pomiarowego. Przełącznik sygnałów. Formatowanie wyniku pomiaru. Funkcja pomiarowa. Wyzwalacz. Pamięć. Generator sygnału. Uproszczony model instrumentu pomiarowego. Uproszczony model urządzenia generującego sygnał.
E N D
Model urządzenia pomiarowego Przełącznik sygnałów Formatowanie wyniku pomiaru Funkcja pomiarowa Wyzwalacz Pamięć Generator sygnału
Uproszczony model instrumentu pomiarowego Uproszczony model urządzenia generującego sygnał
Rozszerzony model funkcji pomiarowej Matematyczna obróbka wyniku Wejście Czujnik
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:<function> <parameters>; READ:<function>? <parameters>[,<source list>];
MEASure[:<presentation layer>] [:<fundamental measurement layer>] :<measurement function>? przykład: MEASure:ARRay:VOLTage:DC? READ[:<function>]?<parameters>– polecenie to może być podzielone na dwa: INITiate [:IMMediate] i FETCH? przykład: CONFigure:VOLTage:RISE:TIME 10 PCT, 90 PCT, 0.001 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:<function><parameters>[,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.
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 Xn jest rzeczywiste RMS SCALar MAXimum – AVG(n) = MAX(X1 … Xn) MINimum – AVG(n) = MIN(X1 ….Xn)
CALCulate:AVERage:TYPE COMPlex | ENVelope | MAXimum | MINimum | RMS | SCALar Gdy Xn jest zespolone RMS SCALar MAXimum – AVG(n) = MAX(MAG(X1)…MAG(Xn)) 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 <liczba>– czas startu dla filtra. Zakres zależy od urz. [GATE]:TIME:STOP <liczba> - czas stopu dla filtra. Zakres zależy od urz. [GATE]:TIME:SPAN <liczba> - 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] <wyrażenie matematyczne +, - , * , /> CALCulate:MATH:STATE ON|OFF CALCulate:SMOothing– wygładzanie. CALCulate:SMOothing:STATe ON|OFF – włączone lub nie. CALCulate:SMOothing:APERture <liczba>
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 <wartość_liczbowa> CALibration:ZERO– mierzona wartość przez sensor traktowana jest jako zero. CALibration:ZERO:AUTO ON|OFF|ONCE
Komendy zbioru format FORMat:READings:BORDerNORMal|SWAPped– SWAPped to odwrocone bity w bajcie. FORMat:READings:DATA<type>[,<length>] <type> - ASCii, INTeger, UINTeger, REAL, HEXadecimal, OCTal, BINary, and PACKed. FORMat:SREGisterASCii | BINary | HEXadecimal | OCTal – format danych z rejestrów stanów.
INPut:ATTenuation <wartość_liczbowa> 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 <wartość_liczbowaA> - odjęcie bazowego prądu zmiennego. INPut:BIAS:CURRent:DC <wartość_liczbowaA> - odjęcie bazowego prądu stały. INPut:BIAS:VOLTage:AC <wartość_liczbowaV> INPut:BIAS:VOLTage:DC<wartość_liczbowaV>
INPut:COUPlingAC|DC|GROund – zwarcie sygnału AC, DC INPut:FILTer:AWEighting – filtr o charakterze czułości słuchu. INPut:FILTer:HPASs:FREQuency <wartość_liczbowa> - częstotliwość graniczna filtru gurnoprzepustowego. INPut:FILTer:HPASs:STATe ON | OFF INPut:FILTer:LPASs:FREQuency <wartość_liczbowa> INPut:FILTer:LPASs:STATe ON | OFF INPut:GAIN <wartość_liczbowa> - wzmocnienie. INPut:GAIN:AUTO ON | OFF | ONCE INPut:GAIN:STATe ON | OFF INPut:IMPedance <wartość_liczbowa_Ohm> INPut:OFFSet <wartość liczbowa> INPut:OFFSet:STATe ON | OFF INPut:POLarityNORMal|INVerted
ABORt – kasowanie układu wyzwalania. ARM:SEQuence:DEFine <nazwa_procedury> ARM:SEQuence:LAYer:DELay <wartość_liczbowa> - czas od zdarzenia do pomiaru. ARM:SEQuence:LAYer:ECOunt <liczba_naturalna> - 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:SOURceAINTernal | 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 <wartość_liczbowa> 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.
DATA:CATalog? – w wyniku dostaniemy nazwy katalogów z danymi i/lub ustawieniami. DATA:COPY <trace_name>, ( <trace_name> | <data_handle> ) – kopiowanie danych pomiędzy różnymi katalogami. DATA [:DATA]? – w odpowiedzi otrzymujemy dane zgromadzone w pamięci. DATA:DATA:VALue <trace_name>,<numeric_value>,<numeric_value> - zapisuje dane do określonego katalogu i numeru komurki pamięci. DATA:DATA:VALue? <trace_name>,<numeric_value> - czyta dane z określonej komórki pamięci DATA:DELete[:NAME] <trace_name> - kasowanie utworzonego przez użytkownika katalogu. TRACe:DELete:ALL – jak wyżej ale wszystkich katalogów. DATA:FEED <trace_name>, ( <data_handle> | 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 <trace_name>[,<numeric_value>] – definiuje ile np. pomiarów ma być zapisanych w danym katalogu. DATA:POINts? <trace_name> - w wyniku dostajemy informację o ilości wpisów.
DATA:AUTO <trace_name>,(ON | OFF | ONCE) – automatyczne dostosowanie rozmiaru pamięci.
FREQuency:CW 2000000 lub FREQuency 2000000 FREQuency:CW:AUTO OFF lub FREQuency:AUTO OFF