Abilitare JavaScript per vedere questo sito.

Introduzione

Il protocollo BCC è stato progettato per avere un protocollo di comunicazione efficiente tra dispositivi Robox e strumenti di sviluppo e applicazioni Robox.

Per informazioni più dettagliate vedi documentazione Protocollo BCC/31.

La comunicazione avviene grazie a interfacce di rete che sono definite come applicazioni software o dispositivi hardware che permettono di comunicare con i dispositivi Robox con criteri differenti da una connessione locale (ad es. RS232). Per gestire queste interfacce si utilizzano messaggi specifici.

Comunicazione client

Registrazione logica del client

Da RTE 34.27.7 è stata aggiunta la gestione dei comandi per la registrazione logica di un client TCP/BCC. Lo scopo è quello di avere la lista dei client registrati e l'informazione se il flusso di messaggi BCC dal client specifico sia attivo o no.

La specifica dei comandi BCC è disponibile sul manuale BCC/31 (Network handling) - vedi:

bccNetClientKasSessionBegin

612

bccNetClientKasSessionEnd

613

bccNetClientKasSessionInfo

614

La registrazione avviene mediante un comando BCC 612 in cui si specifica:

il timeout massimo di attesa messaggi dal client prima di considerare la connessione non attiva

un testo descrittivo del client

Se non ci sono controindicazioni, il client viene registrato memorizzando indirizzo Ip e Porta da cui è stato inviato il comando. Ovviamente non ci possono essere più client con uguali indirizzo Ip e Porta.

È possibile cambiare il valore di timeout dando nuovamente il comando di start con la stessa descrizione (dallo stesso Ip e dalla stessa Porta).

RTE gestisce una lista di 32 client attivi. I client sono considerati attivi se dopo il comando di start si riceve un qualsiasi messaggio BCC (ad eccezione di bccNetClientKasSessionInfo) prima dello scadere del timeout. Il timeout viene reinizializzato ad ogni messaggio.

In caso di non ricezione di messaggi prima del timeout, viene tolto il bit di connessione attiva e viene imposto il bit di Latch 'mancanza di comunicazione'. Se la comunicazione riprende, il bit di 'comunicazione attiva' viene nuovamente impostato. Il bit dello stato Latch 'mancanza di comunicazione' viene resettato solo usando il comando di start.

Per rimuovere un client dalla lista bisogna dare il comando esplicito BCC di stop degli stessi indirizzo Ip e Porta.

Esiste un comando BCC per avere informazioni riguardo lo stato della registrazione del client su indirizzo e porta corrente.

La lista completa dei client registrati è disponibile utilizzando la funzione R3 bcc_get_tcp_clients_info() o la rispettiva funzione OB getTcpClientsInfo().

Modalità BCC OOW (Only One Write)

Da RTE 34.27.2 è stata aggiunta la gestione della modalità per BBC3 OOW (solo uno scrive) per i soli client TCP.

La specifica dei comandi BCC è disponibile sul manuale BCC/31 (Device handling) - vedi:

bccOOWSessionBegin

530

bccOOWSessionEnd

531

bccOOWSessionQueryInfo

532

Quando questa modalità è abilitata, tutti i comandi di scrittura da BCC sono rifiutati se non arrivano dal TCP client che ha aperto la sessione di scrittura.

Per poter aprire una sessione di scrittura da parte di un client, devono essere presenti i seguenti requisiti:

non deve essere già aperta la sessione da un altro TCP client

se presente una BLACK_LIST (lista esclusi), il client non deve esservi presente

se presente una WHITE_LIST (lista permessi), il client deve esservi presente

La sessione di scrittura viene chiusa con uno dei due modi seguenti:

comando esplicito da parte del TCP client proprietario della connessione

scadenza del timeout per assenza di messaggi dal TCP client proprietario della connessione

Come ID del TCP client può essere usato il solo indirizzo Ip o l'indirizzo Ip più la Porta TCP. Saranno quindi accettati solo i messaggi di scrittura che soddisfano i requisiti dopo la verifica dell'ID.

Non sottostanno alle limitazioni della modalità OOW, e quindi possono scrivere senza limitazione:

i TCP client presenti nella lista WILD_CARDS

le comunicazioni che utilizzano canali diversi da TCP/IP (ad es. seriale o usb)

Per abilitare la modalità OOW bisogna caricare in flash il file non vuoto OOW.CFG. Il file deve risiedere su flash nella directory /FA/.

In questo file è possibile definire gli elementi delle liste opzionali di:

WILD_CARDS

BLACK_LIST

WHITE_LIST

In ogni item delle liste si specifica:

indirizzo Ip

TCP Port (opzionale, se non presente o uguale a 0 si assumono tutte le porte)

NOTA: Questo parametro è usato solo se è abilitata la gestione della Porta TCP nell'ID.

mask (opzionale, se non presente equivale a 255.255.255.255). Questo parametro serve per poter specificare un gruppo di TCP client permessi (es. se Ip 192.168.14.17 e mask 255.255.255.128, questo implica che il range di indirizzi specificati va da 192.168.14.0 a 192.169.14.127)

NOTA: Il file viene analizzato al bootup e dopo questa fase non è possibile modificare le liste.

Argomenti correlati

Keywords

SYS_CFG_2.10

Abilita l'uso della porta TCP nell'ID del TCP client nella sessione OOW

NOTA: L'uso della Porta nell'ID è condizionato da questo flag e da quello impostato sulla richiesta di apertura.

SYS_FLAG_2.2

Abilita dump in report dei messaggi diagnostici di apertura/chiusura sessione OOW

OOW_STATUS

Mediante questa keyword è possibile monitorare lo stato di una sessione OOW

OOW_OWNER_IP

Contiene l'indirizzo Ip del client con il permesso di scrittura di una sessione OOW

OOW_OWNER_PORT

Contiene la porta TCP del client con il permesso di scrittura di una sessione OOW

 

  

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