INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Case Ausführung - automatisch und einzeln



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!

16.07.2021, 12:09
Beitrag #1

ar7ur8 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jul 2021

2020
2019
DE



Case Ausführung - automatisch und einzeln
Hallo zusammen,

ich versuche einen Automatischen Messablauf zu realisieren und habe dies mit Hilfe von Array soweit hinbekommen. Nun möchte ich die einzelnen Cases, wie beispielsweise Impedanzmessung in den jeweiligen Reitern einmalig ausführen. Wie kann ich das realisieren, ohne das dazugehörige VI nochmal in einem extra Case einzufügen und somit die ganzen Bedien- und Anzeigeelemente doppelt zu haben. (in dem angehängten VI ist die Impedanzmessung lediglich simuliert).

Ich hoffe, ich konnte mein Problem verständlich rüberbringen und bitte mich zu entschuldigen, falls ich etwas falsch gemacht habe, da dies mein erster Forumbeitrag ist.

Vielen Dank im Voraus!


Angehängte Datei(en)
20.0 .vi  UserInterface.vi (Größe: 43,59 KB / Downloads: 39)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.07.2021, 13:49 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2021 13:51 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.067
Registriert seit: May 2009

LV2020
1995
DE_EN

10×××
Deutschland
RE: Case Ausführung - automatisch und einzeln
Hallo ar,

herzlich willkommen im Forum!

Zitat:ich versuche einen Automatischen Messablauf zu realisieren und habe dies mit Hilfe von Array soweit hinbekommen.
Aha.
Meinst du dieses "Ablauf"-Array, welches gerade mal ein Element im UI anzeigt?

Zitat:Nun möchte ich die einzelnen Cases, wie beispielsweise Impedanzmessung in den jeweiligen Reitern einmalig ausführen. Wie kann ich das realisieren, ohne das dazugehörige VI nochmal in einem extra Case einzufügen und somit die ganzen Bedien- und Anzeigeelemente doppelt zu haben.
Bevor du das machst, solltest du das bestehende VI erstmal gründlich überarbeiten!
- Du brauchst nur einen einzige While-Loop! Diese 3 "kleinen" While-Loops (Zeitanzeige, Abfrage "Ablauf Reset", Anzeige "Messung läuft") gehören alle in die Steuer-Loop und zwar als weitere Events!!! Um Anzeigen halbwegs regelmäßig zu updaten könnte man den TimeOut-Event benutzen!
- Neben der Event-Struktur benötigst du keine weitere Wartezeit in der Schleife! Falls überhaupt, dann den TimeOut-Event nutzen!
- Wenn du alles in eine Schleife packst, brauchst du auch weniger lokale Variablen: nutze Draht und Schieberegister!
- Ein Event sollte immer schnell (in Millisekunden) abgearbeitet sein: dein Event "Dauermessung Start" verstößt eindeutig gegen diese Regel!
- Benutze bessere Labels für Controls/Indicators: Namen wie "Cluster" oder "Cluster 3" sind nicht selbsterklärend!
- Warum zwingst du dem Nutzer auf, mehrere Stopp-Buttons zu klicken, wenn er dein Programm beenden will? Verlangt das Word oder Chrome etwa auch von dir???
- Wieso nutzt du keine Autoindizierung für den "Ablauf" bei der Messschleife?

Bitte alles das erstmal umsetzen, bevor du über weitere Anpassungen nachdenkst!

Zu deiner Frage:
Du befüllst "Ablauf" mit genau dem Ablauf, den du "automatisch" abarbeiten lassen willst. Und dann startest du die "Dauermessung"-Schleife!
(Der Ablauf hat an sich überhaupt nichts mit den Reiter des Tab-Containers zu tun. Ein Tab-Container sortiert nur FP-Elemente in verschiedene Tabs…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2021, 14:24
Beitrag #3

ar7ur8 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jul 2021

2020
2019
DE



RE: Case Ausführung - automatisch und einzeln
Hallo GerdW,

vielen Dank für deine ausführliche Antwort. Ich denke, du hast meine Frage nicht ganz richtig verstanden. Das Programm habe ich vorerst so erstellt, damit ich einige Vorgänge simulieren kann und um zu sehen, ob der Ablauf jedes mal neu angepasst werden kann.
Meine Frage bezieht sich lediglich darauf, ob es einen Weg gibt, eines der vorhandenen Cases unabhängig auszuführen, ohne das Case und somit eventuell auch die Bedien- und Anzeigeelemente kopieren zu müssen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2021, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2021 15:44 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.067
Registriert seit: May 2009

LV2020
1995
DE_EN

10×××
Deutschland
RE: Case Ausführung - automatisch und einzeln

Akzeptierte Lösung

Hallo ar,

Zitat:Ich denke, du hast meine Frage nicht ganz richtig verstanden. Das Programm habe ich vorerst so erstellt, damit ich einige Vorgänge simulieren kann und um zu sehen, ob der Ablauf jedes mal neu angepasst werden kann.
Meine Frage bezieht sich lediglich darauf, ob es einen Weg gibt, eines der vorhandenen Cases unabhängig auszuführen, ohne das Case und somit eventuell auch die Bedien- und Anzeigeelemente kopieren zu müssen.
Ich denke, ich habe die Frage schon richtig verstanden…

Mit "Cases" meinst du wohl die Case-Struktur in diesem "Dauermessung"-Event:
Ich würde das komplette VI umstrukturieren und in Form eines QMH (QueuedMessageHandler) aufbauen.
Du brauchst zwei Schleifen: eine Producer-Loop für das UI-Handling und erstellen der Messages für die Queue. Und eine Consumer-Loop, die diese Messages/Befehle abarbeitet.
Die Consumer-Loop benötigt dann keine eigene Eventstruktur: die "Dauermessung Start" ist dann in der Producer-Loop und erzeugt eben eine größere Menge Messages, die als Dauermessung abgearbeitet werden. Und wenn du nur einen einzelnen Test/"Case" aufrufen willst, musst du auch nur eine Message in die Queue schicken… (Nebeneffekt: da jeder "Case" nur genau einmal im Code implementiert wird, brauchst du auch keine Kopien von irgendwelchen FP-Elementen!)

Wie schon mal gesagt: ich würde dir empfehlen, das VI gründlich zu überarbeiten!

Nachtrag zum VI: Das Schieberegister in deiner Dauermessung-Schleife ist erstens nicht initialisiert und zweitens unnötig…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2021, 15:46
Beitrag #5

ar7ur8 Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jul 2021

2020
2019
DE



RE: Case Ausführung - automatisch und einzeln
Alles klar
Ich werde versuchen, deine Tipps umzusetzen.

Danke für die schnellen Antworten!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 1.875 02.02.2021 15:05
Letzter Beitrag: Lucki
  Frontpanelelement im Cluster einzeln steuern L@BTR0N 2 3.037 14.10.2019 09:25
Letzter Beitrag: L@BTR0N
  parallele Ausführung von for-loops stsc 5 2.985 24.07.2019 15:12
Letzter Beitrag: stsc
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 4.534 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Beendet die Methode FP schließen auch die Ausführung? hansi9990 3 2.552 23.10.2017 07:41
Letzter Beitrag: GerdW
  Korrekte Ausführung eines VIs 83DM 5 3.238 01.02.2016 17:53
Letzter Beitrag: 83DM

Gehe zu: