• Nenhum resultado encontrado

Βασικές τροποποιήσεις βελτίωσης της λειτουργικότητας και των δυνατοτήτων του προγράμματος "NEAPOLIS"

N/A
N/A
Protected

Academic year: 2023

Share "Βασικές τροποποιήσεις βελτίωσης της λειτουργικότητας και των δυνατοτήτων του προγράμματος "NEAPOLIS""

Copied!
89
0
0

Texto

(1)

Τ.Ε.Ι. ΚΑΒΑΛΑΣ

ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ

ΒΑΣΙΚΕΣ ΤΡΟΠΟΠΟΙΗΣΕΙΣ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ ΚΑΙ ΤΩΝ ΔΥΝΑΤΟΤΗΤΩΝ ΤΟΥ

ΠΡΟΓΡΑΜΜΑΤΟΣ "NEAPOLIS"

Του σπουδαστή ; Χατζηκωνσταντίνου Κωνσταντίνου Εισηγητής : Καθηγητής Δρ. Γιώργος I. Κυραναστάσης

ΚΑΒΑΛΑ 1994

(2)

Τ.Ε.Ι. Κ A Β A Λ A Ζ Ι Τ Ε Φ Τμήμα Ηλ4κ-ρολογΙας

Αφιερώνεται στους γονείς μου

(3)

Π Ρ Ο Λ Ο Γ Ο Σ

Η πτυχιακή αυτή εργασία πραγματοποιήθηκε ως απαραίτητο συμπλήρωμα των σπουδών μου στο Τμήμα Ηλεκτρολογίας του Τ.Ε.Ι.

Καβάλας. Το θέμα της είναι οι βασικές τροποποιήσεις βελτίωσης της λειτουργικότητας και των δυνατοτήτων του προγράμματος "ΝΕΑΠΟΛΙΣ".

Η εργασία εντάσεται στα πλαίσια ερευνητικού προγράμματος με σκοπό την χρησιμοποίησή του ώς μέσω εκπαίδευσης των σπουδαστών - φοιτητών στους ηλεκτρικούς κινητήρες, τους ηλεκτρικούς μετατροπείς ισχύος και τα ηλεκτρικά κινητήρια συστήματα.

Την ανάπτυξη του προγράμματος ΝΕΑΠΟΛΙΣ έκανε ο Δρ.

Ηλεκτρολόγος Μηχανικός Γ.Κυραναστάσης Καθηγητής του Τ.Ε.Ι. Καβάλας.

Η εργασία αυτή περιλαμβάνει 5 κεφάλαια στα οποία γίνεται λεπτομερή αναφορά των τροποποιήσεων που πραγματοποιήθηκαν.

Στο 1ο Κεφάλαιο γίνεται μία εισαγωγή στο πρόγραμμα ΝΕΑΠΟΛΙΣ, αναφέροντας κάποια στοιχεία σχετικά με τις δυνατότητές του.

Στο 2ο Κεφάλαιο γίνεται μία αναλυτική παρουσίαση της δομής του προγράμματος. Αναλύονται οι ρουτίνες που χρησιμοποιούνται (αυτές που καθορίζουν το περιβάλλον του) μέσα από την ροή του προγράμματος, με την βοήθεια κάποιων οθονών από το πρόγραμμα του Ασύγχρονου Τριφασικού Κινητήρα.

Στο 3ο Κεφάλαιο παρουσιάζονται μερικές από τις τροποποιήσεις που πραγματοποιήθηκαν. Δηλαδή η αυτόματη ανίχνευση της κάρτας γραφικών που διαθέτει ο Η/Υ, η εισαγωγή χρωμάτων στο πρόγραμμα και η μείωση του χώρου της μνήμης που χρησιμοποιείται για την αποθήκευση τιμών.

Στο 4ο Κεφάλαιο παρουσιάζονται οι τροποποιήσεις που πραγματοποιήθηκαν στο τμήμα της Ανασχεδίασης Στιγμιαίων Τιμών και που αποτελούν το βασικό κομμάτι της παρούσας πτυχιακής εργασίας. Για την κατανόησή τους χρησιμοποιήθηκαν οθόνες από το πρόγραμμα του Τριφασικού ΚΣ Μετατροπέα Συχνότητας - Ασύγχρονου Κινητήρα.

Στο 5ο Κεφάλαιο, τέλος, παρουσιάζονται κάποια τυπικά αποτελέσματα και δίνονται κάποιες οδηγίες σχετικά με το τρόπο λειτουργίας του τμήματος της ανασχεδίασης.

Για την ολοκλήρωση αυτής της πτυχιακής εργασίας χρησιμοποιήθηκαν οι Ηλεκτρονικοί Υπολογιστές του Εργαστηρίου Ηλεκτρονικών Ισχύος και Ηλεκτρικής Κίνησης, καθώς και τα περιφερειακά τους, οι εκτυπωτές Epson LQ-570 & HP LaserJet III.

Επιπλέον χρτισιμοποιήθηκαν, η γλώσσα προγραμματισμού Basic Compiler 7.1 της Microsoft, τα Windows 3.1, το Word 2.0 & 6.0 for Windows και οι εφαρμογές Paint Shop Pro, PaintBrush, Grabit, Grab.

(4)

Ολες οι παραπάνω εφαρμογές χρησιμοποιήθηκαν μεσω του δικτύου Novell NetWare v3.12 πέντε (5) θέσεων.

Ευχαριστώ θερμά τους γονείς μου για την συμπαράσταση που επέδειξαν σε όλη τη διάρκεια των σπουδών μου.

Ευχαριστώ τον εισηγητή του θέματος Καθηγητή κ. Γιώργο I.

Κυραναστάση για την πολύτιμη βοήθεια και χρόνο που μου προσέψερε . Τον ευχαριστώ, κυρίως όμως, για την πολύτιμη ευκαιρία που μου έδωσε, να ασχοληθώ με το αντικείμενο που με ενδιαφέρει περισσότερο, τους Ηλεκτρονικούς Υπολογιστές.

X ατζηκωνσταντίνου Κωνσταντίνος

(5)

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α I Κ Ε Φ Α Λ Α ΐδ Τ"

Η εξομοίωση στην εκπαίδευση...

Τι είναι το Ν ΕΑ Π Ο ΛΙΣ...

1.2.1 Γενικά...

1.2.2 Τα προγράμματα εξομοίωσης 1.2.3 Το πρόγραμμα...

1.1 1.1 1.1 1.2 I Κ Ε Φ Α Λ Α ΙΟ ^

2.1 2.2 2.3

Ανάλυση δομής προγράμματος . Ροή προγράμματος...

Ανάλυση δομής...

2.3.1 Main Module ..

2.3.1.1 2.3.1.2 2.3.1.3 2.3.1.4 2.3.1.5 2.3.2 Harmonic.bas 2.3.3 Graphics.bas...

2.3.4 Heipkeys.bas...

2.3.5 Replot.bas...

2.3.6 Modules συστήματος 2.3.7 Αρχεία πληροφοριών Παρατηρήσεις...

Επανεπιλογή παραμέτρων...

Διαδικασία υπολογισμών γραφικών παραμέτρων ...

Διαδικασία εξομοίωσης συστήματος ..

Λειτουργίες ^ηθητικών πλήκτρων ....

Υπόλοιπες ρουτίνες...

2.1 2.1 2.3 2.3 2.3 2.7 2.9 2.10 2.13 2.14 2.15 2.17 2.18 2.20 2.21 2.22 I Κ Ε Φ Α Λ Α ΐδ Τ "

3.1 Εισαγωγή στις τροποποιήσεις...

3.2 Εισαγωγή χρωμάτων στο Ν ΕΑ Π Ο ΛΙΣ...

3.3 Αυτόματη ανίχνευση κάρτας γραφικών . 3.4 Αποθήκευση τιμ ώ ν ...

3.1 3.1 3.5 3.6 I Κ ΕΦ Α ΛΑ ΙΟ Χ "

4.1 4.2

Εισαγωγή στην ανασχεδίαση... ... 4.1 Τροποποιήσεις... ... 4.1 4.2.1 Ρουτίνα TimeValProcessing... 4.1 4.2.2 Ρουτίνα VariablePlotCtontrol... . 4.17 4.2.3 Ρουτίνα ProccessVarValues... 4.24 4.2.4 Ρουτίνα PlotAxisProccesing... . 4.25 4.2.5 Ρουτίνα MaxMinYTimeValues... 4.27 4.2.6 Ρουτίνα DoXAxis... 4.27 4.2.7 Ρουτίνα DoYAxis... 4.28 4.2.8 Ρουτίνα AnnXAxis... 4.28 4.2.9 Ρουτίνα AnnYAxis... 4.30 4.2.10 Ρουτίνα AxisText... 4.31 4.2.11 Ρουτίνα PlotTimeValues... . 4.32 4.2.12 Ρουτίνα DrawAxis... . 4.32 Επιμέρους τροποποιήσεις... 4.33 4.3.1 Προσθήκη μηνυμάτων... 4.33 4.3.2 Διτλώσεις νέων μεταβλητών - πινάκων... ... 4.34

(6)

I ΚΕΦΑΛΑΙΟ 5

5.1 Γενικά... 5.1 5.2 Ανασχεδίαση Στιγμιαίων Τ ιμ ώ ν ... 5.1 4 .3 .3 Δ υ ν α τ ό τ η τ α β ο ή θ ε ι α ς ... 4 .3 4

(7)

Ρ Φ Α Λ Α ΙΟ I

ΕΙΣΑΓΩΓΗ ΣΤΟ

NEAPOLIS

(8)

Κ Ε Φ Α Λ Α Ι Ο 1

1.1 Η Ε Ξ Ο Μ Ο ΙΩ Σ Η ΣΤ Η Ν Ε Κ Π Α ΙΔ Ε Υ Σ Η

Η εξομοίωση είναι μία διαδικασία με την οποία ένα πραγματικό σύστημα αντικαθιστάται για λόγους μελέτης με ένα μοντέλο του, το οποίο συνήθως είναι ένα σύστημα εξισοόσεων που περιγράφει την συμπεριφορά του πραγματικού συστήματος.

Ανάλογα με το χρησιμοποιούμενο μοντέλο, περιγράφεται και η συμπεριφορά του συστήματος στην αντίστοιχη κατάσταση λειτουργίας.

Μια απλή μόνιμη κατάσταση περιγράφεται με απλά μαθηματικά μοντέλα αλγεβρικών εξισώσεων που λύνονται σχετικά εύκολα.

Η περιγραφή της λειτουργίας σε όλες τις δυνατές καταστάσεις απαιτεί την χρησιμοποίηση γενικών μοντέλων, μάλλον πολύπλοκων διαφορικών εξισώσεων, που σχετίζονται με χρονικά μεταβαλλόμενα συστήματα. Ενα τέτοιο μοντέλο παρέχει εξαιρετικές δυνατότητες πειραματισμού, πολύ περισσότερες από εκείνες του εργαστηριακού πειραματισμού χωρίς κανένα κίνδυνο τόσο για τον ασκούμενο, όσο και για τον χρησιμοποιούμενο εξοπλισμό.

Με την κατάλληλη οργάνωση του πειραματισμού στο μοντέλο και την χρήση του υπολογιστή στην επεξεργασία και την εμφάνιση των αποτελεσμάτων μπορεί να αυξηθεί σημαντικά τόσο η ποσότητα της παρεχόμενης γνώσης, όσο και η ταχύτητα μάθησης και να βελτιωθεί ταυτόχρονα η ποιότητα των παρεχόμενων γνώσεων. Το τελικό αποτέλεσμα δεν θα είναι άλλο από την αύξηση της παραγωγικότητας στην εκπαίδευση.

1.2 ΤΙ ΕΙΝ Α Ι Τ Ο Ν ΕΑ Π Ο Λ1Σ

Το ΝΕΑΠΟΛΙΣ είναι πρόγραμμα εκπαίδευσης με υπολογιστή, μέσα από το οποίο εξομοιώνονται ηλεκτρικοί κινητήρες, ηλεκτρικοί μετατροπείς ισχύος και ηλεκτρικά κινητήρια συστήματα.

Το πρόγραμμα χρησιμοποιεί γνωστά μαθηματικά μοντέλα, τα οποία έχουν προσαρμοστεί και επεκταθεί, έτσι ώστε να μπορούν να χρησιμοποιούν στην εκπαίδευση. Αποτελείται από είκοσι δύο (22) προγράμματα εξομοίωσης, τέσσερα (4) ηλεκτρικών κινητήρων, εννέα (9) ηλεκτρικών μετατροπέωνισχύος και εννέα (9) ηλεκτρικών κινητήριων συστημάτων.

Τα προγράμματα αυτά έχουν ένα κοινό περιβάλλον και προς το παρόν περιορίζονται στην ανάπτυξη ενός μοντέλο και στην επίδειξη της συμπεριφοράς του. Για την ανάπτυξη των προγραμμάτων, χρησιμοποιήθηκε η γλώσσα Basic Compiler 7.1 της Microsoft.

1 .2 .2 Τ Α Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Α Ε Ξ Ο Μ Ο ΙΩ Σ Η Σ

Τα προγράμματα εξομοίωσης χριησιμοποιούν μοντέλα συστημάτων (ηλεκτρικών κινητήρων, ηλεκτρικών μετατροπέων ισχύος κ.α.) στην

(9)

Κ Ε Φ Α Λ Α Ι Ο 1

μεταβατική κατάσταση, με σκοπό την εξομοίωσή τους και την επίδειξή τους στον χρήστη.

Μέσα από αυτά τα προγράμματα, μπορεί ο χρήστης να πειραματισθεί επάνω στα συστήματα, για να παρακολουθήσει την συμπεριφορά τους όχι μόνο στην μόνιμη κατάσταση, αλλά και στην μεταβατική.

Βασική προϋπόθεση όμως, στην χρήση του προγράμματος, αποτελεί η κατοχή κάποιων βασικών γνώσεων, σχετικά με το σύστημα που εξομοιώνεται, από τη μεριά του χρήστη. Ετσι μπορεί ο τελευταίος να αντιλαμβάνεται όσα συμβαίνουν κατά την διάρκεια της εξομοίωσης.

1 .2 .3 Τ Ο Π Ρ Ο Γ Ρ Α Μ Μ Α

Το πρόγραμμα αποτελείται από πολλά επιμέρους τμήματα, τα οποία αποτελούν και το περιβάλλον του, στο οποίο γίνεται και η εξομοίωσή του συστήματος. Στην συνέχεια κάνουμε μία συνοπτική αναφορά στα τμήματα αυτά.

1. Εμφάνιση γραφικών

Τα είδη των οθονών του προγράμματος είναι η οθόνες εξομοίωσης, ανασχεδίασης αποτελεσμάτων και αρμονικής ανάλυσης.

Η οθόνες εξομοίωσης είναι το βασικό μέσο επίδειξης του εξομοιωμένου συστήματος. Αποτελούνται από πολλές σελίδες (ανάλογα την κάρτα γραφικών), ενώ χωρίζεται σε έως και οχτώ (8) περιοχές στις οποίες σχεδιάζονται οι μεταβλητές (μεγέθη) του συστήματος.

Σε κάθε περιοχή σχεδιάζεται ένα σύστημα αξόνων πάνω στο οποίο σχεδιάζεται η καμπύλη.

Οι οθόνες ανασχεδίασης αποτελούν μέσο μελετης των αποτελεσμάτων της εξομοίωσης. Χωρίζονται σε έως και τέσσερις (4) περιοχές με δυνατότητα να σχεδιαστούν έως και δώδεκα καμπύλες ταυτόχρονα. Φυσικά σε κάθε περιοχή σχεδιάζονται και οι κατάλληλοι άξονες.

Οι οθόνες αρμονικής ανάλυσης είναι τριών ειδών και δείχνουν το πεδίο χρόνου σε μία περίοδο, τα μέτρα και τις φάσεις των υπολογιζόμενων μεταβλητών (μεγεθών).

Αποτελούνται από μία περιοχή πάνω στην οποία σχεδιάζονται οι κατάλληλοι άξονες, ενώ οι τιμές εμφανίζονται με την μορφή ευθειών από το σημείο στον άξονα X.

2. Μηνύματα

Το πρόγραμμα χρησιμοποιεί μία σειρά μηνυμάτων, για την καλύτερη και ευκολότερη λειτουργία του. Οι γλώσσες τις οποίες υποστηρίζει το πρόγραμμα είναι η Ελληνική, η Αγγλική και η Γερμανική.

(10)

Κ Ε Φ Α Λ Α Ι Ο 1

Η επιλογή της γλώσσας γίνεται στην αρχή και δεν αλλάζει στην συνέχεια.

3. Παράμετροι προγράμματος - συστήματος

Για την λειτουργία του προγράμματος είναι απαραίτητη η εισαγωγή κάποιων παραμέτρων, σχετικά με το σύστημα ή το πρόγραμμα. Η αλλαγή των παραμέτρων αυτών μπορεί να γίνει στην αρχή του προγράμματος.

4. Βοήθειες

Μηνύματα βοήθειας και πληροφορίες για το πρόγραμμα δίνονται καθ' όλη την διάρκεια εκτέλεσης του προγράμματος με διάφορους τρόπους. Είτε σαν μηνύματα επιλογής, είτε σαν βοήθειες (πλήκτρο W), είτε στην εισαγωγική οθόνη του προγράμματος.

5. Πλήκτρα ελέγχου

Στην διάρκεια της εξομοίωσης στην αριστερή μεριά της οθόνης εμφανίζεται ένας κατάλογος με τα βοηθητικά πλήκτρα του προγράμματος. Τα πλήκτρα αυτά χωρίζονται σε τρείς (3) κατηγορίες.

Τα πλήκτρα ελέγχου ροής (F1 - F5), τα πλήκτρα μεταβολών παραμέτρων του εξομοιωμένου συστήματος (F6 - F10) καθώς και τα αλφαριθμητικά πλήκτρα (Q, W).

6. Χειρισμός σφαλμάτων

Κατά τη εκτέλεση του προγράμματος είναι δυνατή η αναγνώριση κάποιων σφαλμάτων. Επειδή όλα τα σφάλματα δεν μπορούν να αναγνωριστούν κατά την μεταγλώτισή του, τοποθετήθηκαν ειδικά τμήματα προγράμματος ελέγχου και αναγνώρησης σφαλμάτων στο τέλος του κυρίως προγράμματος αλλά και της κάθε ρουτίνας.

Ετσι γίνεται ευκολότερος ο εντοπισμός του σφάλματος και η διόρθωσή του.

7. Εκτυπώσεις

Εκτύπωση μπορεί να ζητηθεί καθ' όλη την διάρκεια του προγράμματος. Εκτυπώσεις κειμένου γίνονται εύκολα και γρήγορα, ενώ η εκτύπωση γραφικών είναι διαδικασία σχετικά αργή.

Εκτυπώσεις γίνονται μόνο σε εκτυπωτές Dot Matrix ενώ για άλλους, χρειάζεται τροποποίιιση στη ρουτίνα εκτύπωσης οθόνης.

8 Επεξεργασία αποτελεσμάτων εξομοίωσης

Στο τέλος κάθε διαστήματος εξομοίωσης μπορεί να γίνει επεξεργασία των αποτελεσμάτων. Μπορεί να γίνει ανασχεδίαση των καμπύλών των μεγεθών σε όλο το χρόνο εξομοίωσης ή σε κάποια επιλεγμένη χρονική περίοδο εξομοίωσης.

(11)

Κ Ε Φ Α Λ Α Ι Ο 1

Η ανάλυση των αρμονικών είναι μία ακόμη επιλογή. Ορισμένες από τις μεταβλητές (μεγέθη) της εξομοίωσης μπορούν να αναλυθούν και να υπολογιστούν οι αρμονικές τους με την γνωστή μέθοδο Fourier.

(12)

ρφΑΛΑΙΟ 2

ΑΝΑΛΥΣΗ ΔΟΜΗΣ

ΠΡΟΓΡΑΜΜΑΤΟΣ

(13)

Κ Ε Φ Α Λ Α Ι Ο 2

2.1 Α Ν Α Λ Υ Σ Η Δ Ο Μ Η Σ Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ο Σ

Σ' αυτό το κεφάλαιο θα γίνει μία αναφορά στην δομή του προγράμματος ΝΕΑΠΟΛΙΣ. Για την ανάπτυξη του προγράμματος χρησιμοποιήθηκε η γλώσσα Basic Compiler 7.1 ττις Microsoft.

Επειδή το πρόγραμμα σε γλώσσα BASIC ήταν εξαιρετικά εκτεταμένο και δεν μπορούσε να μετατραπεί σε κώδικα χωρίστηκε σε MODULES.

Το κυρίως πρόγραμμα είναι κοινό σε όλα τα προγράμματα, εκτός από το τμήμα προκαθορισμού των παραμέτρων του συστήματος και του περιεχομένου των ρουτινών που χρησιμοποιούνται για τον ορισμό του συστήματος που εξομοιώνεται.

Ετσι τα MODULES που χρησιμοποιούνται, είναι χωρισμένα σε τρεις (3) κατηγορίες και είναι οι εξής :

Η πρώτη κατηγορία είναι τα MODULES που είναι κοινά, ανεξάρτητα από το σύστημα που εξομοιώνεται. Τα MODULES αυτά είναι τα εξής ; Replot.bas, Harmonic.bas, Graphics.bas, Heipkeys.bas .

H δεύτερη κατηγορία είναι τα κυρίως MODULES (MAIN MODULES).

Τα ονόματά τους περιέχουν το συνθετικό Sy (System), ενώ τα υπόλοιπα γράμματα χαρακτηρίζουν το είδος του συστήματος, δηλ S y? ?? ? ?? .b a s .

Π.χ. στο πρόγραμμα του 3φασικού ασύγχρονου κινητήρα (ΤΑΚ) ονομάζεται Syindmol.bas, ενώ στο 3φασικού ΚΣ μετατροπέα συχνότητας - ασύγχρονου κινητήρα (ΤΚΣΜΣ-ΑΚ) Syfc3mot.bas.

Τέλος η τρίτη κατηγορία είναι τα MODULES συστήματος, ο αριθμός των οποίων εξαρτάται από το είδος του συστήματος που εξομοιώνεται, καθώς επίσης και τα ονόματά τους. Π.χ. στον ΤΑΚ έχουμε ένα (1) MODULE Indmotol.bas, ενώ στον ΤΚΣΜΣ-ΑΚ έχουμε τρία (3) MODULES Indmotom.bas (κινητήρα), Ph3invrm.bas (3φασικό αντιστροφέα) και Ph3rectm.bas (3φασικό μετατροπέα).

Υπάρχουν επίσης και τα MODULES όπου υπάρχουν οι δηλώσεις των κοινών μεταβλητών και διαστάσεων των πινάκων που χρησιμοποιούνται στο πρόγραμμα, τα ComBlock.bi, Sycomblk.bi και Sydimblk.bi.

Τέλος υπάρχουν και κάποια αρχεία TE X T τα οποία είναι τα αρχεία βοηθειών του προγράμματος καθώς και τα αρχεία για τα μηνύματά του.

2 .2 ΡΟ Η Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ο Σ

Σ'αυτό το σημείο θα κάνουμε μία περιληπτική αναφορά στη ροή του προγράμματος, αναλύωντας τις ρουτίνες. Ξεκινώντας στο κυρίως πρόγραμμα γίνονται οι δηλώσεις όλων των ρουτινών του προγράμματος.

Στη συνέχεια του δίνονται οι προεπιλεγμένες παράμετροι (Default data ) σε όλες τις μεταβλητές που έχουν σχέση με το σύστημα που εξομοιώνεται.

(14)

Κ Ε Φ Α Λ Α Ι Ο 2

Αμέσως μετά ερχόμαστε στο κομμάτι της αλλαγής των παραμέτρων του προγράμματος, μέσα από διάφορες οθόνες επιλογής, ενώ στη συνέχεια περνάμε στο κομμάτι του προγράμματος, όπου γίνεται η εξομοίωση.

Τέλος, αφού τελειώσει η εξομοίωση, περνάμε στο τελευταίο κομ­

μάτι του προγράμματος, το κομμάτι της ανασχεδίασης και του υπολογισμού των αρμονικών.

2.3_^ΑΝΑΔΥΣΚ ΤΗΣ ΔΟΜΗΣ 2.3J_MA1N MODULE

Ζ ^ 1 _ Ε Π Α Ν Ε Π ΙΛ Ο Γ Η ΠΑΡΑΜΕΤΡΩΝ

Και τώρα μπορούμε να δούμε αναλυτικά την δομή του προγράμματος. Η όλη διαδικασία που προαναφέραμε πραγματοποιείται μέσα στο κυρίως τμήμα ( MAIN MODULE ) του προγράμματος.

Στο κυρίως πρόγραμμα αρχικά δίνονται τιμές σε κάποιες μεταβλητές (DEFAULT VALUES) με την χρήση των εντολών ττις QUICK BASIC, Read - Data. Στη συνέχεια καλεί την ρουτίνα RdMesText (MAIN M O D U L E ),η οποία φορτώνει τα μηνύματα του προγράμματος στα αγγλικά.

Η παραπάνω ρουτίνα ανοίγει τα αρχεία με τα μηνύματα του προγράμματος και φορτώνει τα περιεχόμενά τους σε αντίστοιχους πίνακες, στην επιλεγμένη γλώσσα. Οι πίνακες αυτοί είναι οι GraTextSQ.

H arTextSO, RepTextSO. HelText$0. SysTextSQ και IndTextSO- Ακόμη στην ίδια ρουτίνα, σε περίπτωση μη αποδεκτής επιλογής γλώσσας (μη υπάρχουσας), γίνεται επανεπιλογή. Η μεταβλητή που χρησιμοποιείται είναι η LanguageConst%. Οι διαθέσιμες γλώσσες είναι η Ελληνική, η Αγγλική και η Γερμανική.

Στην τελευταία έκδοση του ΝΕΑΠΟΛΙΣ υπάρχει η δυνατότητα, το ίδιο το πρόγραμμα να ανιχνεύει την κάρτα γραφικών της οθόνης που διαθέτει ο Η/Υ. Η διαδικασία αυτή γίνεται με την κλήση της ρουτίνας GetConfig (G R A P H IC S .B A S ).

Η συγκεκριμένη ρουτίνα μέσα απο μία παγίδα λάθους (Εαλολ trap ) μέσα σε έναν βρόγχο ανιχνεύει την διαθέσιμη κάρτα, και δίνει το καλύτερο mode (BestMode%).

Στη συνέχεια καλείται η ρουτίνα SetConfig (G R A P H IC S .B A S ), η οποία καθορίζει τις παραμέτρους της κάρτας όπως, την ανάλυσή της, τον αριθμό των γραμμών, στηλών, σελίδων κ.α. Η μεταβλητή εισαγωγής είναι m odes% που δίνει το mode της κάρτας.

Συνεχίζοντας στο πρόγραμμα καλείται η ρουτίνα ProTitleScreen (MAIN M O D U LE), η οποία εμφανίζει την οθόνη τίτλου προγράμματος, πριν να τρέξει το πρόγραμμα εξομοίωσης. Οι επικεφαλίδες που εμφανίζονται βρίσκονται στο πίνακα SysTextSQ.

(15)

Κ Ε Φ Α Λ Α Ι Ο 2

Η παραπάνω ρουτίνα κάνει χρήση της ρουτίνας FrameTitle (MAIN M O D U L E ), η οποία σχεδιάζει το περίγραμμα της οθόνης τίτλου προγράμματος, καθώς επίσης και της. ρουτίνας ColorAdaptor (G R A P H IC S .B A S ), για την εισαγωγή χρωμάτων (οθόνη 2.1).

Με την εμφάνηση της οθόνης τίτλου προγράμματος, ο χρήστης μπορεί να επιλέξει την αλλαγή της γλώσσας, στην οποία είναι γραμμένα τα μηνύματα με τη βοήθεια της ρουτίνας LinePrint (MAIN M O D ULE), η οποία εμφανίζει το μήνυμα της επιλογής. Η μεταβλητή που χρησιμοποιεί είναι η LineTextS στην οποία αποθηκεύεται το μήνυμα που πρέπει να εμφανιστεί.

Αν γίνει τελικά γίνει αλλαγή της γλώσσας από τον χρήστη τότε καλείται η ρουτίνα RdMesText, που αναφέραμε παραπάνω.

Οθόνη 2.1 Οθόνη τίτλου προγράμματος

Κατόπιν φορτώνονται όλα τα μεγέθη, που υπολογίζονται και στχεδιάζονται οι τιμές τους, κατά την εξομοίωση, και αποθηκεύονται στο πίνακα PlotVarNameSO- Η "λίστα" με τις μεταβλητές είναι διαφορετική για κάθε πριόγραμμα εξομοίωσης. Η παραπάνω διαδικασία πραγματο­

ποιείται με την κλήση της ρουτίνας SystemVariableList (MAIN M O D U L E ).

Η παραπάνω ρουτίνα ακόμη χρησιμοποιεί τους πίνακες P lotV a rPa ge% 0 (αποθηκεύεται ο αριθμός σελίδας στην οποία θα τοποθετηθεί στην διάρκεια της εξομοίωσης το μέγεθος), PlotVarArea% 0 (αποθηκεύεται ο αριθμός περιοχής).

Επίσης τους πίνακες PlotVarMaxImQ (μεγίστη τιμή μεγέθους) και PlotVarMlnImO (ελάχιστη τιμή μεγέθους) καθώς και τον LabVar$0 (αποθηκεύεται το σύμβολο κάθε μεγέθους). Παράδειγμα δίνεται στην οθόνη 2.2.

(16)

Κ Ε Φ Α Λ Α Ι Ο 2

Ακόμη αποθηκεύει, τα μεγέθη για την σχεδίαση των ενεργών τους τιμών στον πίνακα Rm sVarNam e$0 (από πίνακα IndTextSQ) και τα μεγέθη στα οποία μπορεί να γίνει ή όχι αρμονική ανάλυση, στον πίνακα PlotV a rH a rm % 0 - Αν η τιμή είναι ένα (1) τότε γίνεται αρμονική ανάλυση, ενώ αν είναι μηδέν (0) όχι.

Εφόσον τελείωσει και η παραπάνω διαδικασία καλείται η ρουτίνα AboutPro (MAIN M O D U LE), η οποία εμφανίζει πληροφορίες σχετικά με το πρόγραμμα. Οι πληροφορίες αυτές εμφανίζονται με την χρήση των πινάκων S ysTe xt$ Q & IndTextSQ (αρχεία 7systext.txt & 7indtext.txt) . Για τα αρχεία αυτά θα αναφερθούμε στη συνέχεια.

] I K0S Aaij^xpouos Κ ι υ Pk>lV«ArB3r.!1)=1

libViiSd)

t. P!c>.VifA!e2r.r2)=2 LabViiia)

Ρ0Η-ΠΡ0ΓΡ Ρΐ;ΕηοΣεΛ Ρ2:ΕμιρΤιμ Ε3:ΕκτΣεΛ Ε4:Προύια Ε 5:0ριύια ΜΕΤΑΒΟΛΕΣ F 6 : ΤααΤρο F7 :ΣυχΤρο F 8 :ΑμτΟΛι F9 :Ροπ4ορ F1Q:Παρα5 ΙΑύΙΚΑΣΙ Κλειδιά Βοή3εια

Ο θ όνη 2 .2 Παράδειγμα χρησιμότητας των παραμέτρων της ρουτίνας System VariableL ist

Ταυτόχρονα εμφανίζεται και ένα πλαίσιο με την βοήθεια της ρουτίνας Frame (MAIN M O D U LE). Στη ρουτίνα αυτή δίνονται οι συντεταγμένες ( σε γραμμές και στήλες) για την σχεδίαση του πλαισίου.

Ακολούθως στη ρουτίνα AboutPro γίνεται και ο κατάλληλος χρωματισμός της οθόνης με την κλήση της ρουτίνας ColorAdaptor (οθόνη 2.3).

Συνεχίζοντας φτάνουμε σε μια βασική ρουτίνα του προγράμματος την SystemReselect (MAIN M O D U LE). Με την κλήση αυτής της ρουτί­

νας δίνεται η δυνατότητα στον χρήστη να αλλάξει κάποιες παραμέτρους του προγράμματος, καθώς και του συστήματος που εξομοιώνεται. Η συγκεκριμένη ρουτίνα καλεί άλλες ρουτίνες για διαφορετικό σκοπό η καθεμία.

Ο αριθμός των ρουτινών, καθώς επίστις και οι ίδιες οι ρουτίνες διαφέρουν από πρόγραμμα σε πρόγραμμα. Οι ρουτίνες αυτές βρίσκονται στα MODULES συστήματος και τα τρία πρώτα γράμματα των ονομάτων τους περιέχονται στα ονόματα των παραπάνω, και καταλήγουν σε S e le ct.

(17)

Κ Ε Φ Α Λ Α Ι Ο 2

Τριιροσίκάς Ασύνχρουος Κίυητήρος =

Γ ιο το Πρόνρσννο αυτό . . .

Αυτό το Πρόγραμμα είυαι Ε ζο ^ιω τή ς 3-ιροσικού Ασύγιφουου Κινητήρα 0 χρήστης 1. ΕπιΑέγει Κινητήριο Εύστημα (Τροιροδοσ ίο. Κινητήρας. Φορτίο)

> 2. ΒΛέπει την απόδοση του επιλεγμένου συστήματος σε μετοίίατικές

■ ή μόνιμες καταστάσεις, μέσΜ των κυματομορφΰυ που προκύπτουν από την λύση των διοιρορικΰυ εξισώσεων συναρτήσει του χρόνου . Αλλάζει παραμέτρους του συστήματος και βλέπει τ ις αλλαγές

που προκύπτουν στην απόδοση του συστήματος

Ανασχεδιόζει την απόδοση του συστήματος μετά την εζομο ίωιπι Αναλύει κυματομοριρές του συστήματος για υπολογισμό αρμονικών

HsYsua hsiTexlifW

Ο θ ό ν η 2 .3 Μερικά από τα σχόλια της οθόνης γενικών πληροφοριών του προγράμματος Για παράδειγμα, στον ΤΑΚ οι ρουτίνες είναι οι IndMotSupplySelect (επιλογή τροφ. κινητήρα), IndMotorSelect (επιλογή κινητήρα), IndMotLoadSelect (επιλογή φορτίου), και IndMotStartSelect (επιλογή εκκίν. κινητήρα), στο MODULE Indm otolbas.

Ενώ για το ΤΚΣΜΣ-ΑΚ οι ρουτίνες είναι οι PhSRecSupplySelect (επιλογή τροφοδοσίας μετατροπέα) και Ph3RecSelect (επιλογή μετατροπέα) στο MODULE Pharectm.bas, lnv3ForComSelect (επιλογή αντιστροφέα), στο MODULE Pheinyrm.bas και IndMotorSelect (επιλογή κινητήρα) και IndMot LoadSelect (επιλογή φορτίου κινητήρα) στο MODULE Indmotom.bas.

Εκτός, όμως, των παραπάνω ρουτινών, υπάρχουν και κάποιες κοινές ρουτίνες, για όλα τα προγράμματα.Μία από όλες είναι η ProParamSelect (G R A P H IC S .B A S ), η οποία χρησιμοποιείται για την επιλογή παραμέτρων προγράμματος όπως, περιόδων εξομοίωσης, σημείων ανά περίοδο, οδηγό αποθήκευσης δεδομένων κ.α. Για τα μυνήματα χρησιμοποιείται ο πίνακας GraTextS O (οθόνη 2.4).

Μια δεύτερη ρουτίνα είναι και η PlotScreenSelect (G R A P H IC S .B A S ). Η χρησιμότητα της ρουτίνας είναι ότι, μπορεί να δώσει την δυνατότητα στον χρήστη, να αλλάξει τον τύπο της κάρτας γραφικών που χρησιμοποιεί. Παράλληλα με τις επιλογές εμφανίζεται και η διαθέσιμη κάρτα του υπολογιστή (μεταβλητή S crTypeS).

Επίσης υπάρχει και η ρουτίνα PlotVariableSelect (G R A P H IC S .B A S ). Με την χρήση της συγκεκριμένης ρουτίνας, ο χρήστης μπορεί να επιλέξει τα μεγέθη του συστήματος που θέλει να εμφανίζονται κατά την εξομοίωση (από αυτά που υπάρχουν), όπως επίσης υπάρχει η δυνατότητα αλλαγής της θέσης των αξόνων των μεγεθών στις σελίδες της οθόνης (οθόνη 2.5).

(18)

Κ Ε Φ Α Λ Α Ι Ο 2

=Τριψασικός Οσύγχρουος Κιυηττν t ΕΠίηΟΓΗ ΠΑΡΑΜΕΤΡΟΝ ΠΡΟΓΡΑΜΜΑΤΟΣ

ΕπιΑέξτε αρι9)ΐό βηρότωυ χρόυου/περ ίοδο <64, 128,

oartmTiieS 256, 512) [2561?

Ε πιλέζτε αριθμό περιόδου έυαρξης ορμουικής αυάθυσης <2 - 15) I 91?

ΕπιΑέξτε τίτΑο προγράμματος [Τριφασικός Ασύγχρουος Κινητήρας]?

Επιλέξτε οδηγό αποθήκευσης <Α - F)IC1?

ΕπιΑέζτε οδηγό αρχείκυ βοήθειας <Α - F)[C1?

Επιλέξτε κατάλογο αρχείων βοήθειας [H elpiodnl? /

Οθόνη 2.4 Οθόνη επιλογής παραμέτρων προγράμματος

Οθόνη 2.5 Οθόνη επιλογής εμφάνησης μεγεθών εξομοίιοσης Ακόμη για την επιλογή της αλλαγής των παραμέτρων του προγράμματος ή του συστήματος, γίνεται χρήση της ρουτίνας LinePrint, την οποία αναφέραμε παραπάνω. Ενώ μετά από κάθε ρουτίνα αλλαγής παραμέτρων καλείται η ρουτίνα ProTitleScreen.

Τέλος καλείται και η Function Nai (MAIN M O D U LE), η οποία χρησιμοποιείται για να αναγνωρίζει σε μια ερώττιση, αν η απάνττιση είναι ναι ή όχι. Χρησιμοποιεί την εντολή INKEYS για να δέχεται την απάντηση και στην συνέχεια αν η απάνττιση είναι θετική η μεταβλητή Nai είναι Not False, ενώ αν είναι αρνητική η Nai είναι False.

(19)

Κ Ε Φ Α Λ Α Ι Ο 2

Εφόσον έχουμε τελειώσει την αλλαγή των παραμέτρων, καλείται η ρουτίνα SystemScreen (MAIN M O D U L E ). Η παραπάνω ρουτίνα εμφανίζει όλες τις πληροφορίες του συστήματος, που έχει επιλεγεί, στην οθόνη.

Οι πληροφορίες του συστήματος είναι οι παράμετροι που έχει επιλέξει ο χρήστης μαζί με την χρήση μυνημάτων από τον πίνακα ln dText$(), φορτωμένα από αρχείο (7indtext.txt), ενώ χρωματίζονται κατάλληλα με την χρήση της ρουτίνας ColorAdaptor.

Αφού τελειώσει η παραπάνω διαδικασία, καλείται η ρουτίνα Systemlnitialize (MAIN M O D U L E ), η οποία χρησιμοποιείται για να αναγνωρίζει το πρόγραμμα αν η εξομοίωση ξεκινάει από την ηρεμία (Standstill) ή αν ξεκινάει από μία μόνιμη κατάσταση (Steady).

Στην περίπτωση που ξεκινάει από μια μόνιμη κατάσταση, τότε θα πρέπει το πρόγραμμα να διαβάσει δεδομένα από κάποιο αρχείο, για να μπορέσει να ξεκινήσει από αυτή.

Σ' αυτή την περίπτωση το πρόγραμμα ζητάει το όνομα του αρχείου, στο οποίο είναι αποθηκευμένα τα δεδομένα. Στην παραπάνω ρουτίνα καλούνται και άλλες ρουτίνες από τα MODULES συστήματος διαφορετικές για κάθε πρόγραμμα.

Ακολουθώντας την ροή του προγράμματος καλούνται οι ρουτίνες γραφικών. Η ρουτίνα PlotAreasVariables (G R A P H IC S .B A S ), χρησιμοποιείται για να καθορίζει το αριθμό των περιοχών της οθόνης μέσα στις οποίες θα σχεδιάζονται οι τιμές των μεγεθών, κατά την εξομοίωση.

Ακόμη αποθηκεύει τα σύμβολα των μεγεθών από τον πίνακα L a bV ar$0 στον πίνακα LabelSQ. ο οποίος αποθηκεύει τα σύμβολα όπως θα τυπωθούν στην οθόνη.

Η ρουτίνα PlotAreasDraw (G R A P H IC S .B A S ), σχεδιάζει τους άξονες πάνω στους οποίους θα σχεδιαστούν οι τιμές των μεγεθών, κατά την διάρκεια της εξομοίωσης, αφού πάρει κάποιες τιμές από την προηγούμενη ρουτίνα (PlotAreasVariables) σχετικά με την θέση των αξόνων στην οθόνη.

Η συγκεκριμένη ρουτίνα τοποθετεί τις ταμπέλες των βοηθητικών πλήκτρων στην οθόνη, ενώ γίνεται χρήση της ρουτίνας ColorAdaptor για την εισαγωγή χρωμτών.

Στη συνέχεια, στους άξονες εμφανίζονται οι κατάλληλοι τίτλοι για κάθε ένα από αυτούς, ώστε να αντιλαμβάνεται ο χρήστης σε ποιούς άξονες σχεδιάζεται κάθε μέγεθος. Η παραπάνω λειτουργία πραγματο­

ποιείται με την κλήση της ρουτίνας PlotVariablesLabels (G R A P H IC S .B A S ) (οθόνη 2.6).

(20)

Κ Ε Φ Α Λ Α Ι Ο 2

Ενώ τέλος καλείται και η ρουτίνα PlotVariablesConstants (G R A P H IC S .B A S ). Η ρουτίνα αυτή καλείται, για να καθορίσει τις παραμέτρους σχεδίασης, οι οποίοι ψηθούν στην σχεδίαση των τιμών επάνω στους άξονες και μέσα στα όρια αυτών.

Ο θ όνη 2.6 Οθόνη εξομοίωσης. Απομόνωση ενός άξονα για την καλύτερη παρουσίαση των παραμέτρων σχεδίασης.

Συνεχίζοντας, το πρόγραμμα ανοίγει τα αρχεία μέσα στα οποία θα τοποθετηθούν κάποιες τιμές, κατά την διάρκεια της εξομοίωσης.Η τοποθέτηση των αρχείων γίνεται σε DRIVE C:\, στο directory StorSite. To DRIVE αποθήκευσης επιλέγεται στην αρχή του προγράμματος.

Στην περίπτωση πού το directory δεν υπάρχει τότε το πρόγραμμα το δημιουργεί από μόνο, καθώς επίσης και όταν δεν υπάρχουν και τα αρχεία για την αποθήκευση των τιμών.Η διαδικασία αυτή πετυχαίνεται με την βοήθεια παγίδας λαθών (Error Trap), στο τέλος του κυρίως προγράμ­

ματος.

Τα ονόματα των αρχείων περιέχουν το συνθετικό Store? (Storel - 17). Η αποθήκευση των τιμών είναι Random (Τυχαίας προσπέλασης). Ο δε αριθμός αυτών είναι ίσος με τον αριθμό των μεγεθών του εξομοιωμένου συστήματος.

Με το τέλος τιγ; παραπάνω διαδικασίας, καλείται η ρουτίνα KeysDefInt ( G R A P H IC S .B A S ). Η παραπάνω ρουτίνα χρττσιμοποιείται για να καθορίζει και να ενεργοποιεί τα βοηθητικά πλήκτρα (Q,W ,E,R ,T, Α,υ,Ι,Ο,Ρ), που χρησιμοποιεί το πρόγραμμα, για να εκτελέσει κάποιες λειτουργίες, κατά την διάρκεια της εξομοίωσης. Η ενεργοποίιιση των πλήκτρων γίνεται με την χρήση της εντολής της QUICKBASIC KEY ON.

(21)

Κ Ε Φ Α Λ Α Ι Ο 2

2.3.1.1

Στο σημείο αυτό του προγράμματος, μπαίνουμε στο κομμάτι όπου γίνεται,ουσιαστικά, η εξομοίωση του συστήματος.Στο συγκεκριμένο κομμάτι οι ρουτίνες που καλούνται δεν είναι πάντα όλες ίδιες, αλλά αλλάζουν για κάθε σύστημα που εξομοιώνεται.

Για παράδειγμα στο πρόγραμμα ΤΑΚ χρησιμοποιούνται οι ρουτίνες SystemStartControl (υπολογισμοί για την εκκίνηση του κινητήρα).

System Calculations (υπολογισμοί αποτελεσμάτων) - Syindm ol.bas - και IndMotPrint Results (εμφάνηση ενεργών τιμών στην οθόνη) - Indmotol.bas -.

Η όλη διαδικασία πραγματοποιείται με τη χρήση ενός βρόγχου (loop) μέσα στο οποίο καλούνται οι απαραίτητες ρουτίνες. Παρακάτω γίνεται μία αναφορά στις ρουτίνες που είναι ίδιες, ανεξάρτητα από το είδος του συστήματος.

Εφόσον λοιπόν τελείωσει η διαδικασία ενεργοποίησης των πλήκτρων, καλείται η ρουτίνα SystemSimulation (MAIN M O D U L E ). Η εν λόγω ρουτίνα χρησιμοποιείται για να γίνει η εξομοίωση του συστήματος.

Καλούνται όλες οι απαραίτητες ρουτίνες για την εξομοίωση του συστήματος.Δηλαδή οι ρουτίνες που κάνουν τους απαραίτητους υπολογισμούς σε κάθε βήμα εξομοίωσης.

Οι συγκεκριμένες ρουτίνες βρίσκονται σε MODULES συστήματος, και περιέχουν στην αρχή της ονομασίας τους, τα τρία (3) πρώτα γράμματα του MODULE, στο οποίο περιέχονται.Π.χ. στο πρόγραμμα του ΤΑΚ χρησιμοποιούνται οι ρουτίνες IndMotSupply, IndMotVoltMatrix, IndMotResMatrix, IndMotCur Matrix από το MODULE IndMotol.bas

Μετά τους υπολογισμούς με την χρήση της παραπάνω ρουτίνας, οι τιμές αυτές αποθηκεύονται σε ένα πίνακα PlotarrQ, καλώντας την ρουτίνα System VariablesValues (MAIN M O D U LE).

To κάθε μέγεθος χρησιμοποιεί μόνο μία θέση από τον πίνακα (PlotarrO). Ετσι οι τιμές κάθε μεγέθους, σε κάθε βήμα εξομοίωσης και μετά τους υπολογισμούς, αποθηκεύονται στην θέση του πίνακα που αντιστοιχεί στο κάθε μέγεθος.

Καλείται η ρουτίνα PlotValues (G R A P H IC S .B A S ), η οποία χριησιμο- ποιείται για να τοποθετήσει τις τιμές των μεγεθών στους άξονες. Τις τιμές που χρησιμοποιεί για την σχεδίαση, τις διαβάζει από τον πίνακα PlotarrO· Παράλλτιλα χρησιμοποιεί και κάποιους πίνακες, με τις απαραίτητες παραμέτρους, από άλλες ρουτίνες ( PlotAreasVariables ).

Συνεχίζοντας το πρόγραμμα, υπάρχει η δυνατότητα της εμψάνηστις των ενεργών τιμών των μεγεθών στους αντίστοιχους άξονες, με την κλήση της ρουτίνας PrintValues (G R A P H IC S .B A S ). Οι τιμές αυτές φορτώνονται απο αντίστοιχο πίνακα (PrintValueO) H συγκεκριμένη ρουτίνα καλείται όταν ο δείκτης ScrPrint% είναι ίσος με ένα (1) - Αν πατηθεί το πλήκτρο F2 - (οθόνη 2.7).

(22)

Κ Ε Φ Α Λ Α Ι Ο 2

Ακολούθως όμως οι τιμές των μεγεθών αποθηκεύονται σε αρχεία δεδομένων. Η ρουτίνα SaveValues (H E L P K E Y S .B A S ) καλείται για την πραγματοποίηση αυτής της διαδικασίας. Οι αποθήκευση γίνεται στα αρχεία Store?.

Η σειρά με την οποία αποθηκεύονται οι τιμές των μεγεθών στον πίνακα PlotarrQ χρησιμοποιείται για την αποθήκευση στα αρχεία, δηλ. το πρώτο (1) μέγεθος αποθηκεύεται στο αρχείο Storel, το δεύτερο (2) στο αρχείο Store2 κτλ.

Ο θόνη 2.7 Οθόνη εξομοίωσης. Απομόνωση ενός άξονα για την καλύτερη παρουσίαση των παραμέτρων σχεδίασης

Παράλληλα οι παραπάνω τιμές αποθηκεύονται και σε πίνακα για αρμονική ανάλυση. Καλώντας, λοιπόν, την ρουτίνα HarmValuesSave (H E L P K E Y S .B A S ) οι τιμές αποθηκεύονται στον πίνακα HarmPointsO·

2 .3 .1 .4 Λ Ε Ι Τ Ο Υ Ρ Γ Ι Ε Σ Β Ο Η Θ Η Τ Ι Κ Ω Ν Π Λ Η Κ Τ Ρ Ω Ν

Εφόσον τελειώσει η παραπάνω διαδικασία (και ενώ είμαστε μέσα στον βρόγχο), καλείται η ρουτίνα KeysPressControl (MAIN M O D U LE), για τον έλεγχο των βοηθητικών πλήκτρο. Στην συγκεκριμένη ρουτίνα, αρχικά το πρόγραμμα ελέγχει αν έχει πατηθεί κάποιο πλήκτρο με την βοήθεια της εντολής ΟΝ Κ Ε Υ ().

Εαν έχει πατηθεί κάποιο, τότε με την εντολή GOSUB το πρόγραμμα διακλαδίζεται στην κατάλληλη υπορουτίνα (στο τέλος του κυρίως προγράμματος).

Για την διαδικασία αυτή χρησιμοποιείται ο πίνακας K e yP re ss% 0. η κάθε θέση του αντιστοιχεί και σε ένα πλήκτρο, με τιμές ένα(1) - ενεργοποίηση - ή μηδέν(Ο) - απενεργοποίτιση - . Στη συνέχεια η ρουτίνα ελέγχει τον πίνακα αυτό, αναγνωρίζει το πλήκτρο που ενεργοποιήθηκε και καλεί την κατάλληλη ρουτίνα.

210

(23)

Κ Ε Φ Α Λ Α Ι Ο 2

Εάν πρόκειται για πλήκτρα μεταβολών (F6 - F10) τότε καλείται η SystChangeKeysControl (MAIN M O D U L E), αν πρόκειται για πλήκτρα ελέγχου της ροής του προγράμματος (F1 - F5), τότε καλείται η ρουτίνα ProgFlow KeysControl (H E L P K E Y S .B A S ), ενώ τέλος αν πρόκειται για αλφαριθμητικά πλήκτρα (Q,W ,E,R,T,A,U,l,0,P) τότε καλείται η ρουτίνα SystExper KeysControl (MAIN M O D U LE).

Η ρουτίνα SystChangeKeysControl ελέγχει τα πλήκτρα F6 - F10 με τα οποία αλλάζουν τις τιμές ορισμένων παραμέτρων του εξομοιωμένου συστήματος κατά την διάρκεια της εξομοίωσης.

Δηλαδή στο πρόγραμμα του ΤΑΚ το πλήκτρο F6 αλλάζει την τιμή της τάσης τροφοδοσίας, το F7 την τιμή'της συχνότητας τροφοδοσίας κ.α.. Οι λειτουργίες, που εκτελούν καθ’ ένα από τα παραπάνω πλήκτρα, είναι διαφορετικές για κάθε πρόγραμμα.

Η ρουτίνα ProgFlowKeysControl καλείται όταν πατηθεί κάποιο πλήκτρο F1 - F5. Οι λειτουργίες που εκτελούν είναι κοινές για όλα τα προγράμματα. Με τα πλήκτρα ελέγχου αλλάζει η σελίδα (F1), εκτυπώνονται ή όχι οι στιγμιαίες τιμές των σχεδιαζόμενων μεγεθών (F2).

Αλλες λειτουργίες είναι η εκτύπωση του περιεχόμενου ττις ορατής σελίδας στον εκτυπωτή (F3), η προσωρινή διακοπή της εξομοίωσης (F4) και η οριστική διακοπή του προγράμματος (F5).

Η ρουτίνα SystExperKeysControl χρησιμοποιεί ρουτίνες για τον έλεγχο των αλφαριθμητικών πλήκτρων. Από τα πλήκτρα αυτά χρησιμοποιούνται μόνο τα Q (εμφάνιση λίστας πλήκτρων ελέγχου στο δεξιό τμήμα της οθόνης) και W (κλήση βοήθειας με προσωρινή διακοπή του προγράμματος).

Οταν πατηθεί το πλήκτρο W τότε καλείται η ρουτίνα SaveScreen (H ELP K E Y S .B A S ) για να κρατήσει στην μνήμη την οθόνη, η ρουτίνα InfoScreen (H E L P K E Y S .B A S ), για να εμφανιστεί η βοήθεια, καθώς και η LoadScreen (H E L P K E Y S .B A S ), για να εμφανίσει την οθόνη που αποθηκεύτηκε και να συνεχιστεί η εξομοίωση (οθόνη 2.8).

Ακόμη όταν επιλεγεί να γίνει αυτόματη φόρτιση (πλήκτρο A ), φορτί­

ζετε ο κινητήρας. Οταν αναγνωριστεί η μόνιμη κατάσταση, από την τιμή της ταχύτητας, οι τιμές που έχουν υπολογιστεί για την μόνιμη κατάσταση, αποθηκεύονται στον πίνακα ExpertResultsO-

Εφόσον τελείωσει και η διαδικασία της εξομοίωσης, δίνεται η δυνατότητα στον χρήστη να δει την επόμενη σελίδα ττις οθόνης ( ανάλογα την κάρτα γραφικών που διαθέτει ο Η/Υ ), με την κλήση ττις ρουτίνας ContinueControl (H E L P K E Y S .B A S ).

Χρησιμοποιείται η ρουτίνα LinePrint, η οποία εμφανίζει το μήνυμα επιλογής στη τελευταία γραμμή της οθόνης, καθώς και η Function HeNai (H E L P K E Y S .B A S ), η οποία αναγνωρίζει αν δόθηκε αρνητική ή θετική απάντηση. Στην περίπτωση θετικής απάντησης, τότε εμφανίζετε η επόμενη, από αυτή που εμφανίζεται ήδη , σελίδα της οθόνης.

(24)

Κ Ε Φ Α Λ Α Ι Ο 2

Ακόμη υπάρχει η επιλογή της εκτύποχτης της σελίδας γραφικών (όποια από τις δύο θέλει ο χρήστης), με την κλήση της ρουτίνας PrintScreen (MAIN M OD ULE), η οποία τυπώνει την οθόνη στον εκτυπωτή.

Ο θ όνη 2.8 Οθόνη με πληροφορίες για τα βοηθητικά πλήκτρα Στη συνέχεια υπάρχει η επιλογή της αποθήκευστις της κατάστασης σαν μόνιμης με την ρουτίνα SystemSaveState (M AIN M O D U LE).

Ακολούθως με την προηγούμενη ρουτίνα, καλείται και η ρουτίνα ContinueSimulation (G R A P H IC S .B A S ), η οποία δίνει την δυνατότητα στον χρήστη να συνεχίσει την εξομοίωση για όσο χρονικό διάστημα θέλει.

Χρησιμοποιείται η ρουτίνα LinePrint για την εμφάνηση των μηνυμάτων επιλογής, με το πίνακα που τα περιέχει, τον GraTextSQ (από το αρχείο 7gratext.txt).Καλείται και η Function GNai (G R A P H IC S .B A S ), για την αναγνώρηση αρνητικής / θετικής απάντησης.

Οταν ο χρήστης επιλέξει να συνεχίσει την εξομοίωση (δείκτης ContSim=1), εμφανίζεται μήνυμα για τον αριθμό των περιόδων εξομοίωσης καθώς και την δυνατότητα επιλογής νέων ορίων του Υ άξονα.

Στη συνέχεια καλούνται οι ρουτίνες που καθορίζουν τις παραμέτρους για την εμφάνηση των αξόνων στην οθόνη καθώς και για την σχεδίαση των τιμών σ'αυτούς (PlotAreasVariables, PIotAreasDraw, PlotVariables Labels, PlotVariablesConstants - G R A P H IC S .B A S ).

Στη περίπτωση που δεν συνεχιστεί η εξομοίωση ( δείκτης ContSim=0 ), τότε κλείνουν τα αρχεία δεδομένων, στη συνέχεια απενεργοποιούνται τα βοηθητικά πλήκτρα και καλείται η ρουτίνα ResultsProcessIng (MAIN M O D U LE).

(25)

Κ Ε Φ Α Λ Α Ι Ο 2

Με την παραπάνω ρουτίνα, περνάμε στο τελευταίο κομμάτι του προγράμματος ΝΕΑΠΟΛΙΣ, την επεξεργασία των αποτελεσμάτων. Με τη ρουτίνα αυτή επιλέγουμε το είδος της εργασίας που θέλουμε να κάνουμε.

Χρησιμοποιείται η ρουτίνα Frame για την σχεδίαση του κατάλληλου πλαισίου, καθώς και η ColorAdaptor για το χρωματισμό ττις οθόνης.

Για την επιλογή της ανασχεδίασης των στιγμιαίων τιμών καλείται η ρουτίνα TimeValProcessing (R E P L O T .B A S ), για την αρμονική ανάλυση η ρουτίνα HarmAnalysis (H A R M O N IC .B A S ), ενώ τέλος για την σχεδίαση των ενεργών (RMS) τιμών καλείται η RmsValProcessing (R E P L O T .B A S ). η εμφάνηση των μηνυμάτων γίνεται με την χρήση του πίνακα S ys Te xt$ 0 (αρχείο 7systext.txt).

2 JL li_ Y n O A O in E r_ P O .Y TlN E Z

Εκτός από τις ρουτίνες που αναφέρθηκαν παραπάνω, υπάρχουν και άλλες ρουτίνες που χρησιμοποιούνται στο πρόγραμμα, και βρίσκονται στο MAIN MODULE.

Μία από αυτές είναι και η AverageValue. Η συγκεκριμένη ρουτίνα χρησιμοποιείται για τον υπολογισμό της μέσης τιμής ενός μεγέθους, και αποθηκεύονται στους πίνακες Ya ve rQ και Polnts% ().

Η ρουτίνα ErrorMessage χρησιμοποιείται για την εμφάνηση μηνυμάτων λάθους σε περίπτωση σφάλματος, κατά την εκτέλεση του προγράμματος. Η μεταβλητή ErrorC on st% 0 περιέχει τον κωδικό του λάθους, και ανάλογα εμφανίζεται το μύνημα με την χρήση του πίνακα ErrTex tSO · Τα μυνήματα φορτώνονται από το αρχείο 7errtext.txt.

Η ρουτίνα PrlntScreen καλείται στην ρουτίνα SystemScreen και χρησιμοποιείται για να μεταφέρει στον εκτυπωτή την οθόνη, για εκτύπωση. Οι παράμετροι που χρησιμοποιεί είναι το ύψος οθόνης (σε pixels) Ym axclb% , το μήκος οθόνης Xm axclb% και ο αριθμός γραμμών Nlines%.

Η ρουτίνα RmsValue χρησιμοποιείται για τον υπολογισμό των ενεργών τιμών, οι οποίες αποθηκεύονται στον πίνακα Yrm sO-

Η ρουτίνα SystemSaveState χρησιμοποιείται για να σώσει τις τιμές της τελικής κατάστασης (μετά το τέλος της εξομοίωσης) σε αρχείο, για να μπορεί το σύστημα να ξεκινήσει από το σημείο εκείνο. Το όνομα του αρχείου δίνεται στην μεταβλητή StartFileNameS.

Η ρουτίνα Invert καλείται για την αναστροφή ενός πίνακα 2χ2 (Square MatrlxQ)- Στη ρουτίνα χρησιμοποιούνται οι πίνακες A Q (ο πίνακας που πρέπει να αναστραφεί ) και ο AlnvQ ( ο προηγούμενος πίνακας ανεστραμένος), ο οποίος είναι το αποτέλεσμα της κλήσης της ρουτίνας.

(26)

Κ Ε Φ Α Λ Α Ι Ο 2

Το MODULE HAR M O N IC .BA S, είναι ένα από τα κοινά MODULES που χρησιμοποιούνται στο πρόγραμμα ΝΕΑΠΟΛΙΣ. Αποτελεί ένα ξεχωριστό κομμάτι και ανεξάρτητο, με σκοπό να υπολογίζει τις αρμονικές των μεγεθών του συστήματος μετά από κάθε εξομοίωση.

Για τον υπολογισμό των αρμονικών, καλείται η ρουτίνα HarmAnalysis (HARM ONIC. B A S ), μέσα απ την ρουτίνα Results Processing (MAIN M OD U LE) γράφοντας "Η" ή"ή" και πατώντας Enter.

Η ρουτίνα αυτή αποτελεί τη κυρία ρουτίνα του MODULE, αψού μέσα απ' αυτή καλούνται οι κατάλληλες ρουτίνες για να γίνει η αρμονική ανάλυση. Οι ρουτίνες που χρησιμοποιούνται βρίσκονται στο ίδιο MODULE και είναι δηλωμένες στο κυρίως πρόγραμμά του.

Ξεκινώντας την αρμονική ανάλυση, καλείται, αρχικά, η ρουτίνα HarmDataSelect. Η συγκεκριμένη ρουτίνα καλείται για να γίνει η επιλογή του μεγέθους, καθώς επίσης φορτώνονται οι τιμές σε κατάλληλους πίνακες (lm ag(), RealQ)· Η "λίστα" με τα μεγέθη βρίσκεται στον πίνακα PlotVarNam e$(). Ακόμη χρησιμοποιείται και ο πίνακας H arTextS Q Υΐα τα μυνήματα

Η επιλογή του είδους της αρμονικής ανάλυσης, γίνεται με την κλήση της ρουτίνας LInePrint, ενώ καλείται και η Function HaNai, για την αναγνώρηση αρνητικής ή θετικής απάντησης.

Η πρώτη επιλογή είναι η εκτύπωση πεδίου χρόνου . Η επιλογή αυτή πραγματοποιείται με την κλήση της ρουτίνας HarmTimeDomainScPrint για την εμφάνηση των αποτελεσμάτων στην οθόνη, ενώ υπάρχει η δυνατότητα εκτύπωσης στον εκτυπωτή, με την κλήση της ρουτίνας HarmTimeDomainLp Print. Στις ρουτίνες χρησιμοποιούνται οι πίνακες RealQ, lm ag() καθώς και ο HarTextSQ για τα μηνύματα.

Η επόμενη επιλογή είναι η σχεδίαση πεδίου χρόνου , η οποία πραγματοποιείται με την κλήση της ρουτίνας HarmM axTim e. Η συγκεκριμένη ρουτίνα υπολογίζει την μέγιστη/ελάχιστη τιμή του χρόνου.

Στη συνέχεια καλείται η ρουτίνα HarmPlotTime, για την σχεδίαση των τιμών σε άξονα στην οθόνη.

Στη συνέχεια με την κλήση της ρουτίνας HarmFftandift, πραγματοποιείται ένας γρήγορος μετασχηματισμός Fourier (C type % = 1), ενώ η ίδια ρουτίνα μπορεί να πραγματοποιήσει και τον αντίστροφο μετασχηματισμό Fourier (C type % = -1 ).

Η επόμενη επιλογή είναι η εκτύπωση πεδίου συχνότητας . Η επιλογή πραγματοποιείται με την κλήση της ρουτίνας HarmFreqDomainScPrint, για την εμφάνηση των αποτελεσμάτων στην οθόνη του υπολογιστή, ή της ρουτίνας HarmFreqDomainLpPrint, για την εκτύπωσή τους στον εκτυπωτή.

Συνεχίζοντας, εμφανίζεται η επιλογή της σχεδίαστγ; μέτρου αρμονικών . Η ρουτίνα που την πραγματοποιεί είναι η HarmPlotMagni, η

Referências

Outline

Documentos relacionados

1.4.3 Όροι και ορισμοί Στην ενότητα των όρων και των ορισμών προσδιορίζονται βασικές έννοιες που αφορούν στην εφαρμογή και την αξιολόγηση του προτύπου όπως η ασφάλεια των τροφίμων που