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!
als LabVIEW Neuling habe ich ein (kleines) Problem: der Treffer in einer Case Struktur soll gezählt werden um als Index für ein Array genutzt werden.
Ich dachte an eine globale Variable die bei jedem Case Treffer um 1 hochzählt. Diese Variable will ich dann außerhalb der Case Struktur verwenden.
Kann mir jemand auf die Sprünge helfen wie ich so etwas realisiere ? (Ich benutzte LabVIEW 7.1).
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Case Struktur - Treffer zählen
Hallo.
Kannst Du das evtl. noch etwas genauer erläutern? Was meinst Du mit Treffer im Case?
Lade doch mal Dein VI hoch.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
als LabVIEW Neuling habe ich ein (kleines) Problem: der Treffer in einer Case Struktur soll gezählt werden um als Index für ein Array genutzt werden.
Ich dachte an eine globale Variable die bei jedem Case Treffer um 1 hochzählt. Diese Variable will ich dann außerhalb der Case Struktur verwenden.
Kann mir jemand auf die Sprünge helfen wie ich so etwas realisiere ? (Ich benutzte LabVIEW 7.1).
Gruß, Mic
ich würd das SO lösen:
ich hab in dem Beispiel Strings verwendet, weil ich nicht weiss, nach welcher "Eigenschaft" du suchen willst. Das obere String-Array enthält die Elemente nach denen gesucht werden soll, das untere String-Array sind die Daten, die durchsucht werden sollen. Die Ausgabe (das Int-Array) enthält die Anzahl der Treffer, und eine zusätzliche Spalte, die die Anzahl der nicht "getroffenen" Elemente enthält ...
Hallo, ich versuch's noch einmal genauer zu erklären (ist immer schwierig ein Problem zu schildern):
Ich lese über die serielle Schnittstelle verschiedene Strings die wiederum Temperaturinformationen verschiedener Sensoren enthalten. Diese Informationen will ich grafisch darstellen - und zwar je Sensor. Mein Vi initialisiert die ser. Schnittstelle, liest sie regelmäßig aus und analysiert die empfangenen Strings in einer Case Struktur. Wird eine Temperaturinformation empfangen (gekennzeichnet über einen bestimmten Charakter am Stringanfang) wird geprüft von welchem Sensor der Wert kommt (steht alles im String) und entsprechend in ein Array eingeordnet.
Jetzt will ich Temperaturverläufe über 24 Std. anzeigen - ich muß also den Arrayindex bei jedem neuen Tempearturwert hochzählen - also immer wenn ich auf Kanal x einen neuen Wert bekomme (Treffer in dem entsprechenden Case Zweig) soll diese Variable um 1 hochgezählt werden ..... ist das so verständlich ?
Ich muss also in jedem Case Zweig einen Counter dann erhöhen wenn die Case Bedingung eingetroffen ist.
als LabVIEW Neuling habe ich ein (kleines) Problem: der Treffer in einer Case Struktur soll gezählt werden um als Index für ein Array genutzt werden.
Ich dachte an eine globale Variable die bei jedem Case Treffer um 1 hochzählt. Diese Variable will ich dann außerhalb der Case Struktur verwenden.
Kann mir jemand auf die Sprünge helfen wie ich so etwas realisiere ? (Ich benutzte LabVIEW 7.1).
Gruß, Mic
Hm
ich denke Mal dieses Vi könnte dir etwas nützen. Zumindes habe ich meine Problem so gelöst auch wenn das DifferenzialIcon nicht richtig in Schleifen Funktioniert.
' schrieb:... und entsprechend in ein Array eingeordnet.
Jetzt will ich Temperaturverläufe über 24 Std. anzeigen - ich muß also den Arrayindex bei jedem neuen Tempearturwert hochzählen ....
Hast Du für jeden Sensor ein eigenes Array? Oder ein gemeinsames für alle Sensoren?
Im ersten Fall brauchst Du keinen Indexzähler, weil Du den neuen Wert problenlos an ein bestehendes Array anhängen kannst.
Den zweiten Fall kann ich mir mit Deiner Beschreibung der Aufgabe nicht vorstellen.
... im Moment arbeite ich noch mit einem Array (2 Dimensional), habe zur Zeit nur 3 Sensoren im Betrieb, Ziel sind 15. Wieso kannst du dir das mit einem Array nicht vorstellen ? Wäre die Arraygröße beim loggen von 15 Sensoren für 24 Std ein Problem (ca. alle Minute ein Wert pro Sensor) ?
' schrieb:... im Moment arbeite ich noch mit einem Array (2 Dimensional), habe zur Zeit nur 3 Sensoren im Betrieb, Ziel sind 15. Wieso kannst du dir das mit einem Array nicht vorstellen ?
Hallo Mic,
aus Deiner Beschreibung geht nicht hervor, ob alle Sensoren immer in gleichen Zeitabständen Werte liefern.
In einem 2D Array wäre das aus meiner Sicht einfacher, wenn Du für alle Sensoren eine gleiche Anzahl von Werten hättest.
Eben hab ich nachgelesen, daß Du für jeden Sensor eine eigene grafische Anzeige erstellen möchtest. Dann ist es egal.
Mach weiter so!
o.k. korrekte Beschreibung ist immer so eine Sache.
Ja, da die Sensoren zyklisch sequentiell abgefragt werden sollte für jeden Sensor die gleiche Anzahl von Messwereten vorliegen ... o.k., ich bleib erst mal bei meinem Konzept.
Das löst natürlich noch nicht mein Problem wie ich einen Zähler realisiere der mir das Einordnen der Werte in das Array erlaubt - ich denke gerade darüber nach ob das uberhaupt notwendig ist ... kann man nicht einfach den neuen Wert immer ans Array anhängen ? Andererseits ist dieses Array ja ein Ringspeicher für 24 Std, da brauche ich schon den Zähler als Pointer in den Speicher ....
Ich sehe mir heut Abend mal das Beispiel von Kopi an, habe im Moment keinen Zugriff auf LV ... mal sehen wie's dann weitergeht.