Ottimizzare L'applicazione
Ogni calcolo richiede un certo tempo di calcolo. Questo può causare problemi quando si realizzano progetti molto grandi o operazioni più grandi. Il tempo di ciclo complessivo può essere visualizzato attivando il monitor del sistema in alto a destra.
Prestare attenzione alla coda dei supporti dati. La coda viene utilizzata solo quando i dati non possono più essere letti e scritti contemporaneamente. Questo è particolarmente evidente nei grandi progetti o con l'hardware sbagliato. La coda non dovrebbe mai superare il 1% durante il normale funzionamento.
Funzionamento Dell'applicazione
Per comprendere il test delle prestazioni, è necessario prima spiegare il funzionamento dell'applicazione. Oltre alle basi sul tempo di ciclo, ci sono anche metodi avanzati che sono stati implementati solo nel PLC di Antcas:
- Se non vengono rilevate modifiche in un elemento, l'intero elemento viene parcheggiato e non calcolato.
- In caso di modifica dei valori globali, viene eseguito un doppio ciclo. Il PLC attende quindi solo una millisecondo.
- Vengono impostati i time-out per il calcolo dei valori critici nel tempo.
- La comunicazione in uscita (invio o salvataggio di valori) avviene in modo asincrono e non dopo il completamento del calcolo.
- Ogni variabile è remanente e viene salvata prima del parcheggio o al più tardi dopo due secondi.
Analisi Di Un Progetto
Per scoprire quali elementi dell'applicazione richiedono un'elevata potenza di calcolo, può essere utilizzato il test delle prestazioni.
Consigli Per L'ottimizzazione
- Non utilizzare l'uscita ET di un timer TON, TOF, TP. Invece, è possibile lavorare con UPTIME.
- L'ingresso SET di VISUSET e VISUDTSET non dovrebbe mai rimanere attivo contemporaneamente su più blocchi funzionali.
- Eseguire calcoli più grandi o complessi, se possibile, in un elemento separato.
- Eseguire operazioni matematiche con CALCULATE.
- Utilizzare logger con intervalli il più grandi possibile. Dieci minuti sono più che sufficienti per una temperatura. L'intervallo può essere impostato anche dinamicamente.
- Utilizzare intervalli più elevati PT nei blocchi funzionali CTRL_PID, SHUTTER, DIMMER ecc.
- Quando si modificano le impostazioni temporali dinamiche, assicurarsi che non cambino continuamente. Questo può accadere ad esempio con le sequenze RGB utilizzando il blocco funzionale FADE.
- Semplificare i compiti più complessi. In particolare, la ricerca nelle stringhe è molto intensiva dal punto di vista del calcolo. Utilizzare il blocco funzionale EXPLODE o PREG_SPLIT invece di FIND e SUBSTR. I valori vengono memorizzati temporaneamente di conseguenza.
- L'elaborazione delle richieste HTTP può utilizzare molta memoria.
- Ridurre i telegrammi ricevuti. Ad esempio, quando si regola la luminosità di un valore, a seconda del sistema bus, il feedback può essere ritardato.
- Aumentare I tempi di ciclo del PLC.