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!
Hallo
ich möchte eine High- und Low-Limit Anzeige in meinem Graphen darstellen.
Ähnlich wie in dem Temperature System Demo.vi (siehe .jpg)
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?
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.
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:
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.
Vieleicht erkennst du gleich an was es liegen könnte.
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.
Abhilfe: Aktiviere im den EIgenschaften des Graphen die Cursoren 1 und 2, passe sie an Deine Bedürfnisse an und es sollte funktionieren.
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
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.
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
Nochmals vielen Dank du hast mir sehr geholfen.
' 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
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 ...
' 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.