UNIXT v xTrace

Popis

Modul UNIxT je TCP server, aplikace testeru jsou TCP klienti. Znamená to tedy, že aplikace testeru se připojují na xTrace modul UNIxT. Každý klient se musí registrovat a tím si zároveň řekne, zda chce přijímat všechna data, nebo jen odpovědi na své požadavky. Připojení zůstává otevřené, tudíž je možné odesílat data oběma směry po celou dobu spojení.

Logika zahájení testu

Požadavek na zahájení testu se iniciuje buď načtením dílu na pracovišti xTrace nebo přijmutím požadavku protokolem UNIxT z testeru.

Zahájení testu na základě načtení SN dílu čtečkou na pracovišti

V případě, že je díl načten na pracovišti, pak se: - provedou potřebné kontroly (tj. standardní kontroly xTrace), zda je možné díl na pracovišti opracovat - pokud jsou předešlé kontroly v pořádku, pak se zahájí operace s dílem - pokud jsou předešlé kontroly v pořádku a operace je na pracovišti úspěšně zahájena, pak se protokolem UNIxT odešlou data testStartResponse - pokud některé kontroly jsou neshodné nebo dojde k nějaké chybě, pak se protokolem UNIxT nic odesílat nebude. Tj. klienti o tom nebudou informováni. - Při čekání na výsledek testu na pracovišti má operátor test přerušit. Při přerušení testu pracoviště xTrace odešle všem "příjemcům" (tj. klientům registrovaným s parametrem IsMaster=true) příkaz terminate_test.

Zahájení testu na základě přijaté zprávy testStartRequest

V případě, že požadavek na zahájení testu přijde protokolem UNIxT (testStartRequest), pak: - pokud pracoviště není připraveno na zahájení testu, tak se nepokračuje dalšími kontrolami a odesílá se testStartResponse s overAllStatus=0. - pokud jsme v kroku, kdy je možné zahájit test, pak se provedou potřebné kontroly (tj. standardní kontroly xTrace), zda je možné díl na pracovišti opracovat - dále pak kontroly programu a fixtury oproti nastavení u produktu - pokud je potřeba nějaký další zásah operátora (např. proškolení, ověření příbalů, atp.), pak se čeká na požadovaný zásah operátora. Po dokončení tohoto zásahu se pokračuje dalším krokem. Pokud při čekání na zásah operátora přijde z testeru požadavek na přerušení testu, pak se logika přenese na začátek cyklu - pokud jsou předešlé kontroly v pořádku, pak se zahájí operace s dílem - odešle se testStartResponse

Seznam modulů

Modul UNIXT

Je to základní mudul, který vytvoří TCP server. Po přijetí dat se data serializují na odpovídající objekt metodou GetMessage.

Podporované požadavky definované protokolem: - register => registerResponse - proxyRegister => response - getUserDataRequest => getUserDataResponse - getLoggedEIDRequest => getLoggedEIDResponse - testStartRequest => testStartResponse - pdata => response - setUserDataRequest => response - command => commandResponse - loginRequest => response

proxyRegister

Zpráva se posílá jen z aplikace UnixtProxy, a to ihned po připojení.
Zpráva se zpracuje přímo v modulu UNIXT.

register

Zprávu odesílá klient pro identifikaci. Je nutné, aby verze ve zprávě byla shodná s verzí UNIXT protokolu serveru. Pokud není klient identofikován, tak se ostatní zprávy nezpracovávají!
Zpráva se zpracuje přímo v modulu UNIXT.

getUserDataRequest

Zpráva pro získání uživatelských dat dílu. Díl nemusí být nastartován.
Zpráva se zpracuje přímo v modulu UNIXT.

getLoggedEIDRequest

Zpráva pro získání informací o aktuálně přihlášeném operátorovi.
Zpráva se zpracuje přímo v modulu UNIXT.

testStartRequest

Zpráva pro zahájení testu. Tato zpráva se odešle standardním mechanismem (tj. vloží se do fronty příchozích dat). Zprávu zpracovává modul UNIXT_PARTSTART, který po ověření nastaví odpověď. Odpověď se ale odesílá jen v případě, že díl není možné nastartovat. Pokud je díl nastartován, pak se odpověď odesílá až modulem UNIXT_RESULT_HANDLER.

pdata

Zpráva s výsledkem testu. Tato zpráva se odešle standardním mechanismem (tj. vloží se do fronty příchozích dat). Zprávu zpracovává modul UNIXT_RESULT_HANDLER.

setUserDataRequest

Zpráva pro nastavení uživateských dat dílu. Tato zpráva se odešle standardním mechanismem (tj. vloží se do fronty příchozích dat). Zprávu zpracovává modul UNIXT_RESULT_HANDLER. Zpráva musí být odeslána před výsledkem tstu.

command

Zpráva s požadavkem na vykonání příkazu. Momentálně je podporován jen příkaz pro přerušení testu. Tato zpráva se odešle standardním mechanismem (tj. vloží se do fronty příchozích dat). Zprávu zpracovává modul UNIXT_CYCLE_BREAKER.

loginRequest

Požadavek na přihlášení/odhlášení operátora. Ověření uživatele podle přihlašovacího jména a hesla se provádí v modulu UNIXT. Samotné přihlášení/odhlášení provádí standardní modul USERWORKGROUP.

Příklad skriptu

Unixt script