Analisi della statistica dei disegni

La statistica dei disegni è sostanzialmente un riepilogo statistico del report di produzione.

Consente un raggruppamento molto flessibile (anche combinato) sulla base di colonne differenti
Per questo, la maggior marte delle colonne della tabella di ritorno contengono matrici.
Con raggruppamenti inadatti, estesi a intervalli di analisi prolungati, queste matrici possono aumentare al punto da incidere negativamente sulle prestazioni delle analisi.

Esempio: analisi estesa a un anno

Viene raggruppato solo secondo le macchine. (Non in combinazione con raggruppamento secondo disegno o ticket)

La colonna dei risultati AGG_PATTERN_NAME comprende quindi una matrice con tutti i nomi dei disegni prodotti nell'anno in questione.

Parametri di richiamo :

Nota sui filtri:

come nel caso del report di produzione, tutti i filtri sono stati implementati come filtri “deboli”.
Panoramica dei report

Parametri

Tipo

Descrizione

__sSchema

text

Schema delle tabelle database secondarie.
Se si opera con tabelle provvisorie, _sDestSchema deve essere sempre == ‘‘

_sTable_Prefix

text,

Prefisso delle tabelle database secondarie

_aSortorder

text[]

Classificazione (matrice da nomi colonna)

Esempio: ARRAY['MC_SORT_ID','START_TIME']

_bGroupByMachine

boolean

Raggruppamento in base a macchina

_bGroupByShift

boolean

Raggruppamento in base a turno

_bGroupByUserName

boolean

Raggruppamento in base a utente (sulla macchina)

_bGroupByPattern

boolean

Raggruppamento in base a disegno

_bGroupBySeq

boolean

Raggruppamento in base a sequenza

_bGroupByTicketUid

boolean

Raggruppamento in base a ticket (UID PPS)

_bGroupByTicketProductionId

boolean

Raggruppamento in base a ID produzione ticket

_bGroupByTicketProductionSub1Id

boolean

Raggruppamento in base a Sub1 ID produzione ticket

_bGroupByTicketProductionSub2Id

boolean

Raggruppamento in base a Sub2 ID produzione ticket

_bGroupByTicketCustomerId

boolean

Raggruppamento in base a ID cliente del ticket

_bGroupByTicketArticleId

boolean

Raggruppamento in base a ID articolo del ticket

_aFilterShift

integer[]

Filtraggio secondo turno/i

Esempio:
emissione solo di turno 1 e 3: ARRAY[1,3]

_aFilterUsername

text[]

Filtraggio secondo utente (operatore)

Esempio: ARRAY[‚User_1,'User_3']

_aFilterPattern

text[]

Filtraggio secondo sequenze

Esempio: ARRAY['S-kUuG01','P-Sjo9v3']

_aFilterSeq

text[]

Filtraggio secondo sequenze

Esempio: ARRAY['SEQ-WNJhP3','SEQ-wMWzx2']

_aFilterTicketUid

bigint[][]

Filtraggio secondo UID di ticket interni

Esempio: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

Filtraggio secondo ID produzione ticket

Esempio: ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8']

_aFilterTicketProductionsub1Id

text[]

Filtraggio secondo Sub1 ID produzione ticket

Esempio: ARRAY['SubId_2','SubId_21']

_aFilterTicketProductionsub2Id

text[]

Filtraggio secondo Sub2 ID produzione ticket

Esempio: ARRAY['-']

_aFilterTicketCustomerId

text[]

Filtraggio secondo Id cliente ticket

Esempio: ARRAY['cId-2','cId-4']

_aFilterTicketArticleid

text[]

Filtraggio secondo Id articolo ticket

Esempio: ARRAY['H8T803']

_aFilterUserState

Smallint[]

Filtraggio secondo stato utente

Esempio: ARRAY[4,3]

_aFilterSintralState

Smallint[]

Filtraggio secondo stato Sintral

Esempio: ARRAY[4,3]

_xFilterMinDuration

interval

Esclusione di teli attivi per meno di x secondi.
È possibile così escludere teli fantasma, che possono risultare ad es. da sequenze inadatte o errate di eventi.
Valore sensato dalla prassi: ca. 2 sec

_bFilterUseOnlyNettoTime

boolean

Includere solo tempi netti. ( == la macchina ha impostato il contrassegno di produttività == il tempo che intercorre tra caricamento disegni ad arresto contateli è 0 )

_bFilterUseOnlyProductiveTicketTime

boolean

Se == true vengono esclusi i tempi nei quali vengono prodotti ticket di manutenzione o viene prodotto senza ticket

Tabella di ritorno

Note:

Colonna

Tipo

Contenuto

MC_ID

integer

ID macchina SKR

MC_SORT_ID

smallint

Per la classificazione in ordine alfabetico in base al nome della macchina
(Il nome della macchina può essere appurato con l'ausilio degli MC_ID)

AGG_SEQ_NAME

text[]

Nome o nomi della sequenza

AGG_PATTERN_NAME

text[]

Nome o nomi del disegno

START_TIME

timestamp without time zone

Ora/data di inizio

END_TIME

timestamp without time zone

Ora/data di fine

AGG_SHIFT_STATES

smallint[]

Turni attivi

AGG_USER_STATES

smallint[]

Gli stati utente attivi durante i quali è stato lavorato il telo o il ticket

AGG_SINTRAL_STATES

smallint[]

Gli stati Sintral durante i quali è stato lavorato il telo o il ticket

AGG_USER_NAME

smallint[]

Gli utenti attivi durante i quali è stato lavorato il telo o il ticket

AGG_TICKET_DATA

text[]

Data del ticket
Formato attuale:
TicketType | CustomerId | Articleid | ProductionId | ProductionSub1Id | ProductionSub2Id | Uid

KNIT_COUNT

integer

Numero di teli completi (non interrotti)

BREAK_COUNT

integer

Numero di teli interrotti

SUM_BREAK_DURATION

interval

Tempo impiegato per teli/ticket interrotti

(La colonna è probabilmente opportuna solo se si è raggruppato per disegno)

AVG_DURATION

interval

Tempo medio per telo

  • con tempi di arresto
  • vengono ignorati i teli interrotti

MIN_DURATION

interval

Tempo minimo per telo

con tempi di arresto

vengono ignorati i teli interrotti

MAX_DURATION

interval

Tempo massimo per telo, con tempi di arresto, vengono ignorati i teli interrotti

SUM_DURATION

interval

Tempo complessivo

  • con tempi di arresto
  • vengono ignorati i teli interrotti

AVG_KNIT_DURATION

interval

Tempo medio per telo

  • senza tempi di arresto
  • vengono ignorati i teli interrotti

MIN_KNIT_DURATION

interval

Tempo minimo per telo

  • senza tempi di arresto
  • vengono ignorati i teli interrotti

MAX_KNIT_DURATION

interval

Tempo massimo per telo

  • senza tempi di arresto
  • vengono ignorati i teli interrotti

SUM_KNIT_DURATION

interval

Tempo complessivo

  • senza tempi di arresto
  • vengono ignorati i teli interrotti

[MIN_UID]

bigint

Info di debug: ora/data di inizio Uid in <prefix>_collected_filter_rows

[MAX_UID]

bigint

Info di debug: ora/data di fine Uid in <prefix>_collected_filter_rows

[AGG_TICKET_UID]

bigint[]

Info di debug: ticket attivo UID’s

[AGG_TICKET_CUSTOMER_ID]

text[]

Info di debug: ticket attivo CUSTOMER ID‘s

[AGG_TICKET_ARTICLE_ID]

text[]

Info di debug: ticket attivo ARTICLE ID‘s

[AGG_TICKET_PRODUCTION_ID]

text[]

Info di debug: ticket attivo PRODUCTION_ID‘s

[AGG_TICKET_PRODUCTION_SUB1_ID]

text[]

Info di debug: ticket attivo PRODUCTION_SUB1_ID‘s

[AGG_TICKET_PRODUCTION_SUB2_ID]

text[]

Info di debug: ticket attivo PRODUCTION_SUB2_ID‘s

Codice a titolo di esempio “sample_pattern_statistik.sql”

Importante:

Si parte dal presupposto che siano già state create le tabelle ausiliari analitiche report_01.sample_xxxxxxxx.
Creazione di tabelle ausiliari analitiche (corsa del cursore - UDF)

Per un sistema di produzione inserire al posto di schema report_01, un campo vuoto ‘‘. Deve tuttavia essere identico a quello specificato al momento della creazione delle tabelle ausiliarie.

select * from skrpps_02.eval_pattern_statistic

(

'report_01' -- Schema

,'sample' – Table Name Prefix

,ARRAY['AGG_MC_SORT_ID','AGG_SEQ_NAME','AGG_PATTERN_NAME'] – Sorting

 

,true -- GroupBy Machine

,false -- GroupBy Shift?

,false -- GroupBy UserName

,true -- GroupBy Pattern

,true -- GroupBy Sequence

,false -- GroupBy "TICKET_UID"

,false -- GroupBy "TICKET_PRODUCTION_ID"

,false -- GroupBy "TICKET_PRODUCTION_SUB1_ID"

,false -- GroupBy "TICKET_PRODUCTION_SUB2_ID"

,false -- GroupBy "TICKET_CUSTOMER_ID"

,false -- GroupBy "TICKET_ARTICLE_ID"

 

,NULL -- ARRAY[2,3] -- Filter by shift

,NULL -- ARRAY['User_3','User_4'] -- Selection/Filter UserName

,NULL     -- ARRAY['S-kUuG0','P-Sjo9v3'] -- Selection/Filter Pattern

,NULL -- ARRAY['SEQ-WNJhP3','SEQ-9bEqD1'] -- Selection/Filter Sequences

,NULL -- ARRAY[3374994314,3738720541] -- Selection/Filter FilterTicketUid bigint[]

,NULL -- ARRAY['2E0Hl4-H8T803-cId-8','2E0Hl4-H8T803-cId-8'] -- Selection/Filter FilterTicketProductionId text[]

,NULL -- ARRAY['SubId_2','SubId_21'] -- Selection/Filter FilterTicketProductionSub1Id text[]

,NULL -- ARRAY['-'] -- Selection/Filter FilterTicketProductionSub2Id text[]

,NULL -- ARRAY['cId-2','cId-4'] -- Selection/Filter FilterTicketCustomerId text[]

,NULL -- ARRAY['H8T803'] -- Selection/Filter FilterTicketArticleId text[]

,NULL -- ARRAY[4,3] -- Selection/Filter UserState

,NULL -- ARRAY[4,3] -- Selection/Filter SintralState

 

,'00:00:01' -- FilterMinDuration‚ Filter-out fabric pieces or tickets with a duration shorter than the specified value.

-- (e.g. in order to keep times after ending a ticket and before starting the next out of the report in case of the Auto Production Mode)

,false – Evaluate net times only. ( == Machine has set the Productive flag == Time from pattern loaded state to Piece Counter is zero

,false – If == false, all times allocated to service tickets will be filtered-out.

);