RE: Oszilloskop Auslesen und Motor zeitgleich starten
Das Beste wäre, wenn man das synchrone Starten hardwaremäßig machen könnte. Beipielsweise: Wenn es an der Motorsteuerung einen Boolschen Ausgang gibt, der den Start des Motors anzeigt, könnte man damit den Oszi triggern.
Wenn man es softwaremäßig macht, dann gibt es, wenn es sich um NI-Produkte handelt, hervorragende Möglichkeiten zur Synchroniation. Bei dir wird es womöglich nicht ideal funktionieren. Aber erst mal solltest Du es wenigstens ernsthaft versuchen, bis jetzt sehe ich da noch nichts.
Denn: Es nützt doch nichts, die beiden VI gleichzeitig zu starten. Bei beiden werden ja vor dem Start der jeweiligen Hardware irgendwelche Konfigurationen ausgeführt, die unterschiedlich lange dauern. Außerdem weiß man nicht, in welcher zeitlichen Ordnung das Ganze überhaupt ausgeführt wird. Z.B ist denkbar, daß zuerst nur das eine VI ausgeführt wird, und zwar so lange, bis es dort im Programmablauf zu einem Wait kommt. Diese Zeit wird dann dazu benutzt, das andere VI abzuarbeiten. Von einem synchronem Start kann da überhaupt keine Rede sein.
Es kommt darauf an, dass die eigentlichen Startaufrufe innerhalb der beiden VIs so gleichzeitig wie möglich gestartet werden. Welches die Startaufrufe sind, weiß ich nicht, und noch undurschsichtiger wird die Sache, weil sich die Startaufrufe bei Dir womöglich in Schleifen mit unterschiedlichen Umlaufzeiten befinden. Wie soll da Synchronisation überhaupt funktionieren können?
Prinzipiell müßte man es so machen:
Varante 1: Alles (A und B) in einem VI
Man bräuchte eine Sequenz mit 3 Rahmen:
Rahemen 1: Code für Konfiguration A und B
Rahmen 2: Start A und B
Rahmen 3: Datenerfassung usw.
Man braucht nicht unbedingt Sequenzrahmen, die Reihenfolgs läßt sich auch mit dem Fehlerstrang manipulieren.
Variante 2: A und B in getrennten SubVIs
Mit den VIs "Rendezvous" kann man erreichen, das bestimmte Punkte in den beiden VIs gleichzeitig ausgeführt werden. Am besten das Beispiel studieren.
|