WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Übertragung von Daten mit Netzwerkblöcken

 

Schnapptrude
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 13.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2019, 17:10     Titel: Übertragung von Daten mit Netzwerkblöcken
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.