CANoe część 2: Ramki, sygnały, baza danych DBC

Cześć!

Mam na imię Wojtek i jestem inżynierem od testowania Systemów Wbudowanych.

Właśnie trwa przedsprzeaż mojego kursu Wszystko o magistrali CAN – polecam!

Na początek zacznijmy od wyjaśnień podstawowych pojęć magistrali automotive:

sygnał – to jest odpowiednik zmiennej. Przykłady sygnałów: temperatura, obroty silnika, prędkość

ramka – to pojedyncza wysyłana na magistralę wiadomość. Zawiera w sobie sygnały. Jeśli sygnały byłyby wagonami, ramka byłaby całym pociągiem.

Jako tester prawdopodobnie dostaniesz definicję węzłów, ramek i sygnałów w postaci bazy danych .dbc – nie będziesz musiał sam jej tworzyć, wystarczy ją podpiąć do CANoe. Może być jednak tak, że klient dostarczy je w excelu, lub z innych powodów będziesz ją musiał stworzyć sam. Zróbmy więc to razem krok po kroku.

Tworzenie bazy danych DBC

Zaczynamy od otwarcia narzędzia do CANdb++

Tworzymy nową bazę danych, możemy wykorzystać szablon:

Możemy stworzyć najpierw ramki, węzły lub sygnały. Kolejność nie ma znaczenia, ważne, żeby je potem powiązać pomiędzy sobą. Najpierw wkleję widok, tego, co chcę w następnych krokach osiągnąć: 3 ramki (po jednej dla każdego z symulowanych węzłów) zawierających w sobie sygnały.

Ja lubię zaczynać od najniższego poziomu, więc najpierw zdefiniuję wszystkie sygnały, klikając prawym na Signals w drzewku.

Zwróć uwagę, że możemy określić praktycznie dowolną długość danych.

Potem czas na definicję wiadomości. Wymyślam jakieś ID (to unikatowy klucz służący do rozróżniania ramek. Im niższy numer tym większy priorytet)

Następnie przechodzę do zakładki Signals i dla każdej z wiadomości definiuję listę zawartych w niej sygnałów:

Ciekawostka: przechodząc do zakładki Layout widać wizualizację graficzną na których dokładnie bajtach w ramce ułożone są sygnały.

Powyższe działania to minimum, które wystarcza do dalszego działania już z poziomu CANoe z definicjami. Zrobię jednak jeszcze jedną rzecz, tzn. stworzę w bazie danych węzły i powiążę je z konkretnymi ramkami.

Po wszystkim zapisuję plik .dbc i zamykam narzędzie.

Dodanie bazy danych do projektu w CANoe

W CANoe prawoklikiem w drzewku dodaję plik bazy danych do symulacji:

Kolejny krok nie jest niezbędny, ale wprowadzi nam więcej porządku. Dzięki temu będziemy widzieć na liście ramek który węzeł był nadawcą ramki.

Przechodzimy do konfiguracji konkretnych węzłów i wybieramy dla nich odpowiednie pozycje z listy. Lista jest zaciągnięta ze stworzonej wyżej bazy danych.

Podsumowanie

Nasza baza danych jest już skonfigurowana i załadowana do CANoe. Oznacza to, że możemy teraz zarówno z edytora kodu CAPL jak i innych miejsc odwoływać się symbolicznie do poszczególnych sygnałów i ramek.

Zobacz także:


Opublikowano

w

przez

Tagi:

Komentarze

4 odpowiedzi na „CANoe część 2: Ramki, sygnały, baza danych DBC”

  1. Awatar Ranii
    Ranii

    Czy jest jakaś książka bądź kurs CAPL ?

  2. Awatar Slawomir
    Slawomir

    Cześć, skoro sygnał temperature starbit zaczyna sie od 8-go i ma długość 8B a wczesniejszy sygnał RPM zaczyna sie od 0-go i ma również długość 8B to dlaczego na zakładce Layout sygnał Temperature zaczyna sie od 16-go?
    Mozliwe ze to pomyłka screena czy czegoś nie rozumiem?
    Pozdrawiam

    1. Awatar admin

      Cześć,
      faktycznie, musiałem zmodyfikować layout pomiędzy dwoma screenshotami.
      Start bit sygnału Temperature w układzie zwizualizowanym na layoucie wynosi nie 8 lecz 16, dobrze rozumiesz.

      Dzięki za wyłapanie błędu, pozdrawiam.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *