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!
hat jemand hier im Forum schon einmal mit der CANopen-Bibliothek von NI gearbeitet? Insbesondere interessiert mich, ob es Probleme gab, wenn einzelne IDs mit 50-1000 Hz gelesen werden sollen. Hintergrund: Bei mir tritt irgendwann ein interner CAN-Karten-Fehler auf mit Log unter ....National InstrumentsNI-CANbinnicanErr.txt. Habe das ganze bereits auf die Frame-API umgestrickt und möchte eigentlich nur wissen, obs anderen so geht wie mir.
Mit Handels und Speicher hatte ich keine Probleme. PDO_Read hat ja den Nachteil, dass sie immer nur einen Frame lesen kann. Kommen nun viele Frames rein, erzeugt das ne Menge Interrupts, von denen einige verpasst werden. Ich konnte den Fehler immer weiter nach hinten schieben durch deaktivieren des Heartbeats etc. und dachte anfangs, nachdem der Prüfstand einen Tag durchlief, das Problem wäre gelöst. Meiner Meinung nach sollte NI der Bibliothek eine Funktion spendieren, die eine definierte Anzahl an Frames eines PDOs ausliest.
Vielleicht klappts jetzt mit den neuen CAN-Karten, die per DMA ihre Daten in den Speicher schippen, besser.
' schrieb:erzeugt das ne Menge Interrupts, von denen einige verpasst werden.
Ich versteh das nicht.
Warum bringt NI/LV das mit den Interrupts nicht auf die Reihe. Ich habe einen Prüfstand laufen, da werden neben weiteren per Interrupt gesampleten Daten vier PMW-Signale mit jeweils 1kHz per Interrupt gemessen (Delphi->AddiData->Asynchroner Interrupt). Wochenlang läuft so ein Prüfablauf und nix passiert.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Ich auch nicht. Ist auch nur eine wilde Vermutung meinerseits.
Was mich in dem Zusammenhang noch stark irritiert ist NI-Spy. Damit schon mal versucht bei 12% Buslast einen Fehler zu finden? Ich gehe also hin und konfigurier den so, dass er ein File öffnet, 10 MB reinschreibt. Wenns voll iar macht er eine neue Datei auf und löscht die alte. 10 MB sind nach nicht mal einer Minute vorhanden. Tritt ein bestimmter Fehler auf, soll das Logging gestoppt werden. Hat auch funktioniert. Bis LabVIEW 1,8 GB Ram belegt hatte und dadurch logischerweise abschmierte. Sobald Spy mit logging und Can läuft wird der RAM zugemüllt. Ist mir im Zusammenhang mit VISA noch nicht untergekommen.