Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Standaryzacja poleceń urządzeniowych
SCPI Standaryzacja poleceń urządzeniowych
2
Standardowe polecenia programowanych urządzeń:
SCPI - Standard Commands for Programmable Instruments Jednolity sposób porozumiewania się z przyrządami (język programowania przyrządów) istotnie ułatwia : Opracowanie nowej aplikacji ; Modernizację lub rozbudowę istniejącego systemu pomiarowego. Definicja standardowych poleceń urządzeniowych wymaga określenia: Alfabetu ( stosowany kod ), Zasad pisowni słów oraz zdań ( syntaktyka poleceń i odpowiedzi ), Słownictwa, czyli zbioru dostępnych wyrazów oraz ich przeznaczenia ( ustalenie nazw zasobów funkcjonalnych urządzeń, czyli nagłówków poleceń ).
3
Umowa SCPI: SCPI oparto na ustaleniach standardu IEEE w zakresie stosowanego alfabetu oraz syntaktyki komunikatów i danych. Zasadniczy problem jest związany z ustaleniem zbioru nazw zasobów funkcjonalnych: Wyczerpującego i jednoznacznego dla różnorodnych typów produkowanych urządzeń. Rozszerzalnego w celu zaspokojenia potrzeb nowo powstających urządzeń i rozwijających się technik pomiarowych. Zachowania zgodności wstecznej w miarę rozwoju słownictwa. Zasadniczą częścią specyfikacji SCPI jest słownik poleceń. Podlega on systematycznemu rozwojowi tak, że co kilka lat ukazuje się zmodernizowana wersja specyfikacji. 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 (członkowie założyciele-sponsorzy, udziałowcy, stowarzyszeni).
4
Koncepcja rozwiązania problemu nazw :
Do rozwiązania problemu nazewnictwa zasobów funkcjonalnych urządzeń ( nagłówków poleceń ) wykorzystano: Uogólniony model programowanego urządzenia; Koncepcję nagłówków złożonych zawartą w specyfikacji IEEE
5
CALCulate:FUNCtion AVERage
Model urządzenia : Model przedstawia schemat blokowy ilustrujący działanie urządzenia; Każdy blok grupuje zasoby dotyczące pewnego obszaru charakterystycznych funkcjonalności urządzenia; Bloki modelu stanowią podsystemy funkcjonalne urządzenia. Nazwy podsystemów oddają typ ich funkcjonalności. Polecenia, które programują funkcje danego podsystemu zawsze rozpoczynają się jego nazwą, np.: INPut:ATTenuation CALCulate:FUNCtion AVERage
6
Podsystem funkcjonalny :
Wewnątrz każdego podsystemu, jego funkcjonalności podlegają dalszej klasyfikacji, której wynikiem są podgrupy funkcjonalne podsystemu (np. VOLTage, CURRent i FUNCtion podsystemu SENSe); Polecenia, które programują funkcje danej podgrupy podsystemu zawierają w swoim nagłówku nazwę podsystemu oraz podgrupy, np.: SENSe:VOLTage:RANGe 2
7
Struktura hierarchiczna zasobów funkcjonalnych :
W wyniku wyznaczenia podgrup zasobów funkcjonalnych o podobnym przeznaczeniu powstaje struktura drzewiasta charakteryzująca możliwości funkcjonalne danego podsystemu urządzenia. Każda podgrupa na dowolnym poziomie powstałej struktury tworzy węzeł nazwany odpowiednim słowem kluczowym. Nazwa węzła powinna kojarzyć się z kryjącymi się za nim funkcjami. Kolejne podziały grup prowadzą w końcu do wytypowania węzłów końcowych dotyczących konkretnych zasobów funkcjonalnych. Są nimi wierzchołki drzewa danego podsystemu.
8
Struktura hierarchiczna zasobów a nagłówek polecenia :
Ostatni węzeł każdej gałęzi dotyczy konkretnego zasobu funkcjonalnego urządzenia. Aby w poleceniu programującym określić taki węzeł jednoznacznie, należy podać nazwy wszystkich podgrup do których należy. Dlatego nagłówek polecenia definiujący programowany zasób, przyjmuje formę ścieżki podającej nazwy kolejnych podgrup od poziomu korzenia do wierzchołka, który bezpośrednio określa programowany zasób.
9
Nagłówek polecenia SCPI:
W rezultacie typowy nagłówek polecenia SCPI jest ciągiem nazw węzłów separowanych znakiem dwukropka i stanowi zdanie opisujące jednoznacznie programowy zasób: :SENSe:VOLTage:RANGe:AUTO:DIRection ( 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 2
10
Zalety nagłówka złożonego :
Koncepcja określenia programowanego zasobu na podstawie hierarchicznego pogrupowania zasobów funkcjonalnych urządzenia zapewnia: Możliwość stosowania krótkich nazw węzłów z zachowaniem pełnej ich jednoznaczności. Znaczenie węzła wynika z jego nazwy i położenia w drzewie poleceń. Identyczne nazwy węzłów nie powodują niejednoznaczności, jeśli tylko występują w różnych gałęziach podsystemu (np. RESolution, RANGe, AUTO); Możliwość rozbudowy drzewa na każdym poziomie; Zachowanie zgodności wstecznej.
11
Zakres definicji SCPI :
Umowa SCPI wykorzystuje ustalenia specyfikacji IEEE i dodatkowo definiuje: Model podstawowy urządzenia oraz modele pochodne (podsystemy i ich znaczenie). Zasady tworzenia nazw węzłów (słów kluczowych). Zasady zapisu poleceń urządzeniowych (syntaktyka poleceń). Dodatkowe typy danych (boolowskie i rozszerzenia numerycznych) oraz uściślenia danych wyrażeniowych. Słownik poleceń w odniesieniu do ogółu urządzeń pomiarowych (drzewa podsystemów, nazwy węzłów i ich znaczenie). Nowe elementy w systemie raportowania statusu. Model podsystemu TRIGger. Klasy urządzeń SCPI.
12
Forma długa i krótka nazwy SCPI :
Słowa kluczowe używane w poleceniach SCPI obejmują nazwy: węzłów w podsystemach funkcjonalnych urządzeń ( SENSe, INPut, CALCulate); argumentów znakowych (EXTernal, IMMediate, NORMal, INVerted); zastępczych wartości liczbowych (MAXimum, INFinity, DOWN); nazw używanych w argumentach wyrażeniowych (IMPLied). Nazwa może przyjmować formę długą (pełna nazwa) lub formę mnemonika: Forma długa jest pełnym słowem o długości do 12 znaków, np.. FREQUENCY; Forma krótka jest skrótem formy długiej , najczęściej w postaci czterech jej pierwszych znaków, np. FREQ; W dokumentacji podawana jest forma długa z wyróżnieniem formy krótkiej zapisem wielkimi literami, np. FREQuency; W poleceniach można stosować obie formy a nawet mieszać je. Nie są dozwolone formy pośrednie: SOURce:LIST:FREQuency? - poprawne polecenie; tylko forma długa SOURce:LIST:FREQ? - poprawne polecenie; forma długa i krótka Source:list:FrEqUeNcY? - poprawne polecenie; wielkość liter nie ma znaczenia SOUR:LIST:FREQuen? - niepoprawne polecenie;
13
Zasada tworzenia formy krótkiej nazwy SCPI :
Reguły tworzenia mnemoników słów kluczowych : Słowo kluczowe czteroznakowe lub krótsze jest jednocześnie mnemonikiem: Free ® FREE Auto ® AUTO AC ® AC Mnemonik dłuższego słowa stanowią jego cztery pierwsze znaki: Frequency ® FREQ Voltage ® VOLT Mnemonik kończący się samogłoską skraca się do trzech znaków: Power ® POW Attenuation ® ATT Dla nazwy określonej frazą, forma długa jest złożeniem pierwszych znaków wyrazów składowych i ostatniego wyrazu frazy. Forma krótka zgodnie z zasadami 1 do 3: Not A Number ® Nanumber ® NAN Negative Transition ® Ntransition ® NTR Peak To Peak ® PTPeak ® PTP
14
Formy dokumentowania poleceń SCPI :
Dobrym sposobem przedstawienia i dokumentacji drzewa poleceń jest jego graficzna prezentacja. Obraz drzewa poleceń jednoznacznie prezentuje powiązania węzłów i pozwala szybko oraz bezbłędnie formułować nagłówek żądanego polecenia. Znak : oznacza przesunięcie na kolejny poziom w drzewie poleceń. Nawiasy kwadratowe obejmujące nazwę węzła oznaczają węzły domyślne. Węzeł domyślny można pominąć w nagłówku polecenia, np. : SENSe:VOLTage:DC:RANGe:UPPer 5 jest identyczne z poleceniem VOLTage:RANGe 5 Mankamentem graficznej prezentacji są jej rozmiary oraz brak skutecznej możliwości opisu argumentów poleceń oraz dodania uwag.
15
Forma tabelaryczna opisu poleceń SCPI (1):
Polecenie Argumenty Uwagi [:SENSe] :CURRent | :POWer | :VOLTage :AC | [:DC] :PROTection [:LEVel] <numeric_value> | MAXimum | MINimum :STATe <boolean> :CLEar No query Tabela pokazuje hierarchię węzłów drzewa poleceń danego podsystemu przez odpowiednie umiejscowienie nazwy węzła w pierwszej kolumnie tabeli. Węzeł podstawowy (root node) znajduje się zawsze w lewej skrajnej pozycji pierwszego wiersza. Węzły niższego poziomu znajdują się poniżej wiersza rodzica i są przesunięte o jedną pozycję w prawo w stosunku do umiejscowienia nazwy węzła rodzica. Ważnym nagłówkiem polecenia jest pełna ścieżka od węzła podstawowego (root node) do końca danej gałęzi (leaf node). Np. : SENSe:CURRent:AC – nie jest ważnym poleceniem ponieważ węzeł AC nie stanowi końca żadnej gałęzi.
16
Forma tabelaryczna opisu poleceń SCPI (2):
Polecenie Argumenty Uwagi INPut :ATTenuation <numeric_value> | MAXimum | MINimum :STATe <boolean> Ważnym nagłówkiem polecenia jest pełna ścieżka od węzła podstawowego (root node) do końca danej gałęzi (leaf node). Spotyka się jednak wyjątki od tej zasady. Występują one wówczas, gdy węzeł posiada dalsze rozgałęzienia, ale jednocześnie może mieć argumenty. Jeśli jest użyty z argumentami jest traktowany jako węzeł końcowy. Np.: INPut:ATTenuation polecenie poprawne; węzeł ATT traktowany jako końcowy. INPut:ATTenuation:STATe ON - polecenie poprawne; węzeł ATT jest rodzicem węzła STATe.
17
Forma tabelaryczna opisu poleceń SCPI (3):
Polecenie Argumenty Uwagi [:SENSe] :CURRent | :POWer | :VOLTage :AC | [:DC] :PROTection [:LEVel] <numeric_value> | MAXimum | MINimum :STATe <boolean> :TRIPped? Query only :CLEar No query [...] – oznaczenie węzła domyślnego, np. [:DC] ; ... | ... – możliwość wyboru jednej z alternatywnych wartości lub słów kluczowych, np. : <numeric_value> | MAXimum | MINimum – oznacza możliwość podania argumentu jako wartości liczbowej lub określenia zastępczego MAXimum lub MINimum; :CURRent | :POWer | :VOLTage – oznacza możliwość zastosowania na tej pozycji słowa kluczowego CURRent , POWer lub VOLTage; { ... | ... | ... } – zakres dostępnych wartości, np. { <numeric_value> | MAXimum | MINimum }
18
Forma tabelaryczna opisu poleceń SCPI (4):
Polecenie Argumenty Uwagi [:SENSe] :CURRent | :POWer | :VOLTage :AC | [:DC] :PROTection [:LEVel] <numeric_value> | MAXimum | MINimum :STATe <boolean> :CLEar No query Argumenty występują zasadniczo przy węzłach końcowych gałęzi struktury drzewiastej. Są one opisywane : Typem danych ( nazwa typu danych w nawiasach ostrych ), np. <numeric_value> dla wartości liczbowych, <boolean> dla wartości boolowskich, <string> dla danych stringowych; Zbiorem dostępnych wartości dyskretnych, np. BUS | IMM | EXT Np. [SENS]:VOLT[:DC]:PROT[:LEV] { <numeric_value> | MAXimum | MINimum } – VOLT:PROT 5.0 TRIG:SOUR { BUS | IMM | EXT } – TRIG:SOUR IMM Uwaga: mogą występować argumenty domyślne ( [....] ).
19
Forma tabelaryczna opisu poleceń SCPI (5):
Polecenie Argumenty Uwagi [:SENSe] :CURRent | :POWer | :VOLTage :AC | [:DC] :PROTection [:LEVel] <numeric_value> | MAXimum | MINimum :STATe <boolean> :TRIPped? Query only :CLEar No query Wszystkie polecenia z argumentami mają odpowiadającą formę pytającą, tutaj: SENSe: :PROTection:LEVel? oraz SENSe: :PROTection:STATe? Polecenie wykonuje specyficzne ustawienie zasobu funkcjonalnego a zapytanie dostarcza obowiązujący stan ustawienia zasobu. Typ danych zwracany przez urządzenie w odpowiedzi na zapytanie jest określony przez typ argumentu stosowanego w odpowiadającym poleceniu nastawczym. Argumenty zastępcze (np. MAX, MIN) są stosowane w zapytaniach do uzyskania informacji o możliwościach nastawy danego zasobu.
20
Forma tabelaryczna opisu poleceń SCPI (6):
Polecenie Argumenty Uwagi [:SENSe] :CURRent | :POWer | :VOLTage :AC | [:DC] :PROTection [:LEVel] <numeric_value> | MAXimum | MINimum :STATe <boolean> :TRIPped? Query only :CLEar No query Polecenia bez argumentów są używane do inicjalizacji pewnej specyficznej akcji, np. zerowania : SENSe:VOLTage:AC:PROTection:CLEar Polecenie tego typu nie mają odpowiadającej formy pytającej i jest to wyraźnie zaznaczane w dokumentacji. Występują także polecenia posiadające wyłącznie formę pytającą. Dotyczy to zasobów, których stan jest określony przez urządzenie i dlatego można się tylko zapytać o ich aktualny stan. Np.: SENSe:VOLTage:AC:PROTection:TRIPped? (samoczynne wyłączenie ochrony) *ESR? (zawartość standardowego rejestru zdarzeń)
21
Aliasy w poleceniach SCPI :
Jednym z celów projektu SCPI było zapewnienie stosowania takich samych poleceń w stosunku do identycznych zasobów funkcjonalnych w różnych urządzeniach. Różne dziedziny techniki stosują odmienną terminologię. W celu pokonania tego problemu SCPI pozwala stosować aliasy, czyli różne słowa kluczowe dla określonego węzła. Np. do określenia częstotliwości nośnej sygnału generatora stosuje się mnemonik CW (continuous wave) lub jego alias FIXed. Częstotliwość nośną sygnału generatora można ustawić jednym z przedstawionych poleceń: FREQuency:CW 10MAHZ lub FREQuency:FIXed 10MAHZ
22
Nagłówek polecenia SCPI :
SENSe:VOLTage:DC:RANGe:UPPer 5 oraz SENSe:VOLTage:DC:RANGe:LOWer 5 Ścieżka nagłówka (header path) jest identyczna dla obu poleceń: SENSe:VOLTage:DC:RANGe Nagłówek polecenia SCPI jest pełną ścieżką prowadzącą od węzła podstawowego do wybranego wierzchołka gałęzi drzewa podsystemu. Proste polecenia muszą stosować tak budowane nagłówki. W poleceniach złożonych nie zawsze trzeba stosować pełne nagłówki. W szczególnych przypadkach można pominąć powtarzające się części poleceń składowych ( header path ). Parser zapamiętuje nagłówek ścieżki polecenia zaczynającego się dwukropkiem i stosuje go do następnego polecenia, jeśli nie rozpoczyna się ono dwukropkiem ( nie definiuje nagłówka od poziomu korzenia).
23
Nagłówek polecenia SCPI (2):
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Dwukropek poprzedzający pierwszy węzeł w nagłówku polecenia oznacza, że jest to węzeł podstawowy (root). :SENSe:VOLTage:RANGe – SENSe jest węzłem podstawowym :RANGe:LOWer – RANGe nie jest węzłem podstawowym; Command Error :SENSe:VOLTage:RANGe 5;:RESolution 0.1 – RESolution nie jest węzłem podstawowym; Command Error Brak dwukropka poprzedzającego nagłówek polecenia oznacza, że dla tego polecenia obowiązuje ścieżka nagłówka określona w poprzedzającym poleceniu ( nie będącym poleceniem wspólnym ). :SENSe:VOLTage:DC:RANGe 5; RESolution 0.1 – RESolution jest węzłem występującym pod ścieżką określoną w poprzedzającym poleceniu (:SENSe:VOLTage:DC); Polecenie poprawne!
24
Nagłówek polecenia SCPI (3):
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Urządzenie SCPI zakłada, że nowe polecenie (po zakończonym terminatorem poleceniu poprzednim) startuje zawsze od węzła podstawowego. W takim przypadku wiodący dwukropek nie jest potrzebny, ale może występować. SENSe:VOLTage:RANGe 0.2 :SENSe:VOLTage:RANGe 0.2 Pierwsze polecenie ( w poleceniu złożonym) może być wysłane z lub bez wiodącego dwukropka. Jego nagłówek jest zawsze pełny (od węzła podstawowego). SENSe:VOLTage:RANGe 0.2;:SENSe:VOLTage:RESolution 20E-3 Zastosowanie wiodącego dwukropka przed drugim poleceniem wymaga pełnego nagłówka , czyli powtórzenia pełnej ścieżki od węzła podstawowego.
25
Nagłówek polecenia SCPI (4):
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Polecenia proste użyte w poleceniu złożonym (poza pierwszym) mogą pominąć ścieżkę nagłówka, pod warunkiem, że jest ona identyczna z obowiązującą w poprzedzającym poleceniu. Jeśli tak nie jest, polecenie składowe musi zastosować pełny nagłówek , łącznie z wiodącym dwukropkiem. Polecenie wspólne (np. *cls) nie zmienia obowiązującej ścieżki nagłówka. :SENSe:VOLTage:RANGe 5;RESolution 20E-3 – RESolution jest węzłem występującym pod ścieżką określoną w poprzedzającym poleceniu (:SENSe:VOLTage ). :SENSe:VOLTage:RANGe 5;*ESR 30;RESolution 20E-3 – Polecenie *ESR nie zmienia ścieżki określonej w poleceniu ustawiającym podzakres (:SENSe:VOLTage ). :SENSe:VOLTage:RANGe 5;:RESolution 20E-3 – Wiodący dwukropek drugiego polecenia wskazuje , że węzeł RESolution jest węzłem podstawowym. Command Error, ponieważ nie ma takiego węzła podstawowego.
26
Nagłówek polecenia SCPI (5):
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Polecenia proste użyte w poleceniu złożonym (poza pierwszym) mogą pominąć ścieżkę nagłówka, pod warunkiem że jest ona identyczna z obowiązującą w poprzedzającym poleceniu. Jeśli tak nie jest polecenie składowe musi zastosować pełny nagłówek , łącznie z wiodącym dwukropkiem. :SENSe:VOLTage:RANGe:LOWer 0.1; RESolution 20E-3 – RESolution nie jest węzłem występującym pod ścieżką określoną w poprzedzającym poleceniu (:SENSe:VOLTage:RANGe ); Command Error. SENSe:VOLTage:RANGe 0.2; SENSe:VOLTage:RESolution 20E-3– SENSe nie jest węzłem występującym pod ścieżką określoną w poprzedzającym poleceniu (:SENSe:VOLTage ); Command Error.
27
Nagłówek polecenia - węzły domyślne (1) :
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Parser urządzenia zapamiętuje aktualną ścieżkę polecenia ( np. SENSe:VOLTage:AC:RANGe:UPPer 2 ); Aktualną ścieżkę zeruje włączenie zasilania, polecenie z dwukropkiem na początku oraz terminator polecenia. Polecenie bez wiodącego znaku dwukropka jest podczas analizy składniowej dołączane do aktualnej ścieżki zapamiętanej przez urządzenie; ( utworzenie pełnej postaci polecenia). SENSe:VOLTage:AC:RANGe:UPPer 2; LOWer 2 Do LOWer zostanie dołączona ścieżka polecenia poprzedzającego - SENSe:VOLTage:AC:RANGe: tworząc polecenie SENSe:VOLTage:AC:RANGe: LOWer 2
28
Nagłówek polecenia - węzły domyślne (2):
Polecenie Argumenty Uwagi [:SENSe] :VOLTage :AC | [:DC] :RANGe [:UPPer] <numeric_value> :LOWer :RESolution Domyślny węzeł, który może wystąpić jako ostatni element nie jest uwzględniany w określeniu aktualnej ścieżki, jeśli nie został jawnie wyspecyfikowany: np. SENSe:VOLTage:AC:RANGe:UPPer oraz SENSe:VOLTage:AC:RANGe 2 SENSe:VOLTage:DC:RANGe:UPPer 2; LOWer 1 – Polecenie poprawne; LOWer jest węzłem pod aktualną ścieżką polecenia. SENSe:VOLTage:DC:RANGe 2; LOWer 1 – Polecenie błędne; LOWer nie jest węzłem pod aktualną ścieżką polecenia.
29
Cel stosowania węzłów domyślnych :
Węzły domyślne : Upraszczają postać często używanych poleceń: SENSe:VOLTage:AC:RANGe:UPPer po opuszczeniu węzłów domyślnych VOLTage:RANGe 2 Pozwalają rozbudować drzewo poleceń z zachowaniem zgodności wstecznej. OUTPut:FILTer ON OUTPut:FILTer:LPASs ON OUTPut:FILTer ON Program opracowany dla przyrządu wykorzystującego I wersję drzewa poleceń powinien funkcjonować na analogicznym przyrządzie stosującym nową wersję drzewa poleceń.
30
Zwielokrotnione podsystemy funkcjonalne urządzeń:
Podstawowe podsystemy funkcjonalne mogą występować wielokrotnie w urządzeniu. Nie dotyczy to tylko podsystemów FORMat, INSTrument, MEMory, MMEMory, STATus, SYSTem i TRACe. W celu wyróżnienia wielokrotnych wystąpień określonych podsystemów oraz zapewnienia jednoznacznego programowania ich zasobów dodaje się do nazw węzłów przyrostki numeryczne, np. SENSe1, SENSe2 itd. Nazwa z przyrostkiem 1 jest równoważna nazwie podstawowej (SENSe1 = SENSe). W modelach urządzeń wyróżnia się trzy ogólne typy modeli: Model podstawowy, w którym dany podsystem występuje jednokrotnie. Model z klonowaniem, w którym model podstawowy występuje kilkakrotnie. Model amorficzny, w którym powtarzają się tylko pewne podsystemy funkcjonalne. Model podstawowy (warstwowy) wykorzystuje podsystemy jednokrotnie ; zatem ich nazwy przyjmują swoje formy podstawowe.
31
Zwielokrotnione podsystemy:
Model z klonowaniem. Nazwy powtórzonych podsystemów są rozszerzone numerami od 1 do N, odpowiednio dla każdego powtórzenia. Rozszerzenie dotyczy tylko nazw podstawowych podsystemów. Model taki jest odpowiedni dla urządzenia mającego kilka niezależnych , równoległych kanałów o podobnych lub identycznych własnościach. Model amorficzny. Powtarzają się pewne podstawowe podsystemy funkcjonalne (np. INPut) oraz pewne podsystemy wewnątrz podsystemów podstawowych (np. POWer należący do podsystemu podstawowego SENSe).
32
Przyrządy zwielokrotnione:
Przyrząd może posiadać kilka logicznych jednostek odpowiadających funkcjonalnie odrębnym urządzeniom i obsługiwanych wspólnym interfejsem. 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. Potrójne źródło napięć HPE3631 jest przykładem takiego urządzenia. Posiada trzy źródła napięć w postaci osobnych jednostek logicznych przyrządu. Wśród podsystemów podstawowych 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; INST [ :SEL ] P6V - wybiera jednostkę logiczną o nazwie P6V Po wyborze jednostki logicznej wszystkie polecenia dotyczące podsystemów (OUTPut, SOURce, CALCulate itd.) są kierowane do tej jednostki. Część podsystemów podstawowych dotyczy całego urządzenia, np. podsystem STATus, FORMat itp.
33
Główne kategorie przyrządów:
Podstawowa funkcja Typ przyrządu Podstawowy podsystem Przykłady Pomiar sygnału Przyrząd pomiarowy SENSe Woltomierz, oscyloskop, licznik, termometr Generacja sygnału Źródło sygnału SOURce Generator fali, zasilacz Rozprowadzenie sygnału Urządzenie przełączające ROUTe Komutator kanałów, multiplekser Główne podsystemy przyrządu pomiarowego. Węzeł SENSe jest węzłem domyślnym. Główne podsystemy źródła sygnału. Węzeł SOURce jest węzłem domyślnym.
34
Podsystem SENSe (sensor; sense):
Podsystem SENSe grupuje wszystkie funkcjonalności dotyczące przetworzenia parametrów sygnałów na ich reprezentacje liczbowe. Wspomniane funkcjonalności dotyczą zarówno ustawienia parametrów stosowanych przetworników jak i sposobu akwizycji danych ( wyniki skalarne, wektorowe itp.). Różnorodność sygnałów i ich parametrów oraz metod ich pomiarów powoduje, że podsystem ten jest najbardziej rozbudowanym spośród wszystkich podstawowych podsystemów SCPI. Specyfikacja podsystemu dotyczy ogółu urządzeń pomiarowych. Typowy przyrząd nie implementuje oczywiście wszystkich możliwości funkcjonalnych zawartych w opisie podsystemu SENSe. Przyrząd implementuje tylko niezbędny podzbiór możliwości funkcjonalnych potrzebnych do realizacji zadań, dla których został zaprojektowany. Implementowane drzewo poleceń podsystemu SENSe jest uproszczeniem ogólnego. Uproszczeniem związanym z wykorzystaniem określonych funkcjonalności tego podsystemu.
35
Wybór funkcji pomiarowej:
Polecenie Argumenty Uwagi Opis :SENSe :FUNCtion :CONCurrent <boolean> Tylko jedna / wiele współbieżnie :OFF <sensor_function>[,....] Wyłącz według listy :ALL No query Wyłącz wszystkie :COUNt? Query only Liczba wyłączonych funkcji [:ON] Włącz według listy Włącz wszystkie Liczba włączonych funkcji :STATe? <sensor_function> Stan funkcji (ON/OFF) Multimetr HP34401 jest wielofunkcyjnym urządzeniem, w którym można uaktywnić tylko jedną z funkcji. Grupa FUNCtion jest właściwie pojedynczym węzłem podsystemu SENSe: Polecenie Argumenty Uwagi Opis :FUNCtion <sensor_function> Włącz wybraną funkcję
36
Specyfikacja funkcji pomiarowej (<presentation_layer>):
<sensor_function> - jest daną typu stringowego. <sensor_function> ::= ”<presentation_layer> <function_name> [<input_block> [,<input_block>]] [ ON <subnode> [,<subnode>]]” <presentation_layer> - określa według jakiej wielkości fizycznej będą pozyskiwane dane. presentation_layer Przykład Opis [XNONe:] ”XNONe:VOLTage:DC” Brak osi X. Wynik jest skalarem. XTIMe: ”XTIMe:VOLTage:DC” Wyniki są funkcją czasu. XFRequency: ”XFRequency:VOLTage:AC” Wyniki są funkcją częstotliwości. XPOWer: Wyniki są funkcją mocy. XVOLtage Wyniki są funkcją napięcia. XCURrent: Wyniki są funkcją prądu. XTIMe określa, że rezultaty funkcji przetwarzania są pozyskiwane w ustalonych odstępach czasu przez zadany okres czasu ( oscyloskopy, analizatory stanów logicznych). Np. XFRequency określa, że rezultaty funkcji przetwarzania są pozyskiwane stosownie do częstotliwości, która jest funkcją czasu (przemiatanie częstotliwości w analizatorze).
37
Specyfikacja funkcji pomiarowej (<function_name>):
<sensor_function> ::= ”<presentation_layer> <function_name> [<input_block> [,<input_block>]] [ ON <subnode> [,<subnode>]]” <function_name> - konfiguruje przetwornik do określonego rodzaju funkcji pomiarowej . <function_name> := <function>[:RATio | :SUM] - opcjonalny przyrostek <function> - nazwa funkcji ; 16 głównych typów ; np. AM – głębokość, częstotliwość, zniekształcenia modulacji, stosunek sygnał/szum (SINAD, SNR, THD). function Opis AM Głębokość modulacji AM POWer CURRent RESistance FM Dewiacja modulacji FM TINTerval Czas trwania FREQuency TOTalize Liczba zdarzeń FRESistance Rezystancja czteropunktowo VOLTage :SENSe:FUNCtion ”FREQuency” – konfiguruje przetwornik do pomiaru częstotliwości; :SENSe:FUNCtion ”FREQuency:RATio 1,2” – konfiguruje przetwornik do pomiaru stosunku częstotliwości; :SENSe:FUNCtion ”VOLTage:DC:SUM 1,2” – konfiguruje przetwornik do pomiaru sumy napięć z wejść 1 i 2;
38
Dodatki w specyfikacji funkcji pomiarowej :
<sensor_function> ::= ”<presentation_layer> <function_name> [<input_block> [,<input_block>]] [ ON <subnode> [,<subnode>]]” <input_block> - określa numerem blok INPut , z którego korzysta przetwornik. Numery odpowiadają numerom podsystemów INPut w urządzeniu. :SENSe:FUNCtion ”VOLTage:AC 2” – konfiguruje przetwornik do pomiaru napięcia sygnału z INPut2; :SENSe:FUNCtion ”FREQuency:RATio 1,2” – konfiguruje przetwornik do pomiaru stosunku częstotliwości, dana z INPut1 jest licznikiem a z INPut2 mianownikiem; <subnode> - alternatywne wykorzystanie powielonych węzłów w amorficznej strukturze bloku SENSe. (Dotyczy tylko węzłów SWEep oraz AVERage). :SENSe:FUNCtion ” VOLTage:AC 2 ON SWEep1” – konfiguruje przetwornik do pomiaru napięcia AC z wejścia INPut2 z zastosowaniem przemiatania określonego węzłem SWEep1 ”VOLTage:AC 1 ON SWEep1” lub ”VOLTage:AC 1” (domyślny kanał 1) ”VOLTage:AC 2 ON SWEep1” brak formy uproszczonej
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.