Στον τομέα του βιομηχανικού αυτοματισμού, η ladder logic παραμένει μια από τις πιο συχνά χρησιμοποιούμενες γλώσσες προγραμματισμού. Ωστόσο, για πιο σύνθετα αντικείμενα ελέγχου, ο αντικειμενοστρεφής προγραμματισμός είναι σίγουρα μια εξαιρετικά αποτελεσματική προσέγγιση. Ας συζητήσουμε πρώτα τον αντικειμενοστραφή προγραμματισμό:
Ο αντικειμενοστραφής προγραμματισμός-είναι ένα προηγμένο πρότυπο προγραμματισμού σε γλώσσες υπολογιστών υψηλού-επιπέδου. Αυτή η φιλοσοφία σχεδιασμού μπορεί επίσης να εφαρμοστεί σε προγράμματα PLC σε συστήματα βιομηχανικού ελέγχου. Παρόλο που δεν μπορούμε να εφαρμόσουμε πολλά από τα εξαιρετικά χαρακτηριστικά του αντικειμενοστρεφούς προγραμματισμού-όπως "κληρονομικότητα"-και η γλώσσα PLC μπορεί να μην έχει καν τα χαρακτηριστικά μιας αντικειμενοστρεφούς γλώσσας προγραμματισμού, οι βασικές έννοιες του αντικειμενοστρεφούς προγραμματισμού είναι κλάσεις και στιγμιότυπα κλάσεων (δηλ. αντικείμενα). Χρειάζεται μόνο να χρησιμοποιήσουμε αυτές τις έννοιες. Στον προγραμματισμό υπολογιστών, χρειάζεται να αφαιρέσουμε και να γενικεύσουμε ορισμένες οντότητες για να ορίσουμε κλάσεις. Στα βιομηχανικά συστήματα ελέγχου, ωστόσο, τα αντικείμενα ελέγχου όπως οι κινητήρες και οι βαλβίδες είναι σαφώς καθορισμένες κατηγορίες ελέγχου. μπορούμε να ορίσουμε κλάσεις για αυτές απευθείας χωρίς την ανάγκη για αφαίρεση. Οι ακόλουθες ενότητες θα χρησιμοποιούν τη γλώσσα προγραμματισμού Step7 της Siemens και τη γλώσσα προγραμματισμού Unity της Schneider για να εξηγήσουν τον αντικειμενοστραφή προγραμματισμό για PLC.
I. Μέθοδοι Υλοποίησης
Ο αντικειμενοστρεφής προγραμματισμός στο Βήμα 7 υλοποιείται χρησιμοποιώντας μπλοκ συναρτήσεων (FB). Όταν ανακύπτει αυτό το θέμα, οι άνθρωποι συχνά σκέφτονται την προσέγγιση αρθρωτού προγραμματισμού που προτείνει η Siemens. Πράγματι, πρόκειται για την ίδια έννοια, αλλά όροι όπως "modularization", "background blocks data" και "multiple backgrounds" που εισήγαγε η Siemens δεν επιτρέπουν πάντα στους χρήστες να κατανοήσουν και να εφαρμόσουν με σαφήνεια αυτήν την εξαιρετική σχεδιαστική φιλοσοφία.
Ωστόσο, εάν το προσεγγίσετε από την οπτική γωνία του αντικειμενοστρεφούς προγραμματισμού, μπορείτε να κατανοήσετε πολύ καλύτερα αυτό το σχέδιο σχεδίασης. Ένα "μπλοκ FB" θεωρείται ως "κλάση". μπορεί να θεωρηθεί ως ομαδοποίηση κώδικα για παρόμοια αντικείμενα ελέγχου. Για παράδειγμα, για τη μονάδα μεταβλητής συχνότητας MM440-, μπορείτε να γράψετε ένα μπλοκ FB με το όνομα "MtrMM440". Στον αντικειμενοστραφή προγραμματισμό, αυτό ονομάζεται "κλάση". Όταν χρειάζεται να προγραμματίσετε τον έλεγχο για έναν συγκεκριμένο κινητήρα, μπορείτε να του αντιστοιχίσετε ένα μπλοκ DB παρασκηνίου-στον αντικειμενοστραφή προγραμματισμό, αυτό ονομάζεται υλοποίηση της κλάσης (δηλ. δημιουργία μιας παρουσίας της κλάσης: ένα αντικείμενο). Όταν χρειάζεται να ελέγξετε πολλούς κινητήρες, μπορείτε να αντιστοιχίσετε διαφορετικά DB φόντου σε αυτό το μπλοκ FB, κάτι που ισοδυναμεί με τη δημιουργία πολλαπλών παρουσιών της κλάσης.
Το Βήμα 7 διαθέτει έναν άλλο τύπο μπλοκ προγράμματος: το μπλοκ FC. Ο προγραμματισμός που χρησιμοποιεί κυρίως μπλοκ FC αναφέρεται ως δομημένος προγραμματισμός στα συστήματα Siemens, ο οποίος μπορεί να αναλογιστεί με τον διαδικαστικό προγραμματισμό στον προγραμματισμό υπολογιστών-δηλαδή με προγραμματισμό που βασίζεται αποκλειστικά σε λειτουργίες-.
Ο προγραμματισμός με το λογισμικό Unity της Schneider παρέχει καλύτερη κατανόηση του αντικειμενοστρεφούς προγραμματισμού-. Οι ορισμοί του DFB περιλαμβάνουν παραμέτρους εισόδου/εξόδου, ιδιωτικές/δημόσιες μεταβλητές και υλοποίηση κώδικα-που είναι ακριβώς τα βασικά στοιχεία μιας "κλάσης" στον αντικειμενοστραφή προγραμματισμό-υπολογιστή. Η δημιουργία μιας παρουσίας μιας κλάσης (ένα αντικείμενο) είναι τόσο απλή όσο η δημιουργία μιας κανονικής μεταβλητής "Boolean". απλά πρέπει να ορίσετε μια μεταβλητή αυτής της "κλάσης" στα "Function Blocks".
Τόσο το Step7 όσο και το Unity υποστηρίζουν τόσο διαδικαστικές όσο και αντικειμενοστρεφείς προσεγγίσεις προγραμματισμού. Η διάκριση μεταξύ αυτών των δύο προσεγγίσεων είναι παρόμοια με τη διαφορά μεταξύ προγραμματισμού σε C και C++ σε γλώσσες υπολογιστών υψηλού-επιπέδου.
Στην ακόλουθη εξήγηση, τα FB στο Step7 και τα DFB στο Unity θα αναφέρονται ως "class", ενώ ο συνδυασμός ενός FB και ενός DB φόντου στο Step7, καθώς και παρουσίες DFB στο Unity, θα αναφέρονται ως "objects".
II. Αντικειμενοστραφής-Αρχιτεκτονική προγραμματισμού
Η παραπάνω συζήτηση καλύπτει λεπτομέρειες υλοποίησης, αλλά η φιλοσοφία προγραμματισμού βασίζεται στην αρχιτεκτονική του προγράμματος. Η απλή χρήση αντικειμενοστραφής μεθόδων σε ένα συγκεκριμένο τμήμα του κώδικα δεν σημαίνει ότι ολόκληρο το πρόγραμμα είναι αντικειμενοστραφή-. Αυτός ο τύπος προγραμματισμού απαιτεί μια προσέγγιση που βασίζεται στις ακόλουθες πτυχές:
1. Σχεδιασμός δομημένου κυκλώματος.
Αυτή η ενότητα εστιάζει κυρίως σε αυτοματοποιημένες γραμμές παραγωγής. για αυτόνομες εργαλειομηχανές, μπορεί να χρησιμοποιηθεί μια απλοποιημένη δομή:
<1>Αυτοματοποιημένο επίπεδο γραμμής παραγωγής: Αυτό είναι το υψηλότερο επίπεδο, με ένα κύριο PLC που ελέγχει τις διάφορες ζώνες κάτω από αυτό.
<2>Επίπεδο έργου: Αυτό το επίπεδο έχει ένα ανεξάρτητο σύστημα διανομής ενέργειας αλλά όχι PLC. αποτελείται μόνο από κατανεμημένες μονάδες που ελέγχονται από την αυτοματοποιημένη γραμμή παραγωγής. Όπως υποδηλώνει το όνομα, διαθέτει υψηλό βαθμό ανεξαρτησίας και μπορεί να σχεδιαστεί και να κατασκευαστεί ως ξεχωριστό έργο. Όταν η αυτοματοποιημένη γραμμή παραγωγής είναι σχετικά μικρή, αυτό το επίπεδο μπορεί να παραλειφθεί.
<3>,Επίπεδο λειτουργικής ομάδας: Με βάση τις υποδιαιρέσεις διεργασιών, τα τμήματα εξοπλισμού που εκτελούν μια συγκεκριμένη λειτουργία διεργασίας ομαδοποιούνται σε μια λειτουργική ομάδα. Αυτή η ομάδα ανήκει στο Μηχανικό Επίπεδο. όταν παραλείπεται το Μηχανικό Επίπεδο, ανήκει στο Επίπεδο Αυτοματοποιημένης Γραμμής Παραγωγής. Ο αντικειμενοστρεφής προγραμματισμός δεν απαιτεί απαραιτήτως τη χρήση της παραπάνω δομής, αλλά μια καλά σχεδιασμένη ηλεκτρική δομή συμβάλλει περισσότερο στον αντικειμενοστρεφή-προγραμματισμό.
2. Όλη η λογική για οποιοδήποτε αντικείμενο ελέγχου υλοποιείται μέσα σε μια "κλάση".
Για να επιτευχθεί αυτό, είναι απαραίτητο να αναλυθούν πληροφορίες που σχετίζονται με το αντικείμενο ελέγχου. Για παράδειγμα, για έναν κινητήρα, πρέπει να λαμβάνονται υπόψη οι ακόλουθες σχετικές πληροφορίες:
Πληροφορίες εισαγωγής:
<1>,Πληροφορίες προστασίας κυκλώματος, όπως διακόπτης κυκλώματος και θερμικό ρελέ του κινητήρα.
<2>,Πληροφορίες λειτουργικής προστασίας, όπως περιοριστικοί διακόπτες για κινητήρες κίνησης, διακόπτες πίεσης για ανεμιστήρες και διακόπτες στάθμης λαδιού για αντλίες λαδιού.
<3>Συνθήκες εκκίνησης και διακοπής: Ενώ η προστασία κυκλώματος και η λειτουργική προστασία που αναφέρονται παραπάνω μπορεί να προκαλέσουν διακοπή λειτουργίας του κινητήρα και μια επαναφορά μπορεί να προκαλέσει επανεκκίνηση, οι συνθήκες που αναφέρονται εδώ είναι αυτές για την εκκίνηση και τη διακοπή κατά την κανονική λειτουργία-όπως βήματα σε μια διαδικασία διαδοχικού ελέγχου.
<4>Λειτουργίες ελέγχου: όπως χειροκίνητη και αυτόματη.
<5>Επαναφορά σφάλματος: Επανεκκίνηση του συστήματος μέσω σημάτων επαναφοράς.
Πληροφορίες εξόδου:
<1>Έξοδοι ελέγχου, όπως ο κύριος επαφέας που ελέγχει τον κινητήρα.
<2>Έξοδοι πληροφοριών κατάστασης
<3>Έξοδοι σφαλμάτων
Πληροφορίες αποθήκευσης κατάστασης:
Ενδιάμεσες μεταβλητές που χρησιμοποιούνται για την υλοποίηση κώδικα, καθώς και μεταβλητές κατάστασης που μπορούν να διαβαστούν από το HMI. Ενσωματώστε όλες τις παραπάνω πληροφορίες σε μια ενιαία κλάση και τυποποιήστε τις παραμέτρους της κλάσης όσο το δυνατόν περισσότερο. Ωστόσο, εξακολουθούν να υπάρχουν κάποιες διαφορές σε σύγκριση με τις γλώσσες προγραμματισμού υψηλού-επιπέδου. Για το Βήμα 7, το πρότυπο που πρέπει να ακολουθηθεί είναι: η δομή του προγράμματος υλοποιείται με χρήση FC και ο έλεγχος αντικειμένων με χρήση FB, όπως φαίνεται από το ακόλουθο δομικό πλαίσιο (του οποίου η ηλεκτρική δομή βασίζεται στην παραπάνω εισαγωγή): Αυτή είναι απλώς μια πρόχειρη αρχιτεκτονική προγράμματος PLC. μια καλή αρχιτεκτονική πρέπει να είναι πιο ολοκληρωμένη και επιστημονική.
3. Σχεδιάστε προσεκτικά τις δομές δεδομένων
Ο καθορισμός δομών δεδομένων είναι ζωτικής σημασίας και θα πρέπει να προσπαθήσετε να ενοποιήσετε αυτές τις δομές όσο το δυνατόν περισσότερο χωρίς να ανησυχείτε για τον αποθηκευτικό χώρο. Η σύγχρονη μνήμη PLC είναι επαρκής για να φιλοξενήσει μεγάλες ποσότητες δεδομένων. Αξίζει να σημειωθεί ότι στο Βήμα 7, θα πρέπει να αποφύγετε τον ορισμό-καθορισμένων τύπων χρήστη (UDT) εκτός κλάσεων, όποτε είναι δυνατόν. Αντίθετα, ορίστε τα μέσα στις κλάσεις. Αν και αυτό μπορεί να οδηγήσει σε διπλότυπους ορισμούς της ίδιας δομής σε διαφορετικές κλάσεις, ενισχύει την ανεξαρτησία των κλάσεων.
Στις ακόλουθες ενότητες, θα συγκρίνουμε αυτές τις δύο προσεγγίσεις προγραμματισμού:
Πλεονεκτήματα του αντικειμενοστρεφούς προγραμματισμού-Σε σύγκριση με τη λογική κλίμακας, ο αντικειμενοστραφής-προγραμματισμός προσφέρει τα ακόλουθα πλεονεκτήματα:
• Ο κώδικας είναι φορητός και εύκολος στην επαναχρησιμοποίηση.
• Είναι εύκολο να χρησιμοποιηθούν μαθηματικές συναρτήσεις, βρόχοι και άλλες κατασκευές.
• Ο αντικειμενοστραφής{0}}προγραμματισμός διδάσκεται σχεδόν σε κάθε μάθημα προγραμματισμού υπολογιστών.
• Ο κώδικας μπορεί να εκτελεστεί σε διάφορες πλατφόρμες υλικού.
Για να κυριαρχήσετε στον αντικειμενοστραφή προγραμματισμό, πρέπει πρώτα να κατανοήσετε την έννοια των αντικειμένων και τον τρόπο χρήσης τους. Μόλις γραφτεί ένα αντικείμενο ή μια κλάση, μπορεί εύκολα να επαναχρησιμοποιηθεί μέσω πολλαπλών κλήσεων. Για παράδειγμα, δημιουργήστε ένα αντικείμενο για τον έλεγχο ενός κινητήρα, ο οποίος χειρίζεται όλες τις εισόδους, τις εξόδους και τα σφάλματα. Όταν χρειάζεται, πολλαπλοί κινητήρες μπορούν να ελεγχθούν με την εγκατάσταση αυτού του μεμονωμένου αντικειμένου ελέγχου πολλές φορές. Αυτό είναι γνωστό ως-κατά παραγγελία. Όταν χρειάζεται να ελεγχθούν πολλοί κινητήρες, αυτό το μεμονωμένο αντικείμενο μπορεί να χρησιμοποιηθεί επανειλημμένα. Καλείται όταν χρειάζεται και οι περιπτώσεις δημιουργούνται καθώς χρησιμοποιούνται.
Κάθε περίπτωση κάθε κινητήρα έχει τα δικά του χαρακτηριστικά, όπως διακοπή κινητήρα, λειτουργία κινητήρα, ταχύτητα κινητήρα και υπερφόρτωση κινητήρα. Το μεγαλύτερο μέρος της εργασίας προγραμματισμού ολοκληρώνεται όταν το αντικείμενο δημιουργείται για πρώτη φορά. Αυτός είναι ένας διαφορετικός τρόπος σκέψης από τη λογική της σκάλας και είναι πιο ισχυρός, επειδή μόλις κατασκευαστεί ένα αντικείμενο, είναι εύκολο να χρησιμοποιηθεί και να επαναχρησιμοποιηθεί. Ο αντικειμενοστρεφής προγραμματισμός διευκολύνει την εκτέλεση πολύπλοκων μαθηματικών συναρτήσεων, υπολογισμών βρόχου, πινάκων και ένθετων υπορουτίνων. Σχεδόν κάθε μάθημα προγραμματισμού υπολογιστών-είτε στο γυμνάσιο, στο κολέγιο ή σε διαδικτυακά μαθήματα-διδάσκει αυτήν την έννοια. Ο κώδικας που δημιουργείται είναι φορητός και μπορεί να τρέξει σε διάφορες πλατφόρμες υλικού.
"Η λογική της κλίμακας ακολουθεί τη μορφή των ηλεκτρικών διαγραμμάτων σκάλας που χρησιμοποιούνται στα συστήματα ελέγχου ρελέ και οι περισσότεροι άνθρωποι μπορούν γρήγορα να την μάθουν και να την κυριαρχήσουν."
Ωστόσο, σε σύγκριση με τη λογική κλίμακας, ο αντικειμενοστραφής προγραμματισμός-έχει τα ακόλουθα μειονεκτήματα:
• Υψηλότερο κόστος.
• Μια πιο απότομη καμπύλη μάθησης.
• Η αντιμετώπιση προβλημάτων δεν είναι ιδιαίτερα εύκολη για το προσωπικό συντήρησης.
• Συνήθως απαιτείται μεταγλώττιση πριν από τη μεταφόρτωση του πηγαίου κώδικα στον επεξεργαστή.
Σε σύγκριση με τη λογική της κλίμακας, ο αντικειμενοστραφής προγραμματισμός συχνά απαιτεί περισσότερη μνήμη και μεγαλύτερη ισχύ επεξεργασίας, με αποτέλεσμα υψηλότερο κόστος. Η εκμάθηση μιας αντικειμενοστρεφούς γλώσσας προγραμματισμού μπορεί να διαρκέσει περισσότερο. Πιθανότατα απαιτείται διδασκαλία στην τάξη και η εκμάθηση των βασικών εννοιών απαιτεί σημαντικό χρόνο, πρακτική, δοκιμή και εφαρμογή. Οι προγραμματιστές πρέπει συχνά να μελετούν αντικειμενοστραφή προγραμματισμό για να χρησιμοποιούν ιχνηθέτες για την παρακολούθηση κώδικα ή προγράμματα εντοπισμού σφαλμάτων για τη λογική εντοπισμού σφαλμάτων. Με αυτόν τον τύπο προγραμματισμού υψηλού-επιπέδου, μπορεί να είναι δύσκολο να εφαρμοστούν-δυνατότητες διαδικτυακής παρακολούθησης σε πραγματικό χρόνο.
Πριν από τη λήψη του πηγαίου κώδικα στον ελεγκτή, πρέπει να γίνει μεταγλώττιση. Συνήθως, ο πηγαίος κώδικας δεν αποθηκεύεται στη μνήμη του επεξεργαστή. Αυτό σημαίνει ότι πρέπει να ληφθεί μέριμνα για τη δημιουργία αντιγράφων ασφαλείας του πηγαίου κώδικα, καθώς ο μεταγλωττισμένος κώδικας συνήθως δεν είναι επεξεργάσιμος. Με αντικειμενοστραφή προγραμματισμό, τα αρχεία της βιβλιοθήκης πρέπει να συνδέονται με άλλους πόρους που χρησιμοποιούνται κατά τη διαδικασία μεταγλώττισης. Χωρίς κατανόηση της σύνδεσης και των πόρων, θα είναι δύσκολο να εκτελεστεί το πρόγραμμα.
Πλεονεκτήματα του Ladder Logic:
Η λογική της κλίμακας είναι μια απλή-μέθοδος κωδικοποίησης που τεκμηριώνεται μόνος του-ορισμένοι αμφισβητούν ακόμη και αν πληροί τις προϋποθέσεις ως γλώσσα προγραμματισμού. Ακολουθεί τη μορφή των διαγραμμάτων κλίμακας που χρησιμοποιούνται στα συστήματα ελέγχου ρελέ και οι περισσότεροι άνθρωποι μπορούν γρήγορα να το μάθουν και να το κατακτήσουν. Είναι η μόνη γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως στον τομέα του αυτοματισμού μηχανών για δεκαετίες και θα παραμείνει μία από τις κύριες γλώσσες προγραμματισμού στη βιομηχανία αυτοματισμού για το άμεσο μέλλον.
Με την πάροδο του χρόνου, καθώς άτομα από διαφορετικά υπόβαθρα και τομείς έχουν εισέλθει στη βιομηχανία, διάφορες γλώσσες προγραμματισμού έχουν εισαχθεί στην εργαλειοθήκη βιομηχανικού αυτοματισμού. Αυτά περιλαμβάνουν προγραμματισμό μπλοκ συναρτήσεων, δομημένο κείμενο, προγραμματισμό κατάστασης και διαδοχικά διαγράμματα συναρτήσεων. Αυτές οι τέσσερις γλώσσες προγραμματισμού, μαζί με τη λογική κλίμακας, αποτελούν τις τυπικές γλώσσες προγραμματισμού που ορίζονται από το πρότυπο IEC 61131-3 της Διεθνούς Ηλεκτροτεχνικής Επιτροπής (IEC).
Η λογική πίσω από το IEC 61131 είναι ότι εάν κάθε προμηθευτής συμμορφώνεται με αυτό το πρότυπο, τότε-τουλάχιστον σε κάποιο βαθμό-ένα άτομο θα χρειαστεί μόνο να μάθει αυτές τις πέντε γλώσσες προγραμματισμού για να εναλλάσσεται εύκολα μεταξύ πλατφορμών που προσφέρονται από διαφορετικούς προμηθευτές. Ωστόσο, αυτό δεν ισχύει.
Το ίδιο ισχύει και για τη βασική λογική σκάλας (όπως η χρήση επαφών και πηνίων ρελέ). Ωστόσο, κατά τον προγραμματισμό, πρέπει να μάθει κανείς τη σύνταξη και την εμπειρία χρήστη κάθε προμηθευτή, καθώς και τις ιδιαιτερότητες του τρόπου χρήσης της πλατφόρμας προγραμματισμού του. Παρά την έλλειψη τυποποίησης, η λογική κλίμακας προσφέρει τα ακόλουθα πλεονεκτήματα έναντι του αντικειμενοστρεφούς προγραμματισμού:
• Είναι κατάλληλο-για τον έλεγχο μηχανών και διεργασιών.
• Είναι ευκολότερο να γίνει κατανοητό επειδή είναι εγγενώς αυτοτεκμηρίωση.
• Διευκολύνει την αντιμετώπιση προβλημάτων του ελεγχόμενου συστήματος.
• Είναι εύκολο να εντοπιστούν σφάλματα.
• Ο πηγαίος κώδικας μπορεί συνήθως να αποθηκευτεί στον επεξεργαστή.
Η λογική κλίμακας είναι- κατάλληλη για τον έλεγχο μηχανών και διεργασιών, ιδιαίτερα για συστήματα αυτοματισμού με μεγάλο αριθμό διακριτών εισόδων και εξόδων (I/O). Με τα χρόνια, η λογική της κλίμακας έχει επίσης βελτιωθεί συνεχώς για να χειρίζεται αναλογικές εισόδους/εξόδους, καθιστώντας την πιο κατάλληλη για ένα ευρύ φάσμα εφαρμογών ελέγχου διεργασιών
Σε σύγκριση με τις εφαρμογές ελέγχου μηχανών, οι εφαρμογές διεργασίας έχουν συνήθως υψηλότερο ποσοστό αναλογικής εισόδου/εξόδου.
Επειδή η λογική της κλίμακας είναι πιο εύκολη στη χρήση από τον αντικειμενοστραφή προγραμματισμό, πολλοί ειδικευμένοι τεχνικοί και μηχανικοί μπορούν να τη μάθουν γρήγορα. Η λογική είναι άκρως συστηματική και οργανωμένη, και η φύση της η ίδια-τεκμηρίωσή της καθιστά ευκολότερη την κατανόηση και τον έλεγχο. Πριν ενεργοποιηθεί μια συσκευή, κάθε γραμμή κώδικα πρέπει να αξιολογηθεί ως αληθής. Εάν υπάρχουν πέντε κινητήρες για έλεγχο, απαιτούνται τουλάχιστον πέντε γραμμές κώδικα, γεγονός που απλοποιεί σημαντικά τη διαδικασία.
"Ο πηγαίος κώδικας και οι περιγραφείς της λογικής κλίμακας συνήθως αποθηκεύονται στον ελεγκτή, εξαλείφοντας την ανάγκη πρόσβασης στον πηγαίο κώδικα και αφαιρώντας έτσι την απογοήτευση που αντιμετωπίζουν συχνά οι προγραμματιστές όταν προσπαθούν να κατανοήσουν τα μεταγλωττισμένα προγράμματα."
Για τους ηλεκτρολόγους μηχανικούς και το προσωπικό συντήρησης, η λογική της σκάλας είναι πολύ διαισθητική. Αν και η λογική της κλίμακας απαιτεί διαφορετική νοοτροπία από τον αντικειμενοστραφή προγραμματισμό, μπορεί να κατακτηθεί γρήγορα μέσω της μελέτης και χρειάζεται λιγότερος χρόνος για την κατανόηση κώδικα που γράφτηκε από άλλους. Είναι πεντακάθαρο πότε η λογική είναι αληθινή και πότε ψευδής. Ακόμη και εκείνοι με περιορισμένη εμπειρία προγραμματισμού μπορούν εύκολα να κατανοήσουν έννοιες όπως καταστάσεις ενεργοποίησης/απενεργοποίησης, ενεργοποίηση πηνίου, μεταβλητές σύγκρισης και κοινές μαθηματικές συναρτήσεις.

Είναι απλό και εύκολο στη χρήση, απλοποιώντας την αντιμετώπιση προβλημάτων και τον εντοπισμό σφαλμάτων. Κατά την παρακολούθηση της λογικής, είναι εύκολο να κατανοήσετε τις τρέχουσες συνθήκες λειτουργίας. Δεν απαιτείται πτυχίο λογισμικού ή προχωρημένες δεξιότητες προγραμματισμού. Με τη λογική της κλίμακας, το προσωπικό συντήρησης και μηχανικής μπορεί εύκολα να παρακολουθεί τη διαδικασία και να κατανοεί τι συμβαίνει. Η λογική της κλίμακας μπορεί να θεωρηθεί ως πίνακας αλήθειας: εάν η λογική στα αριστερά είναι αληθής, ενεργοποιείται η λογική στα δεξιά.
Ο πηγαίος κώδικας και οι περιγραφείς της λογικής κλίμακας συνήθως αποθηκεύονται στον ελεγκτή. Αυτό εξαλείφει την απογοήτευση που αντιμετωπίζουν συχνά οι προγραμματιστές όταν προσπαθούν να κατανοήσουν τον μεταγλωττισμένο κώδικα χωρίς πρόσβαση στον πηγαίο κώδικα-ένα πρόβλημα επίσης κοινό στον αντικειμενοστραφή προγραμματισμό.
Ωστόσο, σε σύγκριση με τον αντικειμενοστραφή προγραμματισμό, η λογική κλίμακας έχει επίσης τα ακόλουθα μειονεκτήματα:
• Οι προγραμματιστές υπολογιστών και οι επαγγελματίες πληροφορικής δεν είναι εξοικειωμένοι με τη λογική της κλίμακας.
• Είναι δύσκολο να εκτελέσετε μαθηματικές συναρτήσεις, επεξεργασία κειμένου και επεξεργασία δεδομένων.
• Βασίζεται στον χρόνο σάρωσης.
• Απαιτεί εξειδικευμένο υλικό για να εκτελεστεί, όπως προγραμματιζόμενο λογικό ελεγκτή (PLC).
Η λογική της κλίμακας είναι μια συμβολική γλώσσα με την οποία οι προγραμματιστές υπολογιστών και οι επαγγελματίες πληροφορικής δεν είναι εξοικειωμένοι, καθώς δεν τη μαθαίνουν στο σχολείο. Ο χειρισμός μαθηματικών συναρτήσεων, συμβολοσειρών κειμένου και δεδομένων στη λογική της κλίμακας μπορεί να είναι δύσκολος, κυρίως επειδή η λογική της κλίμακας δεν σχεδιάστηκε αρχικά για να χειρίζεται αυτές τις συναρτήσεις.
Η λογική της κλίμακας εξαρτάται επίσης από τον χρόνο σάρωσης. Τα μεγαλύτερα προγράμματα απαιτούν περισσότερο χρόνο για τη σάρωση και την επεξεργασία της λογικής. Κατά την εκτέλεση της λογικής κλίμακας, το σύστημα διαβάζει εισόδους, σαρώνει τη λογική, ενημερώνει πίνακες δεδομένων και εξόδους, εκτελεί επικοινωνία και, στη συνέχεια, επαναλαμβάνει τον κύκλο. Μπορούν να εφαρμοστούν δυνατότητες όπως διακοπές και άλλες τεχνικές προγραμματισμού για να εξασφαλιστεί η ταχύτερη εκτέλεση ορισμένων λογικών.
Παρόλο που τα PLC που βασίζονται σε λογισμικό- και έχουν διαμορφωθεί με λογική κλίμακας μπορούν να εκτελούνται σε υπολογιστή, το υλικό (όπως ένα PLC) πρέπει συνήθως να είναι συμβατό με το λογισμικό προγραμματισμού και είναι καλύτερο να αγοράσετε και τα δύο από τον ίδιο προμηθευτή. Αυτό διασφαλίζει τη συμβατότητα, αλλά δεν είναι ιδιαίτερα βολικό εάν θέλετε να αλλάξετε προμηθευτή.
Εκτός από τη σύγκριση των πλεονεκτημάτων και των μειονεκτημάτων του ladder logic και του αντικειμενοστρεφούς προγραμματισμού-, οι χρήστες θα πρέπει επίσης να αξιολογήσουν τον τρόπο χρήσης αυτών των γλωσσών προγραμματισμού στο περιβάλλον όπου θα αναπτυχθούν. Εάν ένα εργοστάσιο ή μια εγκατάσταση έχει ήδη τυποποιήσει τη λογική της κλίμακας, η αντικατάστασή τους με αντικειμενοστραφή προγραμματισμό δεν ενθαρρύνεται, ακόμη και αν ο τελευταίος είναι πιο κατάλληλος για την εφαρμογή. Καθώς η χρήση αντικειμενοστρεφούς προγραμματισμού συνεχίζει να αυξάνεται, αναμένεται να συνυπάρχει με τη λογική της κλίμακας για τις επόμενες δεκαετίες. Ένας επαγγελματίας αυτοματισμού-με προοπτική θα ήταν καλό-να κατέχει και τις δύο γλώσσες.




