LabVIEWForum.de
NI-CAN Channel API - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: NI-CAN Channel API (/Thread-NI-CAN-Channel-API)

Seiten: 1 2


NI-CAN Channel API - deicebear - 22.11.2010 15:50

Hallo,

ich habe ein Programm erfolgreich mit einem PEAK PCAN-Dongle schreiben können, und schaffe es Daten zu senden und reichlich Daten zu empfangen. Das war eine Vorübung um die Funktionweise von CAN-Daten zu erlernen mit multiplexen und demultiplexen. Nun habe ich mir mein eigentliches Ziel bestellt, das USB-CAN Interface von National Instruments: USB-8473 -> Link: http://sine.ni.com/nips/cds/view/p/lang/en/nid/203384

• Jetzt zu meinem ersten Problem, aktuell schaffe ich es schon Daten über den CAN zu senden und diese mir im MAX anzeigen zu lassen, aber ich finde nirgendswo auf der CD oder im Internet die Bibliothek mit den vorgefertigten API, wie hier in den Screenshots zu sehen: http://zone.ni.com/devzone/cda/tut/p/id/4294

In der Anleitung steht halt nur drinne "Nehmen die die CAN database und so importieren sie diese", meine Frage ist nun:

Wo bekomme ich die "NI-CAN Channel API" denn her? Wieso finde ich diese nicht? Welche Dateiendung wird die wohl haben (*.lvlib)? Muss man sich bei NI vielleicht einloggen um was Downloaden zu können? Und wenn ich schon dabei bin, wie kann ich so eine Libary fest einfügen, bei der Bibliothek von PEAK habe ich auch immer nur auf die *.lvlib zugegriffen, wenn ich ein weiteres Unterprogramm daraus haben wollte.

Vielen Dank und einen schönen Abend noch.


NI-CAN Channel API - Achim - 22.11.2010 15:56

Wenn du den CAN-Treiber installierst, der mit deiner Karte kommt (oder die NI DevSuite Device Driver DVD hast), sollten die CAN-VIs auf deiner Palette erscheinen...


NI-CAN Channel API - deicebear - 25.11.2010 11:30

Hi Achim,

Heute bin ich mal wieder fleißig am Programmieren und vielen Dank, ich habe die ganzen VI´s gefunden und sogar Examples dazu, so komm ich super voran. Bis zur nächsten Frage ;-D


NI-CAN Channel API - deicebear - 25.11.2010 16:24

So, schönen guten Abend, da bin ich wiedermal mit der nächsten total einfachen Frage, wahrscheinlich.

Ich habe das Problem, dass mir nur 3 Hexzeichen zu meinem anderen PC, von dem LabVIEW PC, gesendet werden. Ich habe das MultiCAN-VI benutzt, was im angehangen Bild links markiert ist. Nun weiss ich ja, dass es den standard Mode mit 11-Bit gib und den extended Mode mit 29-Bit. Laut beschreibung soll man eine 200000000 eintragen oder in den Einstellungen auf Extended umstellen. Nun habe ich schon 4 Stunden gesucht und in allen Modes rumprobiert, aber ich bekomme es nicht hin, dass er mir die ID als extended sendet, ausser bei 2000000000, da bekomm ich eine 8-Bit ID die allerdings 00000000h lautet.

Es ist wahrscheinlcih wieder nur ein kleiner Schalter oder eine Formateinstellung, aber ich bekomm es nicht hin, kann mir bitte jemand helfen?

Schönen Abend und ein tolles WE+1. Advent noch, bin dann Montag wieder hier am RechnerSmile

Gruss, deicebear


NI-CAN Channel API - Achim - 26.11.2010 07:04

Schau dir im ExampleFinder mal das Beispiel "Transmit Receive same Port.vi" an, da wir gezeigt wie es konfiguriert werden muss!


NI-CAN Channel API - deicebear - 29.11.2010 16:31

Da bin ich wieder aus dem Wochenende. Habe mir das VI angesehen Achim und muss dir herzlichst danken, genau das was ich gebraucht habe. Bin sogar dank Deiner Hilfe fast komplett fertig mit dem Programm.

Für den nächsten der auf die selbe Frage stoßen sollte, habe die Lösung zwischen normal und extended ID für den NI-CAN als Bild angehangen und rot umrahmt.

Die letzte Frage wäre, warum er bei mir ab und an alle Mux-Channel (multiplexer) durcheinanderwürfelt, dann wieder für eine Zeit lang konstant alle gleich behält, und dann kommt wieder so eine Sekunde wo es ausschaut als würde sich das Programm verhaspeln und routiert kurz die Mux-Channel. Hatte das gleiche Problem vorher auch mit dem PEAK-Dongle, habe da nur die Taktraten der While-Schleifen geändert und dann blieb alles Konstant, funktioniert bei dem NI-USB-Can leider nicht. Woran kann das denn liegen?


NI-CAN Channel API - Achim - 01.12.2010 07:22

' schrieb:Die letzte Frage wäre, warum er bei mir ab und an alle Mux-Channel (multiplexer) durcheinanderwürfelt,....kund routiert kurz die Mux-Channel

Was denn für'n MUX? Ich kann dir nicht folgen...


NI-CAN Channel API - deicebear - 07.12.2010 08:47

Na man nennt doch Daten die über einen Bus seriell gesendet werden Komplementärsnachricht oder so gesendet, sprich 14 Bits oder 29 Bits als Kennung: Ah, das ist ein Paket von A und nicht von B bis Z. Und dann folgen meist 6 Bytes welche noch mehr Informationen enthalten und die ersten zwei Bytes dienen als Erkennung zu welchem Multiplexer (MUX) die anderen 4 Bytes gehören. Wenn man eine Nachricht über den CAN sendet, dann multiplext man diese und wenn man sie empfangen will, dann demultiplext man (DEMUX).

Ich habe hier eine CAN-Nachricht von ID 7872342H z.B. und diese enthält 19 MUX mit jeweils 4 Bytes im Anhang, welche 1-3 Bytes, Wörter oder Doppelwörter enthalten mit verschiedenen Informationen, die entschlüsseln sich ja wie ein Verzeichnisbaum im Windows Explorer oder mal so dargestellt in Argumenten:
1 ms - Start zum auslesen der CAN-Massage
7872342H.Mux0.Nachricht1 (Byte) ähnlich wie C:MeineBilderUrlaubFoto1.jpg
7872342H.Mux0.Nachricht2 (Byte) ähnlich wie C:MeineBilderUrlaubFoto2.jpg
7872342H.Mux0.Nachricht3 (Word) ähnlich wie C:MeineBilderUrlaubVideo1.mpeg
7872342H.Mux1.Nachricht1 (Byte) ähnlich wie C:MeineBilderArbeitFoto1.jpg
7872342H.Mux1.Nachricht2 (Byte) ähnlich wie C:MeineBilderArbeitFoto2.jpg
7872342H.Mux1.Nachricht3 (Word) ähnlich wie C:MeineBilderArbeitVideo1.mpeg
7872342H.Mux2.Nachricht1 (dWord) ähnlich wie C:MeineBilderFreundinVideo1.mpeg
7872342H.Mux2.Nachricht2 (dWord) ähnlich wie C:MeineBilderFreundinVideo2.mpeg
7872342H.Mux3.Nachricht1 (Byte) ähnlich wie C:MeineBilderParkFoto1.jpg
7872342H.Mux3.Nachricht2 (Byte) ähnlich wie C:MeineBilderParkFoto1.jpg
7872342H.Mux3.Nachricht3 (Word) ähnlich wie C:MeineBilderParkVideo1.mpeg
7872342H.Mux4.Nachricht1 (4 Bytes) wie C:MeineBilderTempFoto1.jpg
87 ms - Eigentliches Ende der Nachricht
100 ms - Ende des Lese-Zeitfensters
101 ms - neuer Start nächste Can-Massage

So, und jetzt habe ich das Problem, dass sich die Multiplexer: Muxe einfach so, sporadisch, verschieben. Das heisst die 4 Bytes mit den verschiedenen Nachrichten werden falsch decodiert und wenn ein Word zum Beispiel als 2 verschiedene Bytes interpretiert wird, ergibt das zwei unterschiedliche Nachrichten, welche vorher nur eine war aber jetzt eine komplett andere Information wiederspiegelt, nur weil sie in den falschen MUX geraten ist und anders Interpretiert wird oder z.B. Video1 aus Urlaub und Arbeit gleich interpretiert werden, dann auch richtig zusammengesetzt, aber sie landen dann halt im falschen Ordner.

:Dalso ich hoffe man kann der schrägen Darstellungsweise folgen, dass wäre so meine Assoziation zum MUX und DEMUX egal ob nun per CAN oder Aktenordnersortierung.


RE: NI-CAN Channel API - deicebear - 22.02.2011 11:45

Kennt sich vielleicht jemand damit aus, wie ich es im LabVIEW hinbekomme, dass die Identifer getrennt werden voneinander. Dabei ist egal welche BUS-API / CAN-API ihr einsetzt, mir geht es eigentlich nur um das Prinzip, da ich es nicht getrennt Sortiert bekomme ob die Daten nun von ID1 oder ID2 kommen. Habe es schon mit dem NI-Can und PCAN getestet.


RE: NI-CAN Channel API - schrotti - 26.02.2011 15:05

Bahn

Lad das Protokoll hoch oder irgendetwas anderes, was die Nachrichten beschreibt, dann kann dir geholfen werden.