Cómo funciona la programación basada en eventos

El programador crea una simulación de lo que pasará si se dan todas las condiciones y datos que le ha proporcionado. Cuando ejecuta esta simulación, el programador ve todos los eventos que suceden en un momento dado. Entonces, se mueve hacia adelante hasta el siguiente punto en el tiempo en el que se produce algún evento. Por lo tanto, cada vez que ejecute el programa, TODAS las demandas (trabajos, estimaciones, programas de producción, órdenes MRP y órdenes planificadas APS) se vuelven a programar.

Después de que la ejecución de la programación se ha terminado, el programador genera datos de salida que resumen lo bien que se ha realizado el programa simulado. Por ejemplo, si una operación estuvo inactiva durante una hora, la información resumida ayuda a determinar por qué (por ejemplo, puede que el recurso necesario estuviera ocupado). Puede ajustar sus datos para hacer el programa más eficiente, como ajustando la fecha de inicio de un trabajo anterior para liberar el recurso más rápidamente. Cuando los resultados del programa son aceptables, puede imprimir una lista de distribución para dársela al personal del taller para que ejecute el programa.

Acerca del registro de seguimiento del programador

El registro de Seguimiento registra todos los eventos que procesa el programador (cuando el registro de Seguimiento está configurado para registrar en el nivel de detalle "Amplio" en el formulario Parámetros de control de taller). En las actividades diarias del programador, el registro de seguimiento es útil solo para resolver problemas. Sin embargo, sirve como una buena imagen paso a paso de cómo el programador aborda cada evento en un programa. Por lo tanto, los eventos para el ejemplo en este tema de ayuda se ilustran en un formato parecido a lo que vería en un registro de seguimiento (se han simplificado por claridad en este ejemplo).

Ejemplo de procesamiento de evento

En este sencillo ejemplo, observe la visión de los eventos del programador. Suponga estas condiciones:

  • El artículo BK-110 tiene una ruta con una operación, Oper110.
  • La operación Oper110 necesita un recurso del grupo de recursos ST1.
  • ST1 contiene un recurso, Cuadrilla1. El recurso está de turno en el momento ilustrado en el ejemplo.
  • La operación Oper110 tiene una duración de la ejecución de 15 minutos. La duración de la ejecución es el tiempo para terminar una carga en la operación. Dependiendo de la Regla del programador definida en la operación, esto puede representar un tiempo fijado o el tiempo por pieza. En este ejemplo, la duración de la ejecución representa el tiempo por pieza.
  • Trabajo110-0000 para BK-110 se libera el 27/02/2004 a las 8:00 a. m. para una cantidad de 3.
  • El programa se inicia el 27/02/2004 a las 8:00 a.m.
Evento Descripción
TIEMPO DE PROGRAMA AVANZA A 27/02/2004 8:00:00 El programador se mueve hasta el momento en el que se produce el primer evento (el propio programa puede haberse establecido para que se inicie antes).
27/02/2004 8:00:00

INICIO DE TRABAJO LLEGADA EVENTO PARA TRABAJO Trabajo110-0000

LIBERACIÓN DE CARGAS PARA TRABAJO Trabajo110-0000

CREACIÓN DE CARGA 1, TAMAÑO 3

OPERACIÓN Oper110, SELECCIONADA COMO PRIMERA

El trabajo se libera y el programador sitúa la cantidad de trabajo en una unidad denominada una carga. En la mayoría de situaciones, la carga contiene toda la cantidad del trabajo (en algunos casos la cantidad del trabajo se puede romper en varias cargas). La primera operación del trabajo en la ruta está identificada.
27/02/2004 8:00:00

INICIO DE EVENTO DE OPERACIÓN

PROCESAMIENTO DE OPERACIÓN Oper110, CARGA 1 DE TRABAJO Trabajo110-0000

PROGRAMACIÓN DE FIN DE TRASLADO PARA OPERACIÓN EL 27/02/2004 8:00:00

Si se ha definido cualquier Traslado de tiempo para esta operación, el programador habrá calculado su duración aquí. En este ejemplo, la operación no está definida con ningún Traslado de tiempo.
27/02/2004 8:00:00

INICIO DE EVENTO DE OPERACIÓN

PROCESAMIENTO DE OPERACIÓN Oper110, CARGA 1 DE TRABAJO Trabajo110-0000

SOLICITUD DE GRUPO DE RECURSOS ST1

SOLICITUD DE RECURSOS Cuadrilla1 DESDE GRUPO ST1

ASIGNACIÓN INCOMPLETA

El programador fuerza el primer evento de operación para retrasar la asignación de recursos hasta que el recurso pueda comprobar su cola de solicitudes por cualquier solicitud pendiente. Se introduce una solicitud en la cola de solicitudes del recurso.

Consulte Uso de las reglas del programador para obtener más información acerca de las colas de solicitud.

Este retraso cubre la posibilidad de que una operación de mayor prioridad llegue al mismo tiempo que una operación de menor prioridad, permitiendo que la operación más crítica asigne el recurso.

27/02/2004 8:00:00

INICIO DE COMPROBACIÓN LIBRE DE RECURSO EVENTO PARA RECURSO Cuadrilla1

PROCESAMIENTO DE OPERACIÓN Oper110, CARGA 1 DE TRABAJO Trabajo110-0000

ASIGNACIÓN DE 1 UNIDAD DESDE GRUPO DE RECURSOS ST1

CANCELACIÓN DE SOLICITUD DE GRUPO DE RECURSOS ST1

CANCELACIÓN DE SOLICITUD DE RECURSO Cuadrilla1 DESDE GRUPO ST1

ASIGNACIÓN DE RECURSOS Cuadrilla1 DESDE GRUPO ST1

ASIGNACIÓN TERMINADA

CONFIGURACIÓN INNECESARIA O DE DURACIÓN CERO

PROGRAMACIÓN DE FIN DE SERVICIO PARA OPERACIÓN EL 27/02/2004 8:45:00

El recurso Cuadrilla1 comprueba su cola de solicitudes por si hubiera alguna solicitud pendiente y encuentra la solicitud de carga de OperBK001.

El programador asigna el recurso Cuadrilla1 desde el grupo de recursos ST1 y calcula el tiempo en el que se va a terminar la operación.

TIEMPO DE PROGRAMA AVANZA A 27/02/2004 8:45:00 El programador se traslada hasta el momento en el que se produce el siguiente evento.
02/27/2004 8:45:00

INICIO DE EVENTO DE OPERACIÓN

PROCESAMIENTO DE OPERACIÓN Oper110, CARGA 1 DE TRABAJO Trabajo110-0000

LIBERACIÓN DE 1 UNIDAD DEL GRUPO DE RECURSOS ST1

LIBERACIÓN DE RECURSOS Cuadrilla1 DESDE GRUPO ST1

RECURSO Cuadrilla1 AHORA ESTÁ INACTIVO

PROGRAMACIÓN DE FIN DE ENFRIAMIENTO PARA OPERACIÓN EL 27/02/2004 8:45:00

La operación termina y libera el recurso Cuadrilla 1.

El recurso Cuadrilla 1 ahora está inactivo y disponible para que se le asigne cualquier otra operación.

Si se ha definido cualquier Tiempo de finalización (esto es, tiempo de enfriamiento) para esta operación, el programador habrá calculado su duración aquí. En este ejemplo, no hay procesamiento de operaciones posterior adicional.

27/02/2004 8:45:00 INICIO DE COMPROBACIÓN LIBRE DE RECURSO EVENTO PARA RECURSO Cuadrilla1 COLA DE SOLICITUDES VACÍA Cuando se libera un recurso, comprueba si cualquier otra operación le ha solicitado mientras estaba ocupado. En este ejemplo, no hay solicitudes del recurso pendientes.
02/27/2004 8:45:00

INICIO DE EVENTO DE OPERACIÓN

PROCESAMIENTO DE OPERACIÓN Oper110, CARGA 1 DE TRABAJO Trabajo110-0000

FIN DEL PROCESO ENCONTRADO SELECCIÓN DE SIGUIENTE OPERACIÓN

FIN DEL PROCESO PARA CARGA 1 DEL TRABAJO Trabajo110-0000

0 CARGAS PENDIENTES

TRABAJO Trabajo110-0000 TERMINADO

Cada operación especifica la siguiente operación en la ruta. En este ejemplo, el programador encuentra que no hay otra operación, por lo que termina el trabajo.
PROGRAMA DETENIDO PORQUE NO HABÍA MÁS TRABAJOS QUE PROCESAR

FIN DE PROGRAMA EL 27/02/2004 8:45:00

El programa ahora está terminado.