LabVIEWForum.de
Fehler bei Registerkarte - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Fehler bei Registerkarte (/Thread-Fehler-bei-Registerkarte)



Fehler bei Registerkarte - ARaj - 04.11.2015 13:56

Hallo Leute
Ich hab einen Schieberegister mit drei Seiten erstellt. Erste Seite ist Manuell zweite und dritte ist über Startknopf.
Mein Problem ist, wenn ich auf einer bestimmte Seite bin, dann läuft mein Programm gehe aber zu andere Seite dann passiert nichts.
Ich klicke Starttaste aber läuft nichts. Dann muss ich Stop betätigen und Programm erneut öffnen, dann läuft alles wieder bis ich auf andere Seite gehe.
Hoffe ihr könnt mich nachvollziehen.

EDIT jg:Thementitel korrigiert


RE: Fehler bei Schieberegister - jg - 04.11.2015 14:07

Das Problem dürfte daran liegen, dass du mehr als 1 Event-Struktur in deinem VI hast - und dabei teilweise sogar dasselbe Event in verschiedenen Event-Strukturen definiert hast.

Die LabVIEW-Programmiererfahrung besagt, dass man den Hinweis in Hilfe "Nur 1 Event-Struktur pro Loop" auf "Nur 1 Event-Struktur pro VI" verschärft, dann kommen solche Problem, die du jetzt hast, erst gar nicht zu Tage.

Gruß, Jens

EDIT: Du verstößt explizit gegen den Hinweis: "Ensure that Event structures can handle events whenever events occur."#

EDIT 2: Was hat das mit Schieberegister zu tun? Ich glaube, du meist eher die Registerkarte!?


RE: Fehler bei Schieberegister - ARaj - 04.11.2015 14:25

Hallo Jens
Danke für dein Antwort. Ich meinte Registerkarte nicht Schieberegister.
Könntest du mir eine Lösung sagen wie ich diese Fehler beheben kann?
Danke


RE: Fehler in Producer-Consumer-Struktur… - GerdW - 04.11.2015 14:25

Weitere Kommentare, die wir zum Teil schon in anderen Threads hatten:
- Warum hast du einen Timeout-Eventcase und parallel dazu eine weitere Wartezeit?
- Warum so viele lokale Variablen, z.T. die gleiche lokale Variable zweimal direkt nebeneinander? THINK DATAFLOW!
- Warum ist dein Vi so schrecklich unaufgeräumt? Es gibt ein eigenes Kapitel zum "Style Guide" in der LabVIEW-Hilfe!
- Warum gibt es einen "Stopp Arbeit"- und einen "Stopp Alles"-Button, wenn beide das gleiche bewirken (sollen)?
- Warum gibt es Select-Funktionen mit boolschen Konstanten an einem Input? Das sind alles Kandidaten für einfache boolsche Funktionen! (Rube-Goldberg lässt grüßen.)
- Warum gibt es Vergleichsfunktionen, die sich mit InRangeAndCoerce erledigen lassen? (Rube-Goldberg)
- Warum schiebst du ALLE Befehle am verkehrten Ende in die Queues?
- Warum liest du per "Queue State" die Befehle aus den Queues?
- ...
So viele Fragen… Hmm


RE: Fehler bei Schieberegister - jg - 04.11.2015 14:35

(04.11.2015 14:25 )ARaj schrieb:  Könntest du mir eine Lösung sagen wie ich diese Fehler beheben kann?
Hatte ich das nicht schon erwähnt? VI umbauen, so dass du nur 1 Eventstrukur verwendest!!!

Gruß, Jens


RE: Fehler bei Registerkarte - ARaj - 04.11.2015 14:42

Hallo Gerd
Vielen Dank für dein Antwort. Ich versuche deine Fragen zu beantworten.
- [Warum gibt es einen "Stopp Arbeit"- und einen "Stopp Alles"-Button, wenn beide das gleiche bewirken (sollen)?]
Ich wollte einen Hauptschalter haben mit dem man alles Stoppen kann und einen Schalter mit dem man einzelne Registerkarte Stoppen kann. Deshalb habe dort zeit Taste.

-[/Warum gibt es Select-Funktionen mit boolschen Konstanten an einem Input? Das sind alles Kandidaten für einfache boolsche Funktionen! (Rube-Goldberg lässt grüßen.)]
Ich wollte eigentlich, wenn ich mit einem Bearbeitung fertig bin soll der zweite Consumer laufen, aber das hat nicht funktioniert und ich hab vergessen es weg zu nehmen.

-[Warum schiebst du ALLE Befehle am verkehrten Ende in die Queues?
- Warum liest du per "Queue State" die Befehle aus den Queues?]
Leider verstehe ich nicht was du darunter meinst.

[/Warum ist dein Vi so schrecklich unaufgeräumt? Es gibt ein eigenes Kapitel zum "Style Guide" in der LabVIEW-Hilfe!]
Leider das ist mein erste Programm und mir Fehlt einfach das richtige such begriff. Aber danke für den Hinweis ich wird mir das durchlesen.


RE: Fehler bei Registerkarte - ARaj - 05.11.2015 11:46

Hi Jens und Gerd
Ich habe eure Vorschlag gefolgt und wollte fragen, ob jetzt mein Programm in Ordnung ist.

Vielen Dank


RE: Fehler bei Registerkarte - GerdW - 05.11.2015 11:57

Hallo ARaj,

Zitat:Ich habe eure Vorschlag gefolgt
Aha.
- dein VI verwendet immer noch ausschließlich "Enqueue at opposite end"…
- du fragst Queue-Einträge immer noch mit QueueStatus ab…
- du verwendest immer noch viel zu viele lokale Variablen…
- dein VI immer noch nicht "aufgeräumt": wenigstens gerade Drähte wären schön…
- dein VI ist mehrere FullHD-Bildschirme groß: wer soll da einen Überblick bekommen/behalten?

Aber wenn es für dich (fehlerfrei) funktioniert, wird es wohl "in Ordnung" sein…

Kannst du mir diesen Code-Abschnitt mal erläutern?
[attachment=54512]
Was soll das "To DDT" gefolgt von ArraySize"?
Warum das "To DDT" statt eines BuildArray???
Wozu eine FOR-Loop?
Wozu der Vergleich und die Case-Struktur?
Wozu die lokale Variable?
Tipp: MinMax-Funktion und ein Schieberegister…


RE: Fehler bei Registerkarte - ARaj - 05.11.2015 12:06

Vielen Dank Gerd. Danke für dein Tipp.