Aplicație Optimizată
Fiecare calcul necesită un anumit timp de calcul. Acest lucru poate duce la probleme atunci când se realizează proiecte foarte mari sau operațiuni mai mari. Timpul total al ciclului poate fi afișat prin comutarea monitorului sistemului în partea superioară dreaptă.
Acordați atenție cozii de așteptare a suporturilor de date. Coada este utilizată doar atunci când datele nu mai pot fi citite și scrise simultan. Acest lucru se observă în special la proiectele mari sau la hardware-ul incorect. Coada nu ar trebui să depășească niciodată 1% în timpul funcționării normale.
Funcționarea aplicației
Pentru a înțelege testul de performanță, trebuie mai întâi explicat modul de funcționare al aplicației. Pe lângă bazele timpului de cicl, există și metode avansate care au fost implementate doar la PLC-ul Antcas:
- Dacă nu se detectează modificări într-un element, întregul element este parcat și nu mai este calculat.
- La modificarea valorilor globale, se efectuează un ciclu dublu. PLC-ul așteaptă apoi doar o milisecundă.
- Se setez timeout-uri pentru calcularea valorilor critice în timp.
- Comunicația de ieșire (trimiterea sau stocarea valorilor) se face asincron și nu după finalizarea calculului.
- Fiecare variabilă este remanentă și este salvată înainte de parcare sau cel târziu după două secunde.
Analiza unui proiect
Pentru a afla care dintre elementele aplicației necesită o putere de calcul foarte mare, se poate utiliza testul de performanță.
Sfaturi pentru optimizare
- Nu folosiți ieșirea ET a unui timer TON, TOF, TP. În schimb, se poate lucra cu UPTIME.
- Intrarea SET de la VISUSET și VISUDTSET nu ar trebui să rămână activă simultan pe mai multe blocuri funcționale.
- Calculați calculele mai mari sau mai complexe, dacă este posibil, într-un element separat.
- Efectuați operații matematice cu CALCULATE.
- Utilizați logger-uri cu intervale cât mai mari. Zece minute pentru o temperatură sunt complet suficiente. Intervalul poate fi setat și dinamic.
- Folosiți intervale mai mari PT la blocurile funcționale CTRL_PID, SHUTTER, DIMMER etc.
- Acordați atenție modificării intrărilor de timp dinamice pentru a vă asigura că acestea nu se schimbă în mod constant. Acest lucru poate fi cazul secvențelor RGB cu blocul funcțional FADE.
- Simplificați sarcinile mai complexe. În special, căutarea în șiruri de caractere este foarte intensivă din punct de vedere al calculului. Folosiți blocul funcțional EXPLODE sau PREG_SPLIT în loc de FIND și SUBSTR. Valorile sunt stocate corespunzător.
- Procesarea interogărilor HTTP poate utiliza mult spațiu de memorie.
- Reduceți telegramele primite. De exemplu, la atenuarea unei valori, feedback-ul poate fi întârziat în funcție de sistemul de bus.
- Măriți timpurile de cicl ale PLC-ului.