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

Messzeit bestimmen

 

JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2015, 20:35     Titel:
  Antworten mit Zitat      
Es gibt leider nur das Dokument. Vielen Dank für die guten Ideen...


JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 13:46     Titel:
  Antworten mit Zitat      
Falls ich den internen Timer auf 2 sec stelle und dann für die erste Sekunde 10 Werte abhole, dann wird der Bus überlastet, sodass ich wieder eine falsche Zeit messe. Eigentlich müsste man doch pro Sekunde einen wert abholen und dann die dafür benötigte zeit messen ?
Der Ansatz mit dem Testsignal ist leider nicht möglich...
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 14:53     Titel:
  Antworten mit Zitat      
Bist Du wirklich sicher, dass es auf Mikrosekunden ankommt, wenn Du keine 10Hz Abtastung schaffst? Vielleicht solltest Du dann lieber auf ein Oszilloskop oder einen Transientenrekorder zurückgreifen, wenn Du so präzise Zeitverläufe protokollieren willst... Oder nochmal überlegen, ob Du die zeitliche Genauigkeit wirklich brauchst.

Du hast schlichtweg keine Ahnung, wann der Befehl "Nimm JETZT auf" wirklich elektrisch auf dem Kabel zwischen Rechner und Messgerät umgesetzt wird und ob die Zeit zwischen dem Aufruf des Matlab-Befehls und der elektrischen Umsetzung konstant ist (ist sie nicht - schon gar nicht im Mikrosekunden-Bereich).
Und außerdem hast Du keine Ahnung, wie lange das Messgerät braucht, um dieses elektrische Signal zu verarbeiten und die Messung durchzuführen und ob diese Zeit immer gleich ist.
Und dann hast Du auch noch keine Ahnung, wie lange die Verzögerung zwischen "Messwert wird elektrisch über die Verbindung Messgerät-PC" übertragen zu "Messwert ist in Matlab verfügbar" ist. Von dieser Verzögerung weißt Du auch nicht, ob sie immer gleich ist. Eher nicht, weil Windows kein Echtzeitbetriebssystem und Matlab kein Echtzeit-Messsystem ist.
Das heißt, Du hast drei unbekannte, sehr wahrscheinlich variable Verzögerungen, deren Summe Du messen kannst. Du weißt aber nicht, wie groß die einzelnen Verzögerungen sind und zu welchem Zeitpunkt die Messung tatsächlich gemacht wurde. Und Du hast für jede einzelne Messung aufs Neue keine Ahnung, weil sich ständig alle Zeiten ändern.

Geräte, mit denen man den Messzeitpunkt so präzise festlegen kann, haben in der Regel einen Trigger-Eingang. Wenn Geräte keinen Triggereingang haben, sind sie normalerweise auch nicht dazu gemacht, zeitlich so präzise zu messen.

tl;dr Du musst wohl leider einfach ein geeignetes Messgerät benutzen.
Private Nachricht senden Benutzer-Profile anzeigen
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 18:19     Titel:
  Antworten mit Zitat      
Vielen Dank für die nützlichen Infos.

Bei einer Abtastung mit 1 Hz liegt die gemessene Zeit bei 1,06 sec. So wie das aussieht ist die Messung im us Bereich gar nicht möglich. Für mehr Werte ist auch bei einer Abtastung von 1Hz jeder gemessene Wert den ich auf Matlab erhalte um 0,06 sec verzögert. Bei 10 Werten sind dies schon 600msec. Ob das Messgerät genau zur Abtastzeit den Wert erfasst kann man so nicht erfassen. Falls nein so taucht der 10 Werte tatsächlich erst nach 10,6 sec auf und nicht nach 10sec.
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 18:21     Titel:
  Antworten mit Zitat      
Welche Bedeutung haben tl und dr?
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 18:22     Titel:
  Antworten mit Zitat      
tl;dr = too long; didn't read

Oder auf Deutsch: kurz zusammengefasst
Private Nachricht senden Benutzer-Profile anzeigen
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 19:39     Titel:
  Antworten mit Zitat      
Dann muss es in MATLAB zumindest möglich sein eine Abtastzeit vorzugeben?
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 19:43     Titel:
  Antworten mit Zitat      
Ja, das geht. Matlab kann Timer. Siehe hier: http://de.mathworks.com/help/matlab.....-matlab-timer-object.html
Private Nachricht senden Benutzer-Profile anzeigen
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2015, 22:29     Titel:
  Antworten mit Zitat      
super. Vielen Dank für die rasend schnelle Antwort.
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 17:31     Titel:
  Antworten mit Zitat      
für die timerfcn habe ich eine Funktion, die im einfachsten Fall nach x iterrationen die Uhrzeit des pcs in einen Vektor schriebt. Bei start(t) sehe ich nach Ablauf der Zeit in meinem workspace keinen Vektor. Grundsätzlich kann man doch schrieben timerfcn = @myfunktion(). Ich finde momentan den Fehler nicht, warum meine Funktion nicht ausgeführt wird.
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 18:37     Titel:
  Antworten mit Zitat      
Hast Du in der Funktion einfach mal eine Ausgabe auf die Konsole gemacht? Zum Beispiel mit disp . Nur um sicher zu gehen, dass die Funktion wirklich nicht aufgerufen wird...
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 19:43     Titel:
  Antworten mit Zitat      
Selbstverständlich. Das habe ich schon probiert. Wenn ich aber in der Funktion zB eine Schleife definiere und die aktuelle Zeit immer erfasse bekomme ich den Vektor mit der Zeit nicht. Muss die timerfcn Parameter übergeben?
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 20:52     Titel:
  Antworten mit Zitat      
An der Stelle wäre es sehr hilfreich, wenn Du Deinen gesamten Code (evtl. vereinfacht, aber trotzdem ausführbar) hier postest.
Private Nachricht senden Benutzer-Profile anzeigen
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 21:20     Titel:
  Antworten mit Zitat      
Das ist mein timer:
Code:
t = timer( 'StartDelay',0, 'Period', 1, 'TasksToExecute', 10, 'ExecutionMode', 'fixedRate');

t.TimerFcn = @Test;
ttime = [];
start(t)


Das ist meine Funktion:
Code:
function Test()
tic;
zeit = [zeit; toc];

end


Fehlermeldung:
Error while evaluating TimerFcn for timer 'timer-10'

Undefined function or variable "ttime".
edit winkow: code umgebung eingefügt
 
JensMt

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2015, 21:23     Titel:
  Antworten mit Zitat      
Anbei der Code. Sorry...
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3, 4  Weiter

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.