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 

Echtzeitanzeige Signalverlauf



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!

17.11.2015, 09:54
Beitrag #1

Twobobbels Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Sep 2015

2014
2015
kA



Echtzeitanzeige Signalverlauf
Hallo,

ich habe ein Problem mit der Darstellung von Signalen auf Graphen/Diagrammen. Ich bekomme in meinem Programm fortlaufend Signalwerte von meinem cRIO, die ich gerne in Echtzeit als Verlauf anzeigen würde. Diese Werte sollen als Y-Werte abgebildet werden. Auf der X-Achse sollen Minuten angezeigt werden, und zwar von 0 bis zum aktuellen Zeitpunkt der Messung.
In einem anderen Forumsbeitrag fand ich das unten angehängte VI. Die Signalwerte habe ich einfachheitshalber als Zufallsgenerator dargestellt. Funktioniert auch wunderbar bis 4,2 Minuten, dann verschiebt sich der Nullpunkt der X-Achse... liegt wohl an den 1024 Werten, die ein Diagramm zwischenspeichern kann (glaub ich mal gelesen zu haben).
Wie kann ich es aber machen, dass es mehr als 1024 Werte in ein Diagramm/Graph zeichnet?

Noch eine zweite Frage: Ist es möglich Anzeige- oder Bedienelemente auf dem Frontpanel zu kopieren, sodass dann beide Elemente des Frontpanels nur einem Element im Blockdiagramm zugeordnet sind. Will nämlich das gleiche Anzeigeelement in zwei unterschiedlichen Reitern darstellen...

Gruß Twobobbels


Angehängte Datei(en)
14.0 .vi  Graph.vi (Größe: 12 KB / Downloads: 211)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.11.2015, 09:58
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Echtzeitanzeige Signalverlauf

Akzeptierte Lösung

(17.11.2015 09:54 )Twobobbels schrieb:  Wie kann ich es aber machen, dass es mehr als 1024 Werte in ein Diagramm/Graph zeichnet?
Rechtsklick auf Chart im Frontpanel -> Chart History Length
(17.11.2015 09:54 )Twobobbels schrieb:  Noch eine zweite Frage: Ist es möglich Anzeige- oder Bedienelemente auf dem Frontpanel zu kopieren, sodass dann beide Elemente des Frontpanels nur einem Element im Blockdiagramm zugeordnet sind. Will nämlich das gleiche Anzeigeelement in zwei unterschiedlichen Reitern darstellen...
Geht nicht.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.11.2015, 20:12
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Echtzeitanzeige Signalverlauf
(17.11.2015 09:54 )Twobobbels schrieb:  Ist es möglich Anzeige- oder Bedienelemente auf dem Frontpanel zu kopieren, sodass dann beide Elemente des Frontpanels nur einem Element im Blockdiagramm zugeordnet sind. Will nämlich das gleiche Anzeigeelement in zwei unterschiedlichen Reitern darstellen...
Was Du gemäß Satz 2 machen willst, geht, nur eben nicht so, wie Du dirs in Satz 1 vorstellst. Siehe hier
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.11.2015, 20:38
Beitrag #4

IchSelbst Online
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Echtzeitanzeige Signalverlauf
(17.11.2015 09:54 )Twobobbels schrieb:  Ist es möglich Anzeige- oder Bedienelemente auf dem Frontpanel zu kopieren, sodass dann beide Elemente des Frontpanels nur einem Element im Blockdiagramm zugeordnet sind. Will nämlich das gleiche Anzeigeelement in zwei unterschiedlichen Reitern darstellen...
Es gibt noch eine Möglichkeit.

Sinn und Zweck des Wunsches des Programmierers ist ja bestimmt, Drahtgeflechte auf dem Blockdiagramm zu minimieren. Ich verwende für solche Sachen immer FGVs.

Mit FGVs kann mal sowohl Daten als auch Frontpanelelemente geordnet zusammenfassen. Daten liegen, vergleichbar den privaten Variablen in textbasierten Sprachen, in (zugriffsgeschützten) Schieberegistern. In eben solche Schieberegister kann man auch die Frontpanelelemente legen - naja eigentlich deren Referenzen. Wenn ich nun auf ein einziges Frontpanelelement eine Ausgabe machen will, so schreibe ich die Daten nicht per Draht in das Frontpanelelement, sondern per Methode (Enumerator) und Variant-Daten in die FGV. Dort kommen sie in ein Schieberegister - und über die Referenzen in beliebig viele Anzeigeelemente. Also: Ein Aufwand im BD, zwei Anzeigen auf FP.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2015, 17:50
Beitrag #5

Twobobbels Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Sep 2015

2014
2015
kA



RE: Echtzeitanzeige Signalverlauf
Hallo,

erstes Problem ist ja inzwischen gelöst, habe aber noch eine weitere Frage.
Ich bekomme über FPGA ein Signal, das rauscht. Ist eigentlich kein Problem, aber auf dem Diagramm sieht das nicht so schön aus. Habe ein vereinfachtes VI mit angehängt, das mein Problem besser darstellt....
Wenn ich mein Signal bekomme, rauscht es. Erhöht sich das Signal (im Beispiel-VI mit Schieberegler), sieht man kurzzeitig die Darstellung des Rauschen nicht weil die Y-Achse höhere Intervalle hat. Jedoch wird durch die automatische Achsenanpassung wieder das Intervall kleiner gemacht sobald der Anstieg des Signals aus dem Diagrammbereich ist. Lösung wäre eine Einstellen des minimalen Intervalls in der Y-Achse durch Eigenschaftsknoten. Aber finde dazu nichts....

Glätten oder Filtern will ich das Signal aber nicht! Signal soll so bleiben wie es ist, nur die Darstellung soll geändert werden.

Hättet ihr noch andere Lösungen?

Gruß Twobobbels


Angehängte Datei(en)
14.0 .vi  Rauschen Diagramm.vi (Größe: 11,67 KB / Downloads: 192)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2015, 20:28
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Echtzeitanzeige Signalverlauf
Hallo Twobobbles,

Zitat:Lösung wäre eine Einstellen des minimalen Intervalls in der Y-Achse durch Eigenschaftsknoten. Aber finde dazu nichts....
Echt nicht? Es gibt doch PropertyNodes für die Y-Achsen-Einstellung!

Du musst nur eben selbst den Range der Y-Achse berechnen und einstellen - dann sollte als "Nebenprodukt" eben auch das minimale Intervall einstellbar sein…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.12.2015, 20:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.12.2015 20:50 von Twobobbels.)
Beitrag #7

Twobobbels Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Sep 2015

2014
2015
kA



RE: Echtzeitanzeige Signalverlauf
Hallo Gerd,

habe die PropertyNodes für die Y-Achsen-Einstellung auch gefunden, hab aber damit keine Lösung hinbekommen.
Wie meinst du das mit "Range der Y-Achse berechnen und einstellen"?

Gruß Twobobbels
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2015, 20:54
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Echtzeitanzeige Signalverlauf
Hallo Twobobbles,

Zitat:hab aber damit keine Lösung hinbekommen.
Was hast du denn bisher versucht?

Zitat:Wie meinst du das mit "Range der Y-Achse berechnen und einstellen"?
Ganz einfach: man berechnet ein zu seinen Plotdaten passendes Y-Min und Y-Max und stellt den Range der Y-Achse entsprechend ein.
Oder mit anderen Worten: man programmiert sich seinen eigenen AutoScale-Algorithmus!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2015, 21:15
Beitrag #9

Twobobbels Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Sep 2015

2014
2015
kA



RE: Echtzeitanzeige Signalverlauf
Weiß nicht mehr genau, war Anfang der Woche als ich herum probiert habe und hab gerade kein Labview zur Hand...
War glaube ich etwas mit Inkrement und kleinstes Inkrement. Maximum und Minimum habe ich gelassen, wollte ja die automtische Anpassung lassen und nicht feste Maxima und Minima im Diagramm haben.

(10.12.2015 20:54 )GerdW schrieb:  Ganz einfach: man berechnet ein zu seinen Plotdaten passendes Y-Min und Y-Max und stellt den Range der Y-Achse entsprechend ein.
Oder mit anderen Worten: man programmiert sich seinen eigenen AutoScale-Algorithmus!

Heißt, ich bestimme immer mein Y-Min und Y-Max? Geht soweit klar. Wie bekomme ich aber immer die gerade aktuellen Y-Min und Y-Max der letzten z.B. hundert Werte?

Gruß Twobobbels
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2015, 22:41 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2015 14:12 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Echtzeitanzeige Signalverlauf

Akzeptierte Lösung

Vieleicht meintest Du es etwa so: (aber sehr elegant ist das nicht)

14.0 .vi  Rauschen Diagramm-1.vi (Größe: 11,85 KB / Downloads: 207)

Edit: Man sollte in der zeitkritischen Haupschleife Eigenschaftsknoten nicht unnötig oft aufrufen. Nachfolgend eine kleine Verbesserung von obigem Programm.

14.0 .vi  Rauschen Diagramm-2.vi (Größe: 12,22 KB / Downloads: 214)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: