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 

State Machine mit Instrument - richtige Umsetzung



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!

24.06.2022, 10:04
Beitrag #1

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



State Machine mit Instrument - richtige Umsetzung
Hallo zusammen,

ich habe ein VI erstellt, welches eine Verbindung zu einem Instrument (Signalgenerator von Agilent) herstellen soll. Zur Einstellung von Amplitude, Frequenz etc. habe ich verschiedene Numeric Controls und Ring‘s erstellt. Zudem habe ich eine Tabelle in der man gewünschte Einstellung hinzufügen kann über den „Add“-Button. Außerdem kann man die Zeilen löschen über den „delete“-Button und ändern über den „change“-Button. Die Tabelle dient lediglich zu Speicherung von bestimmten Einstellungen (eine Speichereinheit wird später noch erstellt).

Zu meiner Frage:
Das Instrument soll genau die Werte übernehmen, welche ich über die Kontrollelemente im Frontpanel einstelle. Mir wurde nun geraten als Design Pattern für meinen Code eine State Machine zu verwenden. Macht dies denn Sinn so wie ich es umgesetzt habe? Mein VI findet ihr angehängt.

Ich freue mich auf Tipps!

Vielen Dank im Voraus.

Gruß
Lea


Angehängte Datei(en)
20.0 .vi  State_Machine_instrument.vi (Größe: 31,46 KB / Downloads: 124)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.06.2022, 12:09
Beitrag #2

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: State Machine mit Instrument - richtige Umsetzung
(24.06.2022 10:04 )mriworld schrieb:  Das Instrument soll genau die Werte übernehmen, welche ich über die Kontrollelemente im Frontpanel einstelle. Mir wurde nun geraten als Design Pattern für meinen Code eine State Machine zu verwenden. Macht dies denn Sinn so wie ich es umgesetzt habe? Mein VI findet ihr angehängt.

Was macht denn dein VI:
Es wartet 100 Sekunden um sich dann zu beenden.. (Unten links startest du das Shiftregister mit 'Stop'.)

gehen wir mal davon aus, dein Shiftregister soll bei 'Initialize' starten dann
  1. machst du nichts für 100s und wechselst dann zu 'Table'
  2. hier wartest du unendlich lange (mindestens 100s) bis jemand einen der 3 Knöpfe drückt. ACHTUNG: Hier werden die Werte genommen, die am Anfang des States drin stehen. Dann wechselst du auf 'Instrument'
  3. hier stellst du alles ein und beendest das Programm (wieder mit 100s Wartezeit)

Das klingt nicht gewollt. Vorallem die 100000 ms Wartezeit und die Bedienelemente außerhalb der Event-Struktur.

Es gibt im Example finder das 'State Machine Fundamentals', das sollte ganz gut passen zu dem was du machen willst. In der Menüleiste: 'help' - 'Finde Examples', dort entweder über die Suche oder 'Fundamentals' - 'Loops and Structures'

Soweit mal kurz und knapp.

MfG Timo

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."
Johann Wolfgang von Goethe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.06.2022, 10:05
Beitrag #3

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: State Machine mit Instrument - richtige Umsetzung
Hallo Timo,

vielen Dank für die Hilfe.
Zitat:Unten links startest du das Shiftregister mit 'Stop'

Das war leider ein Fehler, den habe ich schon korrigiert und das Timing nun raus genommen.

Zitat: die Bedienelemente außerhalb der Event-Struktur.
Hier wusste ich leider nicht, wie ich es anders umsetzten soll. Einerseits will ich das man über die Bedienelemente das Instrument steuert und andererseits soll man die eingestellten Werte gleichzeitig auch in der Tabelle abspeichern können.
Am besten wäre es die States irgendwie zu verbinden. Das hatte ich auch schon einmal ausprobiert und nur Fehlermeldungen bekommen.

Gibt es die Möglichkeit die beiden Prozesse zu verbinden? Und ist eine State Machine da überhaupt sinnvoll?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2022, 13:34
Beitrag #4

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: State Machine mit Instrument - richtige Umsetzung
(26.06.2022 10:05 )mriworld schrieb:  Hier wusste ich leider nicht, wie ich es anders umsetzten soll. Einerseits will ich das man über die Bedienelemente das Instrument steuert und andererseits soll man die eingestellten Werte gleichzeitig auch in der Tabelle abspeichern können.
Am besten wäre es die States irgendwie zu verbinden. Das hatte ich auch schon einmal ausprobiert und nur Fehlermeldungen bekommen.

Hier sehe ich erstmal kein Problem eine locale Variable zu verwenden um diese Werte dann in die Tabelle zu speichern (so würde ich es machen, bin aber auch kein Profi..). Das Bedienelement dann zum Steuern des Instruments lesen.

Wenn du das Beispiel von LabVIEW selbst mal anschaust siehst du auch ein grundlegenden Unterschied. Hier wird nach jeder Eingabe wieder zurückgesprungen zur Eventstruktur. In deinem Fall würde das klicken auf eines der Buttons in einen State springen, indem der Code (den du da in der Eventstruktur hast) ausgeführt wird und anschließend wieder zurück und auf eine Eingabe wartet. Hierfür benötigst du dann auch einen separaten Start Knopf, kannst aber unabhängig Werte der Tabelle hinzufügen oder löschen, ohne das Gerät zwischendrin einzustellen.

Hilfreich und übersichtlicher ist es sicherlich die Einstellungen in ein Cluster zusammenzuschließen.

MfG Timo

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."
Johann Wolfgang von Goethe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2 Channels benutzen Instrument Driver Agilent 3352X mriworld 1 1.608 07.07.2022 14:38
Letzter Beitrag: GerdW
  Einheiten bei Instrument Driver mriworld 3 1.766 04.07.2022 11:49
Letzter Beitrag: BNT
  Transferring data to my instrument (state machine, instrument driver) mriworld 4 1.993 22.06.2022 06:54
Letzter Beitrag: mriworld
  Richtige Verwendung von ThermChar / Fehlerhafte erste Daten Aspen 5 4.668 24.04.2015 10:21
Letzter Beitrag: Aspen
  Fehler im Instrument-Driver Finder Tito 4 4.596 18.06.2014 11:49
Letzter Beitrag: Tito
  Einteilung und Verwendungszweck von VISA und Instrument I/0 seriel write and read clubmatejunkie 2 4.414 20.11.2013 12:16
Letzter Beitrag: clubmatejunkie

Gehe zu: