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:
Dodaj komentarz