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 

Kalibrierstand



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.01.2011, 09:29 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2011 09:32 von ThermoHiwi.)
Beitrag #1

ThermoHiwi Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jun 2010

2010
2010
de

67663
Deutschland
Kalibrierstand
Hallo,

ich habe die Aufgabe ein LV-Programm für einen Thermometer-Kalibrierstand zu schreiben. Kommunikation der einzelnen Hardware Komponenten funktioniert ohne probleme, allerdings hapert es noch an der Aufzeichnung der Werte.

Es geht, beim angehängten Blockdiagramm um die innere While-Schleife. Hier vergleiche ich die Temperatur meines Messthermometers, mit der am Temperaturbad eingestellten Temperatur. Sobald diese Temperaturdifferenz einen bestimmten Wert unterschritten hat wird beim SubVI "Vergleich PT25 Bad" ein TRUE ausgegeben. Sobald dieses True auftritt, möchte ich über eine gewisse Zeit meine ausgelesenen Daten abspeichern.
Soweit ist das alles kein Problem (funktioniert auch), allerdings möchte ich während der gesamten Zeit auf dem Frontpanel die aktuelle Temperatur angezeigt bekommen. Verwende ich eine Case-Struktur bearbeitet mir LV ja aber nur diese Case-Struktur und im Frontpanel tut sich gar nichts mehr. Wie könnte ich dieses Problem beheben? Gibt es eine andere Struktur die wenn TRUE anliegt parallel zu Schleife arbeiten kann? Oder sollte ich einen ganz anderen Ansatz wählen?

Ein weiteres Problem, dass ich habe: Kann ich Anzeigeelemente von SubVIs auch auf dem Frontpanel des MainVIs anzeigen lassen?

Vielen Dank für die Hilfe!
PS: LV Version 2010


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.01.2011, 09:44
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kalibrierstand
Hallo Hiwi,

hier würde sich mal wieder eine parallel arbeitende Struktur wie die Producer-Consumer-Struktur anbieten!
Eine Schleife erzeugt Messdaten - andere verarbeiten diese, ohne jedoch die Messwerterfassung zu stören...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 09:46 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2011 09:46 von chrissyPu.)
Beitrag #3

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
Kalibrierstand
Hi,

ich weiß nicht, was Dein Programm noch so können muss, aber in solchen Fällen wäre vielleicht eine Producer-Consumer-Struktur (gibt es in den VI-Beispielen) nicht so schlecht: Da produziert dein PT 100 Daten, die man z.B.auch immer anzeigt, gleichzeitig untersucht ein im Timing meist langsamerer Consumer, was mit den Daten passiert - und der könnte dann z.B. die Speicherung erledigen.

Außerdem: VISA-Ressource nach der Schleife auch wieder schließen, sonst ist's beim nächsten Start Glück, ob's funktioniert
Außerdem 2: Wenn Du Deinen eigenen VIs noch einen Error-Cluster spendierst, kannst Du auf die äußere Sequenz verzichten. Mit einer Wait-Funktion mit Error-Cluster dann auch auf die in der While-Schleife...

Grüße,

ch

Edit: Ich hab's ja geahnt, dass bei den vielen Thread-Lesern einer schneller ist...Wink
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 10:01
Beitrag #4

ThermoHiwi Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jun 2010

2010
2010
de

67663
Deutschland
Kalibrierstand
Danke für die super schnelle Hilfe! Ich setz mich gleich mal ran.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 10:53
Beitrag #5

ThermoHiwi Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jun 2010

2010
2010
de

67663
Deutschland
Kalibrierstand
Okay, also der Aufbau der Consumer-Producer-Struktur funktioniert. Die Messwerte werden schön kontinuierlich ausgegeben.
Leider hilft mir das noch nicht sehr viel weiter.
Ich habe jetzt immer noch das Problem, dass ich ab einem bestimmten Wert einen Timer starten muss und während dieser läuft die Messwerte aufgezeichnet werden müssen. Mir ist noch nicht ganz klar, wie ich das in die Consumer-Producer-Struktur einwebe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 11:05 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2011 11:06 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kalibrierstand
Hallo Hiwi,

Zitat:ab einem bestimmten Wert einen Timer starten
Das kann sowohl der Consumer als auch der Producer erledigen... Beispiel: Der Producer holt neue Messwerte vom Gerät und setzt evtl. auch gleich Flags bei bestimmten Bedingungen. Der Consumer bekommt die Messwerte geliefert und wertet die Flags aus. Die Flag-Generierung kann aber auch vom Consumer miterledigt werden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.01.2011, 11:33
Beitrag #7

ThermoHiwi Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jun 2010

2010
2010
de

67663
Deutschland
Kalibrierstand
Hi Gerd,

leider verstehe ich nicht so ganz was du damit meinst. Ich versuche aber das Problem einmal explizit zu schildern:

Mein Producer liest mir die Messwerte auf, schreibt sie in die Queue und gibt sie an den Consumer weiter.
Was der Consumer machen soll:
Der Consumer liest jeden Messwert aus und vergleicht ihn mit einem Referenzwert. Sobald die Differenz zwischen diesen beiden Werten eine angegebene Schwelle unterschreitet startet der Consumer einen Timer und schreibt die dann folgenden Messwerte in eine Datei. Sobald der Timer abgelaufen ist, beendet sich der Consumer selbst und beendet auch den Producer.

Probleme die ich habe: Wie kann ich einen Timer mit einer Boolschen Variable starten ohne eine Case Struktur benutzen zu müssen? Bisher habe ich die Timer Funktion immer so programmiert wie im Blockdiagramm im Anhang, aber dazu brauche ich eine weitere Schleife.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 11:36 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2011 11:37 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kalibrierstand
Hallo Hiwi,

Zitat:Wie kann ich einen Timer mit einer Boolschen Variable starten ohne eine Case Struktur benutzen zu müssen?
Was stört dich an einer Case-Struktur für den Timer? Guck mal hier, da wird auch ein Timer über eine Casestruktur gesteuert...
(Oder hast du die Vorgabe, ein Programm ohne Nutzung der Case-Struktur erstellen zu müssen?Smile)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 11:44
Beitrag #9

ThermoHiwi Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jun 2010

2010
2010
de

67663
Deutschland
Kalibrierstand
Nein das nicht Smile aber dann habe ich das gleiche Problem wie am Anfang, dass mir das Programm in die Case Struktur springt und nur diese Bearbeitet. Dann werden zum Beispiel meine Messwerte nicht mehr auf dem Frontpanel ausgegeben oder ist das durch die Producer-Consumer-Struktur jetzt anders?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.01.2011, 11:46
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kalibrierstand
Hallo Hiwi,

was hat die Messwertanzeige mit dem Timer zu tun? Das gehört doch auch nicht in die gleiche Case-Struktur hinein...

Vielleicht solltest du mal dein VI zeigen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: