Tento článek představuje návod jak snadno a rychle vytvořit virtuální přístrojovou desku (Virtual Dashboard) vozidla, která bude zobrazovat data čtená z CAN sběrnice. Principy realizace jsou však využitelné i pro jiné použití než je v našem případě přístrojová deska vozidla. Zároveň si v článku představíme i novinky v pluginech pro práci s převodníky a CAN signály.
Nejprve tedy zmíněné novinky. Plugin pro Profilab nově dovoluje specifikovat masku pro identifikátor přijatých zpráv. Tohoto lze s výhodou použít i v našem příkladu, jelikož vstupní data z CAN sběrnice se budou dekódovat dle normy SAE J1939. Pomocí identifikátoru, respektive pouze části PGN a masky 0x00FFFF00 nás tak nemusí zajímat zbytek identifikátoru, je jedno jakou má zpráva prioritu a jakou má zdrojovou adresu. Pro otáčky se tak konfiguruje identifikátor 0xF00400 a maska 0xFFFF00 a rozšířený (Ext) identifikátor. Zadání je možné přímo v hexadcimálním tvaru zapsáním znaku ´x´ před hodnotu, tedy xF00400. Hexadecimální tvar se pak automaticky konvertuje na dekadický. Druhou novinkou v tomto dll pluginu je funkce tooltipu. Po najeti kurzorem nad editační pole s identifikátory se zobrazí tooltip s hodnotou v hexadecimálním formátu. Hodnoty ostatních identifikátorů a lze odvodit z obrázku, případně FMS standardu, ale je také možné stáhnout konfigurační soubory pro pluginy na konci článku. Konfiguraci lze zobrazit a načíst z přiložených souborů kliknutím pravým tlačítkem myši na značku pluginu v editoru schémat. Následně vybrat Properties -> Configure -> Load.
Úpravou prošel i plugin pro dekódování dat. Ten nově dovoluje připojit ne jen data jedné CAN zprávy, ale rovnou 8 zpráv. Tato úprava souvisí s komplikacemi původní verze, při použití několika instancí pluginu pro dekódování dat. Plugin si data nastavení ukládá do registrů a tak bylo vícenásobné použití komplikované při použití kompilace do EXE souboru z hlediska nastavení každé z instancí. Na straně vstupních signálů jsou některé piny označeny NC. Ty slouží pouze jako výplň, aby se snadno -1:1 propojovaly data z pluginu pro USB2CAN a plugin pro dekódování dat. Nově je samozřejmě nutné specifikovat pro každou dekódovanou veličinu číslo bufferu/zprávy ze kterého se data dekódují.
Pozice dat, měřítko a offset se dá také určit například z FMS standardu, nebo použít konfigurační soubory. Pro offset platí že se jeho hodnota odčítá, například teplota chladící kapaliny má offset v definici -40 stupňů, proto se zadává hodnota +40.
Třetí obrázek pak ukazuje zapojení prvků celé virtuální přístrojové desky. Pro realizaci jsou prakticky použity pouze dva prvky DLL pro plugin USB2CANu a extrakci signálů a prvky Meter, Numeric display a Plastic lamp. Na obrázku je názorně vidět i snadnost propojení obou pluginů.
Čtvrtý obrázek zobrazuje přístrojovou desku tak jak je nakonfigurován její vzhled v demonstračním příkladu. Uvedený příklad zobrazuje tato data:
- otáčky
- rychlost
- stav paliva
- teplota motoru
- celkové kilometry
- stav brzdy
- rychlostní stupeň
Uvedená konfigurace platí pro vozidla které využívají protokol SAE J1939 nebo FMS standard, tedy převážná část nákladních vozidel a stavební či zemědělské stroje. Pro jiná vozidla, například osobní je nutno určit hodnoty identifikátorů a měřítek z jiných zdrojů informací.
Celý projekt je velice jednoduchý a dá se při elementární znalosti Profilabu vytvořit do 30 minut. Projekt a konfigurace a DLL knihovny pluginů lze stáhnout ZDE. Profilab Expert lze používat v Demo verzi a ke stažení či zakoupení jej najdete ZDE. Pro běh pluginů je také třeba nainstalovat runtime knihovny pro Visual Studio. To není nutné, je li nainstalován SW PP2CAN, neboť knihovny jsou již jeho součástí.
Další informace lze najít také v těchto dalších našich článcích:
- Proč použít Profilab Expert
- Profilab - jednoduché vkládání signálů do CAN bus zprávy
- Převodník USB2CAN Triple v programu Profilab expert