LabVIEWForum.de - unterschiedliche anzahl am Signalverlaufsdiagramm

LabVIEWForum.de

Normale Version: unterschiedliche anzahl am Signalverlaufsdiagramm
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hy Zusammen,
irgend wie wollen die Probleme bei Labview nicht aufhören Ahrg1, ich möchte mehrere Plots im Signalverlausdiagramm darstellen. Dies funktioniert auch wenn ich die Daten vom NI-USB8451 (USB-SPI nur bischen langsam ca. 29ms Problem 2 ) erhalte, mit der Vorraus setzten das alle Sensoren (Spannung (stk. 2), Temperatur (stk. 1) und Druck (stk. 3)) immer an dem selben slaves angeschlossen ist bzw. das alle angeschlossen sind.

Das Vi konnte ich soweit schreiben, dass diese erkennt wieviel angschlossen und umrechnet auch die darstellung von einem Plot.
Die Darstellung ist nicht ok, weil wenn z.b.: bei 15 messungen und 2 Spannungssenoren geht der Signalverlaufsdiagramm (1 Plot) bis 30 (15messungen * 2 Sensoren) und nicht 15 (2 Plots).

Das Problem ist es soll die anzahl an Plots erzeugt werden wie Sensoren angeschlossen sind bzw. unabhängig der reihenfolge wie sie angschlossen sind. Könnt ihr mir tipps geben wie es um setztem kann.

Ich hoffe das Problem ist zu verstehen und nich nur in meinem Kopf Logsich Big Grin
MfG
exkluski
Hallo exkluski,

ist dir schon mal aufgefallen, dass man iA bessere Antworten und Tipps bekommt, wenn man sein VI präsentiert?

Deswegen etwas Glas1 :
Du hast dir nicht die Kontexthilfe zum Chart (aka "Signalverlaufsdiagramm") angeschaut. Dann wüsstest du nämlich, dass man ein 2D-Array anschließen kann, dessen Zeilenzahl der Anzahl der Plots/Sensoren entspricht...
Da VI anzuhängen habe ich leider vergessenBlush,
mit der hilfe habe ich mich auch schon auseinander gesetzt, die Daten kann kommt dann ins Passenden Array (Spannungs-array, Temperatur-Array und Druck-Array), aber wenn der drucksensor z.b. an CS0, CS3 und CS5 angschlossen. Das im Druck-Chart die Zeilen sich um eins erhört (Klappt) bis die maximale anzahl erreicht (Klappt nicht erzählt dann weiter) ist und wieder von anfang an zählt.

danke für die schnelle antwort.
Hallo exkluski,

Zitat:die Daten kann kommt dann ins Passenden Array (Spannungs-array, Temperatur-Array und Druck-Array), aber wenn der drucksensor z.b. an CS0, CS3 und CS5 angschlossen. Das im Druck-Chart die Zeilen sich um eins erhört (Klappt) bis die maximale anzahl erreicht (Klappt nicht erzählt dann weiter) ist und wieder von anfang an zählt.
Leider ist deine Erläuterung sehr schwer verständlich (Ich nehme an, Deutsch ist nicht deine Muttersprache)...
Dein VI ist es leider auch nicht!

Könntest du bitte:
- Aufräumen
- Unnötige Operationen (wie z.B. das Addieren von "0+1") entfernen
- vernünftige Array-Operationen verwenden (Autoindizierung bei Schleifen, IndexArray statt DeleteFromArray, etc.)
- dir dein Konzept des Speicherns in einer Tabelle überdenken (doppelte und dreifache Zugriffe auf PropertyNodes der Tabelle, um Werte dort einzutragen): Eine Tabelle ist ein 2D-Array of Strings, bitte auch so handhaben!
- lokale Variablen reduzieren, Settings in Cluster zusammenfassen, mehr Schieberegister nutzen
- nutze subVIs, um das MainVI aufzuräumen und übersichtlicher zu machen

Wenn es dir darum geht, die passenden Signale für deine Plots auszuwählen:
Du musst dir natürlich irgendwo merken, welcher Sensor an welchem Eingang angeschlossen ist. Anhand dieser Einstellung kannst du die Signal für die Plots zuordnen...
Mit der Muttersprache hast du recht.

Zitat:-Aufräumen
das weiss ich klar, nur das Problem ist, wenn etwas nicht klappt kann ich es schneller änderen.

Zitat:Unnötige Operationen (wie z.B. das Addieren von "0+1") entfernen
Meinst du, die beim Befühlen der Tabelle. Einige habe ich geändert die auf "1".

Zitat:vernünftige Array-Operationen verwenden (Autoindizierung bei Schleifen, IndexArray statt DeleteFromArray, etc.)
Autoindizierung bei Schleifen?? wie ist das gemeint?

Zitat:dir dein Konzept des Speicherns in einer Tabelle überdenken (doppelte und dreifache Zugriffe auf PropertyNodes der Tabelle, um Werte dort einzutragen): Eine Tabelle ist ein 2D-Array of Strings, bitte auch so handhaben!
Klar werde ich machen aber so klangs am anfang am Logischsten und "2D-Array of string, bitte auch so handhaben"??
meinst du es wegem dem arbeitsspeicher verbrauch?? Ich wollte die Einheiten Direkt mit in der Zelle haben, deshalb habe ich, mich für den string entschieden

Zitat:lokale Variablen reduzieren, Settings in Cluster zusammenfassen, mehr Schieberegister nutzen
wieso Schieberregister.

Die Zuortnung des Sensor wird noch von "Hand" gemacht (in register Suche). Dabei wird erkannt an welchem slave ein sensor angeschlossen wird und es wird der Typ durch Enum bestimmt und beide 1D-Array zu einem 2D-Array. Das Messergebniss wird in das passende Chart (Spannung-chart, Temperatur-chart und Druck-chart) zu geortnet. Der Knackpunkt ist wenn von einem Sensor mehrere vorhanden sind, sollen diese Einzelt dargestehlt werden und nicht zusammen.

Hoffe es ist besser verständlich als vorhin.

MfG
exkluski
Habe mir dein Rat mal zu Herzen genommen und das VI aufgeräumt.
manche sachen waren klar die hätte ich ändern sollen (Delete Array usw.)
Aber beim problem mit den Plots weiss ich leider trotzdem nicht weiter?

MfG
exkluski
Hallo exkluski,

du hast aufgeräumt? Echt? Und was ist das hier:
[attachment=40728]
- Eine Schleife, die nur einmal durchläuft und sich nichts merken muss, ist unnötiger Ballast!
- "Sensordaten": Eine PropertyNode, die nur den Zweck einer lokalen Variable erfüllt, ist unnötiger Ballast!
- "Sensordaten": Wenn man die Schleife weglassen würde, köönte man den Case darüber mit einbauen und würde gar keine lokale Variable brauchen...

- Du verwendest immer noch zu viele lokale Variablen (für meinen Geschmack). Du kansnt diese ganzen "Einstellungen" in einem (typdefinierten) Cluster zusammenfassen, der in einem Schieberegister gespeichert wird...
- Du fügst die Messwerte doch schon den Charts entsprechend dem Typ zu. Du musst das Konzept erweitern: jedem Sensor seinen eigenen Buffer (Schieberegister!), und dann die gesammelten Sensor-Werte entsprechenden Graphen (!) zuordnen...
- Es fehlen alle subVIs, um irgendwas genauer zu beurteilen.
Hi GerdW,

ok nicht überall ich wollte erstmal das Problem mit den Plots lösen. Dannach wollte ich alles aufräumen (Registerkarte Export sieht aus wie ein Schlachtfeld).
Klar ich weiss das einige sachen nicht so richitg sind wie z.B. die Schleife. Zur meiner Verteidigung muss ich sagen das es mein erstes programm ist und danke für die Ratschläge.

Ich fand das mit dem Variablen besser bzw. diese werden einmal am anfang gesetzt und konnen in anderen registerkarten weiter verabeitet werden. Weil ich nicht wieviele sensoren (1-6) Später angeschlossen werden.

ich habe eine Rar. mit angehangen
Habe es "hinbekommen", es sind zwar ,mehrere Plots (durch Array to Cluster) vorhanden (Sind auch nach Typen sortiert).
[attachment=40789]
Dazu habe ich aber noch 2 fragen.
Ist es sinnvoll die "3 neuen Array" (3 Typen) nach 0 zu durchsuchen und diese anschließend Löschen oder kann ich das durch Eigenschaftsknoten erledigen? (Randinfo 6 Sensoren sind ein 6-zeiliges Array, es sind zudem auch verschiede Sensoren Spannung, Temperatur und Druck. Weil ich diese nicht in einem Chart darstellen kann, habe ich diese sortiert und es entstanden 3 neue 6zeilige Array mit werten und 0).

MfG Kluski
Hallo exkluski,

ersten: es fehlen jede Menge subVIs...
zweitens: warum erzeugst du überhaupt erst die Nullen in den Arrays?

Tipp: Wenn du keine Default-Werte benötigst, solltest du diese bei Case-Strukturen auch nicht ausgeben lassen...
Seiten: 1 2
Referenz-URLs