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!

04.01.2022, 14:06
Beitrag #21

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Automatisierung mittels QMH und Melder
(03.01.2022 22:46 )ar7ur8 schrieb:  ..Ich habe überlegt den Initialisierungsteil der Temperaturmessung außerhalb der While-Loops zu lassen und den "Acquisition"-Teil in der oberen (Event Handling Loop) entweder im Timeout Event der Event-Struktur oder einfach in der While Loop.
Würde das so funktionieren?

Mahlzeit Artur,
was genau ist denn das Ziel? Willst du die Temperatur nur anzeigen? Wie häufig, bzw wie aktuell muss die sein? Je nachdem ist das eine, das andere oder nichts davon geeigenet. Tongue
Im timeout event sollte keine Messung stattfinden, dort kannst du aber eine Messung triggern (Prinzip des QMH), aber Vorsichtig bei größeren Programmen, wenn zu viele Events kommen, kommt kein timeout mehr.

Ich persönlich würde hier ein separates Modul machen (noch nen QMH, als SubVI). Von deinem Main.vi kann die Messung der Temperatur gestartet und gestoppt werden und blockiert hier keine anderen Schleifen, dein Main.vi bekommt lediglich das Messergebnis um es anzuzeigen oder auszuwerten. Hier habe ich aber nur mit Delacor-QMH gearbeitet und kann dir im Aufbau bei QMH leider keine Tips geben. Ich habe dir aber dazu mal aus meinem LabVIEW Core 3 ein Beispiel angehängt, da sollte das Grundprinzip gut rüberkommen.
0.0 .zip  Datalogger_Demo_2015.zip (Größe: 261,06 KB / Downloads: 79)


Ansonsten solltest du dir beim Warten etwas anderes überlegen, so funktioniert das nicht.
    Du füllst deine Queue mit einer Liste an Events, wenn du vorne dein Warten rausziehst und hinten anhängst, wird die Liste weiter abgearbeitet, dein Warten kommt erst wieder dran, wenn die Liste einmal abgearbeitet ist. Und komm hier nicht auf die Idee dein Warten vorne einzufügen, damit blockierst du deine gesamte Schleife (auch dein beenden).
Ich würde hier eine Liste übergeben (zB. Array of Cluster) und die nacheinander abarbeiten. Also die Queue nicht vorher füllen, sondern den nächsten Schritt mit erledigtem Schritt starten/einreihen. Beziehungsweise hast du deine Liste ja sogar in der Anzeige und kannst diese Abarbeiten, so könnte man auch Messungen bearbeiten, einfügen, entfernen,... Fürs visuelle: nen Haken hinten dran, wenn es fertig ist, nen Live Timer wann die Messung startet,...

Andere Tips:
Es lohnt sich sicherlich die verschiedenen Messungen in separate QMH's zu packen, jede Messung ein eigenes QMH, so zumindest meine Erfahrung.
1. Blockiert sich hier nichts gegenseitig.
2. Eine Änderung bleibt im SubVI und hat meist keine Auswirkung auf das Haupt VI.
3. Es kann auch später (re-)initialisiert werden.

MfG und gut's Neu's
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
Anzeige
04.01.2022, 16:33
Beitrag #22

ar7ur8 Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jul 2021

2020
2019
DE



RE: Automatisierung mittels QMH und Melder
(04.01.2022 07:42 )GerdW schrieb:  über den Jahreswechsel haben viele Urlaub und wollen sich entspannen…

Warum machst du keinen Initialisierungs-State/-Case in deinem QMH? (Würde ich als "sauberere" Lösung empfinden.)

Hallo Gerd, vielen Dank für die Rückmeldung! Tut mir leid, das mit den Feiertagen habe ich nicht bedacht.. Confused

ich habe ja einen Initialisierungs Case in der Message Handler Loop. Meinst du dass ich die Messung von dort aus starten soll?
Ich habe ehrlich gesagt noch Schwierigkeiten damit, was einer Initialisierung bedarf und was nicht...


Hallo Timo,

danke für die Ausführliche Antwort!

Zitat:Und komm hier nicht auf die Idee dein Warten vorne einzufügen, damit blockierst du deine gesamte Schleife (auch dein beenden).

genau das mache ich hier aber (die True Konstante bewirkt ein Einfügen am Anfang). Ich verstehe jedoch nicht, was daran problematisch für mich sein soll. Ich will ja dass die Queue solange nicht abgearbeitet wird, bis die Zeit abgelaufen ist. Und da ich jedes mal nur eine Sekunde warte, wird der Befehl "Beenden" (der ja auch am Anfang eingefügt wird) spätestens nach 1 s ausgeführt (habe es gerade getestet).
Oder habe ich dich falsch verstanden?

Bezüglich der Temperaturmessung: das Ziel ist, sowohl die Temperatur anzuzeigen als auch zu messen (bei den Lagerstrom/Spannungsmessungen und Impedanzmessungen). Die Abtastrate muss dabei nicht sonderlich hoch sein (maximal 10 Hz denke ich).
Ich werde mir dein Beispiel heute Abend anschauen, vielleicht hilft es mir weiter.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.01.2022, 13:55
Beitrag #23

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Automatisierung mittels QMH und Melder
(04.01.2022 16:33 )ar7ur8 schrieb:  genau das mache ich hier aber .. Ich verstehe jedoch nicht, was daran problematisch für mich sein soll.
Ok, habe ich so nicht betrachtet, deine 1000ms-Wait läuft parallel, somit ist das Zeitfenster, indem dein neues Warten vor deinem Beenden kommt sehr gering, dennoch ist es möglich (meinem Verständnis nach), dass dein Beenden nach dem Warten abgearbeitet wird. Wird hier wohl keinen wirklichen Einfluss haben, wenns nicht aus geht, drückt man nochmal..
Zitat:Bezüglich der Temperaturmessung: das Ziel ist, sowohl die Temperatur anzuzeigen als auch zu messen (bei den Lagerstrom/Spannungsmessungen und Impedanzmessungen). Die Abtastrate muss dabei nicht sonderlich hoch sein (maximal 10 Hz denke ich).
Ich werde mir dein Beispiel heute Abend anschauen, vielleicht hilft es mir weiter.
Ich hoffe das Beispiel hat dir geholfen.

"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
30
Antwort schreiben 


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

Gehe zu: