codice:
APPENDICE A
PROTOCOLLO DI COLLOQUIO
DEL TERMINALE LBX 2712
1. MODALITÀ' DI COLLOQUIO
Il termine colloquia con l'host per lo scambio dei dati con le modalità di polling-selecting. Il formato dei caratteri trasmessi ed i tempi di turn-around della comunicazione sono indicati nel Cap.1, paragrafo 1.2.3.
2. POLLING (fig. 1)
a. L'apertura del colloquio viene fatta su ini
ziativa dell'host per mezzo di una richiesta
<ENQ> (enquiry) (05h) indirizzata
(<ADD>) ad un terminale specifico.
b. Il terminale (definito da ADD) che riceve la
richiesta di colloquio, risponde all'host con
un testo il cui contenuto dipende dallo sta
to del terminale.
e. Il testo, composto unicamente da dati numerici e alfanumerici ASCII, è racchiuso fra caratteri di controllo nel modo seguente:
<STX*>/<ADD>/<STATO>/<TESTO>/ /<ETX>/<LRC>/<CR>
dove:
- <STX*> (start of test) indica <STX1> (11h), oppure <STX2> (12h).
- <ADD> é l'indirizzo del terminale (compreso tra 30h e 4Fh).
- <STATO> è la situazione di funzionamento del terminale:
Buffered Enquiry
Fuori servizio 31h 36h
In servizio 32h 34h
In batteria 33h 35h
- <ETX>(endoftext) = 13h
- <LRC> (longitudinal redundancy check) è il carattere di parità longitudinale.
- <CR> (carriage return) = ODh
d.
La scelta fra <STX1> e <STX2> viene fatta dal terminale, che trasmette <STX1> se è la prima volta che invia quel testo, altrimenti il testo è preceduto <STX2>.
NOTA: Il testo 'orario' è sempre preceduto da<STX1>.
e. Il carattere di parità longitudinale non
comprende il carattere <STX*> e viene
calcolato eseguendo l'operazione di EX-
CLUSIVE OR.
f. In risposta ad un testo ricevuto formal
mente corretto, l'host risponde:
- <ACK> (06h) nel modo buffered;
- <ACK> (06h), oppure <NACK> (15h) nel modo enquiry.
g. Ad ogni richiesta di dati, il terminale è
sempre pronto a trasmettere e distingue
fra loro i testi trasmessi per la prima volta
(preceduti da <STX1>) da quelli trasmessi
precedentemente (preceduti da <STX2>).
h. La ricezione di <SYN> (synchronous idle) (16h), in qualsiasi momento del flusso, porta la gestione del protocollo di colloquio allo stato iniziale.
2.1. STRUTTURA DEL TESTO
a. Terminale con calendario completo senza transazioni:
GG MM AA HH mm ss
'| secondi (00-59)
|-------------------minuti (00-59)
|-----------------------------------ore (00-23)
|-------------------------------------- anno (00-99)
|--------------------------------------------- mese (01-12)
| giorno del mese
(01-31)
NOTA: Dati in codice ASCII
b. Terminale con transazioni:
1. Nel terminale con causalizzazione disabilitata (parametro KN = 0) il testo è costituito da tre campi: <matricola>/<senso>/<orario>
A-1
ALBX 2712
HQST
o
TERMINALE
<ENQ> Jfc... <ADD» ^
r
SPOSTA IL PUNTATORE
DELLE TRANSAZIONI
ALLA SUCCESSIVA SE
AVEVA TRASMESSO
UNA TRANSAZIONE
Figurai. Flusso del polling
2. Nel terminale con causalizzazione abi
litata il testo è costituito da quattro
campi:
<matricola>/<senso>/<causale>/ /<orario>
3. La matricola (o codice utente) è un campo di lunghezza variabile.
4. Il senso entrata/uscita assume i valori 31 h (entrata) e 30h (uscita).
5. La causale è un campo formato da un
numero di caratteri specificato dal parametro KN.
6. li campo orario è definito nel capoverso a. precendente.
e. Altri messaggi:
1. In seguito ad uno dei seguenti selec-ting:
- percentuale di riempimento del FIFO (par. 3.2.9),
/.
- invio dei parametri di configurazione (par. 3.3.8),
- orario corrente del terminale,
il terminale, nel successivo polling, risponde con un testo costituito da tre campi: <preambolo>/<testo>/<orario>
2. Il campo preambolo è costituito da un
carattere che identifica il tipo di testo
trasmesso in seguito ed assume i se
guenti valori:
- 47h, percentuaJe di riempimento FIFO;
- 48h, parametri di configurazione del terminale;
- 49h, orario del terminale.
3. Il testo relativo alla percentuale di riempimento FIFO è costituito da tre caratteri numerici ASCII.
4. Il testo relativo ai parametri di programmazione è costituito da 256 caratteri numerici ASCII corrispondenti ai valori dei parametri.
I valori sono inviati nell'ordine in cui sono memorizzati in EEPROM (vedere l'Appendice B). L'orario non viene inviato.
5. Nel caso di invio dell'orario del terminale, il testo è assente.
6. Il campo orario è definito nel capoverso a. precedente.
3. SELECTING (fig. 2)
a. Quando l'host deve fornire dati ad un ter
minale, lo fa con la procedura di selecting.
b. La chiamata avviene tramite il comando
<BEL> (07h) seguito dall'indirizzo del ter
minale che deve essere selezionato.
e. Alla ricezione di questi dati, il terminale che risponde all'indirizzo trasmesso, risponde con <ACK> (06h) seguito dallo stesso indirizzo e termina con <CR> (ODh) per dare all'host il consenso alla trasmissione del testo.
d. Se il terminale non è pronto a ricevere un testo di selecting, risponde con la sequenza:
<WACK>/<ADD>/<CR>
dove:
- <WACK> è formato dai caratteri 10h e 3Bh;
- <ADD> è l'indirizzo del terminale;
- <CR> = 0dh
e. Se l'host non rileva alcun dato o rileva dati
incomprensibili, ritrasmette i comandi di
selezione.
f. Quando l'host ha ottenuto il consenso per
l'invio del testo, lo fa trasmettendo nell'or
dine:
<STX>/<ADD>/<TESTO>/<ETX>/<LRC>
dove:
- <STX>=11h.
- <ADD> è l'indirizzo del terminale.
- <ETX> = 13h.
- <LRC> è il carattere di parità longitudinale.
g. Il carattere di parità longitudinale non
comprende il carattere <STX> e viene cal
colato eseguendo l'operazione EXLUSI-
VE-OR.
NOTA: Se <LRC> = <SYN> non si ha il rifiuto della transazione.
h. Il testo è una stringa di informazioni di cui il primo carattere (preambolo) identifica iL tipo di informazione che segue.
i. Se il terminale riceve il testo in modo formalmente corretto risponde con <ACK>; la ricezione di <ACK> conferma all'host che il terminale selezionato ha ricevuto il testo inviato ed a sua volta risponderà con <EOT> (end of transmission) (04h).
j. La ricezione di <SYN> (16h) in qualsiasi momento del flusso, porta la gestione del protocollo di colloquio allo stato iniziale.
3.1. SELECTING RIDOTTO
È possibile comunicare con il terminale mediante la procedura di selecting ridotto. Il selecting ridotto è illustrato in figura 2 nella parte di grafico inclusa tra i delimitatori <***>. Viene quindi omessa, rispetto al normale selecting, la parte iniziale (da <BELL> a <STX> escluso) ed il carattere <EOT>.
3.2. SELECTING DI USO GENERALE
3.2.1. Selecting di sincronizzazione dell'orario con abilitazione del terminale.
Il testo è aperto dal carattere di preambolo 30h, la parte seguente è definita nel capoverso a. del paragrafo 2.1.
A-3
LBX 2712
TERMINALE
NON RISPONDE
TRASMISSIONE DISTURBATA
Figura 2. Flusso del selecting
3.2.2. Selecting di disabilitazione del ter- 3.2.4. Selecting di funzionamentoin modo
minale enquìry
Il testo è costituito dal solo preambolo 36h.
Il testo è costituito dal solo preambolo 3Eh.
3.2.3. Selecting di funzionamento in modo buffered
li testo è costituito dal solo preambolo 3Dh.
3.2.5. Selecting di visualizzazione testo
Il testo è aperto dal carattere di preambolo
3Fh, la parte seguente è una stringa in codice
ASCII.
Questo selecting viene utilizzato in modo en-
quiry per visualizzare un messaggio dell'host in risposta ad una transazione e conseguentemente per riabilitare le funzioni del terminale. Quando il terminale si trova in modo buffe-red, questo selecting può essere utilizzato per visualizzare del testo inviato da host.
3.2.6. Selecting di invio dei codice
impianto
Il testo è aperto dal preambolo 32h, la parte seguente è costituita da una stringa di caratteri ASCII che formano il codice impianto. Il codice impianto viene memorizzato nella memoria RAM del terminale.
3.2.7. Selecting di recupero FIFO
Il testo è costituito dal solo preambolo 40h. Se il terminale è predisposto per il recupero del FIFO (parametro FR = 1), le transazioni già inviate dal terminale vengono trasmesse nuovamente.
3.2.8. Selecting di cancellazione FIFO
Il testo è costituito dal solo preambolo 41 h. Se il terminale è predisposto per il recupero del FIFO (parametro FR = 1), le transazioni già trasmesse vengono cancellate.
3.2.9. Selecting di richiesta delia percen
tuale di riempimento del FIFO
Il testo è costituito dal solo preambolo 50h. Il dato richiesto viene inviato all'host con un opportuno polling (vedere il par. 2.1).
3.2.10. Selecting di richiesta dell'orario cor
rente
Il testo è costituito dal solo preambolo 51 h. L'orario corrente del terminale viene inviato all'host mediante un opportuno polling (vedere il par. 2.1).
3.2.11. Selecting di sincronizzaione genera
le dell'orario
a. La sincronizzazione generale dell'orario (globali cali) avviene seguendo la procedura di colloquio seguente:
<SOH>/<TESTO>/<ETB>/<LRC>
dove:
- <SOH> (start of heading)=02h.
- <ETB> (end of transmission block) =27h.
- <LRC> è il carattere di parità longitudi-
nale (nel computo del carattere <LRC> non è compreso <SOH>).
b. Il testo è definito nel capoverso a. del paragrafo 1.2.1.
3.3. SELECTING Di PROGRAMMAZIONE DEL TERMINALE
I selecting di programmazione del terminale
(tabella e parametri), sono aperti dal carattere
di preambolo 43h. Il carattere successivo
specifica il contenuto e la funzione del testo
seguente.
Le funzioni previste sono le seguenti:
- 30h, cancellazione tabella;
- 31 h, invio della tabella;
- 32h, invio o modifica di righe della tabella;
- 33h, cancellazione di righe della tabella;
- 34h, modifica dei campi della tabella;
- 35h, invio delle fasce orarie;
- 36h, invio dei parametri di programmazione;
- 37h, richiesta dei parametri di programmazione.
3.3.1. Cancellazione tabella
il testo è costituito dai soli preamboli 43h. e 30h.
3.3.2. Invio della tabella
II testo è aperto dai preamboli 43h e 31 h. La
parte seguente è strutturata come segue (ve
dere il Cap. 3, par. 3.4.2):
<chiave 1 >/<dati>/... /<chiave 1>/ /<dati>/<TTXT>
dove:
- <chiave 1> è la sequenza di caratteri che costituisce la prima chiave di ricerca;
- <dati> è il contenuto dei campi che costituiscono le righe della tabella;
- <TTXT> è il carattere terminatore 7Fh.
3.3.3. Invio/modifica di righe della tabella
Il testo è aperto dai preamboli 43h e 32h. La parte seguente è strutturata come segue:
<chiave 1>/<dati>/... /<chiave 1>/ /<dati>/<TTXT>
dove:
- <chiave 1 > è la sequenza di caratteri che costituisce la prima chiave di ricerca;
- <dati> è il contenuto dei campi che costituiscono le righe della tabella;
- <TTXT> è il carattere terminatore 7Fh.
Se viene trovata una riga delia tabella con la prima chiave di ricerca uguale a <chiave 1 > ricevuto nel messaggio di selecting, i campi corrispondenti vengono sostituiti con il contenuto di <dati>. Se nessuna riga ha una chiave di ricerca uguale a <chiave 1 >, viene aggiunta una nuova riga in fondo alia tabella.
3.3.4. Cancellazione di righe della tabella
Il testo è aperto dai preamboli 43h e 33h. La parte seguente è Strutturata come segue:
<chiave 1>/... /<chiave 1>
dove <chiave 1> è la prima chiave di ricerca; le righe corrispondenti vengono cancellate.
3.3.5. Modifica dei campi della tabella
il testo è aperto dai preamboli 43h e 34h. La parte seguente è strutturata come segue:
<chiave 1>/<chiave 2>/<TTXT>/<dati>/...
- <chiave 1> è la sequenza di caratteri che costituisce la prima chiave di ricerca;
- <chiave 2> è il carattere che costituisce la seconda chiave di ricerca;
- <TTXT> è il carattere terminatore 7Fh;
- <dati> è il nuovo contenuto del campo.
3.3.6. Invio delle fasce orarie
Il testo è aperto dai preamboli 43h e 35h. La parte seguente è strutturata come segue (vedere ilCap. 3, par. 3.4.3):
<he1 h>/<he1 l>/<me1 h>/<me1 l>/<hu1 h>/
/<hu1 l>/<mu1 h>/<mu1 \>l
<he2h>/<he2l>/<me2h>/<me2l>/<hu2h>/
/<hu2l>/<mu2h>/<>mu2l>/
<he3h>/<he3l>/<me3h>/<me3l>/<hu3h>/
/<hu3l>/<mu3h>/<mu3l>/....
dove:
- <he1 h> è la cifra delle decine dell'ora di ingresso del primo periodo di abilitazione;
- <he1l> è la cifra delle unità dell'ora di ingresso del primo periodo di abilitazione;
- <me1 h> è la cifra delle decine dei minuti di ingresso del primo periodo di bilitazione;