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)
- Una pieza de tisaje fue iniciada durante el turno 1 a las 7:55 hs.
- A las 8:00 hs. comienza el turno 2
- A las 8:10 la pieza terminó de tejerse.
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:
|
_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. |
_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:
-
AGG_TICKET_DATA
A qué ticket le pertenece una pieza tejida.
Dado que los tickets pueden ser cargados de forma asincrónica, es perfectamente posible (debido a un error de manejo en la máquina) que hayan estado activos 2 tickets de producción durante el tisaje de una pieza. -
AGG_SCHIFT_STATES
Durante el tisaje de una pieza puede ocurrir un cambio de turno.
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: |
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 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 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: |
[MAX_UID] | bigint | Debuginfo: |
[COUNT] | integer | Debuginfo: |
[LOOP_CHG_COUNT] | integer | Debuginfo: |
[TICKET_UID_CHG] | integer | Debuginfo: |
[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.
);