Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El software WITNESS
A.1 INTRODUCCIN
La aplicacin WITNESS permite modelar y simular un sistema dinmico con eventos discretos. Los eventos aleatorios se pueden modelar mediante distribuciones probabilsticas estndar. Tambin incorpora herramientas para el anlisis de los resultados generados en las simulaciones. Otra de sus mejores propiedades es la representacin de la informacin y del estado del proceso de una manera muy visual, de forma que se facilita la comprensin del funcionamiento del sistema modelado as como la extraccin de conclusiones a partir de las simulaciones realizadas. A continuacin se detallan los elementos de WITNESS empleados para este proyecto. Primero se detallan las caractersticas generales del entorno y a continuacin los aspectos relacionados con la implementacin de modelos de sistemas.
149
150
152
El Buffer Max Repeat significa que el Buffer se comporta como un Buffer de detencin doble, es decir, como un Buffer normal de detencin, excepto que si falla la regla de salida, retrasa el suceso hasta que el tiempo de salida de Part es igual al mximo del tiempo de retraso. El proceso se repite indefinidamente hasta que la regla se cumpla u otro elemento tire de la Part. MACHINES O ACTIVIDADES (Ver figura A.5): Son uno de los elemento ms usados y representan cualquier trabajo que se ha de realizar a las Parts en cualquier momento, procesarlos y enviarlos al prximo destino. En las Machines es donde las Parts pueden ser moldeadas y cambiadas, gastando tiempo procesndolas, cambiando de un estado a otro al tiempo que las hace avanzar. Una Manchine puede procesar una Part o ms de una a la vez. Puede ensamblar diferentes Parts juntas dentro de una o disgregar una en varias. Seguidamente se describen diferentes tipos de maquinas que pueden implementar:
Figura A.5 Ventana de definicin de una Machine (Detail) Single Machina (Figura A.6): Procesa Parts de una en una.
IN
OUT
MACHINE Figura A.6 Esquema de una mquina simple Batch Machina (figura A.7): Procesa un lote o grupo de Parts cada vez. Es necesaria especificar el nmero mnimo y mximo de Parts que constituyen el lote o grupo. 153
IN
OUT
MACHINE Figura A.7 Esquema de una mquina por lotes Assembly Machina (figura A.8): Toma ms de una Part y de salida proporciona nicamente una Part. Es necesario especificar el nmero de Parts que sern ensambladas en una nica Part.
IN
Figura A.8 Esquema de una mquina ensamblaje Production Machina (figura A.9): Toma varias Parts y como salida produce varias Parts. Es necesario especificar el nmero de Parts que se producirn de manera que el nmero de Parts que saldrn ser la cantidad que se produce ms una. Tambin es necesario indicar el tipo de Part que se crea. IN OUT
MACHINE Figura A.9 Esquema de una mquina de produccin General Machina (Figura A.10): Saca diferentes cantidades de diferentes Parts. Es necesario especificar el nmero de entradas y de salidas. ANY NUMBER IN ANY NUMBER OUT
154
Multi Machina (Figura A.11): Una multi-station Machine, procesa una o ms Parts a travs de un nmero de estaciones. Es necesario especificar el nmero de estaciones y de Parts por estacin. Si el nmero de Parts es mayor que 1, la Machine es una multi-station batch Machine.
155
Es necesario definir el tipo y la cantidad que son necesarios y especificarlos en la caja de dilogo del elemento que necesite el Labour. En el momento en que un elemento necesite un Labour, su estado cambiar a Labour en espera y esperar hasta que un Labour pase a disponible. Si hay ms de un elemento esperando a Labour, acudir al que tenga la prioridad ms alta; si ms de uno tiene la misma prioridad entonces ir a la tarea ms antigua. La prioridad se indica en el Detail del elemento. Normalmente un Labour permanecer en un elemento hasta que el proceso sea completado. No obstante se puede sustituir un Labour de su tarea para que efecte operaciones ms crticas. CONVEYORS (Ver figura A.13): Se utilizan para satisfacer los requerimientos de movilidad de las entidades por el modelo. En Witness existen dos tipos de Conveyors: o Conveyor Fixe: Mantienen la distancia constante entre las Parts. Si el Conveyor para, la distancia entre las Parts en l se mantiene. o Conveyor Queueing: Permite acumular Parts hasta que el Conveyor est lleno.
En ambos casos es necesario indicar los siguientes parmetros en la pantalla Detail (Ver Figura A.13): o Length in Parts: Se refiere a la longitud del Conveyor en unidades de posiciones de Parts en el Conveyor (por ejemplo, si el Conveyor mide 30 metros de largo, y una Part mide 0.5 metros de largo, hay como mximo 60 posiciones de Parts). o Max. Capacity: Puede suceder que existan restricciones de no poner ms de un cierto nmero de Parts aunque quepan, por ejemplo por motivos de peso.
156
o Index Time: Es el tiempo requerido para indexar una posicin, o lo que se conoce como tiempo ciclo, que es el tiempo que se tarda en recorrer desde el principio hasta el fin, partido por la longitud de las Parts. El ejecutar muchos Conveyors en el modelo puede afectar a la velocidad de ejecucin. Los Conveyors slo atentan a los inputs y outputs de los ciclos, mientras que en las Machines los inputs se realizan tan pronto como haya Parts disponibles y los outputs cuando hay espacio libre.
157
MOST: Empuja la Part hacia el elemento con ms entidades (se especifica la entidad) de una lista. LEAST: De una lista empuja hacia el elemento que tenga menos entidades (se especifica la entidad). PERCENT: De una lista empuja un porcentaje a cada elemento que aparezca en ella, previamente especificado. SEQUENCE: Empuja las Parts de una lista siguiendo una secuencia y unas reglas en caso de no disposicin. IF: Si una expresin es cierta entonces realiza una serie de acciones. SELECT: Selecciona hacia donde empuja Parts en funcin de una expresin. BUFFER: Slo para Machines; crea una buffer de salida. Las Parts pueden ser estiradas del WORLD (entran en el modelo) o empujadas a SHIP, SCRAP o ASSEMBLE (dejan el modelo).
158
Controlar Parts Leer y escribir datos en un fichero Producir informes estadsticos Crear dilogos entre el modelo y el usuario Cambiar el tipo de las Parts Grabar valores en un histograma Etc....
Las acciones ocurren cuando se produce un cambio de estado en un elemento, y en cada caso se editan en una ventana distinta: Machines: ACTIONS ON START..................... Cuando la mquina comienza el ciclo. ACTIONS ON FINISH..................... Cuando la mquina termina el ciclo, cuando la Part abandona la mquina. ACTIONS ON DOWN..................... Cuando la mquina entra en avera. ACTIONS ON REPAIR................... Cuando finaliza la avera. ACTIONS ON START SETUP........ Cuando la mquina entra en mantenimiento. ACTIONS ON FINISH SETUP.... Cuando la mquina acaba el mantenimiento. Part: ACTIONS ON CREATE................. Cuando la Part es creada, cuando entra en la simulacin. ACTIONS ON LEAVE.................... Cuando la Part deja la simulacin. Conveyors: ACTIONS ON JOIN....................... Cuando la Part se une al Conveyor por la parte de atrs. ACTIONS ON REACH FRONT.. Cuando la Part deja el Conveyor por la parte de delante. Buffer: ACTIONS ON IN............................ Cuando la Part se encuentra en el Buffer. ACTIONS ON OUT........................ Cuando la Part sale del Buffer.
A.3.5 Atributos
Los atributos son caractersticas de las Parts, por ejemplo, color, tamao, tiempo de ciclo, etc. Cada atributo puede ser un nmero real, entero, una referencia a otro elemento del modelo, etc. Cada Part puede tener un nmero de Atributos asociados a l y cada uno puede tener distintos valores en diferentes tiempos de la simulacin. Cada Atributo y el valor del mismo siguen a la Part durante la ejecucin del modelo. ATRIBUTOS UNIVERSALES: Hay 5 atributos que todas las Parts tienen automticamente (predefinidos o Atributos de sistema). Estos son: DESC: Una descripcin de 4 caracteres para la Part. PEN: El color con el que la Part est representada en la pantalla. ICON: El icono con el que la Part est representada en la pantalla. Se necesita adems el uso de DESC y para el color del icono el uso de PEN. STAGE: Se usa en la ruta de una Part y es la etapa actual en la ruta. TYPE: El nombre de la Part. 159
Cuando se usan Part Routin (en una ruta) hay otros dos atributos universales: R_CYCLE: El tiempo ciclo del STAGE (etapa) actual en la ruta. R_SETUP: El tiempo de setup del STAGE (etapa) actual en la ruta. GRUPOS NUMERADOS DE ATRIBUTOS: Ciertas caractersticas son relevantes slo para ciertas Parts; por esta razn Atributos y Parts son asignados a grupos, hay 10 grupos numerados de 1 a 10. Una Part podr tener los Atributos definidos en un mismo grupo. ATRIBUTOS FIJOS O VARIABLES: Las Parts pueden ser definidas con Atributos fijos o variables; las Parts con Atributos fijos toman menos memoria que las Parts con Atributos variables.Las Parts con Atributos variables pueden tener diferentes valores para cada individuo, y estos valores pueden cambiar en cualquier momento. Las Parts con Atributos fijos no pueden tener diferentes valores para cada individuo, es decir, los Atributos slo pueden tener un valor. ATRIBUTOS MODIFICADOS: Normalmente los atributos slo pueden ser usados cuando la Part est en curso, y slo el Atributo de la Part en curso puede ser referenciado. Por ejemplo, si en accin al final del ciclo existe una accin de cambiar un atributo, slo se cambiar en de la Part que en la mquina. Aadiendo una modificacin Modificar el atributo podemos inspeccionar o cambiar el valor de los Atributos de las Parts en cualquier parte del modelo. La expresin para modificar un atributo es la siguiente: Element {AT position} : Attribute
A.3.6 Variables
Las variables son muy usuales cuando los datos van a almacenarse o los usos no son relativos a Parts individuales o no se pueden usar directamente en el Detail del elemento. Las variables son valores a los que se puede acceder desde cualquier parte del modelo. Las variables usualmente tienen sus valores asignados en un grupo de Acciones. Las ms importantes pueden tener una cantidad de ms de uno, autorizando la creacin de listas. Estas variables pueden ser agrupadas en forma de matriz de dos dimensiones, poniendo la cantidad x, y.
160
FUNCIONES ARITMTICAS: Estas Funciones llevan incorporadas operaciones aritmticas. FLOAT: Especifica un entero como nmero real. IFIX: Parts enteras de un nmero real. MAX: Mximo de la lista de nmero enteros. MIN: Mnimo de la lista de nmeros enteros. MOD: Devuelve el resto de dividir un entero por otro entero.
Una lista llena de funciones disponibles y Details sobre su uso est en el User Manual o en el Quick Reference Booklet.
A.3.8 Histogramas
El histograma es un grfico de barras, y es til para determinar el rango de los valores observados para algunos parmetros de la simulacin. Los histogramas de WITNESS permiten representar grficamente los resultados de la simulacin en pantalla. WITNESS permite crear todos los grficos que se desee y grabar valores en ellos segn convenga. Las barras deben ser dibujadas vertical u horizontalmente, permitiendo producir Gantt type charts. Los valores deben ser grabados en un histograma usando el comando RECORD en un grupo de acciones en cualquier lugar del modelo: RECORD Valor en un Histograma Una barra de una altura especfica se puede dibujar usando el comando de accin DRAWBAR: DRAWBAR Valor de Histograma, altura, color La altura de una barra en el histograma puede ser incrementada usando el comando de accin ADDBAR: ADDBAR Valor de Histograma, altura, color Ejemplos de uso de histogramas pueden ser tiempos de reparacin, el tiempo que tardan las piezas en desplazarse a travs del sistema. Las siguientes caractersticas deben ser preparadas y representadas como convenga en el histograma: Nombre del Histograma Histograma Los valores Mximo y Mnimo que graba Color de las barras Icono
A.3.9 Ficheros
WITNESS proporciona la facilidad de utilizar ficheros de datos en el modelo. Se pueden meter valores en un fichero (fichero de lectura), y se pueden sacar valores (fichero de escritura). Los ficheros de entrada y los de salida tienen diferentes usos, por ejemplo: 161
Valores especficos para ser usados en el Detail de los elementos, como el tiempo de ciclo de una mquina. Producir informes en funcin de los requisitos, con el layout y contenidos propios. Estos ficheros son de texto, y pueden ser editados utilizando un procesador de texto o editor e imprimir en la impresora. Los valores que se leen deben ser valores constantes de uno de los cuatro tipos de datos de WITNESS; entero , real, nombre o cadena de caracteres. FICHEROS DE LECTURA: El comando de la accin de leer READ se usa para leer datos de un fichero. Esto se usa en cualquier declaracin de acciones: Acciones de inicializacin o Acciones de principio de ciclo de una mquina. Cada vez que WITNESS encuentra una declaracin READ leer una nueva lnea del fichero. No obstante, si un punto y coma (;) se encuentra al final de la declaracin READ la siguiente lectura la har donde acabo la ltima lectura. Si la declaracin READ intenta leer ms valores de los que existen en el fichero tendremos un error. Los datos de un fichero deben ser ledos en variables o atributos. El formato de la declaracin READ es: READ nombre del fichero lista de variables o atributos. FICHEROS DE ESCRITURA: El comando de la accin escribir WRITE se usa para escribir en un fichero de datos. Los valores que se escriben deben ser tambin enteros, reales, nombres o cadena de caracteres. Cualquier declaracin WRITE cera una nueva lnea en el fichero. Cuando se usa el comando WRITE un nmero de caracteres especiales se utilizan para realizar el formato del fichero: \f: Introduce la alimentacin de formatos. \n: Introduce una nueva lnea. \t: Introduce un espacio tabulado. El nombre del fichero de WITNESS se usa para referenciar el fichero en WITNESS, en declaraciones READ y WRITE. El nombre actual del fichero se refiere al fichero se refiere al fichero del disco duro o disquete. Esto no tiene por que ser el mismo nombre que el fichero de WITNESS. Tambin es posible especificar el directorio en el cual se encuentra el fichero. Esta facilidad es til cuando se comparan distintas posibilidades de datos. Los datos se pueden guardar en un nmero de ficheros y el nombre del fichero actual cambiar para cada experimento para referenciar el fichero correcto. El formato de la declaracin WRITE es: WRITE nombre del fichero lista de variables o atributos. Los datos obtenidos en los ficheros de texto que se obtienen de WITNESS pueden importarse desde una hoja de Excel, convertirlos en tablas y obtener grficas que nos expresan claramente la evolucin del modelo a lo largo del tiempo.
162