LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

critical error

Guten Morgen euch allen,

ich habe ein Problem.
Ich habe Programm, in dem ich ein VI erweitert habe, bei dem man - in Events - ein Gerät, einen Befehl und eine Tabelle auswählen kann.
Ich habe das VI so verändert dass die Tabelle nun als Tabelle und nicht als Tabellen-String ausgegeben wird.
Zusätzlich kann man Zellen der Tabelle doppelklicken und den Inhalt übernehmen oder in eine Untertabelle springen.
Dann Habe ich noch eine Knopf "LAST TABLE" hinzugefügt über den man wieder in die Obertabelle kommt, das habe ich mit lokalen Variablen gemacht.
Nun mein Problem:
man kann alle Funktionen die ganze Zeit über ausführen, außer das wechseln zwischen den Tabellen.
Man kann zwar immer aus der Obertabelle mit einem Doppelklick in die Untertabellen springen, wenn man aber den Knopf "LAST TABLE" betätigt, hängt sich das Programm auf.
Manchmal hängt es sich gleich beim ersten mal Knopf drücken auf, manchmal aber auch erst nach ein paar mal hin und her wechseln.
Man kann aber den selben Tabellenwechsel auch über das Ring-Element TABLE herbeiführen und da hängt sich das Programm auch auf, dauert nur länger.
Es liegt also nicht zwangsweise an dem Knopf-Event.
Ich habe einfach keine Idee woran das liegen könnte.
Es sieht zwar nach einem Speicherzugriffs- oder Speicherüberlaufsproblem aus, aber es könnte auch mit den .dll Dateien zu tun haben.
Ich weiss weder wieso oder was man dagegen tun könnte.
Wenn einer von euch eine Idee hat wäre ich froh.
Danke!

Anbei schicke ich einen Screenshot und meine Fehlerberichte, der 1. entsteht beim Wechsel der Tabellen, der 2. beim zwangsweise beenden des Programms.

MfG
Robert
Download All
0 Kudos
Message 1 of 7
(3,095 Views)

Hallo Robert,

es ist hilfreicher wenn du uns deinen Programmcode zeigst. Ist das möglich?

Mike

0 Kudos
Message 2 of 7
(3,093 Views)
Ich kann dir das VI schicken in dem der Fehler auftaucht.
0 Kudos
Message 3 of 7
(3,090 Views)
Hallo Robert,
ich kann dein VI nicht ausführen, da einige Subvi´s fehlen. Ich empfehle aber die lokalen Variablen zu minimieren, benutze stattdessen shift register auf der While Schleife.
Mike
0 Kudos
Message 4 of 7
(3,087 Views)
Ich bin zwar ein LabVIEW Leihe und benutze es erst seit april,
aber da die meisten lokalen Variablen in mehreren Events gebraucht werden,
bringen mir Shiftregister doch garnichts, oder?
Könnte aufgrund der Variablen denn der Puffer überlaufen?
0 Kudos
Message 5 of 7
(3,083 Views)

Hallo Robert,

da ich dein VI nicht original ausführen kann, kann ich dir auch nicht sagen woran es liegt. In shift registern kannst du deine Werte speichern und in allen events darauf zugreifen.

Mike

0 Kudos
Message 6 of 7
(3,067 Views)
Hi Maexle,

du benutzt mehrere "Variablen" in einer Art und Weise, wie sie der herkömmlichen textbasierten Programmierung entspricht: es wird ein verstecktes Control angelegt, nur damit man lokale Variablen zur Verfügung hat... Dies entspricht überhaupt nicht der LabView-typischen Programmierung - und genau hier kann man Shiftregister einsetzen!

Ich habe dein VI mal für die "Variable" SGDB (unschön, wenn zwei Controls gleichen Namens und unterschiedlichen Typs vorhanden sind; wäre auch in textbasierter Programmierung unschön...) umgearbeitet. Du findest jetzt ein Shiftregister, welches diesen Wert speichert. Auf gleiche Art kannst du deine ganzen anderen "Variablen" umarbeiten!
Bevor jetzt Protest kommt ("Das werden ja ~20 neue Shiftregister, und alle müssen in allen Eventcases verdrahtet werden!!!"):
- Man kann mehrere Werte zu Clustern zusammenfassen, das dann nötige Bundle/Unbundle am besten "by name" - man sieht sofort den "Variablen"-Namen.
- Man kann mehrere Eventcases zu einem zusammenfassen, z.B. die ganzen "mouse enter" events, mit denen nur die Statuszeile aufgefrischt wird... Das betreffende Control bekommt man über seine Referenz genannt.

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 7 of 7
(3,053 Views)