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

Simulink-Daten aus Workbox periodisch wiedergeben

 

Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2010, 14:11     Titel: Simulink-Daten aus Workbox periodisch wiedergeben
  Antworten mit Zitat      
Hallo,

ich beschäftige mich erst seit einigen Wochen mit Simulink. Habe mich mit Matlab nur sehr wenig befasst, da es bei mir weniger ums Programmieren wie ums Simulieren mit fertigen Modellen aus Simulink geht.

Meine Frage:
Ich habe in meiner Workbox zeitabhängige Werte, die ich gerne periodisch wiedergeben würde. Nach einer anfänglichen Verzögerung von 40 Sekunden, soll alle 20 Sekunden auf die Datenreihe aus der Workbox zugegriffen werden. Die Verzögerung von 40 sec hab ich durch das Modul "Step" erzeugt. Allerdings fängt meine Simulation dann nicht mit dem ersten Datenwert an sondern mit dem 20. Wert. Zudem bekomme ich keine Periode mit 20 sec-Abständen hin. Sad

Ich hoffe ich konnte mein Problem erläutern und bin dankbar über jede Hilfe.

Vielen Dank im Voraus.[/b]


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 27.09.2010, 14:16     Titel:
  Antworten mit Zitat      
Da gibt es viele Fehlermöglichkeiten - ich würde bei der Schrittweite in Simulink anfangen. Fest Schrittweite? Ist es auch die Schrittweite der Daten? Ist die Variable die durch "From Workspace" eingelesen wird mit Zeitinformationen oder ohne?

Im Zweifel immer Modell und Daten hier mitposten...

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2010, 13:40     Titel: Zu meiner Frage oben
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort.

Ich habe den Zeitvektor nicht aufgenommen, weil ich das Modul "Signal from Workspace" vom Zusatztool "Signal Processing Blockset". Der Grund für dieses Modul war meine Schwierigkeit mit dem Einstellen des "Cyclic repetition" im Modul "From Workspace".

Ich habe im Anhang ein Abbild beigefügt, wie ich es gern haben würde. Hab da einen eigenen Vektor erstellt um es so hinzukriegen.

Der obere Verlauf ist mit der Startverzögerung und das untere ohne.
Zudem ist links die Exceltabelle zu sehen aus der die Daten entnommen sind (Ef).

Die Daten: 46 Sekunden ist die Startverzögerung. 14 Sekunden dauert der Prozess und 41 Sekunden befindet er sich im Stillstand.

Vielen Dank nochmals.

Simulink.JPG
 Beschreibung:
Excel-Daten und die gewünschte Abbildung

Download
 Dateiname:  Simulink.JPG
 Dateigröße:  109.46 KB
 Heruntergeladen:  622 mal
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 29.09.2010, 09:12     Titel:
  Antworten mit Zitat      
Ich habe mal ein Beispile gemacht - Screenshot helfen kaum etwas und sind ineffizient.

Code:

t=1:14;
ea=[2000 4000 6500 7500 7500 7500 7500 7500 7500 7500 7500 7500 5000 2000];
 


Das angehängte Modell (R2009b) liest diese Daten aus dem Worlspace und im Scope werden sie korrekt weitergegeben. Wie geht es jetz weiter? Wo sind Unterschiede / Probleme?

Andreas

test_forum79.mdl
 Beschreibung:

Download
 Dateiname:  test_forum79.mdl
 Dateigröße:  19.6 KB
 Heruntergeladen:  539 mal
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2010, 11:18     Titel:
  Antworten mit Zitat      
Hallo Andreas,

mit dem Sreenshot kann man wirklich nicht viel anfangen.Sorry.
Hier das Modell mit den Werten aus der Exceltabelle und den dem von mir veränderten Signalvektor EF:

te=1:14;
Ef=[200 300 400 500 500 500 500 500 500 500 500 500 300 150]
EF=[Ef(10:14,1);zeros(41,1);Ef(1:9,1)]

In dem Modell im Anhang ist dargestellt, wie Ef abgebildet wird, leider ohne die 41 Sekunden Stillstand zwischen dem Datenverlauf von Ef.Wie bekomme ich da einen Zyklus hin?
Und zudem fängt die Simulation nach dem "Step" von 46 Sekunden nicht mit dem ersten Wert von Ef (=200) an.

Das EF hab ich so umgestellt, damit ich nach 46 Sekunden wieder den ersten Wert von Ef (=200) habe.

Allerdings sind die Werte und Zyklen später in den Versuchen ganz unterschiedlich.Daher dachte ich mir, dass es doch sicher eine einfachere Variante geben muss als das ständige selber Erzeugen eines Signalvektors EF.

Ich hoffe, ich konnte mein Problem erklären.

Vielen Dank.

Grüße Dumrul

Test_1.mdl
 Beschreibung:

Download
 Dateiname:  Test_1.mdl
 Dateigröße:  22.46 KB
 Heruntergeladen:  536 mal
 
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.