Abilitare JavaScript per vedere questo sito.

Introduzione

Utilizzando questo protocollo è possibile scambiare in modo sicuro dati tra un applicativo su Personal Computer e i controlli Robox via canale seriale. Si differenzia dalla comunicazione seriale in modo 0 (stringhe terminate) in quanto sia le domande che le risposte sono inglobate in un guscio e protette da CRC. Solo le direttive formalmente corrette (CRC valido) verranno eseguite.

dle_ascii

NOTA: Non è possibile utilizzare le direttive di gestione flash (upload/download di files) utilizzando questo protocollo.

Abilitando questo protocollo su di un canale seriale, questo viene riservato esclusivamente al sistema, non è quindi possibile per l'utente utilizzare funzioni quali la ser_in(), ser_out().

Abilitazione protocollo

Per abilitare questo protocollo si deve utilizzare la seguente direttiva: PSER DLE_AscII.

Disabilitazione protocollo

Per disabilitare questo protocollo e riattivare quello AscII standard, si deve utilizzare la seguente direttiva: PSER AscII.

Per disabilitare questo protocollo e riattivare il protocollo BCC3 per la comunicazione con l'ambiente di sviluppo RDE, si deve utilizzare la seguente direttiva: PSER_DLE_BCC3.

Formato dei pacchetti

La trasmissione DLE-AscII non necessita dei prefissi di trasmissione :DrT:. Il comando trasmesso non deve essere terminato da LF (vedi comunicazione ascii in modo 0 - stringa terminata).

Il formato della trasmissione della domanda da PC a controllo Robox ha la seguente struttura:

Elem.

Dim. (byte)

Valore

Significato

I

1

0x10 (DLE)

Carattere identificativo byte di comando

II

1

0x02 (STX)

Codice di inizio buffer

III

1

0x21

Codice per protocollo (DLE-AscII)

IV

N

Max 256 bytes

….

Direttiva ascii terminata (stringa terminata da 0)

Non servono i terminatori CR e/o LF.

Eventuali caratteri 0x10 (DLE) DEVONO essere doppiati (nota nel calcolo del CRC se ne si considera solo uno)

V

1

0x10 (DLE)

Carattere identificativo byte di comando

VI

1

0x03(ETX)

Codice di fine buffer

VII

2

Crc16

Valore del CRC degli elementi: III. e IV. (elemento IV originale)

Le domande sono assunte solo se viene riconosciuta la struttura e il CRC ricevuto corrisponde a quello calcolato. Se non c'è corrispondenza il comando viene ignorato.

Esempio

Calcolo del CRC16

Il calcolo del crc16 viene fatto con il polinomio 0x1021. Il valore iniziale del crc e 0xFFFF. (crc16_be)

Esempio

Qui di seguito riportiamo il software in C da utilizzarsi per calcolare il valore del CRC:

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC