5 Κυρίως κείμενο

82
1. Εισαγωγή Η διέλευση των οχημάτων αλλά και των πεζών στις διασταυρώσεις δρόμων, κυρίως σε κεντρικούς κόμβους, ελέγχονται από φωτεινούς σηματοδότες οι οποίοι όμως λειτουργούν για ένα σταθερό προκαθορισμένο χρονικό διάστημα, κατά το οποίο γίνεται η εναλλαγή μεταξύ των φωτεινών σηματοδοτών στις διάφορες λωρίδες κυκλοφορίας. Έτσι δεν είναι δυνατόν να «ευνοηθεί» η λωρίδα κυκλοφορίας οχημάτων, η οποία έχει τον μεγαλύτερο κυκλοφοριακό κόμβο, με αποτέλεσμα στις ώρες αιχμής κυρίως να δημιουργείται κυκλοφοριακή συμφόρηση και να είναι επιτακτική η ανάγκη παρουσίας τροχονόμου για την αποσυμφόρηση του κόμβου. Κάτι τέτοιο δεν θα ήταν απαραίτητο ή έστω σε πολύ μικρότερη κλίμακα αν στους φωτεινούς σηματοδότες υπήρχε δυνατότητα να λαμβάνεται υπόψη ο κυκλοφοριακός φόρτος σε κάθε λωρίδα κυκλοφορίας και αν η διάρκεια για την οποία ανάβουν οι πράσινοι φωτεινοί σηματοδότες κυρίως μπορούσε να μεταβάλλεται ανάλογα με τον κυκλοφοριακό φόρτο που έχει η κάθε λωρίδα κυκλοφορίαος. Με τον τρόπο αυτό θα ήταν εφικτό στην λωρίδα κυκλοφορίας με τον μεγαλύτερο φόρτο οι πράσινοι φωτεινοί σηματοδότες να παραμένουν αναμμένοι για μεγαλύτερο χρονικό διάστημα από ότι οι υπόλοιποι πράσινοι φωτεινοί σηματοδότες. Ο χρόνος αυτός θα υπολογίζονταν σε κάθε κύκλο. Στην παρούσα πτυχιακή εργασία υλοποιείται κατάλληλος αλγόριθμος ο οποίος λαμβάνει υπόψη τον κυκλοφοριακό φόρτο σε μια κεντρική διασταύρωση δύο δρόμων που ο καθένας έχει 1

Transcript of 5 Κυρίως κείμενο

Page 1: 5 Κυρίως κείμενο

1. Εισαγωγή

Η διέλευση των οχημάτων αλλά και των πεζών στις διασταυρώσεις

δρόμων, κυρίως σε κεντρικούς κόμβους, ελέγχονται από φωτεινούς

σηματοδότες οι οποίοι όμως λειτουργούν για ένα σταθερό προκαθορισμένο

χρονικό διάστημα, κατά το οποίο γίνεται η εναλλαγή μεταξύ των φωτεινών

σηματοδοτών στις διάφορες λωρίδες κυκλοφορίας. Έτσι δεν είναι δυνατόν να

«ευνοηθεί» η λωρίδα κυκλοφορίας οχημάτων, η οποία έχει τον μεγαλύτερο

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

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

παρουσίας τροχονόμου για την αποσυμφόρηση του κόμβου. Κάτι τέτοιο δεν

θα ήταν απαραίτητο ή έστω σε πολύ μικρότερη κλίμακα αν στους φωτεινούς

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

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

οι πράσινοι φωτεινοί σηματοδότες κυρίως μπορούσε να μεταβάλλεται

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

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

μεγαλύτερο φόρτο οι πράσινοι φωτεινοί σηματοδότες να παραμένουν

αναμμένοι για μεγαλύτερο χρονικό διάστημα από ότι οι υπόλοιποι πράσινοι

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

Στην παρούσα πτυχιακή εργασία υλοποιείται κατάλληλος αλγόριθμος ο

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

διασταύρωση δύο δρόμων που ο καθένας έχει λωρίδες κυκλοφορίας (και οι

δύο δρόμοι είναι διπλής κατευθύνσεως) και σε κάθε κύκλο υπολογίζει και

αναθέτει τον χρόνο κατά τον οποίο θα παραμείνουν αναμμένοι οι πράσινοι

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

εφαρμογή του σχετικού αλγόριθμού δημιουργήθηκε ειδική μακέτα της

διασταύρωσης, η οποία διαθέτει τους φωτεινούς σηματοδότες της

διασταύρωσης και διαθέτει επίσης και κουμπιά τα οποία προσομοιώνουν τους

αισθητήρες για την καταμέτρηση του αριθμού των οχημάτων τα οποία

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

μπορούσαν να είναι ανιχνευτές μετάλλου ή αισθητήρες πίεσης ή

δυναμοκυψέλες ή υπέρυθροι αισθητήρες ή κάμερες με την υποστήριξη

κατάλληλου λογισμικού κ.τ.λ. Ο προγραμματισμός έγινε σε PLC, το οποίο

1

Page 2: 5 Κυρίως κείμενο

ελέγχει τις συσκευές της μακέτας, της σειράς Simatic s7-300 με κεντρική

μονάδα επεξεργασίας την μονάδα CPU-314 και μονάδες επέκτασης, μια

μονάδα με 32 ψηφιακές εισόδους και μια μονάδα με 32 ψηφιακές εξόδους, της

εταιρίας Siemens. . Η εργασία αυτή αποτελείται από τέσσερα κεφάλαια τα

οποία αναλύονται παρακάτω.

Το παρών, πρώτο κεφάλαιο αποτελεί την εισαγωγή της εργασίας και

παρουσιάζει συνοπτικά τα όσα υλοποιήθηκαν για τους σκοπούς αυτής της

εργασίας.

Στο δεύτερο κεφάλαιο παρουσιάζονται οι προγραμματιζόμενοι λογικοί

ελεγκτές PLC, τα χαρακτηριστικά τους, τα πλεονεκτήματα τους καθώς και η

αρχιτεκτονική τους.

Στο τρίτο κεφάλαιο γίνεται εκτενή αναφορά στον αλγόριθμο μεταβλητού

χρόνου που δημιουργήθηκε για τους σκοπούς της παρούσας εργασίας, η

δημιουργία της μακέτας αλλά και ο προγραμματισμός του PLC Simatic s7-300

με την χρήση του ολοκληρωμένου προγράμματος Step 7, προϊόντα και τα δύο

της εταιρίας Siemens.

Το τελευταίο κεφάλαιο αποτελεί ο επίλογος ο οποίος παρουσιάζει τα

οφέλη καθώς και τις δυνατότητες της πιθανής πρακτικής εφαρμογής της

παρούσας εργασίας για τον έλεγχο φωτεινών σηματοδοτών σε πραγματική

διασταύρωση.

2

Page 3: 5 Κυρίως κείμενο

2. Προγραμματιζόμενοι Λογικοί Ελεγκτές PLC

2.1 Εισαγωγή

Στον εικοστό αιώνα, στον τομέα της βιομηχανίας και με σκοπό την

αύξηση της παραγωγής, αναζητήθηκαν μέθοδοι ελαχιστοποίησης της

ανθρώπινης παρέμβασης. Για το σκοπό αυτό υιοθετήθηκε η αρχή του

αυτοματισμού.

Ως αυτοματισμός ορίζεται η χρήση συστημάτων ελέγχου σε συνδυασμό

με άλλες εφαρμογές της τεχνολογίας των υπολογιστών για τον έλεγχο

βιομηχανικών μηχανών και διαδικασιών μειώνοντας έτσι την ανάγκη για

ανθρώπινη παρέμβαση. Στον τομέα της βιομηχανίας ο αυτοματισμός είναι ένα

βήμα μετά την χρήση των μηχανών. Έτσι με τον αυτοματισμό μειώνεται

δραστικά η ανάγκη για τις ανθρώπινες αισθήσεις και αντικατάσταση μερικών

διανοητικών λειτουργιών.

Ο αυτοματισμός παίζει σημαντικό ρόλο στην παγκόσμια οικονομία

και στην εμπειρία της καθημερινής ζωής. Οι μηχανικοί πασχίζουν να

συνδυάσουν αυτοματοποιημένες συσκευές με μαθηματικά και οργανωτικά

εργαλεία για να δημιουργήσουν πολύπλοκα συστήματα για πολλές εφαρμογές

που αφορούν σε ένα μεγάλο τομέα της ανθρώπινης δραστηριότητας.

Μέχρι πριν από τριάντα χρόνια η τεχνική του αυτοματισμού βασιζόταν

στα συστήματα συρματωμένης λογικής. Δηλαδή, η λειτουργία του

αυτοματισμού στηριζόταν στη συρμάτωση ανάμεσα στα διάφορα στοιχεία,

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

όμως έχουν πλέον καταργηθεί και έχουν αντικατασταθεί από τα συστήματα

προγραμματιζόμενης λογικής.

Οι προγραμματιζόμενοι λογικοί ελεγκτές (Programmable Logic

Controllers – P.L.C.) είναι ένας βιομηχανικός υπολογιστής που

χρησιμοποιείται για την παρακολούθηση εισόδων και ανάλογα με την

κατάστασή τους παίρνει αποφάσεις βασισμένο σε πρόγραμμα ή λογική για

τον έλεγχο των εξόδων με σκοπό τον αυτοματισμό μιας μηχανής ή μιας

διαδικασίας.

Οι συνήθεις εφαρμογές αυτών των ελεγκτών P.L.C. είναι σε αυτόματα

συστήματα, ο ελεγκτής είναι συνήθως το κεντρικό κομμάτι ενός συστήματος

3

Page 4: 5 Κυρίως κείμενο

ελέγχου διαδικασιών. Για την εκτέλεση πιο πολύπλοκων διαδικασιών είναι

δυνατή η διασύνδεση πολλών ελεγκτών με έναν κεντρικό υπολογιστή.

2.2 Ιστορική αναδρομή

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

τέλη της δεκαετία του 60 στις Η.Π.Α. Πιο συγκεκριμένα το 1968 οι μηχανικοί

της αυτοκινητοβιομηχανίας General Motors αντιμετώπισαν το παρακάτω

πρόβλημα.

Για τον έλεγχο μίας και μόνο μηχανής, ήταν αναγκαία η ύπαρξη μίας

καμπίνας μήκους δεκαπέντε μέτρων. Την οποία την διέσχιζαν πλήθος

καλωδίων εντός και εκτός του συστήματος και ένα πλήθος από Relay

(Αυτόματος ρυθμιστής-ηλεκτρονόμος) που υλοποιούσαν την λογική για τον

έλεγχο της μηχανής. Στην περίπτωση προβλήματος ή σχεδιαστικής αλλαγής

έπρεπε να υπολογιστούν όλα στο χαρτί και έπειτα αφού σταματήσει η μηχανή

να μετακινηθούν καλώδια, να προστεθούν Relay, να ανιχνευθούν τα λάθη και

να αρχίσουν όλα από την αρχή. Ευτυχώς το 1968 οι μηχανικοί της General

Motors ανέπτυξαν έναν πρότυπο ελεγκτή μηχανής το οποίο πάλι είχε ανάγκη

αντικατάστασης των Relay αλλά έπρεπε επίσης να είναι: ένα σύστημα

σταθερής κατάστασης, ευέλικτο όπως ένας υπολογιστής αλλά με

ανταγωνιστική τιμή και με παρόμοιο σύστημα λογικής Relay. Επίσης εύκολα

συντηρήσιμο και προγραμματιζόμενο σε συμφωνία με την ήδη αποδεκτό

τρόπο λειτουργίας των μηχανών. Να είναι δυνατό να λειτουργήσει σε

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

Έπρεπε να είναι τμηματοποιημένο έτσι ώστε να επιτρέπει την εύκολη

αντικατάσταση των στοιχείων του και την επεκτασιμότητα του.

Η εταιρία ανέθεσε την ανάπτυξη του συστήματος στην εταιρία “Bedford

Associates” ύστερα από διαγωνισμό και τον Ιούνιο του 1969 παρουσιάστηκε

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

περισσότερα από 1000 κομμάτια.

Ο όρος “Programmable Logic Controller (Προγραμματιζόμενος Λογικός

Ελεγκτής)” προήλθε όμως από μία άλλη εταιρία το 1971, την “Allen-Bradley”

και αντικατέστησε τον ισχύοντα όρο “Programmable Controller”

4

Page 5: 5 Κυρίως κείμενο

2.3 Πλεονεκτήματα και Μειονεκτήματα χρήσης προγραμματιζόμενου

λογικού ελεγκτή σε σχέση με άλλες μορφές αυτοματισμού

Οι προγραμματιζόμενοι λογικοί ελεγκτές παρουσιάζουν σημαντικά

πλεονεκτήματα έναντι των λύσεων του κλασικού αυτοματισμού, σε σύγκριση

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

ηλεκτρονικού υπολογιστή, η υπεροχή των προγραμματιζόμενων λογικών

ελεγκτών ούτε δεδομένη είναι ούτε ξεκάθαρη και πολλές φορές οι

προγραμματιζόμενοι λογικοί ελεγκτές μειονεκτούν έναντι των ηλεκτρονικών

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

εφαρμογές η χρήση ηλεκτρονόμων (Reley) κρίνεται καταλληλότερη, σε άλλες

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

σε άλλες η χρήση προγραμματιζόμενου λογικού ελεγκτή. Το ερώτημα πιο από

τις υφιστάμενες λύσεις αυτοματισμού είναι η ιδεατή υφίσταται για αρκετό

καιρό.

Σχετικά με την εναλλακτική λύση της χρήσης ηλεκτρονόμων, πριν

μερικά χρόνια δεν ήταν σίγουρη η υπεροχή των προγραμματιζόμενων

λογικών ελεγκτών έναντι των ηλεκτρονόμων. Με την πτώση των τιμών των

προγραμματιζόμενων λογικών ελεγκτών, την μείωση του μεγέθους τους και

την αύξηση της απόδοσης τους, το ερώτημα αυτό δεν υφίσταται πλέον. Τα

σημαντικότερα πλεονεκτήματα των προγραμματιζόμενων λογικών ελεγκτών

έναντι του κλασικού αυτοματισμού είναι τα παρακάτω:

Μεγιστοποιούν την ταχύτητα της διαδικασίας παραγωγής και κατά

συνέπεια μειώνουν πολύ γρήγορα το χρόνο απόσβεσης της

εγκατάστασης.

Στο στάδιο της μελέτης δεν υπάρχει πρόβλημα αν επαρκούν ή όχι οι

επαφές των ρελέ, των χρονικών ή των εξωτερικών τερματικών.

Η λειτουργία του αυτοματισμού μπορεί να αλλάξει πολύ εύκολα σε

οποιοδήποτε στάδιο (μελέτη, κατασκευή, θέση σε λειτουργία ή

αργότερα).

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

υπάρχει αντίστοιχο LED. Επίσης, η ροή του αυτοματισμού μπορεί να

παρακολουθείται άνετα, με τη βοήθεια μιας συσκευής

προγραμματισμού.

5

Page 6: 5 Κυρίως κείμενο

Έχουν τη δυνατότητα επέκτασης. Δηλαδή αν προστεθεί κάποια

καινούρια διαδικασία ή χρειάζεται κάποιος επιπλέον έλεγχος, μπορεί με

την προσθήκη των κατάλληλων καρτών εισόδων / εξόδων (I/O), το ίδιο

το PLC να την πραγματοποιήσει.

Ο αυτοματισμός παραδίνεται συντομότερα σε λειτουργία, επειδή η

μελέτη μπορεί να γίνεται παράλληλα με την τοποθέτηση και

συρμάτωση του ελεγκτή.

Δεν υπάρχει το γνωστό πρόβλημα των «μη ενημερωμένων» σχεδίων

του πίνακα αυτοματισμού μετά από λίγο καιρό. Ο ελεγκτής έχει πάντα

κρατημένο «μέσα του» το τελευταίο πρόγραμμα, το οποίο μπορεί να

διαβαστεί με μία συσκευή προγραμματισμού ή να εκτυπωθεί σε χαρτί.

Υπάρχει σημαντική οικονομία στο χώρο, τη συντήρηση (δεν υπάρχουν

μηχανικές επαφές) και την κατανάλωση ενέργειας.

Η τοποθέτηση μπορεί να γίνει χωρίς κίνδυνο και μέσα σε πεδία ισχύος.

Ένας ελεγκτής μπορεί να συνδεθεί με περιφερειακές μονάδες για

επιτήρηση έλεγχο της εγκατάστασης (οθόνη, εκτυπωτής,

πληκτρολόγιο), καταργώντας το κλασικό μιμητικό διάγραμμα και τον

πίνακα χειρισμών. Επίσης, μπορεί να συνδεθεί με ηλεκτρονικό

υπολογιστή για ανταλλαγή στοιχείων.

Η γλώσσα προγραμματισμού είναι προσαρμοσμένη στο βιομηχανικό

αυτοματισμό και άρα είναι προσιτή στο προσωπικό που μέχρι σήμερα

συντηρούσε τους κλασσικούς πίνακες αυτοματισμού.

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

(bus), πράγμα που επιταχύνει την διαδικασία ανταλλαγής

πληροφοριών.

Τα PLC έχουν σχεδόν απεριόριστη διάρκεια ζωής λόγω των ασθενών

ρευμάτων που χρησιμοποιούν.

Ο ελεγκτής μιας λειτουργίας είναι ένα απλό όργανο που ελέγχει μία

μόνο παράμετρο, όπως για παράδειγμα ένας ελεγκτής PID (Proportional,

Integral, Derivative) που μετράει τη θερμοκρασία με σκοπό τον έλεγχο της

θέρμανσης. Έχει το πλεονέκτημα να τα προσφέρει όλα τα απαραίτητα

εργαλεία σε ένα πακέτο, όπως οθόνη για την εμφάνιση των απαραίτητων

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

έλεγχο της συσκευής. Ένας τέτοιος ελεγκτής σε περιπτώσεις απλών

6

Page 7: 5 Κυρίως κείμενο

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

προγραμματιζόμενος λογικός ελεγκτής μπορεί να το ανταγωνιστεί σε τιμή και

λειτουργικότητα, ειδικά για τις περιπτώσεις που είναι απαραίτητη η χρήση

αρκετών ελεγκτών. Τα plc παρέχουν αρκετές δυνατότητες επιλογών επειδή

μπορούν να προγραμματιστούν έτσι ώστε να χειρίζονται ένα πλήθος

διαφορετικών περιπτώσεων.

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

εναλλακτική χρήσης ηλεκτρονικού υπολογιστή για την δημιουργία εφαρμογών

αυτοματισμού. Όμως σε σύγκριση με τους ηλεκτρονικούς υπολογιστές, οι

προγραμματιζόμενοι λογικοί ελεγκτές υπερτερούν σε αρκετά καίρια σημεία

όπως τα παρακάτω:

Ενώ τα plc έχουν σχεδιαστεί για να λειτουργήσουν σε αντίξοες

συνθήκες με ηλεκτρομαγνητικό θόρυβο, υψηλές δονήσεις και ακραίες

συνθήκες θερμοκρασίας ή υγρασίας, οι συνηθισμένοι υπολογιστές δε

μπορούν να λειτουργήσουν σε τέτοια εχθρικά περιβάλλοντα φυσικά

υπάρχουν βιομηχανικοί υπολογιστές, οι οποίοι όμως κοστίζουν πολύ

περισσότερο.

Εκ σχεδιασμού, τα plc είναι φιλικότερα προς τους τεχνικούς σε λογική

ladder και έχουν εύκολες συνδέσεις. Βέβαια και τα λειτουργικά

συστήματα όπως τα windows ή το Linux είναι ιδιαίτερα συνηθισμένα, η

σύνδεση ενός υπολογιστή ενός υπολογιστή με συσκευές εισόδου και

εξόδου δεν είναι εύκολη υπόθεση.

Τα plc σε rack είναι εύκολο να αλλαχθούν και να προστεθούν μέρη.

Είναι σχεδιασμένα για τμηματοποιημένη ανάπτυξη και απεκτασιμότητα.

Οι συνιθισμένοι υπολογιστές περιορίζονται από τον αριθμό των

καρτών που μπορούν να υποδεχτούν και δεν επεκτείνονται εύκολα.

Τα plc εκτελούν ένα απλό πρόγραμμα με ακολουθιακή σειρά. Έχουν

υψηλή ικανότητα χειρισμού συμβάντων σε πραγματικό χρόνο. Σε

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

καταστήσει ικανά να χειρίζονται ταυτόχρονες διαδικασίες. Συναντούν

όμως ιδιαίτερη δυσκολία στο χειρισμό συμβάντων σε πραγματικό

χρόνο.

7

Page 8: 5 Κυρίως κείμενο

Ένα plc σπάνια δυσλειτουργεί για μεγάλες χρονικές περιόδους ενώ

στους ηλεκτρονικούς υπολογιστές η κακή λειτουργία είναι ένα

συνηθισμένο φαινόμενο.

Στα plc οι γλώσσες είναι περιορισμένες σε λογική Ladder, state logic

(stl) και Funcion Block Diagram (fbd). Σε έναν ηλεκτρονικό υπολογιστή

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

προγραμματιστικά περιβάλλοντα που θα αναπτυχθεί η εφαρμογή,

καμιά όμως από αυτές δεν είναι εξειδικευμένη στην δημιουργία

εφαρμογών αυτοματισμού όπως οι γλώσσες προγραμματισμού ενός

PLC.

Μπορεί το κόστος ενός προγραμματιζόμενου λογικού ελεγκτή να

φαντάζει αυξημένο, σε σχέση όμως με το κόστος που απαιτείτε για να

αποκτήσει το κατάλληλο υλικό άλλα και λογισμικό ένας ηλεκτρονικός

υπολογιστής, ώστε να μπορεί να επιτελέσει ανάλογες λειτουργίες, το

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

μικρότερο.

2.4 Αρχιτεκτονική Προγραμματιζόμενου Λογικού Ελεγκτή Simatic S7-300

της εταιρίας Siemens

Η οικογένεια των προγραμματιζόμενων λογικών ελεγκτών Siemens

Simatic S7 αποτελείται από μία ευρεία γκάμα συστημάτων τα οποία έχουν

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

Οι βασικές μονάδες είναι τα Simatic S7-200, Simatic S7-300 και Simatic S7-

400. Το S7-200 χρησιμοποιείται σε μικρής κλίμακας εφαρμογές, αποτελείται

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

να αποκτήσει περισσότερες δυνατότητες. Τα S7-300 και 400 απευθύνονται

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

ισχύος αντίστοιχα, όμως ακολουθούν μία διαφορετική, «αρθρωτή» λογική σε

σχέση με το μικρότερο S7-200. (Jones, C. 2006)

Δεν είναι ενιαία συσκευή αλλά έχει αρθρωτή μορφή και αποτελείται από

μονάδες (modules) οι οποίες εκτελούν η κάθε μία διαφορετική εργασία.

Αποτελούνται από μία βάση στην οποία τοποθετούνται το τροφοδοτικό, ο

επεξεργαστής, και οι διάφορες μονάδες εισόδου και εξόδου. Αν υπάρξει η

8

Page 9: 5 Κυρίως κείμενο

ανάγκη για περισσότερες μονάδες εισόδου-εξόδου μπορούμε να συνδέσουμε

επιπλέον βάσεις επέκτασης.

Οι βασικότερες μονάδες (modules) που υποστηρίζουν οι

προγραμματιζόμενοι λογικοί ελεγκτές Simatic S7-300 και Simatic S7-400

παρουσιάζονται στον παρακάτω πίνακα:

Μονάδα Λειτουργία

Βάση Στήριξης

(Rack)

Μεταλλική βάση στήριξης για την

εγκατάσταση τον διαφόρων μονάδων

σε σειρά.

9

Page 10: 5 Κυρίως κείμενο

Τροφοδοτικό

(Power Supply)

Παροχή απαιτούμενης τάσης στις

υπόλοιπες μονάδες.

Κεντρική Μονάδα Επεξεργασίας

(Central Processing Unit)

Αποθήκευση και εκτέλεση του

προγράμματος ελέγχου του χρήστη

και άλλων δεδομένων.

Μονάδα Σημάτων

(Signal Modules)

Διαχειρίζεται τα ψηφιακά και

αναλογικά σήματα εισόδου, εξόδου

και συνδέεται συνήθως με αισθητήρες

πεδίου και μοτέρ κίνησης (τύπου

actuator)

Μονάδα Διεργασιών

(Function Modules)

Μονάδα που εκτελεί εντολές ελέγχου

χωρίς να χρησιμοποιεί τον

επεξεργαστή.

Μονάδα Επικοινωνίας

(Communication Processors)

Χρησιμοποιείται για την δικτύωση

μεταξύ ελεγκτών PLC και άλλων

σταθμών εργασίας.

Μονάδα διασύνδεσης

(Interface Modules)

Χρησιμοποιείται για την εσωτερική

σύνδεση των κεντρικών και

δευτερεύων βάσεων στήριξης.

Συσκευή Προγραμματισμού

(Programming Device)

Μεταγλωττίζει το πρόγραμμα του

χρήστη σε γλώσσα κατανοητή από

τον ελεγκτή P.L.C..

Μονάδα M.P.I.

(Multi-Point Interface)

Μονάδα για την σύνδεση και τον

έλεγχο συσκευών που χρησιμοποιούν

το πρότυπο M.P.I.

Μονάδα D.P.

(Distributed I/O)

Μονάδα για την σύνδεση και τον

έλεγχο συσκευών που χρησιμοποιούν

το πρότυπο Profibus D.P.

Πίνακας 2.1 Λειτουργικές μονάδες PLC Simatic s7-300 και s7-400 (Jurgen, B. 2005)

Στην παρακάτω εικόνα 2.1 παρουσιάζεται ένας σταθμό εργασίας με

ελεγκτή P.L.C.. Ο σταθμός αυτός αποτελείτε από το λογισμικό με το οποίο

συντάσσετε το πρόγραμμα σε έναν υπολογιστή, ένα καλώδιο για την σύνδεση

του υπολογιστή με τον ελεγκτή και τον προγραμματισμό της μνήμης του PLC

10

Page 11: 5 Κυρίως κείμενο

με το πρόγραμμα που έχει αναπτυχθεί στον ηλεκτρονικό υπολογιστή. Ο

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

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

συνδεδεμένη με τις μονάδες εισόδου και εξόδου

Εικόνα 2.1 Σταθμός εργασίας με ελεγκτή P.L.C. (Working with Step 7 V5.3,

2004)

Στην παρούσα πτυχιακή εργασία έγινε χρήση του προγραμματιζόμενου

λογικού ελεγκτή Simatic S7-300 της εταιρίας Siemens, οι οποίοι προορίζονται

για μεσαίας κλίμακας βιομηχανικές εφαρμογές. Τα κυριότερα χαρακτηριστικά

τους είναι:

11

Page 12: 5 Κυρίως κείμενο

Μνήμη προγράμματος μέχρι 85Κ

Μέχρι 1024 εισόδους και εξόδους

Ενσωματωμένη πολυκομβική διασύνδεση (MPI) για δημιουργία μικρών

δικτύων και για σύνδεση με την προγραμματίστρια μονάδα

Μεγάλη ταχύτητα. Μία CPU μπορεί να εκτελέσει 1024 δυαδικές

πράξεις σε 0.1

MODULAR μορφή

Δυνατότητα επέκτασης έως και 32 κάρτες.

Ενσωματωμένες ειδικές λειτουργίες: counters, positioners, έλεγχος

κλειστού βρόχου με τις CPU 3xx IFM

Ενσωματωμένη διασύνδεση PROFIBUS-DP στη σειρά S7-300 2DP.

Χρήση της CPU ως master ή slave

Ενσωματωμένες λειτουργίες για HMI

Εύκολη και γρήγορη διαμόρφωση και προγραμματισμός μέσω

λογισμικού STEP7

Εκτεταμένες διαγνωστικές λειτουργίες μέσω του STEP7. Μηνύματα

σφαλμάτων που αποθηκεύονται στον διαγνωστικό buffer με αναγραφή

ημερομηνίας και ώρας.

Μεγάλη ποικιλία από CPU για καλύτερη επιλογή αναλόγως εφαρμογής.

Μεγάλες δυνατότητες δικτύωσης (MPi, PROFIBUS, Industrial Ethernet)

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

32-bit σετ εντολών για μαθηματικές συναρτήσεις

Ελεύθερη διευθυνσιοδότηση των καρτών 9

Στην παρακάτω εικόνα παρουσιάζεται μια τυπική σύνθεση ενός

προγραμματιζόμενου λογικού ελεγκτή Simatic S7-300.

12

Page 13: 5 Κυρίως κείμενο

Εικόνα 2.2 Τυπική σύνθεση ελεγκτή Simatic S7-300

2.4.1 Βάση Στήριξης (Rack)

Μεταλλικό πλαίσιο πάνω στο οποίο συνδέονται σειριακά οι επιμέρους

μονάδες (modules). Διαθέτει έντεκα θέσεις. Στην πρώτη θύρα τοποθετείται το

τροφοδοτικό, στη δεύτερη ο κεντρικός επεξεργαστής, στην τρίτη θύρα η

μονάδα διεπαφών καιι στις υπόλοιπες θύρες μπορούν να τοποθετηθούν μέχρι

οκτώ μονάδες εισόδου-εξόδου.

Εάν απαιτούνται περισσότερες μονάδες εισόδου - εξόδου είναι δυνατόν να

συνδεθούν επιπλέον βάσεις επέκτασης. Η μέγιστη δυνατή σύνθεση που

μπορεί να επιτευχθεί με τον ελεγκτή Simatic S7-300 είναι τέσσερις βάσεις

στήριξης και συνολικά, τριάντα δύο μονάδες εισόδου - εξόδου.

13

Page 14: 5 Κυρίως κείμενο

Εικόνα 2.3 Τρόποι διασύνδεσης στο Simatic S7-300 (Berger, H. 2003)

2.4.2 Συσκευή Προγραμματισμού (Programming Device)

Η συσκευή προγραμματισμού χρησιμοποιείται για την μεταφορά και τη

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

μνήμη του επεξεργαστή του ελεγκτή.

Εικόνα 2.4 Συσκευή προγραμματισμού PLC Simatic S7-300

14

Page 15: 5 Κυρίως κείμενο

2.4.3 Τροφοδοτικό (Power Supply)

Το τροφοδοτικό παρέχει την απαιτούμενη ποσότητα ρεύματος για την

λειτουργία όλων των μονάδων. Τα τροφοδοτικά που είναι κατάλληλα για την

σειρά PLC Simatic S7-300 έχουν την κωδική ονομασία PS 307. Στην

παρακάτω εικόνα παρουσιάζεται ένα τέτοιου τύπου τροφοδοτικό.

Εικόνα 2.5 Τροφοδοτικό τύπου PS 307

Όλα τα τροφοδοτικά αυτού του τύπου, δέχονται 120V/230V

εναλλασσόμενης τάσης ως είσοδο και βγάζουν ως έξοδο 24V συνεχούς τάσης

για την τροφοδοσία των μονάδων. Επίσης περιέχεται και ενσωματωμένη

μπαταρία, συνήθως λιθίου, για την διατήρηση της μνήμης RAM σε περίπτωση

διακοπής τάσης του δικτύου. Παρακάτω παρουσιάζεται ο τρόπος

καλωδίωσης μεταξύ τροφοδοτικού και επεξεργαστή.

15

Page 16: 5 Κυρίως κείμενο

Εικόνα 2.6 Καλωδίωση τροφοδοτικού τύπου PS 307

2.4.4 Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit)

Η κεντρική μονάδα επεξεργασίας η οποία συνηθίζεται να συμβολίζεται

με CPU (Central Processing Unit) είναι ταυτόχρονα ο εγκέφαλος και η

κινητήριος δύναμη ενός PLC. Η κεντρική μονάδα επεξεργασίας

πραγματοποιεί πολλαπλές βασικές λειτουργίες:

Διάβασμα, ερμηνεία και εκτέλεση, με τη σωστή διαδοχή, των οδηγιών,

που περιέχονται στην μνήμη.

Έλεγχο του πρωτοκόλλου επικοινωνίας που έχουμε καθορίσει στο

σύστημα μας.

Αποθήκευση των πληροφοριών

Εκτέλεση αριθμητικών πράξεων

Κατά μια άποψη εάν συγκρίνουμε την CPU με την καλωδιωμένη

λογική, τότε η CPU είναι το στοιχείο εκείνο το οποίο πραγματοποιεί τις

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

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

λειτουργία είναι «παράλληλη», το PLC εκτελεί τις λειτουργίες του με

«σειριακό» τρόπο, για τον λόγο αυτό στα PLC είναι χαρακτηριστική η

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

Εσωτερικά η κεντρική μονάδα επεξεργασίας περιέχει:

α) τον μικροεπεξεργαστή, ο οποίος εκτελεί τις εντολές των

προγραμμάτων που έχει αποθηκευμένες η μνήμη, καθορίζει την σειρά

16

Page 17: 5 Κυρίως κείμενο

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

και

β) την μνήμη η οποία χωρίζεται σε τρεις κατηγορίες:

1. Μνήμη φόρτωσης (Load Memory)

2. Μνήμη εργασίας (Work memory)

3. Μνήμη συστήματος (System memory)

Επίσης η μνήμη του PLC είναι οργανωμένη σε διάφορες περιοχές, οι οποίεςς

είναι:

Μνήμη απεικόνισης εισόδων PII. Σε αυτήν την περιοχή αποθηκεύονται

οι τιμές των εισόδων που διαβάζει η CPU από τις κάρτες εισόδου στην

αρχή κάθε κύκλου λειτουργίας.

Μνήμη απεικόνισης εξόδων PIQ. Σε αυτήν την περιοχή αποθηκεύεται η

τιμή κάθε μια από τις χρησιμοποιούμενες εξόδους κατά την χρονική

περίοδο του κύκλου λειτουργίας κατά την οποία εκτελείται το

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

στέλνεται για να ενημερώσει τις κάρτες εξόδου.

Βοηθητικά Μ (Memory). Σε αυτήν την περιοχή της μνήμης

αποθηκεύονται ενδιάμεσα αποτέλεσμα τα οποία έχουν υπολογιστεί

κατά την εκτέλεση του προγράμματος.

Χρονικά Τ (Timers) . Είναι η περιοχή της μνήμης του συστήματος όπου

αποθηκεύονται οι χρόνοι των χρονικών που χρησιμοποιούμε.

Απαριθμητές C (Counters). Είναι η περιοχή της μνήμης του

συστήματος όπου αποθηκεύονται τα περιεχόμενα των απαριθμητών.

Τοπικά βοηθητικά L (Local Data). Είναι η περιοχή της μνήμης του

συστήματος όπου αποθηκεύονται προσωρινά δεδομένα ενός μπλοκ

που περιέχει κώδικα (π.χ. ενός ΟΒ, FB, FC). Τα τοπικά βοηθητικά

έχουν ισχύ όσο τρέχει το συγκεκριμένο μπλοκ τo οποία τo περιέχει.

Διαγνωστικά (Diagnostics). Καταχωρούνται διάφορες ενέργειες που

έχουν γίνει στο σύστημα με ώρα και ημερομηνία όπως CPU σε

RUN/STOP, βραχυκυκλωμένη κάρτα αναλογικών.

Παρακάτω παρουσιάζεται με κεντρική μονάδα επεξεργασίας PLC της σειράς

Simatic S7-300 της εταιρίας Siemens.

17

Page 18: 5 Κυρίως κείμενο

Εικόνα 2.7 Κεντρική μονάδα επεξεργασίας Simatic S7-300

Τέλος η οικογένεια S7-300 αποτελείται από μια μεγάλη γκάμα με

διαφορετικές CPU στην διάθεση του χρήστη. Διαφέρουν κυρίως ως προς το:

Εάν έχουν ή όχι ενσωματωμένες εισόδους / εξόδους.

Εάν έχουν ή όχι ενσωματωμένο profibus DP intarface.

Πλήθος των εισόδων / εξόδων που υποστηρίζουν

Μέγεθος της ενσωματωμένης μνήμης RAM

2.4.5 Μονάδα Εισόδου (Input Module)

Στην μονάδα εισόδου, συνδέονται οι συσκευές πεδίου, όπως

διακόπτες, μπουτόν και αισθητήρες. Μια μονάδα εισόδων έχει συνήθως 4, 8,

16 ή 32 εισόδους, ανάλογα με τον τύπο του ελεγκτή και τη τάση. Ο ελεγκτής

αντιλαμβάνεται ότι μία συσκευή είναι ανοιχτή ή κλειστή από το αν εμφανίζεται

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

μονάδα δεκαέξι ψηφιακών εισόδων για τα PLC Simatic της σειράς S7-300.

18

Page 19: 5 Κυρίως κείμενο

Εικόνα 2.8 Μονάδα εισόδων για PLC της σειράς S7-300

2.4.6 Μονάδα Εξόδου (Output Module)

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

εργασίας όπως λαμπτήρες, κινητήρες, αντλίες και βαλβίδες. Όταν από το

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

Relay, τότε κλείνει ο αντίστοιχος «διακόπτης» της εξόδου. Τα κυκλώματα και

οι τάσεις των εισόδων είναι τελείως ανεξάρτητα από τα κυκλώματα και τις

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

διαφορετική από την τάση για τις εξόδους. Επιπλέον υπάρχει η δυνατότητα

και ξεχωριστής τάσης ανά μονάδα εισόδων ή εξόδων. Συνήθως μια μονάδα

εξόδων περιλαμβάνει 4 ή 8 ή 16 ή 32 εξόδους, ανάλογα με τον τύπο του

ελεγκτή και την τάση. Στην παρακάτω εικόνα παρουσιάζεται με μονάδα με

τριάντα δύο ψηφιακές εξόδους για τα PLC της σειράς Simatic S7-300.

19

Page 20: 5 Κυρίως κείμενο

Εικόνα 2.9 Μονάδα εξόδων για PLC της σειράς S7-300

2.4.7 Μονάδα αναλογικών εισόδων (Analog Input)

Για να επεξεργαστούμε ηλεκτρικά σήματα, με συνεχή μεταβολή της

τιμής τους, στο PLC χρειαζόμαστε κάρτες αναλογικών σημάτων. Οι κάρτες

αναλογικών εισόδων έχουν τον ρόλο να διαβάζουν ένα ηλεκτρικό μέγεθος και

να το μετατρέπουν σε ένα αριθμό (δυαδική αναπαράσταση) το οποίο πλέον

μπορεί η CPU να αναγνωρίσει και να επεξεργαστεί. Οι κάρτες αναλογικών

εισόδων δέχονται ηλεκτρικά σήματα τάσης ή έντασης. Οι τυποποιημένες τιμές

έντασης τις οποίες μπορεί να διαβάσει μια αναλογική κάρτα εισόδων είναι 0 –

20 mA ή 4 – 20 mA για δε τα σήματα τάσης έχουμε 0 ÷ 10 V ή ± 10 V. Ένα

άλλο μέγεθος που μας ενδιαφέρει στην επιλογή μιας κάρτας αναλογικών

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

καταλαμβάνει χώρο 16 bit. Στην κάτω εικόνα παρουσιάζεται η μορφολογία και

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

20

Page 21: 5 Κυρίως κείμενο

Εικόνα 2.9 Μονάδα αναλογικών εισόδων για PLC της σειράς S7-300

Ένα ακόμα μεγάλο πλεονέκτημα της σειράς S7 είναι ότι μια αναλογική

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

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

κάρτα όσο και στο λογισμικό.

2.4.8 Μονάδα αναλογικών εξόδων (Analog Output)

Οι κάρτες αναλογικών εξόδων έχουν τον ρόλο να μετατρέψουν το

αριθμητικό μέγεθος με το οποίο «σκέπτεται» η CPU στην κατάλληλη τιμή

έντασης ή τάσης ώστε να μπορεί να οδηγηθεί το ανάλογο εξάρτημα που

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

καρτών είναι σε πλήρη αντιστοιχία με αυτή των αναλογικών εισόδων μια και

εκτελούν απλώς την αντίστροφη διαδικασία.

21

Page 22: 5 Κυρίως κείμενο

3. Υλοποίηση και πρακτική εφαρμογή

3.1 Εισαγωγή

Στόχος της εργασίας ήταν η ανάπτυξη ενός συστήματος δυναμικής

λειτουργίας φωτεινών σηματοδοτών, με την χρήση PLC. Για το σκοπό αυτό

δημιουργήθηκε κατάλληλος αλγόριθμος προγραμματισμού του PLC μέσω του

οποίου λαμβάνεται υπόψη ο κυκλοφοριακός φόρτος στις διάφορες λωρίδες

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

οχημάτων στην κάθε λωρίδα, με σκοπό την βέλτιστη ροή και την μικρότερη

κυκλοφοριακή συμφόρηση σ’ αυτές.

3.2 Κατασκευή μακέτας

Για την πρακτική εφαρμογή του συστήματος κατασκευάστηκε μακέτα

μιας κεντρικής διασταύρωσης δύων δρόμων (συνολικά τέσσερεις λωρίδες

κατευθύνσεων, δύων ανά δρόμο) ,μαζί με διαβάσεις για πεζούς, η οποία

εκτυπώθηκε από ειδικό τρισδιάστατο εκτυπωτή zprinter 400 της εταιρίας Z

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

την βοήθεια των οποίων γίνετε καταμέτρηση του αριθμού των οχημάτων, τα

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

μακέτα έγινε με την χρήση κουμπιών (push button) και η πίεση κάθε κουμπιού

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

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

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

μακέτα, κατασκευάστηκαν με την βοήθεια ειδικού τρισδιάστατου εκτυπωτή και

σε αυτούς τοποθετήθηκαν λαμπάκια LED, τα οποία λειτουργούν στα 2,5 Volt,

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

εξόδου λειτουργεί στα 24 Volt και στα 0,5A, κάθε λαμπάκι LED συνδέθηκε σε

σειρά με αντίσταση 1ΚΩ για να είναι δυνατόν η λειτουργία των LED χωρίς να

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

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

παρουσιάζετε η μακέτα κατά την διαδικασία της εκτύπωσης, τα τμήματα της

μακέτας κατά την εκτύπωση.

22

Page 23: 5 Κυρίως κείμενο

Εικόνα 3.1 Εκτύπωση μακέτας

Εικόνα 3.2 Τμήμα μακέτας μετά την εκτύπωση

23

Page 24: 5 Κυρίως κείμενο

Εικόνα 3.3 Φωτεινοί σηματοδότες μετά την εκτύπωση

Οι φωτεινή σηματοδότες καθώς και τα κουμπιά (αισθητήρες) της

μακέτας ελέγχονται από τον προγραμματιζόμενο λογικό ελεγκτή PLC Simatic

S7-300 της εταιρίας Siemens. Για την υλοποίηση του αλγορίθμου, ο οποίος

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

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

προγραμματισμό του PLC Simatic S7-300 της εταιρίας Siemens, ώστε να

ελέγχει επιτυχώς τα κουμπιά και τα λαμπάκια LED της μακέτας, συντάχθηκε

κώδικας σε γλώσσα Ladder με την βοήθεια του προγράμματος Step 7 της

εταιρίας Siemens. Το πρόγραμμα Step 7, αποτελεί μια ολοκληρωμένη λύση

για τον προγραμματισμό των PLC της εταιρίας Siemens, της σειρά 300 και

400.

Με την ολοκλήρωση της εργασίας, το PLC Simatic S7-300 μετράει

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

υπολογίζει και αναθέτει τον χρόνο που θα παραμείνει το πράσινο φανάρι

αναμμένο σε κάθε λωρίδα. Ο χρόνος που ανάβουν τα πορτοκαλί φανάρια

παραμένει σταθερός, ενώ ο χρόνος που ανάβουν τα κόκκινα φανάρια σε κάθε

24

Page 25: 5 Κυρίως κείμενο

λωρίδα κυκλοφορίας εξαρτάται από τον χρόνο που θα παραμείνουν αναμμένα

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

ανάψει τα πράσινα φανάρια και στις τέσσερεις λωρίδες κυκλοφορίας μια

φορά, δίνεται χρόνος για την διέλευση των πεζών σε όλες τις λωρίδες. Τέλος

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

ασφαλείας, όπου για τρία δευτερόλεπτα είναι όλα τα φανάρια κόκκινα (και για

τα οχήματα και για τους πεζούς), δίνοντας περιθώριο σε κάποιο όχημα που

διήλθε με πορτοκαλί να μην προκαλέσει τροχαίο ατύχημα.

3.3 Αλγόριθμος μεταβλητού χρόνου

Για τους σκοπούς της εργασίας αναπτύχθηκε αλγόριθμος ο οποίος

λαμβάνει υπόψη τον κυκλοφοριακό φόρτο στις διάφορες λωρίδες

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

οχημάτων σε κάθε λωρίδα με σκοπό την βέλτιστη ροή και την μικρότερη

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

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

μπορεί να τροποποιηθεί και να εφαρμοστεί εξίσου εύκολα σε κάθε μορφής

κυκλοφοριακό κόμβο (διασταύρωση δρόμων).

Οι αισθητήρες (κουμπιά button) που υπάρχουν τοποθετημένοι στην

μακέτα δίνουν σήμα σε αντίστοιχους μετρητές του PLC, με αποτέλεσμα να

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

κυκλοφορίας. Οι τιμές αυτές εισέρχονται στον αλγόριθμο, ο οποίος αφού

υπολογίσει τους νέους χρόνους που απαιτούνται να παραμείνουν οι πράσινοι

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

χρονικών (timer’s) οι οποίοι ελέγχουν τον χρόνο κατά τον οποίο παραμένουν

αναμμένοι οι πράσινοι φωτεινοί σηματοδότες για τα οχήματα.

Συγκεκριμένα στην μακέτα υλοποιείται μια κεντρική διασταύρωση δύο

δρόμων, που ο κάθε δρόμος έχει δύο ρεύματα κυκλοφορίας, οπότε συνολικά

υπάρχουν τέσσερα ρεύματα κυκλοφορίας. Τα δύο ρεύματα κυκλοφορίας

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

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

ρεύμα και για τους δύο δρόμους, αυτό από το οποίο διήλθαν τα περισσότερα

οχήματα, δηλαδή το ρεύμα που έχει τον μεγαλύτερο κυκλοφοριακό φόρτο. Αν

25

Page 26: 5 Κυρίως κείμενο

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

φωτεινούς σηματοδότες για τα οχήματα και στα δύο ρεύματα ο αλγόριθμος

ρυθμίζει τον χρόνο που θα παραμείνουν αυτοί αναμμένοι στα τριάντα

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

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

κανένα δρόμο δεν διέλθουν οχήματα τότε οι σηματοδότες αυτοί παραμένουν

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

που διέλθουν και από τους δύο δρόμους οχήματα, υπολογίζεται ο μέγιστος

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

από πιο δρόμο διήλθαν τα περισσότερα αυτοκίνητα, γίνεται διαίρεση μεταξύ

του μέγιστου αριθμού των οχημάτων που διήλθαν από τον δρόμο με τον

μεγαλύτερο κυκλοφοριακό φόρτο, με τον μέγιστο αριθμό των οχημάτων που

διήλθαν από τον άλλον δρόμο με τον μικρότερο κυκλοφοριακό φόρτο, ο

αριθμός που προκύπτει πολλαπλασιάζετε με τον αριθμό τριάντα και αφού

στρογγυλοποιηθεί επιλέγεται ο ελάχιστος αριθμός μεταξύ του αριθμού αυτού

και του αριθμού εξήντα. Ο τελικός αριθμός από τους παραπάνω

υπολογισμούς αποτελεί τον χρόνο σε δευτερόλεπτα, κατά τον οποίο θα

παραμείνουν αναμμένοι οι πράσινοι φωτεινοί σηματοδότες για τα οχήματα

στον δρόμο με τον μεγαλύτερο κυκλοφοριακό φόρτο, ενώ οι αντίστοιχοι

πράσινοι φωτεινοί σηματοδότες του δεύτερου δρόμου θα παραμείνουν

αναμμένοι για τριάντα δευτερόλεπτα.

Αναλυτικά ο αλγόριθμος εκτελεί τα παρακάτω βήματα:

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

κυκλοφορίας του δρόμου Α

A=max(A1,A2)

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

κυκλοφορίας του δρόμου B

B=max(B1,B2)

3. Ελέγχει αν από κάποιο δρόμο δεν διήλθαν καθόλου οχήματα

4. Αν από κάποιον δρόμο δεν διήλθαν οχήματα οι πράσινοι φωτεινοί

σηματοδότες του δρόμου αυτού θα ανάψουν για τριάντα δευτερόλεπτα

και του άλλου δρόμου για εξήντα δευτερόλεπτα

26

Page 27: 5 Κυρίως κείμενο

5. Αν και από τους δύο δρόμους δεν διήλθε κανένα όχημα ή διήλθε ο

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

δύο δρόμους θα ανάψουν για τριάντα δευτερόλεπτα

6. Αν από τον δρόμο Α διήλθαν περισσότερα οχήματα, τότε ο χρόνος που

θα παραμείνουν οι πράσινοι φωτεινοί σηματοδότες αναμμένοι στο

δρόμο Α υπολογίζεται από τον τύπο

min((A/B*30), 60)

ενώ οι αντίστοιχοι φωτεινοί σηματοδότες του άλλου δρόμου θα

παραμείνουν αναμμένοι για 30 δευτερόλεπτα

7. Τέλος αν από τον δρόμο Β διήλθαν περισσότερα οχήματα, τότε ο

χρόνος που θα παραμείνουν οι πράσινοι φωτεινοί σηματοδότες

αναμμένοι στο δρόμο Α υπολογίζεται από τον τύπο

min((Β/Α*30), 60)

ενώ οι αντίστοιχοι φωτεινοί σηματοδότες του άλλου δρόμου θα

παραμείνουν αναμμένοι για 30 δευτερόλεπτα

Παρακάτω παρουσιάζεται το διάγραμμα ροής του αλγόριθμου, ο

οποίος υλοποιεί τον μεταβλητό χρόνο για τους φωτεινούς σηματοδότες της

διασταύρωσης, βάση του κυκλοφοριακού φόρτου κάθε λωρίδας κυκλοφορίας.

27

Page 28: 5 Κυρίως κείμενο

Διάγραμμα 3.4.1 Διάγραμμα ροής αλγόριθμου μεταβλητού χρόνου

28

Page 29: 5 Κυρίως κείμενο

3.4 Υλοποίηση αλγόριθμου μεταβλητού χρόνου σε γλώσσα

προγραμματισμού PLC Ladder

Ο αλγόριθμος μεταβλητού χρόνου για τους φωτεινούς σηματοδότες,

υλοποιήθηκε σε πρόγραμμα με την βοήθεια της γλώσσα προγραμματισμού

PLC, Ladder. Η γλώσσα Ladder είναι μια γραφική γλώσσα προγραμματισμού

και είναι απλή στην σύνταξη της, με αποτέλεσμα να μην απαιτεί εξεζητημένες

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

αποσφαλμάτωσης το πρόγραμμα Step 7 της εταιρίας Siemens, με την

βοήθεια του οποίου γίνεται ο προγραμματισμός των PLC των σειρών 300 και

400, εμφανίζει με γραφικό τρόπο πάνω στον κώδικα σε γλώσσα Ladder το

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

στιγμή δηλαδή που εκτελείται ο κώδικας στο PLC. (Bolton, W. 2009)

Ο κώδικας που υλοποιεί τον αλγόριθμος, γράφηκε στην συνάρτηση

FC 1, για να είναι ανεξάρτητος από τον κώδικα του υπόλοιπου προγράμματος

και να υπάρχει η δυνατότητα επαναχρησιμοποίησης του κώδικα του

αλγόριθμου και σε μελλοντικά προγράμματα με διαφορετικές διατάξεις

διασταυρώσεων. Παρακάτω παρουσιάζεται ο κώδικας του αλγόριθμου

μεταβλητού χρόνου σε γλώσσα Ladder.

29

Page 30: 5 Κυρίως κείμενο

30

Page 31: 5 Κυρίως κείμενο

31

Page 32: 5 Κυρίως κείμενο

32

Page 33: 5 Κυρίως κείμενο

33

Page 34: 5 Κυρίως κείμενο

34

Page 35: 5 Κυρίως κείμενο

Κώδικας 3.1 Συνάρτηση FC 1 η οποία υλοποιεί τον αλγόριθμο μεταβλητού

χρόνου

35

Page 36: 5 Κυρίως κείμενο

Η γλώσσα Ladder είναι γραφική γλώσσα προγραμματισμού και οι

εντολές της συμβολίζονται με διάφορα σύμβολα, τα οποία συνήθως είναι

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

γραμμένο σε γλώσσα προγραμματισμού Ladder χωρίζεται σε τμήματα

κώδικα, τα οποία ονομάζονται network (δίκτυα). Η συνάρτηση FC 1, η οποία

υλοποίει τον αλγόριθμο ο οποίος ρυθμίζει τους φωτεινούς σηματοδότες της

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

κυκλοφορίας, αποτελείται από 31 τμήματα κώδικα (network).

Συγκεκριμένα, στο πρώτο τμήμα κώδικα (network) όταν η τιμή στην

θέση μνήμης γίνει ένα ή όταν πατηθεί το κουμπί που βρίσκεται στην είσοδο Ι

0.1 από το PLC ξεκινάει η εκτέλεση του κώδικα της συνάρτησης και στο

πρώτο τμήμα αυτό με την βοήθεια της εντολής BCD_I μετατρέπεται το

περιεχόμενο των τεσσάρων μετρητών (C0 – C3) από BCD κώδικα σε ακέραια

μορφή για να είναι δυνατή η περαιτέρω επεξεργασία των τιμών αυτών. Η

εντολές της γλώσσας Ladder έχουν συγκεκριμένη μορφή και απαιτούν οι

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

και είναι επαρκές το ένα byte για την αποθήκευση του περιεχομένου κάθε

μετρητή (συναρτήσει του αριθμού των οχημάτων που δίνατε να διέλθει από

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

χρήση δύο byte (ενός word δηλαδή) καθώς για την λειτουργία της εντολής

BCD_I απαιτείται οι μεταβλητές εισόδου και εξόδου να έχουν μέγεθος ένα

word (2 byte).

Ένα επίσης πρόβλημα κατά την ανάπτυξη της συνάρτηση υπήρξε το

γεγονός ότι τα διάφορα τμήματα κώδικα (network’s), εκτελούνται παράλληλα

από το PLC και όχι σειριακά, όπως συμβαίνει σε γλώσσες προγραμματισμού

ανώτερου επιπέδου όπως η C/C++, η Pascal, η Java κ.τ.λ. Η εντολές του

αλγόριθμου πρέπει να εκτελεστούν σειριακά. Το πρόβλημα αντιμετωπίστηκε

με την χρήση μια θέσης μνήμης στο τέλος κάθε network, η οποία λειτουργεί

σαν σηματοφόρος και όταν γίνεται ένα (όταν δηλαδή ανάβει ο σηματοφόρος)

ειδοποιεί το επόμενο network, ότι ο κώδικας του προηγούμενου network στο

οποίο βρίσκεται η μνήμη σηματοφόρος έχει εκτελεστεί. Στο τέλος του πρώτου

τμήματος κώδικα (network) γίνεται έξοδος στο bit της θέση μνήμης Μ 140.2,

το οποίο γίνεται ένα και σηματοδοτεί ότι ο κώδικας του πρώτου network έχει

εκτελεστεί.

36

Page 37: 5 Κυρίως κείμενο

Ακολουθεί το δεύτερο τμήμα κώδικα (network) το οποίο εκτελείται μόνο

αν η θέση μνήμης Μ140.2 είναι ένα. Περιέχει την συνάρτηση FC 25 η οποία

βρίσκεται στην βασική βιβλιοθήκη του Step 7 και συγκεκριμένα στην IEC

βιβλιοθήκη. Η συνάρτηση αυτή δέχεται τρεις εισόδους και στην έξοδο

αποθηκεύει σε μια θέση μνήμης την μεγαλύτερη τιμή από τις τιμές εισόδου.

Στο συγκεκριμένο τμήμα κώδικα στην θέση μνήμης MW 12 αποθηκεύετε ο

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

μεγαλύτερο κυκλοφοριακό φόρτο από των δρόμο Α. Παρόμοιος κώδικας

υπάρχει και στο επόμενο τμήμα κώδικα μόνο που εδώ αποθηκεύεται στην

θέση μνήμης MW 14 ο αριθμός των οχημάτων που διήλθαν από την λωρίδα

κυκλοφορίας με τον μεγαλύτερο κυκλοφοριακό φόρτο από των δρόμο Β.

Στα τμήματα κώδικα 4, 5,6 και 7 που ακολουθούν χρησιμοποιούνται οι

εντολές CMP>I και CMP==I, οι οποίες ελέγχουν κατά πόσο μια είσοδο είναι

μεγαλύτερη ή ίση από μια ακέραια τιμή αντίστοιχα. Έτσι ελέγχεται αν ο

μέγιστος αριθμός που διήλθαν από τον δρόμο Α είναι μεγαλύτερος ή ίσος του

μηδέν και αν ο μέγιστος αριθμός που διήλθαν από τον δρόμο Β είναι

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

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

κώδικα ανάλογα με τους ελέγχους που έγιναν στα τμήματα κώδικα 4, 5, 6 και

7.

Στα επόμενα τμήματα κώδικα γίνεται συχνά χρήση της εντολής MOVE,

η οποία μεταφέρει τιμές από μια περιοχή μνήμης σε μια άλλη, αλλά και κάνει

μετατροπή τύπου μεταβλητών (αν είναι εφικτή και σύμφωνη με τους κανόνες

μετατροπής του περιεχομένου μιας μεταβλητής από ένα τύπο σε ένα άλλο).

Στο συγκεκριμένο τμήμα κώδικα αν από τον δρόμο Α δεν διήλθε κανένα

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

πράσινους φωτεινούς σηματοδότες τους δρόμου Α, ώστε να παραμείνουν

αναμμένοι για τριάντα δευτερόλεπτα ενώ για τους αντίστοιχους πράσινους

φωτεινούς σηματοδότες τους δρόμου Β, γίνεται ανάθεση χρόνου για να

παραμείνουν αναμμένοι για 60 δευτερόλεπτα. Μετά την ανάθεση χρόνου

στους πράσινους φωτεινούς σηματοδότες κάθε ρεύματος η θέση μνήμης

Μ200.0 γίνεται ένα και με τον τρόπο αυτό μηδενίζονται οι τέσσερεις μετρητές,

οι οποίοι κάνουν καταμέτρηση των οχημάτων που διέρχονται από κάθε

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

37

Page 38: 5 Κυρίως κείμενο

το αντίθετο, δηλαδή αν από τον δρόμο Β δεν διήλθε κανένα όχημα και από

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

σηματοδότες τους δρόμου Β, ώστε να παραμείνουν αναμμένοι για τριάντα

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

τους δρόμου Α, γίνεται ανάθεση χρόνου για να παραμείνουν αναμμένοι για 60

δευτερόλεπτα. Αν και από τους δύο δρόμους δεν διέλθει κανένα όχημα τότε οι

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

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

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

περίπτωση που διέλθει ο ίδιος αριθμός οχημάτων και από τους δύο δρόμους,

όπως φαίνεται στο τμήμα κώδικα 11.

Στο τμήμα κώδικα 12 που ακολουθεί, γίνεται έλεγχος αν ο αριθμός

οχημάτων που διήλθαν από τον δρόμο Α είναι μεγαλύτερος από τον αριθμό

των οχημάτων που διήλθαν από τον δρόμο Β, ενώ στο επόμενο τμήμα

κώδικα ελέγχεται αν ισχύει το αντίθετο. Στα επόμενα τμήματα κώδικα,

γίνονται κάποιες μετατροπές τύπων, καθώς κάποιες από τις εντολές που

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

οποία πολλές φορές διαφέρει από την μορφή που έχουν τα δεδομένα εξόδου

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

αλγόριθμου. Η εντολή I_DI μετατρέπει μια ακέραια μεταβλητή σε ακέραια που

καταλαμβάνει το διπλάσιο μέγεθος μνήμης, δηλαδή αντί για δύο byte τέσσερα.

Η εντολή DI_R μετατρέπει την ακέραια μεταβλητή (η οποία καταλαμβάνει

διπλάσιο μέγεθος στην μνήμη) σε πραγματική μεταβλητή απλής ακρίβειας.

Αν ο αριθμός των οχημάτων που διήλθαν από τον δρόμο Α είναι

μεγαλύτερος από τον αριθμό των οχημάτων που διήλθαν από τον δρόμο Β

τότε εκτελούνται τα τμήματα κώδικα 16, 18, 20, 23, 24, 26, 28 και 30. Στα

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

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

από τον δρόμο Α, με τον αριθμό των οχημάτων που διήλθαν από τον δρόμο

Β, με την βοήθεια της εντολής DIV_R και το αποτέλεσμα αποθηκεύεται σε

πραγματική μορφή στην θέση μνήμης MD 52. Ο αριθμός αυτός

πολλαπλασιάζετε στην συνέχεια με τον αριθμό 30, με την χρήση της εντολής

MUL_R και το αποτέλεσμα αποθηκεύεται στην θέση μνήμης MD 90 και η τιμή

αυτής της θέσης μνήμης στρογγυλοποιείτε με την βοήθεια της εντολής

38

Page 39: 5 Κυρίως κείμενο

ROUND και αποθηκεύεται στην θέση μνήμης MD 84. Στο τμήμα κώδικα 28

γίνεται χρήση της συνάρτησης FC 27, η οποία βρίσκεται στην βασική

βιβλιοθήκη του Step 7 και συγκεκριμένα στην IEC βιβλιοθήκη, και βρίσκει τον

μικρότερο αριθμό μεταξύ του αριθμού εξήντα και του αριθμού που είναι

αποθηκευμένος στην θέση μνήμης MW 86 και τον αποθηκεύει στην θέση

μνήμης MW 132, ο οποίος θα αποτελέσει τον χρόνο σε δευτερόλεπτα κατά

τον οποίο θα είναι αναμμένοι οι φωτεινοί σηματοδότες του δρόμου Α κατά τον

επόμενο κύκλο. Τελικά στο τμήμα κώδικα 30 με την βοήθεια της εντολής

WOR_W ρυθμίζεται το χρονικό που ελέγχει τους πράσινους φωτεινούς

σηματοδότες του δρόμου Α, ώστε να παραμείνουν αναμμένοι για χρόνο ίσο

με τον αριθμό σε δευτερόλεπτα που είναι αποθηκευμένος στην θέση μνήμης

MW 132, κατά τον επόμενο κύκλο, ενώ το χρονικό που ελέγχει τους

πράσινους φωτεινούς σηματοδότες του δρόμου Β ρυθμίζεται έτσι ώστε οι

πράσινοι φωτεινοί σηματοδότες του δρόμου αυτού να παραμείνουν αναμμένοι

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

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

τον δρόμο Β είναι μεγαλύτερος από τον αριθμό των οχημάτων που διήλθαν

από τον δρόμο Α, ο κώδικας που εκτελείται στα τμήματα κώδικα 17, 19, 21,

22, 25, 27, 29 και 31, είναι ακριβός ο ίδιος με αυτόν που παρουσιάστηκε στην

παραπάνω παράγραφο, με την μόνη διαφορά ότι διαιρείται ο αριθμός των

οχημάτων που διήλθαν από τον δρόμο Β με τον αριθμό των οχημάτων που

διήλθαν από τον δρόμο Α. Εκτελούνται ακριβώς οι ίδιες πράξεις, με την μόνη

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

3.5 Κώδικας σε γλώσσα Ladder κύριου προγράμματος

Το κυρίως πρόγραμμα το οποίο ελέγχει όλους τους φωτεινούς

σηματοδότες της μακέτας, είναι επίσης γραμμένο σε γλώσσα Ladder. (Ladder

Logic for S7-300 and S7-400 Programming, 2004) Στο κυρίως πρόγραμμα

ενεργοποιούνται διάφορα χρονικά τα οποία ελέγχουν το χρόνο σε

δευτερόλεπτα, κατά τον οποίο παραμένει αναμμένος ένας φωτεινός

σηματοδότης. Στους παρακάτω πίνακες αναφέρονται όλοι οι φωτεινοί

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

έξοδο του PLC συνδέονται, καθώς επίσης και οι είσοδοι του PLC που

39

Page 40: 5 Κυρίως κείμενο

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

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

Φωτεινός Σηματοδότης Χρώμα Χρονικό Έξοδος PLC

Δρόμος Α1Πράσινο Τ1 Q 4.0

Πορτοκαλί Τ2 Q 4.1Κόκκινο Τ3 Q 4.2

Δρόμος Β1Πράσινο Τ4 Q 5.0

Πορτοκαλί Τ5 Q 5.1Κόκκινο Τ6 Q 5.2

Δρόμος Α2Πράσινο Τ7 Q 6.0

Πορτοκαλί Τ8 Q 6.1Κόκκινο Τ9 Q 6.2

Δρόμος Β2Πράσινο Τ10 Q 7.0

Πορτοκαλί Τ11 Q 7.1Κόκκινο Τ12 Q 7.2

Πεζοί Α1Πράσινο Τ13 Q 4.4Κόκκινο Τ1-Τ12 Q 4.5

Πεζοί Β1Πράσινο Τ13 Q 5.4Κόκκινο Τ1-Τ12 Q 5.5

Πεζοί Α2Πράσινο Τ13 Q 6.4Κόκκινο Τ1-Τ12 Q 6.5

Πεζοί Β2Πράσινο Τ13 Q 7.4Κόκκινο Τ1-Τ12 Q 7.5

Πίνακας 3.1 Έξοδοι PLC

Είσοδος Μετρητής Είσοδος PLC

Εκκίνηση εκτέλεσης προγράμματος - I 0.0

Αρχική εκτέλεση αλγόριθμου - I 0.1

Αισθητήρας διέλευσης οχημάτων λωρίδας Α1

C0 I 0.2

Αισθητήρας διέλευσης οχημάτων λωρίδας B1

C1 I 0.3

Αισθητήρας διέλευσης οχημάτων λωρίδας Α2

C2 I 0.4

Αισθητήρας διέλευσης οχημάτων λωρίδας B2

C3 I 0.5

Πίνακας 3.2 Είσοδοι PLC

Παρακάτω παρουσιάζεται ο κώδικας του κύριου προγράμματος, ο

οποίος είναι γραμμένος σε γλώσσα Ladder.

40

Page 41: 5 Κυρίως κείμενο

41

Page 42: 5 Κυρίως κείμενο

42

Page 43: 5 Κυρίως κείμενο

43

Page 44: 5 Κυρίως κείμενο

44

Page 45: 5 Κυρίως κείμενο

45

Page 46: 5 Κυρίως κείμενο

46

Page 47: 5 Κυρίως κείμενο

Κώδικας 3.2 Κώδικας κύριου προγράμματος σε γλώσσα προγραμματισμού

Ladder

Όπως και στην συνάρτηση που υλοποιεί τον αλγόριθμο μεταβλητού

χρόνου, έτσι και στο κυρίως πρόγραμμα για να αντιμετωπιστεί το πρόβλημα

ότι το PLC εκτελεί όλα τα τμήματα κώδικα παράλληλα και όχι με την σειρά, για

να ξεκινήσει ένα χρονικό πρέπει πρώτα να μηδενιστεί το χρονικό που

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

47

Page 48: 5 Κυρίως κείμενο

δώσει σήμα όταν μηδενιστεί στο χρονικό του επόμενου τμήματος κώδικα για

να ξεκινήσει αυτό να μετράει. Με τον τρόπο αυτό το δεύτερο χρονικό αρχίζει

να μετράει αντίστροφα, μόνο όταν μηδενιστεί το πρώτο χρονικό και το τρίτο

όταν μηδενιστεί το δεύτερο χρονικό κ.ο.κ. Τα δεκατρία χρονικά που ελέγχουν

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

Ο χρόνος για τους πράσινους φωτεινούς σηματοδότες, για την διέλευση των

οχημάτων είναι μεταβλητός, ενώ για τους υπόλοιπους είναι σταθερός. Έτσι

στα χρονικά Τ1 και Τ7, που ελέγχουν τους πράσινους φωτεινούς

σηματοδότες των λωρίδων κυκλοφορίας Α1 και Α2 του δρόμου Α, καθώς και

στα χρονικά Τ4 και Τ10, ελέγχουν τους πράσινους φωτεινούς σηματοδότες

των λωρίδων κυκλοφορίας Β1 και Β2 του δρόμου Β, ο χρόνος σε

δευτερόλεπτα που θα μετρήσουν μέχρι να μηδενιστούν, ορίζεται από τον

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

παραπάνω, ο αλγόριθμος της συνάρτησης αυτής αφού βάλει υπόψη τον

κυκλοφοριακό φόρτο σε όλες τις λωρίδες κυκλοφορίας, ρυθμίζει τον χρόνο

κατά τον οποίο θα παραμείνουν αναμμένοι οι πράσινοι φωτεινοί σηματοδότες

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

χρόνος κατά τον οποίο θα μετρήσουν το πρώτο έως και το δέκατο τρίτο

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

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

της λωρίδας κυκλοφορίας Α1 του δρόμου Α, για χρόνο που ορίζει ο

αλγόριθμος και στην συνέχεια ο πορτοκαλί για τέσσερα δευτερόλεπτα και

μετά ο κόκκινος μέχρι να ξανανάψει ο πράσινος φωτεινός σηματοδότης της

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

την ίδια σειρά οι φωτεινοί σηματοδότες της λωρίδας κυκλοφορίας Β1 του

δρόμου Β, μετά της λωρίδας Α2 του δρόμου Α, κατόπιν της λωρίδας

κυκλοφορίας Β2 του δρόμου Β και τέλος ανάβει πράσινο στους φωτεινούς

σηματοδότες για τους πεζούς για χρόνο δεκαπέντε δευτερόλεπτα. Κατά την

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

φωτεινούς σηματοδότες της επόμενης λωρίδας κυκλοφορίας, για τρία

δευτερόλεπτα ανάβει κόκκινο σε όλους τους φωτεινούς σηματοδότες, για την

αποφυγή τροχαίου ατυχήματος, σε περίπτωση που κάποιο όχημα παραβιάσει

κάποιον κόκκινο φωτεινό σηματοδότη.

48

Page 49: 5 Κυρίως κείμενο

Για να ξεκινήσει η εκτέλεση του προγράμματος από το PLC πρέπει να

πατηθεί ο διακόπτης που είναι συνδεμένος στην είσοδο Ι0.0 του PLC καθώς

και το κουμπί που είναι συνδεμένο στην είσοδο Ι0.1. Μπορεί η γλώσσα

Ladder να ξεγελά κάποιον ότι είναι πολύ απλή και εύκολη στον

προγραμματισμό, επειδή είναι οπτική γλώσσα προγραμματισμού, θα πρέπει

όμως ο προγραμματιστής να διαθέτει πολύ εξελιγμένες ικανότητες

προγραμματισμού καθώς λόγω της ιδιαιτερότητας του PLC να εκτελεί όλα τα

τμήματα κώδικα (network’s) παράλληλα, πολλές φορές συμβαίνουν

αναπάντεχα γεγονότα που δεν τα είχε προβλέψει ο προγραμματιστής. Στο

κώδικα του κύριου προγράμματος του PLC δεν ήταν απαραίτητη η χρήση του

κουμπιού που είναι συνδεμένο στην θύρα Ι0.1 καθώς η εκτέλεση του κώδικα

μπορούσε να ξεκινήσει μόνο με την βοήθεια του διακόπτη Ι0.0. Όμως ο πιο

αποτελεσματικός τρόπος, για να κληθεί και να εκτελεστεί ο αλγόριθμος

μεταβλητού χρόνου που υλοποιεί η συνάρτηση FC1 μόνο την πρώτη φορά

κατά την έναρξη του προγράμματος, αποδείχθηκε η χρήση του κουμπιού

αυτού. Επίσης η χρήση των θέσεων μνήμης Μ2.1, Μ2.2, Μ2.3 και Μ2.4 είναι

περιττή. Για κάποιο λόγω δεν άναβαν τα κόκκινα φανάρια όταν άναβε ο

πρώτος σηματοδότης, ο πράσινος της λωρίδας κυκλοφορίας Α1, στην αρχή

της εκτέλεσης ενός κύκλου (όπως αυτός ορίστηκε παραπάνω). Τα κόκκινα

φανάρια στις λωρίδες κυκλοφορίας Β1, Α2 και Β2 άναψαν μόνο μετά την

χρήση αυτών των θέσεων μνήμης.

Στα τμήματα κώδικα 2, 3, 4 και 5 υλοποιείται η μέτρηση των οχημάτων

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

αισθητήρα που κάνει την καταμέτρηση την προσομοιάζει ένα κουμπί το οποίο

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

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

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

τρόπο αυτό την χρησιμοποιεί η συνάρτηση FC1, η οποία υλοποιεί τον

αλγόριθμο του μεταβλητού χρόνου. Τέλος ο μετρητής μηδενίζεται από την

συνάρτηση FC1, η οποία όταν ολοκληρώσει τους υπολογισμούς της θέτει την

θέση μνήμης Μ200.0 σε λογικό ένα και με τον τρόπο αυτό μηδενίζει όλους του

μετρητές, για να κάνουν καταμέτρηση των οχημάτων που θα διέλθουν από

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

κώδικα 2, γίνεται καταμέτρηση των οχημάτων που διέρχονται από την λωρίδα

49

Page 50: 5 Κυρίως κείμενο

κυκλοφορίας Α1. Όταν πατηθεί το κουμπί που είναι συνδεμένο στην είσοδο

Ι0.2 του PLC, αυξάνει η τιμή του μετρητή C0 κατά ένα, σηματοδοτώντας την

διέλευση ενός οχήματος. Ο μετρητής αποθηκεύει την τιμή που έχει στην θέση

μνήμης MW4 και μηδενίζεται όταν η θέση μνήμης Μ200.0 έρθει σε λογικό ένα.

Το τμήμα κώδικα τρία υλοποιεί τα παραπάνω για την λωρίδα κυκλοφορίας Β1,

το τέταρτο για την Α2 και τέλος το πέμπτο τμήμα κώδικα υλοποιεί την

καταμέτρηση των οχημάτων για την λωρίδα κυκλοφορίας Β2. Οι μετρητές που

χρησιμοποιήθηκαν σε αυτά τα τμήματα κώδικα είναι μετρητές αύξησης, τύπου

“S_CU”.

Στο επόμενο τμήμα κώδικα καλείται η συνάρτηση FC1 με την χρήση

της εντολής “CALL”, η οποία ενεργοποιεί την εκτέλεση κώδικα που βρίσκεται

αποθηκευμένος σε συναρτήσεις. Με την ολοκλήρωση της εκτέλεσης της

συνάρτησης FC1 ενεργοποιείται η εκτέλεση του τμήματος κώδικα 7 στο οποίο

βρίσκεται το χρονικό που καθορίζει τον χρόνο που θα παραμένει αναμμένος ο

πράσινος φωτεινός σηματοδότης της λωρίδας κυκλοφορίας Α1. Και σε αυτό

το τμήμα κώδικα γίνεται χρήση των θέσεων μνήμης Μ140.0, Μ180.7, Μ180.6,

Μ180.5, Μ180.4 και με Μ200.1, ενώ θα έπρεπε να γίνεται η ενεργοποίηση

αυτού του τμήματος κώδικα με την χρήση μόνο μιας θέσης μνήμης αντί για τις

έξι που χρησιμοποιήθηκαν. Αυτό έγινε καθώς όταν έγινε χρήση μόνο μιας

θέσης μνήμης, και συγκεκριμένα της θέσης μνήμης Μ140.0, ενεργοποιούταν η

εκτέλεση του χρονικού Τ1 μόνο σε μια περίπτωση του αλγόριθμου. Έτσι ήταν

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

περίπτωση εκτέλεσης του αλγόριθμου μεταβλητού χρόνου (αν από τον δρόμο

Α δεν διήλθαν οχήματα και από το Β διήλθαν κ.τ.λ.). Το χρονικό Τ1 είναι

τύπου “S_ODT” και αρχίζει την αντίστροφη μέτρηση του χρόνου σε

δευτερόλεπτα, ανάλογα με την τιμή που είναι αποθηκευμένη στην θέση

μνήμης MW46 (τιμή που καθορίζει ο αλγόριθμος που υλοποιείται στην

συνάρτηση FC1), και το χρονικό μετράει μέχρι να μηδενιστεί ο χρόνος που

μετράει. Το χρονικό Τ1 ενεργοποιείται με τον μηδενισμό του χρονικού Τ13

που είναι και το τελευταίο χρονικό που χρησιμοποιείται στο κυρίως

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

σηματοδότες για τα οχήματα των λωρίδων κυκλοφορίας Β1, Α2 και Β2 καθώς

και οι κόκκινοι φωτεινοί σηματοδότες για τους πεζούς.

50

Page 51: 5 Κυρίως κείμενο

Με τον μηδενισμό του χρονικού Τ1 εκτελείται το επόμενο τμήμα

κώδικα, στο οποίο το χρονικό Τ2 μετράει τέσσερα δευτερόλεπτα και μέχρι να

μηδενιστεί ανάβει ο πορτοκαλί φωτεινός σηματοδότης της λωρίδας

κυκλοφορίας Α1, ο οποίος είναι συνδεμένος στην έξοδο Q4.1 του PLC. Όταν

μηδενιστεί το χρονικό Τ2 ενεργοποιείται το τμήμα κώδικα 9, στο οποίο ανάβει

ο κόκκινος φωτεινός σηματοδότης της λωρίδας κυκλοφορίας Α1, ο οποίος

είναι συνδεμένος στην έξοδο Q4.2 του PLC και θα παραμείνει αναμμένος

μέχρι να ανάψει ο πράσινος φωτεινός σηματοδότης της ίδιας λωρίδας

κυκλοφορίας στον επόμενο κύκλο.

Παρόμοιος κώδικας υλοποιείται και στα τμήματα κώδικα που

ακολουθούν για τις λωρίδες κυκλοφορίας Β1, Α2 και Β2. Στον πίνακα 5.1

αναφέρονται οι εκάστοτε φωτεινοί σηματοδότες, σε ποιες εξόδους του PLC

είναι συνδεδεμένοι και ποια χρονικά ελέγχουν τον χρόνο κατά τον οποίο θα

παραμένουν αναμμένοι. Το μόνο τμήμα κώδικα που διαφοροποιείται από την

λογική που αναπτύχθηκε στην παραπάνω παράγραφο, είναι το τελευταίο

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

να διασχίσουν τις διαβάσεις. Κατά τον χρόνο αυτό οι φωτεινοί σηματοδότες

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

διέρχεται κανένα όχημα από καμία λωρίδα κυκλοφορίας.

Τα τμήματα κώδικα 10, 11, 12 και 13 αναφέρονται στου φωτεινούς

σηματοδότες της Β1 λωρίδας κυκλοφορίας. Στο τμήμα κώδικα 10 αφού

μηδενιστεί το χρονικό Τ3 σβήνει ο κόκκινος φωτεινός σηματοδότης αυτής της

λωρίδας κυκλοφορίας, με το να έρθει η θέση μνήμης Μ2.2 σε λογικό μηδέν και

ο πράσινος φωτεινός σηματοδότης παραμένει αναμμένος μέχρι να μηδενιστεί

το χρονικό Τ4. Ο χρόνος για να μηδενιστεί το χρονικό Τ4 ανατίθεται από τον

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

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

να μηδενιστεί το χρονικό Τ5. Στο τμήμα κώδικα 12 με το μηδενισμό του

χρονικού Τ5 ενεργοποιείται το χρονικό Τ6, το οποίο μετράει τρία

δευτερόλεπτα χρόνο, κατά τον οποίο σε όλες τις λωρίδες κυκλοφορίας και στα

φανάρια των πεζών ανάβουν οι κόκκινοι φωτεινοί σηματοδότες για την

αποφυγή τροχαίου ατυχήματος. Επίσης με τον μηδενισμό του χρονικού Τ5

ανάβει ο κόκκινος φωτεινός σηματοδότης της λωρίδας κυκλοφορίας Β1, ο

51

Page 52: 5 Κυρίως κείμενο

οποίος παραμένει αναμμένος μέχρι να ανάψει ο πράσινος φωτεινός

σηματοδότης της ίδιας λωρίδας κυκλοφορίας στον επόμενο κύκλο.

Όμοια και στα τμήματα κώδικα 14, 15, 16 και 17 τα οποία αναφέρονται

στους φωτεινούς σηματοδότες της λωρίδας κυκλοφορίας Α2. Στο τμήμα

κώδικα 14 αφού μηδενιστεί το χρονικό Τ6 σβήνει ο κόκκινος φωτεινός

σηματοδότης αυτής της λωρίδας κυκλοφορίας, με το να έρθει η θέση μνήμης

Μ2.3 σε λογικό μηδέν και ο πράσινος φωτεινός σηματοδότης παραμένει

αναμμένος μέχρι να μηδενιστεί το χρονικό Τ7. Ο χρόνος για να μηδενιστεί το

χρονικό Τ7 ανατίθεται από τον αλγόριθμο που υλοποιείται στην συνάρτηση

FC1. Ο πορτοκαλί φωτεινός σηματοδότης ανάβει στην συνέχεια για τέσσερα

δευτερόλεπτα, μέχρι δηλαδή να μηδενιστεί το χρονικό Τ8. Στο τμήμα κώδικα

15 με το μηδενισμό του χρονικού Τ8 ενεργοποιείται το χρονικό Τ9, το οποίο

μετράει τρία δευτερόλεπτα χρόνο, κατά τον οποίο σε όλες τις λωρίδες

κυκλοφορίας και στα φανάρια των πεζών ανάβουν οι κόκκινοι φωτεινοί

σηματοδότες για την αποφυγή τροχαίου ατυχήματος. Επίσης με τον

μηδενισμό του χρονικού Τ8 ανάβει ο κόκκινος φωτεινός σηματοδότης της

λωρίδας κυκλοφορίας Α2, ο οποίος παραμένει αναμμένος μέχρι να ανάψει ο

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

επόμενο κύκλο.

Τέλος οι φωτεινοί σηματοδότες της λωρίδας κυκλοφορίας Β2, με τους

οποίους ολοκληρώνεται ένας κύκλος, ελέγχονται από τα τμήματα κώδικα 18,

19, 20 και 22. Στο τμήμα κώδικα 18 αφού μηδενιστεί το χρονικό Τ9 σβήνει ο

κόκκινος φωτεινός σηματοδότης αυτής της λωρίδας κυκλοφορίας, με το να

έρθει η θέση μνήμης Μ2.3 σε λογικό μηδέν και ο πράσινος φωτεινός

σηματοδότης παραμένει αναμμένος μέχρι να μηδενιστεί το χρονικό Τ10. Ο

χρόνος για να μηδενιστεί το χρονικό Τ10 ανατίθεται από τον αλγόριθμο που

υλοποιείται στην συνάρτηση FC1. Ο πορτοκαλί φωτεινός σηματοδότης ανάβει

στην συνέχεια για τέσσερα δευτερόλεπτα, μέχρι δηλαδή να μηδενιστεί το

χρονικό Τ11. Στο τμήμα κώδικα 20 με το μηδενισμό του χρονικού Τ11

ενεργοποιείται το χρονικό Τ12, το οποίο μετράει τρία δευτερόλεπτα χρόνο,

κατά τον οποίο σε όλες τις λωρίδες κυκλοφορίας και στα φανάρια των πεζών

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

ατυχήματος. Επίσης με τον μηδενισμό του χρονικού Τ11 ανάβει ο κόκκινος

φωτεινός σηματοδότης της λωρίδας κυκλοφορίας Α2, ο οποίος παραμένει

52

Page 53: 5 Κυρίως κείμενο

αναμμένος μέχρι να ανάψει ο πράσινος φωτεινός σηματοδότης της ίδιας

λωρίδας κυκλοφορίας στον επόμενο κύκλο.

Στο τμήμα κώδικα 21 με τον μηδενισμό του χρονικού Τ11

ενεργοποιείται η εκτέλεση του τμήματος κώδικα 6, το οποίο καλεί την

συνάρτηση FC1, η οποία υπολογίζει και αναθέτει τον χρόνο που θα

παραμείνουν αναμμένοι οι πράσινοι φωτεινοί σηματοδότες για την διέλευση

των οχημάτων, στον επόμενο κύκλο. Με τον μηδενισμό του χρονικού Τ12

ενεργοποιείται το χρονικό Τ13 το οποίο δίνει δεκαπέντε δευτερόλεπτα χρόνο

στους πεζούς για να διασχίσουν τις διαβάσεις. Σε αυτό το χρονικό διάστημα

ανάβουν οι κόκκινοι φωτεινοί σηματοδότες στις λωρίδες κυκλοφορίας των

οχημάτων και οι πράσινοι για την διέλευση των πεζών.

3.6 Προγραμματισμός PLC Simatic s7-300 CPU 314 με την χρήση του

προγράμματος Step 7

Για τον σκοπό της παρούσας εργασίας έγινε χρήση του

προγραμματιζόμενου λογικού ελεγκτή Simatic, της οικογένειας s7-300 με

κεντρική μονάδα επεξεργασίας CPU 314 της εταιρίας Siemens. Τα

χαρακτηριστικά και η αρχιτεκτονική το προγραμματιζόμενου λογικού ελεγκτή

παρουσιάστηκαν σε παραπάνω κεφάλαιο.

Ο προγραμματισμός του προγραμματιζόμενου λογικού ελεγκτή PLC

έγινε το πρόγραμμα Step 7 της εταιρίας Siemens. Το πρόγραμμα αυτό

αποτελεί ένα ολοκληρωμένο πρόγραμμα για τον προγραμματισμό, την

μεταγλώττιση, την αποσφαλμάτωση, την επικοινωνία υπολογιστή και PLC και

υποστηρίζει Ladder γλώσσα προγραμματισμού, καθώς και τις γλώσσες

προγραμματισμού STL και FDB. Επίσης με την χρήση του πρόσθετου

εργαλείο του Step 7, με την ονομασία S7-SCL είναι δυνατός ο

προγραμματισμός του PLC σε γλώσσα προγραμματισμού Pascal. Το

πρόγραμμα Step 7 ενσωματώνει τα διάφορα εργαλεία που είναι απαραίτητα

για την επικοινωνία και τον προγραμματισμό του PLC καθώς και ένα πολύ

αξιόπιστο και πολύ χρήσιμο προσομοιωτή προγραμματιζόμενου λογικού

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

αποσφαλμάτωσης του κώδικα της συγκεκριμένης εφαρμογής της παρούσας

εργασίας.

53

Page 54: 5 Κυρίως κείμενο

Ο προγραμματισμός του PLC (προγραμματιζόμενου λογικού ελεγκτή)

έγινε σε γλώσσα Ladder. Λόγω της δυσκολίας χρήσης κατάλληλων οθόνων,

οι οποίες θα προβάλουν τον χρόνο που παραμένει αναμμένος ένας φωτεινός

σηματοδότης, καθώς τέτοιες ειδικές οθόνες για το PLC είναι ακριβές και το ΤΕΙ

δεν διαθέτει ανάλογες, όπως επίσης και για τον έλεγχο απλών οθόνων seven

segment από το PLC απαιτούσε μεγάλο αριθμό εξόδων που δεν ήταν

διαθέσιμος από το ανάλογο άθρωμα εξόδου του PLC. Για το λόγω αυτό ο

έλεγχος των χρονικών έγινε με την χρήση του προσομοιωτή και η τεκμηρίωση

τους έγινε με το ανάλογο εργαλείο του προγράμματος Step 7 με το οποίο είναι

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

μνήμης του PLC, ακόμα και όταν αυτό εκτελεί τον κώδικα που είναι

αποθηκευμένος στην μνήμη του.

Αρχικά στο πρόγραμμα Step 7 έπρεπε να δημιουργηθεί νέο “project”.

Από την γραμμή των μενού επιλέγεται “File” και στην συνέχεια “New project

Wizard”. Εμφανίζεται ένα νέο παράθυρο στο οποίο ορίζουμε τον τύπο του

επεξεργαστή που χρησιμοποιεί η PLC διάταξη, σε ποια γλώσσα

προγραμματισμού θα συνταχθεί ο κώδικας και τέλος το όνομα του “project”.

Στις παρακάτω φωτογραφίες παρουσιάζεται η διαδικασία δημιουργίας νέου

“project”.

54

Page 55: 5 Κυρίως κείμενο

Εικόνα 3.4 Ορισμός CPU κατά την δημιουργία νέου project

Εικόνα 3.5 Ορισμός γλώσσα προγραμματισμού project

55

Page 56: 5 Κυρίως κείμενο

Εικόνα 3.6 Ορισμός ονόματος project

Στην συνέχεια εμφανίζεται το κεντρικό παράθυρο ελέγχου του project.

Στην παρακάτω εικόνα παρουσιάζεται το κεντρικό παράθυρο ελέγχου του

project.

Εικόνα 3.7 Κεντρικό παράθυρο ελέγχου project

56

Page 57: 5 Κυρίως κείμενο

Στο κεντρικό αυτό παράθυρο ελέγχου καλούνται τα κατάλληλα εργαλεία

με τα οποία ο χρήστης μπορεί να δηλώσει την σύνθεση PLC, την οποία

επιθυμεί να προγραμματίσει, μπορεί να δηλώσει τις μεταβλητές που θα

χρησιμοποιήσει καθώς το Step 7 παρέχει την δυνατότητα στον χρήστη να

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

δηλώσει και τι τύπου μεταβλητές θα είναι, να γράψει τον κώδικα του κυρίως

προγράμματος και των συναρτήσεων που ο χρήστης επιθυμεί να

χρησιμοποιήσει και πολλά άλλα.

Επιλέγοντας ο χρήστης την επιλογή “Simatic station 300” και στην

συνέχεια “Hardware” ανοίγει το κατάλληλο εργαλείο στο οποίο ο χρήστης

δηλώνει την σύνθεση PLC που χρησιμοποιεί. Συγκεκριμένα ορίζει ποια

κεντρική μονάδα επεξεργασίας χρησιμοποιεί (CPU), ποια τροφοδοτικό, ποιες

μονάδες εισόδου εξόδου (ψηφιακές και αναλογικές) κ.τ.λ. Στην παρακάτω

εικόνα παρουσιάζεται το εργαλείο δήλωσης της σύνθεσης PLC, την οποία

επιθυμεί ο χρήστης να προγραμματίσει. (Getting Started, 2004)

Εικόνα 3.8 Εργαλείο δήλωσης συσκευών και μονάδων PLC

57

Page 58: 5 Κυρίως κείμενο

Από το κεντρικό παράθυρο ελέγχου του project, από την επιλογή “S7

Program” και στην συνέχεια “block” ανοίγει το εργαλείο με το οποίο ο χρήστης

μπορεί να δηλώσει τις μεταβλητές που θα χρησιμοποιήσει στο “project”.

Συγκεκριμένα ο χρήστης δηλώνει το όνομα της μεταβλητής που επιθυμεί να

χρησιμοποιήσει, την διεύθυνση μνήμης που θα καταλάβει η μεταβλητή καθώς

και το μέγεθος της και τέλος τον τύπο δεδομένων που θα αποθηκεύονται σε

αυτή την μεταβλητή. Το εργαλείο αυτό παρουσιάζεται στην παρακάτω εικόνα.

Εικόνα 3.9 Εργαλείο διαχείρισης μεταβλητών

Το κεντρικό εργαλείο συγγραφής κώδικα ανοίγει από την επιλογή

“Blocks” και επιλέγοντας η τον κύριο κώδικα ο οποίος συντάσσεται στην

κεντρική συνάρτηση OB1 ή επιλέγοντας κάποια άλλη συνάρτηση, όπως για

παράδειγμα η συνάρτηση FC1 στην οποία υλοποιείται ο αλγόριθμος

58

Page 59: 5 Κυρίως κείμενο

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

κώδικα παρουσιάζεται στην παρακάτω εικόνα.

Εικόνα 3.10 Κεντρικό εργαλείο συγγραφής κώδικα

Το κεντρικό εργαλείο κώδικα χωρίζεται σε διάφορα τμήματα. Τα

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

κώδικα που θα προγραμματίσει και από η αριστερή στήλη, στην οποία

βρίσκονται όλες οι εντολές ομαδοποιημένες ανά κατηγορία, από την οποία ο

χρήστης έχει την δυνατότητα να επιλέξει μια εντολή για να την εισάγει στο

τμήμα κώδικα που επιθυμεί και το μόνο που απομένει να κάνει για να

ολοκληρώσει τον προγραμματισμό είναι να ρυθμίσει τις όποιες παραμέτρους

απαιτεί η εκάστοτε εντολή. Με την ολοκλήρωση της συγγραφής του κώδικα ο

χρήστης από την επιλογή στην γραμμή μενού “PLC”, επιλέγει “Establish

Connection” για να γίνει σύνδεση μεταξύ υπολογιστή και PLC και στην

συνέχεια “Download” για να κατεβεί ο κώδικας από τον υπολογιστή στην

59

Page 60: 5 Κυρίως κείμενο

μνήμη του PLC και με τον τρόπο αυτό να είναι δυνατή η εκτέλεση στου

κώδικα στο PLC.

Τέλος πολύ χρήσιμο είναι το εργαλείο που προσομοιώνει την

λειτουργία ενός PLC και με τον τρόπο αυτό είναι δυνατόν ο έλεγχος αν ο

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

παρουσιάζεται το εργαλείο αυτό του προγράμματος Step 7 της εταιρίας

Siemens.

Εικόνα 3.11 Προσομοιωτής PLC Simatic s7-300 και s7-400

Για να εμφανιστεί το παράθυρο του προσομοιωτή (simulator), από το

κεντρικό παράθυρο ελέγχου του project από την γραμμή των μενού, από την

επιλογή “Options” ο χρήστης επιλέγει “Simulate Modules”. Είναι εργαλείο το

οποίο λειτουργεί με γραφικό (οπτικό) τρόπο. Ο χρήστης επιλέγει τις διάφορες

μονάδες του PLC της οποίες θέλει να προσομοιώσει, όπως συσκευές

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

60

Page 61: 5 Κυρίως κείμενο

εμφανίζονται στο κεντρικό παράθυρο του εργαλείου. Με την κλήση του

προσομοιωτή, στο κεντρικό παράθυρο του υπάρχει το εικονίδιο που

προσομοιώνει την κεντρική μονάδα επεξεργασίας του PLC. Ο χρηστής για να

κατεβάσει τον κώδικα στον προσομοιωτή κάνει τις ίδιες ακριβώς ρυθμίσεις

που θα έκανε σε περίπτωση που είναι συνδεμένο στον υπολογιστή του το

PLC, αλλά στην περίπτωση αυτή ο κώδικα μεταφέρεται στον προσομοιωτή

για εκτέλεση και όχι σε κάποιο πραγματικό PLC.

61

Page 62: 5 Κυρίως κείμενο

4. Επίλογος

Για τους σκοπού της παρούσας εργασίας αναπτύχθηκε αλγόριθμος ο

οποίος λαμβάνει υπόψη των αριθμό των οχημάτων που διέρχονται από κάθε

μια από τις τέσσερεις λωρίδες κυκλοφορίας σε έναν κύκλο και ανάλογα τον

κυκλοφοριακό φόρτο που έχει η κάθε λωρίδα σε ένα κύκλο, επανυπολογίζει

και τροποποιεί τον χρόνο κατά τον οποίο θα παραμείνουν αναμμένοι οι

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

κύκλο. Με τον τρόπο αυτό είναι πιο δίκαιη η κατανομή χρόνου στους

φωτεινούς σηματοδότες και ο αλγόριθμος συμβάλει στην όσο τον δυνατόν

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

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

Ladder με την χρήση της ολοκληρωμένης εφαρμογής προγραμματισμού PLC

της σειράς S7-300 και S7-400, με την κωδική ονομασίας Step 7 της εταιρίας

Siemens. Την μακέτα, η οποία κατασκευάστηκε επίσης για τους σκοπούς της

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

ελέγχει PLC της σειράς Simatic S7-300 με κεντρική μονάδα επεξεργασίας

CPU 314.

Η παραπάνω εφαρμογή μπορεί να αποτελέσει την βάση για τον έλεγχο

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

οι οποίοι εμφανίζουν μεγάλη κυκλοφοριακή συμφόρηση κατά τις ώρες αιχμής

για την αντιμετώπιση αυτού του φαινομένου χωρίς να είναι απαραίτητη η

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

62

Page 63: 5 Κυρίως κείμενο

Βιβλιογραφία

1. Berger, H. “Automating with Simatic. Controllers, Software, Programming,

Data Communication, Operator Control and Process Monitoring”, Publicis

Corporate Publishing, Erlahgen, 2003.

2. Bolton, W. “Programmable Logic Controllers”, Elsevier Inc, 5th edition,

Burlington, 2009.

3. Jones, C. “Step 7 in 7 Steps. A Practical Guide to Implementing

S7-300/S7-400 Programmable Logic Controllers”, Patrick Turner Publishing,

USA, 2006.

4. Jurgen, B. “Controlling with Simatic”, Publicis Corporate Publishing,

Erlahgen, 2005.

Τεχνικά Εγχειρίδια

1. Siemens, Function Block Diagram (FBD) for S7-300 and S7-400

Programming, 2002.

2. Siemens, Ladder Logic (LAD) for S7-300 and S7-400 Programming, 2004.

3. Siemens, Simatic Getting Started, 2004.

4. Siemens, Statement List (STL) for S7-300 and S7-400 Programming,

2004.

5. Siemens, Working with STEP 7 V5.3, 2004.

63