Main Content

TCP/IP Receive

Empfangen von Daten von einem Remote-Host über TCP/IP-Netzwerke

  • TCP/IP Receive block

Bibliotheken:
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Support Package for Android Devices / Communication
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Support Package for Raspberry Pi Hardware / Network

Beschreibung

Sie können Daten von einem Remote-Host oder anderer Ziel-Hardware über ein Netzwerk empfangen. Wenn Sie den Verbindungmodus auf „Server“ setzen, müssen Sie den lokalen Port angeben. Der lokale Port fungiert als Listening-Port des TCP/IP-Servers. Wenn Sie den Block als Client festlegen, müssen Sie die Remote-Adresse und den Remote-Port des TCP/IP-Servers festlegen, um Daten zu empfangen. Der Block akzeptiert Daten entweder im Blocking-Modus oder im Non-Blocking-Modus. Die Ausgabe des Data-Ports enthält die in jedem Zeitschritt angeforderten Daten. Der Status-Port enthält 0 oder 1 und gibt an, ob die neuen Daten im angegebenen Zeitschritt empfangen wurden. Ein Statusport-Wert von 1 gibt an, dass die Daten vom Data-Port gültig sind.

Im Blocking-Modus blockiert das Modell die Ausführung, während es auf die Verfügbarkeit der angeforderten Daten wartet.

blocking mode

In Zeitschritt 1 fordert der Block vier Datenwerte an und der TCP/IP-Buffer empfängt vier Datenwerte. Die Ausführung läuft.

In Zeitschritt 2 fordert der Block erneut Daten an, der TCP/IP-Buffer empfängt jedoch nur drei Datenwerte. Die Ausführung wird pausiert, bis der Buffer den vierten Datenwert empfängt oder der Timeout-Wert abläuft. Daraufhin wird die Ausführung fortgesetzt.

In Zeitschritt 3 fordert der Block Daten an und der Buffer empfängt fünf Datenwerte. Der Block gibt die ersten vier Datenwerte aus, der verbleibende Datenwert wird im nächsten Empfangszyklus verwendet.

Im Non-Blocking-Modus läuft das Modell kontinuierlich.

non blocking mode

In Zeitschritt 1 fordert der Block Daten an und der Buffer empfängt vier Datenwerte. Der Block ändert den Wert des Status-Ports auf 0 und gibt so an, dass neue angeforderte Daten vorliegen. Der Data-Port enthält zu diesem Zeitpunkt die eben empfangenen Datenwerte. Der Block setzt den Wert des Data-Ports auf 0 zurück.

In Zeitschritt 2 fordert der Block erneut Daten an, der Buffer empfängt jedoch nur drei Werte. Der Block kann keinen Wert 3 ausgeben, da die Datengröße auf 4 festgelegt ist. Der Block ändert den Wert des Status-Ports auf 1 und gibt so an, dass keine neuen Daten vorliegen. Alle Werte des Data-Ports werden auf 0 geändert. Der Buffer weist zu diesem Zeitpunkt drei Datenwerte auf. In dieser Phase stoppt die Ausführung jedoch im Gegensatz zur Ausführung im Blocking-Mode nicht.

In Zeitschritt 3 weist der Buffer fünf Datenwerte auf, und der Block gibt die ersten vier Datenwerte in Empfangsreihenfolge aus und ändert den Wert des Status-Ports auf 0. Der verbleibende Datenwert wird im nächsten Empfangszyklus verwendet.

Ports

Ausgabe

alle erweitern

Der Block gibt Daten in Form eines [Nx1]-Arrays aus.

Datentypen: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Dieser Port zeigt den Datenempfangsstatus an. Der Statuswert 1 bedeutet, dass Daten erfolgreich empfangen wurden.

Datentypen: int8

Parameter

alle erweitern

Hauptregisterkarte

Wählen Sie aus, ob Sie den Block als TCP/IP-Server oder TCP/IP-Client verbinden möchten.

Geben Sie die lokale Portnummer an, die als Listening-Port des TCP/IP-Servers fungieren soll. Dieser Parameter wird nur angezeigt, wenn Sie Connection mode auf Server gesetzt haben.

Geben Sie die Remote-Adresse des Servers an, von dem Daten empfangen werden sollen. Dieser Parameter wird nur angezeigt, wenn Sie Connection mode auf Client gesetzt haben.

Geben Sie den Remote-Port des Servers ein. Dieser Parameter wird nur angezeigt, wenn Sie Connection mode auf Client gesetzt haben.

Wählen Sie den Datentyp aus, der vom Remote-Host empfangen werden soll.

Geben Sie die vom Remote-Host zu empfangende Datengröße an.

Geben Sie die Zeitfrequenz an, mit der Daten empfangen werden sollen.

Registerkarte „Erweitert“

Ermöglicht ein manuelles Festlegen des lokalen IP-Ports, über den Daten empfangen werden sollen. Dieser Parameter wird nur angezeigt, wenn Sie Connection mode auf Client gesetzt haben.

Geben Sie den lokalen Port des Client an, über den Daten empfangen werden sollen. Dieser Parameter wird nur angezeigt, wenn Sie Connection mode auf Client setzen und das Kontrollkästchen Manually specify local IP port aktivieren.

Wählen Sie diese Option aus, um festzulegen, dass der Block auf zu empfangende Daten wartet. Wählen Sie dieses Kontrollkästchen aus, um den „Blocking-Modus“ zu aktivieren.

Legen Sie fest, wie lange der Block während jedem Zeitschritt der Simulation auf zu empfangende Daten warten soll. Dieses Feld ist nicht verfügbar, wenn der Parameter Wait until data received nicht ausgewählt wurde. Geben Sie bei diesem Parameter „inf“ ein, wenn der Block auf unbestimmte Zeit warten soll, bis die Daten empfangen werden.