VTB Objects 1.0
 
Caricamento in corso...
Ricerca in corso...
Nessun risultato
TCP Client

Oggetto per la comunicazione con un altro apparato tramite la connessione Ethernet

Versioni Data Descrizione
1.0.1 Inizio conversione per l'uso con VTB2
1.0.2 Aggiunta la funzione 'connect_to()' per aprire una connessione passando IP e porta come argomenti
1.0.3 02/03/2024 Aggiunti i commenti per la documentazione dell'oggetto

Proprietà

{Summary}

Nome Descrizione
Descrizione Descrizione dell'oggetto nell'applicazione
Name Nome dell'oggetto nell'applicazione
IP address Indirizzo IP del server
Port Porta del server
Idle TimeOut (sec) Tempo di inattività per la disconnessione
RPC TimeOut (mSec) Tempo di timeout per la comunicazione

Variabili

{Summary}

Nome Tipo Descrizione
[OBJ_NAME]_FUN DELEGATE
[OBJ_NAME]_BUFRX CHAR
[OBJ_NAME]_BUFTX_HEADER CHAR
[OBJ_NAME]_BUFTX CHAR
[OBJ_NAME]_LENTX LONG
[OBJ_NAME].BYTES_RECEIVED LONG
[OBJ_NAME].SOCKET CHAR
[OBJ_NAME].STATUS UINT
[OBJ_NAME]_REGEN LONG
[OBJ_NAME].REMOTE_IP LONG
[OBJ_NAME]_TIMER LONG
[OBJ_NAME]_PTR LONG
[OBJ_NAME]_PTW LONG
[OBJ_NAME].status_connected BIT
[OBJ_NAME].status_closed BIT
[OBJ_NAME].status_abort BIT
[OBJ_NAME].status_overun BIT

Proprietà di codice

{Summary}

Nome Descrizione
'[OBJ_NAME].START Proprietà per l'avvio della connessione

Eventi

{Summary}

Funzioni

CONNECT

Sintassi

function [OBJ_NAME].connect(tim as long) as char

Descrizione

Funzione per la connessione ad un server con le proprietà dell'oggetto

Parametri

Nome Tipo Descrizione
tim long Tempo del timeout di comunicazione

Valore di ritorno

Tipo : char Stato restituito dall'operazione

Osservazioni

I valori restituiti possono essere:

Valore Descrizione
0 Connessione effettuata
-2 Timeout di comunicazione
Altro Connessione fallita

Esempio

...
ret = obj.connect(1000)
if(ret = 0)
connectionState = 1
else
connectionState = 0
endif
...

CONNECT_TO

Sintassi

function [OBJ_NAME].connect_to(addr as *char, port as int, tim as long) as char

Descrizione

Funzione per la connessione ad un server con gli argomenti passati

Parametri

Nome Tipo Descrizione
addr *char Stringa dell'indirizzo dell'IP di connessione
port int Porta di comunicazione
tim long Tempo del timeout di comunicazione

Valore di ritorno

Tipo : char Stato restituito dall'operazione

Osservazioni

I valori restituiti possono essere:

Valore Descrizione
0 Connessione effettuata
-2 Timeout di comunicazione
Altro Connessione fallita

Esempio

...
ret = obj.connect_to("10.0.0.80", 555, 1000)
if(ret = 0)
connectionState = 1
else
connectionState = 0
endif
...

CLOSE

Sintassi

function [OBJ_NAME].close() as void

Descrizione

Funzione per la chiuisura della connessione

Valore di ritorno

Tipo : void

Esempio

...
obj.connect_to("10.0.0.80", 555, 1000)
...

SEND

Sintassi

function [OBJ_NAME].send(buf as *char,len as uint) as int

Descrizione

Funzione per l'invio di dati

Parametri

Nome Tipo Descrizione
buf *char Buffer dati da inviare
len uint Numero di dati nel buffer

Valore di ritorno

Tipo : int Stato restituito dall'operazione

Osservazioni

I valori restituiti possono essere:

Valore Descrizione
-1 Errore durante l'invio
>0 Numero di dati inviati

Esempio

...
buff(0) = 0x10
buff(1) = 0xA
ret = obj.send(buff, 2)
if(ret < 0)
error = 1
else
error = 0
endif
...

RECV

Sintassi

function [OBJ_NAME].recv(buf as *char,lenbuf as long) as long

Descrizione

Funzione per la lettura di dati dalla connessione

Parametri

Nome Tipo Descrizione
buf *char Buffer dati da ricevere
lenbuf long

Valore di ritorno

Tipo : long Numero di bytes letti

Esempio

...
ret = obj.recv(buff, 2)
if(ret <= 0)
error = 1
else
error = 0
endif
...

RPC_READ

Sintassi

function [OBJ_NAME].rpc_read(ad as long,len as uint,buf as *char) as int

Descrizione

Funzione per la lòettura di un intero con protocollo RPC

Parametri

Nome Tipo Descrizione
ad long Indirizzo di dati remoto
len uint Numero di dati nel buffer
buf *char Buffer dati da leggere

Valore di ritorno

Tipo : int Stato restituito dall'operazione

Osservazioni

I valori restituiti possono essere:

Valore Descrizione
>0 Numero di dati inviati
-1 Errore invio
-2 Timeout invio
-3 Timeout risposta

Esempio

...
ret = obj.rpc_read(1000000, 2, buff)
if(ret < 0)
error = 1
else
error = 0
endif
...

RPC_WRITE

Sintassi

function [OBJ_NAME].rpc_write(ad as long,len as uint,buf as *char) as long

Descrizione

Funzione per la lòettura di un intero con protocollo RPC

Parametri

Nome Tipo Descrizione
ad long Indirizzo di dati remoto
len uint Numero di dati nel buffer
buf *char Buffer dati da inviare

Valore di ritorno

Tipo : long Stato restituito dall'operazione

Osservazioni

I valori restituiti possono essere:

Valore Descrizione
>0 Numero di dati inviati
-1 Errore invio
-2 Timeout invio

Esempio

...
ret = obj.rpc_read(1000000, 2, buff)
if(ret < 0)
error = 1
else
error = 0
endif
...