Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałWawrzyniec Suchański Został zmieniony 11 lat temu
1
Struktura systemu raportowania stanu urządzenia według SCPI.
Podsystem statusowy Struktura systemu raportowania stanu urządzenia według SCPI.
2
Ogólna struktura raportowania stanu urządzenia:
Bity sumaryczne struktur Bajt Statusowy – STB Maska rejestru STB Generator rsv Funkcja SR Generacja SRQ
3
Składnik rejestrowy struktury statusowej :
Definiowanie zdarzeń: Przejście L->H Przejście H->L Oba przejścia Żadne (wyłączenie) PTR NTR
4
Dostępne operacje na elementach struktury rejestrowej :
Przedstawiona konstrukcja struktury rejestrowej pozwala użytkownikowi w sposób elastyczny dostosowywać jej funkcjonowanie do potrzeb konkretnej aplikacji (definiowanie zdarzeń oraz kształtowanie komunikatu sumarycznego). Korzystanie z tych możliwości zapewniają odpowiednie polecenia ustawiające rejestry oraz zapytania zwracające zawartość wybranych rejestrów. W stosunku do poszczególnych rejestrów dowolnej struktury rejestrowej mogą być wykonywane następujące operacje : Zapis Czytanie Zerowanie Rejestr stanu NIE TAK Filtr NTR Filtr PTR Rejestr zdarzeń TAK ( *cls ) Rejestr maski
5
Polecenia obsługi elementów struktury rejestrowej :
:STATus : :CONDition? :EVENt? :ENABle <NRf> :ENABle? :NTRansition <NRf> :NTRansition? :PTRansition <NRf> :PTRansition? Nazwa rejestru Zapytanie o zawartość rejestru stanu. Zapytanie o zawartość rejestru zdarzeń. Ustawienie rejestru maski. Zapytanie o ustawienie rejestru maski. Ustawienie filtru NTR. Zapytanie o ustawienie filtru NTR. Ustawienie filtru PTR. Zapytanie o ustawienie filtru PTR. Przykłady: :STATus:OPERation:ENABle odmaskowanie bitów o wadze 1 i 4 rejestru zdarzeń. Wystąpienie jednego z tych zdarzeń spowoduje wystawienie komunikatu sumarycznego o wartości 1. :STATus:OPERation:PTRansition Zmiana stanu z L na H bitów o wadze 1 i 4 rejestru stanu wygeneruje zdarzenie rejestrowane wartością 1 na odpowiadających bitach rejestru zdarzeń.
6
Składnik kolejkowy struktury statusowej :
Składnik systemu raportowania stanu urządzenia o budowie kolejkowej jest buforem pamięci typu FIFO przeznaczonym do przechowywania sekwencji różnorodnych informacji. Bufor ma własności struktury pozwalającej gromadzić dane różnego typu. Komunikat sumaryczny kolejki wartością 1 sygnalizuje obecność w kolejce co najmniej jednej danej. Wartość zero oznacza, że kolejka jest pusta. Urządzenia zgodne z IEEE dysponują zawsze kolejką danych wyjściowych a dodatkowo zgodne z SCPI kolejką wykrytych błędów obsługi urządzenia.
7
Struktura raportowania statusu według IEEE 488.2 :
8
Rejestr statusowy urządzenia i jego polecenia :
Polecenie: *sre >
9
Standardowy rejestr zdarzeń :
PON – Power on URQ – User request (rzadko) CME – Command error EXE – Execution error DDE – Device dependent error QYE – Query error RQC – Request control (gdy C) OPC – Operation complete Polecenie: *ese >
10
Zastosowanie bitu OPC :
11
Polecenia wspólne systemu raportowania stanu :
Polecenia i zapytania wspólne obsługujące systemu raportowania stanu urządzenia: *CLS - Zeruj rejestry systemu raportowania stanu. *ESE <NRf> - Ustaw maskę rejestru zdarzeń. *ESE? - Zapytanie o maskę rejestru zdarzeń. *ESR? - Zapytanie o zawartość rejestru zdarzeń. *SRE <NRf> - Ustaw maskę rejestru statusowego. *SRE? - Zapytanie o maskę rejestru statusowego. *STB? - Zapytanie o bajt statusowy. *IST? - Zapytanie o komunikat ist urządzenia. *PRE <NRf> - Ustaw maskę rejestru PP. *PRE? - Zapytanie o maskę rejestru PP. Uwaga: Tylko gdy implementowana jest funkcja PP.
12
Rozszerzenia SCPI : Rejestr stanu działania (operacji) urządzenia
Rejestr stanu jakości działania urządzenia Kolejka błędów i zdarzeń
13
Rejestr stanu działania urządzenia (Operation Status):
Rejestr dostarcza danych o stanie typowych działań urządzenia. Większości bitów przypisano na stałe określone typy działań. Urządzenie wykorzystuje tylko bity związane z jego działaniem. Np. urządzenie typu SOURCe nie wykorzystuje bitu MEASuring. Niewykorzystywane bity mają zawsze wartość zero. Struktura standardowo dysponuje pięcioma rejestrami : CONDition NTRansition PTRansition EVENt ENABle
14
Opis rejestru stanu działania :
Bit Nazwa bitu Znaczenie CALibrating Wykonuje kalibrację 1 SETTing Oczekuje na ustabilizowanie sygnału 2 RANGing Wykonuje zmianę podzakresu 3 SWEeping Wykonuje proces przemiatania (sweep) 4 MEASuring Wykonuje pomiar 5 Waiting for TRIGger Warstwa TRIGger oczekuje na zdarzenie synchronizujące 6 .Waiting for ARM Warstwa ARM oczekuje na zdarzenie synchronizujące 7 CORRecting Wykonuje proces korekcji 8-12 Device specific Znaczenie ustala konstruktor urządzenia 13 INSTrument Summary Używany w przyrządach wielokrotnych 14 PROGram Running Wykonuje załadowany program 15 Not used
15
Przykład zastosowania :
:STATus:OPERation :CONDition? :EVENt? :ENABle <NRf> :ENABle? :NTRansition <NRf> :NTRansition? :PTRansition <NRf> :PTRansition? :STATus:OPERation:CONDition? – Zapytanie o stan operacji urządzenia. Np. jeśli odpowiedź dostarczy wartość 16 to oznacza to , że urządzenie jest w trakcie wykonywania pomiaru. :STATus:OPERation:NTRansition 17;PTRansition 0 – Polecenie definiuje dwa zdarzenia obowiązujące dla struktury; zakończenie kalibracji oraz pomiaru (przejścia stanów z H->L). :STATus:OPERation:ENABle 17 – Odmaskowanie zdarzenia z pozycji 0 i 4. Zakończenie pomiaru lub kalibracji spowoduje ustawienie bitu 7 bajtu statusowego STB. :STATus:OPERation:EVENt? – Zapytanie o zarejestrowane zdarzenia. Np. jeśli odpowiedź dostarczy wartość 17 to oznacza to , że od chwili ostatniego czytania rejestru EVENt zakończyła się co najmniej jedna kalibracja oraz co najmniej jeden pomiar.
16
Rejestr stanu jakości działania urządzenia (Questionable Status):
Rejestr dostarcza danych o jakości różnych aspektów działania urządzenia. Zgłoszenie zdarzenia kwestionującego nie musi oznaczać zaistnienia błędu; może to być ostrzeżenie, że nie osiągnięto oczekiwanych rezultatów. Np. źródło napięciowe ma ustawione pewne ograniczenie prądowe. Przy ustawianiu kolejnego napięcia ograniczenie to zostało przekroczone. Wtedy bit VOLTage zostanie ustawiony sygnalizując fakt ograniczenia napięcia wyjściowego. Urządzenie wykorzystuje wyłącznie bity związane z funkcjonowaniem urządzenia. Niewykorzystywane bity mają zawsze wartość zero. Struktura standardowo dysponuje pięcioma rejestrami : CONDition NTRansition PTRansition EVENt ENABle
17
Opis rejestr stanu jakości działania :
Bit Nazwa bitu Znaczenie VOLTage Kwestionowanie jakości sygnału napięciowego 1 CURRent Kwestionowanie jakości sygnału prądowego 2 TIME Kwestionowanie jakości sygnału zegarowego 3 POWer Kwestionowanie jakości sygnału mocy 4 TEMPerature Kwestionowanie wartości temperatury 5 FREQuency Kwestionowanie jakości częstotliwości sygnału 6 PHASe Kwestionowanie jakości fazy sygnału 7 MODulation Kwestionowanie jakości modulacji 8 CALibration Kwestionowanie jakości kalibracji 9-12 Device specific Znaczenie ustala konstruktor urządzenia 13 INSTrument Summary Używany w przyrządach wielokrotnych (urządzenie wielomodułowe) 14 Command warning Ostrzeżenie dotyczące pominięcia jednego z argumentów polecenia 15 Not used
18
Przykład zastosowania :
:STATus:QUEStionable :CONDition? :EVENt? :ENABle <NRf> :ENABle? :NTRansition <NRf> :NTRansition? :PTRansition <NRf> :PTRansition? :STATus: QUEStionable :CONDition? – Zapytanie o stany jakości. Np. jeśli odpowiedź dostarczy wartość 1 to oznacza to , że sygnał napięciowy nie jest stabilizowany. :STATus: QUEStionable :NTRansition 0;PTRansition 1 – Polecenie definiuje zdarzenie obowiązujące dla struktury; wyjście źródła z stabilizacji napięciowej generuje zdarzenie (przejście bitu VOLTage z L->H). :STATus: QUEStionable :ENABle 1 – Odmaskowanie zdarzenia z pozycji 0. Utrata stabilizacji napięciowej źródła spowoduje ustawienie bitu 3 bajtu statusowego (STB). :STATus: QUEStionable :EVENt? – Zapytanie o zarejestrowane zdarzenia. Np. jeśli odpowiedź dostarczy wartość 1 to oznacza , że od chwili ostatniego czytania rejestru EVENt źródło przynajmniej raz utraciło stabilizację napięcia.
19
Opis rejestr stanu jakości działania multimetru HP34401:
Bit Nazwa bitu Nazwa bitu w HP43401 Znaczenie VOLTage VOLTage Overload Range overload on VDC,VAC,Freq,Period, 1 CURRent CURRent Overload Range overload on DC and AC current function. 2 TIME Not used 3 POWer 4 TEMPerature 5 FREQuency 6 PHASe 7 MODulation 8 CALibration 9 Device specific Ohms Overload Range overload on 2 and 4-wire ohms. 10 11 Limit Low Reading is less than lower limit in limit test. 12 Limit Hight Reading exceeds upper limit in limit test. 13 INSTrument Summary 14 Command warning 15 Struktura korzysta z predefiniowanych zdarzeń i posiada tylko rejestr EVENt oraz ENABle.
20
Raportowanie błędów i zdarzeń :
Zdarzenia i błędy powstałe w urządzeniu są raportowane przez bity standardowego rejestru zdarzeń. Ustawiony bit wskazuje na wystąpienie zdarzenia lub błędu przypisanego do danego bitu. Zgłoszenie zdarzenia lub błędu jest dostępne dla aplikacji dotąd aż kontroler wyśle zapytanie o zawartość rejestru lub polecenie zerujące *CLS. Gdy tylko aplikacja zostanie poinformowana o sytuacji szczególnej , rejestr zdarzeń jest zerowany. Kolejność wystąpienia zdarzeń lub błędów nie jest możliwa do określenia. Rejestr zdarzeń dostarcza wyłącznie informacji o wystąpieniu sytuacji szczególnych w okresie od ostatniego czytania rejestru zdarzeń lub jego zerowania.
21
Kolejka błędów i zdarzeń :
Struktura raportowania statusu dysponuje kolejką błędów i zdarzeń powstałych w urządzeniu. Rekordy opisujące zaistniałe sytuacje szczególne są przechowywane w kolejce w sekwencji czasu ich wystąpienia. Kolejka jest buforem FIFO (First-In-First-Out). Dzięki temu kolejne odczyty zawartości kolejki dostarczą rekordy zdarzeń lub błędów w kolejności ich wystąpienia. Odczytany rekord jest usuwany z kolejki. Error/Event Queue dostarcza tych samych informacji co standardowy rejestr zdarzeń, ale dodatkowo uwidacznia ich czasową relację oraz liczbę wystąpień.
22
Rekord błędu / zdarzenia :
Rekord opisu błędu/zdarzenia posiada pole numeryczne i tekstowe rozdzielone znakiem przecinka. Pole numeryczne przechowuje numer błędu/zdarzenia w postaci liczby całkowitej. Wartość zero wskazuje brak zarejestrowanego błędu lub zdarzenia. Wartości ujemne są kodami błędów zdefiniowanych w umowie SCPI. Wartości dodatnie są zarezerwowane dla błędów specyficznych dla konkretnych urządzeń. Pole tekstowe zawiera daną stringową złożoną z dwóch części: Obowiązkowego opisu błędu/zdarzenia oraz opcjonalnego opisu wyjaśniającego uzależnionego od urządzenia. Obie części separuje znak średnika. Długość części tekstowej nie może przekraczać 255 znaków. Druga część jest opcjonalna i nie musi być implementowana w urządzeniu. Dostarcza dodatkowe informacje ułatwiające znalezienie przyczyn wystąpienia sytuacji szczególnej, np. : -131,"Invalid suffix;FREQuency:CENT 2.0E+5 dBuV"
23
Polecenia obsługi kolejki błędów i zdarzeń :
:SYSTem:ERRor :ALL? :CODE [:NEXT]? :COUNT? :ENABle :ADD <numeric_list> :DELete <numeric_list> [:LIST] <numeric_list> Zapytanie o całą zawartość kolejki błędów/zdarzeń oraz jej wyzerowanie. Zapytanie o całą zawartość kolejki błędów/zdarzeń (tylko kody) oraz jej wyzerowanie. Zapytanie o kolejny rekord kolejki błędów/zdarzeń (tylko kod) oraz jego usunięcie. Zapytanie o liczbę rekordów znajdujących się aktualnie w kolejce. Dodanie do listy nowych błędów i zdarzeń rejestrowanych w kolejce błędów/zdarzeń. Usunięcie z listy wskazanych błędów i zdarzeń rejestrowanych w kolejce. Zdefiniowanie listy błędów i zdarzeń rejestrowanych w kolejce błędów/zdarzeń. Zapytanie o kolejny rekord kolejki błędów/zdarzeń oraz jego usunięcie. SYSTem:ERRor[:NEXT]? - Polecenie jest implementowane w każdym urządzeniu zgodnym z SCPI. <numeric_list> - lista zdarzeń określana numerami zdarzeń, np. : SYSTem:ERRor:ENABle (-123,225:227) Oznacza, że rejestrowane będą w kolejce tylko wymienione zdarzenia, czyli zdarzenia o numerach –123, 225, 226 i 227.
24
Czytanie kolejki błędów i zdarzeń :
:SYSTem:ERRor :ALL? [:NEXT]? Zapytanie o całą zawartość kolejki błędów/zdarzeń oraz jej wyzerowanie. Zapytanie o kolejny rekord kolejki błędów/zdarzeń oraz jego usunięcie. Kolejka błędów/zdarzeń zawiera kilka rekordów : SYSTem:ERRor? – Zapytanie spowoduje umieszczenie w kolejce wyjściowej danych odpowiedzi zbudowanej na podstawie najstarszego zarejestrowanego rekordu błędu lub zdarzenia. Odczytany rekord zostaje usunięty z kolejki błędów/zdarzeń. Następne zapytanie pobierze kolejny rekord z kolejki błędów/zdarzeń itd. Przykład odpowiedzi: , ”Undefined header” , tutaj informuje, że nagłówek polecenia jest poprawny syntaktycznie ale nie jest zdefiniowany dla tego urządzenia (nie jest zaimplementowany w tym urządzeniu). Pusta kolejka błędów/zdarzeń: SYSTem:ERRor? – Zapytanie zwróci odpowiedź w postaci komunikatu: , ”No error” Nietypowe operacje rozpoznania błędów: SYSTem:ERRor:COUNt? – Zapytanie o liczbę zarejestrowanych zdarzeń. SYSTem:ERRor:ALL? – Zapytanie o wszystkie zarejestrowane zdarzenia. Odpowiedź dostarcza listę pełnych opisów wszystkich zdarzeń poczynając od najstarszego.
25
Przepełnienie kolejki błędów i zdarzeń :
Kolejka błędów/zdarzeń posiada ograniczoną pojemność. Często do 10 rekordów. W sytuacji zapełnienia kolejki ostatni zarejestrowany błąd zostaje zastąpiony błędem przepełnienia: -350, ”Queue overflow” Informacja o rzeczywistej przyczynie błędu zostanie stracona. Taka sytuacja powtarza się dotąd dopóki nie zostanie zwolnione miejsce w kolejce. Wszystkie informacje o zdarzeniach występujących w czasie przepełnienia kolejki zostaną utracone. Fakt zaistnienia pewnego zdarzenia jest zawsze zarejestrowany przez standardowy rejestr zdarzeń. Także gdy kolejka błędów jest pełna.
26
Standaryzacja numerów błędów i zdarzeń :
Kategoria błędów i zdarzeń Standardowy rejestr zdarzeń -100 do -199 Command Error CME -200 do –299 Execution Error EXE -300 do –399 Device-Specific Error DDE -400 do –499 Query Error QEY -500 Włączenie zasilania (zdarzenie) PON -600 Żądanie użytkownika (zdarzenie) URQ -700 Żądanie sterowania (zdarzenie) RQC -800 Operacja zakończona (zdarzenie) OPC Execution Error – polecenie jest poprawne syntaktycznie, ale w istniejących warunkach nie może być wykonane. Przykłady: -211,”Trigger ignored”- wyzwolenie ignorowane, urządzenie nie oczekuje na GET lub *TRG. -222,”Data out of range” – dana polecenia poza dopuszczalnym zakresem wartości. -280,”Program error” – błąd uruchomienia załadowanego do urządzenia programu. Device-Specific Error – urządzenie nie może w pełni poprawnie zrealizować określonej operacji. Błędy noszą nazwę specyficznych dla urządzenia, ale nie są określane przez producentów. Są to błędy występujące w większości urządzeń i obejmuje je standaryzacja SCPI. Przykłady: -311,”Memory error”- błąd pamięci wewnętrznej urządzenia, np. parzystości. -321,”Out of memory” – operacja wewnętrzna potrzebuje więcej pamięci niż jest dostępne. -340,”Calibration failed” – błąd kalibracji urządzenia.
27
Rozbudowany rejestr stanu jakości działania urządzenia :
Urządzenie może funkcjonować z wykorzystaniem wielu sygnałów danego typu, np. napięciowych. Wtedy podstawowy rejestr podaje informacje sumaryczne. Natomiast rejestr nadrzędny precyzuje , który z sygnałów danego typu charakteryzuje się kwestionowaną jakością.
28
Rejestr stanu jakości działania urządzenia wielokrotnego:
Rejestr stanu jakości działania modułu 1. Rejestr stanu jakości działania modułu 2. Rejestr zdarzeń modułów. Rejestr zdarzeń sygnałów napięciowych Typ sygnału. Numer modułu.
29
Rejestr stanu jakości działania zasilacza HP3631:
Brak regulacji napięciowej lub prądowej w jednym ze źródeł. Brak stabilizacji napięciowej lub prądowej w źródle P25V.
30
Rejestr stanu jakości działania zasilacza HP3631:
STATus:QUEStionable : INSTrument : ISUMmary<n>: ENABle <enable_value> : INSTrument : ISUMmary<n>: ENABle? : INSTrument : ISUMmary<n> [: EVENt]? : INSTrument : ISUMmary<n> : CONDition? : INSTrument : ENABle <enable_value> : INSTrument : ENABle? : INSTrument [: EVENt]? : ENABle <enable_value> : ENABle? [: EVENt]? Struktury STATus:QUEStionable:INSTrument:ISUMmary<n> posiadają rejestry CONDition, EVENt oraz ENABle oraz ustaloną definicję zdarzeń (rejestry PTR i NTR nie są dostępne). Struktury STATus:QUEStionable:INSTrument oraz STATus:QUEStionable posiadają tylko rejestry EVENt i ENABle. Komunikaty sumaryczne o wartości 1 dochodzące do nich są zdarzeniami zapamiętywanymi przez rejestry zdarzeń tych struktur.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.