LabVIEWForum.de
Programmstruktur vereinfachen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Programmstruktur vereinfachen (/Thread-Programmstruktur-vereinfachen)

Seiten: 1 2 3 4


Programmstruktur vereinfachen - Burning_Man - 12.02.2010 08:15

Hallo,
ich will folgendes VI als Unterprogramm erstellen (eigentlich kein Problem).

[attachment=24385]

Es sollen insgesamt 16 Eingänge eingelesen werden und diese in den Unterprogramm als Datei gespeichert werden. In meinem Beispiel sind es bisher 3 Eingänge die mit Zufallszahlen versogrt werden.
Alle 16 Eingangssignale sollen in einem bestimmten Takt tabellarisch in eine Datei geschrieben werden. Meine Version funktionuiert zwar ist aber bestimtm serh umständlich realisiert.
Wie kann ich das ganze auf 16 Eingänge erweitern und den gleichzeitig noch den Überblick behalten?Rolleyes
Denn das Unterprogramm Symbol ist hinterher mit 16 Eingängen so voll dass man gar nicht mehr weiß ob man richtig angeschlossen hat. Gibt es eine Möglichkeit auch einen ganze Datenstrom mit nur einer Leitung einzulesen (so ähnlich wie bei der Signaldarstellung, da werden ja auch die einzelnen Signale intern aufgetrennt)

PS ich nutze LV 2009


Programmstruktur vereinfachen - Y-P - 12.02.2010 08:18

Mit was willst Du denn einlesen?

Gruß Markus


Programmstruktur vereinfachen - M Nussbaumer - 12.02.2010 08:27

' schrieb:Gibt es eine Möglichkeit auch einen ganze Datenstrom mit nur einer Leitung einzulesen (so ähnlich wie bei der Signaldarstellung, da werden ja auch die einzelnen Signale intern aufgetrennt)

PS ich nutze LV 2009

Ja! Dafür gibt es Cluster

Hier mal ein kleines Beispiel zu Clustern:

LabVIEW 8.5
[attachment=24387]


Programmstruktur vereinfachen - Burning_Man - 12.02.2010 08:35

Hallo,

ich möchte 16 Temperaturen einlesen bzw. mit dem Unterprgramm abspeichern.
Hier mein Hauptprogramm,
[attachment=24388]

wie man sieht spalte ich das Eingangsignal in 16 Einzelsignale auf und verarbeite die dann einzeln weiter.
Wenn ich jetzt nun alle 16 Signale einzeln in ein weiteres Unterprogramm eingeben muss, wird die Darstellung noch unübersichtlicher.
Deshalb wär es gut wenn ich das Gesamtsignal (vor dem Auftrennen in 16 Einzelne) euf einmal direkt in eine Tabelle speichern könnte.


Programmstruktur vereinfachen - Y-P - 12.02.2010 08:35

Wenn er aber eine Karte mit 2 Ports (seine 16 Eingänge) hat, dann kann er die auch per Array einlesen und dann indizieren. Darum wären mehr Infos seinerseits nicht schlecht. Glas2

Gruß Markus

' schrieb:Ja! Dafür gibt es Cluster

Hier mal ein kleines Beispiel zu Clustern:

LabVIEW 8.5
[attachment=52785:Cluster_Experiment.vi]



Programmstruktur vereinfachen - GerdW - 12.02.2010 08:37

Hi BurningMan,

wenn alle Eingänge vom gleichen Datentyp sind, würde sich natürlich ein Array anbieten. 16 Elemente in einem Array, nur ein subVI-Eingang...

Sind die Daten nicht vom gleichen Typ, kannst du auf einen Cluster ausweichen. Auch alle 16 Elemente reinpacken, wieder nur ein subVI-Eingang...


Programmstruktur vereinfachen - Y-P - 12.02.2010 08:41

Wie schon vermutet, kannst Du das Array doch direkt übergeben und entsprechend in Deinem SubVI indizieren.

Gruß Markus


Programmstruktur vereinfachen - Burning_Man - 12.02.2010 08:52

Hallo

erstmal Danke für eure zahlreichen und vor allem so schnellen Antworten.
Allerdings muss ich sagen dass ich absoluter LabVIEW Anfänger bin. ich kann zwar recht gut mit herkömmlichen Programmiersprachen (C++ etc.) umgehen aber eine grafische Programmierumgebung ist mir völlig neu. Ich weiss zwar was ich ich machen muss aber ich weiß nicht wie ich es in LabVIEW umsetzen kann. Alles was ich habe ist ein LabVIEW Handbuch und viel Geduld. Was ich bräuchte wäre ein LabVIEW Lehrgang oder jemand der es mir von Anfang an erklärt (auch die grundätzliche Bedienung), aber dafür ist kein Geld da. Sad

Deshalb bitte ich um etwas Nachsicht wenn ich nicht alles verstehe was ihr meintWink

Zu meiner Hardware: 1x NI cDAQ-9174 mit 1x NI9213 Modul. Also eine reine 16-Kanal Temperaturdatenerfassung.


Programmstruktur vereinfachen - GerdW - 12.02.2010 08:57

Hi BurningMan,

bei NI gibt's kostenlose Online-Kurse...


Programmstruktur vereinfachen - Burning_Man - 12.02.2010 09:17

Hallo,

also eure Vorschläge mit Cluster und Array klingt ja vernünftig aber ich will ja im Prinzip das Gegenteil. Ich möchte das gebündelte Signal in meinem HauptVI (siehe Bild) vor dem Aufspalten in Einzelsignale in mein SubVI weiterleiten. Wie kann ich aber dann in meinem SubVI bei das Eingangsignal aufspalten? Mein SubVI ist ja so aufgebaut dass jedes Einzelsignal in ein String formatiert wird und durch ein Tab getrennt wird, dann kommt nach einem Zeielnumbruch der nächste Messzyklus.
Ich dachte zuerst es geht mit "Cluster aufschlüsseln" innerhalb meines SubVI aber das scheint wegen verschiedener Datenformat nicht zu gehen.
Außerdem weiss ich nicht wie ich eine "gebündelten" Eingang in mein SubVI einbaue woran ich dann die daten des HauptVI eingeben kann