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:

Automatisierung mittels QMH und Melder



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!

21.12.2021, 21:01
Beitrag #11

ar7ur8 Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jul 2021

2020
2019
DE



RE: Automatisierung mittels QMH und Melder
Hallo Gerd,

erstmal vielen Dank für die vielen ausführlichen Antworten, du bist wirklich eine große Hilfe!

(21.12.2021 13:58 )GerdW schrieb:  Verwendest du einen QMH oder eine "event-based statemachine"?

Wenn du, wie geschrieben einen QMH verwendest, dann schickst du einmal einen Befehl "Wait until t+1000s". Der entsprechende State im QMH wartet eine Sekunde und sendet sich selbst "wait until t+999s", usw.…

Ich würde am liebsten einen QMH verwenden und nicht das, was ich in meinem Anhang aufgebaut habe, da ich dann lediglich zwei Schleifen habe. Was genau meinst du denn mit einem Befehl "Wait until t+1000s"?
Du meinst also der Case "Warten" würde diese Anweisung bekommen und dann wiederum 1 Sekunde später sich selbst mit Hilfe der Queue aufrufen, verstehe ich das richtig?

Zitat:- In deinem Beispiel gibt es einige Loops, wo du Referenzen nicht durchverdrahtest: das solltest du dringend nachbessern…
das mit den Referenzen verstehe ich nicht ganz. Welche meinst du denn genau? soweit ich weiß habe ich alle Melder und User-Event Referenzen verbunden, oder meinst du was anderes?

Zitat:- Warum überall diese ganzen Wartezeiten? Wenn du einen Ausgang an- und ausschalten willst, kannst du auch eine Loop verwenden und brauchst keine zusätzliche lokale Variable mehr…
das mit den Wartezeiten bei den Cases mit den LEDs ist das, was mir auf die schnelle eingefallen ist, um kenntlich zu machen, dass der Vorgang ausgeführt wurde (ein-aus) und die Wartezeit im Case ist eben die Dauer des Ein-Status. Wahrscheinlich gibt es eine wesentlich einfachere und elegantere Art, das zu lösen.

Zitat:- Warum Wartezeiten in Schleifen, die sowieso (endlos) auf einen Notifier warten?
wenn du die 100ms bei den einzelnen While-Schleifen meinst, dann wollte ich damit lediglich bezwecken, dass sie nicht mit maximaler geschwindigkeit ausgeführt werden, aber ich vermute du hast recht, sie werden ja ohne den Notifier garnicht ausgeführt.. mein Fehler

Zitat:- Ich hoffe, in deinem "richtigen" Programm gibt es eine Möglichkeit, das Programm auch (sinnvoll) zu beenden?
also falls ich einen QMH verwende, werde ich das wohl über ein User-Event lösen. Gibt es da noch was, was ich beim Beenden beachten sollte? Wie gesagt, mir fehlt leider noch die Erfahrung.

Zitat:- Du hast von einem QMH geschrieben, dein VI basiert aber auf Notifiern, UserEvents und dann auch noch irgendwelche Occurances!? Wieso dieser Mix aus gleich drei verschiedenen Elementen?
Der QMH den ich anfangs beschrieben habe ist mein erster Ansatz gewesen, und er funktioniert auch gut, bis auf die Sache mit den Einzelaufrufen während der Dauermessung. Deshalb wollte ich ja was anderes aufbauen und bin bei dem gelandet, was ich angehängt habe. Das VI soll ja nur den Ansatz verdeutlichen. Die Occurances habe ich eingefügt um sicherzustellen, dass der nächste Vorgang erst eingeleitet wird, wenn der aktuelle abgeschlossen ist (scheint bei dem Impedanz Vorgang zu klappen).

Hallo Timo,

tut mir leid, ich weiß leider noch nicht wie ich solche Snippets erstellen kann und habe garnicht daran gedacht, dass einige das VI nicht öffnen können.. vielen Dank für deine Mühe.
Ich werde mir deinen Vorschlag mal ansehen, vielleicht passt das ja wirklich.
Zu deiner Frage: Temperatur +/- sowie Spannung +/- müssen eigentlich keine getrennte Vorgänge sein. Dabei muss lediglich sichergestellt werden dass ein bestimmter Wert bei den zugehörigen Geräten eingestellt wird. Deshalb habe ich erstmal für die Spannungsquelle ein SubVI erstellt, das in Abhändigkeit vom aktuellen Wert der angelegten Spannung den Step wählt (z.B. +/-0,2V im Bereich 0-5V und +/-1V im Bereich 5-60V). Falls ich das mit der Schritteingabe besser hinbekomme, werde ich das wahrscheinlich auch ändern und einfach den Wert vorgeben (weiß ja jetzt auch wie User-Events funktionieren, da sollte das kein Problem sein hoffe ich).
Bei den Messungen muss ich lediglich warten bis die Lagerstrom- Spannungsmessung sowie die Impedanzmessung fertig sind, da diese beiden über eine Art Switch am Prüfling angeschlossen werden und deshalb nicht gleichzeitig laufen können. Ansonsten wäre es mmn nur noch beim Vorgang "Warten" wichtig zu warten, bis dieser abgeschlossen ist. (mit den neuesten Ideen von Gerd wird dieser aber hoffentlich nicht die Queue besetzen).

Ich denke am besten versuche ich meinen QMH Ansatz umzubauen und füge diesen anschließend hier an.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Automatisierung mittels QMH und Melder - ar7ur8 - 21.12.2021 21:01

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehler Melder wladimir s 7 6.931 14.05.2016 15:24
Letzter Beitrag: BNT
  Kommunikation bei mehrfach ausgeführten SubVis (Melder) I3erry 3 3.543 24.06.2015 13:01
Letzter Beitrag: GerdW
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 5.509 19.03.2015 17:49
Letzter Beitrag: lumaxo
  Problem mit Melder, setzt sich auf anderen Wert zurück dali4u 3 4.050 20.11.2014 10:01
Letzter Beitrag: GerdW
  Melder Performance D_Sev 13 9.701 08.09.2014 10:56
Letzter Beitrag: GerdW
  Automatisierung, diverse OPC_Variablen TrueSetzen Knusperbaer 2 2.762 16.05.2013 15:47
Letzter Beitrag: jg

Gehe zu: