xTrace moduly pro práci s univerzální strukturou - dokumentace
ChangeLog
| Datum | Kdo | Notes |
|---|---|---|
| 13.1.2022 | MG | První verze docky |
Smyslem tohoto dokumentu je vysvětlení modulů pro zpracování dat z externího parseru. Tuto funkcionalitu zajišťují dva moduly UNIVERSAL PARSER a UNIVERSAL SAVEPROCESSDATA.
UNIVERSAL PARSER
Modul, který čeká na soubory od externího parseru a stará se o jejich zpracování.
Parametry
| Název | Popis | Implicitní hodnota |
|---|---|---|
| CheckProgramName | Parametr udávající zda se má kontrolovat program. | false |
| ktgParamProgName | Jméno,typ katalogového parametru ve kterém se nachází jméno programu. | Hlavní Program,GMS |
| ktgParamNumOfRows | Jméno,typ katalogového parametru ve kterém se nachází počet řádků na panelu. | PanelRows,PRODUCT |
| ktgParamNumOfColumns | Jméno,typ katalogového parametru ve kterém se nachází počet sloupců na panelu. | PanelColumns,PRODUCT |
| ktgParamTesterPcbDirection | Jméno,typ katalogového parametru ve kterém se nachází pořadí desek na panelu vůči pořadí při testování pro přiřazení správných hodnot jednotlivým deskám. | TesterPCBDirection,GMS |
| ErrorOnCannotWriteToConfigFile | Má se zastavit práce v případě nemožnosti zápisu do konfiguračního souboru? | false |
| ConfigFilePath | Cesta na které se nachází konfigurační soubor. | "" |
| ConfigFileName | Jméno konfiguračního souboru včetně přípony. | xtraceConfig.csv |
Popis funkcionality
Modul vezme data z příchozího souboru a pokusí se je deserializovat do univerzální struktury. V případě neúspěchu je na tuto skutečnost upozorněn operátor a soubor je zazálohován do neúspěšně zpracovaných souborů. Pokud tato desirializace dopadne úspěšně tak se přejde ke kontrole předaných dat. Nejprve dochází ke kontrole hodnoty IsError, která značí zda byl soubor Externím parserem zpracován v pořádku. Dále je kontrolována položka MainBarcode, pokud je prázdná tak to znamená že v datech od stroje se nenacházel žádný barcode a bez něj nemůžeme jednoznačně určit ke kterému dílu daný soubor patří (v realitě by nemělo vůbec nastávat). Dále dochází k volitelné kontrole jména programu (její provedení se nastavuje přes parametr). Poté se zkontroluje zda byly předány nějaké informace o dílech (pokud by nebyly předány, tak by neměla dopadnout již kontrola na MainBarcode). Nakonec se objekt s daty uloží do ProcessContextu a podle toho zda se předaná data týkají Panelového dílu pokračuje postup ve skriptu. Pokud byl předán panel, tak vezmeme MainBarcode a pomocí SetNextData jej přepošleme modulu PARTSTART, který se nachází na stejném levelu jako tento modul, aby se pokusil nastartovat daný díl. Pokud se ale nejedná o panelový díl, tak se provede UpLevel, s tím že o nastartování jednotlivých dílů se postará modul UNIVERSAL SAVEPROCESSDATA.
UNIVERSAL SAVEPROCESSDATA
Modul, který ukládá procesní data k jednotlivým dílům. Pokud odstane více nepanelových dílů, tak zodpovídá za jejich nastartování.
Parametry
| Název | Popis | Implicitní hodnota |
|---|---|---|
| DefaultDivrgBarcode | Barkód chyby, která se zapíše v případě chyby, která není nalezena v databázi. | F00001 |
| ResizedImagePercents | Hodnota udávající na kolik procent původního obrázku se má upravit obrázek. | 100 |
| OK_MS_Status | Hodnota udávající jaký status se nastaví dílu při OK testu dílu na pracovišti. | 1 |
| NG_MS_Status | Hodnota udávající jaký status se nastaví dílu při NG testu dílu na pracovišti. | 9 |
| ProcessDataSaveType | Parametr určuje k jakému dílu se budou ukládat procesní data. Možné hodnoty MainPart, Pcbs, případně MainPart or Pcbs | MainPart |
Popis funkcionality
Modul si vyzvedne data z process contextu. Jeho logika dále pokračuje podle toho zda se jedná o panel či jeden nepanelový díl (1), protože pro tyto sutuace je logika zpracování stejná, nebo se jedná o více nepanelových dílů (2). V případě (1) proběhne kontrola na to zda je nějaký díl nastartovaný, pokud ano tak se poravná nastartované sériové číslo se sériovým číslem z univerzální struktury. Pokud je podmínka vyhodnocena úspěšně, tak se zavolají funkce pro zápis chyb, uložení procesních dat a nastavení správného Machine Statusu (MS). V případě (2) se pro každý jednotlivý díl zavolají funkce DOPart.PartExistsCheck a Part.CheckPartBarcode, pokud dopadnou úspěchem tak je díl nastartován, jsou k němu uloženy jeho chyby, zapsána procesní data a nastaven správný MS.
Ukázka defaultního skriptu
