LabVIEWForum.de - Funktionsgenerator - Problem mit der Zeit

LabVIEWForum.de

Normale Version: Funktionsgenerator - Problem mit der Zeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe folgendes Problem:
Ich habe einen Funnktionsgenerator, der mir über ein DLL gewünschte Spannungen an meine Interface Karte ausgibt.
Dieser ist nun soweit modifiziert, dass er alle Aufgaben erfüllt, die er für meine Anwendung leisten soll (dank eurer Hilfe).

Aber folgendes Problem stellt sich nun, wenn ich ein größeres Zeitfenster als 15min (900sec) anstrebe, dann stimmt der Zeitwert der lokalen Variablen nicht mehr.
Da ich den Funktionsgenerator nicht selbst gebaut habe, sondern lediglich verändert , ist mir nicht bewusst, wie und wenn ja wo (wahrscheinlich in der SubVI Rampe)ich die VI so ändern kann, dass ich im bestenfall einen ganzen Tag über ein Spannungssignal ausgeben kann, ohne einen Datenüberstrom zu bekommen.

Jede 10min einen Wert zu ändern würde volkommmen ausreichen. Sprich ((24*60)/10 = 144 Werte).
Im Anhang findet ihr eine csv-Datei, die einen ganzen Tag simulieren würde (84600sec mit 144 Werten) und die VI.

Ich hoffe ihr könnt mir weiterhelfen.

Gruß Joj0oBlush
Hallo JojDo,

leider fehlt uns eben das subVI!

Zitat:stimmt der Zeitwert der lokalen Variablen nicht mehr.
Entgegen meiner bisherigen Kommentare enthält dein VI immer noch viel zu viele lokale Variablen. Die machen dir das Leben nicht leichter!
Und du solltest deine Aussage etwas genauer erläutern: welche lokale Variablen, wie äußert sich dieses "nicht stimmen", etc.

Was man schon mal sagen kann:
Deine "Zeit" berechnet sich aus dem ArrayIndex und einer Konstanten. Leider wird dabei nicht berücksichtigt, das Windows nicht immer exakt Timings einhält, das dein Programm einen "Hold"-Modus benutzt, das dein Programm einen "Reset"-Button enthält - und bestimmt noch ein paar andere komische Dinge macht…
Wenn ich in den Array große Zeiten eintrage bzw. einlesen lasse, so stimmt das numerische Element der Zeit nicht mehr. Der Sollwert der Spannung ist dann zum gegebenen Zeitpunkt der richtige, aber die Zeit hinkt hinterher.

Und wie gesagt: Beim Einlesen von Zeiten, die einen ganzen Tag mit 86400 Sekunden beschreibt gibt das Programm völlig auf. Mich würde zunächst mal nur interessieren, ob es eine Abhilfe gibt bzw. man das Programm auf Minuten oder gar Stunden umprogrammieren kann, ohne das er sich tot rechnet.
Hier ein Vorschlag für ein deutlich einfacheres "Abfahren" deines Sollprofils, vor allem da es sowieso nicht auf Geschwindigkeit ankommt:
[attachment=50733]
Gruß, Jens
Hallo Joj0o,

ich liebe ja FF-subVIs, die man in LabVIEW eigentlich nicht benötigt! Dein Merker.vi könnte auch so aussehen:
[attachment=50734]

Und deine Rampe vereinfacht sich zu:
[attachment=50735]
Bitte NIE Labels im BD verstecken!
Oh man!!!!!!!!

Ihr seid echt die besten Smile
Mit der neuen Rampe läuft das Programm 1A Anniemacht_2
________________________________________________________________________________​_______________________________________________________
P.S.: Da ich mich auch nicht mit den Timing Objekten auskenne, interessiert mich, ob ich die Zeit auch zusätzlich über ein Timing Objekt in [hh: mm: ss] ausgeben kann.
Bzw. kann LabView auch Time-Strings aus Excel/csv-Dateien erkennen und Sie an den Zeit-Array übertragen?
Hallo Joj0o,

wieso sehe ich schon wieder eine lokale Variable "Zeit Sollwert", obwohl ich dir schon gezeigt hatte, wie du ohne sie auskommst?
Hast du mal den Link "Race Condition" in meiner Signatur beachtet? Hmm

Zitat:interessiert mich, ob ich die Zeit auch zusätzlich über ein Timing Objekt in [hh: mm: ss] ausgeben kann.
Ja. Zeit in Sekunden in einer numerischen Anzeige darstellen lassen und deren Anzeigeformat auf relative Zeit ändern…

Zitat:Bzw. kann LabView auch Time-Strings aus Excel/csv-Dateien erkennen und Sie an den Zeit-Array übertragen?
Ja. CSV-Datei als Strings einlesen und selbst auswerten, z.B. mit der ScanFromString-Funktion…
Referenz-URLs