Evaluar reporte de producción

El reporte de producción lista las piezas producidas o tickets procesados en orden cronológico con información adicional como p.ej. el tiempo de tisaje.

Parámetros de llamada:

Indicación para los filtros:

Todos los filtros fueron implementados como filtros "débiles".

Esto significa que una pieza o un ticket aparecen completos en la tabla de resultados siempre y cuando el filtro para esta pieza o ticket se cumplió en un momento cualquiera.

Ejemplo:
Se filtró según turno 2 y 3.
(== visualizar solo las piezas que fueron tejidas durante el turno 2 o 3)

No será filtrada porque fue tejida (temporalmente) en el turno 2.
(Un "filtro fuerte" descartaría completamente tales piezas seccionadas.)

Parámetro

Tipo

Descripción

__sSchema

text

Esquema de las tablas de base de datos secundarias.

Si se trabaja con tablas temporales, _sDestSchema siempre tiene que ser “== ‘‘

_sTable_Prefix

text,

Prefijo de las tablas de base de datos secundarias.

_aSortorder

text[]

Clasificar (Array (conjunto) de nombres de columnas)

Ejemplo:

  • ARRAY['MC_SORT_ID','START_TIME']
  • ARRAY['MC_SORT_ID','START_TIME DESC']

_bGroupByTicketUid

boolean

Si = true se agrupará / evaluará según tickets

Los tiempos de todas las piezas son sumadas. COMPLETE cuenta los tickets finalizados en vez de piezas.

_aFilterShift

integer[]

Filtrar a través de turno(s)

Ejemplo, emitir solo turno 1 y 3:

ARRAY[1,3]

_aFilterUsername

text[]

Filtrar a través de usuario (tejedor)

Ejemplo: ARRAY[‚User_1,'User_3']

_aFilterPattern

text[]

Filtrar a través de muestra

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

_aFilterSeq

text[]

Filtrar a través de secuencias

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

_aFilterTicketUid

bigint[][]

Filtrar a través de UID de ticket interna

Ejemplo: ARRAY[3374994314,3738720541]

_aFilterTicketProductionId

text[]

Filtrar a través de la ID de producción de ticket

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

_aFilterTicketProductionsub1Id

text[]

Filtrar a través de la Sub1Id de producción de ticket

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

_aFilterTicketProductionsub2Id

text[]

Filtrar a través de la Sub2Id de producción de ticket

Ejemplo: ARRAY['-']

_aFilterTicketCustomerId

text[]

Filtrar a través de la Id de cliente de ticket

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

_aFilterTicketArticleid

text[]

Filtrar a través de la ID de artículo de ticket

Ejemplo: ARRAY['H8T803']

_aFilterUserState

Smallint[]

Filtrar a través de estado de usuario

Ejemplo: ARRAY[4,3]

_aFilterSintralState

Smallint[]

Filtrar a través de estado de Sintral

Ejemplo: ARRAY[4,3]

_xFilterMinDuration

interval

Filtrar piezas de tisaje que estuvieron activos por menos de x segundos.
Con ello es posible filtrar las piezas fantasma, que pueden resultar por ejemplo debido a un incorrecto orden de eventos.
Valor razonable de la práctica: aprox. 2 seg.

_bFilterUseOnlyNettoTime

boolean

Incluir solo duraciones neto de tiempo. ( == La máquina estableció el identificador de productividad == Tiempo desde Muestra cargada hasta Parada contador de piezas es 0)

_bFilterUseOnlyProductiveTicketTime

boolean

Si == true, los tiempos en los que se produjeron tickets de mantenimiento o en los que se produjo sin tickets son filtrados

Tabla de devolución

Notas:
La tabla de devolución contiene adicionalmente columnas debut así como columnas que solo son necesarias para la estadística de muestras (esta utiliza )
Los nombres de columnas de estas columnas figuran entre paréntesis rectos.

Ejemplo: [MIN_UID]

Algunas de las columnas devuelven arrays (conjuntos) como valor de devolución.
Frecuentemente estas solo tienen una entrada.

Para cada uno de estos arrays pueden haber situaciones donde existen varias entradas.

Ejemplos:

Columna

Tipo

Contenido

MC_ID

integer

ID de máquina de SKR

MC_SORT_ID

smallint

Para ordenar alfabéticamente por el nombre de máquina

(El nombre de la máquina puede ser determinado con ayuda de la MC_ID)

AGG_TICKET_DATA

text[]

Ticket Data

Formato actual:
TicketType | CustomerId | Articleid | ProductionId | ProductionSub1Id | ProductionSub2Id | Uid

AGG_SEQ_NAME

text[]

Nombre de secuencia (n)

AGG_PATTERN_NAME

text[]

Nombre de muestra (n)

START_TIME

timestamp without time zone

Hora en la cual fue comenzado el ticket o la pieza

END_TIME

timestamp without time zone

Hora en la cual fue finalizado el ticket o la pieza

DURATION

interval

Tiempo durante el cual estuvo activo el ticket o la pieza

KNIT_DURATION

interval

Tiempo durante el cual la máquina estuvo funcionando

TIME_ADJUST

interval

Indica cambios de horario en la máquina para el período de evaluación, que fueron sumados por el SKR.
En el caso de cambios de horario de verano\invierno, los días realmente fueron más cortos o más largos. Para otros horarios, el valor sirve solo para la estimación de los errores de hora existentes. Una corrección de los tiempos emitidos es muy compleja y requiere de una análisis detallado de todos los eventos de cambios de horario realizados y de sus motivos.

En caso de tiempos extremadamente elevados, que exceden mucho la exactitud de un reloj de cuarzo, debería averiguar el motivo.

Motivos no habituales pueden ser relojes de tiempo real defectuosos o modificaciones manuales en los ajustes de hora tanto en el servidor PPS como también en la máquina.
Para una corrección, en principio el valor TIME_ADJUST debe ser sumado parcial o totalmente a los tiempos que se quieren averiguar.

Para mantener estos tiempos pequeños, asegúrese de que el ajuste del huso horario en la máquina sea el correcto y que la máquina siempre esté conectada al SKR.

Puede determinar cuando se originaron diferencias de tiempo mayores a través del reporte EventList (EventType 101, EventID 1).

COMPLETE

boolean

La pieza / el ticket fue finalizado completamente

(o cancelado)

AGG_SHIFT_STATES

smallint[]

Turnos activos durante los cuales la pieza o el ticket fue procesado

AGG_USER_STATES

smallint[]

User States activos durante los cuales la pieza o el ticket fue procesado

AGG_SINTRAL_STATES

smallint[]

Sintral States activos durante los cuales la pieza o el ticket fue procesado

AGG_USER_NAME

smallint[]

Usuarios activos durante los cuales la pieza o el ticket fue procesado

[MIN_UID]

bigint

Debuginfo:
UID de hora de inicio en <prefix>_collected_filter_rows

[MAX_UID]

bigint

Debuginfo:
UID de hora de finalización en <prefix>_collected_filter_rows

[COUNT]

integer

Debuginfo:
Número de líneas utilizadas de <prefix>_collected_filter_rows (valor real)

[LOOP_CHG_COUNT]

integer

Debuginfo:
Número de líneas de <prefiy>:collected_chg_counts (valor nominal)

[TICKET_UID_CHG]

integer

Debuginfo:
CHG_ID in _collected_chg_counts para la máquina actual y COL_ID“=‘ eTICKET_UID_CHG

[AGG_TICKET_UID]

bigint[]

Debuginfo: UID’s de ticket activo

[AGG_TICKET_CUSTOMER_ID]

bigint[]

Debuginfo: CUSTOMER ID‘s de ticket activo

[AGG_TICKET_ARTICLE_ID]

text[]

Debuginfo: ARTICLE ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_ID]

text[]

Debuginfo: PRODUCTION ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_SUB1_ID]

text[]

Debuginfo: PRODUCTION_SUB1_ID‘s de ticket activo

[AGG_TICKET_PRODUCTION_SUB2_ID]

text[]

Debuginfo: PRODUCTION_SUB2_ID‘s de ticket activo

Código de ejemplo „sample_production_report.sql“

Importante:

Se parte de la base que las tablas auxiliares de evaluación report_01.sample_xxxxxxxx ya fueron generadas.
Generar tablas auxiliares de evaluación (curso del cursor - UDF)

Para un sistema de productividad insertar un campo vacío ‘‘ en vez del esquema report_01,. Pero debe ser idéntico a lo indicado al crear las tablas auxiliares.

select skrpps_02.skr_mcid2mcname( "MC_ID",'skr'::cstring) AS "MC_NAME"

,*

from skrpps_02.eval_production_report(

 

'report_01' -- Schema

,'sample' –- Table Name Prefix

,ARRAY['MC_SORT_ID','START_TIME'] – Sorting according to…

,false –- Group by tickets?

,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 if true. (== 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.

);