Hallo ene,
Zitat:Alle 100ms wird ein 1D-Array mit Zufallszahlen erzeugt. Durch die While-Schleife passiert das kontinuierlich. Die for-Schleife
im Matlab Skript Knoten ist bei jedem Iterationsschritt um 1sec verzögert. Damit erhoffe ich mir, dass das Zufallsarray
am Eingang des Skript Knoten aktualisiert wurde und im nächsten Iterationsschritt eingelesen werden kann. Dies
geschieht 10 mal, sodass Matlab dann einen neuen Array ausgeben müsste, der 10 verschiedene Summen beinhaltet.
Problem: Der Input scheint immer der selbe zu sein. Daher habe ich 10 gleiche Zahlen.
Das scheint nicht nur, sondern dass ist so! THINK DATAFLOW!
Du erstellst ein Datenarray und verdrahtest dieses an den MATLAB-knoten. Dieser wiederum arbeitet ein Schleife 10mal ab, bevor er ein Ergebnis ausgibt. Wie soll LabVIEW in dieser Zeit die FOR-Loop erneut aufrufen, wenn die While-Loop drumherum noch keine neue Iteration starten konnte???
- Warum lässt du die Schleife im MATLAB nicht einfach weg?
- Um Daten in einer Schleife zu speichern, verwendet man Schieberegister...
- Kannst du diese simple Rechnung nicht direkt mit LabVIEW erledigen? Du berechnest die Summe der Elemente deines Datenarrays und weist diese dem Ausgangsarray zu - jedem Element den gleichen Wert. (Willst du das wirklich so haben?) Dein jetziges VI würde dann so aussehen:
Zitat:Die erste Schleife zum Produzieren des zu speichernden Signals läuft dabei völlig unabhängig.
Aber nicht in deinem VI. THINK DATAFLOW!
Zitat:Ich sorge nur dafür das die Matlab Schleife langsamer läuft, sodass ich sicher sein kann das ein neues Signal anliegt.
Auch das ist nicht richtig gedacht...
Insgesamt kann man nur den Tipp geben: THINK DATAFLOW!