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

Erhöhung des Pufferspeichers

 

Sittich
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 21.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2013, 16:15     Titel: Erhöhung des Pufferspeichers
  Antworten mit Zitat      
Hallo zusammen,

ich bin Neuling auf den Gebiet der Programmierung in MATLAB.

Ich soll für meine Bachlorarbeit die eine Batterie mit folgenden Programm entladen. Mein Problem ist das ich die Abtastzeit erhöht habe, um mehr Werte aufzunehmen. Und jetzt reicht der Pufferspeicher nicht mehr aus. Ich hab versucht über den Befehl inputbuffersize zu erhöhen. Hat aber nicht funktioniert.

Hab ihr eine Idee wie man den Pufferspeicher noch erhöhen kann?


Code:
zelle=input(Zelle: ','s');
datei=['C:\Batterie_' zelle '_Entladen'];

%----------------------Wertdefinition-------------------------------------
%-------------------------------------------------------------------------

USchluss=2.8;   %Entladeschlussspannung
IEnt=27;           %Entladestrom

%----------------------Open serial interfaces-----------------------------
%-------------------------------------------------------------------------

last=serial('com1','BaudRate', 9600, 'Terminator','LF','parity','none');    %definiert interface com1=Last

last.inputbuffersize=4000;
fopen(last)

fprintf(last, '*IDN?');             %Geräteidentifikation Last
typ2 = fscanf(last, '%s');       %Antwort einlesen

%----------------------Program Code discharge-----------------------------
%-------------------------------------------------------------------------

n=1;                                             %Laufvariable

I2=['CURR ' num2str(IEnt) ';INP ON'];
fprintf(last, I2);                              %Strom an (Entladestrom)!!!!
pause(3)

start=clock;                                    %Zeiterfassung zu Beginn der Entladung

while messung(n,1) > USchluss        %Entladeschlussspannung
    n=n+1;
   
    tic                                               %Stoppuhr starten

    fprintf(last, 'MEAS:VOLT?');            %Spannungsmessbefehl für PL1506
    puffer2=str2double(fscanf(last));    %string-to-Puffer2
    messung(n,1)=puffer2                  
   
    fprintf(last, 'MEAS:CURR?');                  %Strommessbefehl für PL1506
    messung(n,2)=str2double(fscanf(last))   %string-to-Messvektor
   
    t=toc;                                  %Abtastzeit einlesen t=Zeit toc-tic
     
    pause(3-t)                            %(Abtastzeit)
       
end

fclose(last);
clear y;
clear Fs;
save(datei);


[EDITED, Jan, Bitte Code-Umgebung benutzen - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.06.2013, 14:04     Titel: Re: Erhöhung des Pufferspeichers
  Antworten mit Zitat      
Hallo Sittich,

Bitte erkläre nochmal genau, was dies bedeutet:
Zitat:
Und jetzt reicht der Pufferspeicher nicht mehr aus. Ich hab versucht über den Befehl inputbuffersize zu erhöhen. Hat aber nicht funktioniert.

Was ist "der Pufferspeicher"? Was heißt "hat nicht funktioniert" explizit? Welche Fehlermeldung erscheint oder weicht das Ergebnis von deinen Erwartungen ab?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Sittich
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 21.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2013, 23:38     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich versuche es zu erklären. Ich hab leider den genauen Fehlercode nicht mehr. Das Programm was geschrieben wurde zeichnet die Messwerte der Batterie jede Sekunde auf und schreibt sie in eine Matrix. Jetzt habe ich die Abtastzeit erhöht so das alle halbe Sekunde die Messwerte aufgenommen werden. Das Problem ist dass aufgrund der erhöhten Abtastzeit sich die Messwerte verdoppelt und das Programm irgenwann aufhöht die Messwerte in die Matrix zuschreiben. (buffer dimension limit is reached. bufferdimension=4094).

Jetzt habe versucht den insizebuffer zu erhöhen von 100 auf 4000 und hab den Test nochmal gefahren aber die Messwerte werden immer nur bis zu einer Zeileanzahl von 6500 aufgenommen und das Programm bricht wieder ab.
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 - 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.