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!
Erstmal aller aller besten dank für deine Mühen und nocheinmal Schuldigung, ich bin halt frisch dabei und versuche alles zu probieren was nicht immer klappt wenn man das nur nebenbei macht! Sorry
Eine einfache möglich keit das Array zu LÖSCHEN (RESET??)
Danke und bis morgen muss leider weg! Sorry
Mitch
Anzeige
20.11.2007, 08:46 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 12:34 von jg.)
Ok, ist ja gut;)Hatte nur gestern etwas Ärger, weil ich die gleiche Frage sinnloserweise dreimal stellen musste. Aber heute ist der Ärger wieder weg
Siehe Anhang, habe eine Funktion zum Löschen eingebaut. Wenn du nach dem Löschen gleich das leere Diagramm anzeigen willst, musst du das eben in den Löschen-Case noch mit einbauen...
Habe gerade mal versucht das nachzuvollziehen! Für das Löschen des Array, baust du dir ein eigenes Array und schreibst dieses, dann in die 1D-Array Verbindung und mit dem Wer "#0 " werden alle werte überschrieben. RICHTIG?
Doch wenn ich dies während der Laufzeit löschen, will muss ich doch an den Graphen (Array) und da die Werte (#0) reinschreiben!?
Ich folgere daraus ich muss einen Neuen Case machen damit ich die Geschichte anwählen kann.
PS.: Ich verstehe dich! Und bin froh das du wieder :top1:bist!
Ich habe meine Gedanken in ein VI gepackt und schicke dir dies!! hehe
Was meinste!!!?
(VI LV 8.2)
20.11.2007, 11:33 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 12:35 von jg.)
Fast richtig. Das Problem an deinem VI war noch, dass nach dem Löschen bereits eine leere Waveform in dem Array vorhanden war und jede neue Messung daran wieder angehängt wurde. Damit fehlte jedesmal die erste (weiße) Kurve, die erste Kurve nach dem Löschen war dann rot. Wenn du das Build Array in den Messen1-Case verschiebst, klappt es besser. Siehe dazu meinen Anhang.
Das Löschen wird ganz einfach realisiert: Eien leere Waveform wird dem Graph übergeben. Diese habe ich erstellt, indem ich einfach einen Rechtsklick auf den Grapheingang gemacht habe und dann Create->Constant. Natürlich kann man auch per Invokeknoten den Graph auf Default zurücksetzen, aber wieso kompliziert, wenn's auch einfach geht. Das Array im Schieberegister muss sowieso gelöscht werden...
haut alles so hin wie es soll!
Nur so wie man ist, man gibt keine Ruhe. Ich habe versucht die CaseEnum-Struktur zu erweitern und das klappte auch ganz gut, nur habe ich jetzt das Proble, wenn ich die Schieberegister verbinde, steht in der Case-Struktur nur noch 0,1,2,3usw?
Wie kommt das und wie kann man das beheben?
Na das wär ja noch, wenn LV bei einem Update ungefragt die Case-Struktur erweitern würde...
Rechtsklick auf die Case-Struktur und einen der zahlreichen Optionen wählen: Duplizieren, Hinzufügen, Sortieren, ... Alles machbar. Den Case selber kannst du auch einfach ändern: Ein Klick in das obere Feld und du kannst neue bedingungen für diesen Case eintragen.
HEHE also ich weiß nicht ob wir uns wieder net verstehen.?
Ich habe ja die Case-Struktur und das Enum erweitert. Was auch funktionierte nach dem erneuten Anschluss des Enum's an das ?von der Case! Doch wenn ich dann noch das Schieberegister mit der While am ende verbinde, dann is nix mehr!
Ja, da haben wir tatsächlich schon wieder aneinander vorbeigeredet
Das ist in der Tat seltsam. Allerdings konnte ich es lösen, indem ich den Enum im Leerlauf-Case gelöscht und nochmal neu von einem anderen Enum kopiert und angeschlossen habe... Mmhh, ist mir noch nie passiert, aber jetzt geht's ja wieder...
' schrieb:Ja, da haben wir tatsächlich schon wieder aneinander vorbeigeredet
Das ist in der Tat seltsam. Allerdings konnte ich es lösen, indem ich den Enum im Leerlauf-Case gelöscht und nochmal neu von einem anderen Enum kopiert und angeschlossen habe... Mmhh, ist mir noch nie passiert, aber jetzt geht's ja wieder...
Das kommt daher, wenn unterschiedliche (aber fast gleiche) Enums verwendet werden! Du hast bestimmt irgendwo dein Enum erweitert...aber nicht als Typdefinition gespeichert und verwendet! Dann hast du irgendwo in nem Case das alte Enum nicht durch das neue ersetzt, und schon haben wir den Salat...er kennt zwar den Typ (Enum ist ja sowas ähnliches wie ne Zahl), aber er kann die Inhalte der zwei Enums nicht zuordnen!
Abhilfe: Erzeuge von deinem Enum eine (Strict)TypeDef... und baue diese überall ein. Wenn du dann an einer Stelle das Enum änderst (Open TypeDef), dann schlägt sich diese Änderung überall im Code durch und es funktioniert alles wieder! Zu beachten: Wenn nicht für jeden Wert des Enums ein Case in der Casestruktur erzeugt wird, muss einer der Cases als Default definiert werden, damit alle theoretisch möglichen Enum-Werte abgefangen werden können!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)