26.07.2012, 17:42
|
Diabolik666
LVF-Gelegenheitsschreiber
Beiträge: 166
Registriert seit: May 2012
8.2
-
DE
|
RE: Graph aus VISA
Hallo ich habe noch eine Frage.
Ich habe verschiedene Cases und je nach Case wird ein Signalverlauf erstellt mit anderen Attributen. Alle Werte gebe ich dann anschließend in eine Tabelle wo die Messwerte mit Name und Einheit angezeigt werden.
Nun möchte ich, wenn der Case "leer" aufgerufen wird, dass kein Wert in die Zeile der Tabelle eingetragen wird, es soll also leer bleiben.
Dazu habe ich in diesem Case einfach Standard verwenden für den Ausgang gewählt. Wenn ich jedoch Standard verwende, erscheint immer noch eine 0,000 als Wert in der Tabelle.
Was ist an den Anschluss anzuschließen, damit nichts reingeschrieben wird ?
|
|
|
26.07.2012, 18:30
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2012 18:34 von GerdW.)
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Graph aus VISA
Hallo Diabolik,
wenn eine Case-Struktur einen Ausgang(stunnel) hat, dann muss dort auch ein Wert ausgegeben werden. THINK DATAFLOW!
Lösungen:
- Wenn man mit Arrays arbeitet, kann man leere Array ausgeben - das fällt meistens nicht auf...
- Man fügt Daten zu einem bestehenden Array nur innerhalb der gewünschten Cases hinzu. In anderen Cases schleift man das Array nur durch, da man ja außerhalb der Casestruktur sowieso ein Schieberegister zum Speichern der Arraydaten verwendet...
|
|
|
26.07.2012, 19:12
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2012 19:12 von GerdW.)
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Graph aus VISA
Hallo Diabolik,
diese Case-Struktur ist nicht dein Ernst, oder?
Gefühlte 100 Cases, die alle das exakt gleiche machen? Die sich nur durch die verwendeten String-Konstanten unterscheiden?
Wozu eine While-Schleife, die nur einmal durchläuft?
Vorschlag für den "Leer"-Case:
Ansonsten:
- Alles, was in den einzelnen Cases gleich ist, gehört nicht in die Case-Struktur hinein.
- Man könnte mit Arrays arbeiten: den aktuellen "Befehl" in einem 1D-Array mit möglichen Befehlen suchen, mit dem gefundenen Index die Stringkonstanten aus einem 2D-Array indizieren. Dann nur noch eine Case-Struktur mit exakt 2 Fällen: 1. Befehl bekannt=Strings eintragen oder 2. Befehl nicht bekannt/leer=nichts eintragen!
|
|
|
26.07.2012, 21:26
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2012 21:28 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Graph aus VISA
(26.07.2012 20:56 )Diabolik666 schrieb: zum leer Case : Genau so habe ich es auch gemacht, Ein und Ausgang einfach verbunden jedoch mit der while Schleife noch drinne. Ja die while Schleife ist unnötig.
Juchu, du hast einmal etwas erkannt.
(26.07.2012 20:56 )Diabolik666 schrieb: Jedoch verstehe ich nicht wieso es so nicht funktioniert ? Kannst du dir vielleicht bitte mal eine meiner hochgeladenen Dateien
anschauen
Das ist jetzt ein schlechter Scherz...?! Dieser "Privat"-Thread besteht inzwischen aus fast 200 Beiträgen und gefühlt genauso vielen hochgeladenen VIs von dir. Und jetzt sollen wir nach einem deiner VIs hier im Thread schauen?
(26.07.2012 20:56 )Diabolik666 schrieb: und da gehst du in den Case Measure rein und da siehst du, wie die obere Hälfte der Kommandos alle in eine Channel Data reingehen jedoch ist vor dieser Channel Data noch eine SubVI.
Meine Vermutung ist, dass es an der SubVI vielleicht liegen könnte ?
Vermuten ist schlecht, Wissen wäre besser!!!
(26.07.2012 20:56 )Diabolik666 schrieb: zu den 100 Case Fällen : Ja das war sicher sehr umständlich von mir gelöst ich werde es mal versuchen so zu machen wie beschrieben jedoch möchte ich zuerst mal das Problem mit dem leeren Case lösen.
Das Problem dürfte weniger der leere Case sein, sondern an der Stelle liegen, an der du deine "ominöse" Tabelle erstellst.
Dort musst du den Fall abfangen, wenn eine "leere" Waveform (also ein Waveform ohne Daten) eingetragen wird.
(26.07.2012 20:56 )Diabolik666 schrieb: Was ich noch fragen wollte Gerd : Ich kann jetzt die Datei nicht hochladen da ich zuhause bin, folgendes Problem :
Ich habe mehrere Drop Down Menüs erstellt in denen ausgewählt werden kann welche Messwerte abgefragt werden sollen und welche nicht.
Nun habe ich z.B. mal überall den Case leer ausgewählt, d.h. es soll also nichts gemessen werden, jedoch kam dann z.B. Wirkleistung 2 an. Wenn ich das Programm beende und wieder starte funktioniert es wieder. Mit anderen Worten : Ab und zu passieren Dinge die nicht passieren dürften ?!
Könnte das an RaceConditions liegen ?
Möglich ist viel, wenn man sich deinen Programmierstil anschaut. Aber das Problem mit Werten, die du nicht willst, das hatten wir doch erst vor ein paar Beiträgen. Meinen Hinweis mit sauberer Frage/Antwort bei der RS-232 wolltest du ja nicht umsetzen.
(26.07.2012 20:56 )Diabolik666 schrieb: Wenn ja , was kann ich am Programm verbessern ?
Darf ich einmal ehrlich sein? Nimm es mir nicht übel, aber von vorne anfangen und nicht krampfhaft die Demo-VIs zu deinen ZES-Geräten verschlimmbessern, das wäre wahrscheinlich das Beste!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
27.07.2012, 07:25
(Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2012 08:03 von Y-P.)
|
Diabolik666
LVF-Gelegenheitsschreiber
Beiträge: 166
Registriert seit: May 2012
8.2
-
DE
|
RE: Graph aus VISA
Hallo Jens, ja das beste wäre sicher nochmal von vorne anfangen, jedoch fehlt mir die Zeit dazu.
Deinen Hinweis für RS232 habe ich doch umgesetzt, ich habe zwischen jedem Schreiben und Lesen eine Verzögerungszeit von 250ms eingestellt.
Daher verstehe ich nicht was ich daran noch verbessern kann?
Ich habe mal die Datei mit allen SubVIs angehängt, da ist es die Datei Driver Demo und da wie bereits beschrieben unter dem Case Measure werden die Werte in eine Channel Data geschrieben und davor kommen sie in ein Sub-VI. Wenn ihr euch das bitte mal anschauen könnt weil ich den Aufbau nicht nachvollziehen kann und schauen könnt ob es daran liegt dass immer eine 0,000 als Wert in die Tabelle geschrieben wird.
ZES_LMG95.rar (Größe: 2,27 MB / Downloads: 135)
|
|
|
27.07.2012, 08:03
(Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2012 08:04 von Y-P.)
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Graph aus VISA
Bitte nächstes Mal die LabVIEW-Version Deiner gepackten Dateien angeben.
Ich erweitere Deinen Beitrag mal entsprechend für Dich.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
27.07.2012, 09:11
(Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2012 11:42 von Y-P.)
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Graph aus VISA
Du weißt aber schon, dass in den LabVIEW-Style-Guides stark empfohlen wird, dass ein SubVI nicht größer als eine Bildschirmgröße sein soll.
Ich habe hier einen 24''Monitor und scrolle mich kaputt.
Wie Jens schon gesagt hat: Ich würde auch nochmal neu anfangen.
Die paar Sachen hast Du schnell wieder zusammengeklickt. Teile davon kannst Du ja bestimmt auch übernehmen.
Gruß Markus
(27.07.2012 08:28 )Diabolik666 schrieb: hier ist die Datei die ich umgeschrieben habe noch , damit ihr euch mal meinen Programmierstil ansehen könnt und mir eventuell sagen könnt was ich verbessern könnte wegen RaceConditions
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
| |