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

Matlabfunctionblock - Stopwatch/while-Schleife

 

sariiii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.10.2013, 12:19     Titel: Matlabfunctionblock - Stopwatch/while-Schleife
  Antworten mit Zitat      
Hallo,

ich bin grad ganz schön am verzweifeln, mit dem Matlabfunction Block.

1. ich benötige eine Funktion, die den Abluaf des Programmes für 20 sekunden warten lässt, die Simulinksimulation jedoch weiter laufen lässt.
clock, tictoc,stopwatch hab ich schon ausprobiert. Die Funktionen erkennt der Function Block aber nicht.
2. In meiner while-Schleife ändert sich der Spannungswert nicht. Das heißt, ich habe nicht den aktuellen Wert zur Verfügung, sondern nur den Wert bei Eintritt in die Schleife.

Vielleicht hat ja einer von euch eine Idee, wie man das umsetzen kann.
Muss nicht elegant sein, hauptsache es klapp:)
Ich hab auch schon überlegt, mehrere function Blöcke hintereinander zu schalten, aber dann werden ja trotzdem alle gleichzeitig abgearbeitet oder?

Vielen Dank euch schonmal
Grüße
Sari

Ablauf Modell: 3Zellen, jede hat einen Schalter A mit dem man einen Widerstand parallel schalten kann. Es soll geladen werden. Hat eine Zelle 4.18V erreicht, soll die Ladung gestoppt werden. Der Schalter A der Zelle soll geschlatet werden und die Zelle wird entladen. Solange bis bestimmter Wert erreicht ist. Dann A wieder auf 0 und Ladung wird fortgesetzt.

MEIN PROGRAMM DAZU:
Code:

% Die Ladung soll gestoppt werden, wenn eine Zelle den maximalen
% Spannungswert erreicht hat--> stoppen mit y=0

% Bedingung für Ladeabbruch
if (Spannung>4.18 || Spannung2>4.18 || Spannung3>=4.18)
    y=1;
   
%   Hier soll im Programmablauf 20 Sekunden gewartet werden
%   und das Simulinkmodell jedoch weiterlaufen (Spannungskurve sinkt %   ab),damit ich die aktuelle Spannung habe.
%   WIE KANN MAN DAS WARTEN UMSETZEN ??????
%    --> STOPPUHR ????
   
%   Nach 20s Speichern der aktuellen Spannung
    spg1=Spannung;
    spg2=Spannung2;
    spg3=Spannung3;
   
%   Bestimmung Vmin und Vmax
    if spg1>spg2
        Vmin=spg2;
        Vmax=spg1;
    else Vmin=spg1;
         Vmax=spg2;
    end
    if Vmin>spg3
        Vmin=spg3;
    else Vmin=Vmin;
    end
    if spg3>Vmax
        Vmax=spg3;
    else Vmax=Vmax;
    end
% Werteberechnung    
    d1=spg1-spg2;
    d1=abs(d1);
    d2=spg1-spg3;
    d2=abs(d2);
    d3=spg2-spg3;
    d3=abs(d3);
    D=(d1+d2+d3)/3;
    Ventlade=D+Vmin;
end
   
%     WHILE SCHLEIFE
whlile (Abbruch==0)
% Schalten des Ausganges, der größten Spannung. Heißt im Modell, das % zu der Batteriezelle mit der höchsten Spannung ein Widerstand parallel
% geschaltet wird und die Zelle sich über diesen entladen soll. A=Schalter % Widerstand
switch (Vmax)
    case spg1,
        A1=1;
    case spg2,
        A2=1;
    case spg3,
        A3=1;
end
% Es soll erst wieder geöffnet werden, wenn die Spannung der höchsten % Zelle auf den ausgerechneten Wert Ventlade abgesunken ist. Das heißt, % dass ich in der While-Schleife die aktuellen Spannungen brauche, aber % die wird irgendwie nicht übernommen sondern er speichert den           % Spannungswert, der bei wechseln in die While-Schleife herrscht.
 
% Öffnungsbedingung für A1,A2,A3
% Variablen auf Ausgangsbedingungen setzen
if Spannung<=Ventlade;
    A1=0;
    A2=0;
    A3=0;
    Vmin=0;
    Vmax=0;
    d1=0;
    d2=0;
    d3=0;
    Abbruch=1;
end





EDIT by denny: Bitte die Codeumgebung nutzen


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 - 2025 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.