04.02.2014, 11:41
Beitrag #1
|
Klausenwirt
LVF-Grünschnabel
Beiträge: 23
Registriert seit: Jan 2014
2013
2013
DE
|
Fehlermeldungen in Array sammeln
Hallo,
ich möchte eigene Fehlermeldungen(Fehlercodes), die ich als String erhalte, gerne sammeln. Dabei soll die neueste Fehlermeldung an oberster Stelle stehen. Es reicht auch aus, dass die letzten 10 Fehler angezeigt werden. Bei mir verschiebt sich aber der neue Fehler um 1 nach unten und überschreibt den alten. Nur Fehler, die nicht "0000" sind, werden hinzugefügt.
Die Initialisierung des Arrays mit "--------" und der Startwert für "ErrorCounter" sind außerhalb des VIs und findet bei Programmstart statt.
So sollte das aussehen:
Gruß vom
Klausenwirt.
|
|
|
04.02.2014, 11:44
(Dieser Beitrag wurde zuletzt bearbeitet: 04.02.2014 11:47 von Trinitatis.)
Beitrag #2
|
|
|
04.02.2014, 11:54
Beitrag #3
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Fehlermeldungen in Array sammeln
Ich rate zu "Rotate 1D Array" und "Replace Array Subset":
Bei 5 oder 10 Elementen ist es zwar ziemlich egal, aber die Vorschlag von Marko ist speicher- und performancetechnisch suboptimal. Vor allem ein Build-Array in der vorgeschlagenen Reihenfolge ist (Skalar + 1D-Array) ist im Vergleich zur umgekehrten Reihenfolge (1D-Array + Skalar) langsam.
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.
|
|
|
04.02.2014, 14:40
Beitrag #4
|
|
|
04.02.2014, 15:17
Beitrag #5
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Fehlermeldungen in Array sammeln
Hallo Marko,
hast du an constant folding und debugging options gedacht? Timing von einfachen Funktionen ist immer etwas tricky!
Christian Altenbach erklärt das immer wieder mal im NI-Forum…
|
|
|
04.02.2014, 15:26
Beitrag #6
|
|
|
05.02.2014, 10:58
Beitrag #7
|
Klausenwirt
LVF-Grünschnabel
Beiträge: 23
Registriert seit: Jan 2014
2013
2013
DE
|
RE: Fehlermeldungen in Array sammeln
Ich hab mal die Struktur angehängt, wie die Befehle ankommen und verarbeitet werden. Ich weiß nicht, wie ich hier ein Shift-Register einbauen kann, aber das ist ja nötig, sonst wird immer nur der erste Index verändert. In meiner while-Schleife gehts nicht, ich muss die Werte ja innerhalb anzeigen.
Timeout-gesteuert wird der Fehlerstring abgefragt und soll dann eben im Array ergänzt werden.
AddError.vi (Größe: 8,12 KB / Downloads: 207)
|
|
|
05.02.2014, 11:02
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2014 11:08 von GerdW.)
Beitrag #8
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Fehlermeldungen in Array sammeln
Hallo Wirt,
Zitat:Ich weiß nicht, wie ich hier ein Shift-Register einbauen kann, aber das ist ja nötig, sonst wird immer nur der erste Index verändert. In meiner while-Schleife gehts nicht, ich muss die Werte ja innerhalb anzeigen.
Wo, wenn nicht in der While-Loop, sollte das Schieberegister sonst platziert werden?
THINK DATAFLOW!
Der andere Case lautet "0000"…
Zitat:Timeout-gesteuert wird der Fehlerstring abgefragt und soll dann eben im Array ergänzt werden.
Wieso überhaupt der Aufwand mit der Event-Struktur, wenn du trotzdem Polling betreibst?
Warum nicht einfach ein WaitUntilNextMultiple mit einer 500 dran?
Wozu die zusätzliche Wartefunktion neben der Eventstruktur?
|
|
|
05.02.2014, 16:36
Beitrag #9
|
Klausenwirt
LVF-Grünschnabel
Beiträge: 23
Registriert seit: Jan 2014
2013
2013
DE
|
RE: Fehlermeldungen in Array sammeln
Ich brauche die Timeout-Struktur, weil ich noch viele andere Ereginisse abfrage. Die zusätzliche Wartefuntion hab ich nur in diesem Besispiel-VI, um die Performance zu verbessern. Ich hab gelesen, man soll eine while-Schleife nicht ohne Wartezeit laufen lassen, da sonst der PC zu viel arbeiten muss.
Danke für deine Hilfe!
|
|
|
05.02.2014, 16:38
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Fehlermeldungen in Array sammeln
Hallo Wirt,
Zitat:Die zusätzliche Wartefuntion hab ich nur in diesem Besispiel-VI, um die Performance zu verbessern. Ich hab gelesen, man soll eine while-Schleife nicht ohne Wartezeit laufen lassen, da sonst der PC zu viel arbeiten muss.
Das von dir Gelesene hatte schon recht. Aber du hast in deinem Beispiel-VI zwei Wartefunktionen: das Wait und den TimeOut der Eventstruktur. Erstens braucht man nur eine Wartefunktion in der Schleife und zweitens ist der TimeOut der Eventstruktur größer als der Wert am Wait…
|
|
|
| |