Hallo,
bietet die PCAN-Basic API eine Möglichkeit, den Busstatus bzw. den Status des CAN Bus Controllers abzufragen?
Ich möchte erkennen, ob am PCAN-USB Adapter ein Bus angeschlossen ist und ob Teilnehmer an diesem Bus aktiv sind.
Danke!
Michael
Busstatus bzw. Controllerstatus abfragen
Re: Busstatus bzw. Controllerstatus abfragen
Hallo,
PCAN-Basic bietet eine CAN_GetStatus Funktion. Dadurch können Sie den momentanen Bus-Zustand des CAN-Controllers eines verbundenen PCAN-Kanals ermitteln. Dies kann einer der folgenden Werte sein:
PCAN-Basic bietet eine CAN_GetStatus Funktion. Dadurch können Sie den momentanen Bus-Zustand des CAN-Controllers eines verbundenen PCAN-Kanals ermitteln. Dies kann einer der folgenden Werte sein:
- PCAN_ERROR_INITIALIZE: Nicht Verbunden.
- PCAN_ERROR_BUSLIGHT: Fehlerzähler erreichte das 'Light'-Limit.
- PCAN_ERROR_BUSHEAVY: Fehlerzähler erreichte das 'Heavy'-Limit.
- PCAN_ERROR_BUSOFF: CAN-Controller ist Bus-OFF.
- PCAN_ERROR_OK: Kanal verbunden, kein Fehler.
- Passiv: Listen-Only Modus setzen und Bus lauschen. Gibt Kommunkation, dann gibt andere Teilnehmer.
- Aktiv: Nachricht sneden und erneut CAN_Status aufrufen. Wenn PCAN_ERROR_OK, dann andere Teilnehmer vorhanden.
Best regards,
Keneth
Keneth
Re: Busstatus bzw. Controllerstatus abfragen
Das Abfragen des Status mit CAN_GetStatus() liefert hier bei initialisiertem Kanal immer den Wert PCAN_ERROR_OK.
Der Status ändert sich auch nicht wenn der PCAN-USB-Adapter vom Bus abgezogen oder mein (einziger) Kommunikationspartner abgeschaltet wird.
Diese Verhalten ist unabhängig von der Funktion PCAN_BUSOFF_AUTORESET und auch unabhängig vom gesetzten Message Filter. Ich verwende Windows 7 (64 Bit).
Wie lange müsste es dauern bis ein Status ungleich PCAN_ERROR_OK gemeldet wird nachdem der CAN Bus abgezogen wurde?
Der Status ändert sich auch nicht wenn der PCAN-USB-Adapter vom Bus abgezogen oder mein (einziger) Kommunikationspartner abgeschaltet wird.
Diese Verhalten ist unabhängig von der Funktion PCAN_BUSOFF_AUTORESET und auch unabhängig vom gesetzten Message Filter. Ich verwende Windows 7 (64 Bit).
Wie lange müsste es dauern bis ein Status ungleich PCAN_ERROR_OK gemeldet wird nachdem der CAN Bus abgezogen wurde?
- PEAK-Support
- Sales & Support
- Posts: 1646
- Joined: Fri 10. Sep 2010, 19:34
Re: Busstatus bzw. Controllerstatus abfragen
Wenn sie das Kabel abziehen, und auf dem Bus nicht gesendet wird, bekommen Sie auch kein Fehler. Das sieht der CAN Controller ja nicht - nur wenn Ihre Applikation versuchen würde zu senden, bekommen Sie den Busfehler.
Die anderen Knoten sehen das überhaupt nicht das Ihr CAN USB Gerät vom Bus weg ist - außer es war der einzige Teilnehmer, so das nur noch ein Knoten aktiv am Bus ist - dann bekommt der verbliebene Teilnehmer beim Versuch zu senden ebenfalls Fehler (kein ACK).
Die anderen Knoten sehen das überhaupt nicht das Ihr CAN USB Gerät vom Bus weg ist - außer es war der einzige Teilnehmer, so das nur noch ein Knoten aktiv am Bus ist - dann bekommt der verbliebene Teilnehmer beim Versuch zu senden ebenfalls Fehler (kein ACK).
--------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
PEAK-System Technik
Technical Support Team
support[at]peak-system.com
-------------------------------
Re: Busstatus bzw. Controllerstatus abfragen
Ok, jetzt wird die Sache klarer
Danke!

Danke!