|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.09.2015, 20:35
Titel:
|
|
Es gibt leider nur das Dokument. Vielen Dank für die guten Ideen...
|
|
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 13:46
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 14:53
Titel:
|
|
|
|
|
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.
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 18:19
Titel:
|
|
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: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 18:21
Titel:
|
|
Welche Bedeutung haben tl und dr?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 18:22
Titel:
|
|
tl;dr = too long; didn't read
Oder auf Deutsch: kurz zusammengefasst
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 19:39
Titel:
|
|
Dann muss es in MATLAB zumindest möglich sein eine Abtastzeit vorzugeben?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 19:43
Titel:
|
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2015, 22:29
Titel:
|
|
super. Vielen Dank für die rasend schnelle Antwort.
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 17:31
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 18:37
Titel:
|
|
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...
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 19:43
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 20:52
Titel:
|
|
An der Stelle wäre es sehr hilfreich, wenn Du Deinen gesamten Code (evtl. vereinfacht, aber trotzdem ausführbar) hier postest.
|
|
|
JensMt |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 21:20
Titel:
|
|
Das ist mein timer:
Das ist meine Funktion:
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: ---
|
|
|
|
|
|
Verfasst am: 24.09.2015, 21:23
Titel:
|
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3, 4 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|