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!
31.05.2012, 08:23 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2012 08:24 von Takuro.)
(31.05.2012 06:07 )NWOmason schrieb: Sorry Jungs, aber hier muss ich jetzt endgültig einmal einhaken. Das was ihr hier fabriziert ist schon ziemlich Harakiri!
Erstmal zum 'Zusammenkopieren' der beiden VIs. Wie soll das denn im realen Betrieb funktionieren? Man muss ja zuerst im Code das Sub-VI öffnen, dort alles Einstellen und das Main-VI ausführen. mMn nicht praktikabel. Soll daraus auch mal eine *.exe werden? Außerdem läuft das LGDemo selbst mit einer Eventstruktur, welche auf Benutzereingaben reagiert. Mann kann hier ja generell froh sein, das LV an dieser Stelle 'Handzahm' ist, in anderen Programmiersprachen wäre das nicht so einfach mit dem zusammenkopieren von Code.
Ich selbst nutze in meinem Programm die gleiche Struktur. Wie ich ja oben gesagt habe, muss man eventuell die weiteren Eingänge definieren, wenn man weitere Parameter für die Messung am zweiten Gerät braucht. Aber ich verstehe nicht, warum die verwendung eines bestehenden, funktionierenden VIs als SubVI Harakiri sein soll. Ob ich nun ein einzelnes Messgerät per Frontpanel bediene oder dieses durch ein anderes VI füllen lasse, ist mMn völlig identisch, aber ich bin ja gerne bereit mich verbessern zu lassen.
Zitat:funktioniert leider nicht.
Einstellungen müssen beim zweiten Programm keine getroffen werden nur am Messgerät selbst.
Nach Klick auf measure zeigt er mir nur die Messwerte vom ersten Messgerät an.
Wenn du sonst noch eine Idee hast immer her damit Smile
Hast du das Mal im Highligth Modus laufen lassen und verfolgt, warum das zweite Messgerät nicht abgefragt wird? Auch im Zweifel mal das Frontpanel des SubVIs dabei offen gehabt? Ohne Ansatzpunkt für den Fehler ist es für mich gerade schwer, ich kanns selbst ja auch nicht testen.
Grüße,
Takuro
Neu, aber motiviert. Nehme immer gern Verbesserungsvorschläge an!
Anzeige
31.05.2012, 08:29 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2012 08:39 von Diabolik666.)
@NWOmason könntest du mal bitte einen Blick auf die beiden zuletzt geposteten Dateien von Takuro werfen ?
Das Prinzip ist mir nämlich schon klar wie Takuro vorgeht er hat aus der Demo VI eine SubVI gemacht mit den beiden Anschlüßen measure und Channel Data. Dieses SubVI fügt er in meine Case Struktur ein und übergibt eine True Konstante an den einen Ausgang und die Channel Data wo die Messwerte später reinkommen an den anderen Ausgang. So gesehen müssten die Werte doch dann eigentlich geschrieben werden was aber nicht der Fall ?
@Takuro den Highlightmodus finde ich bei mir nirgends habe LabVIEW 8.2 vielleicht gibt es diesen Modus da noch nicht ?
Ansonsten an Einstellungen übergeben kann es glaube ich nicht liegen da wie gesagt nur im Basic Serial Read Write VI Einstellungen an der Software vorgenommen werden müssen. Was auch noch auffallend ist, ist dass das VI seitdem das SubVI drinne ist zwar vom einem Messgerät noch Messwerte anzeigt jedoch funktioniert das Scrollen nach Betätigen des Measure Buttons nicht mehr wie wenn das VI hängen würde.
31.05.2012, 08:46 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2012 08:54 von NWOmason.)
(31.05.2012 07:57 )Diabolik666 schrieb: Nach Klick auf measure zeigt er mir nur die Messwerte vom ersten Messgerät an.
Mal das ganze gedebuggt? Um zusehen, was da passiert? Wird das Sub-Vi beendet?
siehe dazu meinen Hinweis:
(31.05.2012 06:07 )NWOmason schrieb: Außerdem läuft das LGDemo selbst mit einer Eventstruktur, welche auf Benutzereingaben reagiert.
(31.05.2012 08:23 )Takuro schrieb: Aber ich verstehe nicht, warum die verwendung eines bestehenden, funktionierenden VIs als SubVI Harakiri sein soll. Ob ich nun ein einzelnes Messgerät per Frontpanel bediene oder dieses durch ein anderes VI füllen lasse, ist mMn völlig identisch, aber ich bin ja gerne bereit mich verbessern zu lassen.
Generell ist dagegen nichts einzuwenden, aber da in dem SubVI eine Eventstruktur läuft die auf Benutzereingabe der Element des SubVIs reagiert (ab ja nicht reagieren kann), kann das VI einfach so nicht als SubVI eingesetzt werden.
(31.05.2012 08:29 )Diabolik666 schrieb: @NWOmason könntest du mal bitte einen Blick auf die beiden zuletzt geposteten Dateien von Takuro werfen ?
Das Prinzip ist mir nämlich schon klar wie Takuro vorgeht er hat aus der Demo VI eine SubVI gemacht mit den beiden Anschlüßen measure und Channel Data. Dieses SubVI fügt er in meine Case Struktur ein und übergibt eine True Konstante an den einen Ausgang und die Channel Data wo die Messwerte später reinkommen an den anderen Ausgang. So gesehen müssten die Werte doch dann eigentlich geschrieben werden was aber nicht der Fall ?
Debuggen, testen, mit Sonden arbeiten, usw.
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
den Highlightmodus finde ich bei mir nirgends (hab LV 8.2)
Das Frontpanel des SubVI hatte ich dabei auch schon geöffnet und auch bereits gestartet, wobei er dies auch erkannt hat im anderem Programm dass das SubVI bereits läuft.
Ich denke auch es wird an der Event Struktur des SubVIs liegen
31.05.2012, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2012 09:00 von GerdW.)
Danke habs gefunden
also laut Highlitmodus wird das SubVI geöffnet es ist jedoch kein Datenfluß zum SubVI zu sehen was aber denke ich auch normal ist da die Daten ja nicht im Haupt VI fließen sondern im SubVI drinne oder ?
(31.05.2012 09:15 )Diabolik666 schrieb: Danke habs gefunden
also laut Highlitmodus wird das SubVI geöffnet es ist jedoch kein Datenfluß zum SubVI zu sehen was aber denke ich auch normal ist da die Daten ja nicht im Haupt VI fließen sondern im SubVI drinne oder ?
Ja, das ist normal. Wenn im HaupVI keine Daten aus dem SubVi kommen, schau dir das SubVi auch mit Highlight an. Dann hängt es dort, wie schon vermutet.
Neu, aber motiviert. Nehme immer gern Verbesserungsvorschläge an!
(31.05.2012 09:15 )Diabolik666 schrieb: es ist jedoch kein Datenfluß zum SubVI zu sehen was aber denke ich auch normal ist da die Daten ja nicht im Haupt VI fließen sondern im SubVI drinne oder ?
Prizipiell kann man das so sagen. Im SubVI wird ja auf Events gewartetet
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
Vorschlag wäre von mir, in dem SubVi beide While Schleifen zu entfernen.
Hintergrund: Er wartet nach dem Verarbeiten eines Events auf ein weiteres, was natürlich nicht kommt. Wenn du nun die Schleifen entfernst, wird nur einmal die Eventstruktur abgearbeitet. Die Frage ist, ob dann nicht Consumer vor Producer läuft, was allerdings durch ein Kabel oder eine Sequenz festgelegt werden könnte. Das funktioniert aber so nur, wenn du nur den Measure Button brauchst, weil sonst die Übergabe von den Shift Registern nötig wird. Alternative wäre, dass du die Abbruchbedingungen beider Schleifen so modifizierst, dass nach einem Event beide Schleifen beendet werden, z.B. über eine extra Boolsche Variable.
Grüße,
Takuro
Neu, aber motiviert. Nehme immer gern Verbesserungsvorschläge an!
wenn du das mal probiern könntest wenn ich der while schleife einen stopp button verpassen möchte kann ich aber nichts verändern und wenn ich die while schleife entferne und eine neue mit stopp button hinmache muss ich das komplette programm neu schreiben weil alle verbindungen weg sind dann