Menü
 EMBU-Sys 
Visualisierung für die Messtechnik
EMBU-Sys GbR Dietmar+Claudia Burger
Max-Högg-Straße 4
86316 Friedberg (Germany)
info@embu-sys.de    ☏ +49/821/65041556

Technische Änderungen und Irrtümer vorbehalten.

embu-sys logo
www.embu-sys.de
Focus on your  
Productivity   

CAN-Zeitüberschreitung (Timeout)

Beim Empfangen von CAN-Daten kann überwacht werden, ob eine Variable innerhalb einer vorgegebenen Zeit nicht mehr aktualisiert wurde. Diese Überwachung kann man sich zu Nutze machen, um etwa einen Drahtbruch oder eine fehlerhafte Verdrahtung zu erkennen.

Wurde eine Variable länger als eine bestimmte Zeit nicht aktualisiert, so wird deren Timeout-Flag gesetzt. Werden später wieder Daten empfangen, so wird das Timeout-Flag wieder rückgesetzt.

Das Timeout-Flag ist Bit Nummer 2 in den Status-Flags der Variable. Um es abzufragen, maskiert man die irrelevanten Bits mit einer bitweisen UND-Operation (&) aus. In unserem Beispiel erreichen wir das mit dem Ausdruck testVariable.StatusFlags & 0b10. Das Präfix 0b leitet hier eine binäre Zahlenangabe ein.

Diese Bedingung können wir z.B. in der Eigenschaft Attribute > Steuerung eines Popup-Widgets verwendet. Somit wird das Popup nur angezeigt sobald die Bedingung, also das Vorhandensein des Zeitüberschreitungsbit, erfüllt ist.

Siehe auch: Bitweiser Operator, https://de.wikipedia.org/wiki/Bitweiser_Operator