José Faria Posted September 26, 2016 at 06:43 PM Report #599144 Posted September 26, 2016 at 06:43 PM 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 😉
Rui Carlos Posted September 26, 2016 at 08:15 PM Report #599149 Posted September 26, 2016 at 08:15 PM 1 hora atrás, José Faria disse: [...] mas mesmo assim as dúvidas são muitas [...] Mas não indicaste nenhuma dúvida na mensagem que escreveste. Rui Carlos Gonçalves
José Faria Posted September 26, 2016 at 08:25 PM Author Report #599150 Posted September 26, 2016 at 08:25 PM 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?)
nokPT Posted September 27, 2016 at 08:49 AM Report #599160 Posted September 27, 2016 at 08:49 AM 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... 1 Report Ricardo Timóteo
José Faria Posted September 27, 2016 at 04:49 PM Author Report #599178 Posted September 27, 2016 at 04:49 PM Obrigado amigo, grande ajuda. Grande abraço 😄
Diniz Posted February 14, 2017 at 04:09 AM Report #602476 Posted February 14, 2017 at 04:09 AM 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
bubulindo Posted February 17, 2017 at 07:08 PM Report #602593 Posted February 17, 2017 at 07:08 PM 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 () { }
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now