Αυτό το άρθρο συγκρίνει τις λύσεις συστημάτων ελέγχου δύο βιομηχανικών ρομπότ, του χειριστή και του κινητού ρομπότ και παρουσιάζει τα χαρακτηριστικά τους.
Η παραπάνω ταξινόμηση βασίζεται στο αντικείμενο εφαρμογής. Επιπλέον, στην αγορά υπάρχουν πιο γενικοί ελεγκτές κίνησης, δηλαδή αυτοί που ελέγχουν μη τυποποιημένο εξοπλισμό.
1 Λύση κατώτερου επιπέδου ελεγκτή 1.1 Τύπος χειριστή Ο ελεγκτής τύπου χειριστή αναπτύχθηκε νωρίτερα και είναι σχετικά ώριμος. Ας ρίξουμε μια ματιά στην υπάρχουσα λύση κατώτατου επιπέδου συστήματος ελέγχου. 1.2 Τύπος κινητού ρομπότ Ο ελεγκτής του κινητού ρομπότ ανήκει σε μια σχετικά νέα κατεύθυνση. Τα βιομηχανικά κινητά ρομπότ έχουν τη μορφή AGV, μη επανδρωμένων μηχανημάτων μηχανικής κ.λπ. Η λύση στο κάτω επίπεδο του συστήματος ελέγχου είναι η εξής:
1.3 Σύγκριση
Ο χειριστής έχει υψηλές απαιτήσεις για ακρίβεια και σταθερότητα κίνησης, επομένως το ποσό υπολογισμού είναι μεγάλο και ο κύκλος σύντομος, που είναι γενικά 1 έως 2 τάξεις μεγέθους υψηλότερο από αυτό των κινητών ρομπότ. Τα φορητά ρομπότ γενικά δεν έχουν υψηλές απαιτήσεις για ακρίβεια συγχρονισμού και η διαμόρφωσή τους είναι σχετικά χαμηλή.
Ο χειριστής λειτουργεί γενικά σε μια σταθερή περιοχή και ο ελεγκτής του συνήθως τοποθετείται στο πλαίσιο, επομένως το επίπεδο προστασίας δεν είναι υψηλό, γενικά IP20. Τα κινητά ρομπότ πρέπει να είναι αδιάβροχα και ανθεκτικά στη σκόνη, επειδή πρέπει να μετακινούνται συχνά, ειδικά μηχανήματα μηχανικής εξωτερικού χώρου, επομένως πρέπει να εξετάσουν το ενδεχόμενο στεγανοποίησης και σκόνης. Το επίπεδο προστασίας τους είναι υψηλότερο, γενικά IP67.
2 Εισαγωγή στο CoDeSys 2.1 Σύνθεση του CoDeSys
Θα διαπιστώσετε ότι πολλά λογισμικά ελέγχου ρομπότ υλοποιούνται με τη βοήθεια του CoDeSys, οπότε τι είναι το CoDeSys;
Το CoDeSys είναι ένα επί πληρωμή λογισμικό ανάπτυξης λογισμικού PLC. Με απλά λόγια, αποτελείται από δύο μέρη: Σύστημα ανάπτυξης και Σύστημα χρόνου εκτέλεσης. Το Σύστημα Ανάπτυξης είναι η διεπαφή λογισμικού που χρησιμοποιείται για προγραμματισμό (όπως το Visual Studio, το Eclipse και άλλο λογισμικό, το οποίο μπορεί επίσης να ονομαστεί IDE). Ο σχεδιασμός, ο εντοπισμός σφαλμάτων και η μεταγλώττιση των προγραμμάτων PLC πραγματοποιούνται στο IDE, το οποίο είναι το μέρος με το οποίο ασχολούνται συχνά οι χρήστες.
Αφού γραφτεί το πρόγραμμα PLC, πρέπει να μεταφερθεί στη συσκευή υλικού για λειτουργία. Ωστόσο, το πρόγραμμα PLC που δημιουργήθηκε δεν μπορεί να εκτελεστεί μόνο του αυτήν τη στιγμή. Πρέπει να λειτουργεί σε ένα συγκεκριμένο περιβάλλον λογισμικού. Αυτό το περιβάλλον είναι το Runtime System, το οποίο είναι αόρατο στους χρήστες.
Οι θέσεις εγκατάστασης των δύο είναι συνήθως διαφορετικές. Το IDE είναι γενικά εγκατεστημένο στον υπολογιστή ανάπτυξης και το σύστημα χρόνου εκτέλεσης βρίσκεται στη συσκευή υλικού που παίζει ρόλο ελέγχου. Τα δύο συνδέονται γενικά με καλώδια δικτύου και το πρόγραμμα μεταφορτώνεται στο Runtime μέσω του καλωδίου δικτύου για λειτουργία.
Το CoDeSys δεν είναι πολύ γνωστό στην Κίνα, αλλά έχει μακροχρόνια φήμη στην Ευρώπη, ειδικά στον τομέα του βιομηχανικού ελέγχου. Πολλές εταιρείες ρομπότ που αναφέραμε παραπάνω χρησιμοποιούν τα προϊόντα της, όπως η KEBA, η Beckhoff, η Googol και σχεδόν όλοι οι κατασκευαστές ελεγκτών κινητών ρομπότ.
Η 3S, η εταιρεία που σχεδίασε το CoDeSys, πουλά μόνο λογισμικό και όχι υλικό. Το κύκλωμα υλικού πρέπει να σχεδιαστεί από τον χρήστη και η 3S είναι υπεύθυνη για τη μεταφορά του συστήματος χρόνου εκτέλεσης στο υλικό του πελάτη. Το σύστημα χρόνου εκτέλεσης μπορεί να λειτουργεί γυμνό στο υλικό, αλλά συνήθως εκτελείται στο λειτουργικό σύστημα και η διαμόρφωση του λειτουργικού συστήματος είναι επίσης δουλειά του πελάτη.
Εάν το ζητήσει ο πελάτης, το IDE της CoDeSys μπορεί να προσαρμοστεί για να αλλάξει το λογότυπο και την εμφάνιση του πελάτη, γι' αυτό θα διαπιστώσετε ότι οι πλατφόρμες ανάπτυξης διαφορετικών κατασκευαστών φαίνονται διαφορετικές, αλλά τα στυλ είναι σχετικά παρόμοια.
Φυσικά, οι χρήστες μπορούν να χρησιμοποιήσουν και άλλα IDE. Για παράδειγμα, ο Beckhoff χρησιμοποιεί το Visual Studio της Microsoft, ενώ η βιβλιοθήκη πυρήνα και λειτουργιών πίσω από τον μεταγλωττιστή εξακολουθεί να χρησιμοποιεί τη λύση του CoDeSys.
Το Runtime του CoDeSys έχει ισχυρή προσαρμοστικότητα και υποστηρίζει τα περισσότερα λειτουργικά συστήματα και αρχιτεκτονικές τσιπ υλικού.
2.2 Αρχή χρόνου εκτέλεσης CoDeSys
Το τμήμα IDE του CoDeSys είναι δωρεάν και μπορείτε να το κατεβάσετε από την επίσημη ιστοσελίδα του για να το ζήσετε. Η πραγματική χρέωση είναι το Runtime System Runtime System.
Στην αρχή του σχεδιασμού του, το CoDeSys χώρισε τις λειτουργίες σε πολλές ενότητες στοιχείων, όπως στοίβα πρωτοκόλλου διαύλου, οπτική διεπαφή, έλεγχος κίνησης, έλεγχος ασφάλειας κ.λπ. σχηματίζουν μια προσαρμοσμένη πλατφόρμα λογισμικού ελέγχου.
Ορισμένοι χρήστες που είναι νέοι στο soft PLC μπορεί να αισθάνονται άγνωστοι με αυτό το εξάρτημα, αλλά στην πραγματικότητα αυτή η μέθοδος σχεδίασης είναι πολύ συνηθισμένη. Για παράδειγμα, η εργαλειοθήκη σε πραγματικό χρόνο (Real-Time) του MATLAB Simulink λειτουργεί με αυτόν τον τρόπο. Οι χρήστες σχεδιάζουν προγράμματα ελέγχου μεταφέροντας και αποθέτοντας στη γραφική διεπαφή του Simulink και στη συνέχεια τα κατεβάζουν στο πραγματικό υλικό για εκτέλεση. Μπορείτε να μάθετε για αυτό εδώ.
Υπάρχει και τέτοιος τρόπος χρήσης όπως ο Beckhoff. Οι χρήστες προγραμματίζουν στο TwinCAT IDE και στη συνέχεια τα κατεβάζουν στον ελεγκτή του Beckhoff. Στην πραγματικότητα, ένας χρόνος εκτέλεσης είναι προεγκατεστημένος στον ελεγκτή. Το Siemens STEP7 είναι επίσης ένα IDE και το PLC του έχει επίσης αντίστοιχο χρόνο εκτέλεσης.
Το πρόγραμμα PLC που έχει γράψει ο χρήστης είναι σαν την εφαρμογή στον υπολογιστή μας. Εκτελείται στο σύστημα χρόνου εκτέλεσης και το σύστημα χρόνου εκτέλεσης εκτελείται στο λειτουργικό σύστημα.
Το σύστημα χρόνου εκτέλεσης βρίσκεται μεταξύ της εφαρμογής και του λειτουργικού συστήματος. Έτσι μπορεί να ονομαστεί ενδιάμεσο λογισμικό. Στο λογισμικό ρομπότ, τα ROS, OROCOS (Real-Time Toolkit) κ.λπ. βρίσκονται στην ίδια θέση.
Ο έλεγχος ρομπότ, όπως και οι εργαλειομηχανές CNC, απαιτεί απόδοση σε πραγματικό χρόνο, επομένως το λειτουργικό σύστημα που επιλέγουμε είναι κατά προτίμηση ένα λειτουργικό σύστημα σε πραγματικό χρόνο (RTOS). Δυστυχώς, τα λειτουργικά συστήματα που χρησιμοποιούμε συχνά δεν είναι σε πραγματικό χρόνο, όπως τα Windows και το Linux. Αλλά ευτυχώς, κάποιος τα έχει τροποποιήσει, δηλαδή έχει προσθέσει ενημερώσεις κώδικα σε πραγματικό χρόνο.
Τα συνήθως χρησιμοποιούμενα λειτουργικά συστήματα σε πραγματικό χρόνο περιλαμβάνουν: VxWorks, QNX, Windows RTX, Xenomai, RT Linux, Linux RTAI, WinCE, μC/OS, SylixOs κ.λπ. Λαμβάνοντας υπόψη ότι υπάρχουν πολλοί χρήστες λειτουργικών συστημάτων Windows και Linux, η CoDeSys έχει κυκλοφορήσει μια αντίστοιχη ενημέρωση κώδικα σε πραγματικό χρόνο (RTE) για να γλιτώσει τους χρήστες από το πρόβλημα της τροποποίησης.
Για περισσότερες πληροφορίες σχετικά με το CoDeSys Runtime, μπορείτε να διαβάσετε το επίσημο έγγραφο [Math Processing Error] [1][2][1][2].
2.3 Μειονεκτήματα του CoDeSys
Το CoDeSys φέρνει ευκολία στην ανάπτυξη των ελεγκτών μας και μας γλιτώνει από τον κόπο να ξεκινήσουμε από το μηδέν. Ωστόσο, υπάρχουν επίσης πολλά μειονεκτήματα στην ανάπτυξη των δικών μας προϊόντων ελεγκτών που βασίζονται σε εμπορικό λογισμικό όπως το CoDeSys:
(1) Ο υποκείμενος αλγόριθμος δεν είναι ανοιχτός
Τα στοιχεία ελέγχου κίνησης και οι στοίβες πρωτοκόλλου διαύλου που ενσωματώνονται από το CoDeSys είναι όλα ενθυλακωμένα. Οι χρήστες δεν μπορούν να κατανοήσουν τις εσωτερικές τους λεπτομέρειες, ούτε μπορούν να τις προσαρμόσουν και να τις βελτιστοποιήσουν σύμφωνα με τις συγκεκριμένες ανάγκες τους. Μόνο απλά μπορούν να τους αποκαλούν. Οι χρήστες μπορούν να βασίζονται μόνο στην πλατφόρμα CoDeSys και δυσκολεύονται να διαμορφώσουν τη δική τους βασική τεχνολογία.
(2) Περιορισμένες λειτουργίες και δύσκολο να επεκταθεί
Οι νέες τεχνολογίες που αντιπροσωπεύονται από την μηχανική όραση, την τεχνητή νοημοσύνη και την αυτόνομη οδήγηση προχωρούν τώρα με άλματα και όρια, ενώ πολλές τεχνολογίες στον βιομηχανικό έλεγχο είναι ακόμη 20 ετών. Λαμβάνοντας ως παράδειγμα τη σκηνή πλοήγησης σε ένα κινητό ρομπότ, η μέθοδος πλοήγησης που βασίζεται σε όραση ή λέιζερ χρειάζεται να συλλέξει μεγάλο όγκο δεδομένων και να τα επεξεργαστεί, κάτι που περιλαμβάνει πολλούς υπολογισμούς μήτρας.
Τώρα το PLC μπορεί να εκτελεί μόνο προς τα πίσω μονοδιάστατους ψηφιακούς υπολογισμούς, καθιστώντας δύσκολη την εφαρμογή πολύπλοκων αλγορίθμων. Σε αντίθεση με το στυλ ανοιχτού κώδικα της κοινότητας τεχνητής νοημοσύνης, η κοινότητα βιομηχανικού ελέγχου είναι κλειστή μεταξύ τους. Κανείς δεν είναι πρόθυμος να ανοίξει τις δικές του βιβλιοθήκες λειτουργιών. Υπάρχουν πολύ λίγες βιβλιοθήκες λειτουργιών ανοιχτού κώδικα (OSCAT). Ακόμη και οι πιο βασικοί αλγόριθμοι φιλτραρίσματος και οι υπολογισμοί μήτρας πρέπει να γράφονται από την αρχή. Επιπλέον, οι βασικές λειτουργίες που παρέχονται από τα διεθνή πρότυπα είναι πολύ περιορισμένες και δεν μπορούν καθόλου να προσαρμοστούν σε νέα σενάρια. Χρειάζονται επειγόντως επέκταση.
(3) Δύσκολη ενημέρωση
Λόγω της πλήρους εξάρτησης από το CoDeSys, η αναβάθμιση του υλικού των προϊόντων των πελατών πρέπει να προσαρμοστεί και να μεταμοσχευθεί, με αποτέλεσμα αυξημένο κόστος.
3 Λύσεις ανοιχτού κώδικα
Επί του παρόντος, υπάρχουν ορισμένες λύσεις συστημάτων ελέγχου ανοιχτού κώδικα, όπως το Beremiz, το Orocos, το OpenPLC, το OpenRTM και το ORCA.
Η ανάπτυξη ελεγκτών ρομπότ είναι ένα βαρύ έργο. Πρέπει να διευκρινιστεί μια σειρά απαιτήσεων απόδοσης, η πρώτη από τις οποίες είναι η απόδοση σε πραγματικό χρόνο.
Η απόδοση σε πραγματικό χρόνο είναι γενικά απαραίτητη για τα βιομηχανικά ρομπότ, αλλά όχι απαραίτητα για τα ρομπότ εξυπηρέτησης ή ψυχαγωγίας. Είναι εύκολο για τους απλούς ανθρώπους να μπερδέψουν την "απόδοση σε πραγματικό χρόνο" ως γρήγορη επεξεργασία ή ταχύτητα απόκρισης, αλλά στην πραγματικότητα "απόδοση σε πραγματικό χρόνο" σημαίνει "ντετερμινισμό" στο χρόνο. Για παράδειγμα, ο χρόνος καθυστέρησης της απόκρισης διακοπής ή της εναλλαγής διαδικασίας στο λειτουργικό σύστημα σε πραγματικό χρόνο (RTOS) πρέπει να είναι εντός ενός χρονικού εύρους.
Τα λειτουργικά συστήματα που χρησιμοποιούμε συνήθως (Windows, Linux) δεν είναι λειτουργικά συστήματα σε πραγματικό χρόνο, επειδή είναι σχεδιασμένα για απόδοση και δεν μπορούν να εγγυηθούν ότι κάθε συμβάν υποβάλλεται σε επεξεργασία εντός ενός συγκεκριμένου εύρους. Για παράδειγμα, η ταχύτητα μετάδοσης του τυπικού Ethernet είναι πολύ μεγαλύτερη από αυτή του βιομηχανικού Ethernet σε πραγματικό χρόνο, αλλά δεν είναι ούτε σε πραγματικό χρόνο, επειδή επίσης δεν μπορεί να εγγυηθεί ότι τα δεδομένα μεταδίδονται εντός δεδομένου χρόνου.
Δεν είναι δύσκολο να κατανοήσουμε σε πραγματικό χρόνο, αλλά ποιες εργασίες του ρομπότ πρέπει να εκτελούνται σε πραγματικό χρόνο; Πώς να προσδιορίσετε το χρονικό διάστημα για την εκτέλεση του προγράμματος σύμφωνα με τις απαιτήσεις απόδοσης του ρομπότ (1ms ή 10ms); Ο πραγματικός χρόνος εξαρτάται από το υλικό ή το λογισμικό;
Πώς να επιλέξετε συγκεκριμένο υλικό και λογισμικό με βάση σε πραγματικό χρόνο (ARM ή X86, Linux RTAI ή VxWorks); Υπάρχει έλλειψη εις βάθος συζήτησης για αυτήν την πτυχή στο Διαδίκτυο και οι μεγάλοι κατασκευαστές ρομπότ δεν θα αποκαλύψουν τα αποτελέσματα των δοκιμών και των πειραμάτων τους. Φαίνεται ότι αυτή η πτυχή βασίζεται κυρίως στην εμπειρία και τη δοκιμή και το λάθος.
Εδώ μπορώ να δώσω μόνο μερικούς δείκτες. Προς το παρόν, ο κύκλος ελέγχου των βραχιόνων βιομηχανικών ρομπότ είναι περίπου 1 ms και ο κύκλος ελέγχου του βρόχου θέσης ενός σερβομηχανισμού υψηλής απόδοσης μπορεί να φτάσει τα 125 [Σφάλμα Επεξεργασίας Μαθηματικών] mu sμs. Το PLCopen ορίζει ορισμένα πρότυπα για τον σερβομηχανισμό και τον έλεγχο κίνησης, συμπεριλαμβανομένης της γλώσσας προγραμματισμού, των βασικών μπλοκ συναρτήσεων ελέγχου κίνησης, των παραμέτρων διεπαφών εισόδου και εξόδου, κ.λπ. [Σφάλμα επεξεργασίας μαθηματικών] ^{[3]}
[3] Οι λεπτομέρειες του ειδικού κώδικα εφαρμογής παρέχονται από διάφορους κατασκευαστές.





