Processing math: 28%

martes, 20 de marzo de 2012

Practica Anylogic : Modelado de una Clínica



MODELADO DE UNA CLÍNICA OFTALMOLÓGICA


AnyLogic proporciona la Enterprise Libraryuna biblioteca de simulación de eventos discretos que contiene los objetos que puede utilizar para simular rápidamente complejos sistemas de eventos discretos como:

     * Los procesos de fabricación con el diseño detallado de planta
     * Simple y complejo de los sistemas de servicios (por ejemplo, bancos, aeropuertos, etc)
     * Los procesos de negocio con la actividad basada en costos
     * Logística y modelos de la cadena de suministro


El Enterprise Library permite crear modelos flexibles, para recopilar estadísticas básicas y avanzadasy efectivamente visualizar el proceso que se está modelando para validar y presentar el modelo.


En esta sección del tutorial vamos a construir un modelo de una típica unidad de oftalmología. Los pacientes llegan al departamento de someterse al procedimiento oftalmoscopiaSe llevan a cabo en la sala de espera y esperar a que los oftalmólogos para venir y hacer un examen. Cuando un médico llegael paciente se mueve a la sala de procedimientos vacío escoltado por el médico. El procedimiento se realiza con un oftalmoscopio. Los Oftalmoscopios se almacenan en la sala de almacenamiento (storageRoom) y son tomadas por los médicos justo antes de comenzar el procedimiento. El médico transporta el oftalmoscopio de nuevo a la sala y regresa a la sala de trabajadoresel paciente abandona el consultorio del oftalmólogo.

Vamos a construir nuestro modelo de uso de bloques de red basadas en modelos. Un grupo de los objetos para empresas con el prefijo común "red" modelizando una red basado en el diseño. Por lo general, se utilizan cuando los procesos que se están llevando a cabo modelados en un espacio físico determinado e incluyen el movimiento de las entidades y recursos. Las entidades pueden moverse a lo largo de rutas de los recursos de la red y el uso ubicados en la red.
El modelo ha sido realizado desde la ayuda on-line de la pagina oficial de Anylogic.


http://www.xjtek.com/anylogic/help/













En este punto, todos los pacientes son examinados en la sala de procedimientos pero sólo en la primera. Además, varios pacientes son examinados en la sala con mismo procedimiento al mismo tiempo. Vamos a modelar salas de procedimientos, como recursos estáticos. Los pacientes se moverán ahora a cualquiera de las tres salas de procedimientos. La sala estará ocupada para que nadie más puede ser examinado allí en este momento. 

Completaremos el modelo llamando al oftalmólogo para realizar el examen. El Oftalmólogo recoge un oftalmoscopio de la sala de almacenamiento en su camino a la paciente, y la devuelve después. 


Simulando la clinica quedaria algo similar a esto:





jueves, 15 de marzo de 2012

Anylogic : Simulación

OSO DE PELUCHE CON MUELLE



En este ejercicio práctico vamos a simular el movimiento de un oso de peluche atado al extremo con un muelle. Movimiento vertical definido por ecuaciones diferenciales.


Hay que definir dos ecuaciones diferenciales , cada una de ellas representa la velocidad y la aceleración del peluche.

x2=alanda+bu
x(0)=Xo

Por lo que la segunda derivada queda en funcion de :  x" = f (t,x,x`)
Aplicando la segunda ley de newton para cargas :  \Sumatorio de fuerzas = m * a \]
 Siendo "m" la masa de la marioneta y "a" su aceleración y "v" su velocidad.La fuerza "f" sera la fuerza de rozamiento del aire. Por lo tanto sustituyendo y derivando en las encuaciones anteriormente mencionadas :

f -k*x  b*v = m * a
x" = -k/m *x - b/m* x` + 1/m * f  + g

Realizaremos el ejercicio de forma gráfica con los diagramas de Forester. (Creador de system dinamics). Anylogic tiene una libreria denominada System dinamic para resolver ecuaciones diferenciales mediante el diagrama.

Las ventajas de realizar el ejercicio de forma grafica ( versus EJS ) es que en este ejemplo tenemos pocas ecuaciones pero si tuvieramos 80 ecuaciones no resultaria mas facil resolverlas gráficamente que con el metodo matematico.
La variable independiente por defecto en Anylogic es el tiempo ( t ) por lo que no es necesario definirla en ningun sitio.

A la ecuacion diferencial aplicaremos el teorema que para convertir un sistema de una ecuacion de orden n en n ecuaciones de primer  grado mediante cambios de variables.


x` = v
v" = -k/m *x - b/m* v` + 1/m * f + g

 Con el diagrama de forester  asociaremos a la función incognita una variable de tipo Stock. Hay que definir también su derivada de tipo Flow. Estas definiciones deben realizarse para cada ecuación diferencial.


Dando click derecho sobre Dx : Definiremos la ecuación diferencial:

Para establecer los valores iniciales daremos click en la función incognita y en v:

Las constantes las definiremos en las propiedades del main , en el apartado "Additional Class Code" en codigo JAVA:


Como Dv depende de las variables x y v  realizaremos la asociación   correspondiente con la herramienta tipo "Link":

La fuerza es una variable de control , es decir un parametro ( f ) .





Asi quedaria cuando ejecutamos el programa:








miércoles, 14 de marzo de 2012

Practica Anylogic : Modelado de un Banco

MODELADO DE UN BANCO


AnyLogic proporciona la Enterprise Library, una biblioteca de simulación de eventos discretos que contiene los objetos que puede utilizar para simular rápidamente complejos sistemas de eventos discretos como:

     * Los procesos de fabricación con el diseño detallado de planta
     * Simple y complejo de los sistemas de servicios (por ejemplo, bancos, aeropuertos, etc)
     * Los procesos de negocio con la actividad basada en costos
     * Logística y modelos de la cadena de suministro

El Enterprise Library permite crear modelos flexibles, para recopilar estadísticas básicas y avanzadas, y efectivamente visualizar el proceso que se está modelando para validar y presentar el modelo.

Vamos a crear un sistema simple servicio de un departamento del banco, que consiste en un cajero automático y las líneas de cajeros. ATM ofrece la gente con una rápido auto-servicio por dinero en efectivo. Transacciones más complejas, como por ejemplo pagar las cuentas, se completan con los cajeros, lo que permite a los clientes más tiempo sin molestar a los las otras personas que buscan dinero rápido.


El modelo ha sido realizado desde la ayuda on-line de la pagina oficial de Anylogic.

http://www.xjtek.com/anylogic/help/

 



Lo mas destacable del ejercicio es la creación y modificación de la clase JAVA "Costumer" en la cual se espeficican dos parametros encargados de controlar el tiempo que esta cada entidad en el sistema ( TimeInSystem ) y el tiempo de espera de cada entidad para ser atendida (Waiting time).




Con estas dos variables podremos realizar estadísticas. Normalmente estas estadísticas son interesantes desde el punto de vista económico. Puesto que si realizamos una simulación de un modelo de fabricación podremos obtener datos de cuando recuperamos la inversión, los elementos producidos, cuanto y cuanto tiempo nos costaría cada pieza etc.












jueves, 8 de marzo de 2012

GRAFCET . CONCEPTOS BASICOS


GRAFCET



GRAFCET (GRAFica de Control de Etapas de Transición) es un grafo o diagrama funcional normalizado, que permite hacer un modelo del proceso a automatizar, contemplando entradas, acciones a realizar, y los procesos intermedios que provocan estas acciones. Inicialmente fue propuesto para documentar la etapa secuencial de los sistemas de control de procesos a eventos discretos. No fue concebido como un lenguaje de programación de autómatas, sino un tipo de Grafo para elaborar el modelo pensando en la ejecución directa del automatismo o programa de autómata. Varios fabricantes en sus autómatas de gama alta hacen este paso directo, lo que lo ha convertido en un potente lenguaje gráfico de programación para autómatas, adaptado a la resolución de sistemas secuenciales. En la actualidad no tiene una amplia difusión como lenguaje, puesto que la mayoría de los autómatas no pueden programarse directamente en este lenguaje, a diferencia del Lenguaje Ladder. Pero se ha universalizado como herramienta de modelado que permite el paso directo a programación, también con Ladder.

ELEMENTOS DE PROGRAMACIÓN

Para programar un autómata en GRAFCET es necesario conocer cada uno de los elementos propios de que consta. En la siguiente tabla se muestran los comunes.
  
PRINCIPIOS BASICOS
 
Para realizar el programa correspondiente a un ciclo de trabajo en lenguaje GRAFCET, se deberán tener en cuenta los siguientes principios básicos:
  • Se descompone el proceso en etapas que serán activadas una tras otra.
  • A cada etapa se le asocia una o varias acciones que sólo serán efectivas cuando la etapa esté activa.
  • Una etapa se activa cuando se cumple la condición de transición y está activa la etapa anterior.
  • El cumplimiento de una condición de transición implica la activación de la etapa siguiente y la desactivación de la etapa precedente.
  • Nunca puede haber dos etapas o condiciones consecutivas, siempre deben ir colocadas de forma alterna.

CLASIFICIACIÓN DE SECUENCIAS

En un GRAFCET podemos encontrarnos con tres tipos de secuencias:
  • Lineales
  • Con direccionamientos o alternativa
  • Simultáneas
Secuencial GRAFCET.PNG

Lineales

En las secuencias lineales el ciclo lo componen una sucesión lineal de etapas como se refleja en el siguiente GRAFCET de ejemplo:
El programa irá activando cada una de las etapas y desactivando la anterior conforme se vayan cumpliendo cada una de las condiciones. Las acciones se realizarán en función de la etapa activa a la que están asociadas. Por ejemplo, con la etapa 1 activa tras arrancar el programa, al cumplirse la "Condición 1", se activará la etapa 2, se desactivará la 1, y se realizará la "Acción 1".

 

Con direccionamiento

En un GRAFCET con direccionamiento el ciclo puede variar en función de las condiciones que se cumplan. En el siguiente ejemplo a partir de la etapa inicial se pueden seguir tres ciclos diferentes dependiendo de que condiciones (1, 2 y/ó 3) se cumplan, (normalmente sólo una de ellas podra cumplirse mientras la etapa 1 esté activa, aunque pueden cumplirse varias):

Direcc GRAFCET.PNG

La diferencia significativa del direccionamiento ( arbol abierto con una linea sencilla horizontal ) con respecto a la simultanea es que esta pasara a la siguiente etapa cuando haya terminado una de las tareas paralelas independientemente de las que se iniciaron.

Simultáneas

En las secuencias simultáneas varios ciclos pueden estar funcionando a la vez por activación simultánea de etapas. En el siguiente ejemplo, cuando se cumple la condición 1 las etapas 2, 3 y 4 se activan simultáneamente:
En los casos de tareas simultaneas ( arbol abierto por doble linea horizontal ) la etapa siguiente al cierre solo podra iniciarse cuando TODAS las etapas paralelas hayan terminado.

Secsimul GRAFCET.PNG

Acciones condicionadas

La ejecución de la acción se produce cuando además de encontrarse activa la etapa a la que está asociada, se debe verificar una condición lógica suplementaria (función Y):
GRAFCET condicional.PNG

Acciones temporizadas o retardadas

Es un caso particular de las acciones condicionadas que se encuentran en multitud de aplicaciones. En este caso, el tiempo interviene como una condición lógica más. En el siguiente ejemplo la acción A se realizará durante 10 segundos:
GRAFCET temporizado.PNG

Ejemplo de programación

A continuación se obtendrá el GRAFCET para el control de un montacargas que funciona entre dos plantas. El ejemplo es sólo pedagógico; para simplificarlo no se tendrá en cuenta la acción de parada. Los elementos necesarios son los siguientes:

Elementos de un montacargas
Actuadores Captadores
KM1: Contactor de subida SS: Pulsador de subida
KM2: Contactor de bajada SB: Pulsador de bajada
L1: Lámpara indicadora de paro FCA: Detector de planta alta

FCB: Detector de planta baja

A continuación se ofrece el programa GRAFCET y su funcionamiento:

GRAFCET ejemplo montacargas.PNG
Al arrancar el programa se activa la etapa inicial 1 encendiéndose la lámpara de paro, L1. En el supuesto de que el montacargas esté en la planta baja, FCB = 1, la activación del pulsador de bajada, SB = 1, no tendrá ningún efecto. En cambio la activación del pulsador de subida, SS = 1, provocará la desactivación de la etapa 1 y la activación de la 2, ya que se cumple la condición de transición, esto es, el producto lógico de SS y FCB es 1. La activación de la etapa 2 excita el contactor KM1, y el montacargas sube. Al llegar a la planta alta, FCA = 1, se desactiva la etapa 2 y vuelve a activarse la 1, parándose el motor. En estas condiciones, la actuación sobre SS no tiene efecto alguno y sobre SB provoca la activación de KM2, lo que hace que el montacargas comience a bajar hasta activarse el detector de la planta baja, FCB = 1, momento en el que se parará.