10.08.2008, 20:52
Beitrag #1
|
SST.Wiggi
LVF-Neueinsteiger
Beiträge: 2
Registriert seit: Aug 2008
8.5
-
en
9418
Schweiz
|
Genereller Datenspeicher
Guten Tag allerseits,
mein LabVIEW Programm besteht aus mehreren Schleifen, die unabhängig voneinander verschiedene Sachen ausführen. Was ich jetzt haben müsste, ist ein genereller Speicher. Darunter stelle ich mir etwas vor, in das ich einige Strings und Booleans Speichern und dann wieder auslesen kann. Und zwar sollte das ganze dann von jeder dieser Schleifen machbar sein. Beispielsweise sind dann in diesem Speicher 10 Booleans und 5 Strings, je mit Werten gefüttert. Jetzt möchte ich, dass es möglich ist, in einer meiner Schleifen einer oder mehrere dieser Booleans oder Strings zu ändern um dann diese evtl. wieder in einer anderen Schleife weiterzuverwenden.
Ich stelle mir das ganze eigentlich wie eine MySQL Datenbank vor, in die ich mit PHP reinschreiben kann... Nur sollte das jetzt LabVIEW sein
Am besten wäre es wie bei einer Queue-Funktion. Mit einer Wire die ich durch alles durchziehen kann, irgendwo reinschreiben und am anderen Ort rauslesen kann. Nur sollte in dieser Wire immer der aktuelle Wert abrufbar sein und nicht wie eben bei dieser Funktion eine Schlange mit Elementen erstellt werden, die ich dann wieder herausnehme, es sollte halt immer der akuetlle Wert drin bleiben.
Hat jemand eine Idee wie man das am besten lösen könnte? Gibt es da evtl. schon eine Funktion dafür?
Greeez SST.Wiggi
|
|
|
10.08.2008, 21:53
Beitrag #2
|
|
|
10.08.2008, 22:28
(Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2008 23:16 von eg.)
Beitrag #3
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Genereller Datenspeicher
Mache dir ein Array aus Queue-Referenzen. Dieses Array wird jede Schleife bekommen und somit können beliebige Informationen von einer Schleife zur anderen gelangen. Das Problem bleibt dann noch wie man die Daten so verpackt, dass man auch unterschiedliche Datentypen und Informationen austauscht. Dazu gibt tes tolee Tipps und Tricks (Schlagworte: Package, Header)
P.S. habe vergessen zu sagen dass man pro Schleife eine Queue machen sollte. Die Auswahl der Zielschleife erfolgt über eine Enumeration und bei mehreren Zielschleifen sollte man eine For-Schleife verwenden.
|
|
|
11.08.2008, 07:15
Beitrag #4
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Genereller Datenspeicher
Hallo Eugen,
kannst Du da mal ein Bsp. machen?
Gruß Markus
' schrieb:Mache dir ein Array aus Queue-Referenzen. Dieses Array wird jede Schleife bekommen und somit können beliebige Informationen von einer Schleife zur anderen gelangen. Das Problem bleibt dann noch wie man die Daten so verpackt, dass man auch unterschiedliche Datentypen und Informationen austauscht. Dazu gibt tes tolee Tipps und Tricks (Schlagworte: Package, Header)
P.S. habe vergessen zu sagen dass man pro Schleife eine Queue machen sollte. Die Auswahl der Zielschleife erfolgt über eine Enumeration und bei mehreren Zielschleifen sollte man eine For-Schleife verwenden.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
11.08.2008, 09:19
(Dieser Beitrag wurde zuletzt bearbeitet: 11.08.2008 09:20 von eg.)
Beitrag #5
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Genereller Datenspeicher
' schrieb:Hallo Eugen,
kannst Du da mal ein Bsp. machen?
Gruß Markus
Also hier im Beispiel die Übertragung von verschiedenen Datentypen von einer Schleife zur anderen. Die Worte "type 1" und "type 2" dienen hier als Headers. Und Header zusammen mit Daten ist Package.
In diesem Beispiel habe ich zwar nur eine Queue, d.h. die Daten können nur von der oberen Schleife zur unteren übertragen werden, es ist aber sehr einfach die Funktionalität zu erweitern.
Main.vi (Größe: 17,99 KB / Downloads: 230)
|
|
|
11.08.2008, 09:35
Beitrag #6
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Genereller Datenspeicher
Danke. Und wie geht das mit den Referenzen? Was kann ich mir unter einer Queue-Referenz vorstellen?
Gruß Markus
' schrieb:Also hier im Beispiel die Übertragung von verschiedenen Datentypen von einer Schleife zur anderen. Die Worte "type 1" und "type 2" dienen hier als Headers. Und Header zusammen mit Daten ist Package.
In diesem Beispiel habe ich zwar nur eine Queue, d.h. die Daten können nur von der oberen Schleife zur unteren übertragen werden, es ist aber sehr einfach die Funktionalität zu erweitern.
[attachment=41250:Main.vi]
[attachment=41249:Package.png]
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
11.08.2008, 09:44
Beitrag #7
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Genereller Datenspeicher
' schrieb:Danke. Und wie geht das mit den Referenzen? Was kann ich mir unter einer Queue-Referenz vorstellen?
Gruß Markus
Referenz ist eine eindeutige Nummer der Queue, mehr nicht. Es ist ähnlich wie ihr Name.
Im Beispiel wird hauptsächlich gezeigt wie man unterschiedliche Informationen mit nur einer Queue übertragen kann. Es ist ähnlich als ob du eine String (oder Variant)-Variable machen würdest und die zu übertragenden Daten zuerst nach String umwandelst und dann beim Lesen der Variable wieder in den richtigen Datentyp umwandelst.
So wie ich verstanden habe wollte der Autor genau das tun, nur mit mehreren Schleifen und mehreren Richtungen.
|
|
|
11.08.2008, 10:25
Beitrag #8
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Genereller Datenspeicher
OK. Alles klar.
Gruß Markus
' schrieb:Referenz ist eine eindeutige Nummer der Queue, mehr nicht. Es ist ähnlich wie ihr Name.
Im Beispiel wird hauptsächlich gezeigt wie man unterschiedliche Informationen mit nur einer Queue übertragen kann. Es ist ähnlich als ob du eine String (oder Variant)-Variable machen würdest und die zu übertragenden Daten zuerst nach String umwandelst und dann beim Lesen der Variable wieder in den richtigen Datentyp umwandelst.
So wie ich verstanden habe wollte der Autor genau das tun, nur mit mehreren Schleifen und mehreren Richtungen.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
11.08.2008, 12:08
Beitrag #9
|
SST.Wiggi
LVF-Neueinsteiger
Beiträge: 2
Registriert seit: Aug 2008
8.5
-
en
9418
Schweiz
|
Genereller Datenspeicher
ihr habt mich so wie es scheint nicht wirklich verstanden, oder ich habe meine Frage falsch gestellt.
Jedenfalls ist mein Problem nicht das Daten von einer Schleife in die andere zu übertragen, sondern möchte ich einen Speicher, in den jede Schleife reinschreiben und rauslesen kann, und somit die Daten aktualisiert, oder einfach die aktuellsten aufrufen kann. Wichtig ist dabei, dass ich in diesem Speicher Booleans und Strings speichern kann und es möglich ist, nur einzelne dieser Booleans und Strings zu verändern.
Greez Wiggi
|
|
|
11.08.2008, 12:12
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Genereller Datenspeicher
' schrieb:ihr habt mich so wie es scheint nicht wirklich verstanden, oder ich habe meine Frage falsch gestellt.
Jedenfalls ist mein Problem nicht das Daten von einer Schleife in die andere zu übertragen, sondern möchte ich einen Speicher, in den jede Schleife reinschreiben und rauslesen kann, und somit die Daten aktualisiert, oder einfach die aktuellsten aufrufen kann. Wichtig ist dabei, dass ich in diesem Speicher Booleans und Strings speichern kann und es möglich ist, nur einzelne dieser Booleans und Strings zu verändern.
Greez Wiggi
Siehe Post von IchSelbst, sein Vorschlag (Funktionale Globale Variable) passt hier am besten.
|
|
|
| |