AMiT spol. s r.o. PRAHA Č. protokolu: PW015/2012 Výtisk číslo: 1 Počet listů: 27 Počet příloh: 1/(celkem listů-27) Jméno a adresa zadavatele (zákazníka): AMiT spol. s r.o., Naskové 3, 150 00 Praha 5 PROTOKOL O ZKOUŠCE Programové vybavení Identifikace zkoušeného předmětu: Knihovna TROL Výrobní číslo: - Verze SW: TROL 1.43, OCUN 1.17 Výrobce: AMiT spol. s.r.o. Čísla technických dokumentací: VV0648.01 Datum přijetí do zkoušky: 12. 3. 2012 Metoda zkoušení: Je uvedena v příloze Datum provedení zkoušky: 13. 3. 2012 Zkoušku provedli: Michal Tomáš Datum vydání protokolu: 13. 3. 2012 Kontroloval: Martin Vosáhlo Schválil: Karel Ludvík Atm. tlak [kpa]: 104 Teplota okolí [ C]: 25 Relativní vlhkost[%]: 60% Měřená modifikace: PC, RRCPU4/901(SN: není), 2 x RRC-IO/001 (SN: U2499, S7245), převodník USB/ETH (EU4207115MA00767), napájecí zdroj DIAMETRAL P230R51D (SN: 270) Výsledky zkoušky: Jsou zaznamenány v přílohách Použité měřicí přístroje: Výsledky zkoušek se týkají jen zkoušeného předmětu. Bez písemného souhlasu se nesmí zkušební protokol reprodukovat jinak než celý. Adresa: AMiT spol. s r.o., Naskové 3 150 00 Praha 5 Telefon: 222 780 100 Fax: 222 782 297 1 / 27
1. Požadavky Předmětem testu je funkčnost knihovny TROL v dané verzi podle programátorské příručky G:\Vyvoj\DARM\TEXTY\TROL_Manual\ trol_ms_cz_124.pdf s aktuální verzi firmware OCUN. Seznam testovaných funkcí je v soupisu testů. Knihovna je po uvolnění k dispozici v adresáři: G:\Vyvoj\DARM\SW\TROL.DSK\TROL.141\TROL Firmware OCUN je po uvolnění k dispozici v adresáři: G:\Vyvoj\DARM\SW\OCUN.100\FW.117\bin\ocun_901.bin. Testy provést na příslušných aplikacích v adresáři: G:\Vyvoj\DARM\TESTY\TESTY\PV.003\. 2. Plán testů 2.1. Soupis testů Ověření provést následujícími testy. Sada 1: 3.1 - Databáze 3.2 - Pomalý náběh napájecího napětí 3.3 - Alarmy - postupné 3.4 - Alarmy běžné 3.5 - Alarmy s vypínáním 3.6 - Datalogery (DL) data 3.7 - Alarmy parametry 3.8 - Funkce API CanOpen_SetSlaveState a CanOpen_GetSlaveState 3.9 - Masivní zápis do proměnných a generování alarmů 3.10 - Přepis zálohované RAM 3.11 - SDO komunikace 3.12 - Cílený přepis hlavičky první stránky kruhového bufferu 3.13 Stack, Stack, Výjimky, watchdog 2.2. Testovací metoda Před každým testem (pokud není uvedeno v popisu testu jinak) vygenerovat C-Source aplikací TrolDatGen (verze 1.0.60). G:\Vyvoj\DARM\SW\DSK\TrolDatGen\TrolDatGen_1_0_60.exe K ovládání testů použít aplikaci TrolView (verze 2.0.0.0). G:\Vyvoj\DARM\SW\DSK\TROLVIEW\2.0.0.0 Předpokladem je rutinní práce s TrolStudio včetně aplikace TrolView. G:\Vyvoj\DARM\TEXTY\TrolView_Manual\trolview_ms_cz_xxx.pdf Před testování je nutné provést: nastavit IP adresu stanice na 192.168.0.1 nastavit IP adresu PC na 192.168.0.2 připojit RRCPU a PC na stejnou síť (přes switch nebo USB to Eth převodník) zkontrolovat zda je na PC aktuální verze TrolDatGen zkontrolovat zda je na PC aktuální verze TrolView nahrát aktuální verzi firmware OCUN (pokud není vyžadováno jinak), návod upgreadu FW OCUN G:\Vyvoj\DARM\TEXTY\Postupy\ Upgrade na novou verzi FW OCUN v RRCPU.doc 2 / 27
zkopírovat na lokální disk výše zmíněný adresář s testovacími projekty a aplikacemi (PV.004) a do tohoto adresáře zkopírovat soubory testované verze knihovny (obsah složky TROL.xxx kde xxx je číslo testované verze) Pro realizaci testů není třeba důkladná znalost testovacích aplikací. Dílčí testy jsou realizovány jako posloupnost kroků, ve kterých jsou vyznačeny body Kontrola. Aby mohl být dílčí test vyhodnocen OK, musí být všechny body kontroly shodné s popsaným stavem. Test knihovny lze vyhodnotit OK, pokud budou OK vyhodnoceny všechny dílčí testy 2.3. Blokové schéma testovací sestavy Node ID 0x1 Node ID 0x2 ODPOR ODPOR CAN1 S000 S001 X7 X6 X3 X4 X3 X4 RRCPU4/901 USB/ETH Testovací PC 3 / 27
3. Návod na provedení testů Sada 1 3.1. Databáze Složka testu T01 a) Před spuštěním testu vygenerovat \PRJ\T01.tdg b) Spuštění generátoru proměnných PRJ\gen1760.bat c) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat d) Otevřít TrolView projekt \PRJ\t01.tvw Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny e) Otevřít scénu T01-DB Kontrola 1: Proměnné musí mít následující hodnotu Proměnná Hodnota DB_BOOL 1 DB_char -20 DB_uchar 100 DB_short -1001 DB_ushort 2002 DB_long -123456 DB_ulong 0x1EDCBA98 DB_llong 0x123456780000 DB_ullong 0x9999 1234 5678 000 DB_float 3.141593 Kontrola 2: Proměnná DB_Counter se musí inkrementovat Kontrola 3: Editovat proměnnou DB_ParVar zápis nesmí jít provést. Přepnout na vnucenou banku. Zapsat číslo mimo rozsah -100.. 100. Zápis musí být odmítnut. Kontrola 4: Do proměnné DB_ParVar zapsat číslo v rozsahu -100.. 100 (ve vnucené bance). Funkcí Project/Data/Akcept new parameters akceptovat novou hodnotu. Do proměnné DB_RtnVar zapsat libovolné int číslo. Vypnout stanici. Zapnout stanici. V obou proměnných musí být stejná hodnota jako před vypnutím. 4 / 27
3.2. Pomalý náběh napájecího napětí Složka testu T01 a) Před spuštěním testu vygenerovat PRJ\T01.tdg b) Spuštění generátoru proměnných PRJ\gen1760.bat c) Kompilace a sestavení projektu, spuštění dávky PRJ\APL_ARM\test_build.bat d) Otevřít TrolView projekt \PRJ t01.tvw Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny e) Otevřít scénu T01-DB f) V TrolView vypnout komunikaci se stanicí g) Vypnout napájení stanice a nastavit napájecí napětí na 5 V h) Zapnout napájení stanice i) V TrolView zapnout komunikaci se stanicí Kontrola 1: Na stanici nesmí naběhnout aplikace na procesním procesoru. LED RUN nesmí svítit ani blikat. Komunikace s TrolView neběží (v hodnotách proměnných se vypisuje no answer ). j) Zvýšit napájecí napětí na 8 V Kontrola 2: Na stanici nesmí naběhnout aplikace na procesním procesoru. LED RUN nesmí svítit ani blikat. Komunikace s TrolView neběží (v hodnotách proměnných se vypisuje no answer ). k) Zvýšit napájecí napětí na 15 V a počkat 15 sec. Kontrola 3: Na stanici naběhne aplikace na procesním procesoru. LED RUN bliká. Komunikace s TrolView běží (zobrazí se hodnoty proměnných). Hodnota proměnné DB_Counter je po spuštění vynulována a dále se inkrementuje. l) Snížit napájecí napětí na 7V. Kontrola 4: Na stanici nesmí naběhnout aplikace na procesním procesoru. LED RUN nesmí svítit ani blikat. Komunikace s TrolView neběží (v hodnotách proměnných se vypisuje no answer ). m) Zvýšit napájecí napětí na 24 V a počkat 15 sec. Kontrola 5: Na stanici naběhne aplikace na procesním procesoru. LED RUN bliká. Komunikace s TrolView běží (zobrazí se hodnoty proměnných). Hodnota proměnné DB_Counter je po spuštění vynulována a dále se inkrementuje. n) Vypnout komunikaci se stanicí 5 / 27
Kontrola 6: Ověření konzistence dat v externí paměti Spustit dávku T07\TEST.BAT Zkontrolovat výsledek testovací dávky. Výsledek testu musí být OK. Dávka by měla skončit s hlášením --- Dávka TEST.BAT byla úspěšně ukončena ---. 6 / 27
3.3. Alarmy - postupné Složka testu T01 a) Před spuštěním testu vygenerovat PRJ\T01.tdg b) Spuštění generátoru požadovaného počtu alarmů PRJ\gen1760.bat c) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat d) Otevřít TrolView projekt PRJ\t01.tvw Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny e) Otevřít scénu T01-AL a v ní: Zapnout komunikaci se stanicí Prvek AlarmLogger - stisknout tlačítko pro vyčtení alarmů (pokud je tlačítko zelené a jsou nějaké alarmy k vyčtení) Vymazat prvek AlarmLogger ze scény Vymazat všechny alarmy (Project/Data/Erase alarm records) Proměnná AL_Stav se musí rovna 0 Nastavit proměnné (v následujícím pořadí): 1. AL_Type=30 2. AL_StartCount=1 (nastavení spustí generování alarmů) f) Počkat až se AL_CNT = 1760 Kontrola: Vložit prvek AlarmLogger a zkontrolovat zda prvek obsahuje 1x vzor. Vzor se skládá z: 1760x alarmů ON (Idx 0-1759) 1760x alarmů OFF (Idx 0-1759) 7 / 27
3.4. Alarmy běžné Složka testu T01 a) Před spuštěním testu vygenerovat PRJ\T01.tdg b) Spuštění generátoru požadovaného počtu alarmů PRJ\gen1760.bat c) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat d) Otevřít TrolView projekt PRJ\t01.tvw Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny e) Otevřít scénu T01-AL a v ní: Zapnout komunikaci se stanicí Prvek AlarmLogger - stisknout tlačítko pro vyčtení alarmů (pokud je tlačítko zelené a jsou nějaké alarmy k vyčtení) Vymazat prvek AlarmLogger ze scény Vymazat všechny alarmy (Project/Data/Erase alarm records) Proměnná AL_Stav se musí rovna 0 Nastavit proměnné (v následujícím pořadí): 3. AL_Type=10 4. AL_SetWait =1 5. AL_StartCount=5 (nastavení spustí generování alarmů) f) Počkat až se AL_Stav opět rovná 0 Kontrola: Vložit prvek AlarmLogger a zkontrolovat zda prvek obsahuje 5x vzor. Vzor se skládá z: 15x alarmů ON (Idx 1-15) 15x alarmů OFF (Idx 1-15) 8 / 27
3.5. Alarmy s vypínáním Složka testu T01 a) Před spuštěním testu vygenerovat PRJ\T01.tdg b) Spuštění generátoru požadovaného počtu alarmů PRJ\gen1760.bat c) Kompilace a sestavení projektu, spuštění dávky PRJ\APL_ARM\test_build.bat d) Použít PRJ\t01.tvw. Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny e) Otevřít scénu T01-AL a v ní Zapnout komunikaci se stanicí Prvek AlarmLogger - stisknout tlačítko pro vyčtení alarmů Vymazat prvek AlarmLogger ze scény Vymazat všechny alarmy (Project/Data/Erase alarm records) Proměnná AL_Stav se musí rovna 0 Nastavit AL_Type=20 Nastavit AL_StartCount=7 f) Počkat až se AL_Stav rovná 24 g) Vypnout a zapnout stanici h) Dokud je AL_Stav>0 opakovat f) (pokud se hodnoty do 10s neobjeví, došlo k chybě) i) Pokud AL_Stav=0 provést kontrolu Kontrola: Vložit AlarmLogger a zkontrolovat zda prvek obsahuje 7x vzor: start systému 11x alarm ON (id 1-11) 11x alarm OFF (id 1-11) 9 / 27
3.6. Datalogery (DL) data Složka testu T02 a) Před spuštěním testu vygenerovat PRJ\T02.tdg b) Kompilace a sestavení projektu, spuštění dávky PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt PRJ\t02.tvw Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny Vymazat ze scény prvky AlarmLogger a DataLoggery Vymazat datalogery (Project/Data/Erase dataloger events) Vymazat alarmy (Project/Data/Erase alarm records) d) Otevřít scénu T02-DT a v ní Proměnná DT_Stav se musí rovna 0 Nastavit DT_StartCount=2 Počkat až se DT_Stav i DT_StartCount rovná opět 0 e) Přidat na scénu prvek AlarmLoger a stisknout tlačítko pro vyčtení alarmů f) Přidat na scénu prvek Dataloger 0 a stisknout tlačítko pro vyčtení událostí g) Přidat na scénu prvek Dataloger 20 a stisknout tlačítko pro vyčtení událostí Kontrola 1: V AlarmLoggeru musí být: 2x sekvence 10 alarmů ON a OFF. Kontrola 2: V sekci Datalogeru 0 musí být: 20 dt eventů (viz obrázek), ikona nůžek musí odpovídat obrázku, rozdíl času v prvních deseti a druhých deseti eventech musí být 100 ms, rozdíl mezi prvním a druhým balíkem eventů (rozdíl mezi 10 a 11 eventem) musí být 400 ms. Kontrola 3: Ve scéně Datalog 20 musí být 2 DT eventy. Průběhy proměnných musejí odpovídat obrázku: 10 / 27
DT_BOOL0, DT_BOOL8 pulsy, DT_FLT0 sinusovka, DT_INT0 pila. 11 / 27
3.7. Alarmy parametry Složka testu T06 a) Před spuštěním testu vygenerovat PRJ\TEST.tdg. b) Kompilace a sestavení projektu, spuštění dávky PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt PRJ\t06.tvw. Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny d) Otevřít scénu T06-1 a v ní Spustit komunikaci se stanicí. Proměnná AL_Stav se musí rovnat 0. Proměnná AL_Stav se musí rovnat 0. Provést vyčtení alarmů v prvku AlarmLogger Vymazat všechny alarmy (Project/Data/Erase alarm records) Smazat prvek AlarmLogger ze scény Nastavit AL_StartCnt=2 Počkat až se AL_Stav i AL_StartCnt rovná opět 0 Vložit prvek AlarmLogger, vyčíst alarmy Kontrola 1: V prvku AlarmLogger musí být dvakrát sekvence alarmů 1,2,3 a 4 (viz obrázek), parametry musí hodnotou odpovídat obrázku, časové mezery mezi alarmy ON a CHNG musí být 50ms. U prvního alarmu Alarm 02 muže chybět položka Reason: 0 v době studeného startu neboť nedochází ke změně při aktivním alarmu. 12 / 27
3.8. Funkce API CanOpen_SetSlaveState a CanOpen_GetSlaveState Složka testu T03 a) NEGENEROVAT TDG! b) Kompilace a sestavení projektu, spuštění dávky PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt PRJ\t03.tvw. Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny d) Vypnout napájení sestavy e) Odpojit od napájení Slave 1 (NodeID=1) i Slave 2 (NodeID=2) f) Zapnout napájení sestavy Kontrola 1: Na masteru se musí rozsvítit LED1 a LED2. g) Připojit oba Slave na napájení. Kontrola 2: Na masteru se musí zhasnout LED1 a LED2 h) Za chodu odpojit od napájení slave 1. Kontrola 3: LED1 se musí rozsvítit. i) Za chodu připojit slave 1. Kontrola 4: LED1 musí zhasnout j) Za chodu odpojit od napájení slave 2. Kontrola 5: LED2 se musí rozsvítit. k) Za chodu připojit slave 2. Kontrola 6: LED2 musí zhasnout. 13 / 27
3.9. Masivní zápis do proměnných a generování alarmů Složka testu T06 a) Před spuštěním testu vygenerovat PRJ\T06.tdg b) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt PRJ\t06.tvw. Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny d) Otevřít scénu T06-1 a v ní Nastavit proměnnou AL_StartCnt na 10000 Kontrola 1: Kontrola proměnných: Hodnoty proměnných ULL000, ULL001, ULL049 se musí pravidelně měnit, hodnota proměnné BS_ULL_ERR musí být 0 (v případě chybného zápisu proměnné se hodnota proměnné změní na 1 a je vygenerován alarm Alarm: chyba testu konzistence proměnných ). Kontrola 2: Generování Alarmů Musí být průběžně generované nové alarmy (viz test 3.5, kontrola 1), hodnota proměnné AL_StartCnt nesmí být 0 (případně znovu nastavit 10000). e) 20 x opakovat cyklus vypnout napájení stanice, vyčkat min. 3 s, zapnout napájení stanice, provést Kontrola 1 Kontrola 3: Ověření konzistence dat v externí paměti Vypnout komunikaci Spustit dávku T07\TEST.BAT Zkontrolovat výsledek testovací dávky. Výsledek testu musí být OK. Dávka by měla skončit s hlášením --- Davka TEST.BAT byla uspesne ukoncena ---. 14 / 27
3.10. Přepis zálohované RAM Část 1) Složka testu T04 a) Před spuštěním testu vygenerovat PRJ\T04.tdg b) Spustit dávku \TEST\T04.BAT, která ve spolupráci s operátorem provede jednotlivé fáze testu: c) Kontrola/nastavení komunikačních parametrů jednotky d) Kompilace testovací aplikace e) Spustit projekt v TrolView \PRJ\t04.tvw Nahrát aplikaci do jednotky Provést kontrolu výchozího stavu Kontrola 1: Ve scéně "Scene" musí proměnné odpovídat následujícímu obrázku: f) Vložit do scény prvek AlarmLogger a ověřit, že v něm přibývají události alarmu "PORUCHA - TRAMVAJ NESCHOPNA DALSI JIZDY". g) Spustit program pro přepis paměti, vyčkat než nastane jedna z možných variant: Varianta A Přepis paměti doběhl až dokonce. V tomto případě je přepsán také příznak, že jednotka již jednou prošla studeným startem. Odpojit a opět připojit napájení (musí projít studeným startem znovu). Varianta B Přepis paměti selhal. Do paměti se nahrály takové hodnoty, které způsobily pád aplikace na výjimku (nejčastěji Data Abort). Při vzniku výjimky dochází k resetu stanice, není tedy třeba ji vypínat/zapínat. h) Vyčíst systémový log Kontrola 2: viz Kontrola 1 i) Provést Kontrola 3 pro variantu, která nastala v bodě g) j) 5x opakovat test od bodu b) Kontrola 3 při variantě A: Systémový log (TEST\syslog.txt) musí obsahovat variantu i. s odpovídající časovou značkou v době provedení testu. Kontrola 3 při variantě B: Systémový log musí obsahovat jednu z variant ii., iii., iv., v. s odpovídající časovou značkou v době provedení testu. Varianty: i. Stav kdy došlo přepsání celé paměti: 0x8383FFFF [SYS]: Studeny start systemu: NEPLATNA ZNACKA APLIKACE! Provedena reinicializace. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) 15 / 27
ii. iii. iv. Stav kdy došlo přepsání značky aplikace a pádu aplikace na základě výjimky: 0x930066FB [EXC]: Vyjimka DAbt (Vyjimka PAbt, UNDEF) 0x8383FFFF [SYS]: Studeny start systemu: NEPLATNA ZNACKA APLIKACE! Provedena reinicializace. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) Stav kdy došlo k pádu aplikace na základě výjimky: 0x8300FFFF [SYS]: Studeny start systemu: cas predchoziho vypnuti nelze urcit. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) 0x93000B7F [EXC]: Vyjimka DAbt (Vyjimka PAbt, UNDEF) 0x81000010 [SYS]: Zapnuti systemu (priznak 0x10 :detekovana vyjimka) Stav kdy došlo k pádu aplikace na základě watchdogu: 0x8300FFFF [SYS]: Studeny start systemu: cas predchoziho vypnuti nelze urcit. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) 0x81000001 [SYS]: Zapnuti systemu (priznak 0x01 :HW watchdog - IDLE) 16 / 27
Část 2) Složka testu T04_1 a) Před spuštěním testu vygenerovat PRJ\T04_1.tdg b) Spustit dávku \TEST\T04_1.BAT, která ve spolupráci s operátorem provede jednotlivé fáze testu: c) Kontrola/nastavení komunikačních parametrů jednotky d) Kompilace testovací aplikace e) Spustit projekt v TrolView \PRJ\t04_1.tvw Nahrát aplikaci do jednotky Provést kontrolu výchozího stavu Kontrola 1: Ve scéně "Scene" se musí zvyšovat proměnná Counter. f) Spustit program pro přepis paměti, vyčkat než nastane jedna z možných variant: Varianta A Přepis paměti doběhl až dokonce. V tomto případě je přepsán také příznak, že jednotka již jednou prošla studeným startem. Odpojit a opět připojit napájení (musí projít studeným startem znovu). Varianta B Přepis paměti selhal. Do paměti se nahrály takové hodnoty, které způsobily pád aplikace na výjimku (nejčastěji Data Abort). Při vzniku výjimky dochází k resetu stanice, není tedy třeba ji vypínat/zapínat. g) Vyčíst systémový log Kontrola 2: Ve scéně "Scene" se musí zvyšovat proměnná Counter. h) Provést Kontrola 3 pro variantu, která nastala v bodě f) i) 3x opakovat test od bodu b) Kontrola 3 při variantě A: Systémový log (TEST\syslog.txt) musí obsahovat variantu i. s odpovídající časovou značkou v době provedení testu. Kontrola 3 při variantě B: Systémový log musí obsahovat jednu z variant ii., iii., iv., v. s odpovídající časovou značkou v době provedení testu. Dále musí log obsahovat hlášení: 0x84000001: Chyba konzistence retain proměnných. 0x84000002: Chyba konzistence parametrických proměnných. Varianty: i. Stav kdy došlo přepsání celé paměti: 0x8383FFFF [SYS]: Studeny start systemu: NEPLATNA ZNACKA APLIKACE! Provedena reinicializace. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) ii. iii. Stav kdy došlo přepsání značky aplikace a pádu aplikace na základě výjimky: 0x930066FB [EXC]: Vyjimka DAbt (Vyjimka PAbt, UNDEF) 0x8383FFFF [SYS]: Studeny start systemu: NEPLATNA ZNACKA APLIKACE! Provedena reinicializace. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) Stav kdy došlo k pádu aplikace na základě výjimky: 0x8300FFFF [SYS]: Studeny start systemu: cas predchoziho vypnuti nelze urcit. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) 17 / 27
0x93000B7F [EXC]: Vyjimka DAbt (Vyjimka PAbt, UNDEF) 0x81000010 [SYS]: Zapnuti systemu (priznak 0x10 :detekovana vyjimka) iv. Stav kdy došlo k pádu aplikace na základě watchdogu: 0x8300FFFF [SYS]: Studeny start systemu: cas predchoziho vypnuti nelze urcit. 0x81000000 [SYS]: Zapnuti systemu (priznak 0x00) 0x81000001 [SYS]: Zapnuti systemu (priznak 0x01 :HW watchdog - IDLE) 18 / 27
3.11. SDO komunikace Složka testu T08 a) NEGENEROVAT projekt TDG! b) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt \PRJ\t08.tvw. Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny d) Vypnout napájení sestavy. e) Zapnout napájení sestavy a vyčkat cca 10 s. Kontrola: Stav LED0 LED11 musí odpovídat následujícímu popisu: LED0 musí být trvale zhasnutá LED1 musí být trvale zhasnutá LED2 musí být trvale zhasnutá LED3 musí být trvale zhasnutá LED4 a LED5 musí společně krátce blikat s periodou 1.6vteriny LED6 a LED7 musí společně blikat s periodou 1.6 vteřiny a střídou 50:50 LED8 musí být trvale zhasnutá LED9 musí být trvale zhasnutá LED10 a LED11 musí společně blikat s periodou 1.6 vteřiny a střídou 50:50 Dvojice LED6, LED7 a LED10, LED11 musí být vždy v opačném stavu. 19 / 27
3.12. Cílený přepis hlavičky první stránky kruhového bufferu Složka testu T09 a) Před spuštěním testu vygenerovat \PRJ\T09.tdg b) Spuštění dávky \TEST\T09.BAT, která ve spolupráci s operátorem provede jednotlivé fáze testu: Nastavení připojení k jednotce, kompilace testovací aplikace, nahrání aplikace do jednotky, spuštění komunikace. a) Kontrola 1 Ve scéně 'Scene' ověřte, že: hodnota "Pointer odesílané stránky Alarmoveho systemu" neustále cykluje, hodnota "Pointer odesílané stránky Dataloggeru 0" neustále cykluje, hodnota "Citac tiku procesu" se neustále zvyšuje, obě hodnoty "DL0: masky definovanych a bezicich dataloggeru" jsou shodné. c) Vymazání první stránky kruhového bufferu alarmového systému. d) Počkat cca 30 sekund. b) Kontrola 2 Ve scéně 'Scene' ověřte, že: hodnota "Pointer odesílané stránky Alarmoveho systemu" se přestal měnit, ostatní hodnoty se chovají stejně, jako při Kontrola 1. 20 / 27
e) Vymazání první stránky kruhového bufferu dataloggeru č. 0 f) Počkat cca 30 sekund. c) Kontrola 3 Ve scéně 'Scene' ověřte, že: hodnota "Pointer odesílané stránky Dataloggeru 0" se přestala měnit, hodnoty "DL0: Pointer zápis. stránky a zapis. vzorku" se přestaly měnit, hodnota xidebug4 v inspektoru "DL0: masky definovaných a běžících dataloggeru" se nezměnila, ale nejnižší bit hodnoty xidebug5 se po chvíli překlopil z 1 na 0, hodnota "Citac tiku procesu" se neustále zvyšuje. g) Vypnutí a opětovné zapnutí jednotky. h) Vyčkat než TrolView naváže komunikaci. d) Kontrola 4 Ve scéně 'Scene' ověřte, že a alarmový systém i datalogger 0 opět fungují: hodnota "Pointer odesílané stránky Alarmoveho systemu" neustále cykluje, hodnota "Pointer odesílané stránky Dataloggeru 0" neustále cykluje, 21 / 27
hodnota "Citac tiku procesu" se neustále zvyšuje, obě hodnoty "DL0: masky definovaných a bezicich dataloggeru" jsou shodne. i) Vyčtení systémového logu a provedení e) Kontrola 5 Ověřte, že soubor syslog.txt: obsahuje záznamy o dvou startech systému, v prvním startu obsahuje záznam 0xBB000000 (detekce výpadku komunikace alarmového systému), v prvním startu obsahuje záznam 0xAA000000 (detekce výpadku komunikace dataloggeru číslo 0) 22 / 27
3.13. Stack, Výjimky, watchdog Složka testu T05 a) Před spuštěním testu vygenerovat \PRJ\T05.tdg b) Kompilace a sestavení projektu, spuštění dávky \PRJ\APL_ARM\test_build.bat c) Otevřít TrolView projekt PRJ\t05.tvw a otevřít scénu T05 a v ní: Spustit komunikaci se stanicí Vymazat prvek AlarmLogger ze scény Vymazat všechny alarmy (Project/Data/Erase alarm records) Vložit prvek AlarmLogger Download programu (*.bin soubor z PRJ\APL_ARM\ release\) Kontrola verze Knihovny Kontrola 1: Proměnná cntres = 1 a counter zvýšuje svojí hodnotu Proměnná START COLD =1 a RESET UNDEF =1 V alarmloggeru jsou záznami START COLD a RESET Local params: nuly d) Ve scéně nastavit proměnnou type =1 a vyčkat dokud type = 0 a cntres = 2 a po té vyčíst alarmy. Kontrola 2: Proměnná START WARM =1, RESET EXC =1 a EXC DABT =1 V alarmloggeru přibyli záznami START WARM, RESET Local params: 10 a EXCEPTION Local params: 93 e) Ve scéně nastavit proměnnou type =2 a vyčkat dokud type = 0 a cntres = 3 a po té vyčíst alarmy. Kontrola 3: Proměnná START WARM =1 a RESET POINT1 IDLE =1 V alarmloggeru přibyli záznami START WARM a RESET Local params: 1 f) Vypnou a zapnout napájení a vyčkat dokud cntres = 4 a po té vyčíst alarmy. Kontrola 3: Proměnná START WARM =1 a RESET POWERON =1 V alarmloggeru přibyli záznami START WARM a RESET Local params: 8 g) Ve scéně nastavit proměnnou stacknumber = 100 a počkat 10 sekund. Kontrola 4: Proměnná StackFreeUSR změnila svou hodnotu a je menší než proměnná StackCapacityUSR Proměnná cntres =4 h) Ve scéně nastavit proměnnou stacknumber = 1000, počkat 10 sekund a vyčíst alarmy. Kontrola 5: Proměnná StackFreeUSR změnila svou hodnotu a je menší než proměnná StackCapacityUSR Proměnná cntres =5 23 / 27
Proměnná START WARM =1, RESET EXC =1 a EXC DABT = 1 (nebo jiná EXC =1) V alarmloggeru přibyli záznami START WARM, RESET Local params: 10 a EXCEPTION Local param: 93 (nebo jiné číslo) i) Ve scéně nastavit proměnnou type =3 a vyčkat dokud type = 0 a cntres = 1 a po té vyčíst alarmy. Kontrola 6: Proměnná START BROKEN =1 a RESET UNDEF =1 V alarmloggeru přibyli záznami START BROKEN a RESET Local params: 0 j) Spustit RANDRAMADR.bat, zahájit přepis úseku RAM (databazové proměnné) a po dokončení (OK) vypnout a zapnout napájení. (Pro úspěšné dokončení tohoto kroku musí přepis skončit OK, jinak je nutné krok opakovat či upravit adresy v RANDRAMADR.bat podle souboru.map G_DB.o). Kontrola 7: Proměnná boretaininvalid =1 a boparaminvalid = 1, Proměnná START WARM =1 a RESET POWERON =1 V alarmloggeru přibyli záznami START WARM, RESET Local params: 8, Chyba konzistence RETAIN a Chyba konzistence PARAM f) Vypnout komunikaci a spustit LOG.bat Kontrola 8: Kontrola syslog.log a ExceptionLog.txt v následujícím pořadí: Záznam o studeném startu 0x8300FFFF (syslog) Záznam o zapnutí systému (priznak 0x00) 0x81000000 (syslog) Záznam o výjimce DAbt 0x93000503 (syslog) Záznam o zapnutí systému (priznak 0x10 :detekovana vyjimka) 0x81000010 (syslog) Záznam o zapnutí systému (priznak 0x01 :HW watchdog - IDLE) 0x81000001 (syslog) Záznam o zapnutí systému (priznak 0x08 :napajeni) 0x81000008 (syslog) Záznam o výjimce DAbt 0x93000503 (syslog) Záznam o zapnutí systému (priznak 0x10 :detekovana vyjimka) 0x81000010 (syslog) Záznam o studeném startu systému (NEPLATNÁ ZNAČKA APLIKACE!) 0x8383FFFF Záznam o zapnutí systému (priznak 0x00) 0x81000000 (syslog) Záznam o zapnutí systému (priznak 0x08 :napajeni) 0x81000008 (syslog) Záznam o chybě konzistence retain proměnných 0x84000001 Záznam o chybě konzistence parametrickych proměnných 0x84000002 (Počet startů 8 záznamů, NEPLATNÁ ZNAČKA APLIKACE! 1 záznam, Výsledek chyba 4 záznamy) Záznam Counter: 2 (ExceptionLog.txt) 24 / 27
Stav AlarmLoggeru a výpis dávky LOG.bat 25 / 27
4. Výsledky testu Kontrola 3.1 - Databáze 3.2 - Pomalý náběh napájecího napětí 5 OK 6 OK 3.3 Alarmy - běžné 1 OK 3.4 Alarmy - běžné 1 OK 3.5 Alarmy -s vypínáním 1 OK 3.6 Datalogery DL 1 OK 2 OK 3 OK 3.7 Alarmy-parametry 1 OK 3.8 Funkce API CanOpen_SetSlaveState 1 OK a CanOpen_GetSlaveState 2 OK 3 OK 4 OK 5 OK 3.9 Masivní zápis do proměnných a generování alarmů 3.10 Přepis zálohované RAM Část 1 3.10 Přepis zálohované RAM Část 2 Výsledek kontroly 1 OK 2 OK 3 OK 4 OK 1 OK 2 OK 3 OK 4 OK 6 OK 1 OK 2 OK 3 OK 1 OK 2 OK 3 A nenastala 3 B OK 1 OK 2 OK 3 A OK 3 B OK 3.11 Test SDO komunikace 1 OK 3.12 Cílený přepis hlavičky první stránky 1 OK kruhového bufferu 2 OK 3 OK 4 OK 3.13 Stack, Výjimky, watchdog 5 OK 1 OK 2 OK 3 OK 4 OK 5 OK 6 OK 26 / 27
7 OK 8 OK 5. Závěr Knihovna TROL ve verzi 1.43 splňuje požadavky Zkoušky programového vybavení na aktuálním firmware OCUN ve verzi 1.17. 27 / 27