Najdou se situace, kdy je třeba pracovat s logem komunikace CAN sběrnice v jiném formátu než program PP2CAN podporuje. Většinou se jedná o textové soubory ve formátu CSV nebo jemu podobné. Nástroj LOG filter dovoluje univerzálně importovat soubory s koncovkou CSV a ty si následně přeuložit do formátu programu PP2CAN. V tomto článku si popíšeme několik příkladů importu.
Příklad 1:
Time/ms;Arb. ID ;Ex;Rt;Data 0;18FF0021;x; ;00;FF;FF;FF;FF;FF;FF;DC 1;18FF6121;x; ;FF;E6;FF;F7;3F;F0;FF;00 2;0CFF0127;x; ;C0;2B;C0;12;FF;FF;FF;FF 50;0CD22F27;x; ;03;88;FF;FF;FF;FF;F0;FF 51;18FF6121;x; ;FF;E6;FF;F7;3F;F0;FF;00 52;18FEF127;x; ;CB;00;00;E4;00;FF;3F;F0 52;0C000127;x; ;3C;00;FA;7D;00;00;00;00 53;0CD24027;x; ;03;88;FF;FF;FF;FF;F0;FF 54;0CFF0127;x; ;C0;2B;C0;12;FF;FF;FF;FF 54;18FF0021;x; ;00;FF;FF;FF;FF;FF;FF;DC 100;14F72327;x; ;01;1C;00;08;22;04;FF;00
Otevřeme li soubor CSV, zobrazí se tento importovací dialog:
Jedná se o CSV soubor,položky na řádku jsou odděleny středníkem. Vpravo, v horním okně je vidět náhled souboru. V okně pod náhledem souboru je aktuální rozdělení řádků a přiřazení sloupců jednotlivým položkám. Jelikož se jedná o CSV soubor, k rozdělení na položky došlo automaticky, je pouze nutné přiřadit jednotlivým sloupcům dat význam, nastavit zda data jsou dekadicky nebo hexadecimálně, nastavit pattern (jeden či více znaků) jehož detekcí se určí zda se jedná o zprávu se standardním nebo rozšířeným (29b) identifikátorem nebo RTR zprávu. Taktéž je možné nastavit kolik prvních řádků (záhlaví) se má ignorovat. Position má význam sloupce, kde se data nacházejí. Obrázek který následuje již zobrazuje správně nastavený import.
Data neobsahují počet datových bajtů - sloupec je nastaven na prázdná data. V tomto případě se při importu počet datových bajtů dopočítává z počtu nalezených položek pro každou zprávu. V tomto logu se 29 bitový identifikator pozná dle znaku x ve třetím sloupci. Pattern je tedy nastaven x. Sloupce se číslují od 0. Sloupec RTR a Port neřešíme, je tak možné zadat číslo sloupce za rozsahem dat (například 16) nebo znak který nelze převést na hexadecimální číslo, tedy například znak *. V příkladu je sloupec RTR nicméně nastaven na 2, lze z náhledu souboru usuzovat že se případný RTR flag nachází v tomto sloupci. Časová značka je timestamp v milisekundách.
Také je nastavena volba, kdy se ignoruje první řádek (záhlaví sloupců). Identifikátor i datové bajty jsou v hexadecimálním formátu.
Příklad 2:
Timestamp,ID,Data0,Data1,..., 78824,38,80,00,08,00,00,00,C7 78825,244,10,00,00,00,00,00,00,5E 78826,3A,00,00,00,00,04,00,45 78827,348,00,01,00,00,00,52 78828,3E,1D,E6,44 78829,3B,00,00,00,E3,23 78829,20,00,00,07 78830,30,04,00,00,00,00,20,00,5C 78830,39,23,00,10,70 78830,B1,00,00,00,00,11,C8 78830,B4,00,00,00,00,00,00,00,BC 78831,120,00,00,00,00,10,10,00,49 78833,38,80,00,08,00,00,00,C7 78835,3A,00,00,00,00,04,00,45 78836,30,04,00,00,00,00,20,00,5C 78837,B3,00,00,00,00,11,CA 78837,3E,1D,E6,44
Zde je vidět že se položky v řádcích souboru nerozdělili do sloupců. Na vině je použití oddělovače čárka místo středníku. Toto je možné vyřešit změnou položky Delimiter. Na dalším obrázku je vidět nastavení pro tento formát souboru.
Příklad 3:
Třetí příklad se liší od prvního pouze tím že v řádcích je uveden údaj o počtu datových bajtů. Nastavení je zřejmé podle obrázku.
Time/ms;Arb. ID ;Ex;Rt;Data 0;0x18FF0021;x;8;00;FF;FF;FF;FF;FF;FF;DC 1;0x18FF6121;x;8;FF;E6;FF;F7;3F;F0;FF;00 2;0x0CFF0127;x;6;C0;2B;C0;12;FF;FF; 50;0x0CD22F27;x;8;03;88;FF;FF;FF;FF;F0;FF 51;0x18FF6121;x;8;FF;E6;FF;F7;3F;F0;FF;00 52;0x18FEF127;x;8;CB;00;00;E4;00;FF;3F;F0 52;0x0C000127;x;8;3C;00;FA;7D;00;00;00;00 53;0x0CD24027;x;8;03;88;FF;FF;FF;FF;F0;FF 54;0x0CFF0127;x;8;C0;2B;C0;12;FF;FF;FF;FF 54;0x18FF0021;x;7;00;FF;FF;FF;FF;FF;FF 100;0x14F72327;x;8;01;1C;00;08;22;04;FF;00
Příklad 4:
80502.405019 2 1B00000Ex Rx D 8 0E 00 01 88 04 08 08 00 80502.405306 2 1B00004Bx Rx D 8 4B 00 01 01 04 00 00 00 80502.405555 2 184 Rx D 8 3A 00 00 00 00 00 02 00 80502.405815 2 366 Rx D 8 00 00 00 20 00 00 00 00 80502.406009 2 3C0 Rx D 4 66 00 00 00 80502.406273 2 3D5 Rx D 8 5D 00 00 00 04 00 00 00 80502.406567 2 3D6 Rx D 8 00 00 00 00 00 00 00 00 80502.406824 2 583 Rx D 8 00 00 80 00 00 44 40 00 80502.407111 2 1B00004Ax Rx D 8 4A 00 01 01 04 00 00 00 80502.407322 2 584 Rx D 6 3E 00 00 00 00 00 80502.407582 2 588 Rx D 8 00 00 00 20 00 00 00 00 80502.407830 2 3D1 Rx D 8 00 00 04 00 00 00 00 00 80502.408124 2 16A9540Ax Rx D 8 00 00 00 00 00 00 00 00 80502.408346 2 17330E10x Rx D 4 40 00 01 0B 80502.408614 2 5E1 Rx D 8 72 2A 00 60 FE 00 00 00 80502.408960 2 5F0 Rx D 8 FD 00 00 00 00 3C 00 00 80502.409139 2 5F4 Rx D 8 00 00 00 00 80 00 40 00 80502.409380 2 3E5 Rx D 8 7B 11 00 00 00 00 00 00
Tento příklad zobrazuje soubor velmi podobný formátu ASC. Zde jsou data odděleny mezerami, nelze tak použít rozdělení podle nějakého oddělovače. Je však možné zapnout režim absolutní pozice. Pak se nezadává poloha sloupce data, ale data se adresují číslem prvního znaku dat na řádku.
Příklad 5:
10;16:27:52:972905;0618A001;8;00;00;00;00;00;0E;00;00 11;16:27:52:983747;0628A001;8;00;27;40;7F;00;00;00;00 12;16:27:52:989649;0A18A001;8;00;81;90;66;00;00;00;00 13;16:27:52:996870;0A1CA001;8;00;07;00;00;00;00;00;00 14;16:27:53:001260;0210A006;8;FF;06;FF;00;00;00;00;00 15;16:27:53:007295;0218A006;8;00;00;00;00;00;00;00;00 16;16:27:53:012835;0220A006;8;80;09;00;18;00;00;00;5E
Tento log se liší od předchozích tím, že čas je uváděn jako absolutní a ne jako relativní. Je tak třeba vybrat správnou volbu formátu času. Z logu není navíc patrné zda jak rozlišovat zprávy s 11 bitovým a 29 bitovým identifikátorem. Z hodnoty ID je jasné že se jedná o 29 bitový formát. Proto je aktivována volba 29b Id, pak jsou všechny zprávy označeny jako zprávy s rozšířeným identifikátorem. Pokud by volba nebyla aktivní a nedal by se určit typ ID, byly by zprávy označeny za zprávy s 11bitovým Id.
Příklad 6:
10 16:27:52:970 0618A001 00 00 00 00 00 0E 00 00 11 16:27:52:983 0628A001 00 27 40 7F 00 00 00 00 12 16:27:52:989 0A18A001 00 81 90 66 00 00 13 16:27:52:996 0A1CA001 00 07 00 00 00 00 00 00 14 16:27:53:001 0210A006 FF 06 FF 00 00 00 00 00 15 16:27:53:007 0218A006 00 00 00 00 00 00 00 00 16 16:27:53:012 0220A006 80 09 00 18 00 00 00 5E
Kombinace obojího, režim absolutního času a absolutní pozice.