Díl 1 - Čtení dlouhého SDO, vyžadování jednotlivých segmentů
Díl 2 - Mapování objektů do PDO
Díl 7 - Nodeguarding a Heartbeat
V předchozích dílech seriálu o protokolu CANopen jsme se seznámili s ručním postupem, jak nakonfigurovat PDO, konkrétně TPDO které nám odesílá data. Tento ruční postup byl samozřejmě komplikovaný a v praxi těžko použitelný. Nicméně dobře posloužil k seznámení základů jak odesílat na CANbus zprávy SDO z programu PP2CAN. Od verze programu PP2CAN 3.030 je však pro mapování a nastavení PDO dostupný pohodlnější nástroj. Jedná se o záložku PDO mapping v nástroji CANopen.
- Záložka nástroje PDO mapping.
- Výběr zda je konfigurován TPDO (transmit-odesílaná data) nebo RPDO (receive-přijímaná data).
- Výběr objektu (1..512).
- Pokud je Store parameters volba aktivována jsou po konfiguraci data uložena – zařízení tak není po restartu nutno znovu konfigurovat. Pro uložení se používá objekt Object 1010h: Store parameters, subindex 1: save all parameters.
- Je-li aktivní volba Change COB-ID, jsou nastaveny i komunikační parametry. Tedy je možné změnit identifikátor CAN zprávy, který je použit pro PDO (index 1400h/1800h, subindex 1).
- Zde je možné nastavit podmínku kdy je PDO odesílán. Tedy transmission type (index 1400h/1800h, subindex 2).
- Toto pole je určeno pro přidávání objektů do PDO. Konfiguruje se podle slovníku index, subindex a délka dat. Pro lepší orientaci lze i položku pojmenovat (Description). Vedle tohoto pole je na obrázku pole s číslem 32. Zde se zobrazuje součet bitových délek dat. Pro CANopen platí maximální hodnota 64 bitů – 8 datových bajtů.
- Tlačítka Up a Down slouží k přesouvání položek v seznamu namapovaných objektů. Vybraná položka je posouvána daným směrem v seznamu.
- Tato tlačítka Add a Remove slouží k přidání a smazání objektu do seznamu. Dvojklikem na položku v seznamu se data položky přepíší do polí G.
- Load a Save dovolují načíst nebo uložit nastavení a seznam objektů z/do souboru.
- Tlačítko Upload slouží k nahrání nastaveni do zařízení - nodu.
Pokud si předpřipravíte konfigurace mapování a nastavení jednotlivých PDO do souborů, lze následně provádět nastavení stiskem jednoho tlačítka.
Několik poznámek ke konfiguraci PDO:
- nařízeni je vhodné před nastavením (Upload) přepnout do stavu Pre-Operational State na záložce NMT
- z praxe vím, že se u některých zařízení nedá použít jako COB-ID 29 bitový identifikátor. Přestože při konfiguraci zařízení (node) nehlásí chybu, ignoruje se bit 29 bitového identifikátoru a posílá se pouze 11 bitová část jako CAN bus identifikátor.
- nelze použít jakýkoliv identifikátor (zejména ne ty s nízkou prioritou-hodnotou), v praxi lze použít jen ty 11 bitové identifikátory z PDO rozsahu.
- zařízení nemusí podporovat změnu mapování, to je nastaveno napevno
- nemusí být možné použít jakoukoliv hodnotu Transmission type
- mapovat jdou jen objekty, které mapování dovolují, viz příslušný slovník konkrétního zařízení
- že veškeré odeslání proběhlo v pořádku lze ověřit na záložce Rx log – nejsou tu zprávy Error/Abort
Uložení a obnovení nastavení
Pro uložení nastavení se používá objekt 1010h - store parameters. Pomocí objektu1011h - restore default parameters lze obnovit nastavení do původního stavu. Tyto objekty vyžadují v datových bajtech příkazu SDO write zadat text “save”, případně “load” pro obnovení. Program PP2CAN si ve většině případů s tímto poradí a není nutno hledat hodnotu ASCII kódů znaků. Tak jako je do polí možné zadat hexadecimální číslo s pomocí předpony ‘x’, je možné znak zadat pomocí předpony ‘>’. Tedy pokud se do pole pro bajt zapíše text “>s”, po opuštění pole se znak ‘s’ konvertuje na ASCII hodnotu znaku, tedy v tomto případě na hodnotu 115.