LabVIEWForum.de
High- und Low-Limit Anzeige - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: High- und Low-Limit Anzeige (/Thread-High-und-Low-Limit-Anzeige)



High- und Low-Limit Anzeige - gregorX - 14.01.2007 13:08

Hallo
ich möchte eine High- und Low-Limit Anzeige in meinem Graphen darstellen.
Ähnlich wie in dem Temperature System Demo.vi (siehe .jpg)

[attachment=4636]

Leider habe ich es einfach noch nicht hinbekommen das es bei mir angezeigt wird.
Ich hoffe ihr könnt mir einen Tipp geben an was es liegen könnte, oder gibt es vieleicht eine elegantere Lösung einer Limit-Anzeige?

Mein .vi habe ich hier hinterlegt:

http://www.LabVIEWforum.de/index.php...ost&p=20740

Liebe Grüße
Gregor


High- und Low-Limit Anzeige - lynx - 14.01.2007 22:32

Hallo Gregor,

Die folgenden Zeilen haben nichts mit Deinem VI zu tun, da ich mir immer noch nicht LV 8.2 zugelegt habe. Statt dessen beschreibe ich mal ein Verfahren, das ich mal bei einer ähnlichen Aufgabe zusammen gebastelt habe.

Bei Graphen ist die eleganteste Methode zum Anzeigen von Limits, Cursoren zu verwenden. Hierfür aktivierst Du dir zwei Cursoren, die dann durch das Programm auf die Limits gesetzt werden. Vorteil: Kein großer Resourcenverbrauch, da nur zwei Cursors gesetzt werden nicht für jeden Datenpunkt zwei weitere Datenpunkte geschrieben werden müssen.
Wenn zusätzlich auch noch Überschreitungen in den Graphen markiert werden sollen, dann muss ein Limit-Test durchgeführt werden und alle Punkte, die die Limits nicht einhalten werden in extra Plots eingetragen, die sich dann farblich absetzen; da gibt es aber meines Wissens nach in der Beispiel-Reihe von LabVIEW ein nettes VI namens Limit Test.

gruß
lynx

EDIT: Limit-Anzeige angehängt


High- und Low-Limit Anzeige - gregorX - 15.01.2007 21:42

' schrieb:Hallo Gregor,

Die folgenden Zeilen haben nichts mit Deinem VI zu tun, da ich mir immer noch nicht LV 8.2 zugelegt habe. Statt dessen beschreibe ich mal ein Verfahren, das ich mal bei einer ähnlichen Aufgabe zusammen gebastelt habe.

Bei Graphen ist die eleganteste Methode zum Anzeigen von Limits, Cursoren zu verwenden. Hierfür aktivierst Du dir zwei Cursoren, die dann durch das Programm auf die Limits gesetzt werden. Vorteil: Kein großer Resourcenverbrauch, da nur zwei Cursors gesetzt werden nicht für jeden Datenpunkt zwei weitere Datenpunkte geschrieben werden müssen.
Wenn zusätzlich auch noch Überschreitungen in den Graphen markiert werden sollen, dann muss ein Limit-Test durchgeführt werden und alle Punkte, die die Limits nicht einhalten werden in extra Plots eingetragen, die sich dann farblich absetzen; da gibt es aber meines Wissens nach in der Beispiel-Reihe von LabVIEW ein nettes VI namens Limit Test.

gruß
lynx

EDIT: Limit-Anzeige angehängt


Hallo lynx,
danke schön dass du mir so schnell geantwortet hast.
Dein Beispiel ist genauso wie ich es mir vorgestellt habe, allerdings kommt bei mir folgende Fehlermeldung:

[attachment=4655]

und die Cursor werden auch nicht angezeigt.
Hängt das mit meiner Konstante zusammen?
Ich kann leider nur bis 8.0 zurückspeichern, habe dir trotzdem mal ein .jpg meines Blockdiagramms angehängt.

[attachment=4656]

Vieleicht erkennst du gleich an was es liegen könnte.

Danke und Gruß
Gregor


High- und Low-Limit Anzeige - lynx - 15.01.2007 22:45

Hallo Gregor,

dieses Verhalten könnte passieren, wenn Du bei dem Graphen die zwei benötigten Cursoren nicht aktiviert hast.
In meinem Beispiel habe ich die Cursoren direkt im Graphen eingeschaltet und passe sie dann nur noch an der Stelle an, an der ich sie brauche.
Wenn der Graph keine Cursoren eingetragen hat, lässt sich bei mir diese Fehlermeldung auch reproduzieren. Habe gerade in meinem VI den Cursor 1 vernichtet, nochmal los laufen lassen und siehe da: Fehler 1077 beim Schreiben der y-Position von Cursor 1.
Hätte ich vielleicht noch hineinschreiben sollen. Irgendwie denkt man dann immer nicht mehr dran. Rolleyes

Abhilfe: Aktiviere im den EIgenschaften des Graphen die Cursoren 1 und 2, passe sie an Deine Bedürfnisse an und es sollte funktionieren.


gruß
Lynx


High- und Low-Limit Anzeige - gregorX - 15.01.2007 22:54

Hallo lynx,
Super es funktioniert!
Die Fehlermeldung ist weg und die Cursor werden auch perfekt dargestellt.
Ich kann es mir jedoch nicht erklären an was es gelegen ist.
Nach dem ich im Frontpanel unter meinem Graphen >Sichtbare Objekte >Cursor-Legende< geöffnet habe hat es funktionier.
Ich bin mir aber nicht ganz sicher ob das der Grund gewesen ist.
Auf jedenfall funktioniert es jetzt Rolleyes

Herzlichen Dank
Gregor


High- und Low-Limit Anzeige - gregorX - 15.01.2007 22:58

' schrieb:Hallo Gregor,

dieses Verhalten könnte passieren, wenn Du bei dem Graphen die zwei benötigten Cursoren nicht aktiviert hast.
In meinem Beispiel habe ich die Cursoren direkt im Graphen eingeschaltet und passe sie dann nur noch an der Stelle an, an der ich sie brauche.
Wenn der Graph keine Cursoren eingetragen hat, lässt sich bei mir diese Fehlermeldung auch reproduzieren. Habe gerade in meinem VI den Cursor 1 vernichtet, nochmal los laufen lassen und siehe da: Fehler 1077 beim Schreiben der y-Position von Cursor 1.
Hätte ich vielleicht noch hineinschreiben sollen. Irgendwie denkt man dann immer nicht mehr dran. Rolleyes

Abhilfe: Aktiviere im den EIgenschaften des Graphen die Cursoren 1 und 2, passe sie an Deine Bedürfnisse an und es sollte funktionieren.
gruß
Lynx

Ich glaube das war nahezu Zeitgleich deine Lösung und mein Erkentnis Smile
Nochmals vielen Dank du hast mir sehr geholfen.

Gruß Gregor


High- und Low-Limit Anzeige - cb - 16.01.2007 07:25

' schrieb:Hallo lynx,
Super es funktioniert!
Die Fehlermeldung ist weg und die Cursor werden auch perfekt dargestellt.
Ich kann es mir jedoch nicht erklären an was es gelegen ist.
Nach dem ich im Frontpanel unter meinem Graphen >Sichtbare Objekte >Cursor-Legende< geöffnet habe hat es funktionier.
Ich bin mir aber nicht ganz sicher ob das der Grund gewesen ist.
Auf jedenfall funktioniert es jetzt Rolleyes

Herzlichen Dank
Gregor

wie lynx schon gesagt hat, es lag daran, dass der Graph noch nicht über die Cursors verfügt hat, die du per Property Node verändern wolltest. Durch das Einblenden der Cursor-Legende werden automatisch 2 Cursors erzeugt, die in dem Control dann "vorhanden" sind, somit funktioniert auch das setzen der Eigenschaft.

Um das zu demonstrieren kannst du ja mal versuchen einen 3. Cursor per Property zu verändern. Wenn der noch nicht da ist, wirst du wieder die gleiche Fehlermeldung bekommen.

Etwas ähnliches würde auch passieren, wenn du versuchst die Eigenschaften von einem Graphen zu verändern, der nicht in dem Control definiert ist. Das Control passt sich ja beim Verbinden des Drahtes weitgehend automatisch an, d.h. wenn du ein 1D Array of Cluster mit 5 Elementen anschließt, dann werden automatisch 5 Graphen für den XY-Graph (Waveform Graph, etc) definiert, usw ...


High- und Low-Limit Anzeige - gregorX - 16.01.2007 17:39

' schrieb:wie lynx schon gesagt hat, es lag daran, dass der Graph noch nicht über die Cursors verfügt hat, die du per Property Node verändern wolltest. Durch das Einblenden der Cursor-Legende werden automatisch 2 Cursors erzeugt, die in dem Control dann "vorhanden" sind, somit funktioniert auch das setzen der Eigenschaft.

Um das zu demonstrieren kannst du ja mal versuchen einen 3. Cursor per Property zu verändern. Wenn der noch nicht da ist, wirst du wieder die gleiche Fehlermeldung bekommen.

Etwas ähnliches würde auch passieren, wenn du versuchst die Eigenschaften von einem Graphen zu verändern, der nicht in dem Control definiert ist. Das Control passt sich ja beim Verbinden des Drahtes weitgehend automatisch an, d.h. wenn du ein 1D Array of Cluster mit 5 Elementen anschließt, dann werden automatisch 5 Graphen für den XY-Graph (Waveform Graph, etc) definiert, usw ...

Stimmt, habe es mit dem 3. Cursor versucht und wieder diese Fehlermeldung erhalten,.
So ergibt die Fehlermeldung für mich einen Sinn.

Danke Jungs!