Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Γ. Νικολακόπουλος, Μ. Κουνδουράκης, Α. Τζες και Γ. Γεωργούλας Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Ρίο, 26500 Πρόλογος Σε αυτή την εργασία παρουσιάζονται οι δυνατότητες που παρέχει το Simulation Interface Toolkit (SIT) το οποίο διατίθεται από την National Instruments ως add-on του LabVIEW και παρέχει τη δυνατότητα για σύνδεση μεταξύ του LabVIEW και του Simulink περιβάλλοντος εργασίας από την MathWorks, To συγκεκριμένο toolkit παρέχει τη δυνατότητα για ανάπτυξη και δοκιμή συστημάτων ελέγχου τα οποία προσομοιώνονται στο περιβάλλον του Simulink, ενώ επιπλέον παρέχει επιλογές πηγών και τερματικών στο χρήστη του Simulink. Στη συνέχεια παρουσιάζονται παραδείγματα στα οποία χρησιμοποιήθηκε το SIT για την προσομοίωση Συστημάτων Αυτομάτου Ελέγχου στο περιβάλλον του LabVIEW Λέξεις κλειδιά: GUI, Control System Design, Simulink, Labview 1. Εισαγωγή Το SIT, το οποίο διατίθεται από την NI ως add on του LabVIEW, παρέχει μια σειρά από διευκολύνσεις και δυνατότητες για τη γεφύρωση του χάσματος μεταξύ της προσομοίωσης και των πραγματικών εφαρμογών. Το παρόν toolkit δίνει την ευκαιρία στο μηχανικό να εκμεταλλευτεί πλήρως τις δυνατότητες για μοντελοποίηση που του παρέχει το γραφικό περιβάλλον της Simulink, το οποίο είναι ένα add on πακέτο για το Matlab της MathWorks, και τη χρησιμοποίηση αυτών των μοντέλων για υλοποίηση πραγματικών εφαρμογών με τη βοήθεια του LabVIEW. Με τη χρήση του μειώνεται σημαντικά ο χρόνος που μεσολαβεί ανάμεσα στην φάση του σχεδιασμού και τη φάση της ενσωμάτωσης σε μία εφαρμογή έτοιμη για λειτουργία. Επιπλέον το SIT επιτρέπει την επαλήθευση των μοντέλων που αναπτύχθηκαν στο Simulink χρησιμοποιώντας εισόδους και εξόδους που παρέχει το LabVIEW, καθώς και τον έλεγχό τους με hardware το οποίο επικοινωνεί άμεσα μέσω του LabVIEW. 2. Εγκατάσταση Για να «λειτουργήσει» το SIT θα πρέπει να βρίσκονται εγκατεστημένα στον υπολογιστή που θα γίνει η ανάπτυξη της εφαρμογής, τα παρακάτω λογισμικά: 1. MathWorks Matlab έκδοση 6.0 ή μεταγενέστερη. 2. MathWorks Simulink έκδοση 4.0 ή μεταγενέστερη. 3. MathWorks Real-Time Workshop έκδοση 4.0 ή μεταγενέστερη. 4. Microsoft Visual C++ έκδοση 5.0 ή μεταγενέστερη. 5. National Instruments LabVIEW έκδοση 6.1 ή μεταγενέστερη. Εφόσον τα παραπάνω προγράμματα έχουν εγκατασταθεί σωστά, θα πρέπει να εκτελεστεί το setup.exe πρόγραμμα που βρίσκεται στο CD της εγκατάστασης του SIT και κατόπιν να ακολουθήσετε τις οδηγίες που εμφανίζονται διαδοχικά στην οθόνη. Για μια πρώτη ένδειξη ότι η εγκατάσταση πραγματοποιήθηκε με επιτυχία ανοίξτε το Matlab και καλέστε το Simulink. Στο παράθυρο του Simulink Library Browser θα πρέπει να έχει Διεύθυνση Επικοινωνίας Επιστημονικής Ομάδας e-mail: gnikolak@ee.upatras.gr 1
προστεθεί το NI Sinks and Sources block (Σχήμα 1). Σχήμα 1: NI Sinks and Sources block Επίσης μετά την εγκατάσταση θα πρέπει να έχει προστεθεί στην παλέτα συναρτήσεων του LabVIEW μία ακόμα υπο-παλέτα (Σχήμα 2) στην οποία το SIT τοποθετεί κάποια VΙs τα οποία προορίζονται για τον έλεγχο των DLL αρχείων τα οποία παράγονται από το Real-Time Workshop και προορίζονται να χρησιμοποιηθούν από το LabVIEW. Όλα τα διαλογικά παράθυρα για τον έλεγχο των παραμέτρων παρέχονται από το VI του LabVIEW (όπως φαίνεται στο Σχήμα 3 για την περίπτωση της βηματικής εισόδου). Η πιο σημαντική δυνατότητα του SIT έγκειται στο ότι παρέχει τη δυνατότητα στο Real-Time Workshop να δημιουργήσει ένα DLL αρχείο το οποίο βασίζεται σε ένα μοντέλο το οποίο έχει αναπτυχθεί στο γραφικό περιβάλλον του Simulink. Το συγκεκριμένο μοντέλο μπορεί στη συνέχεια να «φορτωθεί» στο LabVIEW και να χρησιμοποιηθεί με μια ευρεία γκάμα από I/O λειτουργίες ή και για προσομοίωση στο περιβάλλον του LabVIEW. Τα διαδοχικά βήματα από τη δημιουργία του μοντέλου στο Simulink μέχρι τη χρησιμοποίηση του από κάποιο VI παρουσιάζεται στο Σχήμα 4. Σχήμα 2: Προστιθέμενη υπο-παλέτα μετά την εγκατάσταση του SIT 3. Χαρακτηριστικά του SIT Από το NI Sinks and Sources block μπορείτε να επιλέξετε πηγές και τερματικά τα οποία υποστηρίζονται από το LabVIEW και να τα χρησιμοποιήσετε με τον ίδιο τρόπο που χρησιμοποιείτε τις πηγές και τα τερματικά τα οποία βρίσκονται στο στάνταρτ Sinks and Sources block που παρέχει το Simulink. Στο Σχήμα 3, φαίνεται η χρήση μίας βηματικής πηγής και ενός scope [1] τα οποία βρίσκονται στο NI Sinks and Sources block. Σχήμα 4: Μπλοκ διάγραμμα για τη μετάβαση από το Simulink στο LabVIEW Για τη δημιουργία του DLL ενός μοντέλου θα πρέπει: 1. Να τοποθετηθούν στο μοντέλο import και outpost blocks από το NI Sinks and Sources block. Αυτά τα blocks αντιστοιχούν στις εισόδους και στις εξόδους που παρέχει το DLL. Με άλλα λόγια το LabVIEW χρησιμοποιεί αυτά τα blocks για να στέλνει και να λαμβάνει δεδομένα από το DLL μοντέλο. 2. Από την καρτέλα Solver (που βρίσκεται επιλέγοντας Simulation >>Simulation Parameters) πρέπει να επιλεγεί Fixed-step στο πεδίο Type καθώς η επιλογή Variable-size δεν υποστηρίζεται από το Real-time Workshop (Σχήμα 5). Σχήμα 3. Παράδειγμα χρησιμοποίησης του IN Sinks and Sources block 2
Σχήμα 5. Η καρτέλα Solver 3. Από την καρτέλα Real-time Workshop (που βρίσκεται επιλέγοντας Simulation>>Simulation Parameters) πρέπει να επιλεγεί Target Configuration στο πεδίο Category (Σχήμα 6) και πατώντας το κουμπί Browse να επιλεγεί από τη λίστα nidll.tcl-labview DLL Target (Σχήμα 7) στιγμή χρησιμοποιώντας τη βιβλιοθήκη ftptotarget (Σχήμα 8) η οποία βρίσκεται στο φάκελο που δημιουργείται αυτόματα με τη δημιουργία του DLL και το οποίο περιέχει ένα σύνολο αρχείων πέρα του DLL, τα οποία σχετίζονται με το συγκεκριμένο μοντέλο. Ο προαναφερθείς φάκελος έχει ένα χαρακτηριστικό όνομα, με πρόθεμα το όνομα του μοντέλου και κατάληξη _niddl_rtw πχ example1_ niddl_rtw. Μετά τη δημιουργία του DLL αρχείου ο χρήστης μπορεί να χρησιμοποιήσει την Simulation Interface υπο-παλέτα (Σχήμα 2) για να εισαγάγει το συγκεκριμένο αρχείο στο LabVIEW. Σχήμα 8 Διαλογικό παράθυρο για τη μεταφορά της DLL σε άλλο σύστημα Σχήμα 6. Real-Time Workshop καρτέλα Σχήμα 7. Η καρτέλα επιλογής του παραχθέντος αρχείου 4. Να πατηθεί το κουμπί Build για να αρχίσει η δημιουργία του DLL [2]. Από τη στιγμή που θα δημιουργηθεί το DLL αρχείο ο χρήστης ερωτάται αν θέλει να κατεβάσει το παραχθέν αρχείο σε κάποιο απομακρυσμένο σύστημα. Υπάρχει πάντοτε η δυνατότητα να προβεί ο χρήστης σε αυτή την ενέργεια κάποια άλλη χρονική Να τονισθεί, ότι το LabVIEW παράγει δύο VΙs και τα τοποθετεί στο φάκελο του παραχθέντος DLL. Το πρώτο VI, όνομα μοντέλου _daq_driver.vi είναι μια εφαρμογή λήψης δεδομένων η οποία παίρνει δεδομένα από μία κάρτα λήψης δεδομένων, εισαγάγει τα δεδομένα στο μοντέλο και τα αποτελέσματα τα στέλνει πίσω στην κάρτα (DAQ board). Το δεύτερο μοντέλο αποτελεί μια παραλλαγή του πρώτου μόνο που πλέον τα δεδομένα δεν παρέχονται από κάποια εξωτερική πηγή. 5. Παραδείγματα χρήσης SIT Στο πρώτο παράδειγμα προσομοιώσαμε το δευτεροβάθμιο σύστημα που φαίνεται στο Σχήμα 3 στο LabVIEW χρησιμοποιώντας το παραχθέν DLL. Μελετάμε τη συμπεριφορά του σε μοναδιαία βηματική είσοδο. Όπως φαίνεται και από το Σχήμα 9 το αποτέλεσμα είναι αυτό που είχαμε και στην περίπτωση της προσομοίωσης με τη χρήση του Simulink. 3
Και σε αυτή την περίπτωση και οι δύο προσομοιώσεις έδωσαν τα ίδια αποτελέσματα όπως φαίνεται από τις αποκρίσεις. Σχήμα 9. Αποτέλεσμα προσομοίωσης δευτεροβάθμιου συστήματος. Στο επόμενο παράδειγμα σχεδιάσαμε ένα ελεγκτή τριών όρων (PID controller) στο Simulink (Σχήμα 10), και κατόπιν καλέσαμε το DLL μοντέλο του από το LabVIEW (Σχήμα 11). Και οι δύο προσομοιώσεις έγιναν για μοναδιαία βηματική είσοδο Στο τελευταίο παράδειγμα, έχουμε σχεδιάσει και προσομοιώσει τον έλεγχο ενός αιωρούμενου σφονδύλου με τη χρήση ενός νευρωνικού ελεγκτή (Σχήμα 12). Ειδικά με αυτό παράδειγμα φαίνεται η χρησιμότητα και λειτουργικότητα του SIT. Χρησιμοποιώντας το Simulink επιτυγχάνουμε το σχεδιασμό και την εκπαίδευση του νευρωνικού ελεγκτή. Στη συνέχεια είμαστε σε θέση να χρησιμοποιήσουμε το συγκεκριμένο μοντέλο εισάγοντας το στο LabVIEW. Σχήμα 12. Προσομοίωση και έλεγχος αιωρούμενου σφονδύλου με τη χρήση νευρωνικού ελεγκτή Σχήμα 10. Simulink μοντέλο για PID ελεγκτή και απόκριση συστήματος Στην Σχήμα 13 απεικονίζονται οι γραφικές παραστάσεις της διακύμανσης του διακένου και του σήματος ελέγχου, για βηματική είσοδο. Σχήμα 13. Αποτελέσματα προσομοίωσης μέσω της χρησιμοποίησης στο LabVIEW το DLL μοντέλο του νευρωνικού ελεγκτή Σχήμα 11. Απόκριση κλειστού συστήματος με τη χρήση του DLL μοντέλου στο LabVIEW 7. Συμπεράσματα 4
Το SIT αποτελεί ένα εύχρηστο add-on εργαλείο για το LabVIEW το οποίο παρέχει πολλές δυνατότητες για την γρήγορη ανάπτυξη πρωτότυπων με μελλοντικό στόχο την χρησιμοποίηση τους σε πραγματικές εφαρμογές. Στην παρούσα εργασία ασχοληθήκαμε με τον τρόπο με τον οποίο μπορούμε να προσομοιώσουμε συστήματα αυτομάτου ελέγχου και με τη σύγκριση των αποτελεσμάτων της προσομοίωσης με τη χρήση του μοντέλου που αναπτύξαμε στο Simulink και της προσομοίωσης από το LabVIEW χρησιμοποιώντας το παραχθέν DLL μοντέλο. 8. Βιβλιογραφία [1] LabVIEW User Manual. January 1998, Part Number 320999B-01 [2] LabVIEW Simulation Interface Toolkit Manual. October 2002, Part Number 370420A-01. 5