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 

XControl - wie funktioniert das eigentlich



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!

08.03.2013, 18:56 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2013 18:57 von Hasenfuss.)
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



XControl - wie funktioniert das eigentlich
Hallo!

Ich möchte ein XControl erstellen, habe auch schon versucht, diverse Beispiele zu verstehen und auch was in meinem Lehrbuch dazu steht, komme aber grad nicht weiter. Darum stelle ich meine Frage hier rein, in der Hoffnung, dass mir von Euch vielleicht jemand weiterhelfen kann.

Im Fassaden-VI habe ich ein Statusfenster erstellt, dass vier boolsche Elemente enthält (siehe Bild).

In einem anderen VI werden Zustände durch Melder gesetzt. Ob der jeweilige Zustandswert true/false ist, soll dieses Statusfenster anzeigen.

Ich muss also jetzt in dem Blockdiagramm Melder anfordern und auslesen. Nun muss ich im Ereigniscase von Fassade-VI irgendwie auf die Wertänderung des Melders reagieren - aber wie?

Geht das überhaupt, dass ich mein Problem durch ein XControl löse? Dieses Status-Fenster brauche ich für mehrere Anwendungen, also wollte ich es mittels XControl erstellen, weil ich so dann die Möglichkeit habe, dieses Fenster in das Anwendungs-VI einzufügen.

Über eine Antwort von Euch würde ich mich sehr freuen.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2013, 12:00
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XControl - wie funktioniert das eigentlich
Hallo Hasenfuss,

Grundprinzip von XControls ist, dass sie spezielle Events verwenden und nur aktiv abgearbeitet werden, wenn man einen Wert ins Control schreibt (oder ausliest). Sie sind nicht geeignet, um ein subVI, das in einer eigenen Schleife auf irgendwelche Ereignisse wartet, zu ersetzen...

Eigentlich gibt es doch ein gutes Referenz-Beispiel von NI mit Kommentaren in jedem Blockdiagramm!?

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

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: XControl - wie funktioniert das eigentlich
Hallo GerdW,

herzlichen Dank für Deine Antwort.

Deine Antwort bedeutet jetzt also - nur mal als Verständnisbeispiel - wenn ich mir eine Uhr als XControl erstelle, dann arbeitet diese Uhr nicht "eigenständig", sondern ich muss in dem übergeordnetem VI eine Eigenschaft von Uhr aufrufen - z.B. Zeit setzen - und die Zeit dann dort heraus jede Sekunde neu setzen, damit das XControl aktiv wird und sich verändert?

Ok, und für mich bedeutet das also, dass ich für meine Anzeige auch Eigenschaften erstellen muss - schalte Lampe 1 an/aus ..., die ich dann auch aus dem HauptVI heraus aktualisiere?

Ich hab nochmal eine kleine andere Frage - wenn ich mit Meldern arbeite und die Funktion "Auf Melder warten..." verwende, dann wartet die Funktion ja so lange, bis ein Wert anliegt (wenn ich kein timeout gesetzt habe). Dazu muss ja diese Funktion selbst auch stets abfragen, ob ein Wert da ist oder nicht. Macht diese Funktion das durch Polling (so dass "viel" Rechenleistung dafür verwendet wird) oder auf Basis von Interrupts (bzw. ereignisgesteuert)?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.03.2013, 18:06
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XControl - wie funktioniert das eigentlich
Hallo Hasenfuss,

Zitat:ich muss in dem übergeordnetem VI eine Eigenschaft von Uhr aufrufen - z.B. Zeit setzen - und die Zeit dann dort heraus jede Sekunde neu setzen, damit das XControl aktiv wird und sich verändert?
Ein XControl ist erstmal nichts weiter als ein Control/Indicator. Wenn du einen Wert in der Anzeige ändern willst, musst du ihn auch entsprechend im MainVI verdrahten - egal ob "normaler" Indicator oder XControl. Du musst dazu keine "Eigenschaft" deines XControls aufrufen, sondern einfach einen Wert hineinschreiben.

Zitat:für mich bedeutet das also, dass ich für meine Anzeige auch Eigenschaften erstellen muss - schalte Lampe 1 an/aus ..., die ich dann auch aus dem HauptVI heraus aktualisiere?
XControls erlauben auch das Definieren von eigenen Properties und Methods. Damit könntest du entsprechend Werte setzen/auslesen, z.B. den Status einer LED. Du kannst den Datentyp deines XControls aber auch als Cluster definieren, um dann alle möglichen Werte "in einem Rutsch" setzen zu können... Hängt alles von deinen Anforderungen ab!

Zitat:wenn ich mit Meldern arbeite und die Funktion "Auf Melder warten..." verwende, dann wartet die Funktion ja so lange, bis ein Wert anliegt (wenn ich kein timeout gesetzt habe). ... Macht diese Funktion das durch Polling (so dass "viel" Rechenleistung dafür verwendet wird) oder auf Basis von Interrupts (bzw. ereignisgesteuert)?

Notifier arbeiten intern mit Events (glaube ich): sie erzeugen jedenfalls kaum Prozessorlast, wenn sie auf eine Meldung warten.
Sowas solltest du aber nicht in einem XControl verwenden: diese arbeiten Event-basiert. Und dort lautet die Grundregel: Events immer so schnell wie möglich abarbeiten! (Du würdest dir sonst mit dem XControl möglicherweise dein komplettes UI blockieren...)

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  exaktes Ausrichten von XControl-Fassaden Hasenfuss 2 3.285 19.10.2016 07:28
Letzter Beitrag: TSC
  Probleme mit XControl -> DisplayStateIn Hasenfuss 0 2.700 07.04.2016 09:28
Letzter Beitrag: Hasenfuss
  Wie XControl ausführen? Hasenfuss 2 3.406 29.06.2015 13:03
Letzter Beitrag: Hasenfuss
  XControl sendet keine Daten nach draußen Hasenfuss 4 4.375 06.04.2015 13:52
Letzter Beitrag: macmarvin
  XControl erstellen, Tabelle mit Spaltentitel über n Spalten dali4u 1 3.885 28.03.2015 15:09
Letzter Beitrag: GerdW
  Xcontrol: Übergabe Referenz an SubVI kwakz 2 3.936 07.08.2013 12:45
Letzter Beitrag: kwakz

Gehe zu: