INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Liste der vorhandenen Variablen sortieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

03.08.2006, 13:34
Beitrag #11

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
Liste der vorhandenen Variablen sortieren
Hallo Bernd1,

ich hab mir Dein abgespecktes Beispiel mal näher angeschaut.

Damit wirst Du noch mehr Probleme kriegen:
- die Logik Deiner STOP buttons ist ziemlich kompliziert. Es ist nicht leicht, das Programm anzuhalten
- die 'elapsed time' Express-VI verhält sich nicht so, wie man naiverweise denken würde. Probiers aus. (Jetzt spiel ich mal Betreuer: lass die Finger generell von Express-VIs. Sie gaukeln Dir Einfachheit vor, wo keine ist.)
- schwerwiegendstes Problem: Synchronisation! Deine obere loop (die Daten'senke'Wink kriegt nur einen kleinen Bruchteil der Messdaten mit, da in dem Beispiel die Messloop irrsinnig schnell läuft, die Auswerteloop aber nur einmal pro msec.

Das Synchronisationsproblem wirst Du immer haben, wenn Du locals ohne weitere Vorkehrungen benutzt, selbst wenn Deine Prüfloop in Wirklichkeit viel langsamer läuft. Queues vermeiden genau das: alles was man vorne in die Q reinschiebt, holt sich die Datensenke hinten wieder raus.

Kann natürlich sein, dass es bei Deinem Messproblem egal ist, wenn einige Messwerte verloren gehen. Kann auch sein, dass Dein Betreuer das so will. Dann brauchst Du natürlich keine Synchronisation.

Ich habe jedenfalls mal eine primitive Q-lösung (nach dem Q Multiplexer.VI aus dem examples Verzeichnis) in Dein Beispiel hineingebastelt. Ist ohne jegliche Fehlerprüfung, zeigt aber hoffentlich das Prinzip (und kommt natürlich ohne locals für die Messwerte aus):


Sonstige .vi  BSP_Programm_1.vi (Größe: 113,83 KB / Downloads: 207)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.08.2006, 15:48
Beitrag #12

bernd1 Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

8.0 deutsch
2006
kA


Deutschland
Liste der vorhandenen Variablen sortieren
' schrieb:Finde ich auch komisch, dass sich dein Betreuer gegen Cluster und Event Strukturen ausspricht.


<div align="left">
Cést la vie!

Gruß
Bernd
</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.08.2006, 16:16
Beitrag #13

bernd1 Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

8.0 deutsch
2006
kA


Deutschland
Liste der vorhandenen Variablen sortieren
' schrieb:Hallo Bernd1,

ich hab mir Dein abgespecktes Beispiel mal näher angeschaut.

Damit wirst Du noch mehr Probleme kriegen:
- die Logik Deiner STOP buttons ist ziemlich kompliziert. Es ist nicht leicht, das Programm anzuhalten
- die 'elapsed time' Express-VI verhält sich nicht so, wie man naiverweise denken würde. Probiers aus. (Jetzt spiel ich mal Betreuer: lass die Finger generell von Express-VIs. Sie gaukeln Dir Einfachheit vor, wo keine ist.)
- schwerwiegendstes Problem: Synchronisation! Deine obere loop (die Daten'senke'Wink kriegt nur einen kleinen
Bruchteil der Messdaten mit, da in dem Beispiel die Messloop irrsinnig schnell läuft, die Auswerteloop aber nur einmal pro msec.

Das Synchronisationsproblem wirst Du immer haben, wenn Du locals ohne weitere Vorkehrungen benutzt, selbst wenn Deine Prüfloop in Wirklichkeit viel langsamer läuft. Queues vermeiden genau das: alles was man vorne in die Q reinschiebt, holt sich die Datensenke hinten wieder raus.

Kann natürlich sein, dass es bei Deinem Messproblem egal ist, wenn einige Messwerte verloren gehen. Kann auch sein, dass Dein Betreuer das so will. Dann brauchst Du natürlich keine Synchronisation.

Ich habe jedenfalls mal eine primitive Q-lösung (nach dem Q Multiplexer.VI aus dem examples Verzeichnis) in Dein Beispiel hineingebastelt. Ist ohne jegliche Fehlerprüfung, zeigt aber hoffentlich das Prinzip (und kommt natürlich ohne locals für die Messwerte aus):

[attachment=28739:attachment]
<div align="left">
Hallo Franz,

nochmals vielen Dank für die vielen Hilfen.

Ich sehe da kommt wohl noch einiges auf mich zu.
Express-Vis benutze ich zum Glück nicht (mein Fehler-hätte ich von Anfang an sagen sollen) -finde die Dinger überflüssig- .

Mit der Syncronisation muß ich nochmal schauen. Scheint etwas größeres zu sein.

Ich weiß, daß es mit den Stop-Button ein Problem gibt.
Aber ich weiß leider keine Möglichkeit, wie ich den Status eines Buttons an eine andere Schleife übergeben kann, wenn der Knopf im "Latch-Modus" ist.

Schaue mir mal alles in Ruhe an, und frage meinen Betreuer.
Melde mcih gebenfalls nochmal hier oder unter einem neuen Thema ( falls es noch keine Lösungen dazu gibt).

Ich wünsche bis dahin erstmal eine schöne Woche.

Gruß
Bernd
</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.08.2006, 16:48
Beitrag #14

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
Liste der vorhandenen Variablen sortieren
Hab das Beispiel nochmal nachgefeilt, läuft jetzt ganz gut.

Liefert eine Lösung (fast) ohne lokale Vars.
Durch Q Verwendung gibt es keine Datenverluste. Queues haben noch einen anderen schönen Nebeneffekt: Eine Q wird ja immer in mehreren Schleifen genutzt (das ist sozusagen ihr Daseinszweck), und dass kann man ausnutzen um von einer (Master)Schleife die anderen (Slave)Schleifen anzuhalten: Wenn der Master fertig ist, 'tötet' er die Q, und die Slaves (die natürlich Q Fehler abfragen müssen) wissen dann, dass auch für sie Feierabend ist. Ist 'ne ganz normale Technik, um abhängige Schleifen zu beenden, und im mitgelieferten Beispiel demonstriert.

Viel Spass noch bei der Diplomarbeit!


Sonstige .vi  BSP_Programm_1.vi (Größe: 64,97 KB / Downloads: 200)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2006, 09:41 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2006 09:46 von ahlers01.)
Beitrag #15

ahlers01 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 143
Registriert seit: Feb 2005

7.1-2011
1993
DE_EN

38116
Deutschland
Liste der vorhandenen Variablen sortieren
So, hab Dir mal eine eingermaßen professionelle Version geschrieben (Cluster-Tabu hin oder her):



Sonstige .zip  Riesig.zip (Größe: 76,44 KB / Downloads: 209)



unterschied zu vorher:
- nur noch eine Q ('One Q to rule them all'Wink
- klarere Struktur der Eingabe/Mess-Schleife
- nur noch eine (pro Schleife) unvermeidliche local
- einigermaßen konsequente Modularisierung mit subVIs
- Diagramm passt auf eine Seite (zumindest bei nur zwei loops)

Schau mal, ob man durchsteigt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  1D-Array sortieren Fuchs 6 3.219 09.03.2021 16:27
Letzter Beitrag: Fuchs
  Spektren mit For-Schleife sortieren und in Array schreiben Daniel100 2 3.409 03.09.2016 08:25
Letzter Beitrag: Lucki
  Messdaten in 3D Array speichern und sortieren andrepf 8 6.731 08.04.2016 10:12
Letzter Beitrag: jg
  Liste mit bereits installierten Updates skyph 2 3.088 11.02.2016 10:08
Letzter Beitrag: skyph
  Array Sortieren aw 4 3.855 10.03.2015 14:22
Letzter Beitrag: aw
  2D Array sortieren machfax 12 11.541 06.02.2014 19:33
Letzter Beitrag: Trinitatis

Gehe zu: