Βελτιστοποίηση Εφαρμογής
Κάθε υπολογισμός απαιτεί κάποιο χρόνο υπολογισμού. Αυτό μπορεί να οδηγήσει σε προβλήματα όταν πραγματοποιούνται πολύ μεγάλα έργα ή μεγαλύτερες λειτουργίες. Ο συνολικός χρόνος κύκλου μπορεί να εμφανίζεται με την ενεργοποίηση του συστήματος παρακολούθησης πάνω δεξιά.
Συμβουλευτείτε την ουρά αναμονής των φορέων δεδομένων. Η ουρά χρησιμοποιείται μόνο όταν τα δεδομένα δεν μπορούν πλέον να διαβάζονται και να γράφουν ταυτόχρονα. Αυτό είναι ιδιαίτερα εμφανές σε μεγάλα έργα ή λανθασμένο υλικό. Η ουρά δεν θα πρέπει ποτέ να υπερβαίνει το 1% κατά τη διάρκεια της κανονικής λειτουργίας.
Λειτουργία της Εφαρμογής
Για να κατανοηθεί η δοκιμή απόδοσης, πρέπει πρώτα να εξηγηθεί η λειτουργία της εφαρμογής. Πέρα από τις βασικές αρχές του χρόνου κύκλου, υπάρχουν και προχωρημένες μέθοδοι που έχουν υλοποιηθεί μόνο στην SPS της Antcas:
- Αν δεν ανιχνευτούν αλλαγές σε ένα στοιχείο, τότε το ολόκληρο στοιχείο παρκάρεται και δεν υπολογίζεται πλέον.
- Κατά την αλλαγή των παγκόσμιων τιμών, εκτελείται ένας διπλός κύκλος. Η SPS περιμένει τότε μόνο μια χιλιοστoseconda.
- Για τον υπολογισμό των χρονικά κρίσιμων τιμών, ορίζονται timeouts.
- Η εξερχόμενη επικοινωνία (αποστολή ή αποθήκευση τιμών) πραγματοποιείται ασύγχρονα και όχι μετά την ολοκλήρωση του υπολογισμού.
- Κάθε μεταβλητή είναι remanent και αποθηκεύεται πριν από το παρκάρισμα ή το αργότερο μετά από δύο δευτερόλεπτα.
Ανάλυση ενός Έργου
Για να ανακαλύψετε ποια στοιχεία της εφαρμογής απαιτούν πολύ υψηλή υπολογιστική ισχύ, μπορείτε να χρησιμοποιήσετε την δοκιμή απόδοσης.
Συμβουλές για Βελτιστοποίηση
- Μην χρησιμοποιείτε την έξοδο ET ενός χρονόμετρου TON, TOF, TP. Αντ' αυτού, μπορείτε να εργαστείτε με το UPTIME.
- Η είσοδος SET του VISUSET και VISUDTSET δεν πρέπει ποτέ να παραμένει ενεργή ταυτόχρονα σε πολλούς λειτουργικούς μπλοκ.
- Πιο μεγάλες ή πιο περίπλοκες υπολογισμοί, αν είναι δυνατόν, να υπολογίζονται σε ένα ξεχωριστό στοιχείο.
- Υπολογισμός μαθηματικών πράξεων με CALCULATE.
- Χρησιμοποιήστε loggers με το μεγαλύτερο δυνατό διάστημα. Δέκα λεπτά για μια θερμοκρασία είναι αρκετά. Το διάστημα μπορεί επίσης να οριστεί δυναμικά.
- Χρησιμοποιήστε υψηλότερα διαστήματα PT στους λειτουργικούς μπλοκ CTRL_PID, SHUTTER, DIMMER κ.λπ.
- Προσέξτε κατά την αλλαγή των δυναμικών χρονικών εισαγωγών ότι αυτές δεν αλλάζουν συνεχώς. Αυτό μπορεί να συμβεί, για παράδειγμα, σε RGB-ακολουθίες με τον λειτουργικό μπλοκ FADE.
- Απλοποιήστε πιο περίπλοκες εργασίες. Ειδικά η αναζήτηση σε αλφαριθμητικές ακολουθίες είναι πολύ απαιτητική στον υπολογισμό. Χρησιμοποιήστε αντί για FIND και SUBSTR τον λειτουργικό μπλοκ EXPLODE ή PREG_SPLIT. Οι τιμές αποθηκεύονται κατάλληλα προσωρινά.
- Η επεξεργασία των HTTP-ερωτημάτων μπορεί να χρησιμοποιήσει πολύ μνήμη.
- Μειώστε τα εισερχόμενα τηλεγραφήματα. Για παράδειγμα, κατά την ρύθμιση της έντασης ενός τιμής, η επιστροφή μπορεί να καθυστερήσει ανάλογα με το σύστημα δίκτυου.
- Αυξήστε τους χρόνους κύκλου της SPS.