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
Tento 8 díl bude velmi krátký, upozorníme v něm na jednu malou zajímavost při ukládání nastavení do CANopen zařízení, která však neplatí obecně, ale můžete na ni narazit. Nastavení CANopen uzlu (mapování PDO a jiné parametry) je možné do něj uložit, nemusíme tak vždy po jeho spuštění vše nastavovat opakovaně. Ukládání nastavení se provádí zápisem signatury "save" do objektu 1010h.
Specifikace CiA 301 uvádí pro zápis dat do objektu toto:
Datový bajt 4 tak obsahuje nejméně významný bajt. Pro objekt 1010h kterým se ukládá nastavení do uzlu pak pak specifikace uvádí toto:
Z uvedeného je tak zřejmé že DB4 je LSB a má obsahovat znak 's'. DB7 je MSB a obsahuje poslední znak řetězce, tedy písmeno 'e'.
Ovšem praktický test se zakoupeným zařízením dovoluje i opačné pořadí znaků. Tedy DB4 obsahuje znak 'e' a DB7 pak znak 's'. Node odpoví na požadavek také kladným potvrzením. Další varianty, například velké znaky, velký první znak 'S' nefungují.
To, že fungují obě zmíněné kombinace pořadí znak je důsledkem toho, že ve správném pořadí panoval a možná někde i panuje poněkud zmatek. Touto skutečností uvádím pro uživatele, kteří s CANopen protokolem teprve začínají, aby si například ve vlastní implementaci správné pořadí pohlídali. Mohou například programovat SW, kde použijí pořadí špatné, u jejich zařízení toto bude fungovat, ale s jiným, které obě pořadí nepodporuje pak ne.
Závěrem ještě dodám, že kromě pozitivní odpovědi při zápisu objektu 1010h s příkazem save se data v obou případech i konfigurace skutečně uložila. Obě varianty pořadí znaků pak fungovaly i u příkazu pro obnoveni nastavení, tedy objektu 1011h s příkazem load.