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: A.Lesniewski@ise.pw.edu.pl Warszawa, styczeń 2005
1. Cel ćwiczenia CelemćwiczeniajestpokazanieprzydatnościgraficznegojęzykaVEE 1 [AGILENT]wprojektowaniu 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ścido21mhz,oprogramowanejamplitudziedo10v,składowejstałejwzakresie±5v orazfaziepoczątkowejwprzedziale±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ęonewmenui/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 > x AlphaNumeric HEWLETT-PACKARD,E1440A,0,REV 3.15 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 VisualEngineeringEnvironment 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 500 1000 900 700 500 300 100 FREQUENCY gen (hp1440 @ 70911) Reset Func Sine Main Freq 500 Hz Ampl 1 Vpp Offs 0 V Phase< 0 > deg Step 1 Asn 0 Mode Fixed Outp Signal OFF Error AlphaNumeric 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 wykorzystanotublokzmenuflow RaiseError. 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! " Rysunek3.Testgeneratora(dotyczyzadań1i2) Proponowane ustawienia(patrz też rysunek 4): dla generatora E1440A FUNC SIN VOLT 1 FREQ 120 OUTP 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 Parametry :ABORt :OUTPut [:STATe] Boolean [:SOURce] :VOLTage :POWer :CURRent [:LEVel] [:IMMediate] [:AMPLitude] numeric :OFFSet numeric :UNIT V DBM VRMS [:SOURce] :FREQuency [:CW :FIXed] numeric [:SOURce] :FUNCtion [:SHAPe] DC SINusoidal SQUare TRIangle RUP RDOWn TTL :SYSTem :ERRor? :VERSion? 6
Tabela 2. Komendy SCPI dla woltomierza E1410A Komenda Parametry :ABORt :CALibration :ZERO:AUTO OFF 0 ON 1 ONCE :CONFigure :VOLTage:AC [numeric[,numeric]] :VOLTage:ACDC [numeric[,numeric]] :VOLTage[:DC] [numeric[,numeric]] :FETCh? :INITiate [:IMMediate] :INPut :COUPling AC DC :IMPedance:AUTO Boolean :STATe Boolean :MEASure :VOLTage:AC? [numeric[,numeric]] :VOLTage:ACDC? [numeric[,numeric]] :VOLTage[:DC]? [numeric[,numeric]] :READ? :SAMPle :COUNt 1 16777215 MIN MAX :SOURce IMM TIM :TIMer 680µs 2100s MIN MAX [:SENSe:] VOLTage:AC:RANGe numeric VOLTage:APERture 10µs 0.1ms 1ms VOLTage[:DC]:RANGe numeric VOLTage:NPLC numeric VOLTage:RANGe:AUTO Boolean VOLTage:RANGe numeric VOLTage:RESolution numeric :SYSTem :ERRor? :TRIGger :BUFFered Boolean :COUNt 1 16777215 MIN MAX :DELay:AUTO Boolean :DELay 1µs 2100s MIN MAX [:IMMediate] :SLOPe POS NEG :SOURce BUS EXT HOLD IMM TTLT0-TTLT7 7
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] [AGILENT] R. Helsel: Graphical Programing A Tutorial for HP VEE. Prentice Hall PTR, 1995. 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] [SCPI 94] IEEE Std 1155: IEEE Standard for VMEbus Extensions for Instrumentation: VXIbus, 1992. Standard Commands for Programmable Instruments(SCPI), SCPI Consortium, 1994. 8