|
|
Übertragung von Daten mit Netzwerkblöcken |
|
Schnapptrude |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 13.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2019, 16:10
Titel: Übertragung von Daten mit Netzwerkblöcken
|
|
|
|
|
Liebe Forumsgemeinde,
ich habe einen Computer (PC_1), auf dem ich Programme mit Matlab Realtime laufen lassen kann, wenn ich sie mit dem RealtimeExplorer dort rüberziehe. Ein Modell dort lasse ich mit der Option "Fixed Step Time" laufen, und zwar mit einer Zeit von 0,001s - also 1kHz.
Im PC_1 befindet sich eine analoge Datenerfassungskarte, von der ich nun die Messdaten in einem Scope darstellen kann.
Im nächsten Schritt möchte ich gerne die Daten kontinuierlich auf einen anderen PC_2 übertragen, um sie dort auch weiterverarbeiten zu können. Der PC_2 hat ein Windows-10-Betriebssystem ohne eine Echtzeitanwendung.
Eine Variante wäre, dass ich Messdaten zyklisch auf PC_1 in eine Datei speichere und dann immer an den PC_2 übertrage.
Ich möchte die Daten aber kontinuirlich direkt über Netzwerk an den anderen PC senden. Weil diese Datenübertragung aber azyklisch stattfindet, möchte ich die Werte in einem FiFo auf Rechner_1 speichern und bei einer Anfrage von Rechner_2 eine Anzahl von n Werten übertragen.
Meine erste Frage ist, wie ich mir einen geeigenten Fifo realisiere. Muss ich dazu mit einer s-Function arbeiten?
In Simulink habe ich mehrere Blöcke gefunden, mit denen Netzwerk-Kommunikation durchgeführt werden kann, z.B. die IEE 1588-Blöcke oder Ethernet RX/TX-Blöcke.
Die Vorgehensweise sollte also so sein - Rechner_2 fragt, wie viele Daten im Fifo von Rechner_1 gerade sind. Im nächsten Schritt wird von Rechner_2 eine Funktion zum Holen der Daten aus dem Fifo von Rechner_1 aufgerufen. Währenddessen läuft aber Rechner_1 kontinuierliche weiter und schreibt auch brav die neuen Werte in den Fifo, weil ja durch die Anfragen von Rechner_2 schon wieder neue Daten auf Rechner_1 existieren.
Könnt ihr mir vielleicht ein paar Tipps geben, ob der Ansatz der richtige ist? Ich will jetzt keine fertige Lösung, sondern möchte es mir selber erarbeiten, aber ich bin mir da noch etwas unsicher - z.B. ob man einen Fifo mittels einer s-Function realisieren muss.
Vielen Dank im Voraus.
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|