Optimizoni e Aplikacionit
Secila llogaritje kërkon një kohë të caktuar për llogaritje. Kjo mund të sjellë probleme kur realizohen projekte shumë të mëdha ose operacione më të mëdha. Koha totale e ciklit mund të shfaqet duke ndërruar monitorin e sistemit në pjesën e djathtë të sipërme.
Kujdesoni rreshtin e pritshëm të mbajtësve të të dhënave. Rreshti i pritshëm përdoret vetëm kur të dhënat nuk mund të lexohen dhe të shkruhen njëkohësisht. Kjo bëhet veçanërisht e dukshme në projekte të mëdha ose me hardware të gabuar. Rreshti i pritshëm nuk duhet të kalojë kurrë 1 % gjatë operacionit normal.
Funksionimi i Aplikacionit
Për të kuptuar testin e performancës, duhet parë fillimisht funksionimi i aplikacionit. Përveç themelve për kohën e ciklit, ka edhe metoda të zgjeruara që janë zbatuar vetëm në SPS nga Antcas:
- Nëse nuk shihen ndryshime në një element, elementi i plotë parqitet dhe nuk llogaritet më.
- Në rast ndryshimi të vlerave globale, kryhet një cikël dyfish. SPS-ja priton atëherë vetëm një milisekundë.
- Për llogaritjen e vlerave kritike në kohë, vendosen timeouts.
- Komunikimi i dalur (dërgimi ose ruajtja e vlerave) kryhet asinkronisht dhe jo pas përfundimit të llogaritjes.
- Secila variablë është remanente dhe ruhet para parqitjes ose më vonë, në maksimum dy sekonda.
Analiza e një Projekti
Për të kuptuar cilat elemente të aplikacionit kërkojnë një performancë shumë të lartë të llogaritjes, mund të përdoret testi i performancës.
Këshilla për Optimizim
- Mos përdorni daljen ET të një timeri TON, TOF, TP. Në vend të kësaj, mund të punoni me UPTIME.
- Hyrja SET e VISUSET dhe VISUDTSET nuk duhet të mbetet aktive në më shumë se një Bllok Funksion njëkohësisht.
- Llogaritjet më të mëdha ose më komplekse, nëse është e mundur, llogariten në një element të veçantë.
- Operacionet matematike llogariten duke përdorur CALCULATE.
- Përdorni logger me intervale sa më të mëdha. Dymbëdhjetë minuta për një temperatur janë të mjaftueshme. Intervali mund të caktohet edhe dinamikisht.
- Përdorni intervale më të larta PT në Blloqet Funksion CTRL_PID, SHUTTER, DIMMER etj.
- Kujdesoni për ndryshimet e hyrjeve të kohës dinamike dhe sigurohuni që këto nuk ndryshojnë vazhdimisht. Kjo mund të jetë rasti, p.sh., me sekvencat RGB duke përdorur Bllokun Funksion FADE.
- Për thjeshtimin e detyrave më komplekse. Veçanërisht kërkojnë shumë kohë llogaritje të shfletimit në vargjet e karaktereve. Përdorni në vend të FIND dhe SUBSTR Bllokun Funksion EXPLODE ose PREG_SPLIT. Vlerat ruhen përkatësisht midis tyre.
- Përpunimi i kërkesave HTTP mund të përdorë shumë memorie.
- Rendoni telegramet e marrura. Për shembull, kur dimoni një vlerë, në varësi të sistemit të busit, mund të vonohet kthimi i përgjigjes.
- Rriteni kohët e ciklit të SPS-ës.