Hallo Lifter,
Zitat:Das Programm reagiert nur etwa nach einer Verzögerung von ca. 3-4 s auf den Druck des Stop Buttons, alle anderen Abbruchbedingungen beenden sofort die Schleife. Sieht jemand Auffälligkeiten in der Schleife?
- TimeOuts durch Queue-Abfrage?
- subVIs, deren Laufzeit wir nicht abschätzen können?
Zitat:Irgendwie werden die DO`s und AO`s nicht wirklich zurückgesetzt wenn ich den Stop Button drücke, seltsamerweise ist dies bei den anderen Bedingungen der Fall. ich habe mal ein Bild von der Hardware task und vom Prüfablauf beigefügt.
THINK DATAFLOW! Lokale Variablen entsprechen nicht dem DATAFLOW-Prinzip!
RACE CONDITION! Unbestimmte Zugriffszeiten auf lokale Variablen...
Du setzt zwar neue Werte in den lokalen Variablen, wenn "STOPP" gedrückt wurde - aber gleichzeitig (wahrscheinlich schon eher) wird die Ausgabeschleife beendet...
Du hast sicher schon mal die Stichworte "Producer-Consumer-Schema" und "Statemachine" gehört! Eine saubere Programmarchitektur vereinfacht ordnungsgemäße Programmabläufe ungemein...
(
Apostrophitis ist eine weit verbreitete Krankheit
)
Zitat:Im Rahmen des Projekts soll ich noch eine kleine Auswertung der Daten vornehmen, ich nehme eine Strom- und Spannungskennlinie auf und soll dortdraus die typische charakteristischen Zeitpunkte während einer prüfung bestimmen. Wie geht man in so einem Fall genau vor? Zunächst müssen die beiden Zeitpunkte (Bild Trigger) gefunden werden.
Erstmal: IndexArray neötigt nicht zwingend Werte an den Index-Eingängen...
Dann: Warum muss man die Komponenten eines Waveforms auslesen, um damit eine neue Waveform zu bauen? Warum nicht einfach die Originalwaveform weiterverwenden?
Ich verstehe nicht, warum du erst Cursor benutzt, um Punkte im Plot auszuwählen, um dann noch einmal eine Triggerfunktion hinterher drauf anzusetzen. Wie sieht dein Signal aus und was willst du daraus extrahieren?