SCPI - Standard Commands for Programmable Instruments Standardowe polecenia programowanych urządzeń Model przyrządu. Podstawowe podsystemy funkcjo...
5 downloads
19 Views
472KB Size
SCPI - Standard Commands for Programmable Instruments Standardowe polecenia programowanych urządzeń
Model przyrządu.
Podstawowe podsystemy funkcjonalne przyrządów. Drzewa poleceń SCPI. Słowa kluczowe - nazwy węzłów. Formułowanie poleceń SCPI. Węzły domyślne. Węzły AUTO. Urządzenia z zwielokrotnionymi podsystemami funkcjonalnymi.
Korzyści wynikające z SCPI.
Jednolity sposób porozumiewania się z przyrządami
(język
przyrządów)
pozwala
programowania istotnie
ułatwić
posługiwanie się nimi, zarówno podczas przygotowania również
nowej
modernizacji
istniejącego Definicja
systemu
aplikacji lub
jak
rozbudowy
pomiarowego.
standardowych
poleceń
urządzeniowych wymaga określenia: alfabetu, zasad pisowni słów oraz zdań, słownictwa, czyli zbioru dostępnych wyrazów oraz ich znaczenia.
Rys.1. Relacje standardów systemu pomiarowego.
SCPI oparto na ustaleniach standardu IEEE
488.2 w zakresie stosowanego alfabetu oraz syntaktyki
komunikatów
i
danych
(rys.1).
Zasadniczy problem jest jednak związany z budową
wyczerpującego
określających
zbioru
programowane
wyrazów
zasoby
funkcjonalne dowolnego urządzenia. Wyrazy muszą
mieć
odniesieniu
jednoznaczne
od
wszystkich
znaczenia
w
produkowanych
urządzeń. Dodatkowo musi istnieć możliwość wzbogacania słownictwa w celu zaspokojenia potrzeb i
nowo
rozwijających
powstających się
technik
urządzeń
pomiarowych
z zachowaniem zgodności wstecznej. Do rozwiązania tego problemu wykorzystano:
uogólniony
model
programowanego
urządzenia;
koncepcję nagłówków złożonych zawartą w specyfikacji IEEE 488.2.
Rys.1. Relacje standardów systemu pomiarowego.
Uogólniony model przyrządu pokazuje jego
elementy
funkcjonalne
oraz
przepływ
sygnału przez nie (rys.2). Konkretny przyrząd wykorzystuje z
zwykle
tylko
przedstawionych
część
elementów
funkcjonalnych. Każdy blok modelu grupuje pewne
odrębne
zasoby
funkcjonalne
przyrządu charakterystyczne dla danego bloku.
Bloki
funkcjonalne
stanowią
podsystemy
przyrządu.
Sterowanie
zasobami
funkcjonalnymi
podsystemu
realizuje
się
danego za
pomocą
poleceń należących do podsystemu.
W ten sposób SCPI grupuje polecenia w 28 podstawowych
podsystemach.
Poza
pokazanymi na rysunku 2, w specyfikacji SCPI są jeszcze zdefiniowane : CONTrol,
HCOPy, INSTrument, MMEMory, PROGram, STATus, TEST, TRACe, DATA, UNIT, VXI oraz grupa poleceń MEAS.
Rys.2.Model programowanego urządzenia.
Podstawowe podsystemy funkcjonalne urządzeń pomiarowych. ROUTe
MEMory
INPut
MMEMory
SENse
INSTrument
CALCulate
STATus
TRIGer
SYSTem
DISPlay FORMat SOURce OUTPut
Drzewa poleceń SCPI. SCPI
grupuje
polecenia
w 28 podstawowych podsystemach.
Polecenia
danej
zasobami odpowiadającego
grupy
sterują
funkcjonalnymi podsystemu
funkcjonalnego urządzenia.
Rys.3. Podstawowe podsystemy poleceń.
W
poszczególnych
następuje
zasobów
kolejne
podsystemach grupowanie
funkcjonalnych
oraz
związanych z nimi poleceń, itd. Rys.4. Przykładowe grupy poleceń podsystemu SENSe.
Każdy podsystem (grupa) na dowolnym poziomie powstałej struktury stanowi jej węzeł i jest nazwany odpowiednim słowem kluczowym,
którego
brzmienie
powinno
kojarzyć się z kryjącymi się za nim funkcjami.
Węzłami takiej struktury są więc grupy zasobów funkcjonalnych i związanych z nimi
poleceń.
prowadzą
w
węzłów
Kolejne końcu
podziały
do
końcowych
grup
wytypowania dotyczących
konkretnych zasobów funkcjonalnych. Są nimi
wierzchołki
drzewa
danego
podsystemu.
Struktura
drzewa
podstawowego dotyczące
Rys.5. Fragment podsystemu SENSe z pokazaniem wierzchołków drzewa poleceń.
danego
podsystemu
obrazuje
możliwości
programowania
tego
podsystemu funkcjonalnego urządzenia.
Ostatni węzeł każdej gałęzi dotyczy konkretnego zasobu funkcjonalnego urządzenia ale, aby w poleceniu
programującym określić go jednoznacznie, należy podać nazwy podsystemów do których należy. Dlatego nagłówek polecenia przyjmuje formę ścieżki podającej nazwy kolejnych podsystemów od poziomu korzenia do wierzchołka, który jest nazwą bezpośrednią programowego zasobu. W rezultacie typowy nagłówek polecenia SCPI jest ciągiem nazw separowanych znakiem dwukropka i stanowi zdanie opisujące jednoznacznie programowy zasób: :SENSe:VOLTage:RANGe:AUTO ( automatyczne dobieranie podzakresu przetwornika pomiaru napięcia ) Całe polecenie SCPI składa się z nagłówka oraz ewentualnych argumentów polecenia : :SENSe:VOLTage:RANGe:AUTO:DIRection DOWN :SENSe:VOLTage:RANGe:LOWer Przedstawiona koncepcja hierarchicznego grupowania zasobów funkcjonalnych urządzenia oraz poleceń
dotyczących sterowania nimi zapewnia:
stosowanie krótkich nazw węzłów z zachowaniem pełnej jednoznaczności, ponieważ ich znaczenie wynika dodatkowo z kontekstu położenia w drzewie poleceń. Identyczne nazwy węzłów nie powodują kolizji, jeśli tylko występują w różnych gałęziach podsystemu;
możliwość rozbudowy drzewa na każdym poziomie;
zachowanie zgodności wstecznej.
Wychodząc z przedstawionych założeń dotyczących tworzenia hierarchicznej struktury poleceń oraz zakładając wykorzystanie ustaleń specyfikacji IEEE 488.2 odnośnie syntaktyki poleceń i danych umowa SCPI definiuje: Model podstawowy urządzenia oraz modele pochodne. Zasady tworzenia nazw węzłów (słów kluczowych). Zasady zapisu poleceń urządzeniowych.
Dodatkowe typy danych oraz uściślenia danych wyrażeniowych. Słownik poleceń w odniesieniu do ogółu urządzeń pomiarowych (drzewa podsystemów, słowa kluczowe i ich znaczenie).
Nowe elementy w systemie raportowania statusu. Model podsystemu TRIGger. Klasy urządzeń SCPI.
SCPI zakłada zgodność urządzeń ze specyfikacją IEEE 488.2. Polecenia wspólne IEEE 488.2 są zatem dodatkowym podzbiorem poleceń urządzeniowych SCPI z tym, że tylko 13 z nich urządzenia zgodne z SCPI muszą obowiązkowo stosować. Są to:
*CLS - Zerowanie systemu statusowego. *ESE - Ustawienie maski standardowego rejestru zdarzeń. *ESE? - Zapytanie o maskę standardowego rejestru zdarzeń. *ESR? - Zapytanie o zawartość standardowego rejestru zdarzeń. *IDN? - Zapytanie o dane identyfikacyjne. *OPC - Zgłoszenie wykonania operacji bitem OPC. *OPC? - Zgłoszenie wykonania operacji odpowiedzią '1'. *RST - Zerowanie urządzenia. *SRE - Ustawienie maski rejestru statusowego. *SRE? - Zapytanie o maskę rejestru statusowego. *STB? - Zapytanie o zawartość rejestru statusowego. *TST? - Wykonaj testowanie i podaj wynik testowania. *WAI - Czekaj na zakończenie operacji nakładkowych.
Zasadniczą częścią specyfikacji SCPI jest słownik poleceń. Podlega on systematycznemu rozwojowi tak, że każdego roku ukazuje się zmodernizowana
wersja specyfikacji. Modyfikacje dotyczą głównie słownika poleceń. SCPI nie jest standardem przyjętym przez organizacje normalizacyjne właśnie z powodu systematycznego uzupełniania specyfikacji. Jest tylko dobrowolną umową
producentów sprzętu pomiarowego. Pielęgnacją specyfikacji w zakresie jej rozwoju i zachowania zgodności wstecznej zajmuje się specjalnie powołane do tego celu stowarzyszenie producentów aparatury pomiarowej.
Słowa kluczowe - nazwy węzłów. Nazwa węzła może przyjmować formę długą (pełna nazwa) lub formę mnemonika. Obowiązują następujące reguły tworzenia słów kluczowych oraz ich mnemoników:
1. Słowo kluczowe czteroznakowe lub krótsze jest jednocześnie mnemonikiem: Free -> FREE Auto - > AUTO
2. Mnemonik dłuższego słowa stanowią jego cztery pierwsze znaki: Frequency -> FREQ Voltage -> VOLT
3. Mnemonik kończący się samogłoską skraca się do trzech znaków: Power -> POW Attenuation -> ATT
4. Słowo kluczowe, którego pełna nazwa jest określona frazą, jest złożeniem pierwszego znaku pierwszego wyrazu z ostatnim słowem zdania: Direct Sequence -> Dsequence -> DSEQ Negative Transition -> Ntransition -> NTR
Słowa kluczowe - nazwy węzłów. Podane zasady dotyczą wszystkich nazw używanych w SCPI, czyli nazw węzłów, argumentów znakowych, zastępczych wartości liczbowych, nazw używanych w argumentach wyrażeniowych itd.
Wszystkie nazwy użyte w poleceniu SCPI zapisuje się w formie : długiej (słowa kluczowego) -> CONFigure lub
krótkiej (mnemonika słowa kluczowego) -> CONF Nazwa użyta w poleceniu może być zapisana małymi lub wielkimi literami. Jeśli używa się długiej formy zwyczajowo przyjęło się zapisywać część odpowiadającą mnemonikowi wielkimi literami a pozostałą część małymi:
CURRent
TRIGger
Urządzenie akceptuje obie formy, wobec czego korzystniej jest używać oszczędniejszą formę krótką. Niedopuszczalne są zapisy pośrednie, np. TRIGg -> źle CONFig - > źle W odpowiedziach dostarczanych przez urządzenia nazwy podawane są zawsze w formie krótkiej przy użyciu wielkich liter. Zasada powyższa dotyczy nagłówków odpowiedzi oraz danych znakowych.
Formułowanie poleceń SCPI. Format polecenia prostego: :XXXXxx [ :YYYYyyy..........[ :ZZZZzzzz ] ] [ ? ] < SPACJA > [ argumenty ]
< : > znak oznaczający przesunięcie do następnego poziomu drzewa poleceń. Pierwszy znak < : > oznacza powrót do poziomu korzenia. W pierwszym poleceniu komunikatu złożonego rozpoczynający znak < : > można pominąć: :SENS :VOLT :DC :RANG 10.0 lub z uproszczeniem SENS :VOLT :DC :RANG 10.0 < ? > znak zapytania używa się do formułowania zapytań, np. : VOLT :DC :RANG? - zapytanie o aktualne ustawienia;
VOLT :DC :RANG? DEF - zapytanie o ustawienie domyślne < , > przecinek jest znakiem separującym argumenty polecenia: CONF :VOLT :DC
1.0, 0.001
CONF :VOLT :DC?
MAX, MIN
spacja lub tabulacja służy do odseparowania nagłówka polecenia od argumentów. < ; > średnik jest separatorem poleceń prostych wchodzących w skład komunikatu złożonego.
Formułowanie poleceń SCPI. Polecenie złożone programujące podsystem TRIGger można zapisać następująco: TRIG :COUN 10 ; :TRIG :DEL 2 ; :TRIG :SOUR BUS Znak < ; > nie zmienia aktualnego położenia w drzewie poleceń. Zatem jeśli kolejne polecenia dotyczą tego samego drzewa i węzłów leżących na tym samym poziomie nie trzeba definiować pełnej ścieżki od poziomu korzenia. Polecenie można zapisać prościej w postaci: TRIG :COUN 10 ; DEL 2 ; SOUR BUS Jeśli jednak kolejne polecenia proste dotyczą różnych poziomów w drzewie poleceń danego podsystemu lub różnych podsystemów, wówczas należy podać pełną ścieżkę od poziomu korzenia: TRIG :SOUR BUS ; :INP :ATT 10 ; :TRIG :DEL 2
Terminator komunikatu i odpowiedzi w SCPI :
1.Obowiązującym terminatorem jest znak (SCPI stosuje się nie tylko do GPIB).
2.W GPIB można stosować lub .
Rys.6. Fragmenty podsystemów INPut i TRIGger.
Formułowanie poleceń SCPI. Węzły domyślne. W drzewie poleceń mogą występować węzły domyślne. Pozwalają one : skracać postać często używanych poleceń; rozbudować drzewo poleceń z zachowaniem zgodności wstecznej. Upraszczanie poleceń:
Rys.7. Fragment podsystemu OUTPut z węzłem domyślnym STATe.
Formułowanie poleceń SCPI. Polecenie dołączania i odłączania wyjścia sygnału należy do często stosowanych, stąd w konkretnej implementacji węzeł ten może być węzłem domyślnym. Pełna forma polecenia ma postać: OUTP :STAT ON natomiast uproszczona: OUTP ON Rozbudowa drzewa poleceń:
Rys.8. Rozbudowa podsystemu z zachowaniem zgodności wstecznej.
Formułowanie poleceń SCPI.
Program opracowany dla przyrządu wykorzystującego
I
wersję
drzewa
poleceń powinien funkcjonować na analogicznym przyrządzie stosującym nową wersję drzewa poleceń.
Węzły AUTO Umożliwiają
automatyczne
ustawienie
parametrów
programowanego
zasobu
zapewniające uzyskanie optymalnych warunków przetwarzania sygnału. Np. polecenie: INP :ATT :AUTO ON zapewni kanałowi wejściowemu maksymalną czułość bez przesterowania. AUTO dysponuje argumentami ON, OFF i ONCE. Argument ONCE poleca wykonanie automatycznego doboru oraz zamrożenie uzyskanego stanu, co odpowiada włączeniu i wyłączeniu funkcji AUTO. Przykłady zastosowania węzła AUTO : CAL :ZERO :AUTO ON
-
kalibruj zero przetwornika przy każdym pomiarze;
SENS :VOLT :AC :RANG :AUTO ON-
dobieraj optymalnie podzakresy przyrządu do
mierzonego sygnału; SOUR :VOLT :LEV :IMM :AMPL :AUTO ON
-
skoryguj
automatomatycznie.
ustawienie napięcia wyjściowego, aby nie przekroczyć limitu mocy.
Przyrządy zwielokrotnione. Przyrząd
może
jednostek
zawierać
kilka
odpowiadających
logicznych
funkcjonalnie
dedykowanemu przyrządowi. Potrójne źródło napięć może być traktowane jako trzy logiczne przyrządy. Poszczególne jednostki logiczne nie
muszą
mieć
takich
samych
własności
funkcjonalnych jak również nie muszą być jednocześnie dostępne w sensie sterowania.
Rys.9. Model warstwowy przyrządu.
Przyrządy zwielokrotnione. Wśród podsystemów poleceń takiego urządzenia musi występować podsystem INSTrument, który dostarcza mechanizmu identyfikacji i wyboru jednostki logicznej przez nazwę lub numer :
INST :NSEL 2 - wybiera jednostkę logiczną nr 2;
SYSTem i TRACe.
INST [ :SEL ] P6V - wybiera jednostkę logiczną
W celu wyróżnienia wielokrotnych wystąpień
o nazwie P6V
określonych podsystemów oraz zapewnienia
jednoznacznego
Po wyborze wszystkie polecenia podsystemów (OUTPut, kierowane
SOURce,
CALCulate
automatycznie
itd.)
do
zasobów
są
dodaje
programowania się
do
nazw
ich węzłów
przyrostki numeryczne, np. SENSe1, SENSe2 itd.
wybranej
Nazwa z przyrostkiem 1 jest równoważna
jednostki logicznej.
nazwie podstawowej (SENSe1 = SENSe).
Urządzenia z zwielokrotnionymi podsystemami
funkcjonalnymi.
W modelach urządzeń wyróżnia się trzy typy ogólne
W
urządzeniu
podstawowe
podsystemy
funkcjonalne mogą występować wielokrotnie.
Nie dotyczy to tylko podsystemów FORMat, INSTrument,
MEMory,
MMEMory,
STATus,
modeli.
wykorzystuje
Model
określone
warstwowy, podsystemy
który co
najwyżej jednokrotnie i wobec tego nazwy
bloków przyjmują swoje formy podstawowe.
Przyrządy zwielokrotnione. Model z klonowaniem, który powtarza
model
warstwowy
stosownie
do
potrzeb. Tutaj nazwy powtórzonych podsystemów
są
rozszerzone
odpowiednimi numerami od 1 do N, odpowiednio
dla
każdego
powtórzenia.
Rozszerzenie
dotyczy
tylko
nazw
podsystemów.
podstawowych Model
taki
jest
odpowiedni dla urządzenia mającego kilka
niezależnych
funkcjonalnych.
właściwości
Rys.10. Model przyrządu z klonowaniem modelu warstwowego.
Przyrządy zwielokrotnione.
Model
amorficzny
którym
mogą
podsystemy podsystemów
się
(bezpostaciowy), powtarzać
funkcjonalne
w
pewne wewnątrz
podstawowych,
np.
wykorzystuje się kilka podsystemów POWer (przetworników
mocy)
należących
do
podsystemu podstawowego SENSe.
Przykład pokazuje wykorzystanie dwóch wystąpień podsystemu POWer w systemie SENS. Tym razem wewnątrz systemu SENSe tylko podsystemy POWer muszą dostać przyrostki
wyróżniające
wystąpienie.
ich
wielokrotne
Rys.11. Przykład modelu amorficznego.
Typy kompatybilności uzyskane dzięki SCPI.
Konkretne urządzenie stosuje tylko określony podzbiór poleceń zdefiniowanych w specyfikacji SCPI. Tylko te, które są związane z implementowanymi w urządzeniu zasobami funkcjonalnymi.
Korzyści uzyskane z zastosowania zunifikowanych poleceń :
Po pierwsze urządzenie to steruje się identycznie jak inne przyrządy tego samego typu. Np. wszystkie multimetry będą posiadały takie same polecenia dotyczące sterowania funkcją pomiarową, podzakresem, wyzwalaniem itd. Oczywiście ich możliwości
funkcjonalne mogą się różnić, ale w obszarze ich odpowiedniości obsługa będzie identyczna (cecha ta jest nazywana kompatybilnością wertykalną).
Druga korzyść wiąże się z stosowaniem takich samych poleceń do programowania podobnych funkcji w przyrządach. Np. ustalenie filtracji czy sposobu sprzężenia (AC/DC) odbywa się przy użyciu tych samych poleceń niezależnie od rodzaju urządzenia (multimetr, częstościomierz, oscyloskop). Odpowiadające sobie funkcje są umiejscowione w tym samym podsystemie modelu ogólnego i stąd polecenia programujące będą identyczne. Nazywa się tę cechę kompatybilnością funkcjonalną.
Istnieje też możliwość stosowania identycznych poleceń do wykonania pomiarów wybranych wielkości przez różne urządzenia stosujące nawet odmienne techniki pomiarowe. Przykładowo czas narostu zbocza sygnału można zmierzyć za pomocą
oscyloskopu
lub
licznika
stosując
identyczne
polecenie.
Uzyskuje
się
to
za
pomocą
poleceń
zorientowanych
sygnałowo należących do specjalnego podsystemu MEASure. Polecenia te są bardzo przyjazne dla użytkownika, ponieważ nie wymagają od niego znajomości szczegółów funkcjonowania przyrządu. Ta cecha jest określana jako kompatybilność horyzontalna.
Netografia
http://www.kmeif.pwr.wroc.pl/elektron/interfejsy/scpi/tre_scpi.htm https://pl.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instr uments http://mikrosys.prz.edu.pl/SPWF_pliki/SCPI.pdf
Dziękuję za uwagę
Radosław Anderski Wydział Elektryczny – Informatyka, blok E