LabVIEWForum.de
Abbruchbedingung while-Schleife führt zu Fehler - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Abbruchbedingung while-Schleife führt zu Fehler (/Thread-Abbruchbedingung-while-Schleife-fuehrt-zu-Fehler)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 10.02.2015 13:09

Zitat:Auf welchen Eingang hast du den Rechtsklick gemacht?
Diese Konstante ist eine DAQmx-Task-Konstante, aber keine DAQmx-Kanal-Konstante. Eine DAQmx-Task-Konstante würde ich immer an den Task-Anschluss anschließen…
Mit einer Taskkonstante "StromundSpannung" können wir nicht viel anfangen, da wir die zugehörige Konfiguration nicht kennen

Ich glaube das ist nicht mehr weiter wichtig, ich konnte die Kanäle wie du gesagt hast schon im SubVI richtig einstellen.

Damit der Fortschritt auch für Mitleser nachvollziehbar ist lade ich das Programm nochmal hoch - ich habe den ersten Kanal jetzt vom Rest abgetrennt und in einer extra Case-Struktur verarbeitet, so entsteht auch die gewünschte extra Textdatei.


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 10.02.2015 15:01

Um auf die Sache mit dem Buffer zurückzukommen: Ich weiß nicht was ich da anstellen soll. Mit Puffern allgemein habe ich keinerlei Erfahrung geschweige denn wie ich einen leeren anlege Bahn Blink


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 11.02.2015 13:21

So mittlerweile habe ich auch die Anforderung nach dem Minimum-/Maximum-Wert erfüllt. Mein einziges Problem stellt jetzt nur noch die Frage dar, wie ich die Spalten vernünftig formatiere, sodass in der Excel-Datei tatsächliche Spalten entstehen Blink Lässt sich das effektiver mit ActiveX gestalten oder mit Format-String? Ich habe bereits ein bisschen rumgespielt und die Funktion Array nach "Tabellen-String" ausprobiert, bin aber noch nicht so recht an ein Ziel gelangt.


RE: Abbruchbedingung while-Schleife führt zu Fehler - GerdW - 11.02.2015 13:23

Hallo Franzie,

Zitat: Ich habe bereits ein bisschen rumgespielt und die Funktion Array nach "Tabellen-String" ausprobiert, bin aber noch nicht so recht an ein Ziel gelangt.
Excel erwartet standardmäßig Tabs zwischen Werten und "Array nach Tabellenstring" verwendet standardmäßig Tabs.
Inwieweit bist du also noch nicht "so recht" am Ziel?


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 11.02.2015 13:47

Weil ich es nicht schaffe den String, der aus der Funktion Array nach Tabellen-String entsteht, in die Tabellenkalkulationsdatei zu schreiben :/ Ich habe bereits mit Rechtsklick ausgewählt, dass die Tabellenkalkulationsdatei den Typ automatisch erkennt, aber es entsteht eben ein String und die Senke soll ein Array sein -.-
Mein Chef meinte gerade, ich soll einfach eine .lvm-Datei erzeugen, die sich dann einfach per Drag&Drop in Excel einfügen lässt und fertig.

Ein größeres Problem stellt die Tabelle mit den Strömen dar - die Daten werden zeilenweise eingetragen, aber landen dann natürlich nicht automatisch bei den richtigen Spalten. Es soll ja der Mittelwert des jeweiligen Kanals auch an der zugehörigen Stelle unter der Beschriftung stehen, also in jeder dritten Spalte; der Maximal-Wert soll beim ersten Kanal an der 2., danach an jeder dritten Stelle kommen usw.


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 12.02.2015 13:32

Hallo zusammen,

ich möchte gern nochmal eine paar Fragen stellen und hoffe jemand kann mir helfen.

Das mit dem Transponieren verwirrt mich immer noch ziemlich. Das SRG wird ja initialisiert, dadurch wird eine Zeile mit Nullen erzeugt und an diese wird mein Array mit den Strom-Messwerten angehängt. Danach wird das zusammengefügte Array nochmal transponiert, sodass die erste Spalte mit Nullen voll ist. Was mich jetzt verwirrt ist, dass diese Spalte ja mit in die Berechnung des Mittelwertes einfließt und das Ergebnis so verfälscht?? Sollte ich nicht lieber die Zeile mit den Nullen an mein Messwert-Array anhängen und diese Zeile später im Case abschneiden indem ich vorne beim Case-Selektor auf 6001 Werte vergleiche und ab Spalte 6000 abschneide?


RE: Abbruchbedingung while-Schleife führt zu Fehler - GerdW - 12.02.2015 13:44

Hallo Franzie,

Zitat: Das SRG wird ja initialisiert, dadurch wird eine Zeile mit Nullen erzeugt
Genau hier liegt der Fehler!
Wieso initialisiert du überhaupt mit einem Array, welches eine Zeilen Nullen enthält? Das hatte ich anders gezeigt…

Nimm doch ein leeres Array!


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 12.02.2015 14:55

Danke!

Nächstes Problem: ich wollte meine Textdatei für die 60 Kanäle schon mal entsprechend beschriften, stoße jetzt aber an die Grenzen - der String-Array lässt sich nicht mehr weiter vergrößern :/ Wenn man das Programm mal öffent sieht man leichter was ich meine - ich wollte die Kanäle als Überschriften und drunter pro Spalte Mittelwert/Maximum/Minimum schreiben, aber so kriege ich nicht mal 30 Kanäle beschriftet. Da ich sowieso nicht weiß, ob es überhaupt möglich ist, den Array nachher so zu formatieren dass alles in der Spalte landet wo es soll, wollte ich fragen: gibt es eine Möglichkeit, den String noch zu erweitern oder soll ich lieber drei einzelne Textdateien für Mittelwert/Maximum und Minimum erstellen? Damit würde ich mir das Leben vermutlich leichter machen und die Datei wäre auch übersichtlicher zu lesen, andererseits erfordert das aber wieder mehr Hirn und Verstand beim Eingeben der Namen für die Textdateien bevor das Programm startet.


RE: Abbruchbedingung while-Schleife führt zu Fehler - GerdW - 12.02.2015 15:19

Hallo Franzie,

du hast soeben den Rand des Universums entdeckt! Big Grin

LabVIEW-Menü -> Werkzeuge -> Profil -> VI-Metrik
In diesem Fenster dann die Angaben fürs Blockdiagramm aktivieren und schauen, wie breit dein Blockdiagramm ist. Diesen Wert dann mit der maximalen Breite von 16383 Pixeln vergleichen!

Deine Art zu programmieren führt schneller als du denkst zu kaputten VIs…

Tipp:
Wenn man ein 2D-Array erstellen will, welches aus einer Zeile mit bekannten Namen besteht und zu diesen Elementen jeweils 3 Spalten erzeugt werden sollen, dann lässt sich sowas doch prima mit einer Schleife erledigen! Mir wäre es echt zu blöd, 180 Spalten (60 Kanäle mit je Mean/Min/Max) eintippen zu müssen. Du dagegen wirst anscheinend nach benötigter Zeit oder der Größe des Blockdiagramms bezahlt… Smile


RE: Abbruchbedingung while-Schleife führt zu Fehler - toxicomanie - 12.02.2015 15:32

Zitat:LabVIEW-Menü -> Werkzeuge -> Profil -> VI-Metrik
In diesem Fenster dann die Angaben fürs Blockdiagramm aktivieren und schauen, wie breit dein Blockdiagramm ist. Diesen Wert dann mit der maximalen Breite von 16383 Pixeln vergleichen!

Bei der Diagramm-Breite steht nur ein Strich drin o.O Bedeutet das jetzt dass es zu breit ist oder dass ich noch Platz habe?

[/quote]Tipp:
Wenn man ein 2D-Array erstellen will, welches aus einer Zeile mit bekannten Namen besteht und zu diesen Elementen jeweils 2 Spalten erzeugt werden sollen, dann lässt sich sowas doch prima mit einer Schleife erledigen! Mir wäre es echt zu blöd, 180 Spalten (60 Kanäle mit je Mean/Min/Max) eintippen zu müssen. Du dagegen wirst anscheinend nach benötigter Zeit oder der Größe des Blockdiagramms bezahlt… Smile
[/quote]

Das Problem ist, dass der Name eben nicht "bekannt" ist - In der ersten Zeile muss ich ja die Kanäle bzw. Klemme bezeichnen und das verläuft leider nach keinem Schema, weil dazwischen immer mal wieder GND oder Sense als Klemmen kommen :/ Über eine schnellere Lösung wäre ich auch froh aber ich brauche sowieso schon viel zu lang für das ganze Programm -.- Ich glaube außerdem dass ich länger dafür brauchen würde das mit der Schleife hinzubekommen. Sad Langsam verzweifel ich wirklich an diesem Scheißdreck