Verbindung zum RT-Zielsystem bricht ab
@Christian: Gute Hinweise, ich habe mir das Programm noch etwas näher angeschaut und habe noch ein paar weitere "Optimierungsvorschläge";)
@NICO
FPGA VI:
Mir ist aufgefallen, dass Sie auf dem FPGA-VI kein Schleifentiming verwenden, dadurch werden im Takt des Dutycycles des PWM Werte generiert, vermutlich ist dies so gewünscht.
Bei der analogen Ausgabe sieht dies anders aus: rechentechnisch werden ca. 40 ticks für die Abarbeitung der analogen Ausgabe, das Auslesen des Frontpanel-Controls und die Schleifenbearbeitung benötigt. Dies entspricht bei einer Frequenz von 40 MHz ca. 1 MHz Schleifentiming. Das von Ihnen verwendete odul "NI-9263" bietet jedoch physikalisch eine maximale Rate von 100 kS/s. Dementsprechend wird hier nur jeder 10. Wert ausgegeben. Ein Schleifentiming wäre hier sinnvoll.
Ein kleiner Tipp für die Messung der PWM: anstatt der "select" Funktion für True/False können Sie auch einen Inverter ("Negierer) verwenden, dies macht das Diagramm übersichtlicher.
RT VI:
Sobald die CPU-Auslastung 100% erreicht, bricht die Kommunikation zum Host ab. In diesem Fall hilft nur ein Reset des Controllers. Einen groben Eindruck über die akutelle CPU-Auslastung liefert der "Distributed System Manager", diesen können Sie in LabVIEW über die Menüzeile » Tools (ungefähr in der Mitte) starten.
Bei der näheren Betrachtung Ihres RT-VIs fällt mir sofort im ersten Case auf, dass auch hier kein Schleifentiming verwendet wurde, dadurch versucht die CPU diese Schleife mit maximaler Leistung (Geschwindigkeit) abzuarbeiten. Dadurch kommt es zu dieser hohen Auslastung. Platzieren Sie einfach ein "Timing » Wait (ms)" oder "Timing » Wait next multiple (ms)" in dieser Schleife mit einem Wert >0, danach sollte die Auslastung schon wesentlich besser aussehen.
Das Gleiche trifft auf die Schleife zu, in der Sie die TDMS-Datei schreiben. Die obere Schleife (auslesen der FIFOs) scheint vom Timing her in Ordnung zu sein, da bei den "Timed Structures" das Timing bereits implementiert ist.
Viele Grüße
Marian
|