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

Serial Receive: Große Datei über RS-232 an Simulink-Modell

 

Bszn
Forum-Newbie

Forum-Newbie



Beiträge: 1
Anmeldedatum: 01.11.14
Wohnort: Ruhrgebiet
Version: R2013a
     Beitrag Verfasst am: 01.11.2014, 13:12     Titel: Serial Receive: Große Datei über RS-232 an Simulink-Modell
  Antworten mit Zitat      
Hallo,

Ich hab schon öfters mit MATLAB gearbeitet, bin aber in Sachen Simulink relativ unbeleckt und stoße öfter auf Probleme. Vielleicht kann mir jemand mit meiner aktuellsten Hürde helfen:

Ich möchte ein Modell erstellen, das kontinuierlich die serielle Schnittstelle abfragt. Die eingehenden Daten sind Dateiübertragungen, die Daten treffen also in Bursts aus mehreren tausend Bytes ein.

Ich habe mich dazu für den Einsatz des "Serial Receive" Blocks entschieden. Ich habe den Block so konfiguriert, dass er die Ausführung des restlichen Modells nicht beeinflusst. Ich habe zunächst ein kleines Testmodell erstellt, in dem die empfangenen Daten lediglich am Ende der Simulation in den Workspace exportiert werden:



Die gesendeten Daten werden jedoch nur unvollständig empfangen. Ich übertrage testweise eine Datei von ~10000 Bytes. Am Ende der Simulation zeigt sich an der Länge des Simout-Vektors, dass der Empfang an einer zufälligen Stelle in der Datei abgebrochen ist. Indem ich die Baudrate auf 9600 reduziert habe, konnte ich die Datei vollständig übertragen. Bei größeren Datenmengen tritt das Problem jedoch erneut auf. Außerdem würde ich gerne mit größeren Übertragungsraten arbeiten.
Ein generelles Problem mit der Übertragung habe ich ausgeschlossen, indem ich die Datei mit den serial/fopen/fread/fclose-Funktionen aus dem MATLAB-Umfang korrekt und vollständig bei hohen Baudraten übertragen habe.

Ich vermute aufgrund der Abhängigkeit von der Baudrate, dass es ein Problem mit dem Eingangspuffer des "Serial Receive"-Blocks gibt. Kann ich dessen Größe einstellen? Oder kann ich den Auslesevorgang des Puffers beschleunigen? Oder gibt es geeignetere Blöcke?

Grüße,
Bszn Smile

Unbenannt.PNG
 Beschreibung:

Download
 Dateiname:  Unbenannt.PNG
 Dateigröße:  5.58 KB
 Heruntergeladen:  509 mal
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.