Contenu principal

TCP/IP Receive

R2026b

Recevoir des données provenant d’un hôte distant via le réseau TCP/IP

  • NVIDIA TCP/IP Receive block

Bibliothèques :
NVIDIA Jetson and NVIDIA DRIVE / Network

Description

Add-On Required: Cette fonctionnalité nécessite le module complémentaire MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms.

Recevez des données d’un hôte distant/d’un autre hardware cible via un réseau. Quand vous définissez le mode de connexion sur serveur, vous devez fournir le port local. Le port local agit comme port d’écoute du serveur TCP/IP. Quand vous définissez le bloc sur client, vous devez fournir l’adresse distante et le port distant du serveur TCP/IP à partir duquel recevoir des données. Le bloc accepte des données en mode bloquant ou en mode non bloquant. La sortie du port Data contient les données demandées à chaque pas de temps. Le port Status contient 0 ou 1 pour indiquer si les nouvelles données sont reçues au pas de temps spécifié. La valeur 1 du port Status indique que les données du port Data sont valides.

En mode bloquant, le modèle bloque l’exécution en attendant que les données demandées soient disponibles.

blocking mode

Au pas de temps 1, le bloc demande quatre valeurs de données et le buffer de réception TCP/IP obtient quatre valeurs de données. L’exécution commence.

Au pas de temps 2, le bloc redemande les données, mais le buffer de réception TCP/IP n’obtient que trois valeurs de données. L’exécution est suspendue jusqu’à ce que le buffer reçoive la quatrième valeur de données ou que la valeur de délai d’attente soit écoulée. Puis l’exécution reprend.

Au pas de temps 3, le bloc demande des données et le buffer reçoit cinq valeurs de données. Le bloc revient aux quatre premières valeurs de données et la valeur de données restante est utilisée lors du cycle de réception suivant.

En mode non bloquant, le modèle s’exécute en continu.

non blocking mode

Au pas de temps 1, le bloc demande des données et le buffer reçoit quatre valeurs de données. Le bloc change la valeur du port Status à 0, ce qui indique que de nouvelles données demandées sont disponibles. Le port Data contient maintenant les valeurs de données qui viennent d’être reçues. Le bloc réinitialise la valeur du port Data à 0.

Au pas de temps 2, le bloc redemande des données, mais le buffer n’obtient que trois valeurs. Le bloc ne peut pas retourner une valeur de 3, parce que la taille de données spécifiée est de 4. Par conséquent, le bloc définit la valeur du port Status à 1, ce qui indique qu’il n’y a pas de nouvelles données. Toutes les valeurs du port Data passent à 0. Le buffer a maintenant trois valeurs de données. Cependant, pendant cette phase, l’exécution ne s’arrête pas, contrairement à ce qui se produit dans le mode bloquant.

Au pas de temps 3, le buffer a cinq valeurs de données et le bloc retourne les quatre premières valeurs de données dans l’ordre de réception, puis change la valeur du port Status à 0. La valeur de données restante est utilisée lors du prochain cycle de réception.

Ports

Sortie(s)

développer tout

Le bloc produit des données sous forme de tableau [Nx1].

Types de données : single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Ce port montre le statut des données reçues. La valeur de statut 1 signifie que la réception des données a réussi.

Types de données : int8

Paramètres

développer tout

Onglet principal

Sélectionnez l’option de connecter le bloc comme serveur TCP/IP ou client TCP/IP.

Utilisation programmatique

Paramètre de bloc : Mode_
Type : vecteur de caractères
Valeurs : 'Server'|'Client'
Par défaut : 'Server'

Saisissez le numéro du port local qui agit comme port d’écoute du serveur TCP/IP. Ce paramètre n’apparaît que quand vous définissez le Connection mode sur Server.

Utilisation programmatique

Paramètre de bloc : LocalServerPort_
Type : vecteur de caractères
Valeurs : '25000'|scalar
Par défaut : '25000'

Saisissez l’adresse du serveur distant à partir duquel recevoir les données. Ce paramètre n’apparaît que quand vous définissez le Connection mode sur Client.

Utilisation programmatique

Paramètre de bloc : RemoteAddr_
Type : vecteur de caractères
Valeurs : '127.0.0.1'|scalar
Par défaut : '127.0.0.1'

Saisissez le port du serveur distant. Ce paramètre n’apparaît que quand vous définissez le Connection mode sur Client.

Utilisation programmatique

Paramètre de bloc : RemoteServerPort_
Type : vecteur de caractères
Valeurs : '25000'|scalar
Par défaut : '25000'

Sélectionnez le type de données qui seront reçues de l’hôte distant.

Utilisation programmatique

Paramètre de bloc : DataType_
Type : vecteur de caractères
Valeurs : 'uint8'|'uint16''uint32''double''single''int8''int16''int32''boolean'
Par défaut : 'uint8'

Saisissez la taille des données qui seront reçues de l’hôte distant.

Utilisation programmatique

Paramètre de bloc : DataSize_
Type : vecteur de caractères
Valeurs : '1'|scalar
Par défaut : '1'

Saisissez la fréquence temporelle à laquelle recevoir des données.

Utilisation programmatique

Paramètre de bloc : SampleTime_
Type : vecteur de caractères
Valeurs : scalaire | vecteur
Par défaut : '0.1'

Onglet avancé

Autorisez la spécification manuelle du port IP local où recevoir des données. Ce paramètre n’apparaît que quand vous définissez le Connection mode sur Client.

Utilisation programmatique

Paramètre de bloc : ClientPortBindingSelection_
Type : vecteur de caractères
Valeurs : 'off' | 'on'
Par défaut : 'off'

Saisissez le port local du client où recevoir des données. Ce paramètre n’apparaît que quand vous définissez le Connection mode sur Client et cochez la case Manually specify local IP port.

Utilisation programmatique

Paramètre de bloc : ClientPortToBind_
Type : vecteur de caractères
Valeurs : '35000'|scalar
Par défaut : '35000'

Sélectionnez cette option pour spécifier si le bloc doit attendre que les données soient reçues. Cocher cette case active le mode bloquant.

Utilisation programmatique

Paramètre de bloc : BlockingMode_
Type : vecteur de caractères
Valeurs : 'off' | 'on'
Par défaut : 'off'

Spécifiez le temps d’attente du bloc pour que les données soient reçues pendant chaque pas de temps de simulation. Ce champ est indisponible si vous n’avez pas sélectionné le paramètre Wait until data received. Saisissez une valeur « inf » dans ce paramètre si vous voulez que le bloc attende indéfiniment jusqu’à réception des données.

Utilisation programmatique

Paramètre de bloc : BlockTimeout_
Type : vecteur de caractères
Valeurs : '0.1'|scalar
Par défaut : '0.1'

Historique des versions

Introduit dans R2020b