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 

Dieses Thema hat akzeptierte Lösungen:

XY-Graph wie vereinfachbar?



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!

02.07.2024, 12:37
Beitrag #1

Minako Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Feb 2024

2023 Q3
-
EN


Deutschland
XY-Graph wie vereinfachbar?
Hallo,
ich habe ein Unterprogramm erstellt, welches bisher genau das macht was es soll.
Leider wird es riesig und ich habe keine Möglichkeit gefunden das zu vereinfachen.
Der Übersichtlichkeit halber habe ich es bei 5 Plots belassen. ich benötige deutlich mehr und hatte gehofft eine Schleifenvariante zu entdecken.
Leider blieb eine Lösung mir fern.

Alle bisher ausprobierten Varianten haben nicht so funktioniert wie diese hier.
Es ist so, dass ich eine messung laufen lasse, welche mir zwei Arrays rausschmeisst, mit welchen ich arbeiten muss.
Jeder einzelne Punkt ist ein Plot.
Platz eins des Arrays ist Plot eins und Platz zwei des Arrays Plot zwei.
So werden diese auch miteinander verrechnet.
Der Punkt soll angezeigt werden, bevor die nächste Messung startet.
Die nächste Messung soll an der richtigen Stelle eingefügt und verbunden werden.
In diesem VI funktioniert es.
19.0 .vi  Dia_Abs_Test.vi (Größe: 21,7 KB / Downloads: 54)

Dank eines Beitrages kann ich sogar alle Plots sichtbar machen, welche Werte enthalten, nachdem ich sie initial abgeschaltet hatte.

Ich bin von einer For-Schleife ausgegangen aber nichts klappt.

Hat jemand eine schnelle und einfache Lösung? Habe Version 2019 angehängt. Arbeite jedoch mit 2023 Q3.

Vielen Dank.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2024, 13:24
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo Minako,

hier mal ein Vorschlag:
   
(Und ein paar Vereinfachungen zu deinem Code…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2024, 14:32
Beitrag #3

Minako Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Feb 2024

2023 Q3
-
EN


Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo GerdW,

vielen Dank.
Leider kriege ich das gar nicht ans laufen. Vermutlich übersehe ich etwas.
23.0 .vi  XY-Graph-Test2_2019.vi (Größe: 19,56 KB / Downloads: 44)


Mit den Bestandteilen habe ich noch nicht gearbeitet und habe es mir mal durchgelesen. Das Prinzip verstehe ich jedoch geht es bei mir nicht.


Liebe Grüße Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2024, 14:33 (Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2024 14:36 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo Minako,

bitte wieder für LV2019 bereitstellen!

(Hatte ich vorhin vergessen: die Konstante am Schieberegister sollte für die gewünschte Anzahl Plots initialisiert werden, d.h. ein Array of 10 Elements, jedes Element ein Cluster of Array of Points…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2024, 14:46
Beitrag #5

Minako Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Feb 2024

2023 Q3
-
EN


Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo GerdW,


19.0 .vi  XY-Graph-Test2_2019.vi (Größe: 21,03 KB / Downloads: 37)
Hier nun doch die 2019er. Da hatte ich beim Speichern offensichtlich einen Fehler gemacht Blink

Zitat:(Hatte ich vorhin vergessen: die Konstante am Schieberegister sollte für die gewünschte Anzahl Plots initialisiert werden, d.h. ein Array of 10 Elements, jedes Element ein Cluster of Array of Points…)
Verstehe ich gerade nicht. Bahn
Es wird so sein, dass die Anzahl der gemessenen Werte Variabel ist. Es werden nicht immer 10 Werte gemessen. Es kann auch mal nur einer sein oder eben 33.


Liebe Grüße Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2024, 14:58
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo Minako,

Zitat:Es wird so sein, dass die Anzahl der gemessenen Werte Variabel ist. Es werden nicht immer 10 Werte gemessen. Es kann auch mal nur einer sein oder eben 33.
Und wenn es mehr als 41 Plots werden? Wie handhabst du das dann?

Prinzip:
   
Das InitArray ist allerdings nur sinnvoll, wenn du die Anzahl der Plots auf ein Maximum begrenzen wolltest. Dann brauchst du auch das Q&R innerhalb der FOR-Loop.

(Ansonsten würde sich die komplette FOR-Loop reduzieren auf das Erzeugen eines Plots pro Point, d.h. BuildArray und Bundle…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.07.2024, 08:05
Beitrag #7

Minako Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Feb 2024

2023 Q3
-
EN


Deutschland
RE: XY-Graph wie vereinfachbar?
Guten Morgen,

ich hab mir das mal angesehen und umgearbeitet.
Leider erfüllt es weiter nicht ganz die Funktion und ich kriege es nicht ergänzt mit den mir bekannten Mitteln.

Zum einen zieht der erste Kanal eine Linie zum Nullpunkt. Diese sollte nicht da sein. Wäre kein Drama, da ich in meinem Fall den ersten Kanal nicht verwende aber es ist ein Fehler.    

Die Punkte werden ordentlich wie gewünscht angezeigt. Sobald ich neue Werte eingebe und erneut auf Start drücke, werden diese wie vorher auch angezeigt. Leider werden die ersten Punkte gelöscht und nicht mit den zweite verbunden.    

Klingt nach Shiftregister und Build Array. Nur entsteht hier ein zweidimensionales Array, welches vom Shiftregister und dem XY-Graph nicht akzeptiert werden.
Mit Index Array geht es auch nicht. Da wirds nur hinten dran gehängt und es entstehen neue Plots.

Aktuelle Version:

19.0 .vi  XY-Graph-Test2_2019.vi (Größe: 20,21 KB / Downloads: 41)


Zitat:Das InitArray ist allerdings nur sinnvoll, wenn du die Anzahl der Plots auf ein Maximum begrenzen wolltest. Dann brauchst du auch das Q&R innerhalb der FOR-Loop.

(Ansonsten würde sich die komplette FOR-Loop reduzieren auf das Erzeugen eines Plots pro Point, d.h. BuildArray und Bundle…)

Es ist nice to know beides zu können. Aber so richtig kapier ich es nicht. ATM kann ich es begrenzen auf Grund der Hardware. Sollte sich diese mal ändern, wäre es besser eine grenzenlose Variante erstellen zu können. Diese grenzenlos erweiterbare Varianten sind eh einfacher zu handhaben.
Also das init Array, welches ich in deinem Bild sehe benötige ich in der grenzenlosen Variante gar nicht?
Was ist mit Q&R gemeint?

Steh da echt bissl (gern auch gewaltig) auf dem Schlauch....

Danke. Es wäre mega klasse, wenn das irgendwie machbar ist.. Die Arbeit, welche ich mir gerade mache mit der komplizierten Variante ist schon unschön. Undecided
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2024, 08:25 (Dieser Beitrag wurde zuletzt bearbeitet: 03.07.2024 08:32 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY-Graph wie vereinfachbar?
Hallo Minako,

Zitat:Zum einen zieht der erste Kanal eine Linie zum Nullpunkt. Diese sollte nicht da sein.
Du hast im Bild 6 Samples in deinen Arrays definiert, und du generierst 5 Plots daraus.
Das 6. Sample hat den Wert Null und wird wieder zum 1. Plot hinzugefügt…

Zitat:Sobald ich neue Werte eingebe und erneut auf Start drücke, werden diese wie vorher auch angezeigt. Leider werden die ersten Punkte gelöscht und nicht mit den zweite verbunden.
Die Werte aus den Eingabearrays schreibst du ein deinem Eventcase in die Schieberegister, aus deren Werten dann die Plots erzeugt werden.
Wenn du Punkte "ansammeln" willst, musst du die Samples auch sammeln: anscheinend fehlt da irgendwo ein BuildArray…

Zitat:Klingt nach Shiftregister und Build Array. Nur entsteht hier ein zweidimensionales Array, welches vom Shiftregister und dem XY-Graph nicht akzeptiert werden.
BuildArray bietet eine einzige Option, die auch in der LabVIEW-Hilfe erläutert wird. RTFM!

Zu deinem VI: Das TimeOut-Event ist unnötig…

Zitat:Mit Index Array geht es auch nicht. Da wirds nur hinten dran gehängt und es entstehen neue Plots.
Ich verstehe dein User-Interface auch nicht:
Du hast zwei Array-Controls, wo man irgendwelche Werte einträgt. Welche Bedeutung haben diese Werte?
Wie ist die gewünschte Reaktion deines Programms, wenn man die schon vorhandenen Array-Werte ändert?
Was soll passieren, wenn man weitere Werte/Elemente im Array hinzufügt?
Woran machst du fest, wieviele Plots erzeugt werden sollen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2024, 10:06
Beitrag #9

Minako Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Feb 2024

2023 Q3
-
EN


Deutschland
RE: XY-Graph wie vereinfachbar?
Hi,
das mit der übriggebliebenen Linie ist gelöst. Danke.
Timeout ist auch raus. Da muss ich auch noch schauen, wann überhaupt ich das mal brauche.

Zitat:Ich verstehe dein User-Interface auch nicht:
Du hast zwei Array-Controls, wo man irgendwelche Werte einträgt. Welche Bedeutung haben diese Werte?
Wie ist die gewünschte Reaktion deines Programms, wenn man die schon vorhandenen Array-Werte ändert?
Was soll passieren, wenn man weitere Werte/Elemente im Array hinzufügt?
Woran machst du fest, wieviele Plots erzeugt werden sollen?

Desshalb hatte ich in meinem ersten Post ein Programm angehängt, welches die Funktion erfüllt.

Die zwei Array-Controls werden in meinem Hauptprogramm gebildet. Diese greife ich an der entsprechenden Stelle ab, weil ich sie benötige um eine Rechnung durchführen zu können.
Ich versuche es noch mal so kurz es geht:
Es sollen Teile gemessen werden (beliebig viele. -> Anzahl der Plots)
Jedes Teil wird einmal gemessen bei jedem angegebenen Nennstrom.
Jede einzelne Messung erzeugt ein Array.
Das erste Array ist fix. Die Messung wird nur einmal durchgeführt und bildet eine Art Basis. (Array.O bleibt immer gleich)
Das zweite Array ändert sich bei jedem Durchlauf (Array.M ändert sich nach jedem Drücken von Start)
Diese beiden Arrays müssen jedes mal miteinander verrechnet und ein Punkt auf dem Grafen gebildet werden.
Da wir aber einen Verlauf sehen wollen müssen die Messungen den Teilen zugeordnet werden können.
So ist die Position 1 eines Arrays immer Teil 1 zuzuordnen und Position 2 immer Teil 2 usw..

Ich reisse also Array.M auseinander und mache zwei Sachen.
Zum Einen gebe ich den Wert in der benötigten Form an den Grafen und lasse den Punkt anzeigen.
Zum Anderen gebe ich den Wert an ein Shiftregister der äußersten Schleife weiter, damit ich beim nächsten Durchgang mit BuildArray den/die alten Wert/Werte mit dem neuen Wert verknüpfen kann.

Das habe ich bisher nur in der unschönen komplizierten, aufwendigen und riesigen Art geschafft und diese ist nicht während der Messung variabel.

Keine Ahnung, ob es jetzt verständlicher ist als vorher. ich hatte gehofft, dass das Hochladen des komplizierten Programmes die Funktion ausreichend erläutert.
Verzeih mir bitte meine Unbeholfenheit. Guru1
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2024, 12:14
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY-Graph wie vereinfachbar?

Akzeptierte Lösung

Hallo Minako,

Zitat:Ich versuche es noch mal so kurz es geht:
Ahh, jetzt, ja…

So vielleicht:
   
Du musst also die Punkte bei jedem "START" sammeln und alle gesammelten dann plotten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: