Você está na página 1de 43

CAEProM

Aula 1

Fundamentos de Simulação em Processos


Produtivos utilizando Promodel

Amanda Silva
amanda.sdx28@gmail.com
O que veremos?
1. Conceito de simulação
computacional;
1.1 Razões para simular;
1.2 Alguns softwares de Simulação
Computacional;
2. Promodel - Interface e barra de
ferramentas;
Vamos construir um modelo?
3.1 Exercício 1 - Fluxograma
Peça chega no 1.5 minutos 2 minutos
estoque Torno Não Peça vai para o Peça colocada em
Disponível? cesto esteira final
2 minutos
Peça vai para Sim
0.5 minutos
esteira de peças
2 minutos Movimento da
peça na esteira
Peça vai para o final
1 min torno
Peça vai para 1 minutos
separador Peça espera
até completer
4 peças

5 minutos 2 minutos
Peça é cortada Processo
em 3 partes no automático do
separador torno 1
3.1 Exercício 1 - Fluxograma
1

1 minutos
A Peça é entregue a cada 40
Peça esperam e minutos, 5 unidades por vez.
deixam a planta
Ocorrem 10 entregas ao longo
do dia.
Fim da simulação
4. Executando a simulação
Exercício 2: Acrescentando ao Exercício 1
Um recurso chamado Operador é utilizado para mover a Peça
entre alguns locais. O operador se move sobre uma rede de
trabalho que você definirá. O Operador pega a Peça na Esteira
e a transporta para o Separador. Neste, o Operador realiza um
processo de 5 minutos e carrega cada nova Peça até o Torno ou
até o Cesto. O Torno faz um processo automático e não
necessita de operador. A Peça que vai para o Cesto é
movimentada desta pelo Operador até o Torno, quando estiver
disponível. Quando a operação no Torno acaba, o Operador
move a Peça para a Esteira_Final. Termina aí a
responsabilidade do Operador.
3.1 Exercício 2 - Fluxograma
Peça chega ao
estoque Torno Não Peça é levada 0.5 minutos
Disponível? para o cesto Movimento da
pelo operador peça na esteira
2 minutos
final
Peça vai para Sim
esteira de peças
Peça é levada ao Peça espera
torno pelo até completer
operador 4 peças
Peça levada ao
separador pelo
operador 2 minutos
Processo Peça esperam e
automático no deixam a planta
5 minutos torno
Operador separa
Operador leva a
a peça em 3
peça ate a esteira Fim da simulação
final
Redes de caminho
• Permitem aos recursos e entidades se mover ao longo do modelo;
• As redes consistem de segmentos de caminhos, nós e interfaces;
• Segmentos são medidos pela distância ou pelo tempo;
• Os nós não devem ser colocados em cima do local (ponha-os perto deles) É
permitida somente uma interface em cada local da mesma rede;
• Interfaces definem o relacionamento entre um nó e um local particular.
Quando um nó tem interface com um local, significa que as entidades e os
recursos se encaminharão para este nó quando eles são destinados a este
local. Desta forma, apenas um nó pode ter interface com um determinado
local a partir da mesma rede.
Define os
Interfaces dos
seguimentos
nós com locais
de caminhos

Passante: o rucurso Declara se a Usadas para definir


pode ultrapassar a velocidade de os caminhos e
entidade mais lenta. caminho é direções que as
Não-Passante: o medida em entidades e recursos
recurso deve reduzir a velocidade ou devem usar
velocidade e ficar distância
atrás da entidade mais
lenta.
Distância
medida
Clique no campo Imagem para
mudar a cor dos segmentos do
caminhos ou para tornar a rede
invisível durante a simulação
Recursos
• Os recursos são representados por ícones;
• Recursos dinâmicos devem estar associados a uma rede de caminhos;
• A posição dos recursos está vinculada aos nós, não aos locais;
• O campo “Especificações” define o caminho, nós, movimento e
regras.
Define as características
Pontos do Recurso permitem um
do recurso (mais tarde).
recurso ocupar um outro local
diferente do nó atual.

Permitem que se aplique regras


específicas no momento em que o recurso
está retornando do tempo ocioso.

Selecione o ícone
operador da biblioteca
gráfica para representar
um recurso operador.
A velocidade padrão de um
recurso é 150. Ela pode ser
editada e pode ser uma
distribuição probabilística,
variável, macro, etc. A
velocidade vazia representa
que o recurso está sozinho,
enquanto que cheia
significa que ele está
carregando ao menos uma
entidade.
Processos
A lógica de movimentação pode usar os recursos para fazer
movimentos entre Locais
Move With requer que você
selecione o nome do recurso que
você quer que mova a entidade
Selecione Operador na lista e
clique no botão THEN FREE se
você desejar liberar o recurso após
o movimento
• Tarefa: Defina uma parada por relógio para o Operador para que
ele possa almoçar. O almoço do Operador começa 4 horas após o
início da simulação e dura 30 minutos. Aumente a rede até a área
designada no layout onde o operador deve ir durante o almoço.
Defina uma parada por uso para o Separador que ocorra a cada 2
horas de uso, para que a lâmina possa ser afiada. O Operador
leva 5 +/- 1 minuto para fazer esta afiação (considere uma
distribuição normal com média 5 e desvio padrão 1). Faça com
que uma mensagem apareça na tela quando a parada do
Separador ocorrer.
Necessário para tarefa
• Locais novos:
Copa para almoço do trabalhador, capacidade = 1
• Paradas dos locais:
Separador, parada por uso, a cada 2 horas de uso, Operador leva N(5,1) minutos
para reparar, mostrar mensagem de aviso quando isto ocorrer.
• Rede de caminhos:
Aumente a rede “chão de fábrica” até a área de almoço e nomeie este novo nó.
• Recursos:
Operador, parada para almoço agendada por relógio, começa 4 horas depois que a
simulação se inicia. O almoço dura 30 minutos.
• Tempo de simulação:
Em Simulação>Opções mude o tempo de simulação para 12 horas.
Paradas de locais
• Cinco tipos: Relógio, Entrada, Uso, Setup, Chamada;
• Tipo Uso:
• Guarda o tempo total acumulado de operação do local;
• Quando se atinge o tempo acumulado definido, o local para;
• A lógica de parada define a duração da parada e qualquer ação
necessária.

OBS: Estas paradas são usadas, frequentemente, para se modelar


falhas de equipamentos, paradas necessárias para calibração,
fadiga de equipamentos, tempo de setup em geral.
Quantidade de
tempo que o local
deve ficar em
atividade
antes de parar.
Tempo de uso Processada
antes da quando a parada
primeira parada ocorre

Quantidade de Padrão 99, por ser


tempo que o prioridade. Sem
local deve ficar interrupção/Sem
em atividade preempção
antes de parar.
Paradas de Recursos
• Podem ser feitas por relógio ou por uso, agendadas ou não
• Campo de lógica = quantidade de tempo que o recurso está parado (ex.
WAIT 45).
• USE: Faz com que uma entidade requisite um recurso por um período
de tempo e então libere o recurso.
• Sintaxe: USE <nome do recurso> for <expressão de tempo>
Paradas de Recursos
• Podem ser feitas por relógio ou por uso, agendadas ou não
• Campo de lógica = quantidade de tempo que o recurso está parado (ex.
WAIT 45).
Distribuições Matemáticas
1. Definidas por regras matemáticas estabelecidas e por
parâmetros;
2. A sintaxe requer a(s) letra(s) da distribuição e os valores
numéricos para os parâmetros requeridos. Pode incluir,
opcionalmente, um número de ciclo aleatório como último
parâmetro;
3. A distribuição normal é definida pela letra N e tem como
parâmetros a média e o desvio padrão. Sintaxe: N(Média,
Desv. Padr.,nº de ciclo opcional) N(16, 3.7, 22).
Processos - Comandos de Operação
DISPLAY: Pausa a simulação e exibe uma mensagem criada
pelo usuário.
Sintaxe: DISPLAY “mensagem”
Execução do Exercíco 2 e Tarefa
Exercício 3: Acrescentando ao Exercício 2
Quando a Peça chegar, determine que tipo de Peça ela será. 70% das
Peças são do tipo 1 e 30% do tipo 2. No Separador, uma Peça do tipo 1
é cortada em 3 partes em um processo que dura 5 minutos. Uma Peça
tipo 2 é cortada em 5 partes em um processo que dura 6,5 minutos. Será
calculado o tempo total que uma Peça fica no sistema, desde o estoque
até a Esteira Final.

Rode o modelo por 14 horas e veja os resultados.


Quais são os tempos mínimos, máximos e médios que uma Peça
permanece no sistema? Selecione o ícone (line graph) e o nome da sua
função LOG. Note que você pode ver valores individuais para cada
tempo de peça em processo.
3.1 Exercício 2 - Fluxograma Operador leva a
peça ate a esteira
Peça chega ao 5 minutos Peça é levada final
estoque para o cesto
Operador
pelo operador
separa a 0.5 minutos
2 minutos Peça em 3 Movimento da
peça na esteira
Peça vai para final
esteira de peças

Torno Não Peça espera


Peça levada ao Disponível? até completer
separador pelo 4 peças
Sim
operador
Peça é levada ao
torno pelo
operador Peça esperam e
deixam a planta
Peça Sim
6.5 minutos
tipo 1? 2 minutos
Operador Processo
Não separa a automático no
Peça em 5 Fim da simulação
torno
Exercício 3: Lista de tarefas
Atributos: Crie um atributo de entidade inteiro chamado aTipo_Peca,
que será usado para dizer que tipo da Peça chegou. Crie um atributo de
entidade real chamado aTempo_chegada_peca para guardar o momento
no qual a Peça chegou no Estoque_Pecas.
Distribuição do usuário: Defina uma distribuição de usuário,
dTipo_Peca, que retorne 1(para tipo de Peça 1) 70% das vezes e 2 (para
tipo de Peça 2) 30% das vezes.
Processos: No Estoque_Pecas, determine que tipo de Peça chega e
marque o tempo da chegada. No Separador, teste qual dos dois tipos de
Peça está lá e selecione o tempo de processo correto. No roteamento,
cause o número correto de peças adicionais a serem criadas dependendo
do tipo de Peça.
Exercício 3: Lista de tarefas
Tempos de processos: Uma Peça tipo 1 leva 5 minutos no Separador.
Uma Peça tipo 2 leva 6,5 minutos no Separador.
LOGS: Use a função LOG na lógica de movimentação da Esteira_Final
para calcular por quanto tempo cada Peça permaneceu no sistema.
Chame o LOG, Tempo de Peça em Processo.
Tempo de simulação: O tempo de simulação é de 14 horas.
Atributos
• Designados a Locais ou Entidades.
• Valor inicial é sempre zero.
• Podem ser reais ou inteiros.
• Usados para identificar diferenças entre as entidades,
roteamento condicional, relatórios LOG, etc...
Atributos

Escreva o proposito do
atributo
Distribuição do usuário
Usadas para definir distribuições determinadas pelo usuário (curvas
empíricas);
Um valor amostral é conseguido chamando-se o
NOME_DA_TABELA() em um campo de lógica. Isto poderá designar
o valor amostral a um atributo ou a uma variável.
aTipo_peca = dDist_pecas()

Construir>Mais Elementos>Distribuição de Usuarios


Distribuição do usuário

Clique em Tabela para


abrir a janela de definição
Operation Statments
Designação ( = ): Não é realmente um comando, somente faz
com que um item se torne igual a outro.
Sintaxe: aTempo_de_processo = N(3.2,.47)
Ex: aTipo_peca = dTipo_peca()
CLOCK(): Retorna o horário do relógio da simulação. Usado para testar
ou guardar o valor.
Sintaxe: aInicio = CLOCK()
Operation Statments
Designação ( = ): Não é realmente um comando, somente faz
com que um item se torne igual a outro.
Sintaxe: aTempo_de_processo = N(3.2,.47)
Ex: aTipo_peca = dTipo_peca()
CLOCK(): Retorna o horário do relógio da simulação. Usado para testar
ou guardar o valor.
Sintaxe: aInicio = CLOCK()
If-then-else
Usados para descrever comandos de lógica que testam a veracidade de
algum argumento.
Em resumo, os elementos dizem que IF (se) um argumento é verdadeiro
THEN (então) faça isso, ELSE (caso contrário) - se o argumento não é
verdadeiro – faça aquilo.
IF Attr1 = 10
THEN WAIT N(25,5, 3)
ELSE
WAIT N(14,2)
Comandos de Operações
If - Then - Else with Begin - End

Elementos de lógica múltiplos que Estejam tratados no comando If –


Then precisam ser inseridos entre os comandos Begin e End
A chave { pode ser usada como símbolo de Begin
A chave } pode ser usada como símbolo de End
Ex: IF aPart_Type=1 THEN {GET Operator WAIT 7 GRAPHIC 3
ACCUM 2} ELSE WAIT 2
Comandos de Operações
If - Then - Else with Begin - End

Elementos de lógica múltiplos que Estejam tratados no comando If –


Then precisam ser inseridos entre os comandos Begin e End
A chave { pode ser usada como símbolo de Begin
A chave } pode ser usada como símbolo de End
Rotas múltiplas
Ex: IF aPart_Type=1 THEN {GET
numeradas, Operator WAIT 7 GRAPHIC 3
lógica
ACCUM 2} ELSE WAIT 2
determina qual
executar
LOG
Subtrai do horário atual do relógio da simulação o tempo guardado em
um atributo e guarda o valor resultante para posterior relatório.

Sintaxe: LOG “Relatório do Processo”, aInicio

A função LOG é utilizada como um processo de duas partes. Primeiro,


um atributo é igualado ao valor do CLOCK() no momento em que se
quer começar a contar o tempo da atividade. Depois, quando a atividade
(ou a série de atividades) terminou, usa-se a função LOG com um texto
que atua como um título e o nome do atributo que guardou o momento
inicial.
LOG
Subtrai do horário atual do relógio da simulação o tempo guardado em
um atributo e guarda o valor resultante para posterior relatório.

Sintaxe: LOG “Relatório do Processo”, aInicio

A função LOG é utilizada como um processo de duas partes. Primeiro,


um atributo é igualado ao valor do CLOCK() no momento em que se
quer começar a contar o tempo da atividade. Depois, quando a atividade
(ou a série de atividades) terminou, usa-se a função LOG com um texto
que atua como um título e o nome do atributo que guardou o momento
inicial.

Você também pode gostar