• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2023

Share "Αναμόρφωση της σχεδίασης γραφικών εξομοίωσης προγράμματος NEAPOLIS με βάση τις αναμενόμενες μέσες τιμές από τα μοντέλα μόνιμης κατάστασης."

Copied!
109
0
0

Texto

(1)

ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ

Τμήμα Βιομηχανικής Πληροφορικής

Πτυχιακή Εργασία του σπουδαστή Αραπίτσα Αλέξανδρου

Θέμα: «Α ναμόρφ ω ση της σχεδίαση ς γρα φ ικ ώ ν εξομ οίω ση ς π ρογρά μ μ α τος N E A P O L IS μ ε βά ση τις ανα μ ενόμ ενες μ έσες τιμές από τα

f Λ f t

μ οντέλ α μ όνιμ η ς κ ατάστασης»

> Κ α τα τμ η τές

> Ρ υθ μ ιστές συνεχούς

> Κ υκ λομ ετα τροπ είς

Επιβλέπων Καθηγητής:

Δρ. Γεώργιος Κυραναστάσης

Καβάλα, Απρίλιος 2009

(2)
(3)

Πρόλογος

Στην παρούσα πτυχιακή έχουμε 3 εξομοιούμενα συστήματα:

> Ρυθμιστές Συνεχούς

> Κατατμητές

> Κυκλομετατροπείς

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

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

3

(4)

Κεφάλαιο 1

(5)

Κεφάλαιο 1: Εγχειρίδιο χρήσης Neapolis

1.1 Λίγα λόγια για το Neapolis

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

σε τρία μέρη. Αυτά είναι:

> Προσδιορισμός συστήματος

> Προσομοίωση συστήματος

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

Τα οποία θα αναλύσουμε παρακάτω το ρόλο του καθενός.

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

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

1.2 Αρχική σελίδα Neapolis - Επιλογή συστήματος

Με το που ανοίξουμε το Neapolis η πρώτη σελίδα που θα εμφανίσει ο εξομοιωτής μας θα είναι η ακόλουθη:

5

(6)

Σχήμα 1.1 αρχική σελίδα Neapolis

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

αναλύσουμε περισσότερο παρακάτω.

1.2.1 Main menu - Κεντρικό μενού

Στο κεντρικό μας μενού υπάρχουν οι εξής επιλογές:

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

Β. Μετατροπείς: είναι μια παρόμοια επιλογή σαν τους κινητήρες απλώς σε αυτή την περίπτωση διαλέγουμε τον μετατροπέα μας πχ. κυκλομετατροπέας.

(7)

Γ. Κινητήρια Συστήματα: μέσα από αυτή την επιλογή μπορούμε να διαλέξουμε το κινητήριο σύστημα που θέλουμε να χρησιμοποιήσουμε παρακάτω πχ. σύστημα με επαγωγικό κινητήρα με 3-φ αντιστροφέα.

Δ. Λειτουργίες: μέσα στην επιλογή αυτή υπάρχει ο προσδιορισμός του συστήματος που θα δούμε παρακάτω τι σημαίνει.

Ε. Βοήθεια: είναι η βοήθεια για να κινηθούμε στο Neapolis.

Νεάττιολις εκ£, 6 - Κυρίως Μ ενού

Κινητήρες Μ ετατροπείς Κινητήρια συστήματα Λειτουργίες Βοήθεια

Σχήμα 1.2 κεντρικό μενού

1.2.2 Επιλογή γλώσσας

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

Ε π ιϋ έξτ ε γΑώσσα : Φ ΕΑΑηνικά S e le c t language : 9 English W a e le sp ra ch e : § D vutech

S e le c te e r taal : # N td e d w d s S e le c c io n a el idioma: 9 C astellano

Σχήμα 1.3 επιλογή γλώσσας

7

(8)

1.2.3 Εμφάνιση επιλεγμένου συστήματος

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

Σχήμα 1.4 Επιλεγμένο σύστημα

Σχήμα 1.5 Οδηγός αποθήκευσης

1.2.4 Επιπλέον Πλαίσια

Υπάρχουν 6 επιπλέον πλαίσια στην αρχική μας σελίδα που είναι η «Βοήθεια», η

«Θεωρία», ο «Καθορισμών ήχων», η «Μουσική», η επιλογή «Λειτουργίες» και η επιλογή

«Έξοδος».

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

Θεωρία: μας ανοίγει κάποια θεωρητικά πράγματα πάνω στο επιλεγμένο μοντέλο μας. Ο χρήστης μπορεί να διαβάσει πληροφορίες που αφορούν την συσκευή που έχει

επιλέξει.

(9)

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

Σχήμα 1.6 Πλαίσιο επιλογών

Λ ειτουργίες: Όταν ο χρήστης πατήσει με το ποντίκι πάνω σ’ αυτή την επιλογή, τότε εμφανίζεται μια λίστα με διάφορες λειτουργίες τις οποίες μπορεί να εκτελέσει.

Παρακάτω βλέπουμε αυτήν την λίστα:

Define system Simulate system Results processing

Theory about 3-Ph Induction Motor

Exit F5

Set Sound F l l

Music F12

Σχήμα 1.7 Μενού λειτουργίες

Έξοδος: Τέλος μπορούμε να βγούμε από το πρόγραμμα πατώντας την επιλογή

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

Σχήμα 1.8 Έξοδος

9

(10)

1.3 Define system - Προσδιορισμός συστήματος

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

Σχήμα 1.9 Προσδιορισμός συστήματος

(11)

1.3.1 Προσδιορισμός συστήματος - Μενού

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

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

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

Σχήμα 1.10 τριφασική τροφοδοσία συστήματος

(12)

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

Δ. Μετατροπείς: Ουσιαστικά είναι κάτι ανάλογο με τους κινητήρες για την εξομοίωση μας. Στην περίπτωση αυτή το μενού μας δεν είναι απενεργοποιημένο όπως και πριν στους κινητήρες, μπορούμε να επιλέξουμε το είδος του μετατροπέα που χρειαζόμαστε. Όταν θα κάνουμε την επιλογή του μετατροπέα που θα χρησιμοποιήσουμε θα μας εμφανιστεί στην αρχή ένα παράθυρο στο οποίο θα πρέπει να τοποθετήσουμε τα χαρακτηριστικά του μετατροπέα μας πχ. Τύπο κυκλομετατροπέα όπως φαίνεται στο παρακάτω σχήμα 1.11

Σχήμα 1.11 χαρακτηριστικά μετατροπέα

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

Ζ. Φορτίο: Αφού έχουμε επιλέξει τον μετατροπέα μας θα πρέπει να επιλέξουμε και το κατάλληλο φορτίο είτε ηλεκτρικό είτε μηχανικό (θα επιλέξουμε φυσικά ηλεκτρικό) όπως φαίνεται στο σχήμα παρακάτω

(13)

Σχήμα 1.12 επιλογή φορτίου

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

Σχήμα 1.13 ορισμός μεταβλητών προγράμματος

Θ. Γραφικά: Η επιλογή των γραφικών του συστήματος μας είναι ίσως το πιο σημαντικό κομμάτι πριν την εξομοίωση μας. Σε αυτό το κομμάτι του Neapolis έχουμε τις λίστες κάποιων μεταβλητών που είναι οι εξής:

13

(14)

> Τάση εισόδου

> Τάση εξόδου

> Ρεύμα εισόδου

> Ρεύμα εξόδου

> Τάση βαλβίδας

> Τάση διόδου

> Ρεύμα Βαλβίδας

> Ρεύμα Διόδου

Σχήμα 1.14 επιλογή μεταβλητών

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

(15)

Σχήμα 1.15 επιλέξαμε το ρεύμα εισόδου

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

I. Βοήθεια: Το τελευταίο κομμάτι του μενού μας είναι η επιλογή της βοήθειας που μας δίνει την δυνατότητα να ανατρέξουμε μέσα σε αυτήν για να λύσουμε κάποιες απορίες μας(όλα είναι σε html μορφή).

Σχήμα 1.16 Βοήθεια Neapolis

15

(16)

1.4 Simulate system - Ποοσομοίωση συστήματος

Είναι το κομμάτι του Neapolis στο οποίο θα προσομοιώσουμε το σύστημα μας σύμφωνα με τις επιλογές των μεταβλητών που έχουμε επιλέξει και τις αλλαγές που χρειάστηκε να κάνουμε στον προσδιοριομό του συστήματος. Εμείς έχουμε ορίσει τις παραμέτρους που θέλουμε. Στο κομμάτι τις προβολής της εξομοίωσης μας έχουμε 2 άξονες (x,y) για την κάθε γραφική μας παράσταση (ανάλογα πόσες γραφικές παραστάσεις έχουμε επιλέξει από 1 έως 12.

Σχήμα 1.17 προσομοίωση συστήματος με 8 γραφικές παραστάσεις

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

όλο τον πειραματισμό θα υπάρξουν πολλά αποτελέσματα για επεξεργασία.

1.4.1 Προσομοίωση συστήματος - Μενού

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

(17)

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

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

ΕπιΡίέξτε νέα τιμή για συχνότητα τροφοδοσίας (10-1ΟΡΙΈΤΓ -^-j OK

Σχήμα 1.18 Αλλαγή συχνότητας

Γ. Εκτύπωση: Μετά το τέλος της προσομοίωσης, στο κάτω μέρος της φόρμας, εμφανίζεται ένα κουμπί εντολής με ετικέτα «Εκτύπωση», το οποίο μπορεί να πατήσει ο χρήστης αν θέλει να εκτυπώσει τις κυματομορφές. Δίπλα από το κουμπί της εκτύπωσης γίνεται η ερώτηση στον χρήστη αν θέλει να συνεχίσει την προσομοίωση.

Δ. Πειράματα: Με την επιλογή των πειραμάτων και συγκεκριμένα με την επιλογή της αυτόματης φόρτισης έχουμε την δυνατότητα να αλλάξουμε το βήμα της τάσης έλεγχου όπως φαίνεται παρακάτω:

Σχήμα 1.19 αλλαγή βήματος της τάσεως έλεγχου

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

Ε. Ταχύτητα Προσομοίωσης: Στην ταχύτητα προσομοίωσης έχουμε 2 επιλογές την γρήγορη προσομοίωση και την αργή προσομοίωση. Αυτή η επιλογή δίνει την

{ 17 ί

(18)

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

| Ταχύτηταπροσομοίωσης | Βοήθεια V Αργή προσομοίωση Ctrl+ S

Γρήγορη προσομοίωση Ctrl+F Σχήμα 1.20 είδη προσομοίωσης

Ζ. Εμφάνιση Κυκλώματος: Με αυτή την επιλογή η προσομοίωση σταματά προσωρινά και εμφανίζεται μια φόρμα που παρουσιάζει το σχήμα του κυκλώματος του συστήματος που προσομοιώνεται.

Σχήμα 1.21 εμφάνιση κυκλώματος

Η. Βοήθεια: Το τελευταίο κομμάτι του μενού μας όπως και στις προηγούμενες περιπτώσεις είναι η βοήθεια για την σωστή προσομοίωση του συστήματος μας όπως φαίνεται στο παρακάτω σχήμα

(19)

Σχήμα 1.22 Βοήθεια προσομοίωσης συστήματος

1.5 Επεξεργασία Αποτελεσμάτων

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

Στην επεξεργασία των αποτελεσμάτων έχουμε τέσσερις δυνατότητες. Αυτές είναι:

> σχεδίαση καμπυλών απόδοσης

> επανασχεδίαση των καμπυλών προσομοίωσης

> υπολογισμός των αρμονικών

> επιστροφή

Η οθόνη που βλέπουμε σε αυτό το κομμάτι είναι η παρακάτω:

19

(20)

Σχήμα 1.23 Επεξεργασία αποτελεσμάτων

1.5.1 Επεξεργασία Αποτελεσμάτων - Μενού

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

Σχήμα 1.24 Σχεδίαση καμπύλης απόδοσης

(21)

Επιλέγοντας μια μεταβλητή από την λίστα μεταβλητών και πατώντας το κουμπί

«Σχεδίαση», σχεδιάζεται η καμπύλη απόδοσης.

Β. Επανασχεδίαση Των Καμπυλών Π ροσομοίωσης: Με αυτήν την επιλογή μπορούμε να σχεδιάσουμε και πάλι τα αποτελέσματα της προσομοίωσης που υπολογίσαμε στο προηγούμενο βήμα.

Σχήμα 1.25 Επανασχεδίαση καμπύλης απόδοσης

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

Γ. Υπολογισμός Α ρμονικώ ν: Τελευταίο στάδιο στην επεξεργασία των αποτελεσμάτων είναι ο υπολογισμός των αρμονικών. Όταν επιλέξουμε αυτήν την επιλογή η εικόνα που μας εμφανίζεται είναι η παρακάτω:

Σχήμα 1.26 Επιλογή χρονικής περιόδου

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

21

(22)

Σχήμα 1.27 Υπολογισμός αρμονικών

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

• Εκτύπωση σημείων πεδίου χρόνου

• Σχεδίαση σημείων πεδίου χρόνου

• Εκτύπωση σημείων πεδίου συχνότητας

• Σχεδίαση μεγέθους αρμονικών

• Εκτύπωση σημείων πεδίου χρόνου από τον αντίστροφο μετασχηματισμό κατά Fourier

• Σχεδίαση σημείων πεδίου χρόνου από τον αντίστροφο μετασχηματισμό κατά Fourier

• Παράγοντες αρμονικών THD, DF, LOH

• Σχετικός παράγοντας παραμόρφωσης

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

(23)

Σχήμα 1.28 Βοήθεια επεξεργασίας αποτελεσμάτων

23

(24)

Κεφάλαιο 2

(25)

Κεφάλαιο 2: Εισαγωγή στην Visual Basic

2.1 Λίγα λόγια για την Visual Basic

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

Σχήμα 2.1 Εικόνα προγράμματος μέσα από την Visual Basic

{ 25 ί

(26)

2.1.1 Οι Μεταβλητές στην Visual Basic

Τα ονόματα των μεταβλητών της Visual Basic μπορούν να έχουν μήκος έως 255 χαρακτήρες, πρέπει να αρχίζουν από γράμμα, να μην περιέχουν τον χαρακτήρα της τελείας και να μην χρησιμοποιούν κάποιες από τις δεσμευμένες λέξεις (reserved words) της Visual Basic, όπως είναι για παράδειγμα οι λέξεις Sub και Function. Ακόμη, η Visual Basic δεν ξεχωρίζει τους πεζούς από τους κεφαλαίους χαρακτήρες στα ονόματα των μεταβλητών.

Τα είδη των μεταβλητών που έχουμε είναι τα εξής:

I. Byte: η μεταβλητή byte έχει πεδίο τιμών από 0-255 και το μέγεθος της είναι 1 byte.

II. B oolean: η μεταβλητή αυτή αποθηκεύει τις τιμές true ή false ανάλογα τι έχουμε ορίσει εμείς και επίσης έχει την ικανότητα να ελέγχει μία συνθήκη 2 καταστάσεων και το μέγεθος της είναι 1 byte.

III. In teger: το μέγεθος της παρούσας μεταβλητής είναι 2 byte συνήθως εμφανίζεται με το επίθεμα "%" και το πεδίο τιμών της είναι από -32768 έως 32767.

IV. Long In teger: η μεταβλητή αυτή εμφανίζεται συνήθως με το επίθεμα "&" και η χωρητικότητα της είναι 4 byte.O τύπος δεδομένων ο συγκεκριμένος συχνά τον καλούμε ως μεγάλο ακέραιο επίσης οι τιμές μας καταναλώνουν περισσότερο χρόνο μνήμης και τέλος το πεδίο τιμών μας είναι από -2,14 δις έως 2,14 δις .

V. Single: η μεταβλητή αυτή εμφανίζεται συνήθως με το επίθεμα "!" και η χωρητικότητα της είναι 4 byte και το πεδίο τιμών της είναι πάρα πολύ μεγάλο και ό τύπος δεδομένων της συχνά καλείται ως μονής ακρίβειας.

VI. D ouble: ο τύπος δεδομένων είναι διπλής ακρίβειας συνήθως έτσι τον αποκαλούμε η χωρητικότητα είναι στα 8 byte και το πεδίο τιμών είναι πάρα πολύ μεγάλο και τέλος το επίθεμα "#" την ακολουθεί.

VII. Currency: ουσιαστικά αυτή η μεταβλητή ασχολείται και προσαρμόζεται στα χρηματικά ποσά, ακόμη και τα δεδομένα της περιέχουν χρηματικά ποσά. Το μέγεθος της είναι στα 8 byte και συνήθως ακολουθεί το επίθεμα "@" και φυσικά το

πεδίο τιμών της είναι τεράστιο.

VIII. D a te: το μέγεθος της είναι 8 byte και το πεδίο τιμών της είναι από 1/1/100 έως 31/12/9999 και ουσιαστικά είναι καθαρά ημερολογιακή μεταβλητή. Επίσης πρέπει να έχουμε υπόψη μας ότι οι τιμές τύπου ημερομηνίας (Date) περικλείονται από τα σύμβολα #, όπως για παράδειγμα #December 15, 2003# ή

#17 Aug 02#.

(27)

IX. O bject: το μέγεθος της μεταβλητής αυτής είναι 4 byte και μας παραπέμπει σε οποιοδήποτε ελεγκτήριο επιλέξουμε πάνω στο πρόγραμμα μας έτσι ώστε να έχουμε την δυνατότητα να το χρησιμοποιήσουμε στις συναρτήσεις

X. String: οι μεταβλητές string έχουν την ικανότητα να αποθηκεύουν κείμενα που μπορεί να περιέχουν είτε κάποιους αριθμούς είτε κάποιους χαρακτήρες. Το μέγεθος τους ορίζεται ανάλογα με την χρήση και το πεδίο τιμών τους είναι

περίπου 65.000 χαρακτήρες.

Πολύ σημαντικό είναι το ότι αν δεν ορίσουμε κάποιον τύπο δεδομένων στον κώδικά μας με τις εντολές Dim ή Static, η Visual Basic χρησιμοποιεί τον προκαθορισμένο τύπο Varian, με τον οποίο μπορούμε να έχουμε ευελιξία στον κώδικά μας, καθώς μπορεί να περιέχει αριθμούς, συμβολοσειρές (strings), ημερομηνίες ή και τις ειδικές τιμές Empty και Null. Η τιμή Empty σημαίνει ότι η μεταβλητή δεν έχει αρχική τιμή και είναι ίση με 0 ή με ” ”, ενώ η τιμή Null προσδιορίζει μια μεταβλητή που σκόπιμα δεν περιέχει δεδομένα.

2.1.2 Η δήλωση των μεταβλητών στην Visual Basic

Για να μπορέσουμε να δηλώσουμε μια μεταβλητή θα πρέπει να ακολουθήσουμε μια συγκεκριμένη δομή που μας ορίζει η Visual Basic. Αυτή είναι η εξής:

Σύνταξη: Dim «όνομα μεταβλητής» As «τύπος μεταβλητής»

Παραδείγματα: Dim Name As Variant Dim Counter As Integer

Dim Ok As Boolean

Dim X1, Y1, X2, Y2 As Double

2.1.3 Η συνάρτηση MsgBox() και η διαδικασία MsgBox

Οι συναρτήσεις MsgBox(), InputBox() και η διαδικασία MsgBox είναι ενσωματωμένες στη Visual Basic και μας δίνουν τη δυνατότητα για πολύ χρήσιμες λειτουργίες εισόδου/εξόδου δεδομένων μέσα από προκαθορισμένα πλαίσια διαλόγου.

{ 27 ί

(28)

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

Η σύνταξή τους γίνεται ως εξής :

ReturnedValue% = Μ8βΒοχ(μήνυμα, τύπος, τίτλος, βοηθητικό αρχείο, συμφραζόμενα)

MsgBox μήνυμα, τύπος, τίτλος, βοηθητικό αρχείο, συμφραζόμενα

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

2.1.4 Η συνάρτηση InputBoxQ

Η συνάρτηση InputBox() εμφανίζει ένα πλαίσιο διαλόγου και περιμένει από τον χρήστη να γράψει κάποιο κείμενο ή να πατήσει ένα πλήκτρο και επιστρέφει τα περιεχόμενα του πλαισίου κειμένου. Η τιμή που επιστρέφει η συνάρτηση είναι τύπου Variant ή String, ανάλογα με τη σύνταξη που θα χρησιμοποιήσουμε:

ReturnedValue = Ιηρ^Βοχ(ενδείκτης, τίτλος, προκαθορισμένη τιμή, xpos, ypos, βοηθητικό αρχείο, συμφραζόμενα) 'επιστρέφει τύπο Variant

ReturnedValue$ = InputBox(ενδείκτης, τίτλος, προκαθορισμένη τιμή, xpos, ypos, βοηθητικό αρχείο, συμφραζόμενα) 'επιστρέφει τύπο String

Απ' όλα τα παραπάνω ορίσματα, το μόνο υποχρεωτικό είναι ο ενδείκτης. Ο ενδείκτης είναι ένα περιγραφικό κείμενο και εμφανίζεται δίπλα στο πλαίσιο κειμένου όπου θα καταχωρήσει ο χρήστης. Ο τίτλος είναι ένα κείμενο που εμφανίζεται στη μπάρα τίτλου του πλαισίου διαλόγου. Η προκαθορισμένη τιμή είναι ένα String που εμφανίζεται στο πλαίσιο κειμένου και αποτελεί και την τιμή επιστροφής της συνάρτησης αν δεν καταχωρήσει τίποτα ο χρήστης. Τα ορίσματα xpos και ypos είναι αριθμοί που καθορίζουν την οριζόντια και την κατακόρυφη απόσταση από την πάνω αριστερή γωνία του πλαισίου διαλόγου έως την πάνω αριστερή γωνία της οθόνης. Αν τα παραλείψουμε και τα δύο, το πλαίσιο διαλόγου θα κεντραριστεί οριζόντια.

(29)

Αν ο χρήστης επιλέξει το πλήκτρο ΟΚ ή πατήσει το πλήκτρο enter, η συνάρτηση InputBox() θα επιστρέψει το κείμενο που υπάρχει καταχωρημένο στο πλαίσιο κειμένου, ενώ αν ο χρήστης δεν καταχωρήσει κείμενο ή πατήσει το πλήκτρο Cancel, η συνάρτηση θα επιστρέψει ένα String μηδενικού μήκους (” ”).

2.1.5 Η εντολή I f

...

End If

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

ι τ » » λ t

σύνταξή της είναι απλή :

If bathmos < 10 Then Print Message1 Else

Print Message2 EndIf

Ελέγχεται η συνθήκη.

Αν η συνθήκη είναι αληθής (True), τότε η Visual Basic εκτελεί όλες τις εντολές που ακολουθούν τη δεσμευμένη λέξη THEN.

Αν όμως η συνθήκη είναι ψευδής (False), τότε εκτελείται η εντολή που ακολουθεί μετά το END IF.

29

(30)

Μπορούμε να χρησιμοποιήσουμε και τη συνάρτηση του άμεσου If (Immediate If), την IIF(), η οποία επιστρέφει μια τιμή που μπορούμε να αποθηκεύσουμε σε μια μεταβλητή και δέχεται τρία ορίσματα : τη συνθήκη, την τιμή που θα επιστραφεί αν η

συνθήκη είναι αληθής και την τιμή που θα επιστραφεί αν η συνθήκη είναι ψευδής.

Ακολουθεί ένα παράδειγμα:

a = IIF(a>=10, 0, a)

Η τιμή της μεταβλητής a θα παραμείνει η ίδια αν a<10, ενώ αν a>=10, θα γίνει ίση με 0.

2.1.6 Η εντολή Select Case

...

End Select

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

Select Case «έκφραση_ελέγχου»

[Case λίστα_εκφράσεων-ν [προτάσεις-ν]] ...

[Case Else

[προτάσεις_else]]

End Select

Select Case iAge

Case 5 'τιμή ακριβώς 5 sCategory = "Πέντε χρονών"

Case 13 To 19 'τιμή μεταξύ 13 και 19 sCategory = "Έφηβος"

Case 20 To 35, 50, 60 To 65 'μία ακριβής τιμή και δύο περιοχές τιμών sCategory = "Ενήλικας"

Case Is > 65 'τιμή μεγαλύτερη από 65 sCategory = "Πρεσβύτερος"

Case Else 'ο,τιδήποτε άλλο sCategory = "Όλοι οι άλλοι"

End Select

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

(31)

ή, εάν πρόκειται για την τελευταία χρήση, μέχρι την End Select. Έπειτα ο έλεγχος περνά στην πρόταση που ακολουθεί την End Select. Εάν η έκφραση_ελέγχου ταιριάζει με μια έκφραση της λίστας_εκφράσεων σε περισσότερες από μια φράσεις Case,

εκτελούνται μόνο οι προτάσεις που ακολουθούν το πρώτο ταίριασμα.

2.1.7 Οι δομές βοόνχων

Η Visual Basic διαθέτει τις εξής τρεις δομές βρόχων:

• While ... Wend

• Do ... Loop

• For ... Next.

Η σύνταξη της δομής While ... Wend έχει ως εξής:

While <συνθήκη>

... εντολές...

Wend

Αν η <συνθήκη> είναι αληθής (true), θα εκτελεσθούν όλες οι εντολές που ακολουθούν μέχρι την εντολή Wend και ο έλεγχος θα επιστραφεί στην εντολή While για να ελεγχθεί και πάλι η <συνθήκη>. Όταν η <συνθήκη> γίνει ψευδής, το πρόγραμμα θα συνεχίσει με την εντολή που βρίσκεται μετά από την εντολή Wend.

Η δομή Do ... Loop μάς θυμίζει τη γνωστή δομή Repeat ... Until της Pascal και σύμφωνα μ' αυτήν, επαναλαμβάνεται ένα σύνολο εντολών όσο μια συνθήκη είναι ψευδής ή μέχρι η συνθήκη να γίνει αληθής. Με τη δομή αυτή μπορούμε να βγούμε από τον βρόχο οποιαδήποτε στιγμή, χωρίς να χρειασθεί να φθάσουμε στο τέλος του βρόχου. Έχει σημασία αν θα τοποθετήσουμε την εντολή Until του βρόχου στην αρχή ή στο τέλος.

Ακολουθεί η σύνταξη της και ένα παράδειγμα:

Υπάρχουν οι εξής πέντε παραλλαγές της δήλωσης Do ... Loop:

Do

δηλώσεις Loop

31

(32)

Επαναλαμβάνεται μέχρι να βρεθεί μια δήλωση Exit Do ή μέχρι ο χρήστης να πατήσει τα πλήκτρα Control+Break.

Do While συνθήκη δηλώσεις Loop

Επαναλαμβάνεται όσο είναι αληθής η συνθήκη.

Do

δηλώσεις Loop While συνθήκη

Επαναλαμβάνεται όσο είναι αληθής η συνθήκη. Η επανάληψη εκτελείται τουλάχιστον μία φορά.

Do Until συνθήκη δηλώσεις Loop

Επαναλαμβάνεται μέχρι να γίνει αληθής η συνθήκη.

Do

δηλώσεις Loop Until συνθήκη

Επαναλαμβάνεται μέχρι να γίνει αληθής η συνθήκη. Η επανάληψη εκτελείται τουλάχιστον μία φορά.

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

For <μεταβλητή> = αρχή Το τέλος <βήμα>

... εντολές...

Next <μεταβλητή>

For i = 1 To 10 'Το Step=1 εξ ορισμού

Print InputFile("Name") 'εκτύπωση ενός πεδίου

InputFile.MoveNext 'μετάβαση στην επόμενη εγγραφή Next

(33)

For i = 1 To 100 Step 5 Print i & "%"

Next

2.1.8 Οι Πίνακες (Arrays)

Πίνακες είναι μία ακολουθία από μεταβλητές του ίδιου τύπου. Χρησιμοποιούνται συχνά όταν η κάθε μεταβλητή του πίνακα χρησιμοποιείται για την ίδια χρήση αλλά πολλές φορές αντιστοιχίζεται σε διαφορετική οντότητα.

Όπως ακριβώς δηλώσαμε τις άλλες μεταβλητές έτσι ακριβώς δηλώνονται και οι πίνακες:

Dim saNames (3) As String

Με αυτήν την δήλωση έχουμε καταφέρει την αποθήκευση 3 ονομάτων στον πίνακα saNames.

Dim saNames (3) As String 'δηλώνουμε όνομα, μέγεθος και τύπο τιμών του πίνακα

saNames(0) = "Κώστας"

saNames(1) = "Αλέκος"

saNames(2) = "Γιάννης"

For i = 0 To 2 'εκτυπώνουμε τα στοιχεία του πίνακα Print saNames(i)

Next

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

Dim saNames () As String

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

33

(34)

2.1.9 Οι Αριθμητικές Συναρτήσεις

Η Visual Basic περιλαμβάνει τις ακόλουθες αριθμητικές συναρτήσεις :

Int(): επιστρέφει το ακέραιο μέρος ενός αριθμού.

Abs(): επιστρέφει την απόλυτη τιμή ενός αριθμού.

Sgn(): επιστρέφει το πρόσημο ενός αριθμού, δηλ. 1 αν είναι θετικός, -1 αν είναι αρνητικός και 0 αν είναι μηδέν.

Fix(): επιστρέφει την αποκομμένη τιμή ενός αριθμού.

Sqr(): επιστρέφει την τετραγωνική ρίζα ενός αριθμού.

Log(): επιστρέφει τον φυσικό λογάριθμο ενός αριθμού.

Exp(): επιστρέφει την εκθετική τιμή ενός αριθμού.

Sin(): επιστρέφει το ημίτονο της τιμής σε ακτίνια μιας γωνίας.

Cos(): επιστρέφει το συνημίτονο της τιμής σε ακτίνια μιας γωνίας.

Tan(): επιστρέφει την εφαπτομένη της τιμής σε ακτίνια μιας γωνίας.

Atn(): επιστρέφει το τόξο εφαπτομένης μιας τιμής.

Rnd(): επιστρέφει έναν τυχαίο αριθμό στο διάστημα 0 έως 1, όπου συμπεριλαμβάνει το 0 αλλά όχι και το 1. Αν δεχθεί ως παράμετρο έναν αρνητικό αριθμό, παράγει την ίδια ακολουθία αριθμών κάθε φορά. Συνοδεύεται και από τη δήλωση Randomize, η οποία αρχικοποιεί την ακολουθία των τυχαίων αριθμών.

2.1.10 Οι Αλφαριθμητικές Συναρτήσεις

Η Visual Basic περιλαμβάνει τις ακόλουθες αλφαριθμητικές συναρτήσεις ή συναρτήσεις συμβολοσειράς :

Left(), επιστρέφει μια συμβολοσειρά με όσους χαρακτήρες δηλώσουμε από τα αριστερά της δεδομένης συμβολοσειράς,

π.χ. Left("Florina", 2) = "Fl"

Risht(), επιστρέφει μια συμβολοσειρά με όσους χαρακτήρες δηλώσουμε από τα δεξιά της δεδομένης συμβολοσειράς.

π.χ. Right("Florina", 3) = "ina"

(35)

Midi), επιστρέφει μια συμβολοσειρά με όσους χαρακτήρες δηλώσουμε από μια καθορισμένη θέση της δεδομένης συμβολοσειράς,

π.χ. Mid("Florina", 2, 3) = "lor",

ενώ αν δεν δηλώσουμε το μήκος των χαρακτήρων, επιστρέφεται όλη η υπόλοιπη συμβολοσειρά μέχρι το τέλος,

π.χ. Mid("Florina", 2) = "lorina"

Len(), επιστρέφει το μήκος μιας συμβολοσειράς, π.χ. Len("Florina") = 7

LTrim(), επιστρέφει μια συμβολοσειρά χωρίς τα αρχικά της κενά διαστήματα, π.χ. LTrim(" Florina") = "Florina"

RTrim(), επιστρέφει μια συμβολοσειρά χωρίς τα τελικά της κενά διαστήματα, π.χ. RTrim("Florina ") = "Florina"

Trim(), επιστρέφει μια συμβολοσειρά χωρίς τα αρχικά και τα τελικά της κενά διαστήματα,

π.χ. Trim(" Florina ") = "Florina"

Strins(), Δημιουργεί μια συμβολοσειρά με επανάληψη ενός καθορισμένου χαρακτήρα,

π.χ. String(3, "F") = "FFF"

UCase(), επιστρέφει μια συμβολοσειρά μ’ όλους τους χαρακτήρες της κεφαλαίους, π.χ. UCase("Florina") = "FLORINA"

LCase(), επιστρέφει μια συμβολοσειρά μ’ όλους τους χαρακτήρες της πεζούς, π.χ. LCase("Florina") = "florina"

InStr(), ψάχνει και επιστρέφει τη θέση μιας συμβολοσειράς μέσα σε μια άλλη.

π.χ. InStr(2, "Florina", "n") = 6

{ 35 1

(36)

2.1.11 Οι Λογικοί τελεστές

Μπορούμε να συνδυάσουμε εκφράσεις συμβολοσειρών με τους εξής λογικούς τελεστές:

> And, και οι δύο συνθήκες πρέπει να είναι αληθείς (σύζευξη).

> Or, μια ή και οι δύο συνθήκες πρέπει να είναι αληθείς (διάζευξη).

> Xor, μία μόνο από τις συνθήκες πρέπει να είναι αληθής (αποκλειστική διάζευξη).

> Eqv, και οι δύο συνθήκες πρέπει να είναι αληθείς ή και οι δύο ψευδείς (ισοδυναμία).

> Imp, είτε η πρώτη συνθήκη πρέπει να είναι ψευδής είτε η δεύτερη αληθής.

(37)

Κεφάλαιο 3

37

(38)

Κεφάλαιο 3: Εισαγωγή στα μοντέλα μόνιμης κατάστασης

3.1 Εισαγωγή στους Κατατμητές

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

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

3.1.1 Αρχή λειτουργίας υποβιβασμού τάσης

Όταν ο διακόπτης SW κλείνει για χρόνο ti, η τάση εισόδου Vs εμφανίζεται στο φορτίο. Αν ο διακόπτης μένει ανοικτός για χρόνο t2, η τάση στο φορτίο είναι μηδέν. Οι κυματομορφές της τάσης εξόδου και του ρεύματος φορτίου φαίνονται επίσης στο Σχήμα 3.1. Ο διακόπτης του κατατμητή μπορεί να υλοποιηθεί με:

• τρανζίστορ (BJT) ισχύος,

(39)

MOSFET ισχύος,

• GTO ή θυρίστορ με εξαναγκασμένη σβέση.

Τα πρακτικά στοιχεία έχουν μια πτώση τάσης που κυμαίνεται από 0.5 ως 2 V και χάριν απλοποίησης η πτώση τάσης αυτή θα αμεληθεί.

Ο kT

(b) Waveforms

t

Σχήμα 3.1 Κατατμητής υποβιβασμού τάσης με ωμικό φορτίο

Η μέση τάση εξόδου δίνεται από την σχέση:

1 [ t ,

ν* = τ } ^ dt = ^ K = f^ K = kvE ο

Και το μέσο ρεύμα φορτίου είναι:

τ = Υα

e R R

όπου Τ είναι η περίοδος κατάτμησης, k = ti/T είναι ο κύκλος λειτουργίας του κατατμητή και f είναι η συχνότητα λειτουργίας του κατατμητή. Η ενεργός τάση εξόδου βρίσκεται από την σχέση:

1 νο = ^ J =VtH

Η ισχύς εισόδου στον κατατμητή είναι η ίδια με την ισχύ εξόδου και δίνεται από την σχέση:

39

(40)

Ο κύκλος λειτουργίας k μπορεί να μεταβληθεί από 0 ως 1 με μεταβολή του χρόνου t1, της περιόδου Τ ή της συχνότητας f. Έτσι η τάση εξόδου V0 μπορεί να μεταβληθεί από 0 ως VS με μεταβολή του k και έτσι μπορεί να ελέγχεται η ροή ισχύος.

Λ ειτουργία με σταθερή συχνότητα. Η συχνότητα κατάτμησης f (ή η περίοδος κατάτμησης Τ) διατηρείται σταθερή και μεταβάλλεται ο χρόνος αγωγής t1. Το εύρος (ή πλάτος) του παλμού μεταβάλλεται και αυτός ο τύπος ελέγχου είναι γνωστός σαν έλεγχος διαμόρφωσης εύρους παλμού (PWM).

Λ ειτουργία μεταβλητής συχνότητας. Η συχνότητα κατάτμησης f μεταβάλλεται.

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

3.1.2 Κατατμητής υποβιβασμού τάσης με φορτίο RL

Ο κατατμητής με μικτό φορτίο RL φαίνεται στο παρακάτω σχήμα 3.2. Η λειτουργία του μπορεί να διαιρεθεί σε δύο τρόπους. Κατά τον τρόπο 1 ο διακόπτης είναι κλειστός και το ρεύμα ρέει από την τροφοδοσία στο φορτίο ενώ κατά τον τρόπο 2 ο διακόπτης είναι ανοικτός και το ρεύμα ρέει μέσω της διόδου ελεύθερης ροής. Τα ισοδύναμα κυκλώματα για τους δύο τρόπους φαίνονται στο σχήμα 3.3 μαζί με τις αντίστοιχες κυματομορφές για το ρεύμα φορτίου και την τάση εξόδου στην μόνιμη κατάσταση.

Chopper

Σχήμα 3.2 Κατατμητής με ωμικό φορτίο RL

Referências