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!
22.10.2014, 12:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2014 12:51 von LabviewLearning.)
ich habe ein Problem und bitte Euch um einen Vorschlag.
Ich habe einen VI, in dem verschiedene Elemente (Bedien- und Anzeigeelemente) gibt. Diese Elemente können in einer Registerkarte oder nicht liegen.
Jetzt möchte ich durch Eigenschaftsknoten die Eigenschaft alle Elementen verändern. z.B. ich möchte den String bei der Datasocket-Verbindung umsetzen.
Mit Eigenschaftsknoten "Panel" und "Elemente" kann ich leider nur Eigenschaften für Elemente, die nicht in der Registerkarte liegen, verändern.
ich habe zwei Fragen:
1. Wie kann ich die Eigenschaftsknoten für die Elemente, die in einer Registerkarte liegen, verwenden?
2. Wie kann ich Eigenschaftsknoten von Frontpanel benutzen, damit ich wissen kann? Wieviele Registerkarte hat man in einem VI verwendet?
Ich bedanke mich für Eure Unterstützung.
Mit freundlichen Grüßen,
LabviewLearning
Anzeige
22.10.2014, 12:55 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2014 12:57 von GerdW.)
1. Property "Seiten" des Tab-Controls auslesen, gewünschte Seite indizieren, dann Property "Elemente auf der Seite" eben dieser Seite auslesen…
2. Property "Elemente[]" des FP auslesen, alle Elemente auf ihren Typ (ist eine Property…) hin untersuchen und mit den Registerkarten weiterarbeiten…
Diese Probleme hast du bei allen "Containern", d.h. auch bei Clustern und Panes…
Kannst du beim nächsten mal die Grafik besser zuschneiden?
Was Du meinst, hab ich auch hingekriegt. Quasi kann man durch Eigenschaftsknoten für Registerkarten verwenden.
Ich habe aber ein neues Problem, dass ich gar kein Kenntnis habe, welche Registerkarte in meinem Panel gibt. Kann sein, dass Registerkarte unsichtbar und Blockdiagramm sehr umfangreich ist. D.h. ich kann nich rein schauen und suchen, welche Registerkarten im Frontpanel liegen.
VOn daher ist es sinnvoll, dass man mit irgendwelcher Eigenschaftsknoten die Registerkarten automatisch suchen und finden, dann werden die Eigenschaften der Elemente verändert.
Ich hoffe, dass Du mein beschriebene Problem verstehen konntest.
Mit "Container" habe ich nicht verstanden. Kannst Du mir bitte nochmals erklären?
MfG
LV-Learning
P/s ich habe ein Beispiel im Forum gefunden und es ist ähnlich was ich gemacht habe.
ich habe ein Beispiel gerade gemacht, damit Ihr mein Problem besser verstehen könntet.
Ich möchte die String für DataSocket-Verbindung in drei verschiedenen Bedienelementen verändern. Diese Elemente liegen teilweise nicht in Tab-Control. In diesem Beispiel habe ich zwei Tab-Control verwendet. Einer davon ist unsichtbar.
Für die String-Änderung muss ich beide Variante wie in meinem VI zusammen verwenden.
Die Frage ist es, ob es eine Möglichkeit gibt, dass man die String-Änderungen auch für alle in Tab-Control liegenden Elemente ohne Anwendung von Tab-Control Property Node realisieren kann.
Ich hoffe, dass Ihr eine Idee für mich habt.
MfG
LV-Learning
22.10.2014, 15:27 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2014 15:27 von Trinitatis.)
ich kann zwar i.M. dein VI nicht öffnen, aber wenn du es schaffst, die Referenz zum Control rauszufisseln, egal, wo es sich befindet, dann kannst du doch auch über ein Sub-VI darauf zugreifen. Dieses VI interessiert dann nicht mehr, wo dein Control liegt, da du ihm seine Referenz übergibst.
Gruß, Marko
PS: VIs bitte immer ein paar Versionen runterspeichern - dan können mehrere LVFer drauf zugreifen.
in deinem VI verpasst du quasi jedem gefundenen Control-Element eine DS-URL. Evtl. solltest du vorher prüfen, ob das für das gerade referenzierte Element überhaupt sinnvoll ist? Oder willst du den Stopp-Button und die Finish-LED ebenfalls mit einer DS-URl verknüpfen?
Du kannst bei jedem Element das Label und den Typ abfragen!
Code:
IF aktuelles Element sinnvoll
THEN passe DS-URL an
Was soll die Referenz "Bereich Referenz" bedeuten?