scpi int


INSTYTUT AUTOMATYKI

Politechniki lskiej w Gliwicach

ZAKAD SYSTEMÓW POMIAROWYCH

LABORATORIUM INTERFEJSÓW

W SYSTEMACH POMIAROWY­CH

wiczenie nr 2

STANDARD INTERFEJSU IEEE 488.2

oraz S.C.P.I.

( Standard Commands

for Programmable Instruments )

Opracowa:

dr in. Janusz ELEZIK

Gliwice 1994, 2004


1 Cel wiczenia

Celem wiczenia jest zapoznanie si z rozszerzeniem standardu interfejsu pomiaro­wego IEC-625 (IEEE 488), znanego pod nazw IEEE 488.2 oraz uniwersalnym jzykiem SCPI (Standard Commands for Programmable Instruments), który stosuje si w progra­mo­wanych przyrzdach pomiarowych. Oba standardy dotycz obszaru software'u. Implementacj IEEE 488.2 dla komputera personalnego typu PC jest oprogramowanie podstawowe NI-488.2 firmy National Instruments, które studenci poznaj i wykorzystuj w czasie wiczenia przy tworzeniu programów obsugi programowanych przyrzdów pomiarowych. Na przykadzie inteligentnego multimetru HP34401A wiczcy ucz si wykorzystania rónorodnych funkcji pomiarowych tego przyrzdu z zastosowaniem do komunikacji rozkazów SCPI.

2 Wprowadzenie

Standard interfejsu IEC-625, znany równie jako IEEE 488, HP-IB, GPIB sta si ze wzgldu na swoje zalety najpowszech­niej stosowanym systemem interfejsu pomiarowe­go. Wprowadzona w latach siedemdziesitych pierwsza wersja tego standardu umoliwia proste czenie rónorodnych urzdze cyfrowych, m.in przyrzdów pomiarowych i ich sprzgnicie z komputerem w celu uzyskania systemów pomiarowych do obsugi zoonych eksperymentów. Normalizacja obejmowaa gównie dziedzin hardware, m.in. wymagania mechaniczne i elektryczne. Zostaa zdefiniowana struktura równolegej magistrali interfejsu i rodzaje przesyanej informacji (komunikaty jedno i wieloliniowe). Okrelono, w jaki sposób pojedyncze komunikaty s przesyane po magistrali (protokó handshake) i jak powinny zachowywa si urzdzenia przy nadawaniu i odbieraniu komunikatów (funkcje interfejsowe).

Najwikszym niedostatkiem byo brak ustale w dziedzinie software. W szczegól­noci nie byy ustalone protokoy komunikacyjne, potrzebne przy wymianie informacji, formaty przesyanych danych, uniwersalny sposób raportowania statusu urzdze, czy wreszcie rozkazy programujce urzdzenia. Rezultatem tego bya rónorodno i dowol­no rozwiza u rónych producentów. W efekcie tego skonfigurowanie kadego systemu byo zadaniem trudnym, wymagao indywidualnego podejcia szczególnie do oprogramowania, a dalej wizao si ze strat czasu i kosztem.

W zwizku z tym po wielu latach dowiadcze ucilono i rozszerzono podstawo­wy standard, jak to pokazano na rys. 1. Pierwotne ustalenia w dziedzinie hardware nazwano IEEE 488.1, natomiast wprowadzono dodatkowo standard IEEE 488.2 i zalecenia SCPI. Stosowanie tych standardów usuwa poprzednie problemy niekompatybil­noci, upraszcza tworzenie nowych i zmian konfiguracji istniejcych aplikacji.

0x01 graphic

Rys. 1.Ewolucja standardu IEEE 488 (IEC).

2.1 IEEE 488.2

Standard IEEE 488.2 (wprowadzony w 1987r) ustala dodatkowy, wyszy poziom zgodnoci interfejsu IEEE-488, a jednoczenie usuwa trudnoci, które wystpoway przy stosowaniu IEEE-488.1. Ustala protokoy wymiany informacji midzy urzdzeniami, a kontrolerem; definiuje formaty danych i sposób raportowania statusu - jednolity dla rónych urzdze.

Poniewa nowe wymagania zastay okrelony stan aktualny to ustalono, e powinna by równie moliwo wspópracy z urzdzeniami wykonanymi w.g. pierwotnej wersji standardu IEEE 488.1. Wszystkie zalety i korzyci uzyskuje si jednak dopiero wtedy, kiedy zarówno kontroler jak i urzdzenia s zgodne i kompatybilne z IEEE 488.2.

2.1.1 Wymagania IEEE.2 dla kontrolera

Norma definiuje okrelone wymagania dla kontrolera, które nie byy obligatoryjne w IEEE 488.1. W szczególnoci kontroler powinien mie moliwo:

-sterowania liniami Iterface Clear IFC oraz Remote Enable REN,

-ustawiania i detekcji stanu linii End Or Identify EOI;

-reagowania na zmian stanu linii Service Request SRQ;

-wykrywania przekroczenia limitów czasowych przy operacjach I/O (timeout),

-monitorowania linii magistrali.

Innymi wanymi ustaleniami s tzw. "Sekwencje sterujce" i "Protokoy".

2.1.1.1 Sekwencje sterujące

Standard IEEE 488.1 definiuje tylko zbiór elementarnych komunikatów, które mog by przesyane po magistrali. Wiadomo, e przy komunikowaniu si sterownika z urzdzeniami i wykonywaniu okrelonych operacji musz by wykonywane pewne sekwencje tych komunikatów. Tak np. w celu przesania pewnych danych midzy urzdzeniami sterownik musi ustali sygna ATN=1, zaadresowa nadajnik i odbiorniki, umoliwi przesanie danych przy ATN=0, za po wykryciu koca bloku danych (np. EOI=1) ponownie przej sterowanie magistral. Dodatkowo naley w odpowiednim czasie rozadresowa urzdzenia - na pocztku i/lub na kocu operacji.

IEEE 488.2 definiuje wanie pewien zbiór potrzebnych sekwencji sterujcych, które umoliwiaj realizacj najczciej wykonywanych operacji interfejsowych. Sek­wencja sterujca jest cigiem kilku komunikatów, przy czym okrelona jest dokadnie ich kolejno, jak i stan interfejsu przed, w trakcie operacji i po jej wykonaniu.

W tablicy 1 podano zbiór 15 wymaganych i 4 opcjonalnych sekwencji sterujcych IEEE 488.2, opis kadej z nich mówi jednoznacznie o przeznaczeniu. Obejmuj one takie proste operacje jak przesyanie danych, komunikatów interfejsowych, sterowanie urzdzeniami (np. zerowanie i wyzwalanie), jak i zarzdzanie magistral.

Dziki sekwencjom programowanie systemu jest o wiele prostsze. Zamiast szczegóowego podawania cigu elementarnych komunika­tów interfejsowych wystarczy wykonywa cae sekwencje, realizujce w sposób kompletny wymagane operacje uytkowe. Z kolei jedno­znaczne, zdefiniowane zacho­wanie si urzdze w trakcie operacji usuwa problemy niekom­patybilnoci, jakie wys­tpoway w IEEE 488.1. System jest bardziej niezawodny i przewanie szybszy.

TABLICA 1 Sekwencje sterujce IEEE 488.2

Lp

Nazwa sekwencji

Opis

1

SEND COM­MAND

Nadanie komunikatów interfejsowych

2

SEND SETUP

Zaadresowanie wybr. urzdze do od­bioru

3

SEND DATA BYTES

Przesanie danych do zaadresowan. urzdze

4

SEND

Przesanie danych do okrel. urzd­zenia

5

RECEIVE SETUP

Zaadresow. wybr. urzdzenia do nadaw­ania

6

RECEIVE RESPON­SE

MES­SAGE

Przyjcie danych od urzdzenia zaadreso­wanego do nadawania.

7

RECEIVE

Przyjcie danych od okrel. urzd­zenia

8

SEND IFC

Nadanie komunikatu jednoliniowego IFC

9

DEVICE CLEAR

Zerowanie wybranych urzdze (SDC)

10

ENABLE LOCAL CON­TRO­LS

Ustaw wybrane urzdz. na ster. lok­alne

11

ENABLE REMOTE

Ustaw wybrane urzdz. na sterow. zdalne

12

SET RWLS

Ustaw sterow. zdalne z blokad lokalnego

13

SEND LLO

Ustaw blokad ster. lokaln. wszystk. urz.

14

READ STATUS BYTE

Odpytyw. szeregowe pojedyn. urzd­zenia

15

TRIGGER

Wyzwolenie pojedynczego urzdzenia

16

PASS CONTROL

Przeka sterowanie do innego kontro­lera

opc

17

PERFORM PARAL­LEL POLL

Wykonaj odpytywanie równolege

opc

18

PARALLEL POLL CON­FIG.

Konfig. urzdzenia do odpyt. równ­oleg.

opc

19

PARALLEL POLL

UN­CON­FIGURE

Likwidacja kontroli równolegej w wybra­nych urzdzeniach

opc

opc - oznacza sekwencj opcjonaln.

2.1.1.2 Protokoły

Protokoy IEEE 488.2 s procedurami wyszego poziomu ni sekwencje sterujce i obejmuj przewanie kilka sekwencji. Ogólnie su do wykonania ogólnych, sys­temowych operacji testujcych. W tablicy 2 podano wykaz protokoów, zawiera ona dwa protokoy wymagane i sze opcjonalnych.

TABLICA 2 Protokoy kontrolera IEEE 488.2

Lp

Nazwa

Opis

1

RESET

Zainicjowanie systemu

2

FINDRQS

Odszukaj urzdzenie dajce obsugi (RQS)

opc.

3

ALLSPOLL

Odpytanie szeregowe wszystkich urzdze w systemie

4

PASSCTL

Przekazanie sterowania magistral do innego kontrolera

opc.

5

RE­QUESTCTL

Przejcie sterowania magistral

opc.

6

FINDLSTN

Odszukanie wszystkich odbiorników

opc.

7

SETADD

Ustawienie adresu

opc.

8

TESTSYS

Równoczesne wykonanie wewntrznych testów urzdze

opc.

Protokó RESET inicjalizuje cay system i ustawia wszystkie urzdzenia w znany stan pocztkowy. Drugi z obowizujcych protokoów wykonuje kontrol szeregow wszystkich urzdze i zwraca bajty statusu. PASSCTL i REQUESTCTL umoliwiaj przekazywanie sterowania magistral midzy rónymi urzdzeniami.

Dwa wane protokoy FINDLSTN i FINDRQS wykorzystuj waciwo kontrole­ra IEEE 488.2 do monitorowania linii magistrali. Umieszczenie pierwszego z nich na pocztku programu aplikacyjnego umoliwia okrelenie aktualnej konfiguracji systemu. Lista wykrytych odbiorników jest wykorzystywana dalej w innych protokoach np. TESTSYS, który wykonuje i zbiera raporty z testów wewntrznych wszystkich urzdze.

Protokó FINDRQS jest wygodnym narzdziem odpytywania szeregowego i szyb­kiego wykrycia urzdze, które zgaszaj danie obsugi.

2.1.2 Wymagania IEEE 488.2 od urzdze

Standard IEEE 488.2 definiuje równie zbiór wymaga, którym powinny odpo­wiada wszystkie urzdzenia. I tak, kade z urzdze musi mie moliwo:

-odbioru i nadawania danych zgodnie z ustalonym protokoem;

-zgaszania dania obsugi SRQ i odpowiedzi na odpytywanie szeregowe;

-wykonywania rozkazu zerowania urzdzenia.

-cile okrelonego raportowania statusu urzdzenia;

-wykonywania pewnego zbioru tzw. rozkazów wspólnych i udzielania odpowiedzi

na okrelone zapytania kontrolera.

W szczególnoci dwa ostatnie wymienione ustalenia wymagaj od kadego z urzdze pewnej inteligencji.

2.1.2.1 Rozkazy i zapytania uniwersalne

Rozkazy i zapytania uniwersalne dla wszystkich urzdze IEEE 488.2 s niezalene od ich przeznaczenia. Mog by wysyane przez kontroler w postaci cztero- bd picio­znakowego acucha danych i rozpoczynajcego si zawsze od znaku *. W tablicy 3 podano ich zestawienie wraz ze skróconym opisem.

Rozkazy wymagaj wykonania przez urzdzenie okrelonych operacji, np. *RST powinno ustawi urzdzenie w znany stan pocztkowy, jak po wczeniu zasilania, *TRG powoduje wyzwolenie urzdzenia (podobnie jak komunikat interfejsowy GET).

acuchy zakoczone znakiem ? oznaczaj zapytania do urzdzenia. To ostatnie musi udzieli na nie odpowiedzi przez umieszczenie odpowiednio sformatowanego meldunku w buforze wyjciowym. Wystawiona odpowied moe by nastpnie przesana do kontrolera po wykona­niu przez niego odczytu (np. sekwencja RECEIVE). Tak np. *IDN? jest zapytaniem identyfikacyjnym, po jego otrzymaniu urzdzenie powinno poda: producenta, typ przyrzdu i wersj. *TST? powoduje wykonanie przez urzdzenie testu wewntrznego i podanie raportu (0 - oznacza popraw­no testu, inna liczba - kod bdu).

TABLICA 3

Rozkazy i zapytania uniwersalne dla urzdze wg IEEE 488.2

Lp

Symbol

Nazwa angielska

Opis

1

*IDN?

IDeNtification query

Identyfikacja urzdzenia

2

*TST?

self TeST query

Wykonanie testu wewn. (0-odp.pozytywna)

3

*RST

ReSeT command

Ustawienie stanu, jak po wczeniu zasil­ania

4

*TRG

TRiGger

Wyzwolenie urzdzenia (jak GET)

5

*ESR?

Event Status Regis­ter q

Pyt. o zawarto rejestru zdarze i 0->ESR

6

*ESE {v}

Event Status Enable

Ustawienie maski rejestru zdarze

7

*ESE?

" query

Pytanie o mask rejestru zdarze

8

*STB?

read STatus Byte

Odczytanie bajtu statusu

9

*SRE {v}

Service Request En­able

Ustawienie maski do generacji SRQ

10

*SRE?

" query

Pytanie o mask do generacji SRQ

11

*PSC {b}

Power-on Status Clear

Maska kasowania statusu po zaczeniu

12

*PSC?

" query

Pytanie o mask PSC (j.w.)

13

*CLS

CLear Status

Kasowanie rejestru statusu i rej. zdarze

14

*OPC

OPeration Complete

Ustaw bit zakoczenia operacji w ESR

15

*OPC?

" query

Po zakoczeniu operacji 1 w buforze wy.

16

*WAI

WAIt to complete

Oczekiwanie na zakoczenie operacji

Objanienia:

v - liczba z przedziau 0-255, otrzymana po zsumowaniu wszystkich bitów maski z odpowiednimi wagami;

b - 0 - nie, 1 - tak :kasuj status po wczeniu zasilania.

2.1.2.2 Raportowanie statusu

Pewna liczba rozkazów i zapyta (tab. 3. poz.515) dotyczy sposobu rapor­towania statusu urzdzenia. W tym celu wymaga si, aby urzdzenie posiadao okrelone rejestry statusu. Map rejestrów i model rapor­towania statusu pokazano na rys. 2.

0x01 graphic

Rys. 2.System raportowania statusu w.g. IEEE 488.2 i SCPI.

W IEEE 488.2 wymagane s dwie pary rejestrów statusu nazwane:

-bajt statusu (Status Byte) i

-rejestr zdarze (Standard Event).

Rys. 2 pokazuje system raportowania statusu dla multimetru HP34401A, zgodnego równie z dalej omawianymi zaleceniami SCPI, a wtedy potrzebna jest trzecia para rejestrów statusu tj.: Questionable Data. Dla zwartoci omówiono je cznie.

Kada para rejestrów skada si z waciwego rejestru, którego bity odzwiercied­laj okrelony stan urzdzenia oraz odpowiadajcego rejestru masek. Sumaryczny bit stanu z kadej pary rejestrów jest wypracowywany jako suma logiczna tych bitów rejestru waciwego, dla których odpowiadajce maski maj warto 1.

Znaczenie poszczególnych bitów rejestrów statusu podano na rysunku 2. Ich stan mona odczyta z przyrzdu wykorzystujc odpowiednie zapytania (wg.tab.3): *ESR?, *STB?, ESE?, SRE?; urzdzenie zwraca liczb dziesitn {v} odpowiadajc waonej sumie wszystkich bitów rejestru. Tylko do rejestrów masek moliwy jest zapis. Realizuje si to za pomoc rozkazów wspólnych *ESE {v}, *SRE {v}, gdzie parametr {v} ma to samo znaczenie, jak przy odczycie.

Rozkaz *CLS zeruje wszystkie rejestry statusu, natomiast nie zmienia rejestrów masek. Z kolei rozkaz *RST (reset) nie powoduje zmiany w adnym z rejestrów.

Event Register (ESR) jest rejestrem zatrzas­kowym; tzn. po wystpieniu okrelo­nego zdarzenia i ustawieniu przez urzdzenie "1" na od­powiadajcym bicie kolejne zmiany stanu s ig­norowane, a do odczytania tego rejestru *ESR? , bd otrzymania rozkazu *CLS. Te dwa rozkazy zeruj rejestr ESR.

Na uwag zasuguje pierwszy bit rejestru ESR - "operacja zakoczona". Bit ten jest ustawiany rozkazem wspólnym *OPC. Umieszczenie tego rozkazu na kocu pewnej sekwencji powoduje, e zostanie zasyg­nalizowane zakoczenie wszystkich operacji ustawieniem "1" na zerowym bicie rejestru zdarze ESR. Uwaga: podobny rozkaz zapytania *OPC? dziaa nieco inaczej; po zakoczeniu operacji wpisywana jest "1" do bufora wyjciowego urzdzenia.

Rejestr Questionabla Data (SCPI) zawiera m.in. dane o jakoci wykonanych pomiarów. Bity 0, 1 i 9 informuj o wystpieniu nadmiaru w pomiarze. Z kolei bity 11 i 12 s ustawiane podczas wykorzystania funkcji multimetru "LIMIT TEST" - testowania wyników pomiaru na zadane ograniczenia; sygnalizowane jest odpowiednio przekroczenie ograniczenia górnego, bd dolnego.

Najwaniejszym rejestrem statusu jest Status Byte (bajt statusu), wykorzystywany m.in. przy odpytywaniu szeregowym i wprowadzony ju w IEEE 488.1. S w nim raportowane sumaryczne bity statusu pozostaych rejestrów (rys. 2). Bit 4 (MAV - Message Available) jest ustawiany ("1"), jeeli w buforze wyjciowym urzdzenia znajduj si jakiekolwiek dane (meldunek) gotowe do wysania (np. wynik pomiaru, odpowied na zapytanie).

Maska SRE bajtu statusu decyduje na podstawie których bitów ma by wypraco­wane danie obsugi SRQ (Service Request). Jednoczenie z tym jest ustawiany 6 bit bajtu statusu (komunikat RQS - Request Service), który pozwala zidenty­fikowa urz­dzenie zgaszajce obsug podczas kontroli szeregowej.

W przeciwiestwie do ESR rejestr Status Byte nie jest zatrzas­kowym, tzn. raportowane s zawsze stany biece. Odczyt stanu bajtu statusu za pomoc zapytania *STB? nie zeruje rejestru!. Jak wiadomo, inn moliwoci odczytania statusu jest wykonanie odpytywania szeregowego, lecz ta operacja nie jest równowana *STB?. Po kontroli szeregowej jest zerowany bit RQS w bajcie statusu oraz likwidowane danie obsugi SRQ.

Z raportowaniem statusu zwizane s jeszcze 2 rozkazy uniwersalne. I tak, wykonanie PSC 0 (Power-on Status Clear) spowoduje, e wyczenie zasilania nie zmieni stanu rejestrów: bajtu statusu (STB) i maski rejestru zdarze (ESE). Rozkaz PSC 1 daje efekt odwrotny. Z kolei zapytanie *PSC? suy do odczytania aktualnego ustawienia w.w. stanu kasowania statusu przy wyczaniu urzdzenia.

2.2 Zalecenia SCPI

Chocia standard IEEE 488.2 porzdkuje dziedzin oprogramowania interfejsu m.in. przez zdefiniowanie wspólnych rozkazów, okrelenie protokoów wymiany informacji, sposobu raportowania statusu, to jednak pozostawia spraw otwart sam sposób (rozkazy) programowania funkcji uytkowych przyrzdów. Mówic obrazowo standard IEEE 488.2 precyzuje jak urzdzenia maj nadawa i odbiera, ale dalej dopuszcza, aby róne przyrzdy "rozmawiay" rónymi jzykami. Pewn namiastk wspólnego jzyka s jedynie w.w. rozkazy i zapytania uniwersalne.

Efektem braku standardu w tej dziedzinie bya wielka rónorodno rozwiza wród producentów aparatury. Przykadowo funkcja pomiaru napicia staego w mul­timetrze bya programowana w jednym typie przyrzdu jako "X3", podobny przyrzd innego producenta wymaga rozkazu "F1" itd. Tak wic, gdy zachodzia potrzeba wymiany przyrzdu w systemie naleao zmienia i oprogramowanie. Ponadto naleao uczy si programowania nowego przyrzdu.

Aby zaradzi tym kopotom konsorcjum 31 firm, producentów aparatury pomiaro­wej zaproponowao w 1990 roku standard w tej dziedzinie nazwany skrótowo SCPI (od Standard Commands for Programmable Instruments). Jest to zwarte rodowisko progra­mowe i jzyk dla przyrzdów programowanych. Definiuje struktur, skadni i zbiór rozkazów do komunikacji midzy kontrolerem i przyrzdami w automatycznych sys­temach pomiarowych.

2.2.1 Cechy standardu SCPI

SCPI jest rozwiniciem IEEE 488.2, std obowizuj ustalenia tam przyjte. Poniewa jednak jzyk programowania przyrzdów dotyczy gównie ich funkcji uyt­kowych niezalenie od rodzaju interfejsu, std zaleca si stosowanie SCPI równie w in­nych interfejsach pomiarowych np. RS 232. SCPI jest równie obowizujcym standar­dem w nowoczesnym systemie interfejsu VXI.

Przyjto zaoenie, e ma to by jzyk uniwersalny, tzn. niezaleny od rodzaju i typu przyrzdu. Tak np. jeli ma by realizowana funkcja pomiaru napicia staego, to niezalenie czy to bdzie prosty woltomierz, czy zoony multimetr, powinien by programowany VOLTAGE:DC. Jeeli ma by ustawiony zakres przyrzdu, to zarówno dla woltomierza, omomierza, czstociomierza, oscyloskopu czy kalibratora naley przesa rozkaz RANGE itp.

SCPI jest jzykiem samokomentujcym si. Rozkazy s po prostu angielskimi nazwami (lub powszechnie znanymi skrótami) odpowiednich wielkoci, funkcji, parame­trów itp., np. FRQUENCY, CALCULATE, AVERAGE. Ich zapamitanie i skojarzenie nie nastrcza trudnoci. Napisane programy nie wymagaj w zasadzie dodatkowych komentarzy.

SCPI jest standardem otwartym. Z góry przewidziano, e wraz z postpem techniki powstan nowe przyrzdy, o nowych waciwociach i funkcjach. W zwizku z przyszymi potrzebami zaoono, e corocznie standard bdzie rozszerzany w nowej wersji, przy czym reguy, skadnia i wczeniejsze ustalenia pozostan obowizujce.

Przyrzdy w których zaimplementowano SCPI musz posiada oprócz czci funkcjonalnej i komunikacyjnej - interfejsowej dodatkowy blok funkcjonalny, którym jest tzw. procesor SCPI, czyli zoony interpreter rozkazów. W zwizku z tym jest to zawsze przyrzd inteligentny, z reguy wyposaony w mikroprocesor.

2.2.2 Struktura rozkazów

Wszystkie rozkazy SCPI mona podzieli na kilka kategorii, zwizanych z blokami funkcjonalnymi przyrzdów. Uogólniony model funkcjonalny przyrzdu progra­mowanego pokazano na rys. 3. Dotyczy on wszystkich typów przyrzdów, lecz nie kady przyrzd posiada wszystkie bloki. Urzdzenie moe zawiera cz pomiarow (np. woltomierz, oscyloskop) i/lub genera­cyjn (np. generator, kalibrator).

0x01 graphic

Rys. 3.Model przyrzdu programowanego (SCPI).

W przyrzdzie mona wyróni nastpujce bloki:

- ROUTe - zwizany z podczeniem sygnau do przyrzdu;

- MEASure - cz pomiarow;

- GENerate - cz generacyjn;

- MEMory - zapamitywanie danych wewntrz przyrzdu;

- FORMat - zamiana formatu danych zwizana z transmisj;

- TRIGger - blok synchronizacji i wyzwalania;

- DISPlay - blok wywietlania danych;

- INPut, OUTput - blok wejciowy i wyjciowy, kondycjonowanie sygnau;

- SENSe - konwersja sygnau na dane;

- SOURce - konwersja danych na sygna;

- CALCulate - przetwarzanie danych w przyrzdzie;

SCPI definiuje hierarchiczn struktur rozkazów; z kadym z zaznaczonych bloków zwizany jest pewien zbiór rozkazów programujcych jego funkcje. Dodatkowe grupy rozkazów s zwizane z caym przyrzdem, s to:

- SYSTem - operacje systemowe;

- CONFigure - uproszczone rozkazy konfiguracji o funkcjach podobnych do SENSe;

- STATus - rozkazy zwizane z raportowaniem statusu wg. SCPI.

- CALibration - okresowa kalibracja przyrzdu.

Rozkazy danej grupy mona uoy w hierarchiczn, drzewiast struktur, podobnie jak zbiór katalo­gów na dysku komputera. Najwyszy poziom zajmuje rozkaz o nazwie grupy. Na rys. 4 pokazano przykadowy fragment drzewa rozkazów. SENSe jest tu rozkazem gównym, caa grupa suy do konfiguracji pomiarów. Zauwa­my, e aby doj do rozkazów podrzdnych trzeba przej odpowiedni ga w dó drzewa. Cae polecenie musi specyfikowa pen ciek dojcia. Tak np. polecenie automatycznego wyboru zakresu przy pomiarze napicia staego ma posta:

:SENSe:VOLTage:DC:RANGe:AUTO ON

2.2.3 Skadnia rozkazów

Pene polecenie zawiera ciek rozkazów oddzielonych znakiem : dwukropka. Dwukropek na pocztku pokazuje, e pierwszy rozkaz rozpoczyna si od najwyszego poziomu. Polecenie moe zawiera parametry, umieszcza si je na kocu polecenia po spacji. Wiksz liczb parametrów oddziela si znakiem , przecinka.

W jednej linii mona poda kilka rozkazów oddzielonych ; rednikiem. Interpreter rozkazów pamita ostatni ciek; gdy kolejny rozkaz rozpoczyna si od tego samego poziomu nie trzeba ju specyfikowa caej cieki - dwukropek naley pomin; np.:

:SENSE:FRESistance:RANGe MAX; RESolution MIN

S tu dwa polecenia: 1) przy pomiarze rezystancji metod 4 przewodow (FRESistance) ustaw zakres maksymalny i 2) rozdzielczo minimaln.

Niektóre pojedyncze rozkazy - sowa mog wystpowa w rónych gaziach drzewa rozkazów i mie rón interpretacj, std reguy podawania cieki musz by cise.

W SCPI obowizuj wszystkie rozkazy uniwersalne i zapytanie IEEE 488.2, powinny jak zwykle zaczyna si od znaku * gwiazdki.

Niektóre rozkazy s domylne i mona je pomin; w dokumentacji objte s w nawiasy kwadratowe. Na rys. 4 takim rozkazem jest np. SENSe. Funkcj pomiaru prdu zmiennego mona wybra bezporednio jako:

:FUNCtion "CURRent:AC"

0x01 graphic
Wikszo rozkazów ma dwie i tylko dwie: formy pen i skrócon (w dokumenta­cji posta skrócona zapisana duymi literami); interpreter nie rozrónia duych i maych liter. Tak np. poprawne s formy rozkazu: CURRent, CURRENT, cUrReNt, CURR, curr, cuRR; ale bdne s: CURRen, CUR.

Parametry rozkazów_ mog by:

&numeryczne; naley je zapisa liczb dziesitn ewentualnie ze znakiem i kropk dziesitn. Mog by uyte przedrostki jednostek miar np. k, m, u. Jeeli tylko pewne wartoci s akceptowane wtedy interpreter zaokrgla wprowadzon liczb.

& specjalne np. MAXimum, MINimum, DEFault, HIGH, LOW .

& logiczne, np. ON, OFF, 0, 1.

& dyskretne jak BUS, IMMediate, EXTernal, INTernal.

& acuchowe - powinny by objte cudzysowem np. "CURRent", "NAPIS".

&polecenie moe nie zawiera parametrów, np. rozkaz :DISPlay:TEXT:CLEar, :INITiate.

Kady rozkaz z parametrem ma swój odpowiednik w postaci zapytania. Wtedy zamiast parametrem koczy si znakiem ? zapytania (bez spacji), np.:

:VOLTage:DC:NPLCycles?

jest zapytaniem o aktualnie ustawiony czas cakowania przy pomiarze napicia staego, wyraony jako liczba okresów napicia zasilania przyrzdu (Number Power Line Cycles). Regu jest, e na kade dopuszczalne zapytanie przyrzd powinien udzieli odpowiedzi, przez umieszczenie jej w buforze wyjciowym. Tak np. po rozkazie :SYSTem:ERRor? kontroler bdzie móg odczyta z bufora komunikat o bdzie. Po rozkazie :READ? przyrzd wykona pomiar zgodnie z wczeniej ustawion konfigurac­j i w buforze umieci wyniki pomiaru.

Format odpowiedzi przyrzdu, moliwych do odczytania z bufora wyjciowego jest nastpujcy:

& pojedyczy pomiar: ZC.CCCCCCCCEZCC<lf>

& wielokrotny pomiar: ZC.CCCCCCCCEZCC,...,...,<lf>

& inne odpowiedzi: <max 80 znaków ASCII>

gdzie: Z - znak + -; C - cyfra; E - Exponenta; <lf> - zmiana wiersza.

Niektóre polecenia daj si realizowa na kilka sposobów, np. skonfigurowanie przyrzdu do pomiaru napicia staego o zakresie 10 V i rozdzielczoci 0.01 V mona zrealizowa co najmniej na dwa sposoby:

:FUNC "VOLT:DC"; VOLT:DC:RANG 10; RES 0.01

:CONFigure:VOLT:DC 10,0.01

Peniejszy wykaz rozkazów SCPI, zaimplementowanych w badanym multimetrze jest omówiony w p.3.2 i bdzie dostpny na stanowisku pomiarowym.

3 Opis wiczenia

3.1 Karta sterownika IEEE 488.2

Sterownikiem systemu w wiczeniu jest komputer PC z zainstalowan kart sterownika IEEE 488 typu GPIB-PCII/IIA firmy National Instruments. Karta odpowiada cile standardowi sterownika IEEE 488.2. Firma National Instruments jest wiatowym liderem w dziedzinie produkcji kart sterowników IEEE do komputerów oraz oprogramo­wania tego interfejsu.

Sterownik instaluje si w jednym z wolnych slotów komputera. Wczeniej naley ustawi za pomoc odpowiednich przeczników wymagane opcje konfiguracyjne:

& adres bazowy karty w przestrzeni we/wy komputera (standardowo 2B8H),

& poziom wykorzystywanego przerwania (27), (standardowo 7);

& numer kanau DMA (13), (standardowo 1);

& emulacja elementu 7210 lub 9914, (standardowo 7210).

Oprogramowanie licencjonowane dostarczane razem ze sterownikiem zawiera m.in:

& program instalacyjny INSTALL.EXE - do instalacji caego oprogramowania;

& programy diagnostyczne:

- IBDIAG.EXE - do diagnostyki hardware,

- IBTEST.EXE - do testowania software;

& program konfiguracyjny IBCONF.EXE;

& zasadniczy driver NI-488.2;

& interfejsy do rónych jzyków programowania;

& program sterowania interakcyjnego IBIC.EXE;

& program uruchomieniowy - debugger: APMON.EXE (Aplication Monitor).

3.1.1 Program konfiguracyjny IBCONF.EXE

Program konfiguracyjny pozwala dwupoziomowo skonfigurowa hardware w systemie tj. sterownik i podczone urzdzenia. Edycj wykonuje si za pomoc prostego menu. Na wyszym poziomie ustala si, jakie urzdzenia s w systemie oraz nadaje si im symboliczne nazwy. Na poziomie niszym podaje si (modyfikuje) niektóre charakterystyki urzdze m.in.: adres pierwotny ew. wtórny, czas przeterminowania (timeout) operacji we/wy, czas przeterminowania odpytywania szeregowego, sposób koczenia bloku danych (EOS lub EOI). Dla sterownika-pytki parametrów tych jest wicej (np. adres bazowy karty, kana DMA, poziom przerwania itd.) lecz s one na bieco komentowane i mona skorzysta z pomocy (help).

Po wykonaniu konfiguracji parametry systemu s przekazywane i obowizujce w zasadni­czym driverze, dopóki nie zostan zmienione.

3.1.2 Driver NI-488.2

Jest to podstawowe narzdzie do tworzenia oprogramowania aplikacyjnego obsugujcego interfejs IEEE 488. Driver zawiera zbiór atwych w uyciu funkcji i procedur, które z jednej strony s wywoywane z programów aplikacyjnych, a z drugiej komunikuj si z hardware interfejsu i pozwalaj na realizacj odpowiednich funkcji interfejsowych.

Driver (zawarty w pliku GPIB.COM) musi by instalowany w systemie DOS przy starcie komputera, std w pliku CONFIG.SYS powinna by umieszczona linia:

device=dir\gpib.com

W.w oprogramowanie jest w peni kompatybilne z wczeniej omawianym standardem IEEE 488.2, dlatego podstawowy zestaw procedur drivera - to implementa­cja zdefiniowanych w IEEE 488.2 sekwencji sterujcych i protokoów. W tablicy 4 podano peny wykaz procedur NI-488.2. Nazwy (kol.2) i opisy (kol.5) pokrywaj si, bd s bardzo zblione do zamieszczonych w tablicy 1 i 2; w ostatniej kolumnie tab.4 podano formalnie przyporzdkowanie procedury odpowiedniemu standardowi: S - sekwencji sterujcej, P - protokoowi (liczba po symbolu okrela pozycj w tablicy 1 lub 2). Podane procedury mona podzieli na kilka kategorii, wg. operacji jakie realizuj:

& nadawanie i odbiór danych (4, 5, 8) - najczciej uywane,

& sterowanie pojedyczymi urzdzeniami (10, 16, 17, 19, 20, 21, 22),

&l sterowanie wieloma urzdzeniami (11, 12, 13, 18, 26, 27),

& zarzdzanie magistral (9, 14, 15, 23, 24, 25, 28, 29),

& procedury we/wy niskiego poziomu (1, 2, 3, 6, 7).

TABLICA 4 Procedury NI-488.2

Lp

Nazwa

pro­ced­ury

Parametry

Opis

Stan

dard

T.Pascal

IBIC

1

SendCmds

bd, coms, cnt

data

Nadanie komunika­tów

inter­fej­sowych

S1

2

SendSetUp

bd, AdrLi

list

Zaadresowanie wybranych

urz­dze do od­bioru

S2

3

SendBataBytes

bd, dat, cnt, end

list, data end

Przesanie danych do zaad­reso­wanych urzd­ze

S3

4

Send

bd, adr, dat cnt, end

adr, data end

Przesanie danych

do okre­lonego u­rzd­zenia

S4

5

SendList

bd, AdrLi, dat,cnt­,end

list, data end

Przesanie danych

do okre­lonych urzd­ze

S4

6

ReceiveSetup

bd, adr

adr

Zaadresowanie okrelonego urzdzenia do nad­aw­ania

S5

7

RcvRespMsg

bd, dat, cnt, end

data, end

Przyjcie danych od urzdzenia zaadre­so­wanego do nada­wania.

S6

8

Receive

bd,adr, dat, cnt, end

adr, data end

Przyjcie danych od okrelonego urzd­zenia

S7

9

SendIFC

bd

Nadanie komunikatu

jed­noliniowego IFC

S8

10

DeviceClear

bd, adr

adr

Zerowanie wybra­nego

urz­dzenia (SDC)

S9

11

DeviceClear­List

bd, AdrLi

list

Zerowanie wybra­nych urzdze (SDC)

S9

12

EnableLocal

bd, AdrLi

list

Ustaw wybrane urzdzenia

na sterowanie lok­alne

S10

13

Enable Remote

bd, AdrLi

list

Ustaw wybrane urzdzenia

na ste­rowanie zdalne

S11

14

SetRWLS

bd, AdrLi

list

Ustaw sterow. zdalne z blokad lokalnego dla okrel. urzdze

S12

15

SendLLO

bd

Ustaw blokad sterowania lokal­nego dla wszystkich urz­dze

S13

16

ReadStatusByte

bd, adr, istb

adr

Odpytywanie szerego­we pojedynczego urzd­zenia.

S14

17

Trigger

bd, adr

adr

Wyzwolenie poje­dynczego

urz­dzenia

S15

18

TriggerList

bd, AdrLi

list

Wyzwolenie grupy wybranych urzdze

S15

19

PassControl

bd, adr

adr

Przeka sterowanie do innego kontro­lera

S16

P4

20

PPoll

bd, wyn

Wykonaj od­pytywanie równole­ge. wyn - wynik

S17

21

PPollConfig

bd, adr, line, sense

adr, line sense

Konfigurowanie urzdzenia do odpytywania równ­olegego

S18

22

PPollUnconfig

bd, AdrLi

list

Likwidacja kontroli równolegej w wybra­nych urz­dzeniach

S19

23

ResetSys

bd, AdrLi

list

Zainicjowanie sys­temu (REN, IFC, DCL, *RST)

P1

24

TestSRQ

bd, wynik

Okrelenie stanu linii SRQ

(wynik: 1 lub 0) -natychmiast.

25

WaitSRQ

bd, wynik

Czekaj na wys­tawienie SRQ (wynik:1-jest,0-brak po timeout)

26

FindRQS

bd, AdrLi, istb

list

Odszukaj urzdzenie dajce obsugi. W ibcnt zwracany in­deks urzdzenia wg. AdrLi.

P2

27

AllSpoll

bd, AdrLi, ResLi

list

Odpytywanie szerego­we wszystkich urzdze w sys­temie

P3

28

FindLstn

bd, AdrLi, ResLi, limit

list, limit

Odszukanie wszyst­kich

odbior­ników w systemie

P6

29

TestSys

bd, AdrLi, ResLi

list

Równoczesne wyko­nanie

wew­ntrznych testów urzdze

P8

Procedury NI-488.2 musz by wywoywane z odpowiednimi parametrami (wykaz w kol. 3 tablicy 4. W rónych jzykach programowania nazwa i znaczenie parametrów s takie same, natomiast ich typ moe si nieco róni. Przykadowo dla jzyka TurboPascal znaczenie i typ parametrów s nastpujce:

bd (integer) - numer karty sterownika ( 0, 1, ...),

adr (integer) - adres urzdzenia,

AdrLi (array[1..255] of integer) -lista adresów urzdze,

{uwaga: po ostatnim adresie na licie - liczba NOADDR=-1,}

ResLi (array[1..255] of integer) -lista odpowiedzi urzdze,

dat (a­rray[1..255] of char) - bufor bajtów danych,

coms (array[1..255] of char) - bufor bajtów komunikatów,

cnt (longint) - liczba przesyanych bajtów,

end (integer) - sposób zakoczenia bloku danych

(uywa symboli predefinio­wanych):

przy odbiorze: STOPend - EOI

przy nadawaniu: NULLend - bez znaku zakoczenia

NLend - znak nl + EOI,

DABend - ostatni DAB + EOI

istb (integer) - Lo(istb)=bajt statusu;

line (integer) - nr linii danych,

sense (integer) - przyporzdkowany stan (0 lub 1)

limit (integer) - liczba ograniczajca.

Oprócz procedur zgodnych z IEEE 488.2 i wymienionych w tab.4 driver NI-488.2 zawiera szereg uytecznych funkcji wprowadzonych we wczeniejszych wersjach NI-488, które stay si ju pewnym standardem przemysowym w programowaniu interfejsu IEEE 488. wiczcy mieli moliwo poznania ich w pierwszym wiczeniu dotyczcym IEC-625.

W driverze zdefiniowano cztery globalne zmienne systemowe, w których s umieszczane istotne informacje po wywoaniu kadej procedury. Zmiennymi tymi s:

ibcnt (integer) - standardowo: liczba przesanych bajtów podczas zapisu,

bd odczytu; w procedurach 2629 dodatkowe znac­zenie.

ibcntl(longint) j.w.

ibsta (integer) - sowo statusu,

iberr (integer) - kod błędu.

W tablicy 5 podano znaczenie i opis poszczególnych bitów sowa statusu (nie myli z bajtem statusu IEEE 488), w którym po zakoczeniu kadej procedury jest informacja o stanie interfejsu i karty sterownika. Testowanie ibsta pozwala ustali, czy s warunki dalszego przetwarzania.

W przypadku, kiedy zostanie ustawiony najstarszy bit (ERR) w sowie statusu, oznacza to wystpienie bdu przy realizacji procedury i interpretacja tego bdu podana jest w zmiennej iberr. W tablicy 6 podano zestawienie kodów sygnalizowanych bdów.

TABLICA 5 Sowo statusu "ibsta" - mapa bitowa

Znak

Bit

poz

Hex

Typ Ú)

fukcji

Nazwa

angielska

Opis

ERR

15

8000

dev­,bd

ERRor

Bd przy realizacji funkcji

TIMO

14

4000

dev­,bd

TIMeOut

Przekroczony limit czasowy operacji

END

13

2000

dev­,bd

END-EOS

Odebrano komunikat EOI lub EOS

SRQI

12

1000

bd

SRQ Interrupt

Ustawiona linia SRQ *)

RQS

11

800

dev

ReQues­t Serv.

Aktualne urzdzenie da obsugi *)

EVENT

10

400

bd

Event

Stan DTAS lub DCAS *)

SPOLL

9

200

bd

Serial Poll

Karta odpytana szeregowo *)

CMPL

8

100

dev,bd

I/O Com­leted

Operacja We-Wy zakoczona

LOK

7

80

bd

Lockout

State

Bit ustawiany po wykryciu komunikatu LLO -blokada sterowania lokalnego

REM

6

40

bd

Remote State

REN=1 i pytka zaadres. do od­bioru

CIC

5

20

bd

Controller

In-Charge

Karta jest aktywnym kontrolerem

ATN

4

10

bd

Attention

Linia ATN=1

TACS

3

8

bd

Talker

Karta zostaa zaadresowana do nadaw.

LACS

2

4

bd

Listener

Karta zostaa zaadresowana do odbioru

DTAS

1

2

bd

Dev.Trig.­Stat

Karta odebraa komunikat GET od innego kon­trol­era

DCAS

0

1

bd

Dev.Clear­Stat

Karta odebraa DCL lub SDC z in­nego kontrolera

Ú) - wszystkie procedury NI-488.2 s typu bd.

*) - dokadniejsze wyjanienie w materiaach dodatkowych.

TABLICA 6

Zmienna "iberr" - kody bdów

Znak

Kod

Opis

EDVR

0

Bd DOS, np. nie zainstalowany driver GPIB.COM w CONFIG.SYS

ECIC

1

Próba wyk. proced. aktywnego kontrolera, za karta nim nie jest. Wykonaj procedur SendIFC lub funkcj ibsic.

ENOL

2

Zapis przy braku odbiornika (zy adres, wyczenie, brak urzdzenia).

EADR

3

Karta nie zaadresowana do nadawania bd odbioru.

EARG

4

Zy argument w wywoaniu funkcji lub konflikt adresów karty i urzd­ze.

ESAC

5

Karta nie ma wymaganej funkcji kontrolera.

EABO

6

Operacja We-Wy zostaa przerwana (powód: rozczenie kabli, wywoanie DCL, SDC, ibstop lub przekroczony limit time­out).

ENEB

7

Brak karty-kontrolera pod adresem I/O wskazanym w konfiguracji.

ED­MA

8

Bd transmisji przez DMA (bd tylko dla Windows 3.x).

EOIP

10

Operacja asynchroniczna We-Wy nie zakoczona, a rozpoczto kolejn operacj na magistrali.

ECAP

11

Aktualne konfiguracja oprogramowania nie umoliwia wykonania operacji.

EFSO

12

Bd operacji z wykorzystaniem zapisu lub odczytu z pliku.

EBUS

14

Wykryto bd na magistrali IEEE-488, problemy z jednym z urzdze; np. zbyt wolne do aktualnej konfiguracji.

ESTB

15

Zagubiono bajt stanu podczas automatycznej kontroli szeregowej.

ESRQ

16

Linia SRQ nie moe by zgaszona (nie jest znane urzdzenie wys­tawiaj­ce SR­Q lub zwarcie linii SRQ).

ETAB

20

Problemy z tablic przy wykonaniu: FindLstn,FindRQS, ibevent. Np. adne z wym. przy FindRQS urzdze nie da obsugi.

3.1.3 Interfejsy do rónych jzyków programowania

W programach aplikacyjnych pisanych w rónych jzykach programowania wysokie­go poziomu mona uywa funkcji i procedur drivera NI-488.2. Kady program jest linkowany do drivera za pomoc odpowiedniego interfejsu programowego. Oferowane s interfejsy programowe do szerokiej gamy jzyków programowania, wczajc róne odmiany jzyków BASIC, C, PASCAL i FORTRAN. Jest równie moliwe wykorzysta­nie odpowiedniej wersji drivera w rodowisku WINDOWS.

Przykadowo, w jzyku Turbo Pascal interfejsem programowym jest dodatkowy unit TPDECL.TPU, który zawiera odwoania do wszystkich funkcji i procedur drivera. Unit ten naley docza do kadego programu aplikacyjnego, pisanego w w/w jzyku za pomoc deklaracji uses. wiczcy mog zapozna si z czci deklaracyjn tego unitu zapisan w postaci pliku TPDECL.PAS.

Oprócz procedur NI-488.2, funkcji NI-488 i w/w zmiennych globalnych w unicie TPDECL.TPU jest zawarta deklaracja pewnych typów i zmiennych, które mona uywa w programach aplikacyjnych. Są to:

type cbuf: array[1..255] of char;

AddrList: array[1..255] of integer;

var wrt, rd : cbuf; {mona uy jako buforów przy nadawaniu i odbiorze}

Cz programu aplikacyjnego zwizana z komunikacj za porednictwem interfejsu IEEE 488.2 ma przewanie nastpujc struktur:

1. Inicjalizacja interfejsu (SendIFC);

2. Odszukanie urzdze podczonych do magistrali (FindLstn);

3. Identyfikacja urzdze (analiza odpowiedzi na zapytanie "*IDN?" );

4. Inicjalizacja urzdzenia (DevClear, "*RST" );

5. Zaprogramowanie urzdzenia; m.in.: funkcja pomiarowa, rodzaj wyzwalania,

sposób raportowania statusu i generowania SRQ (zgodnie z SCPI);

6. Wyzwolenie urzdzenia (Trigger lub rozkaz wspólny "*TRG" );

7. Odczekanie na zakoczenie pomiarów (WaitSRQ);

8. Odpytywanie szeregowe (ReadStatusByte lub AllSpoll);

9. Odczytanie wyników (Receive).

Po wykonaniu kadej procedury interfejsowej naley bada sowo statusu ibsta, a w przy­padku wystpienia bdu program powinien okreli kod bdu (iberr) i ew. zako­czy dziaanie. Oczywicie, w programach aplikacyjnych mona wykorzystywa do przetwa­rzania wszystkie standardowe elementy jzyka Turbo Pascal.

3.1.4 Program sterowania interakcyjnego IBIC

Jest to wygodne narzdzie do nauki programowania interfejsu oraz tworzenia oprogramowania aplikacyjnego. IBIC pozwala wykona dowolne, pojedyncze procedury lub funkcje drivera NI-488.2 bezporednio z klawiatury (bez wczeniejszego pisania programu). Na ekranie s na bieco wywietlane: rezultat wykonania procedury, sowo statusu i ew. kod bdu z objanieniami. Mona uzyska pomoc (Help) w zakresie uywania danej procedury.

Zanim zostanie napisany program aplikacyjny, mona krokowo sprawdzi proponowany sposób sterowania interfejsem i sposób komunikacji z dowolnymi urz­dzeniami. Poniewa sterowanie odbywa si bezpored­nio z klawiatury, a wyniki s pokazywane na ekranie, std przy wywoywaniu procedur wystarczy podawa tylko niektóre parametry wejciowe (wyjciowe pomija si zawsze, gdy rezultaty procedur s wywietlane na ekranie). W tablicy 4 z list procedur podano w kol. 4 wykaz potrzeb­nych parametrów przy wywoy­wa­niu odpowiednich procedur NI-488.2 w progra­mie IBIC. Parametr od procedu­ry, jak i od kolejnych parametrów naley oddzieli spacj. Znaczenie parametrów jest nas­tpujce:

& adr - l. cakowita oznaczajca adres IEEE 488 urzdzenia; liczb mona zapisa

dziesitnie (I cyfra  0), oktalnie (poprzedzi cyfr 0) lub hexadecymalnie

(poprzedzi znakami 0x np. 0x1A);

& list - jest oddzielon przecinkami list adresów;

& data - acuch danych lub komunikatów interfejsowych do nadawania zamknity

znakami cudzysowu "...".Poszczególne symbole w acuchu mog by

znakami ASCII albo kodami bajtów w postaci oktalnej (liczba poprzedzona

znakiem backslash \) lub hexadecymalnej (liczba poprzedzona znakami \x ).

Dopuszczalne s dodatkowo dwa znaki specjalne: \n - znak zmiany wiersza, \r - powrót karetki.

& line, sense - l. cakowite reprezentujce odpowiedni lini danych i sposób

odpowiedzi na odpytywanie równolege;

& limit - liczba cakowita ograniczajca liczb odbiorników w systemie;

& end - sposób koczenia bloku danych przy nadawaniu - jak w jez. Turbo Pascal.

Zanim zostan wywoane w programie IBIC jakiekolwiek procedury NI-488.2 naley wybra za pomoc funkcji set 488.2 N aktualn kart sterownika interfejsu w komputerze. W tablicy 7 podano wykaz i opis dodatkowych funkcji pomocniczych, które mog by bardzo uyteczne przy korzystaniu z programu IBIC.

TABLICA 7 Pomocnicze funkcje programu "IBIC" -interaktywnego

Lp

Skadnia

Opis

1

set 488.2 N

Wybór aktywnej karty kontrolera (N -oznacza nr karty np. 0).

Funkcj t naley koniecznie wywoa przed wykonaniem innych procedur NI-488.2).

2

set NazwaUrz

Przeczenie aktywnego urzdzenia lub karty. (Wcze­niej urz­dzenie powinno by otwarte za pomoc funkcji ibfind). Nazwa­Urz jest nazw zadeklarowan w czasie konfiguracji (I­BCON­F).

3

help [opcja]

Wywietlenie informacji do pomocy; pominicie opcja powo­duje wywietlenie menu.

4

!

Powtórz poprzedni funkcj.

5

-

Wycz wywietlanie.

6

+

Zacz wywietlanie.

7

n* funkcja

Wykonaj podan funkcj n razy.

8

n* !

Powtórz poprzedni funkcj n razy.

9

$ NazwaPliku

Wykonaj funkcje IBIC zawarte w pliku o podanej nazwie.

10

print string

Wywietlenie podanego acucha na ekranie.

11

e lub q

Zakoczenie programu IBIC.

3.2 Multimetr HP 344010A

Pena instrukcja obsugi i wykorzystania przyrzdu jest dostpna na stanowisku laboratoryjnym. Poniej zamieszczono tylko wybrane dane o moliwociach i programo­waniu zdalnym urzdzenia.

Multimetr HP 344010A jest nowoczesnym przyrzdem wielofunkcyjnym do pomiarów wielkoci elektrycznych. Moe by sterowany lokalnie za porednictwem klawiatury na pycie czoowej oraz zdalnie za pomoc interfejsu. Wyposaony jest w dwa interfejsy pomiaro­we: w peni zgodny z IEEE 488.2 oraz RS 232. Zasadniczym jzykiem programowania przy sterowaniu zdalnym jest SCPI. Zarówno rodzaj interfejsu, adres urzdzenia jak i jzyk programowania przyrzdu ustala si z pyty czoowej.

3.2.1 Funkcje pomiarowe

VOLTage:DC;

VOLTage:DC:RATio - stosunek dwóch napi staych (na zaciskach In­putRatio Ref);

VOLTage:AC;

CURRent:DC;

CURRent:AC;

RESistance - rezystancja metod 2-przewodow;

FRESistance - rezystancja metod 4-przewodow;

FREQuency;

PERiod;

CONTinuity - test przewodnoci przy prdzie 1 mA;

DIODe - sprawdzenie diody przy prdzie 1 mA;

3.2.2 Konfiguracja podstawowa pomiarów

Po zaczeniu multimetru do sieci, a take po wykonaniu rozkazu uniwersalnego *RST (RESET) multimetr ma ustawion standardow, w pewnym sensie optymaln konfiguracj pomiarow. Parametry konfiguracji standardowej podano w tablicy 8. Przed wykonaniem okre­lonych pomiarów niektóre parametry przyrzdu mona zmieni.

Najbardziej elastycznym sposobem ustalenia wymaganej, podstawowej konfiguracji jest wykorzystanie rozkazów z grupy SENSe (rys.4). Uwaga: ustalenie konfiguracji nie jest jeszcze wykona­niem pomiarów. I tak, mona zaprogramowa tymi rozkazami lub przesa zapytanie o: funkcj pomiarow, zakres, rozdzielczo (podaje si w jednostkach wielkoci mierzonej, nie jako liczb cyfr znaczcych), czas cakowania (NPLCycles), czas apertury przy pomiarze czstotliwoci i okresu, czstotliwo odcicia filtru gór­noprzepustowego AC (DETe­ctor:BANDwith), wczenie/wyczenie autozerowania.

Impedancj wejciow multimetru mona sterowa za pomoc rozkazu:

:INPut:IMPedance:AUTO {OFF | ON};

TABLICA 8. Standardowa konfiguracja multimetru po zaczeniu (i Reset State)

L p

Nazwa parametru

Standardowy Stan Parametru

1

Funkcja pomiarowa

VOLTage:DC

2

Zakres

AUTO

3

Rozdzielczo

odpowiada 5 cyfry (slow)

4

Czas cakowania

10 NPLCycles

5

Autozerowanie

wczone (:ZERO:AUTO ON)

6

Filtr AC (górnoprzepust.)

20 Hz (medium)

7

Rezystancja wej. dla VOLT:DC

10 MW (:INP:IMP:AUTO OFF)

8

Stan operacji matematycznych

Wyczone

9

Rezystancja odniesienia dla dBm

600 W

10

ródo wyzwalania

natychmiastowe (IMMediate)

11

Op­ó­nie­nie wy­z­wa­l­a­nia

automatyczne (:T­RI­G:­D­E­L:­A­UTO ON)

12

Liczba pomiarów po wyzwoleniu

1

Innym, mniej elastycznym sposobem zmiany konfiguracji s rozkazy z grupy CONFigure. Ogólna posta polecenia:

:CONFigure:<func> {<range>|MIN|MAX|DEF},{<resol.>|MAX|­MIN|­DEF}

gdzie: <func> - jest dowoln funkcj wymienion w 3.2.1;

pozwala na równoczesne ustalenie funkcji pomiarowej, zakresu i rozdzielczoci. Wpraw­dzie dla funkcji FREQuency i PERiod zakres jest zawsze ten sam, jednak musi by formalnie wymieniony, gdy chce si poda jako drugi parametr rozdzielczo. Inne parametry pomiarowe nie specyfikowane w poleceniu CONFigure s ustalane automatycz­nie wg. wartoci standardowych (tab.8 z wyj. poz.5). Po wykonaniu polecenia CON­Figure, a przed wykonaniem pomiarów, mona dodatkowo zmienia wybrane parametry konfiguracyjne poleceniami z grup: SENSe, INPut, CALCulate itd.

Odpowiadajc form uproszczonego zapytania o konfiguracj jest CONFigure?

3.2.3 Wyzwalanie pomiarów

Najprostszym, ale najmniej elastycznym sposobem wykonania pomiaru jest polecenie MEASure o postaci:

:MEASure:<func>? {<range>|MIN|MAX|DEF},{<resol.>|MAX|­MIN|­DEF}

Jak wida, struktura polecenia jest podobna do CONFigure, rezultatem jest natychmias­towe wykonanie pomiaru. Funkcja, zakres, rozdzielczo s okrelone rozkazem nato­miast inne parametry ustawione standardowo niezalenie od wczeniejszych ustale (jak w CONFigure). Wynik pomiaru jest umieszczony bezporednio w buforze wyjciowym przyrzdu (typowa reakcja na zapytanie).

Multimetr ma jednak due moliwoci i elastyczno przy programowaniu wyzwalania pomiarów, synchronizacji, itp. ródo wyzwalania przyrzdu moe by wczeniej wybrane rozkazem z grupy TRIGger:

:TRIGger:SOURce {IMMediate | EXTernal | BUS}

gdzie parametrami s rodzaje wyzwalania:

IMMediate - natychmias­towe,

EXTernal - sygnaem elektrycznym,

BUS - programowe z magistrali intrerfejsu.

Zapytaniem o ródo wyzwalania jest oczywicie :TRIGger:SOURce?.

Na rys.5 pokazano schematycznie wieloetapowy proces wyzwa­lania urzdzenia i wykonywa­nia pomiarów. Pocztkowym stanem multimetru m.in. w czasie programowa­nia kon­figuracji pomiarowej jest stan spoczynkowy ( Idle State ). W tym stanie adne ze róde wyzwalania nie jest akceptowane. Dopiero jeden z trzech rozkazów: :MEASure­..?, :READ? bd :INITiate powoduje przejcie multimetru do stanu ocze­kiwania na wyz­wolenie (Wait-for-Trigger State) (przejcie wymaga czasu ok. 20 ms).

W tym stanie przyrzd reaguje na zadeklarowane ródo wyzwalania i z chwil jego zadziaania realizowany jest kolejny etap, a mianowicie odmierzanie ustalonego opónienie (Delay), po czym wykonywany jest pomiar (Measurement Sample). Czas opónienia moe by wczeniej ustalony rozkazami:

:TRIGger:DELay {<sekundy>|MIN|MAX}

:TRIGger:DELay:AUTO {ON|OFF}

przy czym MIN=0 s, za MAX=3600 s. Standardowym ustawieniem po wczeniu oraz w CONFigure i MEASure jest ..:AUTO ON.

0x01 graphic

Rys. 5.Wieloetapowy proces wyzwalania multimetru.

Jeeli przed wyzwoleniem pomiaru bya zadeklarowana rozkazem:

:SAMPle:COUNt {<liczba>|MIN|MAX} (MIN=1, MAX=50000)

liczba pomiarów wiksza od 1, wtedy kolejno realizowane s nastpne próbkowania (w ramach tego samego wyzwolenia) z zachowaniem zadanego opónienia midzy pomiarami (mona tym sposobem programowa okres próbkowania). Z kolei po ich wyczerpaniu przyrzd moe przej ponownie do stanu oczekiwania na wyzwolenie, jeli wczeniej zadeklarowano wiksz od 1 liczb wyzwole rozkazem:

:TRIGger:COUNt {<liczba|MIN|MAX} (MIN=1, MAX=50000)

Po wyczerpaniu zadeklarowanej liczby multimetr ponownie przechodzi do stanu spoczynkowego. Powrót do tego stanu mona równie wymusi z dowolnego etapu pomiarów, wysyajc przez magistral komunikat zerowania urzdzenia (DeviceClear).

Wyjanienia wymagaj jeszcze rónice midzy wprowadzonymi wyej rozkazami inicjujcymi oczekiwanie na wyzwolenie pomiaru:

:READ? - rozkaz powoduje przejcie do stanu Wait-for-Trigger State i dalej pomiary

przebiegaj w.g. wczeniejszych ustale. Poniewa ma form zapytania, wic

wszystkie wyniki s natychmiast przekazywane do (i tylko) bufora wyjciowego

urz­dzenia.

:INITiate - dziaanie identyczne z tym, e wyniki pomiarów s umieszczane w pamici

wewntrznej przyrzdu (max. 512 pomiarów). Dopiero podanie dodatkowego

rozkazu - zapytania:

:FETCh?

powoduje przepisanie wyników do bufora wyjciowego i umoliwia ich odczytanie

poprzez magistral;

:MEASure...? - Jak wczeniej wspomniano, po tym poleceniu przyjmowane s

w wikszoci standardowe parametry konfiguracji, m.in. wyzwalanie IMMediate.

Std otrzymanie tego rozkazu jest równoznaczne z wyzwoleniem przyrzdu, tzn.

z bezporednim przejciem do etapu odmierzania opónienia (dobranego automa­tycznie) i wykonaniem pojedynczego pomiaru (do bufora).

3.2.4 Inne funkcje multimetru i rozkazy programujce

& wywietlanie:

:DISPlay {OFF|ON|?} - wcz/wycz wywietlanie wyników na p. czoowej.

:DISPlay:TEXT <"łańcuch"> - wyœwietl tekst;

:DISPlay:TEXT:CLEar

:DISPlay:TEXT?

& operacje systemowe:

:SYSTem:VERSion? - zapytanie o wersj SCPI,

:SYSTem:ERRor? - Zapytanie o bdy; jeli s to przeniesienie najwczeniejszego

do bufora wyjciowego, celem póniejszego odczytania poprzez magistral.

:SYSTem:BEEPer - natychmiastowy sygna dwikowy;

:SYSTem:BEEPer {ON|OF|?}.

:DATA:POINts? - zapytanie o liczb pomiarów zebranych w pamici wewntrz­nej multimetru.

& obsługa rejestru statusu Questionable Data Register (SCPI):

:STATus:QUEStionable

:EVENt?

:ENABle <value>

:ENABle?

:STATus:PRESet - zeruje wszystkie bity rejestru Questionable.

& Wan i liczn grup rozkazów jest :CALCulate. Polecenia tej grupy umoliwiaj wykonanie przez multimetr jednej z piciu operacji matematycznych, z wykorzystaniem biecych pomiarów. wiczcy zapoznaj si z tymi rozkazami i zastosuj je praktycznie, korzys­tajc bezporednio z doku­mentacji firmowej przyrzdu.

Dodatkowymi przyrzdami, które Studenci maj do dyspozycji na stanowisku laboratoryjnym s: ródo sygnaów prdu staego, generator funkcyjny, przetwornik prdu staego na czstotliwo i tester IEEE 488.

4 Zadania i problemy

1. Zapozna si z multimetrem HP 34401A, w szczególnoci:

- funkcjami pomiarowymi i charakterystykami metrologicznymi,

- przeznaczeniem gniazd sygnaowych na pycie czoowej i tylnej przyrzdu,

- rczn obsug za pomoc klawiatury i menu multimetru.

Korzystajc z menu systemowego przyrzdu ustali rodzaj interfejsu IEEE 488, adres urzdzenia i jzyk progra­mowania SCPI.

2. Skonfigurowa hardware systemu: komputer z kart sterownika, multimetr, tester IEEE 488. Za pomoc programu IBCONF skonfigurowa software.

& kolejne zadania 312 zrealizowa z wykorzystaniem programu interakcyjnego IBIC;

& wymiana informacji z multimetrem ma si odbywa poprzez magistral interfejsu;

& w protokole notowa wszystkie rozkazy sterujce, istotne dla zadania rezultaty i uwagi

& po wystpieniu bdu przyrzdu odczyta przez interfejs odpowiedni meldunek, zapisa

i zinterpretowa przy­czyn.

3. Wyzerowa interfejs. Podajc list kilku adresów odszuka formalnie odbiorniki w systemie. Odczyta i wywietli na monitorze dane identyfikacyjne multimetru oraz wersj jzyka SCPI. W zamian przedstawi si, wywietlajc swoje dane identyfikacyjne na multimetrze. Wykona dwoma sposobami testowanie wewntrzne multimetru. Czy sposób wykonywa­nia i odczytane rezultaty s identyczne?

4. Sprawdzi zachowanie przyrzdu i moliwo sterowania po wysaniu polece sterowania zdalnego i lokalnego, z blokad i bez.

5. Naley zebra (i odczyta) wyniki 10 pomiarów napicia staego z okresem prób­kowania 0.5 s i najwiksz rozdzielczoci. Spróbuj wykona to za pomoc rozkazów: MEASure, READ oraz INITiate, podaj spostrzeenia.

6. Ustal dowiadczalnie, jaka jest maksymalna pojemno pamici wewntrznej mul­timetru, a jaka bufora wyjciowego. Jak naley postpi, gdy potrzebna jest jeszcze dusza seria pomiarów z równomiernym próbkowaniem.

7. Skonfigurowa przyrzd i wykona cig 512 pomiarów napicia staego z minimal­nym okresem próbkowania. Powtórz to dla napicia zmiennego.

8. Metod programowania parametrów konfiguracyjnych i uzyskiwania odpowiedzi na zapytania ustal zaleno midzy rozdzielczoci, a czasem cakowania przy pomiarach napicia staego. Czy obowizuje to dla napi zmiennych? Od czego zaley rozdzielczo pomiarów czstotliwoci i czasu? Zbadaj t zaleno .

9. Odczytaj i zinterpretuj aktualny stan wszystkich rejestrów statusu.

10. Skonfiguruj przyrzd tak, aby zgasza danie obsugi:

a) po wykonaniu pierwszego pomiaru z serii,

b) po ukoczeniu wszystkich pomiarów,

c) po wystpieniu dowolnego bdu multimetru.

Sprawd w/w przypadki wykonujc 10 pomiarów rezystancji metod 4-przewodow. Obserwuj monitorowan lini SRQ i odczytaj dwoma sposobami bajt statusu; jaka jest rónica?

11. Wykonaj pomiar 10 rezystancji na jednej dekadzie opornicy metod 2-przewodow, lecz z moliwie maym bdem metody od rezystancji doprowadze. Uwaga! korekcja powinna by wykonywana automatycznie przez multimetr.

12. Wykonaj niezbdne pomiary ilustrujce zjawisko idealnego aliasingu. Wszystkie pomiary maj by wykonane zdalnie. W odpowiedzi kocowej poda czstotliwo i amplitud sygnau wejciowego, czstotliwo próbkowania, amplitud sygnau sprób­kowanego (rónic midzy maksymal­n i minimaln wartoci).

& dalej naley zrealizowa jedno z zada 1317 wskazane przez prowadzcego,

& rezultatem ma by program aplikacyjny dziaajcy w czasie rzeczywistym,

& przy próbach mona posugiwa si programem interakcyjnym IBIC,

& w sprawozdaniu zamieci wydruk programu, jak i wyniki jego dziaania.

13. Dla generatora przebiegów sinusoidalnych wyznaczy zaleno amplitudy od czstotliwoci, przy staym ustawieniu pokrta amplitudy. Róne wersje maj obej­mowa bezporedni pomiar amplitudy w innych skalach:

a) napicia,

b) skali wzgldnej (w od­niesieniu do napicia przy czstotliwoci max.),

c) w decybelach dla rezystancji od­niesienia 600  i wzgldem punktu

o czsto­tliwoci max.

14. Zdj charakterystyk górnoprzepustowych filtrów wejciowych AC w multimetrze. Róne wersje maj obejmowa bezporedni pomiar amplitudy w rónych skalach:

a) napicia,

b) skali wzgldnej (w odniesieniu do napicia przy czstotliwoci max.),

c) w decybelach dla rezystancji odniesienia 600  i wzgldem punktu

o czsto­tliwoci odcicia filtra.

15. Wyznaczy charakterystyk przetwornika prdu staego 020 mA na czstotliwo 515 Hz. Wska­zówka: do podczenia dwóch sygnaów mona wykorzysta gniazda na pycie czoowej i tylnej przyrzdu.

16. Zdj charakterystyk tumienia zakóce szeregowych multimetru dla okrelonych czasów cakowania. Napicie wejciowe z generatora (zakócenia rzeczywiste) mierzy jako VOLT:AC. Amplitud zakóce mierzonych wyznacza jako poow rónicy (MAX-MIN) z serii pomiarów (CALCulate!). Uwaga: okres próbkowania serii powinien by taki, aby na cay horyzont pomiarów przypadaa cakowita liczba N okresów zakóce oraz N i SAMPle:COUNt nie miay wspólnych podzielników. Dlaczego?.

17. Dla rónych ksztatów napicia: sinusoidalnego, trójktnego, i prostoktnego o rónych wspóczynnikach wypenienia wyznaczy rozkad prawdopodobiestwa pomiarów (histogram, bd histogram skumulowany) wykonywanych w przypadkowych (bd pseudoprzypadkowych) chwilach czasu. Czas cakowania w pomiarach VOLT:DC powinien by co najmniej dziesiciokrot­nie mniejszy od okresu przebiegu. Przypadkowe chwile pomiaru mog by generowane w komputerze, bd przyj stay okres prób­kowania w/g zasad podanych w zadaniu 16. Uwaga: Nie odczytywa pojedynczych wyników pomiaru do komputera, lecz wykorzysta funkcj matematyczn multimetru LIMit i zlicza odpowied­nio genero­wane dania obsugi SRQ.

5 Literatura

Mielczarek W. - „ Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI”. Helion, Gliwice, 1999.

Nawrocki W. „Komputerowe systemy pomiarowe”, WkiŁ, Warszawa 2002

"NI-488.2 Software Reference Manual for Windows", National Instruments Corporation, Austin (Texas USA).

"NI-488 and NI-488.2 Subroutines for Pascal", National Instruments Corporation, Austin (Texas USA), Dec 1992.

"IEEE 488 and VXIbus Control, DataAcquisition, and Analysis", katalogi National Instruments Corporation, Austin (Texas USA), 1994, 2005.

"Products for the IEEE 488 BUS", IOtech.Inc. Cleveland, Ohio, 2004.

"HP 34401A Multimeter - User's Guide", Hewlett-Packard Company, Loveland, Colorado, 1992.

"HP 75000 Family of VXI Products & Services", Hewlett-Packard Company, Loveland, Colorado, 1993.



Wyszukiwarka

Podobne podstrony:
Metoda Charlesa Blissa - kopia z int, Fizjoterapia, kinezyterapia
Int
int iors pl
23965 Przewodnik po prawie int Nieznany
Fot wyk3 int
Amstrad IC200 mk2 int sch
Odpowiedzi do testu z Ochr. Włas. Int. ściąga, Ochrona własności intelektualnej
kurs wprow.cz.prakt.2008, Znieczulenie, Wykłady-Wprowadz. do spcjalizacji w anestezjologii i int.ter
AI test1, Studia, ZiIP, SEMESTR IV, semestr IV zaoczny, Metody szt. int
int sz e
np 1 2001 srodki int
Int nizsza niz przec- mat.dyd-2008-9, dysleksja
impreza int-szkol, UEK TiR, Semestr V, Obsługa ruchu tur. -Lipecki K. ĆW
Historia chroroby int Historia
KrĂłtkie Testy Sol Upper Int tests short tests unit 8
aqua pet 2e io int 0314
kodowanie int
ed339R 1 INT

więcej podobnych podstron