Historia de paradas

Con este reporte es posible averiguar los tiempos de parada en forma de porcentajes y la duración absoluta según diferentes criterios.

Este reporte es la base para el historial gráfico de paradas.

Notas:

  1. La tabla de resultados contiene más de 30 columnas. En el caso de evaluaciones durante períodos más cortos, algunos estarán vacíos o contendrán solo ceros.
    Estas columnas entonces no deberían ser visualizadas (dinámico).
    Ejemplo:
    La columna SHOCK_DURATION. solo contiene <> 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, _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']

_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

AGG_MC_ID

integer[]

ID de máquina de SKR

AGG_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_SHIFT_STATE

smallint[]

Turno o NULL si _bGroupByShift == false

AGG_USER_NAME

smallint[]

Usuario o NULL si _bGroupByShift == false

AGG_TICKET_CUSTOMER_ID

text[]

UID de ticket o NULL si _bGroupByTicketCustomerId == false

AGG_TICKET_ARTICLE_ID

text[]

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

AGG_TICKET_PRODUCTION_ID

text[]

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

AGG_TICKET_PRODUCTION_SUB1_ID

text[]

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

AGG_TICKET_PRODUCTION_SUB2_ID

text[]

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

AGG_SEQ_NAME

text[]

Nombre de la secuencia o NULL si _bGroupBySeq == false

AGG_PATTERN_NAME

text[]

Nombre de la muestra o NULL si _bGroupByPattern == false

AGG_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

OVERALL_DURATION_WHILEMCON

interval

Período total durante el cual la máquina estuvo conectada y se disponía de datos.

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

 

RUN _DURATION

interval

Duración del tiempo productivo

STOP_DURATION

interval

Duración de la parada

EFFICIENCY_INCLUDING_POWER_OFF_PC

double

Eficiencia de la máquina en %.

Contiene tiempos en los que la máquina estuvo desconectada.

STOP_DURATION_WHILEMCON

interval

Período total durante el cual la máquina estuvo parada, conectada y se disponía de datos.

EFFICIENCY_WHILEMCON_PC

double

Eficiencia de la máquina en %, durante la cual la máquina estuvo conectada y se disponía de datos.

ENGAGING_DURATION

interval

Duración de parada por el usuario a través de la barra de arranque

ENGAGING_PC

double

Duración en % durante la cual el operador de la máquina posiblemente haya tenido la máquina parada sin motivo.

Calculado en base a:

(STOP_DURATION - (NO_DATA_DURATION + OFF_DURATION)) -

(ENGAGING_DURATION +

PIECE_COUNTER_ZERO_DURATION +

PROGRAMMING_DURATION +

BOOT_DURATION +

MCSTATE_UNKNOWN_DURATION)

YARN_FEED_DURATION

interval

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

YARN_FEED_PC

double

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

PIECE_COUNTER_ZERO_DURATION

interval

Duración con contador de piezas parado en cero

PIECE_COUNTER_ZERO_PC

double

Duración en % con contador de piezas parado en cero

RESISTANCE_DURATION

interval

Duración de los paros por resistencia

RESISTANCE_PC

double

Duración en % de los paros por resistencia

POSITION_NEEDLE_SENSOR_DURATION

interval

Duración de parada por el sensor de posición de las agujas
Rotura de aguja

POSITION_NEEDLE_SENSOR_PC

double

Duración de parada en % causada por el sensor de posición de las agujas
Rotura de aguja

TAKE_DOWN_DURATION

interval

Duración de parada por el estirador tejido

TAKE_DOWN_PC

double

Duración de parada en % causada por el estirador tejido

PROGRAMMING_DURATION

interval

Duración de las ediciones de muestras en la máquina

PROGRAMMING_PC

double

Duración en % de las ediciones de muestras en la máquina

OTHER_DURATION

interval

Duración de parada por otros motivos

OTHER_PC

double

Duración de parada en % causada por otros motivos

SHOCK_DURATION

interval

Duración de los paros por choque

SHOCK_PC

double

Duración en % de los paros por choque

RACKING_DURATION

interval

Duración de los errores del variador

RACKING_PC

double

Duración en % de los errores del variador

NODATA_DURATION

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

interval

Duración para la que se aplica:
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

OFF_DURATION

interval

Tiempo durante el cual la máquina está desconectada

BOOT_DURATION

interval

Tiempo para procesos de arranque (boot) de la máquina

BOOT_PC

double

Tiempo en % para procesos de arranque (boot) de la máquina

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

interval

Duración para la que se aplica:

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_UKNOWN_PC

double

Duración en % para la que se aplica:

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

 

[DEBUG_SRC_MIN_UID]

bigint

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

Código de ejemplo „sample_eval_stop_history_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_stop_history_report

(

'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

);