Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

TCP/IP Receive

Ricevere dati su rete TCP/IP da host remoto

Prodotto complementare richiesto: Questa feature richiede il pacchetto complementare MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms.

  • NVIDIA TCP/IP Receive block

Librerie:
NVIDIA Jetson and NVIDIA DRIVE / Network

Descrizione

Add-On Required: Questa feature richiede il

Ricevere dati da un host remoto/un altro hardware target su una rete. Quando si imposta la modalità di connessione come server, è necessario fornire la porta locale. La porta locale funge da porta di ascolto del server TCP/IP. Quando si imposta il blocco come client, è necessario fornire l'indirizzo remoto e la porta remota del server TCP/IP per la ricezione dei dati. Il blocco accetta dati in modalità bloccante o non bloccante. L'output della porta dati contiene i dati richiesti a ciascun passo temporale. La porta stato contiene 0 o 1, per indicare se sono stati ricevuti i nuovi dati al passo temporale specificato. Il valore 1 della porta di stato indica che i dati della porta dati sono validi.

In modalità bloccante, il modello blocca l'esecuzione in attesa che i dati richiesti siano disponibili.

blocking mode

Al passo temporale 1, il blocco richiede quattro valori di dati e il buffer di ricezione TCP/IP riceve quattro valori di dati. L'esecuzione si avvia.

Al passo temporale 2, il blocco richiede nuovamente i dati, ma il buffer di ricezione TCP/IP riceve solo tre valori di dati. L'esecuzione si ferma finché il buffer non riceve il quarto valore di dati o finché non scade il valore di time-out. Quindi, l'esecuzione riprende.

Al passo temporale 3, il blocco richiede i dati e il buffer riceve cinque valori di dati. Il blocco restituisce i primi quattro valori di dati e il valore rimanente viene utilizzato nel ciclo di ricezione successivo.

In modalità non bloccante, il modello viene eseguito in modo continuo.

non blocking mode

Al passo temporale 1, il blocco richiede i dati e il buffer riceve quattro valori di dati. Il blocco modifica il valore della porta stato a 0, indicando che i nuovi dati richiesti sono disponibili. A questo punto, la porta dati contiene i nuovi valori dei dati ricevuti. Il blocco ripristina a 0 il valore della porta dati.

Al passo temporale 2, il blocco richiede nuovamente i dati, ma il buffer riceve solo tre valori. Il blocco non può restituire un valore di 3, perché la dimensione dei dati è specificata come 4. Pertanto, il blocco imposta il valore della porta stato su 1, indicando che non ci sono nuovi dati. Tutti i valori sulla porta dati diventano 0. A questo punto, il buffer ha tre valori di dati. Tuttavia, l'esecuzione non si ferma durante questa fase, a differenza di quello che accade in modalità bloccante.

Al passo temporale 3, il buffer ha cinque valori di dati e il blocco restituisce i primi quattro valori di dati nell'ordine ricevuto e modifica il valore della porta stato a 0. Il valore dei dati rimanenti viene utilizzato nel ciclo di ricezione successivo.

Porte

Output

espandi tutto

Il blocco genera i dati come un array [Nx1].

Tipi di dati: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Questa porta mostra lo stato di ricezione dei dati. Il valore di stato 1 significa che la ricezione dei dati è avvenuta correttamente.

Tipi di dati: int8

Parametri

espandi tutto

Scheda principale

Selezionare l'opzione per collegare il blocco come server TCP/IP o client TCP/IP.

Utilizzo programmatico

Parametro dei blocchi: Mode_
Tipo: vettore di caratteri
Valori: 'Server'|'Client'
Impostazione predefinita: 'Server'

Inserire il numero di porta locale che agisce come porta di ascolto del server TCP/IP. Questo parametro appare solo quando si imposta Connection mode su Server

Utilizzo programmatico

Parametro dei blocchi: LocalServerPort_
Tipo: vettore di caratteri
Valori: '25000'|scalar
Impostazione predefinita: '25000'

Inserire l'indirizzo del server remoto da cui ricevere i dati. Questo parametro appare solo quando si imposta Connection mode su Client.

Utilizzo programmatico

Parametro dei blocchi: RemoteAddr_
Tipo: vettore di caratteri
Valori: '127.0.0.1'|scalar
Impostazione predefinita: '127.0.0.1'

Inserire la porta del server remoto. Questo parametro appare solo quando si imposta Connection mode su Client.

Utilizzo programmatico

Parametro dei blocchi: RemoteServerPort_
Tipo: vettore di caratteri
Valori: '25000'|scalar
Impostazione predefinita: '25000'

Selezionare il tipo di dato da ricevere dall'host remoto.

Utilizzo programmatico

Parametro dei blocchi: DataType_
Tipo: vettore di caratteri
Valori: 'uint8'|'uint16''uint32''double''single''int8''int16''int32''boolean'
Impostazione predefinita: 'uint8'

Inserire la dimensione dei dati da ricevere dall'host remoto.

Utilizzo programmatico

Parametro dei blocchi: DataSize_
Tipo: vettore di caratteri
Valori: '1'|scalar
Impostazione predefinita: '1'

Inserire la frequenza temporale di ricezione dei dati.

Utilizzo programmatico

Parametro dei blocchi: SampleTime_
Tipo: vettore di caratteri
Valori: scalare | vettore
Impostazione predefinita: '0.1'

Scheda avanzata

Consentire di specificare manualmente la porta IP locale su cui ricevere i dati. Questo parametro appare solo quando si imposta Connection mode su Client.

Utilizzo programmatico

Parametro dei blocchi: ClientPortBindingSelection_
Tipo: vettore di caratteri
Valori: 'off' | 'on'
Impostazione predefinita: 'off'

Inserire la porta locale del client per la ricezione dei dati. Questo parametro appare solo quando si imposta Connection mode su Client e si seleziona la casella di spunta Manually specify local IP port.

Utilizzo programmatico

Parametro dei blocchi: ClientPortToBind_
Tipo: vettore di caratteri
Valori: '35000'|scalar
Impostazione predefinita: '35000'

Selezionare questa opzione per specificare se il blocco deve attendere che i dati vengano ricevuti. Selezionando questa casella di spunta si abilita la modalità di blocco.

Utilizzo programmatico

Parametro dei blocchi: BlockingMode_
Tipo: vettore di caratteri
Valori: 'off' | 'on'
Impostazione predefinita: 'off'

Specificare il tempo di attesa del blocco per la ricezione dei dati durante ciascun passo temporale di simulazione. Se non è stato selezionato il parametro Wait until data received questo campo non è disponibile. Se si desidera che il blocco attenda indefinitamente fino alla ricezione dei dati, inserire il valore 'inf' in questo parametro.

Utilizzo programmatico

Parametro dei blocchi: BlockTimeout_
Tipo: vettore di caratteri
Valori: '0.1'|scalar
Impostazione predefinita: '0.1'

Cronologia versioni

Introdotto in R2020b