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 

cRIO - CAN: Botschaften & Signale



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!

24.02.2006, 12:53
Beitrag #1

cRIOnator Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Feb 2006



kA



cRIO - CAN: Botschaften & Signale
Hallo Leute,

wollte meine Anwesenheit hier im Forum nicht "direkt" mit eine Frage ankündigen. Darum an dieser Stelle erst einmal dickes Lob an die Admins und Mods für die großartige Arbeit.

und jetzt die Frage:Tongue

Ich benutze ein cRIO 9004 RTC, cRIO 9102 FPGA Chasis, NI 9853 (CAN Modul) und LabVIEW 8 mit RT, FPGA, cRIO Software.

Mein Problem ist, dass wenn ich versuche mehrere Signale von einer und derselben CAN Botschaft an den Bus zu schicken, jedes mal ungewollt die Botschaft mit der höchsten ID (00) mit einer Zykluszeit von 20 ms mit sende, was mir unter Umständen die komplette Buskommunikation blockieren könnte.

Ich habe mir das Beispiel „CAN Channel Transmitt (HOST).vi /…(FPGA).vi“ herausgekrallt und habe das FPGA VI mit mehreren While-Schleifen + Loop-Timer versehen…. zur periodischen Übertragung von mehreren Signalen. So kann ich die Zykluszeit der einzelnen Signale unabhängig einstellen. Wie gesagt, solange ich nur ein Signal aus einer Botschaft, oder einzelne Signale aus verschiedenen Botschaften schicke ist alles Wunderbar. Sobald zwei, oder mehr Signale aus einer Botschaft gesendet werden, kommt die 00 mit. :

Zum besseren Verständnis meiner Problematik hänge ich ein paar Screenshots an.

Oder mache ich etwas grundlegend falsch?

Ansonsten … falls jemand eine Idee hat, wie ich meine Problemstellung das periodischen Versendens von mehreren Signalen mit einstellbarer Zykluszeit vielleicht irgendwie eleganter lösen könnte, wäre ich für jede Hilfe wirklich dankbar.

Cheers,

cRIOnator


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2006, 20:44
Beitrag #2

Flamme Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Jan 2006

7.1 ... 8.6
2004
de_en

08***
Deutschland
cRIO - CAN: Botschaften & Signale
Hi,

schon 'ne Lösung?

Hast Du schon mal versucht, hinterher zu debuggen? Die screenshots sind mit ein paar implizit typecasts gespickt, hast Du Dir schon mal die U32-arrays betrachtet, die aus dem host ans FPGA gehen? Sind die koscher?

Ich weiß auch nicht so recht, ob es nicht doch ein paar Überschneidungen beim Zugriff geben kann. Ist es hier nicht sinnvoller, im FPGA vor dem zyklischen Senden (z. B. per case) zu entscheiden, ob der Wert neu übernommen werden soll oder der alte noch stimmt? So könnte man mit einer Boolschen, z. B. einem "flush", signalisieren, dass neue Daten anstehen, und die würden dann vor einem erneuten Senden erst übernommen, dann würde wieder gesendet. Dein "write"-Signal ist nur ein verbrämtes FPGA-Start-Signal, die FPGA-while-Schleifen laufen danach permanent, bis das VI "abgeschossen" wird...

Aber zurück zu Deinem Problem, kannst Du das noch etwas näher beschreiben? Könntest Du evtl. ein vi posten, das man ausprobieren kann? ich kann mir die Abhängigkeit noch nicht ganz erklären, Du bastelst Dir doch die CAN-message in Deinem host erst komplett zusammen, ehe sie auf die Reise geht...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: