Środowisko sprzętowo-programowe VXI-SCPI
Transkrypt
Środowisko sprzętowo-programowe VXI-SCPI
POLITECHNIKA WARSZAWSKA INSTYTUT SYSTEMÓW ELEKTRONICZNYCH LABORATORIUM SYSTEMÓW POMIAROWYCH INSTRUKCJA DO ĆWICZENIA NR 8 DEMONSTRACJE SYSTEMÓW POMIAROWYCH W ŚRODOWISKU SPRZĘTOWYM MAGISTRALI VXI I ZBIORU KOMEND SCPI Do użytku wewnętrznego opracował dr Antoni Leśniewski adiunkt w ISE PW, ul. Nowowiejska 15/19, 00-665 Warszawa e-mail: [email protected] Warszawa, styczeń 2005 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie przydatności graficznego języka VEE1 [AGILENT] w projektowaniu cyfrowego analizatora widma sygnałów kwazistacjonarnych. Przyjmuje się przy tym założenie, że analizator powinien pracować w czasie na bieżąco, a bank analizujących widmo filtrów pasmowych będzie emulowany za pomocą algorytmu FFT. Głównym celem metrologicznym ćwiczenia jest pokazanie, jak należy korzystać ze sterowników przyrządów w rzeczywistych warunkach pomiarowych [WINIECKI ’01], [MIELCZAREK ’99], [HELSEL ’95]. Ćwiczenie jest kontynuacją Ćwiczenia Nr 5 [ĆWICZENIE NR 5]. 2. Opis ćwiczenia W ćwiczeniu wykorzystywane są dwa przyrządy umieszczone w kasecie standardu VXI [IEEE 1155], sterowane poprzez interfejs USB/GPIB z komputera PC. Są to: HP1440 generator sygnału sinusoidalnego, trójkątnego bądź prostokątnego w zakresie częstotliwości do 21 MHz, o programowanej amplitudzie do 10 V, składowej stałej w zakresie ±5 V oraz fazie początkowej w przedziale ±720◦ . HP1410 woltomierz cyfrowy napięcia stałego i zmiennego, omomierz i częstościomierz. Środowisko VEE posiada zbiór obiektów służących do komunikacji z urządzeniami. Znajdują się one w menu I/O. 2.1. Programowe sterowniki przyrządów — — — — Do sterowania przyrządami pomiarowymi służą obiekty czterech typów: sterownik typu Direct I/O (rysunek 1) umożliwiający bezpośrednią komunikację z urządzeniem za pośrednictwem zestawu komend, najczęściej zgodnych ze standardem SCPI (Standard Commands for Programmable Instruments) [SCPI ’94], sterownik typu Plug&play Driver bazujący na zbiorze funkcji zawartych w bibliotece dostarczanej przez producenta urządzenia (zgodnej ze standardową biblioteką VISA (Virtual Instrument Software Architecture)), sterownik typu Panel Driver, dostarczany wraz z VEE, zapewniający sterowanie wszystkimi parametrami przyrządu poprzez panel graficzny, sterownik typu Component Driver umożliwiający projektantowi dostęp do wybranych funkcji (komponentów) przyrządu. gen (hp1440 @ 70911) WRITE TEXT "*IDN?" EOL READ TEXT x STR < Double-Click to Add Transaction > AlphaNumeric HEWLETT-PACKARD,E1440A,0,REV 3.15 x Rysunek 1. Sterownik Direct I/O W przypadku obiektu Direct I/O nie jest potrzebny sterownik programowy przyrządu, natomiast korzystanie z tego obiektu wymaga znajomości komend i sposobu komunikacji z urzadzeniem. Jest to najszybszy, ale też wymagający dużego zasobu wiedzy, sposób programowania przyrządu. Umożliwia dostęp do dowolnych programowalnych parametrów. 1 Visual Engineering Environment 1 Obiekt Plug&play Driver jest sterownikiem programowym zawierającym bibliotekę funkcji służących do sterowania konkretnym przyrządem. Sterownik ten jest dostarczany przez producenta przyrządu. Użycie tego obiektu polega na wywoływaniu odpowiednich standardowych funkcji bibliotecznych. Umożliwia użycie przyrządów dowolnego producenta, szybkość działania jest porównywalna z szybkością obiektu Direct I/O, natomiast jest bardziej uniwersalny, niezależny od platformy sprzętowo-programowej. Obiekt Panel Driver ma postać zbliżoną do płyty czołowej przyrządu pomiarowego. Obiekt ten ukrywa przed użytkownikiem wszystkie szczegóły wymiany danych przez interfejs, wymaga jednak specjalnego sterownika programowego. Sterownik ten zawiera opis graficznej reprezentacji panelu przyrządu oraz definicje komponentów wykonujących operacje oferowane przez urządzenie. Do komponentów możliwy jest dostęp interaktywny za pomocą przycisków i pól wyświetlaczy danych. Dostęp z poziomu programu jest realizowany za pośrednictwem terminali wejściowych i wyjściowych (rysunek 2). Jest to najbardziej naturalny i wygodny dla użytkownika sposób sterowania przyrządem. Real64 Slider gen (hp1440 @ 70911) 500 Reset 1000 900 700 FREQUENCY 500 300 100 Func Freq Ampl Offs Main Sine 500 1 0 Hz Vpp V 0 > deg Phase < 1 Asn 0 Step Fixed Mode Signal OFF Outp AlphaNumeric Error Rysunek 2. Panel Driver Obiekt Component Driver korzysta z tego samego sterownika przyrządu co Panel Driver, jednak tylko w celu dostępu do komponentów (obiekt nie posiada panelu graficznego). Różnica w działaniu tych obiektów polega na tym, że w przypadku obiektu Panel Driver wysyłane są do przyrządu wszystkie rozkazy, które są niezbędne do ustawienia przyrządu w stan odpowiadający graficznemu panelowi sterującemu, natomiast w przypadku obiektu Component Driver programowane są tylko te ustawienia, które odpowiadają terminalom wyjściowym obiektu oraz odczytywane są tylko te komponenty, dla których istnieją terminale wejściowe. Dzięki temu komunikacja za pomocą obiektu Component Driver przebiega szybciej niż poprzez Panel Driver. Poza sterownikami Plug&play, programowe sterowniki przyrządów mogą występować w dowolnej kombinacji. 2.2. Konfiguracja Przed rozpoczęciem pracy z urządzeniem należy dokonać konfiguracji programu VEE. Konfiguracja sterowników rozpoczyna się od wybrania listy przyrządów z głównego menu I/O ⇒ InstrumentManager.... Następnie trzeba wybrać z menu Instrument pozycję Add i wpisać dane przyrządu: Name: nazwę przyrządu, np. generator, 2 Interface: wybrać opcję GPIB, Address: wpisać 70911 (pierwsza cyfra oznacza adres karty interfejsu swobodnego sterownika systemowego (interface select code), dwie następne – adres przyrządu na szynie GPIB – w tym przypadku kasety VXI, a dwie ostatnie określają adres wtórny przyrządu, tzn. adres generatora w kasecie VXI), Gateway: wpisać chopin0 (jest to nazwa sieciowa komputera, do którego jest dołączona kaseta VXI). Następnie przyciskiem Advanced trzeba wybrać okienko Advanced Instrument Properties, a w nim zakładkę Panel Driver i w pozycji ID Filename: wybrać z listy plik sterownika hpe1440a.cid (jest to plik typu compiled instrument driver ). W pozycji Sub Address: należy wpisać wartość 11, określającą adres wtórny przyrządu. W zakładce General wpisać w okienku Description: hp1440 i potwierdzić przyciskiem OK i ponownie OK w okienku Instrument Properties. Powtórzyć powyższe czynności począwszy od pozycji Instrument Add, wpisując dane drugiego przyrządu: Name: woltomierz, Interface: GPIB, Address: 70903, Gateway: chopin0. Następnie przyciskiem Advanced wybrać okienko Advanced Instrument Properties, a w nim zakładkę Panel Driver i w pozycji ID Filename: wybrać z listy sterownik hpe1410a.cid. W pozycji Sub Address: należy wpisać wartość 3 (adres woltomierza w kasecie VXI). W zakładce General wpisać w okienku Description: hp1410 i potwierdzić przyciskiem OK i ponownie OK w okienku Instrument Properties. Teraz trzeba zapisać konfigurację przyciskiem Save. 3. Zadania do wykonania Każdy ze studentów powinien skonfigurować przyrządy wg danych z punktu 2.2. Następnie trzeba sprawdzić poprawność konfiguracji poprzez próbę połączenia się przez sieć z kasetą VXI. Pierwsze zadanie polega na przetestowaniu komunikacji z generatorem. W tym celu należy utworzyć program pokazany na rysunku 3. Do komunikacji z generatorem użyto tutaj sterownika typu Direct I/O z menu I/O ⇒ InstrumentManager.... W celu zablokowania możliwości zmiany ustawień przyrządu przez innego użytkownika, zastosowano blokadę interfejsu komendą EXECUTE LOCK INTERFACE wpisaną w sterowniku interfejsu dostępnym w menu I/O ⇒ Advanced I/O ⇒ Interface Operations. Po zakończeniu programowania przyrządu należy zwolnić interfejs komendą EXECUTE UNLOCK INTERFACE. Do sygnalizacji braku dostępu wykorzystano tu blok z menu Flow ⇒ Raise Error. Drugie zadanie polega na przetestowaniu w podobny sposób komunikacji z woltomierzem. Po sprawdzeniu poprawności komunikacji można przystąpić do wykonania następnego zadania. Trzecie zadanie polega na zaprogramowaniu obu przyrządów – generatora i woltomierza – w celu zebrania rekordu zawierającego 128 próbek zebranych z co najmniej dwóch okresów sygnału generatora. Do programowania wykorzystać tabele 1 i 2 zawierające zestaw komend SCPI zastosowanych przyrządów. 3 2 & 3! 4 5 6 7 + % & * + / 0 1 ! & % 8 " ! ' 9 ! ! # # $% & ' ( ( ) * + ) , % & - 7 ! & & % 8 ! " . 2 & 3! 4 5 6 7 + % & * + / / 0 1 ! " Rysunek 3. Test generatora (dotyczy zadań 1 i 2) Proponowane ustawienia (patrz też rysunek 4): dla generatora E1440A FUNC VOLT FREQ OUTP SIN 1 120 ON dla woltomierza E1410A CONF:VOLT 3 CAL:ZERO:AUTO OFF VOLT:APER 1E-5 SAMP:SOUR TIM SAMP:TIM 0.001 SAMP:COUN 128 INIT FETC? 4 0 generator (hp1440 @ 70911) WRITE TEXT "FUNC SIN" EOL WRITE TEXT "VOLT 1" EOL WRITE TEXT "FREQ 120" EOL WRITE TEXT "OUTP ON" EOL < Double-Click to Add Transaction > 1 Woltomierz (hpe1410a @ 70903) WRITE TEXT "CONF:VOLT 3" EOL WRITE TEXT "CAL:ZERO:AUTO OFF" EOL WRITE TEXT "VOLT:APER 1E-5" EOL WRITE TEXT "SAMP:SOUR TIM" EOL WRITE TEXT "SAMP:TIM 0.001" EOL WRITE TEXT "SAMP:COUN 128" EOL WRITE TEXT "INIT" EOL WRITE TEXT "FETC?" EOL READ TEXT x REAL64 ARRAY:128 < Double-Click to Add Transaction > x Rysunek 4. Ustawienia generatora i woltomierza (dotyczy zadania 3) Końcowe zadanie polega na zapisaniu danych wyjściowych woltomierza w pliku. Należy przy tym skorzystać ze schematu przedstawionego na rysunku 5 w instrukcji do Ćwiczenia Nr 5. Poprawnie wykonane ćwiczenie powinno zakończyć się wyświetleniem widma zapamiętanego przebiegu w postaci wykresów analogicznych do uzyskanych w Ćwiczeniu Nr 5. 5 Tabela 1. Komendy SCPI dla generatora E1440A Komenda :ABORt :OUTPut [:SOURce] [:SOURce] [:SOURce] :SYSTem Parametry [:STATe] :VOLTage|:POWer|:CURRent [:LEVel] [:IMMediate] [:AMPLitude] :OFFSet :UNIT :FREQuency [:CW|:FIXed] :FUNCtion [:SHAPe] :ERRor? :VERSion? 6 Boolean numeric numeric V | DBM | VRMS numeric DC | SINusoidal | SQUare | TRIangle | RUP | RDOWn | TTL Tabela 2. Komendy SCPI dla woltomierza E1410A Komenda :ABORt :CALibration :CONFigure :FETCh? :INITiate :INPut :MEASure :READ? :SAMPle [:SENSe:] :SYSTem :TRIGger Parametry :ZERO:AUTO :VOLTage:AC :VOLTage:ACDC :VOLTage[:DC] OFF | 0 | ON | 1 | ONCE [numeric[,numeric]] [numeric[,numeric]] [numeric[,numeric]] [:IMMediate] :COUPling :IMPedance:AUTO :STATe :VOLTage:AC? :VOLTage:ACDC? :VOLTage[:DC]? AC | DC Boolean Boolean [numeric[,numeric]] [numeric[,numeric]] [numeric[,numeric]] :COUNt :SOURce :TIMer VOLTage:AC:RANGe VOLTage:APERture VOLTage[:DC]:RANGe VOLTage:NPLC VOLTage:RANGe:AUTO VOLTage:RANGe VOLTage:RESolution :ERRor? :BUFFered :COUNt :DELay:AUTO :DELay [:IMMediate] :SLOPe :SOURce 7 1 − 16777215 | MIN | MAX IMM | TIM 680µs − 2100s | MIN | MAX numeric 10µs | 0.1ms | 1ms numeric numeric Boolean numeric numeric Boolean 1 − 16777215 | MIN | MAX Boolean 1µs − 2100s | MIN | MAX POS | NEG BUS | EXT | HOLD | IMM | TTLT0 - TTLT7 Literatura [WINIECKI ’01] W. Winiecki, J. Nowak, S. Stanik: Graficzne zintegrowane środowiska programowe. Rozdz. 5, Mikom, Warszawa 2001. [MIELCZAREK ’99] W. Mielczarek: Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI. Rozdz. 10, Helion, Gliwice 1999. [HELSEL ’95] R. Helsel: Graphical Programing – A Tutorial for HP VEE. Prentice Hall PTR, 1995. [AGILENT] Agilent VEE 6.0 Manuals in PDF Format – CD version. [ĆWICZENIE NR 5] Jerzy Jędrachowicz: Symulacja systemu pomiarowego w środowisku języka graficznego VEE. Instrukcja do Ćwiczenia Nr 5, ISE PW, 2004. [IEEE 1155] IEEE Std 1155: IEEE Standard for VMEbus Extensions for Instrumentation: VXIbus, 1992. [SCPI ’94] Standard Commands for Programmable Instruments (SCPI), SCPI Consortium, 1994. 8