Evaluar la estadística Run/Stop

En este reporte se pueden averiguar los tiempos de ejecución o de parada según los criterios más diversos. Si …_STATE_COUNT y …_STATE_EVENT son idénticos, la correspondiente duración fue registrada completamente en la ventana de tiempo de evaluación indicada.

Si el _STATE_COUNT es mayor, el inicio fue anterior al intervalo de evaluación. Generalmente estas dos columnas son de menor interés a menos que se desee registrar la duración desde la primera vez que ocurrió.

Internamente, este reporte es la base para el historial gráfico de paradas y el reporte de eficiencia.

Notas:

  1. La tabla de resultados contiene más de 60 columnas. En el caso de evaluaciones durante períodos más cortos, con seguridad la mayoría estarán completamente vacíos o contendrán solo ceros.
    Estas columnas entonces no deberían ser visualizadas (dinámico).
    Ejemplo:
    Las columnas SHOCK_STATE_... solo contienen datos <> 0 si durante el período de evaluación aconteció un paro por choque.
Parámetros de llamada

Parámetro

Tipo

Descripción

__sSchema

text

Esquema de las tablas de base de datos secundarias.

Si se trabaja con tablas temporales, siempre tiene que ser_sDestSchema immer == ‘‘

_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']

_bGroupByMachine

boolean

Agrupar por máquina

_bGroupByShift

boolean

Agrupar por turno

_bGroupByUserName

boolean

Agrupar por usuario (en la máquina)

_bGroupByPattern

boolean

Agrupar por muestra

_bGroupBySeq

boolean

Agrupar por secuencia

_bGroupByTicketUid

boolean

Agrupar por ticket (UID de PPS)

_bGroupByTicketProductionId

boolean

Agrupar por ID de producción de ticket

_bGroupByTicketProductionSub1Id

boolean

Agrupar por Sub-Id 1 de producción de ticket

_bGroupByTicketProductionSub2Id

boolean

Agrupar por Sub-Id 2 de producción de ticket

_bGroupByTicketCustomerId

boolean

Agrupar por ID de cliente de ticket

_bGroupByTicketArticleId

boolean

Agrupar por ID de artículo de ticket

_bgroupbyday

boolean

Agrupar por día

_bgroupbyweek

boolean

Agrupar por semana

_bgroupbymonth

boolean

Agrupar por mes

_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 secuencias

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]

Tabla de devolución

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)

SHIFT_STATE

smallint

Turno o NULL si _bGroupByShift == false

USER_NAME

smallint

Usuario o NULL si _bGroupByShift == false

TICKET_CUSTOMER_ID

text

UID de ticket o NULL si _bGroupByTicketCustomerId == false

TICKET_ARTICLE_ID

text

ID de artículo de ticket o NULL si _bGroupByTicketArticleId == false

TICKET_PRODUCTION_ID

text

ID de producción de ticket o NULL _bGroupByTicketProductionId == false

TICKET_PRODUCTION_SUB1_ID

text

Sub1 ID de producción de ticket o NULL _bGroupByTicketProductionId == false

TICKET_PRODUCTION_SUB2_ID

text

Sub2 ID de producción de ticket o NULL *_bGroupByTicketProductionId == false

SEQ_NAME

text

Nombre de la secuencia o NULL si _bGroupBySeq == false

PATTERN_NAME

text

Nombre de la muestra o NULL si _bGroupByPattern == false

TICKET_UID

bigint

UId de ticket o NULL si _bGroupByTicketUId == false

START_TIME

timestamp without time zone

Hora de inicio de la agrupación
(Línea resultante)

END_TIME

timestamp without time zone

Hora de finalización de la agrupación
(Línea resultante)

OVERALL_DURATION

interval

Duración total de todos los estados

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.
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).

 

Estado de RUN

Tiempos productivos

RUN _DURATION

interval

Duración de este estado

RUN_STATE_COUNT

integer

Número de períodos en este estado

RUN_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de STOP

Paradas

STOP_DURATION

interval

Duración de este estado

STOP_STATE_COUNT

integer

Número de períodos en este estado

STOP_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de ENGAGING

Paradas por el usuario a través de la barra de arranque

ENGAGING_DURATION

interval

Duración de este estado

ENGAGING_STATE_COUNT

integer

Número de períodos en este estado

ENGAGING_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de YARN_FEED

Paradas por la unidad de control del hilo o tensores de hilo laterales
Rotura del hilo, nudos grandes

YARN_FEED_DURATION

interval

Duración de este estado

YARN_FEED_STATE_COUNT

integer

Número de períodos en este estado

YARN_FEED_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de PIECE_COUNTER_ZERO

El contador de piezas se encuentra en cero

PIECE_COUNTER_ZERO_DURATION

interval

Duración de este estado

PIECE_COUNTER_ZERO_DURATION

integer

Número de períodos en este estado

PIECE_COUNTER_ZERO_DURATION

integer

Número de eventos de cambio de estado para este estado

 

Estado de RESISTANCE

Paros por resistencia

RESISTANCE_DURATION

interval

Duración de este estado

RESISTANCE_STATE_COUNT

integer

Número de períodos en este estado

RESISTANCE_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de POSITION_NEEDLE_SENSOR

Paradas por el sensor de posición de las agujas
Rotura de aguja

POSITION_NEEDLE_SENSOR_DURATION

interval

Duración de este estado

POSITION_NEEDLE_SENSOR_STATE_COUNT

integer

Número de períodos en este estado

POSITION_NEEDLE_SENSOR_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de TAKE_DOWN

Paradas por estirador tejido

TAKE_DOWN_DURATION

interval

Duración de este estado

TAKE_DOWN_STATE_COUNT

integer

Número de períodos en este estado

TAKE_DOWN_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de PROGRAMMING

Tiempos de edición de muestras en la máquina

PROGRAMMING_DURATION

interval

Duración de este estado

PROGRAMMING_STATE_COUNT

integer

Número de períodos en este estado

PROGRAMMING_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de OTHER

Paradas por otros motivos

OTHER_DURATION

interval

Duración de este estado

OTHER_STATE_COUNT

integer

Número de períodos en este estado

OTHER_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de SHOCK

Paros por choque

SHOCK_DURATION

interval

Duración de este estado

SHOCK_STATE_COUNT

integer

Número de períodos en este estado

SHOCK_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de RACKING

Error del variador

RACKING_DURATION

interval

Duración de este estado

RACKING_STATE_COUNT

integer

Número de períodos en este estado

RACKING_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de NODATA

Nota: Limitación en relación a MCSTATE_UNKNOWN_...
= La máquina se encuentra en un estado desconocido.

Estados y eventos para los que es válido:
El estado de máquina no le es conocido al SKR porque no hay datos presentes para este período.

Causas posibles:

  • La máquina todavía no estuvo incluida en el SKR durante todo el período que fue indicado en el momento de la generación de la base de datos secundaria
  • El búfer de datos de la máquina no fue suficiente para guardar los eventos mientras la máquina no estuvo en conexión con el SKR durante un tiempo prolongado.
  • El SKR fue desactivado temporalmente en la máquina

NODATA_DURATION

interval

Duración de este estado

NODATA_STATE_COUNT

integer

Número de períodos en este estado

NODATA_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de OFF

La máquina está desconectada

OFF_DURATION

interval

Duración de este estado

OFF_STATE_COUNT

integer

Número de períodos en este estado

OFF_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de BOOT

Proceso arranque (boot) de la máquina

BOOT_DURATION

interval

Duración de este estado

BOOT_STATE_COUNT

integer

Número de períodos en este estado

BOOT_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

Estado de MCSTATE_UNKNOWN
Nota: Limitación en relación a NODATA_...
= el estado de la máquina no le es conocido al SKR debido a datos faltantes

Estados y eventos para los que es válido:

El estado de máquina no le es conocido al SKR.

Causa posible:

  • La máquina notifica un nuevo estado, que todavía no le es conocido al SKR
  • El sistema operativo de la máquina es defectuoso

MCSTATE_UNKNOWN_DURATION

interval

Duración de este estado

MCSTATE_UNKNOWN_STATE_COUNT

integer

Número de períodos en este estado

MCSTATE_UNKNOWN_EVENT_COUNT

integer

Número de eventos de cambio de estado para este estado

 

[DEBUG_SRC_MIN_UID]

bigint

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

Código de ejemplo „sample_eval_stop_statistik.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_stop_statistic_ex

(

 

'report_01' -- Schema

,'sample' –-Prefix name of help tables

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

 

,true -- GroupBy Machine ?

,false -- GroupBy Shift ?

,false -- GroupBy UserName

,true -- GroupBy Pattern ?

,false -- GroupBy Sequence

 

,false -- GroupBy "TICKET_UID" bigint,

,false -- GroupBy "TICKET_PRODUCTION_ID" text,

,false -- GroupBy "TICKET_PRODUCTION_SUB1_ID" text,

,false -- GroupBy "TICKET_PRODUCTION_SUB2_ID" text,

,false -- GroupBy "TICKET_CUSTOMER_ID" text,

,false -- GroupBy "TICKET_ARTICLE_ID" text,

,false -- GroupBy "Day" text,

,false -- GroupBy "Week" text,

,false -- GroupBy "Month" text,

 

 

,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 Sequence

,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

);