Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
04.06.2013, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2013 09:24 von erik.sonnenschein.)
also meine Messwertanalyse muss nicht online erfolgen, daher reicht es, wenn ich die Daten an einen Host geschickt bekomme und dort speichern kann.
allerdings hab ich jetzt eine neues Problem... hab zunächst erstmal alle Anzeigen auf fpga und rt Level weggemacht, um die Last zu reduzieren.
ich schreibe in den FIFO Zeitwert, Messwert, Zeitwert, Messwert ... (allerdings noch ohne eigenen Counter, sondern mit dem Tickcount s. attachment fpga)
Wenn ich mir jetzt eine Sonde auf RT Level mache, sehe ich in der Zeitkritischen Schleife noch alle Daten (jeder ms-Wert und Messwert nacheinander).
Auf dem Rechner kommt allerdings zB. nur noch so was hier an
Zum einen sind die Messwerte nicht mehr äquidistant verteilt ? manchmal sind 60 ms dazwischen Zeit, oft nur 20 ms. Und wieso überhaupt 20 ms, ich hatte eigentlich 1 ms Wartezeit eingestellt zwischen den Messpunkten eingestellt. Und auf dem RT Level laufen die beiden Schleifen mit 10 ms, dh in 10 ms sollten 20 Werte ankommen (10 Messwerte und 10 Zeitwerte im Wechsel). Ich habe für die Variable "Daten" Typ Netzwerk eingestellt und bei Netzwerk Puffern aktiviert mit 1 Array von 2 Elementen. RT FIFO hab ich auch aktiviert, Einzelnes Element, 1 Array, 2 Elemente. Sind die Einstellungen richtig zum Zwischenspeichern?
Allerdings müsste (falls der Fehler am Zwischenspeichern lag) ja eigentlich alle 10 ms Messwerte aufgezeichnet werden, da determistischer und nichtdeterministischer Loop mit 10 ms laufen. Muss ich hier überhaupt den gleichen Wert einstellen ? War die Rechnung oben eigentlich richtig ? in 10 ms 20 Elemente ? Soll ich den Fifo dann bei der Konfiguration auf 30 Elemente stellen auf RT Seite zB Anzahl Elemente von 30 einstellen mit einem Timeout von 15 ms ? Und auf FPGA Seite dann auch Timeout von 15 ms ? Wären das sinnvolle Werte ?
Auf der Hostseite kann man, wenn man sich die Anzeige der Daten und der Iteration der Netzwerkschleifen beobachten, dass manchmal bei jedem Schleifendurchlauf neue Werte kommen bzw aktualisiert werden und manchmal Sekundenlang nichts passiert und nur die Iterationen hochzählen. Das scheint irgendwie ein Kommunikationsproblem zu sein, aber ich dachte man hat extra die Netzwerkstreamfunktionen um eine Art Handshaking zu machen ? Oder muss von der Hostseite noch eine Art Bestätigung zurückkommen ?
hoffe, dass das hier noch einigermaßen reingehört...
mfG Erik
ps: beim Ausführen steht öfters die Meldung:
Warte auf Antwort des Real-Time Zielsystems (CRIO....)
Verbindung beenden? Woher kommt die große Auslastung?