Komputery

Interface równoległy IEC-625 (GPIB)

HISTORIA STANDARDU IEC-625

Standard IEC-625 jest obecnie najpopularniejszym standardem interfejsu, umożliwiającym sprzęganie aparatury kontrolno-pomiarowej i informaty cznej w system pomiarowy. Przy opracowywaniu tego systemu wzorowano się na interfejsie HP-IB (Hewlett-Packard Interface-Bus), zaproponowanym na początku lat siedemdziesiątych przez firmę Hewlett-Packard. Standard ten, znany również pod nazwą .GPIB (General Purpose Interface Bus), został przyjęty w USA jako IEEE-488 w 1975 r. Europejska wersja tego standardu została zaaprobowana przez Międzynarodową Komisję Elektrotechniczną (IEC) w 1976 r. jako IEC-625. Wersja ta różni się od amerykańskiej jedynie rodzajem złącza interfejsu. Zalecenia IEC-625 unifikują następujące elementy systemu interfejsu: sygnały interfejsowe, funkcje interfejsowe, protokoły wymiany informacji, kody i formaty informacji, parametry elektryczne i mechaniczne. W 1978 r. zweryfikowano standard IEEE-488, wprowadzając niewielkie modyfikacje (IEEE-488 – 1978) [26], a w 1987 r. przyjęto ostatecznie nazwę ANSI/IEEE 488.1 – 1987 (w skrócie IEEE488.1) [27]. Zmiana nazwy normy związana była z powstaniem w tymże roku rozszerzonej wersji podstawowej wersji standardu, która precyzowała sposób komunikacji kontrolera z urządzeniami pomiarowymi. Rozszerzenie to zyskało nazwę ANSI/IEEE 488.2 – 1987 (w skrócie IEEE-488.2) [28]. Wersja podstawowa standardu, po przyjęciu nazwy IEEE-488.1, stała się częścią wersji rozszerzonej. Europejskimi odpowiednikami norm standardu IEEE są odpowiednio IEC-625.1 [24] i IEC-625.2 [25]. Polskim odpowiednikiem normy IEC-625.1 jest PN-83fT-06536 [65].

ORGANIZACJA SYSTEMU IEC-625

Struktura systemu w standardzie IEC-625 (w skrócie: systemu IEC-625) opiera się na konfiguracji magistratowej, w której wszystkie urządzenia dołączone są równolegle do wspólnej magistrali interfejsowej (rys. 6.1); magistralą tą przesyła się komunikaty interfejsowe (adresy i rozkazy) oraz komunikaty urządzeń (dane). Magistrala składa się z 16 linii sygna-łowych (8 linii danych, 3 linie synchronizacji, 5 linii sterowania) oraz 9 linii masy. Na magistrali obowiązuje 1 o g i k a u j e m n a , tzn. stan niski L odpowiada jedynce logicznej (“1”), stan wysoki – zeru logiczne. mu (“0”). Urządzenia mają wbudowane układy interfejsowe odpowie-dzialne za realizację wymiany informacji z innymi urządzeniami. Cechą każdego urządzenia z interfejsem IEC-625 (w skrócie: urządzenia IEC-625) jest możliwość jego pracy zarówno w systemie IEC-625 jako urządzenia zdalnie sterowanego przez komputer, jak również poza syste-mem jako samodzielnego, autonomicznego przyrządu pomiarowego, sterowanego ręcznie z płyty czołowej. Liczba urządzeń jednocześnie dołączonych bezpośrednio do magistrali jest ograniczona do 15 (łącznie z kontrolerem systemu). Przepływ informacji odbywa się między urządzeniami systemu, które kwalifikuje się jako nadajniki (N), odbiorniki (0) i kontrolery (K). Właściwości nadajnika, odbiornika i kontrolera mogą występować w urządzeniach pojedynczo lub łącznie (rys. 6.1). Nadajnik, zwany również nadawcą (ang. talker), może transmitować dane do innych urządzeń przez magistralę. Odbiornik, zwany też odbior-cą (ang. listener), może przyjmować dane wysyłane przez nadawcę. Na-dawcą informacji w danej chwili mole być tylko jedno urządzenie, od-biornikami – jednocześnie kilka urządzeń. Uaktywnienie w danej chwili właściwości nadawczych lub odbiorczych urządzenia możliwe jest po wysłaniu do niego odpowiedniego adresu (nadawczego lub odbiorczego). Kontroler zarządza systemem interfejsu. Zarządzanie to polega na organizowaniu i kierowaniu przepływem informacji w systemie (m.in. przez wysyłanie adresów i rozkazów) oraz na sterowaniu magistralą systemu. W banalnych przypadkach możliwa jest praca systemu bez obecności kontrolera. Dotyczy to prostych systemów o sztywnej konfigu-racji; wówczas jedno z urządzeń (np. woltomierz)´zaadresowane jest na stałe do nadawania (zwykle specjalnym przełącznikiem), a inne (np. drukarka) – do odbioru. Kontroler systemu IEC-625 twory komputer (obecnie najczęściej typu PC) z kartą interfejsu i odpowiednim oprogra-mowaniem. Dopuszcza się istnienie w systemie kilku kontrolerów, przy czym jeden z nich musi pełnić funkcję kontrolera systemowego, nad-rzędnego w stosunku do pozostałych. W danej chwili pracą systemu może zarządzać tylko jeden kontroler, pełni on wówczas funkcję kontro-lera aktywnego. Kontrolery mogą przekazywać sobie sterowanie syste-mem, wykorzystując procedurę przekazywania kontroli (por. p. 6.4.3). W momencie włączenia zasilania systemu funkcję kontrolera aktywnego przejmuje kontroler systemowy. Kontroler ten jako jedyny ma w każdej chwili możliwość zerowania systemu interfejsu (tzn. ustawiania w stan- początkowy i n t e r f e j s ó w wszystkich urządzeń dołączonych do magistrali, bez względu na aktualny ich stan) oraz ustawiania systemu w stan pracy zdalnej lub lokalnej. Jest to możliwe również wtedy, gdy nie jest on kontrolerem aktywnym, dzięki czemu jest w stanie przejąć zarządzanie systemem w dowolnej chwili. Kontroler tworzy konfigurację urządzeń w celu przeprowadzenia transmisji danych, adresując je do nadawania lub odbioru. Każde z urzą-dzeń ma swój indywidualny adres (liczba od 0 do 30), zwany adresem urządzenia (DA – Device Address). Sposób ustawiania adresów zależy od producenta urządzenia. Możliwe jest ustawienie sprzętowe adresu za pomocą 5-bitowego nastawnika (np. typu “DIP-switch”) lub programo-we. Adresy -urządzeń ustawia się w trakcie zestawiania tych urządzeń w system. Teoretycznie możliwe jest posiadanie kilku adresów przez jedno urządzenie, lecz w praktyce nie jest to stosowane. Adresowanie do nadawania polega na wysłaniu za pośrednictwem magistrali (szyną danych) adresu nadawania TAD (ang. Talk ADdress), który urządzenie odbiera jako MTA – mój adres nadawania (ang. My Talk Address). Adres nadawania, zwany też adresem nadawczym, stano-wi 5-bitowy adres urządzenia, uzupełniony 2-bitowym kodem charakte-ryzującym grupę adresów nadawczych (TAG), (rys.6.2). Wysłanie adresu TAD powoduje, że urządzenie, które identyfikuje się z tym adre-sem, staje się nadajnikiem w systemie. Nie wszystkie funkcje interfejsowe muszą być zrealizowane w intefejsie danego urządzenia {np. przyrząd tylko odbierający dane nie musi mieć zaimplementowanej funkcji T). Było to istotne wtedy, gdy funkcje te tworzone były z wykorzystaniem układów scalonych małej skali integracji. Obecnie produkowane w masowej skali układy scalone realizują sprzętowo wszystkie funkcje interfejsu. Jedynie w niektórych z nich pominięta jest funkcja C. . Funkcje interfejsowe zdefiniowane są w normie za pomocą grafów stanu i tablic komunikatów wyjściowych. Znajomość grafów umożliwia w dogłębną analizę systemu interfejsu IEC-625, co jest szczególnie istotne w przypadku trudności przy uruchamianiu systemów pomiarowych IEC-625. Wówczas umiejętność analizy grafów może znacznie przyspieszyć uruchamianie systemu. Skrócony opis wybranych grafów zamieszczono w dodatku A. Pełny ich opis można znaleźć w [27], [54], [65].

URZĄDZENIA W STANDARDZIE IEC-625.2

Problem w programowaniu urządzeń IEC-625.1 stanowił brak standaryzacji instrukcji programujących, formatów danych i systemów statusu urządzeń. Instrukcje zawierające programy różnych przyrządów o podobnym sposobie funkcjonowania nie były identyczne, nawet gdy urządzenia pochodziły od jednego producenta. Projektanci systemów często musieli nauczyć się odrębnego zestawu instrukcji dla każdego przyrządu, a wymiana urządzenia w systemie kontrolnym wymagała wielu zmian w programie obsługi. Utrudniało to wykonanie oprogramowania systemów. Standard IEC-625.2 umożliwił rozwiązanie wielu problemów spotykanych w standardzie IEC-625.1 i znacznie ułatwił komunikację z urządzeniami. Ponieważ urządzenia pracujące w tym standardzie stosują standaryzowane protokoły wymiany informacji oraz formaty danych, ich odpowiedzi na “zapytania” kontrolera są ściśle określone. Wymagania dotyczące urządzeń stosowanych w standardzie IEC-625.2 skróciły czas programowania systemów, podniosły ich kompatybilność i niezawodność a także ułatwiły modyfikacje oprogramowania związane ze zmianą przyrządu w systemie. Protokół wymiany informacji IEC-625.2 jest również podstawą standardu SCPI (Standard Commands for Programmable Instruments), który czyni programowanie systemów pomiarowo-kontrolnych jeszcze prostszym.

Wymagania dotyczące urządzeń

Wymagania zawarte w normie IEC-625.2 dotyczące urządzeń obejmują: o warunki, które muszą być spełnione przez urządzenia; głównie w za-kresie wynikającym z normy IEC-625.1; o struktury danych związanych z komunikacją, a więc bufor wejściowy i kolejkę wyjściową. Standard IEC-625.2 definiuje minimalny zestaw funkcji interfejsowych dla urządzenia. Wszystkie przyrządy muszą wysyłać i odbierać dane, zgłaszać żądanie obsługi i reagować na rozkaz zerowania DCL. Zatem w interfejsie każdego urządzenia IEC-625.2 muszą być zrealizowane następujące funkcje interfejsowe: SH, AH, T, L, SR, DC. Ponadto, zgo-dnie z normą, 5 młodszych bitów adresów nadawczych i odbiorczych powinno być sobie równych. Użytkownik winien mieć możliwość ustala-nia wartości tych bitów. Komunikacja między interfejsem standardu IEC-625.1 a tymi elementami, które definiuje standard IEC-625.2 odbywa się za pośrednictwem buforów. Dane odbierane z magistrali umieszczane są w buforze wejściowym. Natomiast informacje przeznaczone do wysyłania urządzenie umieszcza w kolejce wyjściowej, oznaczanej OQ (ang. Output Queue). Oba te bufory są typu FTFO (ang. First In First Out), czyli dane są z nich odczytywane w takiej -kolejności, w jakiej były wcześniej zapisywane. Zgodnie z wymaganiami normy, polecenia winny być wykonywane w takiej kolejności, w jakiej zostały przesłane do urządzenia. Istotnym zagadnieniem jest kwestia wyboru wielkości tych buforów. Norma dopuszcza tu dużą dowolność. Pojemność bufora wejściowego może być stała lub zmienna. Wskazówką może być długość nagłówków poleceń ograniczona w normie do maksimum 12 znaków. Wymagania dotyczące kolejki wyjściowej są również ogólnikowe. Pojemność kolejki wyjściowej powinna być taka, aby mieściła bez problemu typową odpowiedź danego przyrządu. Zatem powinna ona zależeć od przewidywanych tekstów, które będą wysyłane przez przyrząd. Nie jest wskazane przepełnienie bufora. W sytuacji jego zapełnienia urządzenie powinno wstrzymać odbiór danych (NRFD holdoff) i rozpocząć interpretację danych wcześniej odebranych, zwalniając w ten sposób miejsce w buforze. Przepełnienie bufora nie powinno powodować żadnej sygnalizacji błędu.

Zasady przepływu informacji i struktury danych.

Norma IEC-625.2 obejmuje ogólne zasady przepływu informacji w systemie oraz ustalenia dotyczące składni i formatów. Standard ten precyzyjnie określa format rozkazów oraz format i kody odpowiedzi przyrządów. W skład standardu wchodzą również procedury obsługi błędów i nietypowych sytuacji np. Otrzymanie przez urządzenie złożonych roz-kazów, przerwy w sekwencji komend bądź odebranie rozkazu bez znaku zakończenia. Zagadnienia te są bardzo obszernie omówione w normie, dlatego tutaj przedstawiono jedynie kilka najistotniejszych ustaleń. Nowym elementem protokołu wymiany informacji jest możliwość wysłania zapytania (ang. query) do urządzenia w celu otrzymania komu-nikatu odpowiedzi. Zapytanie różni się od rozkazu umieszczonym na końcu znakiem zapytania “?”. Po przyjęciu zapytania urządzenie powin-no natychmiast przygotować odpowiedź, która następnie powinna być odebrana przez kontroler. W standardzie IEC-625.2 struktura sekwencji programujących zawiera nagłówki, separatory i znaki zakończenia. Wszystkie kody i formaty danych definiowane przez IEC-625.2 odnoszą się również do rozkazów i zapytań. Symbol rozkazu (mnemonik) może składać się jedynie z wielkich bądź małych liter, znaku podkreślenia oraz cyfr od 1 do 9. Poza tym standard określa maksymalną liczbę znaków, z których składa się mnemonik wynosi ona 12. Zalecane są mnemoniki 4-znakowe. Składnia zapytania jest identyczna jak rozkazu, z wyjątkiem znaku zapytania, który musi następować po zapytaniu. Do informacji wysyłanych przez urządzenia odnoszą się te same reguły, które mają zastosowanie przy sekwencjach programujących oraz zapytaniach. Znak nowej linii wraz z aktywnym sygnałem EOI spełnia funkcję sygnalizacji zakończenia transmisji danych.

Z wymaganiami dotyczącymi składni i formatów związana jest zasada elastycznego odbioru (forgiving listening; flexible reception) i precyzyjnej odpowiedzi (precise talking). Zgodnie z tą zasadą urządzenie prawidłowo interpretuje stosunkowo szeroki zakres form tekstów programująych, natomiast teksty wysyłane przez urządzenie powinny być precyzyjnie zdefiniowane. Zasada ta jest dosyć istotnym elementem standardu IEC-625.2 zarówno dla użytkownika, jak i dla konstruktora, który musi zapewnić jej realizację w urządzeniu. Mimo swego znaczenia nie jest, ona w sposób szczególny opisana w normie. Wynika jedynie z wielu zapisów i zaleceń. Zgodnie z jednym z nich użytkownik może w tekście programującym używać zarówno wielkich, jak i małych liter. Również nie powinny mieć znaczenia znaki puste (ang. whitespaces). Natomiast odpowiedzi urządzeń zawsze zapisane są wielkimi literami i nie zawierają pustych znaków. Do zrealizowania odstępu używany jest znak podkreślenia. W odniesieniu do danych liczbowych również obowiązują podobne zasady. Urządzenie powinno prawidłowo odczytać liczby zapisane w postaci dziesiętnej zarówno całkowitej, z częścią niecałkowitą, jak i w postaci wykładniczej X~14. Dopuszczone jest również używanie zapisu niedziesiętnego (binarny, szesnastkowy, ósemkowy) oraz przedrostków (typu K = 103, M = 10´3 itp.). Na przykład: jeśli generator może generować wyłącznie całkowite wartości częstotliwości 1, 5, 10, 50 lub 100 Hz, to musi akceptować rozkazy z formatami takimi jak: 54.126, 5.1E+1, +50, 50. Urządzenie powinno zaokrąglić otrzymaną liczbę do akceptowalnej precyzji, czyli w rozpatrywanym przypadku do 50 (for-giving listening). Natomiast gdy generator otrzyma “zapytanie” o wartość generowanej częstotliwości, jego odpowiedź musi zawierać dokładny jej format (precise taking). Urządzenie powinno odpowiadać w sposób właściwy dla możliwych wartości danej odpowiedzi, zawsze jednak z takim samym formatem dla danego zapytania. Format ten powinien być podany przy opisie danego zapytania. Co więcej, również w przypadku wystąpienia błędu (np. przekroczenia dopuszczalnego zakresu) odpowiedź przyrządu powinna być zgodna z formatem prawidłowej odpowiedzi, ale jej wartość powinna być łatwo identyfikowalna jaka: sygnał błędu. Na przykład, gdy dopuszczalny zakres wartości odpowiedzi na dane pytanie jest od 0 do 50, to można przyjąć, że odpowiedź o wartości -1 oznacza błąd. Jest to rozwiązanie lepsze niż wysyłamy w miejsce wartości np. tekstu “ERROR”. Niezależnie od opisanej metody, wystąpienie błędu powinno być odpowiednio zasygnalizowane w systemie statusu. – Standard IEC-625.2 określa kody i formaty dla wszystkich danych numerycznych oraz ciągów znakowych, np.: 7-bitowy kod ASCII dla znaków alfanumerycznych, 8-bitowy kod binarny dla wartości całkowitych (np. adresów) i kod IEEE standard 754 dla binarnych wartości zmiennoprzecinkowych. IEC-625.2 również definiuje format przedstawiania wartości dziesiętnych, heksalnych i oktalnych, a także formaty wysyłania 8-bitowych bloków (bajtów) oraz ciągów znaków ASCII.

WYMAGANIA TECHNICZNE DOTYCZĄCE MAGISTRALI IEC-625

W normie IEC-625 określono szczegółowe wymagania techniczne dotyczące sygnałów magistrali oraz dołączanych do niej układów. Wszystkie linie sygnałowe muszą być dołączone do magistrali poprzez nadajniki i odbiorniki linii (por. rys. 6.4). Wymagane jest, aby na liniach SRQ, NDAC i NRFD stosowane były nadajniki linii z otwartym kolektorem. Na liniach IFC, REN, ATN, EOI, DAV, a także na liniach szyny DIO powinny być stosowane nadajniki linii z otwartym kolektorem lub nadaj-niki trójstanowe. W przypadku korzystania przez system z procedury odpytywania równoległego (por. p. b.4.3.4), wymagane jest stosowanie na liniach szyny DIO nadajników z otwartym kolektorem. Wymagania dotyczące nadajników linii określają wartości napięć dla układów z otwartym kolektorem mierzonych na złączu urządzenia między linią sygnałową a masą logiczną. Do podstawowych należą:

napięcie wyjściowe w stanie niskim na wyjściu nadajnika trójstano-wego lub z otwartym kolektorem: Ł 0,5 V przy prądzie wyjściowym +48 mA,
napięcie wyjściowe w stanie wysokim na wyjściu nadajnika trójstanowego: ł2,4 V przy prądzie wyjściowym -5,2 mA.

Dopuszczalne parametry odbiorników linii przy nominalnej odporności na zakłócenia są następujące:

napięcie wejściowe w stanie niskim na wejściu: Ł+0,8 V,
napięcie wejściowe w stanie wysokim na wejściu: >_ 2 V.

Każda linia sygnałowa powinna kończyć się w urządzeniu obciążeniem rezystancyjnym, którego głównym zadaniem jest ustalenie napięcia na linii w czasie, gdy wszystkie nadajniki linii są w stanie wysokim. Wewnętrzne obciążenie pojemnościowe każdej linii sygnałowej nie powinno przekraczać 100 pF w każdym urządzeniu. Szczegółowy opis specyfikacji warstwy fizycznej, istotny głównie dla projektantów urządzeń IEC-625, można znaleźć w normie [b5].

Magistralą tą przesyła się komunikaty interfejsowe (adresy i rozkazy) oraz komunikaty urządzeń (dane). Magistrala składa się z 16 linii sygnałowych (8 linii danych, 3 linii synchronizacji, 5 linii sterowania) oraz 9 linii masy. Na magistrali obowiązuje logika ujemna, tzn. stan niski Lodpowiada jedynce logicznej (1), stan wysoki – zeru logicznemu (0). Urządzenia mają wbudowane układy interfejsowe odpowiedzialne za realizację wymiany informacji z innymi urządzeniami. Cechą każdego urządzenia z interfejsem IEC-625 jest możliwość jego pracy zarówno w systemie IEC-625 jako urządzenia zdalnie sterowanego przez komputer, jak również poza systemem jako samodzielnego, autonomicznego przyrządu pomiarowego, sterowanego ręcznie z płyty czołowej. Liczba urządzeń jednocześnie dołączonych do magistrali jest ograniczona do 15 (łącznie z kontrolerem systemu).

Przepływ informacji odbywa się między urządzeniami systemu, które kwalifikują się jako nadajniki (N), odbiorniki (O) i kontrolery (K). Właściwości nadajnika, odbiornika i kontrolera mogą występować w urządzeniach pojedynczo lub łącznie.

Nadajnik, zwany również nadawcą (ang. talker), może transmitować dane do innych urządzeń przez magistralę.

Odbiornik, zwany też odbiorcą (ang. listener), może przyjmować dane wysyłane przez nadawcę. Nadawcą w danej chwili może być tylko jedno urządzenie, odbiornikami – jednocześnie kilka urządzeń. Uaktywnienie w danej chwili właściwości nadawczych lub odbiorczych urządzenia możliwe jest po wysłaniu do niego odpowiedniego adresu (nadawczego lub odbiorczego).

Kontroler zarządza systemem interfejsu. Zarządzanie to polega na organizowaniu i kierowaniu przepływem informacji w systemie (m.in. przez wysyłanie adresów i rozkazów) oraz na sterowaniu magistralą systemu. W banalnych przypadkach możliwa jest praca systemu bez obecności kontrolera. Dotyczy to prostych systemów o sztywnej konfiguracji; wówczas jedno z urządzeń (np. woltomierz) zaadresowane jest na stałe do nadawania (zwykle specjalnym przełącznikiem), a inne (np. drukarka) – do odbioru. Kontroler systemu IEC-625 tworzy komputer (obecnie najczęściej typu PC) z kartą interfejsu i odpowiednim oprogramowaniem. Dopuszcza się istnienie w systemie kilku kontrolerów, przy czym jeden z nich musi pełnić funkcję kontrolera systemowego, nadrzędnego w stosunku do pozostałych. W danej chwili pracą systemu może zarządzac tylko jeden kontroler; pełni on wówczas funkcję kontrolera aktywnego. Kontrolery mogą przekazywać sobie sterowanie systemem, wykorzystując procedurę przekazywania kontroli. W momencie włączenia zasilania systemu, funkcję kontrolera aktywnego przejmuje kontroler systemowy. Kontroler ten jako jedyny ma w każdej chwili możliwość zerowania systemu interfejsu (tzn. ustawienia w stan początkowy interfejsów wszystkich urządzeń dołączonych do magistrali, bez względu na aktualny ich stan) oraz ustawienia systemu w stan pracy zdalnej lub lokalnej. Jest to możliwe również wtedy, gdy nie jest on kontrolerem aktywnym, dzięki czemu jest w stanie przejąć zarządzanie systemem w dowolnej chwili.

Kontroler tworzy konfigurację urządzeń w celu przeprowadzenia transmisji danych, adresując je do nadania lub odbioru. Każde z urządzeń ma swój indywidualny adres (liczba od 0 do 30), zwany adresem urządzenia (DA – Device Address). Sposób ustawienia adresów zależy od producenta urządzenia. Możliwe jest ustawienie sprzętowe adresu za pomocą 5-bitowego nastawnika (np. typu ,,DIP-switch”) lub programowe. Adresy urządzeń ustawia się w trakcie zestawienia tych urządzeń w system. Teoretycznie możliwe jest posiadanie kilku adresów przez jedno urządzenie, lecz w praktyce nie jest to stosowane.

Adresowanie do nadawania polega na wysłaniu za pośrednictwem magistrali (szyny danych) adresu nadawania TAD (ang. Talk ADress), który urządzenie odbiera jako MTA – mój adres nadawania (ang. My Talk Address). Adres nadawania, zwany też adresem nadawczym, stanowi 5-bitowy adres urządzenia, uzupełniony 2-bitowym kodem charakteryzującym grupę adresów nadawczych (TAG):

Struktura adresu nadawczego urządzenia

Wysłanie adresu TAD powoduje, że urządzenie, które identyfikuje się z tym adresem, staje się nadajnikiem w systemie.

Adresowanie do odbioru polega na wysłaniu za pośrednictwem magistrali adresu odbioru LAD (ang. Listen ADress), który urządzenie odbiera jako MLA – mój adres odbioru (ang. My Listen ADress). Adres odbioru, zwany rwnież adresem odbiorczym, stanowi 5-bitowy adres urządzenia, uzupełniony 2-bitowym kodem charakteryzującym grupę adresów odbiorczych (LAG):

Struktura adresu odbiorczego urządzenia

Wysłanie adresów odbioru LAD1, LAD2,…LADn jest równoznaczne z wyznaczeniem odbiorników w systemie. Do adresowania urządzeń można również wykorzystać tzw. adres rozszerzony, który stanowi para komunikatów: adres pierwotny (nadawania lub odbioru) wraz z adresem wtórnym. Adres wtórny SAD (ang. Secondary ADress) urządzenie odbiera jako MSA – mój adres wtórny (ang. My Secondary ADress). Urządzenie jest adresowane do nadawania sekwencją MTA, MSA, a do odbioru – para komunikatów MLA, MSA. Adresowanie rozszerzone stosowane jest bardzo rzadko w praktyce.

Odbiorniki rozadresowuje się specjalnym rozkładem UNL – nie odbieraj (ang. UNListen), który unieważnia poprzednio wysłane adresy odbioru. Dotyczy to wszystkich zaadresowanych odbiorników dołączonych do magistrali. Wysłanie nowego (innego) adresu nadawania OTA – inny adres nadawania (ang. Other Talk Address) automatycznie kasuje stan zaadresowania poprzedniego nadawcy do nadawania (czyli rozadresowuje poprzedniego nadawcę). Wysłanie adresu nadawania TAD do urządzenia zaadresowanego do odbioru (LAD) uaktywnia jego właściwości nadawcze, wyprowadzając go automatycznie ze stanu gotowoci do odbioru danych.

Transmisja komunikatów (adresy, rozkazy) i danych między urządzeniami odbywa się sekwencyjnie bajtami w sposób asynchroniczny. Bajty transmitowane są dwukierunkową, 8-bitową szyną danych z wykorzystaniem procedury synchronizacji (tzw. ,,handshake” trójprzewodowy). Szybkość transmisji dostosowana jest każdorazowo do możliwości odbioru przez najwolniejsze z urządzeń uczestniczących w danej chwili w wymianie informacji.

Maksymalna szybkość transmisji wynosi 1 [MB/sek.], lecz osiągalna jest przy zachowaniu pewnych warunków (m.in. bufory trójstanowe na styku urządzenie/magistrala, ograniczona długość kabli interfejsu, wszystkie urządzenia włączone do sieci). W praktyce, maksymalna szybkość transmisji danych wynosi 250-500 [kB/sek.], przy spełnieniu ograniczenia na maksymalną długość magistrali i przy co najmniej 2/3 urządzeń włączonych do sieci. Długość ta (tzn. całkowita długość wszystkich kabli łączących urządzenia) nie powinna przekraczać 20 [m], a długość połączenia między dwoma urządzeniami – 4 [m], (wskazana zasada: 2 [m] kabla na jedno urządzenie).

ZWIĘKSZENIE SZYBKOŚCI TRANSMISJI (HS488)

Szybkość transmisji danych po magistrali standardu IEC-625 ograniczona jest do 1 MB/s. W przypadku konieczności realizacji transmisji z większą szybkością istnieje możliwość skorzystania z rozwiązania zaproponowane-go przez firmę National Instruments, zwiększającego maksymalną szyb-kość transmisji danych do 8 MB/s [31J. Rozwiązanie to polega na wyko-rzystaniu uproszczonego protokołu przyspieszonego cyklu transmisji, nazwanego HS488 (high-speed handshake protocol). Wymaga ono zasto-sowania kontrolera i urządzeń zdolnych do pracy w tym trybie. Jeśli w danym momencie w transmisji uczestniczy urządzenie nie mające takiej możliwości, transmisja danych odbywa się zgodnie z podstawowym (peł-nym) cyklem transmisji (“handshake” trójprzewodowy). Protokół HS488 zwiększa przepustowość magistrali przez usunięcie opóźnień czasowych związanych z podstawowym (pełnym) cyklem transmisji.

Po skonfigurowaniu urządzeń do transmisji danych (zaadresowanie nadawcy, zaadresowanie odbiorców), kontroler wprowadza system w tryb transmisji danych (ATN = “0”). Odbiorcy zgłaszają gotowość odbioru wysyłając komunikat RFD, czyli ustawiając linię NRFD w stan wysoki (NRFD = “0”). Wówczas nadawca wysterowuje na chwilę linie lNRFD poziomem niskim (NRFD = “1”) informując odbiorców o możliwości przyspieszonej transmisji danych, a następnie po ustawie pierwszego bajta danych na szynie DIO wysyła komunikat ważności danych (DAV = “1”). Jeśli wszyscy odbiorcy danych mają możliwość przyspieszonego odbioru danych, informują o tym nadawcę, pozostawiając linię NRFD w stanie wysokim, a następnie po potwierdzeniu odbioru pierwszego bajta (NDAC = “0”) pozostawiają linię NDAC w stanie wysokim. Drugi bajt danych i kolejne przesyłane są już w sposób przy-spieszony, bez udziału linii NRFD i NDAC. Nadawca ustawia bajt na szynie DIO, a następnie po programowalnym czasie opóźnienia (T11), wysyła komunikat DAV (tzn. ustawia stan niski linii DAV) na programowalny czas odbioru ( T11 ), w czasie którego wszyscy odbiorcy muszą odebrać bajt z szyny DIO. Transmisja danych odbywa się zatem bez potwierdzenia odbioru. Odbiorca może ustawić linię NDAC w stan niski aby wstrzymać na chwilę transmisję dalszych bajtów. Może też ustawić linię NRFD w stan niski, wymuszając w ten sposób na nadawcy rezygnację z przyspieszonego cyklu transmisji. Oba te mechanizmy pozwalają odbiorcy na dopasowanie średniej szybkości transmisji do jego możliwości odbiorczych. Wymagane jest jednak, aby urządzenie miało odpowiedni bufor wejściowy, do którego może wprowadzać grupy bajtów danych, przysyłanych jeszcze z maksymalną szybkością w czasie koniecznym na dotarcie sygnału NRFD lub NDAC do nadawcy. Czasy opóźnienia ( T11 ) i odbioru ( T12) mogą być ustalane przez użytkownika. Zaletą one od całkowitej długości kabli i liczby urządzeń w systemie. Szybkość transmisji danych między dwoma urządzeniami połączonymi kablem o długości 2 m podczas przyspieszonego cyklu transmisji może osiągnąć 8 MBIs. Dla pełnego systemu, składającego się z 15 urządzeń połączonych kablami o całkowitej długości 15 m, szybkość transmisji może osiągnąć 1,5 MB/s.

Zwiększona szybkość transmisji danych wymaga spełnienia kilku dodatkowych warunków:

zasilanie wszystkich urządzeń podłączonych do magistrali musi być włączone,
bufory we/wy wszystkich urządzeń muszą być trójstanowe, pojemność linii sygnałowej każdego urządzenia musi być mniejsza niż 50 pF.

Procedura HS488 dotyczy tylko transmisji danych (tzn. tekstów programujących, wyników pomiarów, STB). Transmisja instrukcji IEC-625 odbywa się zawsze z wykorzystaniem pełnego cyklu transmisji.

ZWIĘKSZENIE LICZBY URZĄDZEŃ W SYSTEMIE

Liczba urządzeń bezpośrednio dołączonych do magistrali lEC-625 ograniczona jest do 15. W przypadku konieczności realizacji systemu składa-jącego się z większej liczby urządzeń możliwe są dwa rozwiązania:

zastosowanie kilku kart interfejsu w kontrolerze systemu,
zastosowanie ekspanderów.

Zastosowanie kilku kart interfejsu w kontrolerze systemu

Oprogramowanie typowych kontrolerów lEC-625 dopuszcza na ogół możliwość wmontowania do komputera więcej niż jednej karty interfejsu (np. NI-488.2 firmy National Instruments umożliwia sterowanie czterema kartami interfejsu). Do każdej z nich można dołączyć 14 urządzeń, co automatycznie zwiększa liczbę urządzeń w całym systemie . Każda z kart musi mieć swój wewnętrzny adres, za pomocą którego kontroler komunikuje się z kartą. W danej chwili kontroler może komunikować się tylko z jedną kartą interfejsu, czyli sterować grupą urządzeń do niej dołączonych. Komplikuje to sterowanie całym systemem, szczególnie w przypadku obsługi przerwań, a w konsekwencji zwalnia pracę systemu. Ponadto uniemożliwia równoczesne wykonywanie rozkazów (np. wyzwolenie) przez wszystkie urządzenia dołączone do poszczególnych kart interfejsów. Mimo tych ograniczeń jest to najprostszy i najtańszy sposób zwiększania liczby urządzeń sterowanych przez kontroler w systemie IEC-b25.

Ekspandery

Ekspander jest to urządzenie, które dzięki buforowaniu sygnałów magis-trali 1EC-625 umożliwia zwiększenie z 15 do 28 maksymalnej liczby urządzeń połączonych w systemie IEC-625 (61]. Ponadto ekspander umożliwia elektryczne izolowanie dwóch grup urządzeń danego systemu. Przez buforowanie sygnałów ekspander zwiększa również maksymalną długość magistrali z 20 do 40 metrów (z zachowaniem zasady: jedno urządzenie na każde 2 m kabla magistrali). Ekspander wyposażony jest w dwa złącza IEC-625. Do każdego z nich można dołączyć do 14 urządzeń (w tym kontroler), przez co system z jednym ekspanderem może składać się z 28 urządzeń . Ekspander tworzy dwie magistrale: pierwotną (do której dołączony jest kontroler systemu z pierwszą grupą urządzeń) oraz rozszerzoną (do której dołączone są pozostałe urządzenia). Ekspander powinien być “przezroczysty” (ang. transparent) dla kontrolera systemu, tzn. jego dołą-czenie do magistrali IEC-625 nie powinno powodować zmian w oprogramowaniu systemu. System z takim ekspanderem składa się z dwóch fizycznie oddzielonych sieci IEC-625, które funkcjo-nują jako logicznie jedna sieć IEC-625, tzn. jako jeden system IEC-625. Wszystkie urządzenia w takim systemie komunikują się ze sobą, tak jak w systemie bez ekspandera. Nie ma też potrzeby modyfikacji adre-sów urządzeń, a kontroler może być dołączony do dowolnego złącza ekspandera. Ekspander nie jest traktowany przez kontroler jako urządze-nie systemowe, dlatego też nie wymaga adresowania jak wszystkie pozo-stałe urządzenia systemu. Niektóre ekspandery nie wykazują cechy “przezroczystości”. Stosując je należy zwrócić uwagę na konieczność modyfikacji adresów urządzeń systemu. Ponadto niektóre z takich ekspanderów dopuszczają dołączanie kontrolera systemu tylko do określonego złącza ekspandera z oprogramowaniem Windows 95. Przykładem serweta sieci lokalnej może być Gateway HP E2050A firmy Hewlett-Packard [21]. Jest to niewielka skrzynka mająca na płycie czołowej 8 diod elektroluminescen-cyjnych, informujących o aktualnym stanie pracy urządzenia. Na płycie tylnej znajdują się: gniazdo IEEE-488 (wersja amerykańska), 2 gniazda LAN: – gniazdo BNC dla sieci Ethernet w odmianie lObase2 (cienki Ethemet) oraz złącze RJ-45 dla odmiany lObaseT (skrętka) a takie złącze, do którego należy dołączyć zewnętrzne źródło napięcia stałego. Blok ten zawiera mikroprocesor 68EN360 firmy Motorola z układami pomocniczymi. Do pojedynczego urządzenia HP E2050A można dołą-czyć do 14 przyrządów pracujących w standardzie IEC-625. W jednym czasie może on odbierać dane od 10 terminali. Urządzenie to korzysta z oprogramowania SICLIVISA. Dzięki technice sieciowej “klient/serwer” rozszerza ono funkcje oprogramowania SICLNISA o zdalne sterowanie urządzeniami IEC-625, dołączonymi poprzez nie do sieci LAN. Kontroler systemowy pełni tu rolę klienta w sieci korzystającego z usług świadczonych przez serwer HP E2050A, z dołączonymi doń urządzeniami IEC-625. Komunikacja między kontrolerem i serwerem oparta jest na standardowym protokole TCPIIP. Po zainstalowaniu HP E2050A należy go skonfigurować jako końcówkę w sieci. Administrator sieci lokalnej może za pomocą standardowego programu “telnet” połączyć się z serwerem HP E2050A i ustawić jego parametry sieciowe. Można wówczas rozpocząć sesję transmisyjną z przyrządami dołączonymi do serwera, wydając polecenie “iopen” wraz z odpowiednim adresem. Nie jest wymagana znajomość szczegółów operacji sieciowych. Maksymalna szybkość transmisji danych w systemie ograniczona jest do 1 lO kB/s przy zapisie i do 85 kB/s przy odczycie.

Strukura (podział funkcjonalny) urządzenia IEC-625 :

Urządzenie programowe, zwane dalej urządzeniem, jest jednostką fizyczną zaprojektowaną i przeznaczoną do określonego zastosowania. Pod względem funkcjonalnym w urządzeniu IEC-625 można wyróżnić cztery części :

funkcje urządzenia (DF – Device Functions), zależne od zastosowania urządzenia,
funkcje interfejsowe (IF – Interface Functions), niezależne od zastosowania urządzenia,
układy kodowania i dekodowania komunikatów,
nadajniki i odbiorniki linii.
Funkcje urządzenia związane są z przeznaczeniem urządzenia. Realizują one zwykłe funkcje użytkowe przyrządu. Standard IEC-625 nie nażuca żadnych warunków na realizację funkcji urządzenia z wyjątkiem komunikatów wysyłanych do funkcji interfejsu, zwanych komunikatami lokalnymi.

Pozostałe trzy części urządzenia tworzą interfejs IEC-625, czyli połączenie urządzenia właściwego (realizującego funkcje urządzenia) z magistral systemu. Funkcje interfejsowe są elementem interfejsu, który zapewnia odbiór, przetwarzanie i nadawanie komunikatów w urządzeniu.

Kabel interfejsowy IEC-625 :

Kabel interfejsowy składa się z co najmniej dwudziestu czterech przewodów umieszczonych w zewnętrznym ekranie, z których szesnaście jest wykorzystywanych dla linii sygnałowych, a pozostałe dla przewodów masy. Kabel IEC-625 zakończony jest obustronnie złączem 25-stykowym, odpowiadającym wymaganiom dotyczącym złączy szufladowych typu Eltra/Cannon 871/881. Złącza te muszą spełniać pewne wymagania, do ktrych należą m.in:

napięcie znamionowe 60 [V],
prąd znamionowy 5 [A] na jeden styk,
oporność styków <20 [mohm],
oporność izolacji 1 [Gohm],
wytrzymałość więcej niż 1000 wsunięć
Maksymalna długość kabla, którym łączy się urządzenia, wynosi 2 [m] razy liczba urządzeń, przy czym nie więcej niż 20 [m]. W przypadku gdy długość pojedynczego kabla przekracza 4 [m], mogą wystąpić zakłócenia w pracy systemu. Kabel powinien być tak skonstruowany, aby można było minimalizować efekt przesłuchu między liniami sygnałowymi, wrażliwość linii sygnałowych na zakłócenia oraz transmisję sygnałów interfejsowych do otoczenia. Każda z linii sygnałowych szyny synchronizacji i szyny sterowania powinna byc skręcona z przewodem masy logicznej, tworząc ,,skrętkę”, lub być izolowana w inny sposób. Maksymalna rezystancja przewodów kabla przypadająca na 1 [m] długości kabla powinna wynosić 0,14 [ohm] dla każdej linii sygnałowej i dla każdego skręconego z nim przewodu masy. Przekrój pojedynczego przewodu powinien wynosić przynajmniej 0,35 [mm2]. Maksymalna pojemność mierzona przy częstotliwości 1 [kHz] między wybraną linią sygnałową i wszystkimi innymi liniami przyłączonymi do masy powinna wynosi 150 [pF/m]. O konfiguracji okablowania decyduje użytkownik (połączenie w gwiazdę, liniowe lub ich kombinacje). Należy przy tym wyraźnie odróżnić konfigurację okablowania od konfiguracji systemu, która jest tu zawsze typu magistralowego.

Magistrala interfejsowa :

W skład magistrali interfejsowej (ang. interface bus), składającej się z 16 linii sygnałowych, wchodzą następujące szyny :

szyna danych (ang. data bus) – stanowi ona zbiór 8 linii sygnałowych, służących do przesyłania wszystkich komunikatów interfejsowych i komunikatów urządzeń.
szyna synchronizacji (ang. data byte transfer control bus) – służy do sterowania transmisją każdego bajtu danych z nadajnika lub kontrolera do jednego lub kilku odbiorników.
szyna sterowania (ang. interface management bus) – służy do kierowania prawidłowym przepływem informacji w interfejsie.
Pozostałe linie magistrali są liniami masy i ekranu.

SZYNA DANYCH (DIO)

Szynę danych DIO (ang. Data Input-Output) stanowi zbiór 8 linii sygnałowych (DI01-DI08), służących do przesyłania wszystkich komunika-tów interfejsowych i komunikatów urządzeń. Komunikaty przesyłane są szyną DIO szeregowo (bajt po bajcie), asynchronicznie z potwierdzeniem odbioru, dwukierunkowo. Każdy następny bajt ustawiany jest przez urządzenie będące nadajnikiem dopie-ro wówczas, gdy będzie potwierdzony na szynie synchronizacji odbiór poprzedniego przez wszystkie urządzenia biorące udział w transmisji (por. cykl transmisji – p. 6.4). Informacje przesyłane są zwykle w posta-ci 7-bitowych znaków kodu ASCII. Bit ósmy (DIO 8) może być wyko-rzystany do sprawdzania poprawności transmisji (kontrola parzystości). Szyną DIO przesyłane są zarówno i n s t r u k c j e sterujące pracą systemu (czyli adresy i rozkazy), jak również d a n e , rozumiane jaka dane programujące pracę urządzeń, wyniki pomiarów oraz dane o stanie urządzeń. Można zatem wyróżnić dwa tryby pracy magistrali IEC-625: tryb przesyłania instrukcji i tryb przesyłania danych. Aktualny tryb pracy magistrali określany jest przez stan jednej z linii szyny sterowania, a mianowicie linii ATN. Aktywny stan tej linii (ADN = “1”), którą steruje aktualny kontroler, oznacza tryb przesyłania instrukcji. Instrukcje może wysyłać tylko aktywny kontroler. W trybie przesyłania danych nadawcą mole być kontroler lub dowolne inne urządzenie, wykazujące właściwości nadajnika.

SZYNA STEROWANIA

Szyna sterowania służy do kierowania prawidłowym przepływem informacji w interfejsie. Szynę tę stanowi pięć linii sygnałowych:

Linia IFC – zerowanie interfejsu (ang. InterFace Clear), sterowana przez kontroler systemowy, służy do sprowadzania funkcji interfejsowych wszystkich urządzeń systemu do ustalonego stanu początkowe go; taki sam stan osiągany jest również automatycznie po włączeniu y zasilania urządzeń.
Linia REN – zdatne możliwe (ang. Remote ENable), sterowana. j przez kontroler systemowy, służy do przełączania w s z y s t k i c h przyrządów z trybu pracy lokalnej na tryb pracy systemowej (i na odwrót). Stan niski linii (REN = “1”) umożliwia kontrolerowi zdalne sterowanie urządzeniami systemu poprzez magistralę IEC-625. Przy stanie wysokim linii REN możliwe jest sterowanie w s z y s t k i m i przyrządami tylko w sposób lokalny, ręczny, za pomocą nastawników na ich płytach czołowych. W trybie pracy systemowej możliwe jest przekazanie przez kontroler sterowania lokalnego w y b r a n y m urządzeniom, lecz może on tu w każdej chwili przejąć nad nimi sterowanie.
Linia ATN – uwaga (ang. ATteNtion), sterowana przez kontroler aktualny, wskazuje w jaki sposób mają być interpretowane informa-cje na szynie danych DIO. Informacja ta jest traktowana jako instrukcja (adres lub rozkaz), jeśli ATN = “1” (linia w stanie niskim – L), natomiast jako dane – gdy ATN = “0” (linia w stanie wyso-kim – H).
Linia SRQ – żądanie obsługi (ang. Sernice ReQuest), sterowana przez urządzenia, które na tej linii zgłaszają przerwania, zwane żąda-niami obsługi. Stan aktywny (L) tej linii (SRQ = “1”) sygnalizuje kontrolerowi, że co najmniej jedno z urządzeń dołączonych do magi-strali żąda obsługi (np. sygnalizuje koniec pomiaru).
Linia EOI – koniec lub identyfikacja (ang. End Or Identify), sterowana przez kontroler aktualny lub urządzenie będące w danej chwili nadawcą. Linia ta pełni dwie funkcje w zależności od stanu linii ATN. W trybie przesyłania danych (ATN = “0”) nadawca (którym może być również kontroler) ustawiając stan EOI = “1” sygnalizuje na linii EOI koniec wielobajtowej sekwencji danych, co oznacza wysłanie komunikatu END – koniec. W trybie przesyłania instrukcji (ATN = “1”) kontroler wykorzystuje linie EOI w celu przeprowadzenia tzw. odpytywania równoległego ustawiając stan EOI = “1” kontroler przesyła w ten sposób komunikat IDY – identyfikacja (ang. Identify).

SZYNA SYNCHRONIZACJI

Szyna synchronizacji służy do sterowania transmisją każdego bajtu da-nych na liniach DIO, z nadajnika lub kontrolera do jednego lub kilku odbiorników. Szyna ta jest wykorzystywana w cyklu synchronizacji (patrz p. 6.4.4), w którym odbywa się nadawanie i odbiór każdego bajtu przesyłanego szyną danych w sposób asynchroniczny, z potwierdzeniem odbioru. W procesie tym uczestniczą układy sterujące transmisją w na-dajniku (funkcja interfejsowa SH – por. p. 6.2.2) oraz sterujące odbio-rem w odbiorniku (funkcja interfejsowa AH). Konieczność potwierdzenia odbioru informacji powoduje automatyczne dostosowanie szybkości transmisji do najwolniejszego z odbiorców, co pozwala na automatyczną optymalizację czasu transmisji, w zależności od możliwości urządzeń uczestniczących w danej chwili w odbiorze danych z szyny DIO, Szynę synchronizacji stanowią trzy linie sygnałowe:

Linia DAV – dane ważne (ang. DAta Valid), sterowana jest przez nadawcę. Aktywny stan tej linii (DAV = “1”), czyli niski (L), sygnalizuje stan ważności i dostępności informacji (jednego bajta danych)_~ na liniach DIO.
Linia NRFD – brak gotowości (ang. Not Ready For Data), sterowa na jest przez odbiorców. Stan wysoki (H) tej linii (NRFD = “0”), odpowiadający komunikatowi RFD = “1”, sygnalizuje gotowość wszystkich odbiorców do odbioru danych; stan niski (L) oznacza brak gotowości przynajmniej jednego z odbiorców.
Linia NDAC – dane nie odebrane (ang. Not Data ACcepted) sterowana jest przez odbiorców. Urządzenia uczestniczące w transmisji potwierdzają na tej linii (lub nie potwierdzają) odbiór bajta danych. Stan wysoki (NDAC = “0”) odpowiada komunikatowi DAC = “1”, co oznacza potwierdzenie odbioru bajta z szyny DIO przez urządzenia; stan niski (NRFD = “1”) sygnalizuje brak potwierdzenia.

Opis linii NRFD i NDAC wymaga pewnego komentarza. Na magistrali IEC-625 obowiązuje logika ujemna, w której poziomem aktywnym; “. czyli jedynką logiczną (“1”), jest poziom niski (L). W tym przypadku aktywny stan (czyli L) wyjścia danej linii jednego z urządzeń dołączonych równolegle do magistrali oznacza ustawienie tej linii magistrali również w stan aktywny; realizowana jest operacja sumy logicznej (por. p. 4.5.4). W sytuacji, gdy o aktywnym stanie danej linii ma decydować stan aktywny wszystkich urządzeń dołączonych do magistrali (co ma miejsce w przypadku sygnalizacji gotowości do odbioru danych oraz potwierdzenia ich odbioru), musi być realizowana operacja iloczynu logicznego. Jest to możliwe jedynie wtedy, gdy tym aktywnym stanem jest poziom wysoki. Aby zachować jednolitą konwencję komunika-tów na magistrali, zdecydowano się na zanegowanie nazw linii służących do przesyłania komunikatów RFD (Ready For Data) i DAC. (Data ACcepted). Na liniach NRFD i NDAC realizowana jest więc operacja iloczynu logicznego. Stan wysoki linii NRFD ustala się na magistrali wtedy i tyl-ko wtedy, gdy wyjścia linii NRFD (typu otwarty kolektor) w s z y s t k i c h odbiorców będą w stanie H, a więc gdy wszystkie urządzenia będą gotowe do odbioru. Zatem aktywny stan linii NRFD (H), odpowiadający aktywnemu komunikatowi RFD (RFD = “1”) pojawia się na magistrali po czasie określonym przez najwolniej działającego odbiorcę. Podobnie jest w przypadku linii NDAC.

System statusu IEC-625.2

Norma IEC-625.1 zawiera definicję jednobajtowej struktury systemu statusu (rejestr bajt statusu STB) oraz sposobu jego odczytu przez odpy-tywanie szeregowe. Określone jest jedynie znaczenie szóstego bitu związanego z funkcją żądania obsługi (Service Request – SR). Znaczenie pozostałych bitów nie jest ściśle objaśnione. W normie IEC-625.2 znacznie rozszerzono tę strukturę, definiując: znaczenie jeszcze dwóch bitów bajta statusu oraz określając kilka dodat-kowych rejestrów skojarzonych z bajtem statusu. Bit 6 (RQS) pozostał identycznie zdefiniowany jak w IEC-625.1, natomiast dodano bit zdarze-nia standardowego (Event Status Bit – ESB) oraz bit dostępności komunikatu (Message AVailable Bit – MAV), który wartością “1” informuje` 0 obecności jakichkolwiek informacji w kolejce wyjściowej. W stosunku do standardu IEC-625.1 system statusu w standardzie: IEC-625.2 zawiera dodatkowo: rejestr ESR (Standard Events Status Register), w którym mieści się informacja o standardowych wydarzeniach, mogących wystąpić w urządzeniu; “ś; o rejestr ESE (Standard Events Status Enable Register), będący maską” dla bitów rejestru ESR; rejestr maski SRE (Service Request Enable), służący do blokowania lub dopuszczania potencjalnych przyczyn żądania obsługi; bufor wyjściowy (kolejkę wyjściową) (Output Queue).

Rejestr zdarzeń standardowych ESR i rejestr bajtu statusu STB (zwanego też sumarycznym rejestrem bajta statusu) są przeznaczone tylko do odczytu. Każdemu z nich przydzielony jest odpowiedni rejestr maski. Rejestry maski umożliwiają maskowanie poszczególnych bitów rejestrów ESR i STB. Dowolny rejestr maski można zarówno odczytać, jak i zapisać. Suma logiczna nie zamaskowanych bitów rejestru zdarzeń standardowych daje w rezultacie jeden bit, który jest następnie umieszczany w re-jestrze bajta statusu jako bit o numerze 5. Jest to tzw. bit zdarzenia standardowego. Nie zamaskowane bity rejestru bajta statusu także są sumowane logicznie. Wynik tego sumowania jest umieszczany w rejestrze bajtu statusu jako bit o numerze 6-. Jest to tzw. Bit Zadania obsługi.. Wartość STB może być odczytana na dwa sposoby, między którymi jest pewna subtelna różnica. Wszystkie możliwe przyczyny pojawienia–się komunikatu SRQ, występujące w bajcie statusu po pomnożeniu logicznym przez maskę SRE blokującą lub dopuszczającą każdą z nich, są sumowane logicznie. Wynik tego działania l nazwany został MSS (Master Summary Status). Pojawienie się MSS = “1” uruchamia genera-cję żądania obsługi za pośrednictwem funkcji SR standardu IEC-625.1. Wspomniana różnica polega na tym, że 6 bit bajta statusu STB odczyta-nego za pomocą polecenia *STB? informuje o pojawieniu się komunikatu MSS wskazującego na zaistnienie przyczyny, dla której przyrząd mógłby zgłosić żądanie obsługi (U w a g a . Odczyt ten nie kasuje komunikatu SRQ). Odczytany natomiast w czasie odpytywania szeregowego informuje o tym, czy urządzenie wygenerowało żądanie obsługi za pomocą linii SRQ (komunikat RQS) z wykorzystaniem funkcji SR. Różny: jest również sposób odczytu STB w obu przypadkach. Odczytany w czasie odpytywania szeregowego jest natychmiast wystawiany na szynę -DIO magistrali IEC-625, natomiast po zapytaniu *STB? jest wysyłany pośrednictwem kolejki wyjściowej. Należy podkreślić, że odpytywanie szeregowe nie może udzielić informacji o bicie MSS, gdyż nie jest on częścią bajta statusu określonego standardem IEC-625.1. Oprócz bitu żądania obsługi i bitu zdarzenia standardowego w rejestrze bajta statusu istotny jest bit, który sygnalizuje dostępność komuni-katu (np. wyniku pomiaru) w buforze wyjściowym. Jest to tzw. bit do-stępności komunikatu. Komunikat w buforze wyjściowym pojawia się w wyniku wykonania rozkazu typu zapytanie. Wykonanie np. rozkazu *STB? spowoduje odczytanie bajta statusu i umieszczenie go w buforze wyjściowym. Pojawienie się komunikatu w buforze wyjściowym (w tym przypadku bajta statusu) zostaje następnie zasygnalizowane przez usta-wienie bitu dostępności komunikatu w rejestrze bajta statusu. Nie zdefiniowane bity bajta statusu STB mogą być wykorzystane przez producentów urządzeń dla własnych potrzeb.

Metody synchronizacji pracy urządzenia i kontrolera

Wszystkie polecenia realizowane w urządzeniu IEC-625.2 można podzielić na dwie kategorie: sekwencyjne (ang. sequential) i niezależne czasowo (ang. overlaped). Mianem sekwencyjnych określa się te polece-nia, które nie są wykonywane równocześnie z innymi, czyli że rozpoczę-cie realizacji następnego polecenia może się zacząć dopiero po zakoń-czeniu wykonywania poprzedniego. Natomiast polecenia niezależne czasowo mogą zachodzić na siebie, tzn. że realizacja następnego nie jest uwarunkowana zakończeniem realizacji poprzedniego. Należy bardzo wyraźnie podkreślić różnicę między zakończeniem interpretacji polecenia-a zakończeniem jego wykonania. Jest to szczegól-nie ważne wtedy, gdy czas wykonania jest znaczny. Niekiedy w działaniu programu istotne jest, aby następne polecenie zostało rozpoczęte dopiero po zakończeniu poprzedniego. W tym celu standard IEC-625.2 przewiduje mechanizm Pending Operation Flag, co można przetłumaczyć jako znaczniki oczekiwań na zakończenie trwających operacji. Każdemu z wykonywanych poleceń przyporządkowany jest jednobitowy znacznik. W chwili rozpoczęcia wykonywania danego polecenia odpowiedni znacznik przyjmuje wartość “1”, a zerowany jest po zakończeniu lub przerwaniu realizacji polecenia. Znaczniki poszczególnych operacji są sumowane logicznie i po zanegowaniu dają sygnał “No-Operation Pending Flag” (NOPF), który informuje o tym, czy w danym urządzeniu jest wykonywane w danej chwili jakieś polecenie (wartość “1” oznacza, że w danej chwili nie jest wykonywane żadne polecenie; natomiast “0” oznacza, że co najmniej jedno z poleceń jest w trakcie wykonywania).

Standard IEC-625 pozostaje wciąż najpopularniejszym standardem interfejsu, umożliwiającym sprzęganie aparatury kontrolno-pomiarowej i informatycznej w system pomiarowy.