LabVIEWForum.de
Datenerfassung - trennen einzelner Zyklen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA)
+---- Thema: Datenerfassung - trennen einzelner Zyklen (/Thread-Datenerfassung-trennen-einzelner-Zyklen)

Seiten: 1 2 3


RE: Datenerfassung - trennen einzelner Zyklen - GerdW - 17.07.2015 09:00

Hallo ghost,

Zitat:Kann es sein das ein CAN VI einen DMA belegt obwohl es auf dem RT ausgeführt wird?
Wenn das VI mit dem FPGA kommunizieren muss, der das zugehörige Modul verwaltet: möglich…


RE: Datenerfassung - trennen einzelner Zyklen - jg - 17.07.2015 09:12

Hmm ein CAN-Modul, welches du sicherlich aus dem RT per High-Level API ansprechen willst? Da kommst du aus dem Hybrid-Modus wahrscheinlich nicht raus.

Gruß, Jens


RE: Datenerfassung - trennen einzelner Zyklen - webghost - 17.07.2015 09:46

(17.07.2015 09:12 )jg schrieb:  Hmm ein CAN-Modul, welches du sicherlich aus dem RT per High-Level API ansprechen willst? Da kommst du aus dem Hybrid-Modus wahrscheinlich nicht raus.

Gruß, Jens

Was bedeutet High-Level API?

Ich verwende die CANopen Bibliothek von NI und auf der Hardwareseite das 9881 Modul.

Viele Grüsse und besten Dank für eure Hilfe Smile


RE: Datenerfassung - trennen einzelner Zyklen - GerdW - 17.07.2015 09:50

Hallo ghost,

ein HIGH-Level-API (Application Programming Interface) entbindet dich davon, auf tieferer (Hardware-)Ebene die Kommunikation direkt zu programmieren: hier also die CANopen-Lib mit einem recht einfachen Programmierinterface.

Wenn du den FPGA allein betreiben willst, MÜSSEN alle Module im FPGA-Target eingebunden sein. Und die MUSST alle Module im eigenen FPGA-VI verwalten und verwenden…


RE: Datenerfassung - trennen einzelner Zyklen - webghost - 17.07.2015 12:42

okay, das würde Bedeuten das ich die CANopen Lib nicht mehr verwenden kann und stattdessen diese Funktionen selbst auf dem FPGA programmieren muss Hmm

Nochmal zu den DMA Kanälen: Auf der cRIO sind 3 vorhanden, zwei werden durch die Scan-Engine belegt wegen dem Hybrid-Mode. Dann müsste doch noch einer frei sein?! Oder belegt CANopen nochmals einen DMA Kanal?

mfg


RE: Datenerfassung - trennen einzelner Zyklen - GerdW - 17.07.2015 13:30

Hallo ghost,

Zitat:das würde Bedeuten das ich die CANopen Lib nicht mehr verwenden kann und stattdessen diese Funktionen selbst auf dem FPGA programmieren muss
Ja.

Zitat:Auf der cRIO sind 3 vorhanden, zwei werden durch die Scan-Engine belegt wegen dem Hybrid-Mode. Dann müsste doch noch einer frei sein?!
Ja.

Zitat:Oder belegt CANopen nochmals einen DMA Kanal?
KA Glas1
Du hast noch nichts von diesem CANopen-Treiber gezeigt - und da gibt es nicht nur eine Implementierung.
Entweder selbst nachschauen oder mehr von deinem CAN-VI zeigen…


RE: Datenerfassung - trennen einzelner Zyklen - webghost - 17.07.2015 14:43

Hallo Gerd

wie wie kann ich die DMA Belegung ausfindig machen?

Im wesentlichen verwende ich diese VIs:
- CANopen Create
- CANopen SDO Read/Write
- CANopen PDO Read/Write

Im Anhang ist ein Ausschnitt aus dem Helpfile der Lib.

Grüsse


RE: Datenerfassung - trennen einzelner Zyklen - GerdW - 17.07.2015 14:52

Hallo ghost,

ich habe diese CANopen-Lib noch nie auf dem cRIO benutzt, ich nutze sie nur auf "normalen" PCs. Dort wiederum ist sie nur ein Aufsatz auf die "normale" NI-CAN-Lib. Wie (und warum) sie auch auf dem cRIO funktioniert, kann ich dir nicht sagen.

Ich kann dir nur empfehlen, alles auf dem FPGA selbst zu machen… Smile
(Für CANopen gibt es eine Referenz-Implementierung für cRIO/FPGA irgendwo auf der NI-Webseite. Entweder selbst suchen oder den Support fragen.)


RE: Datenerfassung - trennen einzelner Zyklen - webghost - 24.07.2015 09:13

Hallo Gerd und jg

in der zwischenzeit konnte das Problem behoben werden, einer unserer Labview Profis ist wieder aus dem Urlaub da.

In Slot 4 und 5 sind noch zwei Karten als Reserve eingebaut (siehe Projektbau Post#14), als wir diese beiden vom Projekt entfernt haben hat es wie gewünscht funktioniert. Vermutlich wurde hierfür ebenfalls ein DMA belegt. Die Lösung ist sicher nicht die eleganteste, aber sie funktioniert vorerst mal.

Herzlichen Dank nochmal für eure Hilfe!

Grüsse
webghost