Controlar uma Persiana Usando um SPS
Para controlar uma persiana com saídas, o bloco de função SHUTTER é utilizado. Neste pequeno exemplo, primeiramente será mostrado o controle através dos botões. Os botões estão verdadeiros quando pressionados e falsos quando liberados.
Dica: O programa pode ser baixado e importado aqui:
example_shutter.antobj
Fundamentos
Primeiramente, uma nova periferia com o tipo
Persiana (encontrada em Atoores ▸ Sombreamento) é inserida na
Estrutura e, em seguida, clique em
Aplicar no Explorer.
Após abrir o elemento, clique em
Editar para começar com os passos seguintes.
- Apague o bloco de função VISU.
- Insira um novo bloco de função e defina-o como SHUTTER.
- Atribua um banco de dados. No nosso exemplo, este se chama shutter.
- Agora, atribuímos as saídas para o motor. Estas são DO_UP para subir e DO_DW para descer. Na saída DO_UP, escrevemos out.up e em DO_DW, out.down. Todas as outras saídas serão ignoradas por enquanto.
- Para que a persiana se mova, os tempos de execução devem ser definidos. No nosso caso, definimos a entrada PT_UP com T#10s e PT_DW com T#8s.
- Insira um tempo morto de T#500ms na entrada PT_STOP para bloquear e proteger o motor.
- A persiana será expandida com todo o tempo de execução das lâminas. Definimos este tempo na entrada PT_SLAT com T#1s100ms. Para que isso seja eficaz, o número de passos deve ser especificado. Insira 10 passos na entrada SLAT_STEPS.
- Apenas os botões precisam ser conectados agora. Para isso, escrevemos na entrada TR_UP, in.Tr1_up e na entrada TR_DW, in.Tr1_down. Se vários botões precisarem controlar a mesma persiana, eles serão conectados nas entradas com um bloco de função OR.
- Aplicando em
Aplicar e, em seguida, clicando em
Visualização, você pode testar a aplicação.
Visualização
Para que a visualização possa se comunicar com o bloco de função, os seguintes passos devem ser executados:
- Crie um novo bloco de função VISUVAR na entrada MOVETO_POS. O banco de dados deste bloco de função chamamos aqui de pos. Na entrada do VISUVAR criado, você fornece a referência usando shutter.POS no bloco de função SHUTTER, para que a posição atual seja retornada à visualização.
- Repita o passo anterior com a entrada MOVETO_SLAT. O banco de dados do bloco de função VISUVAR é chamado de slat. A entrada do VISUVAR é então retornada à saída shutter.SLAT.
- Para que a persiana também possa ser controlada por meio de teclas na visualização, agora você cria três outros blocos de função VISUVAR. Os dois primeiros são inseridos entre os botões e as entradas TR_UP e TR_DW do bloco de função SHUTTER. O terceiro VISUVAR é adicionado à entrada STOP. Para isso, selecione a entrada correspondente.
- O banco de dados do primeiro VISUVAR é chamado de tr_up, o segundo tr_down e o da entrada STOP tr_stop.
- A seguir, crie uma nova rede
. Aqui você insere um bloco de função VISUVAR e chama o banco de dados de real_pos. Agora, escreva na entrada shutter.REAL_POS, para transferir a posição atual da persiana para o símbolo.
- Repita o passo anterior com uma nova rede. Desta vez, insira como nome do banco de dados real_slat. Em seguida, escreva na entrada shutter.REAL_SLAT.
- Abaixo, no registro do editor, alterne para Visualização. Agora você vê o símbolo da visualização.
- No símbolo, defina as
Variáveis em position para real_pos e slat_angle para real_slat. Além disso, o Interruptor de Duplo Clique pode ser definido no valor pos.
- No lado esquerdo, selecione a aba Shutter-Blinds. O modelo contém todos os elementos para controlar a persiana.
- Selecione o controle deslizante superior. Este deve ser alterado agora. Defina o Valor na variável pos. No controle deslizante inferior, o Valor deve apontar para a variável slat.
- Selecione a superfície de controle superior. Altere o Valor para a variável tr_up.
- Repita o passo anterior com o botão Stop e ab com as variáveis tr_stop e tr_down.
- Clique em seguida em
Aplicar. Agora a persiana pode ser colocada em um layout e você vê o resultado.
Aviso: Observe que o passo da lâmina no controle deslizante deve corresponder ao número de passos no bloco de função SHUTTER.