LabVIEWForum.de - Trigger und Gate

LabVIEWForum.de

Normale Version: Trigger und Gate
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich verwende das VI "Trigger und Gate" um Kontaktunterbrechungen an einem Widerstand zu ermitteln.
Jetzt hab ich das Problem, dass wenn mein Signal (1000Werte), mehr als eine Unterbrechung während einer Ausführung hat, mir Labview das in einen internen Speicher lädt und erst bei der nächsten Schleifenausführung wieder ausgibt.

Das Problem dabei ist, dass es bis zu 100 Unterbrechungen während eines Schleifendurchlaufs geben kann und dann der Speicher extrem ausgelastet wird und die ganze Software nicht mehr funktioniert.
Kurz gesagt, ich bräuchte ein Möglichkeit dieses oder ein ähnliches VI so zu nutzen, dass nicht nur die erste Unterbrechung ausgegben wird, sonder ein Array aus allen.
Wäre super wenn ihr mir helfen könntet.

Achja mich interessiert eigentlich nur die Arraygröße der Unterbrechung.
Kannst Du mal Dein VI (inkl. Bsp.-Daten) hochladen?

Gruß Markus
Ja klar. Habs mal so unkomplex wie möglich hochgeladen:
Bevor ich's vergesse: Bitte Profil_ergaenzen
Da steht noch 2012 drin.

Gruß Markus

(06.12.2013 12:55 )E-techniker schrieb: [ -> ]Ja klar. Habs mal so unkomplex wie möglich hochgeladen:
Willst Du die Indizes herausfinden, die den Wert 20 haben?

Gruß Markus
Nein, ich will nur die Länge der Kontaktunterbrechung feststellen, d.h. ich setz einen Trigger fest z.b. bei 15 und wenn ein Wert 15 überschreitet möchte ich wissen wieviele Werte lang er den Wert überschreitet bis er wieder unter 15 ist.
Hab' Dir schnell was zusammengeklickt:
[attachment=47687]

Gruß Markus
Vielen Dank,
soetwas ähnliches hatte ich mir auch schon programmiert.
Das Problem dabei ist nur, dass ich eigentlich ein Kontinuierliches Signal habe und wenn die Kontaktunterbrechung am Ende des Arrays ist, nicht die Unterbrechung als Ganzes erkannt wird, sondern als zwei kürzere Unterbrechungen.
Hallo E-Techniker,

Zitat:Das Problem dabei ist nur, dass ich eigentlich ein Kontinuierliches Signal habe und wenn die Kontaktunterbrechung am Ende des Arrays ist, nicht die Unterbrechung als Ganzes erkannt wird, sondern als zwei kürzere Unterbrechungen.
Sowas kann man doch entsprechend durch Datenverarbeitung aufbereiten - schließlich ist LabVIEW eine volwertige Programmiersprache...
Pseudocode:
Code:
IF last datablock ends with "Unterbrechung" THEN
  IF current datablock starts with "Unterbrechung" THEN
    count as one "Unterbrechung"
  ENDIF
ENDIF
Referenz-URLs