Hallo Bernhart,
welche PropertyNode bemängelt denn die Referenz? Du hast immerhin zwei Ref-Anschlüsse an deinem subVI...
In welcher Iteration kommt der Fehler? Tritt das Problem in der ersten oder zweiten Iteration auf?
Kurzum: Hast du das schon mal per Debugging untersucht?
Tipp:
Wenn du Autoindizierung nutzt, musst du die Anzahl der Iteration nicht selbst vorgeben...
er hat bei beiden gemeckert.
jetzt hab ich die Objektreferenz des Signalverlaufsdiagrammes in die schleife gezogen.
und promt klappt es.
Danke nochmal für deine Tipps.
Aber das scharze Rechteck ist immer noch da.
Wenn ich mit der maus scrolle ist es kurz weg, aber kommt gleich wieder. auf der gleichen Position.
Sollte ich die Eingange ( SPS AI,...) auch noch in schleifen packen??
oder habt ihr eine andere idee??
Hallo Bernhart,
Zitat:Sollte ich die Eingange ( SPS AI,...) auch noch in schleifen packen??
Die ganzen Bedienelemente gehören in Arrays, gerne auch in Array of Cluster...
Am Beispiel "SPS Auswahlx": erstelle einen Cluster aus {SPS Auswahl, OG, UG, Einheit, AMS}. Den Cluster in ein Array mit 8 Elementen, dann hast du deine Eingabefelder für die 8 SPS-AI-Kanäle. Das gleiche Vorgehen bei den WirelessHART-Kanälen...
Dann rufst du das SPS-AI-VI in einer Schleife auf, an der du das Array of Cluster als Eingang hast und als Ausgang (nach der Schleife) je ein Array of Strings und ein Waveform-Array bekommst.
ich hoffe du meinst das so.
Jein, Gerd meint, Elemente gleich im Frontpanel zusammenfassen, z.B. zu einem Cluster, und dann vielleicht sogar zu einem Array of Cluster.
Und Index Array kannst du aufziehen:
[
attachment=46011]
Zwecks Fehler im FP, ich gehe davon aus, dass das durch dein unnötig häufiges Setzen von Eigenschaften des Graphen kommt.
Gruß, Jens
Ja, kann man so machen. Auf jeden Fall schon besser, als ALLE Controls einzeln zu haben.
Nächster Schritt: Einbau einer Eventstruktur, so dass du die Eigenschafts-Änderungen am Graphen nur bei Bedarf machst.
Weitere Tipp aus der Trickkiste, vielleicht funzt es:
Graph per PropertyNode "Visible" unsichtbar machen, wenn das Programm nicht auf der ersten Tab-Seite ist. Wechsel der Tabs erkennen? Da wären wir wieder bei Event-Struktur.
Gruß, Jens
Jo das will icgh als Nächstes.
Aber erstmal will ich alle Eingange in Arrays packen.
Jetzt hab ich ein Problem.
Bei der Auswahl meiner WHART Geräte mache ich eine Vorauswahl zwischen den Herstellern Siemens und Rosemount.
Als 2. mache ich eine Auswahl der jeweiligen Geräte der Hersteller.
Dabei habe ich 2 Enums im FP übereinander gelegt. das jeweile ausgewählte wird sichtbar.
Aber ich möche noch vielleicht später andere Hersteller hinzufügen können.
Wie kann ich das mit einem Array realisieren? oder gibt es eine bessere Programmiermöglichkeit als wie ich jetzt habe?
Hallo Bernhart,
Zitat:Bei der Auswahl meiner WHART Geräte mache ich eine Vorauswahl zwischen den Herstellern Siemens und Rosemount.
Als 2. mache ich eine Auswahl der jeweiligen Geräte der Hersteller.
Dabei habe ich 2 Enums im FP übereinander gelegt. das jeweile ausgewählte wird sichtbar.
Ich würde hier evtl. auf eine Listbox oder gar ein TreeControl zurückgreifen. Ein Ring würde auch funktionieren. Jedenfalls würde ich hier nicht mit 3 Enums hantieren, die auch noch teilweise ein-/ausgeblendet werden...
Einfachste Variante ist ein einziges (!) Enum, das alle Geräte enthält: jeweils als Eintrag "Hersteller - Gerätetyp"...
Zitat:Aber ich möche noch vielleicht später andere Hersteller hinzufügen können.
Das bleibt von dem Problem oben getrennt, da es egal ist, wie du später Daten hinzufügst: ob nun ein typdefiniertes Enum editiert wird oder ein Ring/Tree zur Laufzeit befüllt wird...
Zitat:Wie kann ich das mit einem Array realisieren? oder gibt es eine bessere Programmiermöglichkeit als wie ich jetzt habe?
Man kann die Datenpräsentation auf dem FP von der Datenspeicherung im VI trennen und z.B. eine hübschen Editor ("Assistenten") basteln, der den User beim Einstellen der Kanäle zur Hand geht. Intern werden die Daten dann in einem Array (of Cluster) gespeichert, auf dem FP kann der User z.B. immer nur einen Kanal in einer Listbox auswählen und dessen Parameter einstellen...
P.S.:
Werden wir bzw. das LabVIEW-Forum in deiner Diplomarbeit lobend erwähnt?