Jump to content
José Faria

Programação Ladder Elevador 3 Pisos

Recommended Posts

José Faria

Boas, eu estou no último ano do curso de Eletrónica, Automação e Computadores, como tal no final do ano tenho de apresentar a PAP ( prova de aptidão profissional) e o tema que eu escolhi foi um elevador de 3 pisos, para o programar optei por usar um autómato de programação em Ladder, mas estou com muitos problemas ao nível do código, já fiz um algoritmo com tudo o que tem de acontecer quando uma certa coisa acontece, mas mesmo assim as dúvidas são muitas, se alguém poder ajudar agradeço. Obrigado pela atenção ;)

Share this post


Link to post
Share on other sites
José Faria

A principal dúvida é quando clicam dois botões de chamada em simultâneo para qual ir primeiro e quando ir para o segundo lugar (supondo que clico no botão de chamada do piso 0 e no do piso 1 "ao mesmo tempo", e o elevador vai para o piso 0 e quando chega eu escolho para ir para o piso 2, quando deve ir para o piso 1?) 

Share this post


Link to post
Share on other sites
nokPT

Desculpa a pergunta, mas já andaste de elevador, não? sabes como é que funciona um elevador, certo? Usa esse conhecimento no desenvolvimento do programa, um simples elevador de 3 pisos, parece simples de programar, mas é um bom exemplo do que parece simples e tem tantas combinações que facilmente se complica...

Para que lado vai, é uma questão de bom senso, vamos por partes:

Se estás no piso 0 e carregam para ir para o 2 e entretanto também carregam para ir para o 1, pode acontecer 2 coisas, ainda estás entre o Piso0 e o Piso1, então paras no Piso1 e depois vais para o Piso2. Se já estás entre o Piso1 e o Piso2, terminas a viagem até ao Piso2 (as pessoas saiem ou entram) e na descida paras no Piso1, não podes ir do Piso0 para Piso2 (ou vice-versa), sem passar pelo Piso1, certo?

Depois, simultâneamente, não existe, fisicamente, carregar em 2 botões de pisos diferentes ao mesmo tempo é quase impossível, e mesmo que seja possível, o software é uma sequência de linhas (não simultaneidade, 1º vês as ordens para um piso, depois para o outro, depois...), o que tens que fazer é 1º botão que apanhas, bloqueia o sentido em que o elevador se vai mexer, e isso resolve o problema de, estou no Piso1 e carregam "em simultâneo" nos botões do Piso0 e Piso2, para que lado vou? Para o lado que o software decidir, se o software vê 1º o Piso o Piso0, bloqueia o movimento no sentido de descida, como tens o movimento bloqueado, a ordem para o Piso2, fica guardada até o movimento estar livre, inicias a descida, quando estás no Piso0, desbloqueias as ordens de movimento e mal possas, inicias o movimento de subida novamente, até porque, ele pode sair do Piso1, estar a descer entre o Piso1 e o Piso0, e alguém carregar no botão do Piso1, o que fazes nessa altura? Tens ordem para ir para os 3 Pisos :D, Guardas a ordem para o piso1 e piso2, quando chegares ao Piso0 desbloqueias os movimentos, e quando puderes sobes para o Piso1 (e depois para o Piso2)

E agora podemos complicar :D, estás no piso1, carregam no botão do Piso0 e no Piso2, decides descer para o Piso0, estás a descer para o Piso0 e carregam no botão do Piso1 (tal como em cima), chegas ao Piso0, e sobes para o Piso1 (com o pedido do Piso2 guardado, ou seja, a seguir vais para o Piso2), quando chegas ao Piso1, a pessoa pede para ir para o Piso0, e agora? Vais para o Piso0 ou para o Piso2? A pessoa está dentro do elevador e quer ir para o 0, há uma pessoa há espera no piso2? A resposta: fazes como quiseres, na minha opinião, deves manter o sentido de movimento, estavas a subir, sobes até ao Piso2 e depois voltas a descer...

  • Vote 1

Ricardo Timóteo

Share this post


Link to post
Share on other sites
Diniz

José,

Quanto a ajuda tudo depende do nível de detalhamento requerido pelo teu instrutor...

vejo que o assunto abordado aqui foi apenas referente a lógica de funcionamento, mas e quanto aos outros aspectos do projeto?

dimensionamento de forma geral

diagramas eletricos

Acionamentos da elevação (motor partida direta ou inversor) não sei o que é normal nesse tipo de projeto mas podemos pesquisar

 parâmetros dos acionamentos (velocidade de subida, descida, rampas e etc)

acionamento das portas

aspectos de segurança (são muitos) sensores (tipos) quantidade...

normas para elevadores.

Isso pode chegar até na civil...

 

Dependendo do nível de detalhes que pretendes chegar podemos e te ajudando em partes

 

pense primeiro no escopo do seu projeto, planeje...

 

caso ainda esteja em andamento terei o prazer em ajudar em qualquer parte do mesmo...

 

DC

Share this post


Link to post
Share on other sites
bubulindo

Existe sim a possibilidade de haverem dois botões carregados ao mesmo tempo... quanto mais não seja porque o universo está cheio de idiotas e a lei de Murphy existe.

Como tal, adicionar um buzzer para quando um chico esperto estiver a carregar em dois botões ao mesmo tempo seria algo que levaria uma ponto extra se fosse eu o professor.

A tua questão, segundo percebi, tem mais a ver com a maneira do elevador optimizar a viagem e não necessariamente de carregar em dois botões ao "mesmo tempo". Ou seja, num prédio com 10 andares, a primeira pessoa carrega para ir para o oitavo andar e a segunda pessoa carrega para ir para o terceiro andar. Obviamente que não queres levar a pessoa ao oitavo e depois baixar ao terceiro.

Como tal, se eu estivesse na tua situação fazia algo deste género, a primeira pessoa a carregar no andar define o sentido de movimento e esse andar é guardado num vector. Todos os outros níveis que sejam inseridos para o elevador parar, são colocados nesse mesmo vector por ordem de chegada. Se houver um andar que esteja em sentido contrário de movimento, vai para outro vector.

Ao fechar a porta, pegas no vector que indica as paragens no sentido em que vais viajar e ordenas por ordem crescente ou decrescente. E depois tens os níveis onde tens de parar já ordenados. Ao chegar ao final desse vector, se houver níveis para serem atingidos abaixo de onde começaste, o elevador começa a descer para baixo.

Sinceramente, eu não sei como pegaria nisto em Ladder... mas com uma linguagem textual parece-me até bastante simples.

No entanto, porque não mudar as coisas um pouco e em vez de fazeres um elevador normal, fazeres um elevador moderno onde as pessoas não chamam o elevador, mas apenas carregam no andar para onde querem ir. Isto, obviamente, apenas funciona com mais do que um elevador.


include <ai se te avio>

Mãe () {

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.