Styk programowy MERA-MULTIX: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Nie podano opisu zmian
Linia 408: Linia 408:
'''Uwaga:''' Jeżeli w polu sterującym ustawiony jest bit "wykonaj XON/XOFF" i linia jest typu pelny-duplex, to otrzymanie sygnału XOFF (#13) podczas nadawania zatrzymuje nadawanie do czasu otrzymania sygnału XON (#11).
'''Uwaga:''' Jeżeli w polu sterującym ustawiony jest bit "wykonaj XON/XOFF" i linia jest typu pelny-duplex, to otrzymanie sygnału XOFF (#13) podczas nadawania zatrzymuje nadawanie do czasu otrzymania sygnału XON (#11).
</div>
</div>
== Pole sterujące "ustaw konfigurację" ==
Pole składa się z:
* nagłówka (1 słowo)
* pola parametrów zwracanych (1 słowo)
* pól opisu linii fizycznych
* pól opisu linii logicznej (4 słowa na linię logiczną)
Nagłówek:
{| class="wikitable"
! width="60" | Bity !! Znaczenie
|-
| align="center" | 0-7 || ilość slow opisu linii fizycznych
|-
| align="center" | 8-15 || ilość linii logicznych
|-
|}
Pole parametrów zwracanych:
{| class="wikitable"
! width="60" | Bity !! Znaczenie
|-
| align="center" | 0-7
| Nr błędu:
* 0 - konfiguracja już ustawiona
* 1 - błędna liczba linii fizycznych lub logicznych
* 2 - błędny typ urządzenia w opisie linii fizycznej
* 3 - niedozwolony kierunek transmisji
* 4 - niekompletny opis linii fizycznej
* 5 - brak protokołu
* 6 - linia fizyczna nie użyta
* 7 - niezgodność kierunku transmisji urządzenia i protokołu
* 8 - linia fizyczna zajęta
* 9 - brak pamięci na tablice
* 10 - niezgodność typu protokołu i typu linii fizycznej
* 11 - błędne parametry protokołu
|-
| align="center" | 8-15
|
* nr linii fiz dla błędu 2, 3, 4
* nr linii log dla błędów 5, 6, 7, 8, 10, 11
|-
|}
Pole opisu linii fizycznych:
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="4" | 0 || 0-2 || Kierunek:
* 100 = output
* 010 = input
* 110 = half-duplex
* 111 = full-duplex
|-
| 3 || linia użyta
|-
| 4-7 || Typ urządzenia:
* 0 = USART
* 1 = 8255
* 2 = USART synch,
* 3 = winchester, ...
* 4 = taśma magnetyczna, ...
|-
| 11-15 || Liczba linii fizycznych opisanych w powyższy sposób pomniejszona o 1
|-
|}
Pole opisu linii logicznej:
{| class="wikitable" cellpadding="10" cellspacing="10"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="2" | 0 || 0-7 || nr protokołu
|-
| 8-15 || nr linii fizycznej
|-
| 1-3 || 0-15 || parametry protokołu
|-
|}
Dla protkolu 6 (Winchester) słowo 1 zawiera:
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="2" | 1 || 0-7 || Typ Winchestera:
* 0 - BASF
* 1 - NEC
|-
| 8-15 || protekcja formatowania:
* 0 - formatowanie dozwolone
* inaczek - formatowanie nie wykonywane
|-
|}
Długość całego pola sterującego wynosi:
1 + 1 + <liczba slow opisu l. fiz.> + 4 * <liczba linii logicznych>
== Pole sterujące dołącz linię ==
Pole zawiera tylko parametry przekazywane.
=== Protokół nr 0 - czytnik taśmy ===
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="7" | 0 || 0 || obserwuj znacznik końca wejścia (taśmy)
|-
| 1 || nie sprawdzaj parzystości
|-
| 2 || odd parity
|-
| 3 || przekazuj 8 bitów
|-
| 5 || obsługuj BS oraz CAN
|-
| 7 || obserwuj "zgłoszenie operatora"
|-
| 8-15 || kod znacznika końca wejścia (taśmy)
|-
| rowspan="2" | 1 || 0-7 || kod zgłoszenia operatora
|-
| 8-15 || nr procedury obsługi tekstu:
* 0 = nic,
* ...
|-
|}
=== Protokół nr 1 - perforator taśmy ===
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="4" | 0 || 2 || odd parity
|-
| 3 || przesyłaj 8 bitów (= bez parzystości)
|-
| 6 || zamień małe litery na duże
|-
| 8-15 || nr procedury obsługi tekstu:
* 0 = nic,
* ...
|-
|}
=== Protokół nr 2 - monitor ===
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="9" | 0 || 0 || obserwuj znacznik końca wejścia
|-
| 1 || nie sprawdzaj i nie generuj parzystości
|-
| 2 || odd parity
|-
| 3 || przekazuj 8 bitów do MERA
|-
| 4 || wykonaj XON/XOFF
|-
| 5 || obsługuj BS oraz CAN
|-
| 6 || zamień małe litery na duże dla nadawania
|-
| 7 || obserwuj "zgłoszenie operatora"
|-
| 8-15 || kod znacznika końca wejścia
|-
| rowspan="2" | 1 || 0-7 || kod zgłoszenia operatora
|-
| 8-15 || nr procedury obsługi tekstu:
* 0 = nic,
* 2 = edytor,
* ...
|-
| 2 || 0-15 || parametry procedury obróbki tekstu
|-
|}
== Pole sterujące "podaj status linii" ==
Pole zawiera tylko parametry zwracane.
{| class="wikitable"
! Słowo !! Bity !! Znaczenie
|-
| rowspan="8" | 0 || 7 || linia jest dołączona
|-
| 8 || było zgłoszenie operatora
|-
| 9 || błąd parzystości
|-
| 10 || odebrano znak kończący
|-
| 12 || odbiór jest w toku
|-
| 13 || odbiór był rozpoczęty
|-
| 14 || nadawanie jest w toku
|-
| 15 || nadawanie było rozpoczęte
|-
|}
== Pole sterujące "przesyłaj" ==
Pole zawiera w pierwszej części parametry przekazywane, a w drugiej, oddzielone linia przerywana - parametry zwracane. W parametrach zwracanych występuje słowo „sposób zakończenia” o strukturze identycznej dla wszystkich protokołów podstawowych. Struktura tego słowa i zastosowanie poszczególnych bitów w konkretnych protokołach pokazane jest w poniższej tabeli.
Sposób zakończenia:
{| class="wikitable"
! rowspan="2" | Bit !! rowspan="2" | Znaczenie !! colspan="3" | Stosuje się do protokołu nr
|-
! 0 !! 1 !! 2
|-
| 0 || timeout || tak || tak || tak
|-
| 1 || zgłoszenie operatora || tak || nie || tak
|-
| 2 || awaria urządzenia || tak || tak || tak
|-
| 3 || koniec znaków przed znakiem kończącym nadawanie || nie || tak || tak
|-
| 4 || błąd parzystości || tak || nie || tak
|-
| 5 || inny błąd transmisji || tak || nie || tak
|-
| 7 || znak końca wejścia || tak || nie || tak
|-
|}
Jeżeli przesyłanie kończy się prawidłowo to sposób zakończenia /0-7/ = 0.

Menu nawigacyjne