Aplicação Otimizar
Cada cálculo requer um certo tempo de computação. Isso pode levar a problemas quando projetos muito grandes ou operações maiores são realizados. O tempo total do ciclo pode ser exibido alternando o monitor do sistema no canto superior direito.
Observe a fila de espera dos meios de armazenamento. A fila só é usada quando os dados não podem mais ser lidos e escritos simultaneamente. Isso se torna evidente principalmente em projetos grandes ou hardware incorreto. A fila nunca deve exceder 1% no funcionamento normal.
Funcionamento da Aplicação
Para que o teste de desempenho seja compreendido, primeiro deve ser explicado o funcionamento da aplicação. Além dos fundamentos sobre Tempo De Ciclo, existem ainda métodos avançados que só foram implementados na SPS da Antcas:
- Se nenhuma alteração for detectada em um elemento, todo o elemento será estacionado e não mais calculado.
- Ao alterar valores globais, um ciclo duplo é executado. A SPS então espera apenas uma milissegundo.
- Timeouts são definidos para o cálculo de valores críticos no tempo.
- A comunicação de saída (enviar ou armazenar valores) ocorre de forma assíncrona e não apenas após a conclusão do cálculo.
- Cada variável é remanescente e é salva antes de ser estacionada ou, no máximo, após dois segundos.
Análise De Um Projeto
Para descobrir quais elementos da aplicação consomem uma capacidade computacional muito alta, pode-se usar o Teste de Desempenho.
Dicas Para Otimização
- Não utilize a saída ET de um temporizador TON, TOF, TP. Em vez disso, pode-se trabalhar com UPTIME.
- A entrada SET de VISUSET e VISUDTSET nunca deve permanecer ativa simultaneamente em vários blocos de função.
- Cálculos maiores ou mais complexos, se possível, calcular em um elemento separado.
- Operações matemáticas calcular com CALCULATE.
- Utilize loggers com o maior intervalo possível. Dez minutos para uma temperatura são totalmente suficientes. O intervalo também pode ser definido dinamicamente.
- Utilize intervalos mais altos PT nos blocos de função CTRL_PID, SHUTTER, DIMMER etc.
- Ao alterar entradas de tempo dinâmico, certifique-se de que estas não mudem constantemente. Isso pode ocorrer, por exemplo, em sequências RGB com o bloco de função FADE.
- Simplifique tarefas mais complexas. A busca em cadeias de caracteres é muito intensiva em termos de computação. Em vez de FIND e SUBSTR, utilize o bloco de função EXPLODE ou PREG_SPLIT. Os valores são armazenados temporariamente.
- O processamento de consultas HTTP pode consumir muita memória.
- Reduza os telegramas recebidos. Por exemplo, ao atenuar um valor, a resposta pode ser atrasada dependendo do sistema de barramento.
- Aumente os Tempos De Ciclo da SPS.