Hallo zusammens,
Ich arbeite mich gerade in LabView FPGA ein und habe ein Problem mit einem cRIO 9075 im Hybrid-Modus.
Ich benutze SoftMotion-FunctionBlocks um einen Motor über einen NI9514 anzutreiben. Bei erreichen einer bestimmten Position zeichne ich die Werte an Analog-Eingängen von einem NI9239 auf, zusätlich ein Positionssignal von einem Glasmaßstab, der über die Digitaleingänge eines NI9411 und den Softmotion Incremental Encoder Decoder abgefragt wird. Die Daten werden wie im 9239-Beispiel in einen DMA-Fifo geschaufelt.
Auf dem cRIO fahre ich nun über einen Straight-Line-Move-FunctionBlock auf Position A, dann auf Position B und zurürck auf Position A.
Auf der Strecke A-B möchte ich die Werte aus dem DMA in eine TDMS-Datei schreiben. Das löse ich zur Zeit über eine Stacked Sequence:
Erster Frame hat einen Move-Baustein, zweiter Frame hat den zweiten Move-Baustein und die Funktion zum auslesen des FIFO (über zwei verschachtelte Read-Bausteine, die verbleibenden Elemente des ersten an die Number of Elements des zweiten, das Array wird dezimiert und über Schieberegister ein neues für jeden Kanal aufgebaut. Wenn die Position erreicht ist beednet die Schleife, ein Array wird gebaut und in eine TDMS-Datei geschrieben. Danach folgt ein Frame mit der Fahrt zurück zur Ursprungsposition.
Zu Beginn wird die ScanEngine reinitialisiert (wie im entsprechenden Beispiel), die FPGA-Referenz geöffnet und der FPGA-Run-Befehl gesendet.
Der Reglerfreigabe wird auch gesetzt usw. und die FPGA-Referenz am Ende wieder geschlossen.
Das funktioniert auch wie gewünscht, aber nur ein Mal; beim zweiten Mal verliere ich die Verbindung zum Target, irgendwann währen oder direkt nach der Init-Sequenz. Dann muss ich den cRIO über MAX neu starten, die FPGA-Vi von Hand starten, die Achse neu deployen und es funktioniert wieder. Ein Mal.
Die CPU- und Speicherauslatung beobachte ich über den Distributed System Manager, beides bleibt im Bereich um 50%, daran scheint es also nicht zu liegen.
Muss ich sonst noch irgendwas beachten?
Ich bin leider gerade unterwegs und habe den USB-Stick mit dem Projekt nicht dabei, verzweifle aber gerae ein wenig an dem Problem. Daher hoffe ich, dass euch die Beschreibung schon mal weiterhilft. Vielleicht kann mich ja jemand in die richtige Richtung schubsen ![Smiley Happy Smiley Happy]()
Vielen Dank schon mal im Vorraus,
Antje