Mapování neznámých zpráv
Jak z logu, kde je spousta neznámých zpráv, dostat ty, které opravdu potřebuješ, a přiřadit jim význam. Postup je obecný, příklady jsou z Amazone Pantera (log 29. 9. 2026).
00Nejdřív to hlavní
Všechny neznámé zprávy rozluštit nejde a není to ani potřeba. Část z nich je interní komunikace mezi jednotkami, část se v logu vůbec nemění a část jsou čítače. Pro telematiku obvykle stačí 10–15 veličin. Postup je proto opačný: nejdřív si řekni, co chceš získat, pak to cíleně změř a nakonec v CIL najdi, kde se to na sběrnici projevilo.
Pantera v číslech. Sběrnice ukazuje 42 neznámých nebo konstantních zpráv. Z nich 7 jsou síťové zprávy ISOBUS (přenos grafiky, jazyk terminálu, pracovní sada), které CIL nově pozná sám, a dalších 16 se za celý log nezměnilo. Opravdu k řešení je 19 zpráv, a většina z nich jsou podzprávy dvou proprietárních ID.
01Roztřiď neznámé
Ve Sběrnici dej filtr Neznámé a podívej se na sloupec s tečkami bajtů a na text „mění se B2, B3…“. Podle chování patří každá zpráva do jedné z těchto skupin:
Konstantní
Za celý log se nezměnila. Může nést něco, s čím se v tomhle logu nepracovalo, ale bez změny ji nenajdeš. Vrať se k ní, až bude log s tou činností.
Čítač, kontrolní součet
Bajt se mění v každém rámci, hodnota roste o 1 nebo skáče náhodně bez vztahu k čemukoli. Nenese veličinu.
Mění se občas
Pár hodnot, změna jen někdy. Typicky spínače, režimy, sekce, poloha páky. Hledají se přes úkony z telefonu.
Mění se pořád
Hodně různých hodnot a plynulá změna: rychlost, tlak, otáčky, výška, objem. Hledají se porovnáním s něčím známým a měřítko se dopočítá.
Kdo s kým mluví
Poslední bajt CAN ID je odesílatel, u proprietárních zpráv 1CEFxxyy je xx příjemce. Na Panteře:
| Zprávy | Od → komu | Co to nejspíš je |
|---|---|---|
1CEF9087 · EA, FD, FC, E1… | 0x87 → 0x90 | Hlavní jednotka postřikovače posílá data druhé jednotce. Hodně provozu, jen část bude zajímavá pro telematiku. |
1CEF8790 · EA, E9, E1, FC | 0x90 → 0x87 | Odpovědi druhé jednotky, typicky naměřené hodnoty a stavy z její strany stroje. |
00FF0187 · 01 … 22, 00FF0190 | 0x87, 0x90 → všem | Vysílání pro všechny. Nejslibnější místo pro stav stroje: zprávy určené ostatním jednotkám obvykle nesou hotové veličiny. |
1CEFFA87, 1CEFFB87, 1CEF87FA | 0x87 ↔ 0xFA/0xFB | Komunikace s dalšími funkcemi postřikovače (třída 6, funkce 129 a 132). |
Označení ID · B0 znamená, že jedno CAN ID nese víc různých zpráv a rozlišuje je první bajt. CIL je rozdělí sám, s každou podzprávou pracuješ jako se samostatnou zprávou.
Pozor na rozsah logu. V logu z Pantery nejsou žádné standardní zprávy motoru ani pojezdu (J1939 standard: 0). Zachycená sběrnice je sběrnice nářadí (ISOBUS). Motor, rychlost a motohodiny samojízdného stroje nejspíš běží po jeho vlastní sběrnici podvozku a pro ně je potřeba logovat i ten konektor.
02Rozhodni, co chceš získat
Napiš si seznam veličin pro telematiku a u každé, jestli už ji máš. U postřikovače typicky:
| Veličina | Druh | Stav na Panteře |
|---|---|---|
| Pracovní stav (stříká / nestříká) | stav | známé: ISOBUS DDI 141 |
| Objem v nádrži | veličina | známé: ISOBUS DDI 72 |
| Stav sekcí (která stříká) | stav | DDI 141 po elementech, ověřit na úkonech |
| Nastavená a skutečná dávka | veličina | hledat |
| Tlak postřiku | veličina | hledat |
| Rychlost | veličina | hledat, případně sběrnice podvozku |
| Výška ramen, rozložení ramen | veličina, stav | hledat |
| Čerpadlo, míchání | stav | hledat |
Co je v ISOBUS jako DDI, je nejspolehlivější a nejlépe se exportuje. Proprietární zprávy hledej jen pro to, co v DDI chybí.
03Změř to cíleně v terénu
Log a záznam úkonů v telefonu běží současně. Hodiny telefonu nemusí sedět, CIL je dorovná sám. Důležitá jsou tahle pravidla:
- Jeden úkon = jedna věc. Když zároveň zapneš čerpadlo a sklopíš rameno, nejde poznat, který bit patří čemu.
- Zapnutí a vypnutí pojmenuj zvlášť, např. „Sekce 3 zap“ a „Sekce 3 vyp“. CIL podle názvu seskupí opakování a hledá bity, které při všech opakováních skončí ve stejném stavu.
- Každý úkon opakuj 3–5× s pauzou aspoň 5 s. Jedna změna může být náhoda, pět změn ve stejnou chvíli už ne.
- Ťukej v okamžiku úkonu. Posun hodin CIL srovná, zpoždění ruky ne.
- U veličin zapiš i hodnotu z displeje, např. úkon „Dávka 150“, pak „Dávka 200“. Dvě známé hodnoty stačí na výpočet měřítka (krok 5).
- Veličiny měň plynule a ve velkém rozsahu: rozjezd 0 → 10 km/h, ramena úplně dole → úplně nahoře. Malá změna se ztratí v šumu.
Měřicí plán pro Panteru
| Úkon (název v telefonu) | Jak | Opakovat |
|---|---|---|
| Postřik zap / Postřik vyp | hlavní vypínač, stojící stroj | 5× |
| Sekce 1 zap / Sekce 1 vyp (a další) | vždy jen jedna sekce, ostatní beze změny | 3× |
| Dávka 150 / Dávka 200 … | změna nastavené dávky, zapsat hodnotu z displeje | 3× |
| Čerpadlo zap / vyp, Míchání zap / vyp | jednotlivě | 3× |
| Ramena nahoru / Ramena dolů | celý rozsah, pomalu | 3× |
| Rameno rozložit / složit | levé a pravé zvlášť | 2× |
| Rozjezd 10 / Zastavení | rozjezd na 10 km/h, rovně, pak stát | 3× |
Log začni ještě před zapnutím stroje. Zachytí se tak i start a identifikace jednotek, jako v logu z 29. 9.
Používej úplný log. Ze čtečky PP2CAN je log úplný. Výpis z jednotky Teltonika (CAN Logger) obsahuje jen asi 3 % rámců a hodí se jen na zjištění, která ID na stroji jsou.
04Vyhodnoť stavy v CIL
- Zdroje: přetáhni log. Pokud je stroj rozpoznaný, vybere se profil sám. Záznam úkonů, který časově sedí, se vybere a dorovná sám; hláška ukáže „Dorovnáno o … s · sedí X z Y úkonů“. Když nesedí žádný úkon, je to jiný log nebo jiný den.
- Průběh: projdi úkony šipkami ↑↓. U každého je vidět, co se změnilo ve známých hodnotách. Když se po „Postřik zap“ změní DDI 141 na zapnuto, víš, že záznam i log sedí.
- V detailu úkonu je seznam Neznámé zprávy, které se v tu chvíli změnily. Zajímá tě shoda vysoká: změnila se při všech opakováních téhož úkonu a pokaždé do stejného stavu.
- Přejdi do Hledání signálů a klikni na úkon. Tabulka ukáže přesné bity a důvod shody. Tlačítko Pojmenovat otevře editor definice s předvyplněnými bity.
- V editoru pojmenuj pole a doplň stavy, např.
0=vyp, 1=zap. Ukládej k profilu stroje: proprietární zprávy platí jen pro daný stroj. - Ověř: vrať se do Průběhu. Nové pole se teď musí objevit u všech opakování úkonu. Když se ukáže jen u některých, zkus sousední bit nebo celý bajt.
Tip. Pro stavy bez úkonů z telefonu: v Průběhu klikni do časové osy na okamžik, kdy víš, co se dělo (např. z videa nebo poznámky), a podívej se na neznámé zprávy v tu chvíli.
05Vyhodnoť veličiny v CIL
U veličin úkony z telefonu pomáhají méně. Hledá se spíš podle tvaru průběhu.
- Ve Sběrnici otevři kandidátní zprávu. Mřížka bajtů ukáže, kolik různých hodnot který bajt měl. Veličiny bývají 2 bajty vedle sebe (little-endian, nižší bajt první).
- Vytvořit definici: zkus pole 16 bitů na bajtech, které se mění. Sloupec hodnot se počítá živě z logu.
- V Průběhu dej u pole 📈. Průběh musí dávat smysl vůči úkonům: rozjezd = hodnota roste, zastavení = klesne k nule.
- Měřítko spočítej ze dvou hodnot, které znáš z displeje (úkony „Dávka 150“, „Dávka 200“). V Průběhu u obou úkonů odečti surovou hodnotu pole:
posun = displej₁ − násobek × surová₁
Typická měřítka v J1939: rychlost ÷256 km/h, otáčky ×0,125, procenta ×0,4, teplota −40 °C. U Deutzu TTV byla rychlost ÷256.
Zeptat se AI (v detailu neznámé zprávy) zkouší tohle za tebe: porovná bajty se všemi známými hodnotami v logu a navrhne pole s měřítkem. Návrh vždy ukáže ověření na logu; ulož jen to, co sedí.
06Do knihovny a do Teltoniky
V detailu zprávy dej u hotového pole + knihovna. V Export Teltonika se pak pro každý signál ukáže Data Mask, payload maska a výraz pro flespi. Podzprávy ID · B0 dostanou payload masku, která vybere správný první bajt, např. EAFFFFFF.
07Co nejde a na co pozor
- Stejná zpráva, jiný stroj: proprietární ID se mezi stroji i verzemi softwaru mohou lišit. Definice patří k profilu stroje.
- Nic se nezměnilo, ale úkon proběhl: ta činnost může běžet po jiné sběrnici, nebo ji jednotka posílá, jen když se změní (pak je zpráva v logu jen párkrát).
- Úkon a změna se rozcházejí o sekundy: zkontroluj dorovnání času nahoře v Průběhu. Když sedí jen polovina úkonů, zkus Dorovnat podle známých signálů znovu nebo posun zadej ručně.
- Opakovaný start v logu: po restartu se některé hodnoty inicializují a vypadají jako změna. Karta Stroj v logu a průběh startu ukáže, kdy se systém rozbíhal.
08Kontrolní seznam
- Mám seznam 10–15 veličin, které chci pro telematiku.
- Log je z PP2CAN, začíná před zapnutím stroje a pokrývá celé měření.
- Každý úkon je zvlášť, zap/vyp pojmenované zvlášť, 3–5 opakování.
- U veličin mám dvě hodnoty z displeje.
- V Průběhu sedí dorovnání času (většina úkonů má odezvu).
- Nové pole se ukazuje u všech opakování úkonu.
- Definice je uložená k profilu stroje, signál je v knihovně.