16.08.2017, 17:41
Ich wollte mal in die Runde fragen, hat hier jemand Erfahrung mit XNET-Modulen (z.B. LIN-9866 und CAN-9862) auf den cRIOs der Baureihe 906x.
Ich habe hier nämlich gerade ein Riesenproblem damit. Zum Einsatz kommt gerade LabVIEW 2016 mit XNET 16.1. Prinzipiell funktioniert mein Programm, allerdings müssen für eine stabilen Langzeit-Lauf die CAN bzw. LIN-Gegenstellen, mit denen ich kommuniziere, vorhanden und aktiv sein. Ist dies nicht der Fall, dann stürzt irgendwann XNET-Write mit einem Buffer-Overflow ab, was dann die gesamte Scan-Engine auf dem cRIO mit ins Nirvana reißt.
Ich kann das Problem inzwischen forciert und reproduzierbar erzeugen. Im Prinzip langt es, das Bsp "LIN Frame Input Output Same Port.vi" aus dem NI Example Finder aufzurufen und das Timing aus der While Loop zu entfernen (ich weiß, ist nicht die feine englische, aber so tritt der Absturz innerhalb kürzester Zeit ein), danach das VI auf einem cRIO mit LIN-Modul ohne Gegenstelle, nur Spannungsversorgung für den Transceiver, starten und innerhalb von 1 Minute habe ich einen Buffer-Overflow, der sich durch keinerlei weitere Warnungen andeutet. Bevor einer fragt, ich habe auch schon versucht, immer wieder XNET-Flush aufzurufen, ohne Erfolg.
Das extrem Üble ist jetzt: Nach diesem XNET-Absturz habe ich z.B. auch keinen Zugriff mehr auf ebenfalls verbaute DIO-Module per Scan-Engine. Wie schon geschrieben, reißt das die Scan-Engine komplett mit runter. Auch ein Neustart des cRIO hilft nicht wirklich, da ich den XNET-Module zusätzlich die externe Versorgung des Transceivers klauen muss, damit sie wieder funktionieren.
Der NI-Alliance-Partner-Support wurde diesbezüglich von mir vorhin angeschrieben, aber vielleicht hat schon jemand ähnliche Erfahrungen gemacht und weiß eine Lösung...
Vielen Dank im Voraus
Gruß, Jens
EDIT: Viel habe ich hierzu noch nicht auf ni.com gefunden, bisher nur diesen Thread, der haargenau meinem Problem entspricht, weswegen ich mich gleich einmal drangehängt habe.
Ich habe hier nämlich gerade ein Riesenproblem damit. Zum Einsatz kommt gerade LabVIEW 2016 mit XNET 16.1. Prinzipiell funktioniert mein Programm, allerdings müssen für eine stabilen Langzeit-Lauf die CAN bzw. LIN-Gegenstellen, mit denen ich kommuniziere, vorhanden und aktiv sein. Ist dies nicht der Fall, dann stürzt irgendwann XNET-Write mit einem Buffer-Overflow ab, was dann die gesamte Scan-Engine auf dem cRIO mit ins Nirvana reißt.
Ich kann das Problem inzwischen forciert und reproduzierbar erzeugen. Im Prinzip langt es, das Bsp "LIN Frame Input Output Same Port.vi" aus dem NI Example Finder aufzurufen und das Timing aus der While Loop zu entfernen (ich weiß, ist nicht die feine englische, aber so tritt der Absturz innerhalb kürzester Zeit ein), danach das VI auf einem cRIO mit LIN-Modul ohne Gegenstelle, nur Spannungsversorgung für den Transceiver, starten und innerhalb von 1 Minute habe ich einen Buffer-Overflow, der sich durch keinerlei weitere Warnungen andeutet. Bevor einer fragt, ich habe auch schon versucht, immer wieder XNET-Flush aufzurufen, ohne Erfolg.
Das extrem Üble ist jetzt: Nach diesem XNET-Absturz habe ich z.B. auch keinen Zugriff mehr auf ebenfalls verbaute DIO-Module per Scan-Engine. Wie schon geschrieben, reißt das die Scan-Engine komplett mit runter. Auch ein Neustart des cRIO hilft nicht wirklich, da ich den XNET-Module zusätzlich die externe Versorgung des Transceivers klauen muss, damit sie wieder funktionieren.
Der NI-Alliance-Partner-Support wurde diesbezüglich von mir vorhin angeschrieben, aber vielleicht hat schon jemand ähnliche Erfahrungen gemacht und weiß eine Lösung...
Vielen Dank im Voraus
Gruß, Jens
EDIT: Viel habe ich hierzu noch nicht auf ni.com gefunden, bisher nur diesen Thread, der haargenau meinem Problem entspricht, weswegen ich mich gleich einmal drangehängt habe.