Diseno de Tanques en Promodel PDF
Diseno de Tanques en Promodel PDF
Instructor
Daniel Villarreal
165
165
Introducción
Tanque
Definición -- Un recipiente para
contener material a granel, líquidos
o gases.
166
166
Uso de los Tanques
www.promodel.com.mx 167
167
Enfoques al modelar tanques
www.promodel.com.mx 168
168
Tanksub.mod
Se “mezcla” con cada modelo de tanques.
Contiene una biblioteca de subrutinas
predefinidas, etc. para modelar los tanques.
Se carga automáticamente al definir el
primer tanque.
Puede ser modificado si se hace
cuidadosamente.
Todas las subrutinas, arreglos, etc. inician
con “Tank_” para fácil identificación (v.gr.
Tank_Fill).
www.promodel.com.mx 169
169
Límite de Capacidad es
Definición Tanques 999,999
(libras, toneladas, galones,
10 galones, etc.).
Diferentes tanques pueden
4 tener diferentes unidades.
2
1
www.promodel.com.mx 170
170
Tanques como Locaciones
“Clock”
solamente
www.promodel.com.mx 171
171
Diálogo de Tanques/Calibrador
www.promodel.com.mx 172
172
Formas de Desplegar Tanques
Añadir un contador al
medidor de tanques
www.promodel.com.mx 173
173
Definición de Operación
de los Tanques
174
Conceptos Básicos
l Niveles de Tanques.
l Incremento del Tiempo al Controlar el Flujo.
l Velocidad del Flujo.
l Estados del Tanque.
l Llenado y Vaciado de los Tanques.
l Limpieza y tiempos muertos de los tanques.
www.promodel.com.mx 175
175
Niveles de los Tanques.
Basados en un arreglo llamado Tank_Level.
La referencia es Tank_Level [<TankID>],
donde TankID es el nombre o número de
tabla de la locación tanque.
Sub-rutinas pre-definidas existen para
ajustar el nivel del tanque.
No ajustar el nivel del tanque directamente
(v.gr. Tank_Level [1] = 200) a menos que no
importen las estadísticas o el chequeo de
errores.
www.promodel.com.mx 176
176
Incremento del Tiempo para el Flujo
177
Efecto del valor del incremento del
tiempo en un estatuto Wait Until
30
0 .5 1.0
tiempo 178
www.promodel.com.mx
178
Velocidades de Flujos
Se asume que se basa en unidades de
capacidad de tanque por minuto
50 gpm
10 litros por minuto
Las tasas DESDE y HACIA pueden ser
diferentes en una transferencia de
tanques.
Una variable de TASA puede ser definida
utilizando la subrutina Tank_Rate.
www.promodel.com.mx 179
179
Estados de los Tanques.
u Tank_Idle è Ocio
u Tank_Operation è Operación
u Tank_Setup è Preparación
u Tank_Filling è Llenado
u Tank_Emptying è Vaciado
u Tank_Blocked è Bloqueo
u Tank_Down è Tiempo muerto
www.promodel.com.mx 180
180
Usando Estados de Tanques
181
Llenar y Vaciar Tanques
Se controla por un parámetro de Nivel en las
subrutinas Llenar/Vaciar/Transferir.
Opción 1: “0” envía un mensaje de error y
aborta.
Opción 2: “Tank_Stop” termina el
llenado/vaciado y regresa la cantidad
restante en una variable global llamada
Tank_QtyLeft.
Opción 3: “n” reanuda el llenado/vaciado
cuando el nivel alcanza el valor de n.
www.promodel.com.mx 182
182
Limpieza y Tiempos Muertos de Tanques
www.promodel.com.mx 183
183
Tank_Fill
Sintaxis: TANK_FILL (<Tank ID>, <Cantidad>,
<Tasa>, <Nivel>)
184
Tank_Empty
Sintaxis: TANK_EMPTY (<Tank ID>, <Cantidad>,
<Tasa>, <Nivel>)
185
Tankfill.mod
www.promodel.com.mx 186
186
Tank_Transfer
llena.
187
Tank_TransferUpTo
188
Tank_TransferDownTo
189
Tankxfer.mod
www.promodel.com.mx 190
190
Tank_SetLevel
Sintaxis: TANK_SETLEVEL (<TankID>, <Nivel>)
191
Tank_Inc
Sintaxis: TANK_INC (<TankID>, <Nivel>)
192
Tank_Dec
Sintaxis: TANK_DEC (<TankID>, <Nivel>)
193
Tank_RiseTrigger
www.promodel.com.mx 194
194
Tank_FallTrigger
www.promodel.com.mx 195
195
Tanktrig.mod
www.promodel.com.mx 196
196
Tank_Cap, Tank_FreeCap
TANK_CAP (TanqueA)
TANK_FREECAP (TanqueA)
www.promodel.com.mx 197
197
Tank_DoOperation
Sintaxis: TANK_DOOPERATION (<TankID>,
<tiempo>)
198
Tank_GoDown
Sintaxis: TANK_GODOWN (<TankID>, <tiempo>)
TANK_GODOWN (TanqueA, 5)
199
Tank_DoPrep
www.promodel.com.mx 200
200
Tank_SetState
www.promodel.com.mx 201
201
Tank_SelectOutput
Sintaxis: TANK_SELECTOUTPUT (<Primer Tanque>,
<No. de Tanques>, <Regla>, <Nivel Máx.>, <Tipo de
Producto>)
202
Lógica para Tank_SelectOutput
No
¿Se especifica el
Nivel Máx . > 0?
Sí
Sí Sí
No
Esperar por el
¿Es este el tipo de Sí primer tanque que
producto correcto? caiga por debajo
del límite Máx .
Sí
Regresar
Tank ID
www.promodel.com.mx 203
203
Tank_SelectInput
204
Modelo TankPick.mod
www.promodel.com.mx 205
205
Tank_Rate
Sintaxis: TANK_RATE (<DESDE>, <HACIA>)
206
Código Tank_Rate
// Remplazar el siguiente código con tu código.
if Tank_FromID = 0
then Stop “Pasar 0 como la tasa de llenado para "
$ loc(Tank_ToID) $ " requiere que regreses un
valor de tasa utilizando la subrutina llamada
Tank_Rate.”
207
Ejemplo de Tank_Rate
www.promodel.com.mx 208
208
Arreglos Predefinidos
l Tank_Level è Nivel
l Tank_State è Estado
l Tank_Product è Producto
l Tank_Statistics è Estadísticas
l Tank_Fills è Llenar
www.promodel.com.mx 209
209
Arreglo Tank_Statistics
Reiniciar después del
Columna Descripción Período de
Estabilización
1 Último nivel NC
9 Tiempo de preparación 0
210
Ejemplo de Reporte de Salida
---------------------------------------------------------------- -------------------------------
LOCATIONS
Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents % Util
-------- --------- -------- ------- --------- ------- ------- -------- ------
TanqueA 40 1000 1 - 0 0 0 0.00
TanqueB 40 1000 0 - 0 0 0 0.00
www.promodel.com.mx 211
211
Arreglo Tank_Fills
www.promodel.com.mx 212
212
Ejercicios
213
213
Recordatorios de Modelación
www.promodel.com.mx 214
214
Técnicas de Llenado
Una entidad, Tanq, llega a una locación, Entrega,
cargando una cantidad de galones almacenado en un
atributo de entidad llamado Tanker_Qty. El Tanque
descarga su contenido en un tanque, TanqueRecibo, a una
tasa de 200 galones por minuto. Una vez que el
TanqueRecibo se llena, el nivel debe de llegar a 1000
galones antes de continuar el llenado.
www.promodel.com.mx 215
215
Técnicas de Inicio
www.promodel.com.mx 216
216
Técnicas para Volver a Llenar
www.promodel.com.mx 217
217
Técnicas para Tanque Mezcla
Dos tanques (Tanque1 y Tanque2) proveen ingredientes a un tanque llamado
TanqueMezcla. Primero, se bombean 2000 galones del Tanque1 a 50 gpm,
seguido de 300 libras de mezcla deshidratante del Tanque2 a 20 libras por
minuto (la mezcla deshidratante añade 0.2 galones por libra). Los
ingredientes se mezclan por 15 minutos y se tranfieren al Tanque3.
Tank_Loop {
Tank_Transfer (Tanque1, TanqueMezcla, 2000, 50, 0, 0)
Tank_Transfer (Tanque2, TanqueMezcla, 300, 20, 4, 0)
Tank_DoOperation (TanqueMezcla, 15)
Wait Until Tank_State [Tanque3] = Tank_Idle
Tank_Transfer (TanqueMezcla, Tanque3,
Tank_Level[TanqueMezcla], 40, 0, 0)
}
www.promodel.com.mx 218
218
Técnicas para Vaciar
Wait 6 sec
Tank_Dec (Llenar, 2)
www.promodel.com.mx 219
219
Técnicas de Transferencia
El TanqueB requiere 1000 galones del TanqueA cada vez
que el TanqueB se vacía. El TanqueB tomará material del
TanqueA sólo cuando el TanqueA tenga un nivel mínimo
de 1000 galones.
Activar la siguiente subrutina en la lógica de inicialización:
Tank_Loop {
Wait Until Tank_Level[TanqueA] >= 1000
Tank_Transfer (TanqueA, TanqueB, 1000, 200,0,0)
[Indicar el proceso y la lógica de vaciado del
TanqueB aquí]
}
www.promodel.com.mx 220
220
Técnicas de Selección
Int SelectedTank
SelectedTank = Tank_SelectInput(TanqueX, Tanque1, 3,
Tank_LongestBlocked, 0)
www.promodel.com.mx 221
221
Técnicas para Transferir a
Varios Tanques
Tank_Fills [TanqueB] = 0
Tank_Fills [TanqueC] = 0
ACTIVATE TransferDownTo (TanqueA, TanqueB, 0, 30, 0)
ACTIVATE TransferDownTo (TanqueA, TanqueC, 0, 30, 0)
WAIT UNTIL (TankFills[TanqueB]=1) and (TankFills[TanqueC]=1)
www.promodel.com.mx 222
222
Técnicas de Nivel Disparador
Cada vez que el TanqueA alcanza los 2000 galones, una
entidad llamada Camion se envía a una locación llamada
LocRecoger.
Tank_Loop
Begin
Tank_RiseTrigger (TanqueA, 2000)
Send 1 Camion to LocRecoger
End
www.promodel.com.mx 223
223
Técnicas de Proceso
de Tasa Alta
Las botellas pasan por una estación de llenado a una tasa de 110 por minuto.
El buffer anterior al llenado (FillerInput) tiene una capacidad de 1200
botellas y el buffer después del llenado (FillerOutput) tiene una capacidad de
2000 botellas. FillerInput es llenado con 200 botellas cada U(60,20) minutos.
Cuando 50 botellas se llenan, se ponen en una caja y se embarcan.
Tank_Loop {
Wait U(60,20)
Tank_Inc (FillerInput, 200)
}
224
Problema de Operación
del Enlatado
Camiones cargando 2000 galones de jugo de
naranja llegan cada E(44) min. a una fábrica de
conservas donde el jugo es bombeado a un
tanque que alimenta a la máquina de enlatado. El
tiempo que tarda el camión para entrar y salir al
andén es de U(1.5,.5). El jugo se bombea del
camión al tanque a 200 gpm y del tanque a la
operación de enlatado a 48 gpm. Cada 48
galones de jugo producen un lote para embarque.
¿Cuántos lotes pueden producirse en 40 horas y
cuáles ineficiencias hay en el sistema?
www.promodel.com.mx 225
225
Problema Multi-Producto
Un productor de bebidas procesa 5 tipos de bebidas
(naranja, cereza, limón, uva y raíz), cada uno en 2 tamaños
de contenedor (12 oz. y 32 oz.). La bebida se mezcla en un
tanque de mezclado y después es bombeado en un tanque
almacén de donde se alimenta a un tanque de llenado para
envasar. Éste tanque llena envases, los cuales se envían a
un almacén para embarcarlos más adelante. El propósito
de la simulación es ver qué tanto tiempo toma procesar una
lista de órdenes. Las órdenes se definen por tipo de
producto y tamaño de contenedor. Todas las órdenes del
mismo sabor se procesan juntas para minimizar el tiempo de
preparación por cambio de producto .
www.promodel.com.mx 226
226
Problema Multi-Producto
Tanque de Mezclado
Hay un tanque de mezclado con una capacidad de 500 galones. Cada sabor
es una mezcla de concentrado y agua con una proporción de 9:1 entre agua
y concentrado. Ambos ingredientes se bombean al mismo tiempo con el
agua alimentándose a una tasa de 30 galones por minuto (gpm) y el
concentrado a 10 gpm. Siempre hay concentrado y agua disponible, por lo
que no es necesario modelar esta fuente.
Después de que los ingredientes han sido añadidos, se requiere un tiempo
de mezclado de 10 minutos y entonces la bebida está lista para bombearse a
un tanque almacén.
227
Problema Multi-Producto
Seleccionar un Tanque Almacén
Un tanque almacén se selecciona basándose en cuál
tanque contiene el mismo tipo de producto y tiene
capacidad para más. Si todos los tanques almacén
están llenos o contienen diferentes tipos de producto,
el tanque de mezclado espera hasta que el primer
tanque esté disponible. La selección entre dos o más
tanques ociosos se basa en cuál tanque ha estado
ocioso más tiempo. El tanque de mezclado puede
enviar sólo a un tanque almacén a la vez. La tasa de
flujo hacia el tanque almacén es 30 gpm. 228
www.promodel.com.mx
228
Problema Multi-Producto
Cambio de Producto
Para cambiar a un nuevo sabor, se requiere un tiempo
de preparación y limpieza de 25 minutos. Si para
completar una orden de un sabor se necesita mezclar
más de lo que cabe en el tanque, en seguida se
procesa el faltante sin requerir ninguna limpieza.
www.promodel.com.mx 229
229
Problema Multi-Producto
Tanques Almacén
Hay tres tanques almacén, cada uno con capacidad
de 2000 galones. Cada tanque almacén recibe sus
insumos del tanque de mezclado. Tan pronto como
un tanque almacén recibe cualquier insumo, está
disponible para utilizarse en un llenador. Un llenador
puede tener sólo un tanque almacén alimentándolo,
pero un tanque almacén puede alimentar a más de
un llenador al mismo tiempo. Cuando se vacía un
tanque almacén, éste se enjuaga por 10 minutos.
www.promodel.com.mx 230
230
Problema Multi-Producto
Tanques de Llenado
Hay seis tanques de llenado, cada uno con
capacidad de 50 galones. Un tanque de llenado
requiere bebida de uno de los tanques almacén
basándose en la programación de producto para esa
estación de llenado. Los tanques de llenado se
limpian cuando se termina el producto. El tiempo de
limpieza es de 10 minutos.
www.promodel.com.mx 231
231
Problema Multi-Producto
Estación de Llenado
Cada tanque de llenado llena contenedores en la
estación de llenado. Las botellas se llenan a una
tasa de 200 botellas por minuto en las de 12 oz. y 80
por minuto en las botellas de 32 oz.
www.promodel.com.mx 232
232
Problema Multi-Producto
Lista de Órdenes
Tamaño de
Sabor la Botella Cantidad
8 oz. 3800
Naranja
32 oz. 2300
8 oz. 3300
Limón
32 oz. 2000
8 oz. 3700
Raíz
32 oz. 2200
8 oz. 3000
Cereza
32 oz.
Conversiones
1800
8 oz. 3400 1 galón = 64 oz.
Uva
32 oz. 2200
www.promodel.com.mx 233
233
¡Muchas Gracias!
Tanks Alot!
234
234