LabVIEWForum.de - NI 8476 LIN Problem

LabVIEWForum.de

Normale Version: NI 8476 LIN Problem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

ich sitze gerade vor einem Programm, dass einen Batterie Monitoring Sensor auslesen soll, was es nicht tut. Das Programm basiert auf einigen Vorgängerversionen, die in anderer Verbindung schon einmal funktioniert haben.

An der Programmierung ist definitiv nichts falsch und auch der BMS ist in Ordnung, was mit einem anderen Tool geprüft wurde. Leider empfange ich nichts vom BMS.

Gibt es eventuell ein primitives VI, mit dem ich dem BMS einfache Nachrichten schicken könnte und anfragen könnte, was zurückkommt?

Eine mögliche Fehlerquelle, die ich noch nicht ausshließen konnte ist die LIN Version. Alle vorherigen Programme liefen über die version 2.0. Der BMS allerdings läuft über die Version 1.3. Wie kann ich die LIN Version einstellen?
Kannst Du mal Dein VI hochladen?

Gruß Markus
Nein, sorry, VI kann ich keine Hochladen.

Ich denke, dass das Problem tatsächlich sein könnte, dass die falsche LIN Version eingestellt ist.
Bei NI steht auch geschrieben, dass das 8476 sowohl LIN 1.3 als auch LIN 2.0 kann. Ich find nur leider die Funktion nicht, um das einzustellen. Das muss man doch bestimmt irgendwo festlegen können. In der Dokumentation der ncSetAttr.vi steht auch nix von LIN 2.0 oder LIN 1.3 drin.

Hat jemand das schonmal umgestellt oder sonst irgendwie erfahrung damit. Bin für jeden HInweis dankbar.
Habe auch kein Ahnung. Aber auf jeden Fall müßte das 8476 doch im M&A Explorer eingetragen und die ordnungsgemäße Funktion dort bescheinigt sein. Möglicherweise läßt sich dort auch etwas konfigurieren.
Im M&A explorer ist die Karte zwar aufgeführt, aber ich habe nirgends gefunden, wo man die LIN Version einstellen kann.

Im Programm kann ich auch nirgends was finden. Bei der initialisierung werden mit dem CSetAttr.vi alle wichtigen Eigenschaften, wie Baudrate usw. festgelegt.

Bisher war halt leider immer LIN 2.0 gefragt deswegen ist da nirgends eine Einstellung vorgesehn.
Hiho,

ich hab das Problem mal an NI geschrieben:

Der Unterscheid zwischen LIN Protokoll 1.3 und 2.0 ist die Checksumme:

Daher muss bei der Initialisierung des LIN-Bus die Checksumme geändert werden:

Wie gesagt war der Wert bisher immer 1. Für das ältere Protokoll muss der Wert auf 0 gesetzt werden. Das entspricht dem Modus Classic; passt ja irgendwie.

Also:
LIN Checksum Type:

0 -> LIN 1.3
1 -> LIN 2.0

Das ganze kann man mit der Funktion: ncSetAttribute verändern.
Referenz-URLs