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!
Hallo,
ich habe das oben genante USB Modul gekauft, dann die Treiber installiert (musste die Version 2.5 nehmen, weil ich LV 7.1 nutze)
Im MAX wird das Modul unter Devices angezeigt, wenn ich jedoch im LV ein Beispiel ausführen will, kommt es zu Initialisierungsproblemen.
Da steht ich soll die example.nce laden, das Problem ist, wenn ich eine nce importieren will, zeigt der Wizard bereits eine Fehlermeldung an
und sagt: No produkts are installed....
Was soll der Unsinn? Die Treiber sind installiert und auch im MAX sichtbar, was ist da jetzt falsch?
Du versuchst die Karte mittels der Channel-API zu betreiben, was jedoch nicht möglich ist. Die Channel-API dient dem signalbasierten Zugriff auf den Bus, also anhand einer *.dbc oder hier *.nce. Die USB-Karte unterstützt allerdings nur den messageorientierten Zugriff über die Frame-API. Willst du dennoch mit Signalen arbeiten, kannst du die CAN Frame Channel Conversion Library runterladen.
Danke für die Antwort, ich denke das geht in die Richtung zur Lösung meines Problems.
Bei den Treibern sind VIs dabei wie Create Message Table und Add New Channel,
heisst das dass ich im MAX nichts konfigurieren muss, oder muss im MAX das selbe stehen wie in meinem gesamt VI?
Und dann weiter, um Daten auf die Channels zu schreiben muss ich dann wieder die Channel API wie Single Sample Periodic Output.vi benutzen?
Grüsse
Peter
28.06.2011, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2011 19:26 von schrotti.)
Du brauchst ein *.ncd oder *.dbc file. Das ncd erhältst du, indem du im Baum links im Max auf Datenumgebung->CAN-Channels einen Rechtsklick machst und die Konfiguration abspeicherst. Um eine dbc zu erhalten gibt es viele Wege, der bekannteste ist CANdb++, wobei die Konfigurationssoftware vieler Messtechnikhersteller in der Lage ist, so eine Datei zu exportieren. Ansonsten sind die VIs aus der Frame-API für dich von Nutzen, der Rest funzt nicht, da deine Karte keine Unterstützung für die Channel-API anbietet. Schau dir doch einfach die Beispiele an, die beim Download dabei sind.
Nach einer längeren Zeit habe ich das Problem fast gelöst.
Ich musste zum einen auf LV 2010 umsteigen, habe die Treiber NI-CAN 2.7.2 installiert und zusätzlich die Convertierungsbibliothek CAN Frame Channel Conversion Library 1.0.3 benutzt.
Ich kann jetzt im MAX mit dbc arbeiten, kann Werte an CAN-Bus senden (das was ich will) allerdings mit Einschränkungen.
Wenn die Werte grösser 83,xxx sind, bleiben sie dabei eingefroren (liegen also am Limit) auch wenn ich die Daten vorher durch bsp. 1000 teile, bekomme ich dann halt maximal 0,083xxx eingefroren rein.
Ich dachte es muss an dem Frame to Channel convert vi liegen, also habe ich es von 8Bit auf 32 Bit umgestellt.
Aber wenn ich das mache, sind die Werte die übertragen werden total wirr, nichts stimmt was übertragen wird.
Wie muss ich die dbc konfigurieren? Oder sonst was einstellen?