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

dynamisch Daten einlesen und Plotten in Simulink

 

c2daK
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 14.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2014, 15:42     Titel: dynamisch Daten einlesen und Plotten in Simulink
  Antworten mit Zitat      
Hallo zusammen,

und zwar habe ich folgendes Problem:

Ich habe eine Excel-Tabelle die folgender Maßen aufgebaut ist:

2 Zeilen 24 Spalten. In der ersten Zeile steht die Stundenanzahl des Tages und in der zweiten Zeile die dazugehörige Wattzahl einer Photovoltaikanlage (PVA).

Aus dieser Tabelle möchte ich mir zu jeder vollen Stunde den aktuellen Leistungs-Wert der PV-Anlage herauslesen:

Code:
clc;
clear all;
close all;

% Einlesen Exceldatei (Solareinstrahlung in kW/m^2)

S=xlsread('solar_radiation-vs-time-kW'); %Einlesen der ExcelTabelle
time=clock; % Uhrzeit in Time speichern
hours=time(4); %Stunden in hours speichern
solar_radiation=S(2,hours); % aktueller Wert in solar_radiation speichern


timertest(); % Ausführen der TimertestFkt



function timertest()

global hours S time n del


time=clock;
hours=time(4);
S=xlsread('solar_radiation-vs-time-kW');
solar_radiation=S(2,hours);

n=5;
del=3600; %Zeitabstand zwischen Ausführung der TimerCallbackfkt in sek..
disp('Start')

t = timer('TimerFcn',@timer_callback_fcn,'Period', del,'ExecutionMode','fixedDelay','TasksToExecute',n);
  start(t);
 
 
end



function timer_callback_fcn(obj,event,string_arg)
  global hours
  S=xlsread('solar_radiation-vs-time-kW');
  solar_radiation = S(2,hours);
  hours=hours+1;
 
  display(solar_radiation);
 
  assignin('base','solar_akt',solar_radiation); %Bringe aktuellen Wert in den Workspace  
  t = [hours,solar_radiation]; %Definiere Zeit/Wert(solarradiation) Vektor zum Einlesen in Simulink
  assignin('base','[b]vektor[/b]',t); %Bringe den Vektor in den Worspace
end

 

Das klappt auch soweit!

Beim Ausführen des Programms erhalte ich einen Vektor mit dem namen vektor der so aufgebaut ist [Stundenzahl des Tages, Einstrahlung Sonne] der sich im Workspace jede Stunde ändert und die aktuellen Daten in diesen hineinschreibt.

Nun möchte ich diese Daten in Echtzeit in Simulink einlesen und mit einem Scope darstellen. Die Simulation soll quasi laufen und zu jeder neuen Stunde soll der neue Wert dargestellt werden. Ich habe dies bereits mit einem FromWorkspace Block versucht doch leider wird mir beim Scope dann immer nur der Wert angezeigt der gerade in dem Vektor gespeichert ist. Ich möchte das ganze quasi dynamisch gestalten.

Hoffe das Problem ist einigermaßen deutlich geworden
ICh habe diese Frage nirgendwoanders gestellt

Vielen dank für eure Hilfe


edit by denny: Bitte die Codeumgebung verwenden
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.