LabVIEWForum.de
Fortlaufende 'Ereignis-Tabelle' erzeugen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Fortlaufende 'Ereignis-Tabelle' erzeugen (/Thread-Fortlaufende-39-Ereignis-Tabelle-39-erzeugen)



Fortlaufende 'Ereignis-Tabelle' erzeugen - xyzabc - 16.08.2007 09:57

Hallo,

möchte mehrere Temperaturen messen und bei einer Grenzwertüberschreitung einen Eintrag in eine Tabelle machen (Uhrzeit, Wert, Fehlerort).

Dies habe ich mit verschieden Cases gelöst, allerdings hab ich das Problem, dass die Tabelle nicht fortlaufend ausgefüllt wird, sondern immer nur mit dem einen auftretenden Fehler.

Im Anhang ist ein Beispiel, wie ich es bisher mache.

Vielleicht könnt ihr mir helfen, bzw. habt Tipps, wie man dies 'geschickter' lösen kann.

Danke.


Fortlaufende 'Ereignis-Tabelle' erzeugen - Achim - 16.08.2007 10:10

Ganz einfach:

Du musst den alten Tabelleninhalt auslesen und den neuen Tabelleninhalt mt "BuildArray" hintendran hängen/vornedran schreiben (je nach Wunsch). Da es sich bei ner Tabelle um ein 2D-(String-)Array handelt, musst du vor und/oder nach dem BuildArray noch ein "Transpose 2D Array" (aus der Array-Palette) durchführen.

Du brauchst übrigens die lok. Variablen fürs schreiben nicht, du kannst über nen Tunnel direkt auf das Tabellen-Terminal! Allerdings brauchst du's fürs auslesen des alten Inhalts in allen Fällen!

Gruss
Achim


Fortlaufende 'Ereignis-Tabelle' erzeugen - xyzabc - 16.08.2007 10:38

Super, vielen Dank Achim. Funktioniert jetzt.

Das war ja wohl doch einfacher als gedacht...

Kannst du nochmal drüberschauen, ob du das so meintest?! Das "Transpose 2D Array" hab ich nämlich auch nicht gebraucht.

Und noch eine allgemeine Frage: Kann es nicht zu Problemen kommen, wenn ich eine Variable lese und (gleichzeitig) schreibe? Das müsste doch hier der Fall sein, oder?

Danke.


Fortlaufende 'Ereignis-Tabelle' erzeugen - Achim - 16.08.2007 11:29

Hi,

ja so hab ichs gemeint!

Es wird hier keine Probleme geben, weil du erst liest und dann schreibst. Das ist das Prinzip von LV: Datenflussgesteuert, d.h. eine Aktion wird erst ausgeführt, wenn alle dafür notwendigen Daten vorliegen...im Blockdiagramm durch das Programmmieren von links nach rechts dargestellt...1. Variable lesen....2. Build Array....3. Variable schreiben.

Zwei Tips:

1. Mach gerade und direkte Linien und programmier immer schön von links nach rechts...möglichst ohne Drähte zurückzuführen! (siehe VI)
2. Zeig FP-Elemente im BD nicht als Icon an, dann sparst du sehr viel Platz (rechtsklick aufs Element im BD, deaktivieren von "View as Icon"

Noch was: Du brauchst keine For-Schleife, du kannst direkt an das Build-Array dran! Weil du hier nur ein 1D-Array anhängst (an ein vorhandenes 2D-Array), brauchst du auch kein Transpose (siehe VI)...hatte ich zuerst übersehen...


Gruss
Achim

[attachment=8128]