INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Bidirektionale Kommunikation über Digitalport der PCIe6363



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!

13.10.2009, 11:00
Beitrag #1

SebastianH Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2009

8.6
2008
de

7749
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
Hallo,
Ich habe folgendes Problem. Ich möchte mit LabVIEW abwechselnd vom Digitalport der NI PCIe6363 lesen,bzw. darauf schreiben. Lesen und Schreiben sollen jeweils mit einer Rate von einigen kHz geschehen. Durch das ständige neue Init/Read(Write/Clear) des Kanals erreiche ich aber nur Raten um die 200Hz.
Hat vielleicht irgendwer eine Idee wie man den Code effizienter gestalten könnte oder sind meine angestrebten Samplingraten mit LabVIEW einfach nicht zu erreichen.

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2009, 11:05
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
Hi,
das kriegst du SW-technisch nicht auf die Reihe...das müsstest du als HW-Lösung (=Microprozessor) realisieren!

Evtl. sagst du mal, was du vorhast...vermutlich willst du SW-technisch irgend eine Kommunikations-Schnittstelle simulieren, right?

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2009, 11:39
Beitrag #3

SebastianH Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2009

8.6
2008
de

7749
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
Genauso ist es.
Die Karte soll mit einem FPGA kommunizieren. Der FPGA bekommt die Sollwerte für eine Scannerpositionierung übergeben. und liest die Istposition von einem Inkrementaldrehgeber aus. Daraus bildet er die Regeldifferenz, die er D/A-gewandelt an den PID-Regler weitergibt. Über die zu simulierende Schnittstelle werden also die Sollwerte der Regelung vorgegeben, sowie die Istwerte des Inkrementaldrehgebers entgegengenommen und protokolliert.
Als Backup- Lösung habe ich auch schon angedacht über zwei verschiedene Ports der Karte zu lesen und zu schreiben und diese Ports über einen Mikroprozessor zum FPGA durchschalten zu lassen. Würde das LabVIEW direkt hinbekommen wäre es allerdings optimal...

Danke erstmal für die schnelle Antwort...
Gruß Sebastian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2009, 21:04
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
' schrieb:Ich möchte mit LabVIEW abwechselnd vom Digitalport der NI PCIe6363 lesen,bzw. darauf schreiben.
[attachment=49842:digital_in_out.PNG]
Solange du auf verschieden Lines eines Ports lesen und schreiben willst, dann geht das meines Wissens nach einfach so. Du brauchst nicht den Read-Part für Line1 stoppen, um auf Line0 des Ports zu schreiben.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.10.2009, 10:24
Beitrag #5

SebastianH Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2009

8.6
2008
de

7749
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
Da hast du recht. Allerdings will ich auf einem 12bit Datenport parallel lesen und schreiben.
Ich werde wohl zwei 12 bit Ports nehmen. Auf einem lese ich kontinuierlich mit 4kHz und auf dem anderen schreibe ich. Die Richtung des Prüflingsinterface wird mit einem Read- und einem Writesignal gesteuert.
Es sollte also funktionieren die beiden Ports zu verbinden und bei read access den write Port über einen tristate-Transceiver wegzuschalten. Der Read-Port kommt direkt ans Prüflingsinterface. So wird der Writeport beim Lesen vom Bus getrennt und beim Schreiben hört der Readport halt mit. Das Timing sollte sich Softwaremäßig richtig konfigurieren lassen.
Hat irgendwer eine bessere Idee????
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.10.2009, 11:50
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Bidirektionale Kommunikation über Digitalport der PCIe6363
Hi,
also erstmal:

   

Und wie liest du mit 4 kHz von einem digitalen Port? Willst du das per SW-timing (Schleife?) machen? Das wird nix...

Ich weiß jetzt aber auch nicht, wie man die Abtastrate für nen DI-Port bei kontinuierlichem Betrieb einstellt...außer, man liest ein "digitale Waveform" an jedem Channel ein, dafür gibts Beispiele...wie du diese dann aber synchronisiert (Channels untereinander), weiß ich nicht...

Wer weiß da mehr?

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ereignis auslösen bei Wertänderung am Digitalport Lucki 5 7.019 01.03.2007 20:20
Letzter Beitrag: cb

Gehe zu: