O projeto utiliza o CPU224XP do S7-200, que possui 14 entradas digitais e 10 saídas digitais, suficientes para o sistema de quatro andares. A alocação de E/S foi projetada com atenção especial aos circuitos de segurança:
- I0.0~I0.3: Botões de chamada ascendente dos andares 1 a 4
- I0.4~I0.7: Botões de chamada descendente dos andares 1 a 4
- I1.0~I1.3: Seleção de andar dentro da cabine
- Q0.0~Q0.3: LEDs indicadores de chegada aos andares
Lógica de Controle Principal
A programação em STL (Linguagem de Lista de Instruções) implemetna uma máquina de estados com sub-rotinas especializadas. Exemplo otimizado:
LD SM0.0 // Ciclo contínuo
CALL SBR0:AtualizaPosicao // Atualiza localização da cabine
CALL SBR1:RegistraChamadas // Armazena requisições
CALL SBR2:DefineDirecao // Determina direção do movimento
CALL SBR3:ProcessaParada // Gerencia abertura/fechamento de portas
Detecção de Andares
Utiliza quatro sensores simulados (M0.0~M0.3) para identificação de posição, com lógica de priorização para evitar conflitos:
LD M0.0
MOVB 1, VB_LOCALIZACAO // Andar 1
LD M0.1
MOVB 2, VB_LOCALIZACAO // Andar 2
LD M0.2
MOVB 3, VB_LOCALIZACAO // Andar 3
LD M0.3
MOVB 4, VB_LOCALIZACAO // Andar 4
Implementação adicional com instrução SHRB para tratamento de transições entre andares:
SHRB M10.0, M10.1, +1 // Registro de deslocamento para validação de movimento
Interface HMI com Kingview
A animação da interface utiliza variáveis vinculadas à memória do PLC:
- Posição vertical da cabine: VD_POSICAO (tipo float)
- Efeito de piscagem para display de andar: pulso de 1Hz via SM0.5
- Indicadores de chamada: cores dinâmicas vinculadas aos endereços I0.x
Testes e Validação
Metodologia de simulação em duas etapas:
- Verificação básica em modo RUN do PLC: validação das saídas Q0.x com cargas simuladas
- Teste integrado com Kingview: estresse nos botões de chamada para verificar sincronismo
Problema comum resolvido: travamento entre andares causado por falha no reset do registrador intermediário VD_AUX no final da rotina SBR2.
Dicas para Implementação
- Circuito físico para emergência: conexão direta sem passagem pelo PLC
- Intertravamento nas portas: prevenção de movimento durante abertura
- Uso preferencial de memórias V (VD) para variáveis de processo
- Sensores simulados com auto-retenção: garantia de estado estável durante testes