Obdrželi jsme dotaz na to, zda CANopen může používat 29 bitové (rozšířené, CAN 2,0B) identifikátory. Protože tato skutečnost není tolik známá, rozhodli jsme se odpověď na tento dotaz publikovat formu krátkého článku na našem webu.
Za normální situace jsou identifikátory přiřazeny jednotlivým uzlům na CAN sběrnici dle jejich adresy - Node ID. Toto se nazývá "Predefined Connection Set".
Nicméně některé komunikační objekty dovolují změnit používaný identifikátor. Změna se provádí pomocí nastavení příslušných položek ve slovníku pomocí SDO zpráv a příslušného indexu do slovníku:
- Sync, index 1005h
- Emergency, index 1014h
- Timestamp, index 1012h
- TPDO, index 1800h,1801h......
- RPDO, 1400h,1401h....
U komunikačních objektů NMT, SDO a LSS změna možná není.
Z uvedeného je zřejmé že platí jistá omezení, pokud na CANu komunikují NE-CANopen zařízení, nesmí používat identifikátory vyhrazené pro NMT a SDO, tedy například 11 bitový identifikátor 0 (NMT node control). Pokud by jsme se rozhodli na jedné CAN sběrnici provozovat CANopen zařízení a zařízení dle SAE J1939 a například CANopen zařízení nakonfigurovat tak, aby generovalo data pomocí TPDO dle SAE J1939, je to v zásadě možné.
Navíc podíváme li se do specifikace CiA 301, zjistíme že COB-ID můžeme nastavovat pro 512 TPDO a 512 RPDO. Z toho plyne že zařízení mohou posílat a přijímat mnohem více PDO zpráv než 4, jak si někteří myslí a jak plyne z tabulky "Predefined Connection Set". Samozřejmě je ovšem nutná podpora těchto dalších PDO objektů v rámci zařízení.
Budeme li chtít změnit COB ID pro některé PDO, význam bitů 32 bitového slova se řídí touto tabulkou:
Chceme li aby PDO1 odesílalo zprávu s identifikátorem CF00401h. Bit valid bude mít hodnotu 0 (is valid), bit RTR hodnotu 0 (data), bit frame pak hodnotu 1 (extended). Hodnota 32 bitového slova bude 2CF00401h.
Stačí tedy například v našem SW PP2CAN v nástroji pro CANopen vygenerovat příslušnou zprávu.....
Kromě této složitější varianty však existuje i možnost změnit identifikátor při mapování objektů do PDO v příslušném nástroji programu PP2CAN. Stačí aktivovat příslušnou volbu a nastavit příslušné parametry.
Pamatujte však, že možnost úpravy identifikátorů musí podporovat vlastní zařízení, je tak třeba v jeho dokumentaci ověřit zda změnu těchto indexů ve slovníku podporují.