Serial Communication Protocol
6 – Alcuni esempi di utilizzo
6.1 Alcuni esempi pratici sul funzionamento del protocollo
L'esempio che segue ha lo scopo di descrivere come impostare un nuovo valore
in un registro definito Y e inviarlo all'unità definita Z.
Nel nostro esempio l'unità Z utilizza un indirizzamento standard per l'accesso al
registro. Nel caso in cui si dovesse programmare un'unità con indirizzamento
esteso, l'esempio seguente può considerarsi a tutti gli effetti assimilabile a
eccezione che per l'utilizzo della versione estesa dei codici indirizzo e dei
sottocodici.
Nell'esempio l'unità Z ha indirizzo seriale “11”, mentre il registro Y utilizza il
codice di accesso seriale “00”. Vogliamo impostare nel registro il valore
“0.9873”.
6.1.1 Trasmissione del telegramma
Anzitutto, è necessario trasmettere il seguente telegramma formato da un
totale di 13 caratteri ASCII.
No. Funzione ASCII Hex Codice binario Descrizione
Hi----------- -----------Lo
01 EOT EOT 0 4 0 0 0 0 0 1 0 0 Inizializzazione carattere di controllo
02 AD1 1 3 1 0 0 1 1 0 0 0 1 Indirizzo, byte alto
03 AD2 1 3 1 0 0 1 1 0 0 0 1 Indirizzo, byte basso
04 STX STX 0 2 0 0 0 0 0 0 1 0 Carattere di controllo
05 C1 0 3 0 0 0 1 1 0 0 0 0 Codice registro, byte alto
06 C2 0 3 0 0 0 1 1 0 0 0 0 Codice registro, byte basso
07 X (dato) 0 3 0 0 0 1 1 0 0 0 0 Valore, cifra più alta
08 X (dato) 9 3 9 0 0 1 1 1 0 0 1
09 X (dato) 8 3 8 0 0 1 1 1 0 0 0
10 X (dato) 7 3 7 0 0 1 1 0 1 1 1
11 X (dato) 3 3 3 0 0 1 1 0 0 1 1 Valore, cifra più bassa
12 ETX ETX 0 3 0 0 0 0 0 0 1 1 Carattere di controllo
13 BCC 6 3 6 0 0 1 1 0 1 1 0 Block check character
I caratteri riportati su uno sfondo grigio sono quelli utilizzati ai fini del carattere
di controllo block check character per mezzo della funzione OR Esclusivo.
Consideriamo ora ciascuna delle 8 colonne nel campo Codice binario (al centro).
Nella colonna HIGH BIT (prima colonna sulla sinistra nel campo Codice binario),
vediamo che sono presenti degli zero in ciascuna delle righe nella colonna, il
valore delle funzione OR Esclusivo sarà perciò 0 e il bit ALTO del carattere di
controllo Block check character sarà “0” in questa colonna.
Serial Protocol I_E 1.1.odt 6 – Alcuni esempi di utilizzo 10 / 32