Laufzeitproblem - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Laufzeitproblem (/Thread-Laufzeitproblem) |
Laufzeitproblem - dimitri84 - 02.08.2010 10:42 ' schrieb:@Dimitri1) http://forums.ni.com/t5/LabVIEW/Dealing-wi...uery.id=1361925 2) ' schrieb:Die Multiplikation kann das Integer Array Inplace benützen. Mit der Konversion wird explizit ein weiteres Array angelegt. Das funktioniert aber nur bei LabVIEW Built-in Nodes. Die können und probieren Inplaceness zu verwenden wenn immer möglich.Ich hab's auch schon aus dem Mund eines NI-Mitarbeiters gehört, aber leider kein Tonbandgerät mitlaufen lassen Zitat:Ungläubig bin ich schon deshalb, weile eine Inplace-Struktur mir bisher noch niemals Schhnelligkeit gebracht hat, sondern es geht ausschließlich um die Einsparung von Speicherplatz.Genau das. Dass die inplace Dinger weniger performant sind, ist kein Geheimnis. Es geht auch nur um den Speicher, was anderes hab ich nicht gesagt. Laufzeitproblem - nookie - 02.08.2010 11:40 ' schrieb:Und was LV-Professional nookkie sagt ist falsch: Die Wait-Funktion blockiert nicht den "gesamten Programmablauf". Die Wartezeit wird im Gegenteil dazu genutzt, daß alles getan wird, was sich in anderen Teilen des Programmes noch erledigen läßt. Ich glaub ich hab mich schlecht ausgedrückt, was ich sagen wollte ist, dass diese Funktion zum Ausführen genau 100ms dauert. [attachment=28404] snip09 Wenn ich die Schleife 10 mal ausführe, dauert die Ausführung des Programms ja auch wundersame weise 1 Sekunde. Und ich glaube nicht, dass das die ursprünglich beabsichtigte Funktion war. lG nookie Laufzeitproblem - jak888 - 02.08.2010 11:49 Und woher kommt dann die Verzögerung? Laufzeitproblem - Lucki - 02.08.2010 13:20 ' schrieb:Und woher kommt dann die Verzögerung?Das wird wohl an der Messtechnil liegen. Zwar hast Du ne Menge Uhren um Programm, aber ich sehe keine Konstellation, daß man damit die Dauer der Schleifenausführung zuverlässig messen kann. Du solltest dazu jede Uhr in eine eigene Sequenz packen, wo nichts anderes drin ist. Also: 1.Seq: 1.Uhr; 2.Sequ: Schleife ohne Uhr, 3.Sequ: 2.Uhr und Differenzbildung 2.U.-1.U, usw. Laufzeitproblem - jak888 - 02.08.2010 13:39 Habs mal so gemacht, aber ich habe immernoch 7 ms fehler, bei 5200 ms eingestellt... Laufzeitproblem - Lucki - 02.08.2010 14:10 ' schrieb:Habs mal so gemacht, aber ich habe immernoch 7 ms fehler, bei 5200 ms eingestellt...Sehr gutes Ergebnis, in der Hife steht: "Die Fehlertoleranz der Funktion Warten beträgt +-1ms." Macht bei 52 Aufrufen max. 52ms, und nach dem Fehlerfortplanzungsgesetz ist mit einem mittleren Fehler von Sqrt(52) = 7ms zu rechnen. Also ist Dein Beispiel eine ausgezeichnete Demonstration des Fehlerfortpflanzungsgesetzes, besser gehts gar nicht! (den Vorschlag mit dem Metronom mache ich aber jetzt nicht noch einmal, denn da ist auch ein Trick dabei, den ich jetzt nicht Lust habe zu erklären) Laufzeitproblem - jak888 - 02.08.2010 14:16 Jetzt werd ich das wohl so lassen müssen... Aber der Trick mit dem Metronom würde mich doch interessieren... kannst ihn ja mal posten, wenn du Zeit hast... Edit: ...und Lust. Im übrigen ist mir gerade aufgefallen: wenn ich das 48 Stunden laufen lasse, dann habe ich einen Fehler von fast 22 Minuten... lol... Edit(2): oder auch 2 Minuten... Edit(3): oder auch 1,3 sekunden... Ach, ich weiß doch auch nicht, was. Wird wohl Zeit, dass die Uni wieder anfängt. Das Hirn weicht langsam auf... Scheinbar... Laufzeitproblem - Lucki - 02.08.2010 14:41 Beim Metronom kommt der erste Tic zufällig in Bezug auf den Start. Also bei Verzögerung 100ms kommt der Tic irgendwann zwischen 0 und 100ms. Damit das beim ersten Schleifendurchgang nicht passiert, sollte man die Schleife nicht irgendwann starten, sondern genau dann, wenn gerade ein 100ms Tic stattgefunden hat. Z.B so: [attachment=28420] Laufzeitproblem - jak888 - 02.08.2010 15:12 Um jetzt mal Niki Laudas Aussage von gestern zu entsprechen: Ja, aber: ich hab die Schleife ja so, oder so nur um die Zeit zwischen dem drücken des Tasters und dem Schalten eines Relais zu steuern. Wenn ich das jetzt so mache, wie von dir beschrieben bleibt der Fehler ja nach wie vor bestehen. Ob er jetzt in der SChleife besteht, oder davor, ist dabei egal. Laufzeitproblem - jak888 - 03.08.2010 09:05 So, hab jetzt einen Workaround gefunden. Dabei macht er manchmal 1 ms Fehler, wegen der Gleitkommaoperationen, aber 1ms ist im Vergleich zu der Schaltzeit eines Relais wohl egal. [attachment=28431] Danke für alle Hilfe |