|
|
Zwei Messungen gleichzeitig durchführen |
|
mi-sta |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 18.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 09:45
Titel: Zwei Messungen gleichzeitig durchführen
|
 |
Hallo,
Ich habe da ein wahrscheinlich nicht all zu großes Problem, finde aber keine Lösung. Und zwar würde ich gerne mit Matlab zwei Messungen gleichzeitig durchführen, ich kriege das aber mit dem createParallelJob nicht hin. Die Messergebnisse liefert mir dabei eine Messkarte von NI. Wenn mir jemand ein Codebeispiel geben könnte, wäre mir sehr geholfen. Vielen Dank
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 09:55
Titel:
|
 |
Hallo,
solche Beispiele gibt es an sich in der Dokumentation.
Es wäre hilfreich, wenn du deine Probleme etwas genauer beschreiben kannst, am besten anhand von Code. Hast du denn mal ein einfacheres Beispiel versucht, ohne Anbindung an eine Messkarte, oder liegt genau darin das Problem?
Grüße,
Harald
|
|
|
mi-sta |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 18.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 10:08
Titel:
|
 |
Stimmt, in der Dokumentation steht das folgende Beispiel:
pjob = createParallelJob();
createTask(pjob, 'rand', 1, {3});
set(pjob,'MinimumNumberOfWorkers',3);
set(pjob,'MaximumNumberOfWorkers',3);
submit(pjob);
waitForState(pjob);
out = getAllOutputArguments(pjob);
Statt der Funktion 'rand' würde ich die Funktion
daqrecord('nidaq', 'Dev1', 1, 100, 1)
verwenden, leider klappt das aber nicht.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 10:15
Titel:
|
 |
Hallo,
wenn etwas nicht klappt, poste bitte immer die Fehlermeldung.
Das kann so auch nicht klappen: statt 'rand' solltest du nur den Funktionsnamen angeben (z.B. daqrecord). Statt 1 solltest du die Anzahl der Rückgabeargumente angeben, hier wohl 0. Statt {3} ein Cell Array mit deinen beim Funktionsaufruf benötigten Eingabeargumenten.
Grüße,
Harald
|
|
|
mi-sta |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 18.04.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 12:32
Titel:
|
 |
Danke, soweit habe ich es begriffen. Wie bekomme ich dann aber die Ergebnisse meiner Funktion?
pjob = createParallelJob();
createTask(pjob, 'daqrecord', 0, {'nidaq', 'Dev1', 1, 100, 1})
set(pjob,'MinimumNumberOfWorkers',2);
set(pjob,'MaximumNumberOfWorkers',2);
submit(pjob);
waitForState(pjob);
out = getAllOutputArguments(pjob)
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 12:53
Titel:
|
 |
Hallo,
sorry, aber ich kenne mich mit daqrecord nicht aus. Wenn du sagst, dass du den Aufruf
Zitat: |
daqrecord('nidaq', 'Dev1', 1, 100, 1) |
machen willst, dann kommen da keine Rückgabeargumente zurück. Wo dann deine Daten landen, weiß ich nicht.
Wenn du die Funktion doch mit Rückgabeargumenten aufrufen willst, musst du eben bei createTask statt 0 die gewünschte Anzahl Argumente angeben. Über getAllOutputArguments bekommst du dann die Ergebnisse.
Ich würde übrigens noch ein
anfügen, weil die Daten sonst weiter gespeichert bleiben.
Grüße,
Harald
|
|
|
Andy386 |

Forum-Guru
|
 |
Beiträge: 485
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.1/8
|
 |
|
|
 |
|
Verfasst am: 19.04.2013, 19:56
Titel:
|
 |
kann man davon ausgehen, dass es im sequentiellen Betrieb klappt? Poste mal den Code.
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
|
|
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 - 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.
|
|