103
ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΥΚΛΩΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ PLC S7-200 ΚΑΙ INVERTER fSIEMENS) ΣΕ ΥΠΟΜΟΝΑΔΑ ΠΡΟΣΘΗΚΗΣ ΚΑΡΒΟΥΝΟΥ ΣΤΗ ΠΡΩΤΗ ΥΛΗ ΣΕ ΒΙΟΜΗΧ.ΛΝΙΑ ΠΑΡΑΓΩΓΗΣ ΚΕΡΑΜΙΚΩΝ. ΠΡΟΣΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΛΟΓΙΣΤΗ. ΣnO^'ΛAΣTHΣ: ΚΑΪΛΙΔΗΣ ΙΩΑΝΝΗΣ VΠE^ ΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ: ΘΑΛΑΣΣΙΝΟΣ Χ.\ΡΑ.ΔΑΜΠΟΣ

ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΠΤΛ Χ1ΑΚΗ LFf ALlA

ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΥΚΛΩΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ PLC S7-200 ΚΑΙ INVERTER fSIEMENS) ΣΕ ΥΠΟΜΟΝΑΔΑ ΠΡΟΣΘΗΚΗΣ ΚΑΡΒΟΥΝΟΥ ΣΤΗ ΠΡΩΤΗ ΥΛΗ ΣΕ ΒΙΟΜΗΧ.ΛΝΙΑ ΠΑΡΑΓΩΓΗΣ ΚΕΡΑΜΙΚΩΝ. ΠΡΟΣΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΛΟΓΙΣΤΗ.

ΣnO^'ΛAΣTHΣ: ΚΑΪΛΙΔΗΣ ΙΩΑΝΝΗΣ

VΠE^ ΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ: ΘΑΛΑΣΣΙΝΟΣ Χ.\ΡΑ.ΔΑΜΠΟΣ

Page 2: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΠΕΡΙΕΧΟΜΕΝΑ

ΚΕΦΑΛΑΙΟ 1

1.1 Η εξέλιξη των αυτοματισμών και οι προγραμματιζόμενοι λογικοί ελεγκτές (pic)1.2 Πλεονεκτήματα των προγραμματιζόμενων λογικών ελεγκτών1.3 Στάδια εργασίας στον προγραμματιζόμενο αυτοματισμό1.4 Δομή ενός προγραμματιζόμενου λογικού ελεγκτή1.5 Η μνήμη της κεντρικής μονάδας1.6 Αρχή λειτουργίας ενός προγραμματιζόμενου λογικού ελεγκτή1.7 Επιλογή προγραμματιζόμενου λογικού ελεγκτή1.8 Οι προγραμματιζόμενοι λογικοί ελεγκτές της αγοράς1.9 Ανάπτυξη προγράμματος σε προγραμματιζόμενο λογικό ελεγκτή1.10 Κυριότερες λειτουργίες προγραμματιζόμενων λογικών ελεγκτών1.11 Προγραμματιστικά χαρακτηριστικά και ονοματολογία των στοιχείων ενός ελεγκτή

ΚΕΦΑΔΑΙΟ 2

2.0 SIMAT1C S7

2.1 Η οικογένεια simatic s72.2 Απαιτούμενος εξοπλισμός2.2.1 Πλαίσιο στήριξης (Rack)2.2.2 Τροφοδοτικό (Power supply)2.2.3 Κεντρική μονάδα επεξεργασίας (CPU)2.2.4 Μονάδα ψηφιακών εισόδων (Digital Input)2.2.5 Μονάδες ψηφιακών εξόδων (Digital Output)2.2.6 Μονάδες αναλογικών εισόδων (Analog Input)2.2.7 Μονάδες αναλογικών εξόδων (Analog Output)2.2.8 Μονάδες ειδικών λειτουργιών (Fuction Module)

2.3 Μνήαη του s7 300

2.3.1 Μνήμη φόρτωσης (Load Memory)2.3.2 Μνήμη εργασίας (Work Memory)2.3.3 Μνήμη συστήματος (System Memory)2.3.4 Διαιρούμενη μνήμη2.3.5 Μνήμη ρολογιού2.3.6 Integrated EEPROM2.3.7 Εξωτερικές μνήμες2.4 Με τι προγραμματίζεται το S7-3002.5 Πως πραγματοποιείται η επικοινωνία μεταξύ του PLC και της συσκευής προγραμματισμού2.6 Παρουσίαση του λογισμικού2.7 Τεχνικά χαρακτηριστικά του S7-300

Page 3: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΚΕΦΑΛΑΙΟ 3

3.0 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΟΥ PLC-SET ΕΝΤΟΛΩΝ

3.1 Γενικά3.2 Τύπον δεδομένων3.3 Status word3.4 Εντολές λογικών μανδαλώσεων3.5 Εντολές διέγερσης3.6 Εντολές αναγνώρισης παρυφών3.7 Χρονικά3.8 Απαριθμητές3.9 Συγκρίσεις3.10 Μετατροπείς τύπων3.11 Αριθμητικές πράξεις3.12 Έλεγχος ροής προγράμματος3.13 Εντολές λογικών πράξεων μεταξύ λέξεων3.14 Εντολές μαζικής μεταφοράς3.15 Πίνακας εντολών στην STL

ΚΕΦΑΛΑΙΟ 4

4.0 ΠοοΎΡακαατνσαός σε γλώσσα LADDER(LAD)

4.1 Βασικά στοιχεία της γλώσσας LADDER4.2 Το περιβάλλον της γλώσσας LADDER4.1 Βασικές εντολές LADDER Logic4.2 Προγραμματίζοντας το ΟΒ1 σε γλώσσα Ladder4.3 Αποθήκευση4.4 Σχέδιο - πρόγραμμα (κοχλία κάρβουνου)

Page 4: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

npoYpauuaTiCouEvoi Λογικοί E>.e7 ktec (PLC)-IIPO AO rO L

I l|Mr | .ι/ι.αατιζόμενοι Λογικοί Ελεγκτές (PLC)

1.1 H εξέλιξη των αυτοματισμών και οι προγραμματιζόμενοι λογικοί ελεγκτές (PLC)

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

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

Η επανάσταση της πληροφορικής ξεκινά το 1975 με την κατασκευή του πρώτου μικροϋπολογιστή. Πολλά από όσα σήμερα θεωρούμε αυτονόητα δημιουργήθηκαν μετά το 1980. Η τεχνολογία άλλαξε πορεία, αλλάζοντας πορεία σε όλους τους τομείς της καθημερινής μας ζωής. Ο μικροϋπολογιστής “τρύπωσε” παντού, σε όλους τους τομείς και σχεδόν σε όλες τις εφαρμογές.

Η βιομηχανία μέχρι τη δεκαετία του '80 χρησιμοποιούσε ελάχιστα τα ηλεκτρονικά στους αυτοματισμούς της. Το 90% και πλέον των αυτοματισμών καταλάμβαναν οι αυτοματισμοί με ρελέ (μηχανικοί αυτοματισμοί). Τα ηλεκτρονικά χρησιμοποιούνταν τότε κυρίως για κάποιες “ευφυείς” εργασίες και οι πλακέτες αυτές τοποθετούνταν μέσα στους πίνακες των ρελέ.

Στις αρχές της δεκαετίας του '80 οι εταιρίες παραγωγής ηλεκτρολογικού υλικού εμφανίζουν στους τεχνικούς και μηχανικούς της βιομηχανία ένα νέο προϊόν αυτοματισμού, το οποίο ονόμασαν PLC. Η πλήρης ονομασία της νέας αυτής συσκευής είναι Programmable Logic Controller (Προγραμματιζόμενος Αογικός Ελεγκτής). Οι εταιρίες δεν χρησιμοποιούσαν αρχικά στην αγορά την τιλήρη ονομασία, μιλώντας απλά για PLC, πράγμα που ίσως έγινε έντεχνα για να μην τρομάξουν το τεχνικό κατεστημένο της βιομηχανίας.

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

Page 5: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

> Έντεχνα απέφτχγαν να χρησιμοποιήσουν λέξεις που θα “τρόμαζαν’' το τεχνικό κατεστημένο της βιομηχανίας, όπως για παράδειγμα υπολογιστής, προγραμματισμός κτλ. Ακόμα και το όνομα του προϊόντος απέφυγαν να το χρησιμοποιήσουν ολοκληρωμένο και προτιμούσαν να αναφέρουν τη συσκευή σαν PLC χωρίς τη τιλήρη ονομασία της Programmable logical Controller .

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

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

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

Σήμερα τα PLC έχουν εξελιχθεί πάρα πολύ σε σχέση με τα πρώτα μοντέλα της δεκαετίας του '8Θ.

Η χρήση των PLC μας παρέχει πάρα πολλά πλεονεκτήματα σε σχέση με τον κλασσικό αυτοματισμό. Η καθολική όμως γενίκευση της χρήσης τους δεν οφείλονται μόνο στα πλεονεκτήματα που παρέχουν στον τελικό χρήστη. Η χρήση των PLC σε σχέση με τον κλασσικό αυτομαησμό συμφέρει πρώτιστα τις εταιρίες που παράγουν είδη αυτοματισμού. Φανταστείτε μόνο πόσο κοστίζει σε μια εταιρία παραγωγής ηλεκτρολογικού εξοπλισμού η παραγωγή ενός τεράστιου αριθμού βοηθητικών ρελέ και ενός μεγάλου αριθμού χρονικών (timers) και απαριθμητών (counters). Σε αντίθεση με αυτά τα υλικά αυτοματισμού, όσον αφορά τον αυτοματισμό που χρησιμοποιεί PLC τι περιέχει; Η απάντηση είναι; “Μια και μοναδική συσκευή ! Το PLC”.

1.2 Πλεονεκτήματα των Προγραμματιζόμενων Λογικών Ελεγκτών

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

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

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

npcr/ραμματιζόμενοι Λογικοί Ελεγκτές (PLC)

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

> Τα PLC ελαχιστοποιούν το κόστος συντήρησης του τιίνακα αυτοματισμού. Το κόστος αυτό αναλύεται ως εξής: α) Συχνότητα βλαβών, β) χρόνος

Page 6: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Πρσγραμματιζόμενοι Λογικοί Ελ£γκτές (PLC)

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

> Τα PLC είναι ευέλικτα στην τροποποίηση της λειτουργίας του αυτοματισμού. Δηλαδή αν υποθέσουμε ότι θέλουμε να κάνουμε μιαν αλλαγή στον αυτοματισμό, αυτή μπορεί να γίνει μέσα σε λίγα λεπτά, αρκεί μόνο να αλλάξουμε το πρόγραμμα. Σε έναν τήνακα κλασσικού αυτοματισμού τέτοιες αλλαγές είναι πολύ δύσκολες, ακριβές & χρονοβόρες.

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

> Ο αυτοματισμός με PLC μας παρέχει μεγάλες δυνατότητες. Μπορούμε να δημιουργήσουμε πολύ εύκολα πολύπλοκες και «έξυπνες» επεξεργασίες, οι οποίες στον κλασσικό αυτοματισμό είναι πολύ δύσκολο να υλοποιηθούν.

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

> Το PLC καταλαμβάνει ελάχιστο χώρο σε σχέση με τον πίνακα κλασσικού αυτοματισμού.

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

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

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

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

Page 7: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

31 Λογικοί Ελεγκτές (PLC)

1.3 Στάδια εργασίας στον προ'/ραμματιζόμενο αυτοματισμό

Ο Προγραμματιζόμενος Λογικός Ελεγκτής (PLC) είναι μια ειδική συσκευή, η οποία έρχεται να αντικαταστήσει στον πίνακα του κ>χισσικού αυτοματισμού όλα τα βοηθητικά ρελέ, τα χρονικά και τους απαριθμητές. Αντί για την κατασκευή ενός πίνακα με πολύπλοκες συνδεσμολογίες μεταξύ των παραπάνω υλικών, που έχουμε στον κλασσικό αυτοματισμό, με τη χρήση του PLC, η λειτουργία του αυτοματισμού “προγραμματίζεται” μέσω μιας ειδικής συσκευής προγραμματισμού ή μέσω ενός ηλεκτρονικού υπολογιστή με τη βοήθεια ειδικού λογισμικού. Στον πίνακα 1 παρουσιάζονται τα στάδια που απαιτούνται για την υλοποίηση ενός αυτοματισμού με PLC καθώς και η αντιστοιχία με τα στάδια που απαιτούνται στον κλασσικό αυτοματισμό συρματωμένης λογικής.

Παρατηρούμε ότι τα στάδια, τα οποία αλλάζουν στις εργασίες σχεδιασμού και κατασκευής ενός αυτοματισμού, όταν χρησιμοποιούμε τα PLC, είναι τα 2,3 και 4. Αντί για την κατασκευή ενός τιίνακα, με πλήθος υλικών και πολύτιλοκες καλωδιώσεις, έχουμε την κατασκευή ενός πίνακα με ελάχιστα υλικά, απλές καλωδιώσεις και τον προγραμματισμό του PLC.

Πίνακας 1Π ρ ογρ α μ μ α τιζόμ ενη Λ ογικ ή Σ υ ρ μ α τω μ ένη Λ ο γ ικ ή1. Περιγραφή του αυτοματισμού I .Περιγραφή του αυτοματισμού.

2. Ανάπτυξη του σχεδίου εφαρμογής του πίνακα (σχέδιο καλωδίωσης).

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

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

4. Ανάπτυξη του προγράμματος λειτουργίας του αυτοματισμού και εισαγωγή του προγράμματος στο PLC μέσω της συσκευής προγραμματισμού.

4. Κατασκευή του πίνακα της εγκατάστασης.

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

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

6. Δοκιμή λειτουργίας της εγκατάστασης. 6. Δοκιμή λειτουργίας της εγκατάστασης.

7. Πλήρης λειτουργία του αυτοματισμού. 7. Πλήρης λειτουργία του αυτομαησμού.

1.4 Δομή ενός Προγραμματιζόμενου Λογικού Ελεγκτή

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

Page 8: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Γ1ρο7ραμματιζόμ£νοι Λογικοί Ελεγχτές (PLC)

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

> Α. Πλαίσιο για τοποθέτηση των μονάδων> Β. Μονάδα τροφοδοσίας.> Γ. Κεντρική μονάδα επεξεργασίας (CPU) που αποτελεί τον εγκέφαλο του

PLC.> Δ. Μονάδες εισόδων / εξόδων.> Ε. Συσκευή προγραμματισμού

/ "

: έξοδοί

Σχήμα 1.1 Δομή PLC (Προγραμματιζόμενου Δογικού Ελεγκτή)

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

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

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

Β. Μονάδα τροφοδοσίαςΗ μονάδα τροφοδοσίας χρησιμεύει για να δημιουργήσει από την τάση του

δικτύου τις απαραίτητες εσωτερικές τάσεις για την τροφοδοσία αποκλειστικά των ηλεκτρονικών εξαρτημάτων, που υπάρχουν μέσα στον προγραμματιζόμενο ελεγκτή (τρανζίστορ, ολοκληρωμένα κλπ). Οι τυπικές εσωτερικές τάσεις των ελεγκτών είναι συνήθως: DC 5V, DC 9V, DC 24V.

Page 9: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΙΙρογραμματιζόμενοι Λογικοί Ελεγκτές (PLC)

ί ’. Κεντρική μονάδα επεξεργασίας (CPU)Είναι η βασική μονάδα του ελεγκτή, η οποία είναι υπεύθυνη για τη λειτουργία

του αυτοματισμού. Η κεντρική μονάδα επεξεργασίας είναι στην ουσία ένας μικροϋπολογιστής και διακρίνουμε σ' αυτήν όλα τα κύρια μέρη ενός μικροϋπολογιστή, δηλαδή τον μικροεπεξεργαστή και τη μνήμη. Ο μικροεπεξεργαστής είναι ο αυτός που εκτελεί όλες τις λειτουργίες του προγραμματιζόμενου ελεγκτή.

Δ. Μονάδες εισόδων / εξόδωνΟι μονάδες των εισόδων και των εξόδων αποτελούν τις μονάδες ετηκοινωνίας της

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

Η κεντρική μονάδα μπορεί να δεχτεί ψηφιακά σήματα εισόδου και εξόδου χαμηλής τάσης και πολύ μικρού ρεύματος. Η τάση που δέχεται είναι συνήθιος 0 Volt για το λογικό “0” και 5 Volt για το λογικό “Γ’. Το ρεύμα εισόδου καθώς και το ρεύμα εξόδου δεν μπορεί να ξεπεράσει τα λίγα mA. Οι μονάδες εισόδων και εξόδων αναλαμβάνουν να προσαρμόσουν τα σήματα εισόδου και εξόδου, που έχουμε στον αυτομαπσμό, σε σήματα που μπορεί να δεχτεί η κεντρική μονάδα, τόσο από άποψη τάσεων όσο και από άποψη ρευμάτων. Η προσαρμογή αυτή γίνεται με χρήση ηλεκτρονικών στοιχείων ισχύος, είτε με τη χρήση των κατάλληλων μικρό-ρελέ.

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

Στους διάφορους τύπους των PLC που υπάρχουν, οι μονάδες εισόδων και εξόδων αντιμετωττίζονται με διαφορετικό τρόπο. Γ ενικά όμως ισχύουν τα παρακάτω:

> Μια μονάδα εισόδων ή εξόδων μπορεί να λειτουργεί με συνεχή τάση ή με εναλλασσόμενη τάση. Τυπικές τάσεις λειτουργίας είναι: DC 24V, 48V, 60V & AC 24V, 48V, 115V, 230V, με συνηθέστερες τις DC 24V, AC 115V & AC 230V.

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

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

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

Page 10: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματιζόμ£νοι Λογικοί ΕλεγιπΕς (PLC)

Ε. Συσκευή προγραμματισμούΗ συσκευή προγραμματισμού είναι μια τελείως ξεχωριστή συσκευή από τη

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

Λυχνίες ένδβξης καιόστοσης λειτουργίας

αυτορσηομού

Ένδειξη *» κοτόστασης^ μπαταρίας '

Μονάδες εισόδων Πλαίσιο σπτριξιτς μονάδων

Σχήμα 1.2 Ένα PLC όπου διακρίνονται με όλα τα στοιχεία του

1.5 Η μνήμη της κεντρικής μονάδας

Η μνήμη της κεντρικής μονάδας επεξεργασίας (CPU) διακρίνεται σε μνήμη RAM, ROM και EEPROM.

Μνήμη RAM: Η μνήμη RAM (Random Access Memory, μνήμη τυχαίας προσπέλασης) είναι εκείνη στην οποία μπορούμε να γράφουμε και να σβήνουμε, και η οποία χάνει τα περιεχόμενα της μόλις πέσει η τροφοδοσία της. Στη μνήμη RAM η κεντρική μονάδα αποθηκεύει μια σειρά από πληροφορίες σε ξεχωριστές ττεριοχές εργασίας. Μπορούμε να διακρίνουμε τις εξής περιοχές

> Περιοχή μνήμης όπου αποθηκεύονται οι καταστάσεις των εισόδων και των εξόδων. Η περιοχή αυτή ονομάζεται για τις εισόδους “εικόνα εισόδου" και για τις εξόδους “εικόνα εξόδου”.

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

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

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

Page 11: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΓΙρογραμματιζόμενοι Λογικοί Ελεγκτές (PLC)

Μνήμη ROM: Στη μνήμη ROM (Read Only Memory) ο κατασκευαστής του προγραμματιζόμενου ε>χγκτή αποθηκεύει το λειτουργικό σύστημα του PLC, δηλαδή το πρόγραμμα για όλες τις βασικές λειτουργίες που είναι απαραίτητες για να δουλέψει το PLC.

Μνήμη EEPROM: Επειδή η μνήμη RAM με την απώλεια της τροφοδοσίας χάνει τα δεδομένα της (εκτός αν χρησιμοποιείται μπαταρία), τα PLC χρησιμοποιούν έναν άλλο τύπο μνήμης, την EEPROM (Electrically Erasable Programmable Read Only Memory), η οποία προγραμματίζεται και σβήνει ηλεκτρικά. Πρόκειται για μνήμη που με την πτώση της τροφοδοσίας διατηρεί τα δεδομένα της, και στην οποία μπορούμε να γράψουμε και να σβήσουμε μέσω ειδικού μηχανήματος.

1.6 Αρχή λειτουργίας ενός Προγραμματιζόμενου λογικού ελεγκτή

Ας υποθέσουμε ότι ένα PLC βρίσκεται σε κατάσταση εκτέλεσης του αυτοματισμού (RUN). Τα βήματα που ακολουθεί κατά τη λειτουργία του είναι τα εξής:

Βήμα 1": Στην αρχή ο μικροεπεξεργαστής “διαβάζει” της εισόδους. Αυτό σημαίνει ότι για κάθε είσοδο ελέγχει αν έχει “υψηλή” τάση (λογικό “1”) ή “χαμηλή” τάση (λογικό “0”). Η τιμή “0” ή “1” για κάθε είσοδο αποθηκεύεται σε μια ειδική περιοχή της μνήμης η οποία ονομάζεται εικόνα ειβόδων (input image). Την εικόνα εισόδων μπορείτε να την φανταστείτε σαν έναν πίνακα, όπου ο μικροεπεξεργαστής σημειώνει τις τιμές που διάβασε. Π.χ. είσοδος Ι1=’Ί ”. 12=”0”, Ι3=”0” κ.ο.κ.

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

Η εκτέλεση του προγράμματος θα δώσει αποτελέσματα για τις εξόδους. Τα αποτελέσματα αυτά αποθηκεύονται στην ειδική περιοχή της μνήμης που ονομάζεται εικόνα εξόδων (output image). Όπως η εικόνα εισόδων, έτσι και η εικόνα εξόδων περιέχει την τιμή (“0” ή “1”) για κάθε έξοδο. Σημειώνουμε ότι οι τιμές αυτές προκύπτουν από την εκτέλεση των λογικών πράξεων του προγράμματος.

Βήμα 3“: Στη συνέχει ο μικροεπεξεργαστής θέτει τις τιμές της εικόνας εξόδων στις εξόδους. Αυτό σημαίνει ότι θα δοθεί “υψηλή” τάση σε όποια έξοδο έχει “1” και χαμηλή τάση σε όποια έξοδο έχει “0”.

Με τη συμπλήρωση του 3™ βήματος συμπληρώνεται ένας πλήρης κύκλος λειτουργίας και η διαδικασία αρχίζει από την αρχή. Ο κύκλος λειτουργίας εκτελείται συνεχώς όσο το PLC βρίσκεται σε κατάσταση RUN. Δηλαδή ένα PLC εκτελεί συνεχώς τα βήματα του κύκλου λειτουργίας. Στο σχήμα 1.3 φαίνεται ένας κύκλος λειτουργίας PLC.

Page 12: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

I Ιρογραμματιζόμενοι Λογικοί Ελεγκτές (PLC)

Σχήμα 1.3 Κύκλος λ£ΐτουργίας PLC

Ο χρόνος που χρειάζεται για να εκτελέσει το PLC ένα πλήρη κύκλο λειτουργίας ονομάζεται χρόνος κύκλου και εξαρτάται από την ταχύτητα του επεξεργαστή του PLC, αλλά και από τον αριθμό και το είδος των εντολών του προγράμματος. Δηλαδή στο ίδιο PLC για ένα μεγαλύτερο πρόγραμμα έχουμε μεγαλύτερο χρόνο κύκλου. Ο χρόνος κύκλου αποτελεί ένα μέτρο σύγκρισης μεταξύ των PLC. Για να μπορούν να συγκριθούν τα PLC ως προς την ταχύτητα εκτέλεσης ενός τφογράμματος, ορίζουμε τον μέσο χρόνο κύκλου, σαν το χρόνο κύκλου ενός προγράμματος που περιλαμβάνει 1 Kbyte δυαδικές εντολές. Πάντως στη χειρότερη περίτττωση και σε ένα αργό PLC, ο χρόνος κύκλου δεν ξετιερνά τις μερικές εκατοντάδες millisecond.

Θα θέλαμε σ’ αυτό το σημείο να τονίσουμε την ουσιαστική διαφορά στην λειτουργία ενός αυτοματισμού με PLC από έναν κλασσικό αυτοματισμό με ρελέ.

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

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

Page 13: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

εισόδου, κατά την διάρκεια του χρόνου κατά τον οποίο εκτελούνται οι εντολές προγράμματος. Στην περίπτωση αυτή στο τέλος του κύκλου το PLC θα δώσει αποτελέσματα στις εξόδους, στα οποία δεν θα έχει ληφθεί υπ' όψη η τρέχουσα αλλαγή στη κατάσταση της συγκεκριμένης εισόδου. Αυτό γιατί το PLC θα ενημερωθεί από την εικόνα των εισόδων για την αλλαγή της συγκεκριμένης εισόδου στην αρχή του επόμενου κύκλου επεξεργασίας του προγράμματος. Έτσι το PLC θα ενημερώσει τις εξόδους που επηρεάζονται από την συγκεκριμένη είσοδο, στο τέλος του επόμενου κύκλου επεξεργασίας του προγράμματος. Λαμβάνσντας τα παραπάνω υπ’ όψη θα έλεγε κανείς ότι τελικά το PLC ανταποκρίνεται καθυστερημένα στις αλλαγές μιας αυτοματοποιημένης διαδικασίας. Όμως αυτό δεν είναι η πραγματικότητα, αφού ο χρόνος πραγματοποίησης ενός κύκλου προγράμματος από ένα PLC είναι πάρα πολύ μικρός, το πολύ 300ms σε πολύτιλοκες εγκαταστάσεις αυτοματισμού.

________________________________________________ Γ1ρθ7ραμματιζόμΕνοι Λογικοί Ελεγκτές (PLC)

1.7 Επιλογή προγραμματιζόμενου λογικού ελεγκτή

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

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

καταλάβουμε καλύτερα τη λογική με την οποία

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

> Διακόπτες 1-0 : 5> Διακόπτες 1-0-2 : 3> Μπουτόν : 8> Αυχνίες 24VDC / 1 50mA : 20> Σειρήνα (220V AC) : 1> Βάνες (24VDC / 1 50mA) με ένδειξη ανοικτό κλειστό : 10> Κινητήρες με κατ’ ευθείαν εκκίνηση : 5

Δύο φορών περιστροφής : 3

Ό αυτοματισμός θα είναι απλός, τα στοιχεία θα εκκινούν και θα σταματούν με το πάτημα των μπουτόν. Τέλος, υπάρχει η απαίτηση το σύστημα που θα τοποθετηθεί να έχει τη δυνατότητα να συνδεθεί με συσκευή παρακολούθησης και τηλεχειρισμών (Operation Panel) και να μπορεί να συνδεθεί στο υπάρχον δίκτυο υπολογιστών του εργοστασίου, υλοποιημένο με το κλασσικό Ethernet.

Υπολογισμός αριθμού εισόδων / εξόδων

> Όι διακόπτες και τα μπουτόν απαιτούν για κάθε θέση τους μια είσοδο (εξαιρείται η θέση “0” η οποία συμπεραίνεται, δηλαδή στην περίπτωση διακόπτη 1-0 αν δεν είναι γυρισμένος στη θέση “1” τότε είναι γυρισμένος στη θέση “0”).

Page 14: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΠρογραμματιςόμΕνοι Λογικοί Ελεγκτές (PLC)

Οι βάνες με ένδειξη ανοικτό / κλειστό απαιτούν μια έξοδο και δύο εισόδους.Οι κινητήρες με δύο φορές περιστροφής απαιτούν δύο εξόδους και δύο εισόδους (ένα ζεύγος για κάθε φορά τιεριστροφής).

Στοιχεία Είσοδοι ΈξοδοιΔιακόπτες 1-0 5Διακόπτες 1-0-2 6Μπουτόν 8Δυχνίες 20Σειρήνα 1Βάνες 20 10Κινητήρες κατ’ ευθείαν εκκίνησης 5 5Κινητήρες δυο φορών περιστροφής 6 6Σύνολο 50 42

Υπολογισμός μονάδων εισόδου / εξόδου

Για να υπολογίσουμε τον απαιτούμενο αριθμό μονάδων, αρκεί να διαιρέσουμε τα σύνολα που έχουν προκύψει με τον αριθμό των σημάτων που έχει η μονάδα εισόδου ή εξόδου που θα χρησιμοποιήσουμε. Έτσι αν χρησιμοποιήσουμε μονάδες των 32 σημάτων, θα διαιρέσουμε δια 32. Από τον πίνακα προκύπτει ότι χρειαζόμαστε:

2 μονάδες ψηφιακών εισόδων3 μονάδες ψηφιακών εξόδων

Επιλογή CPE

Η CPU επιλέγεται λαμβάνοντας υπόψη των αριθμό των εισόδων / εξόδων που θα έχει το σύστημα, τις απαιτήσεις σε όγκο προγράμματος, την ετηθυμητή ταχύτητα λήψης αποφάσεων, τις γνωστές ανάγκες δικτύωσης και ειηκοινωνίας μιε άλλα συστήματα. Με βάση αυτά τα στοιχεία, βλέπουμε ότι μας καλύπτει η σειρά S7-300 της Siemens που υποστηρίζει ως 1024 ψηφιακά σήματα, διαθέτει αρκετή μνήμη για την εφαρμογή αυτή, επικοινωνεί με Operator Panel και τέλος μπορεί να συνδεθεί σε δίκτυο Ethernet.

Πολλές φορές έχει προκύψει η ερώτηση “πώς μπορώ να υπολογίσω πόση μνήμη θα χρειαστώ για να υλοποιήσω τον αυτοματισμό μου;” Δυστυχώς, δεν υπάρχει σίγουρη απάντηση σ’ αυτό το ερώτημα. Κάποια εποχή υπολογιζόταν με βάση τον αριθμό εισόδων και εξόδων του συστήματος. Αυτό σήμερα έχει ξεπεραστεί, αφού μπορεί κάποιος με 20 εισόδους και 20 εξόδους να γράψει πρόγραμμα 500 σελίδων και με 100 εισόδους και 100 εξόδους πρόγραμμα 300 σελίδων. Η μόνη λύση είναι η εμπειρία του καθενός. Θα είναι πάντως προτιμότερο να καταφύγετε σε μεγαλύτερες μνήμες για να είστε σίγουροι, αφού σήμερα πια το κόστος της μνήμης είναι ουσιαστικά πολύ μικρό σε σχέση με το υπόλοιπο σύστημα.

Page 15: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

IΙρογραμμιπΰόμΕνοι Λογικοί Ελεγκτές (PLC)

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

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

Compact PLC

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

Modular PLC

Σ’ αυτήν την κατηγορία κάθε μονάδα (module) του PLC είναι ξεχωριστή και συνδέονται όλες μαζί πάνω στο πλαίσιο τοποθέτησης μονάδων. Είναι επεκτάσιμα και χρησιμοποιούνται συνήθως όταν έχουμε μεγάλο αριθμό εισόδων και εξόδων. Έτσι μπορούμε να διαλέξουμε την κεντρική μονάδα και τις μονάδες εισόδων / εξόδων με τα χαρακτηριστικά που επιθυμούμε.

1.9 Ανάπτυξη προγράμματος σε προγραμματιζόμενο λογικό ελεγκτή

Σης ενότητες που ακολουθούν θα δούμε γενικά πως προγραμματίζουμε ένα PLC. Εδώ θα πρέπει να σημειώσουμε ότι το ηλεκτρολογικό σχέδιο του αυτοματισμού δεν είναι απαραίτητο προκειμένου να αναπτυχθεί το πρόγραμμα σε PLC για τον αυτοματισμό. Ένας σχετικά έμπειρος στον προγραμματισμό τεχνικός δεν “περνά” από το ηλεκτρολογικό σχέδιο του αυτοματισμού, προκειμένου να αναπτύξει το πρόγραμμα. Σε σύνθετους πολύπλοκους αυτοματισμούς η ανάπτυξη του ηλεκτρολογικού σχεδίου του αυτοματισμού είναι πολύ δυσκολότερη από την ανάπτυξη του προγράμματος. Μάλιστα σε ορισμένες περιπτώσεις είναι τηο εύκολο να αναπτυχθεί το πρόγραμμα άμεσα από τα δεδομένα του αυτοματισμού παρά χρησιμοποιώντας ένα έτοιμο ηλεκτρολογικό σχέδιο του αυτοματισμού.

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

Συνδυαστικός αυτοματισμός: Είναι ο αυτοματισμός cuov οποίο οι έξοδοι εξαρτώνται μόνο από τις εισόδους. Αυτό σημαίνει ότι οι κινητήρες, βαλβίδες και οι υπόλοιποι αποδέκτες του αυτοματισμού λαμβάνουν εντολές μόνο από τους

Page 16: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΓΙρίτ/ραμματιζόμενοι Λογικοί Ελίγκτές (PLC)

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

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

Σχήμα 1.4 Κατηγορίες αυτοματισμού

Παράδειγμα συνδυαστικού και ακολουθιακού αυτοματισμού

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

Σχήμα 1.5 Παράδειγμα συνδυαστικού αυτοματισμού

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

Page 17: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

1.10 Κύριες λειτουργίες προγραμματιζόμενων λογικών ε/χγκτών

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

> Λειτουργία απαριθμητών. Οι απαριθμητές αποτελούν ακόμα ένα πολύ σημαντικό στοιχείο των PLC. Οι απαριθμητές μπορούν να απαριθμούν εξωτερικούς ή εσωτερικούς παλμούς. Η απαρίθμηση μπορεί να είναι προς τα πάνω (count up) ή προς τα κάτω (count down). Η λειτουργία των απαριθμητών δεν είναι ίδια σε όλα τα PLC.

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

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

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

> Δικτύωση PLC - Συνεργασία μεταξύ τους και με ηλεκτρονικούς υπολογιστές.Η εξέλιξη των PLC σήμερα αλλάζει τη μορφή της βιομηχανίας. Τα PLC μπορούν να συνδέονται μεταξύ των ανταλλάσσοντας πληροφορίες, όπως και να συνεργάζονται με ηλεκτρονικούς υπολογιστές, οι οποίοι ασχολούνται με τον έλεγχο όλης της παραγωγής και ακόμη με τον έλεγχο της αποθήκης και του λογιστηρίου του εργοστασίου. Όλα αυτά μαζί αποτελούν ένα βασικό Βιομηχανικό Δίκτυο Αυτοματισμού (Computer Automatic Network, CAN).

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

Όταν ξεκινάμε να μελετάμε πως θα προγραμματίσουμε ένα PLC, πρέπει να γνωρίζουμε:

> Πόσες εισόδους έτει, πως tic ονοαάζουαε και πως τκ ανατνωρί^υαε.Όι είσοδοι σχεδόν σε όλα τα PLC χαρακτηρίζονται με το γράμμα 1 (Input). Στα μικρά συμπαγή PLC το γράμμα I ακολουθεί ένας απλός αύξοντας αριθμός, ξεκινώντας από το 1 (ή το 0) και φθάνοντας στο πλήθος των εισόδων π.χ. II, 12,

Page 18: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

13, κλπ. Στα modular PLC, όπου οι είσοδοι βρίσκονται σε μονάδες εισόδων, το γράμμα 1 ακολουθούν δύο αριθμοί που χωρίζονται με τελεία. Ο πρώτος αριθμός χαρακτηρίζει συνήθως τη θέση της μονάδας που βρίσκεται η είσοδος, και ο δεύτερος αριθμός χαρακτηρίζει την είσοδο πάνω στη μονάδα (σχήμα 1.5). Π.χ. έχουμε εισόδους ΙΟ.0,10.1, 10.2, ...,11.1,11.2, κλπ.

Πόσες εζόδουε έγει, πως τκ ονοαάίίουμε και πως τκ αναγνωρίζουιιε Τα ίδια, που ισχύουν για τις εισόδους, ισχύουν και για τις εξόδους. Το γράμμα με το οποίο χαρακτηρίζονται οι έξοδοι στα διάφορα PLC είναι συνήθως το Q ή το Ο (Output). Για τους αριθμούς που ακολουθούν το γράμμα, ισχύει ότι και για τις εισόδους.Πόσες βοηθητικές ανήαες έγει και πως τις ονοαάζουαεΣτα διάφορα PLC θα τις συναντήσουμε με το όνομα Markers. Πρόκειται για θέσεις μνήμης, στις οποίες αποθηκεύονται ενδιάμεσες λογικές καταστάσεις και πληροφορίες. Οπως ισχύει για τις εισόδους και τις εξόδους, χαρακτηρίζονται με ένα γράμμα ακολουθούμενο από έναν αριθμό ή δύο αριθμούς που χωρίζονται με τελεία. Το γράμμα στα διάφορα PLC είναι το Μ (Marker). Έτσι έχουμε π.χ. Μ0.1, Μ 0.2,..., Μ0.15,Μ1.0, Μ 1.1,...Τις ειδικές συναοτύσεις του PLCΠρέπει να γνωρίζουμε ποιες είναι, πώς ονομάζονται, πώς τις χειρίζεται το κάθε PLC και πόσες από την καθεμία διαθέτει. Οι ειδικές συναρτήσεις κατά σειρά σπουδαιότητας είναι:• Τα χρονικά• Οι απαριθμητές• Οι συγκριτές• Οι γεννήτριες παλμοσειρών• Ο μετρητής πραγματικού χρόνου

______________________________________________ ΙΙρογραμματιζόμενοι Λογικοί Ελεγκτές (PLC)

Όλα τα παραπάνω στοιχεία αποτελούν το προγραμματιστικό μοντέλο ενός PLC. που για να ξεκινήσουμε τον προγραμματισμό πρέπει να το γνωρίζουμε.

Page 19: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΙΙρο-φαμματιζόμενοι Λογικοί Ελεγκτές (PLC)

Page 20: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

5ΙΜ Α πα S7-300

2. SIMATIC S7

2.1 Η οικογένεια Simatic S7

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

S7-300Μοντέλο από αυτή τη σειρά θα χρησιμοποιήσουμε στο εργαστήριο και πάνω σ ’

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

> Modular μορφή> Μεγάλη ποικιλία από CPU για τη βέλτιστη εττιλογή ανάλογα με την εττιθυμητή

απόδοση> Επεκτασιμότητα με έως 32 μονάδες> Δικτυώνεται με όλα τα πρότυπα δίκτυα (Profibus, Industrial Ethernet)> Δεν έχει περιορισμό για τη θέση των ε^μέρους μονάδων> Δεν υπάρχουν μικροδιακότιτες (Dip switches) για την παραμετροποίηση - όλα

γίνονται μέσω λογισμικού> Έχει τιλήρες 32-bit σετ εντολών (ακόμα και για τριγωνομετρικές εξισώσεις)> Ενσωματωμένη δυνατότητα δικτύωσης (ΜΡΙ) στην κεντρική μονάδα> Ενσωματωμένες δυνατότητες διασύνδεσης με ΗΜΙ> Μνήμη διαγνωστικών - αυτόματη αποθήκευση με χρόνο και ημερομηνία όλων

των συμβάντων στο PLC> Μια μόνο μονάδα για τα αναλογικά - η ετηλογή γίνεται μέσω του λογισμικού

Page 21: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIM A nC S7-300

2.2 Απαιτούμενος εξοπλισμός

Κάθε PLC μπορεί να δομηθεί από επιμέρους μονάδες, ανάλογα με την εφαρμογή για την οποία θα χρησιμοποιηθεί. Στο σχήμα 2.1.φαίνεται μία ολοκληρωμένη εικόνα ενός S7-300

Σχήμα 2.1 Γενική άποψη ενός Simatic S7-300

Η μονάδα επέκτασης σημάτων είναι προαιρετική και χρειάζεται όταν οι μονάδες εισόδων / εξόδων της κεντρικής μονάδας δεν επαρκούν για την υλοποίηση της εφαρμογής. Στο παράδειγμα του σχήματος η έξοδος Α4.0 θα ενεργοποιηθεί (θα ανάψει το Led) μόνο αν κλείσουν οι διακόπτες Ε0.1 και Ε0.2.

Ας δούμε όμως αναλυτικά τα εττιμέρους στοιχεία που απαρτίζουν ένα S7-300

2.2.1 Πλαίσιο στήριξης (Rack)Ο ρόλος του είναι να στηρίζει απλά τις διάφορες μονάδες που θα συνθέσουν το

σύστημα αυτοματισμού. Η επικοινωνία μεταξύ μονάδων και CPU γίνεται με έναν συνδετήρα σχήματος “Π” στο τήσω μέρος των μονάδων. Μέσω αυτού υλοποιούνται οι δύο δίαυλοι εσωτερικής ετηκοινωνίας (σχήμα 2.2).

Σχήμα 2.2 Τοποθέτηση συνδετήρα

Page 22: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

Υπάρχουν δύο δίαυλον για ττ]ν επικοινωνία των μονάδων με τη CPU:

> P-Bus (Peripheral Bus), το οποίο έχει σαν κύριο στόχο να μεταφέρει πληροφορίες που αφορούν στην “περιφέρεια” (π.χ. εισόδους, εξόδους). Το P-bus είναι σειριακό με ταχύτητα 1,5 MBPS.

> K-Bus (Communication Bus) που αφορά στην επικοινωνία προς “ειδικές” μονάδες, για λειτουργίες προγραμματιστή κλπ. Το K-Bus είναι σειριακό και τα δεδομένα μεταφέροντα με ταχύτητα 187,5 KBPS.

Στο S7-300 μπορούν να τοποθετηθούν ένα κεντρικό rack (όπου βρίσκεται η CPU) και ως 3 racks επέκτασης, απομακρυσμένα μεταξύ τους το πολύ 10 μέτρα.

Μια ιδιαιτερότητα είναι ότι μπορεί σε κάθε rack να δημιουργηθεί ένα τοπικό Bus (Local Bus). Εδώ, με τη βοήθεια του πακέτου προγραμματισμού Step 7, μπορούμε να ανεξαρτητοποιήσουμε μια περιοχή του Peripheral Bus. Αυτό είναι δυνατό μόνο όταν χρησιμοποιηθεί ειδική μονάδα FM, η οποία πλέον ελέγχει άμεσα τις μονάδες που βρίσκονται δεξιά της και μόνο στα όρια του ίδιου rack. Ταυτόχρονα, αυτές οι μονάδες δεν είναι προσπελάσιμες από τη CPU.

Μια τυπική εφαρμογή του Local Bus είναι σε περιπτώσεις όπου πρέτιει να επεξεργαστούμε γρήγορα φαινόμενα (PID βρόγχους, που μπορούν να υλοποιηθούν με την ειδική FM μονάδα) κάνοντας ταυτόχρονα και κοινές λειτουργίες αυτοματισμού στη CPU.

2.2.2 Τροφοδοτικό (Power Supply)Ο σκοπός του είναι από την υπάρχουσα τάση δικτύου να δημιουργήσει τις

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

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

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

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

Ονομαστικό ρεύμα εξόδουΤο ονομαστικό ρεύμα εξόδου του τροφοδοτικού πρέτιει να είναι τιάντα

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

Page 23: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

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

Στη σειρά αυτή οι τροφοδοτικές διατάξεις που παράγουν τις απαραίτητες εσωτερικές τάσεις για τη λειτουργία του PLC, περι>-αμβάνονται στο ίδιο κουτί με τη CPU. Απαιτείται μόνο εξωτερική τάση 24V DC η οποία δίνεται από εξωτερικό τροφοδοπκό ως ακολούθως:

Τύπος PS 307 2Α PS 307 5Α PS 307 10ΑΤάση εισόδου Ρεύμα εισόδου

120V /230V AC 0 .8 /0 .5 A

120V /230V AC 2 /1 A

120V /230V AC 3 .5 / 1.7 A

Τάση εξόδου Ρεύμα εξόδου

24V DC lOA

Απορροφούμενη Ισχύς Διαγνωστικά_________

58WΝαι

138WΝαι

270WΝαι

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

2.2.3 Κεντρική Μονάδα Επεξεργασίας (CPU)Σ’ αυτήν αποθηκεύεται και εκτελείται κυκλικά το πρόγραμμα του χρήστη. Με

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

Τα σημαντικότερα στοιχεία που υπάρχουν σε μια CPU είναι:

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

> Η μνήμη, η οποία λογικά χωρίζεται σε διάφορες περιοχές (λεπτομέρειες στο κεφάλαιο 2.3) εκ των οποίων οι σημαντικότερες είναι:• Μνήμη του χρήστη, όπου αποθηκεύεται το πρόγραμμα που εμείς έχουμε

γράψει για τον αυτοματισμό της εγκατάστασης.• Μ\·ήμη για το λειτουργικό σύστημα, όπου τρέχει το πρόγραμμα για τη

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

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

Κάθε κεντρική μονάδα έχει κατ’ ελάχιστο:

Page 24: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Διακόπτη με κλειδί RUN-P / RUN / STOP / MRES.Ενδεικτικά LEDs για την κατάσταση της CPU.Θέση για σύνδεση συσκευής προγραμματισμού ή συσκευών καταγραφής - απεικόνισης.Θέση για τοποθέτηση εξωτερικής μνήμης.

_____________________________________________________________________ ΒΙΜΑΉΟ S7-300

ΚαινοτομίεςΟι υψηλές ταχύτητες επεξεργασίας (κάτω των 0,3 msec για 1 ΚΒ δυαδικών

εντολών), το επεκταμένο σετ εντολών (32 bit, αριθμοί κινητής υποδιαστολής, τριγωνομετρικές συναρτήσεις), η ελευθερία στη θέση τοποθέτησης των μονάδων, οι μεγάλες μνήμες (ως 16 MB), η παραμετροποίηση των μονάδων μέσω του λογισμικού, η ενσωματωμένη δυνατότητα δικτύωσης και οι λειτουργίες επιτήρησης και ελέγχου χωρίς κατανάλωση μνήμης του χρήστη και προγραμματισμό είναι μερικά από τα δυνατά σημεία της νέας γενιάς S7.

Σε κάθε CPU πλέον υπάρχει ενσωματωμένο το δίκτυο ΜΡΙ (Multi Point Interface) επάνω στο οποίο με ταχύτητα ως 187,5 KBPS και 32 σταθμούς (συσκευές προγραμματισμού, προσωπικοί υπολογιστές, PLC, συσκευές επιτήρησης και χειρισμών) μπορούν να επικοινωνούν μεταξύ τους.

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

Για τις υττηρεσίες επικοινωνιών (ΜΡΙ, Point to Point, Industrial Ethernet, Profibus) 01 κλήσεις είναι τμήμα του λειτουργικού συστήματος οπότε δεν απαιτείται χρήση της μνήμης που είναι διαθέσιμη για τα προγράμματα του χρήστη. Επιπλέον Δε, δεν επιβαρύνεται και ο κύκλος εκτέλεσης του προγράμματος.

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

Διακρίνουμε τρεις κατηγορίες διαγνωστικών μηνυμάτων που καταγράφονται ανάλογα με την προέλευσή τους, αν αφορούν:> τη CPU (Hardware ή Software) αν έπεσε σε STOP, αν έγινε RESET, κλπ.> Τις μονάδες, αν αφαιρέθηκε η πρίζα καλωδίων, αν υπάρχει βραχυκύκλωμα,

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

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

Σε ορισμένες CPU υπάρχει ενσωματωμένο interface για σύνδεση σε δίκτυο Profibus DP (π.χ. CPU 3 15-2DP). Αυτές οι CPU μπορούν να είναι είτε Master (οπότε διαβάζουν τις εισόδους κι επενεργούν στις εξόδους των άλλων σταθμών στο δίκτυο), είτε είναι Slave (οπότε παρέχουν στο Master του δικτύου τις δικές τους τιμές). Μέσα

Page 25: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

από αυτό το δίκτυο μττορούν να λειτουργήσουν και οι υτιηρεσίες προγραμματισμού (μια συσκευή προγραμματισμού συνδεδεμένη στο δίκτυο αυτό μπορεί να προγραμματίσει τη CPU) και επιτήρησης και χειρισμών.

2.2.4 Μονάδες ψηφιακών εισόδων (Digital Input)Ο ρόλος τους είναι να μεταφέρουν την εικόνα της εγκατάστασης στη CPU, όπως

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

Έτσι για παράδειγμα, σ ’ ένα έμβολο ο τερμαηκός του διακότττης είτε θα είναι ενεργοποιημένος είτε όχι. Λογικά αλλά και κατασκευαστικά καμία άλλη ενδιάμεση κατάσταση δεν είναι δυνατή. Σε ηλεκτρική υλοποίηση σημαίνει ότι ο διακόπτης είναι μια επαφή η οποία μπορεί να είναι είτε ανοικτή είτε κλειστή. Αν τροφοδοτήσουμε την επαφή αυτή με τάση τότε η τάση αυτή, όταν κλείσει η επαφή, θα εμφανιστεί και στην αντίστοιχη κλέμα εισόδου του PLC. Όταν έχουμε τάση σε μια κλέμα μονάδας εισόδου του PLC τότε λέμε ότι εκεί έχουμε σήμα “1”, ενώ στην αντίθετη περίπτωση λέμε ότι έχουμε σήμα “θ”. Στο σχήμα 2.3 φαίνεται μια μονάδα 16 ψηφιακών εισόδων.

— Ενδακτικό LED Σχήμα 2.3 Μονάδα ψηφιακών εισόδων

Μια μονάδα εισόδων έχει 8, 16 ή 32 εισόδους ανάλογα με τον τύπο του προγραμματιζόμενου ελεγκτή και την τάση. Οι τάσεις που έχουν επικράτηση είναι κυρίως τα 24V DC και τα 230V AC. Στα όρια μιας μονάδας πρέπη να χρησιμοποιείται η ίδια τάση. Έτσι, σε μια μονάδα 16 εισόδων / 24V DC σ' όλες τις ι^ μ ε ς πρέπει να φέρουμε τάση 24V DC διαφορετικά αυτή θα καταστραφεί.

Μια μονάδα εισόδων 24V DC αναγνωρίζει π.χ. τα +24V σαν σήμα “1” και τα 0V σαν σήμα “0”. Για τις περιπτώσεις που υπάρχει διακύμανση στην τάση (μη σταθεροποιημένο τροφοδοτικό) οι μονάδες έχουν μεγάλες ανοχές. Έτσι σήμα “1” καταλαβαίνει από 13V ως 30V DC και σήμα “0” από -3V ως +5V DC. Οι ενδιάμεσες ημές (6V ως 12V DC) δεν είναι δυνατόν να προκαθοριστεί πως θα τις κατανοεί το PLC.

Page 26: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATC S7-300

Ένα άλλο στοιχείο τιου ενδιαφέρει είναι η καθυστέρηση τιου εισάγει η μονάδα στη μεταφορά του σήματος προς την CPU και την οποία θα πρέπα να λάβει κανείς υπόψη του όταν πρόκειται να ελέγξει γρήγορες διαδικασίες. Τυπικές τιμές είναι της τάξης των 1,2 ως 25 msec.

2.2.5 Μονάδες ψηφιακών εξόδων (Digital Output)Ο ρόλος τους είναι να μετατρέπουν τις αποφάσεις που πήρε η CPU σε εντολές

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

Οι μονάδες εξόδου λειτουργούν σαν διακόπτες, στους οποίους δίνουμε εμείς την τάση και όταν κλείσει ο διακόπτης η τάση περνάει και πηγαίνει προς το υπόλοιπο κύκλωμα. Έτσι η τροφοδοσία των μονάδων γίνεται εξωτερικά, ανάλογα με το τι τάση χρησιμοποιείται. Ενδεικτικά μια μονάδα 32 ψηφιακών εξόδων / 24V DC φαίνεται στο σχήμα 2.4

Σε αντιστοιχία με τις μονάδες εισόδου το πρώτο χαρακτηριστικό που θα πρέπει να λάβει υπόψη του κάποιος είναι η τάση και το ρεύμα εξόδου της μονάδας. Έτσι λοιπόν η τάση εξόδου της μονάδας θα πρέπει να συμφωνεί με αυτή του φορτίου και αντίστοιχα το μέγιστο ρεύμα που μπορεί να δώσει η μονάδα προς το φορτίο. Οι τάσεις που έχουν επικρατήσει είναι τα 24V DC και τα 230V AC.

Ιδιαίτερο χαρακτηριστικό για τις μονάδες εξόδου είναι το ενεργό στοιχείο εξόδου, δηλαδή ο τελικός «διακόπτης» που παρέχει την ισχύ στο φορτίο. Αυτοί είναι συνήθως transistor αν πρόκειται για DC μονάδα εξόδου ή triac και ρελέ για AC μονάδα εξόδου. Έτσι ανάλογα με την εφαρμογή επιλέγει κανείς το καταλληλότερο στοιχείο, (π.χ. αν πρόκειται να ελέγξουμε μια λυχνία συναγερμού που θα

Page 27: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

5ΙΜ ΑΉ0 S7-300

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

2.2.6 Μονάδες αναΪΛγικών εισόδων (Analog Input)Οι μονάδες που εξετάσαμε μέχρι τώρα επεξεργάζονταν σήματα που έχουν μόνο

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

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

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

Στο παράδειγμά μας μπορούμε γραμμικά να αντιστοιχίσουμε τα 0 cm (ή αλλιώς 0 bar) σε τάση 0V, και τα 10 m (1000 cm ή 1 bar) σε τάση 10V. Οποιαδήποτε ενδιάμεση τιμή π.χ. 3,25 m θα έχει την αντίστοιχη ηλεκτρική της αναπαράσταση δηλ. θα είναι 3,25V.

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

Οι τυποποιημένες τιμές για τα ρεύματα είναι 0-20mA και 4-20mA, ενώ για τις τάσεις είναι 0-10V. Στο σχήμα 2.5 φαίνεται μια μονάδα αναλογικών εισόδων.

Page 28: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

Όταν δεν ετηβάλλεται (τυγκεκριμένο πρότυπο από ήδη υπάρχουσα εγκατάσταση, το πιο βολικό πρότυπο είναι αυτό των 4-20 mA γιατί αφ’ ενός μπορεί να χρησιμοποιηθεί με μήκος καλωδίου μέχρι και 1km αφ’ ετέρου ετητρέτιει την ανίχνευση κομμένου καλωδίου. Αυτό γίνεται πολύ απλά μια και όταν αντιστοιχίσουμε ένα φυσικό μέγεθος π.χ. πίεση O-lOBar σε ένα ρεύμα 4-20 mA τότε ακόμα κι αν η πίεση είναι 0, στον αγωγό μας θα κυκλοφορεί το ρεύμα που αντιστοιχεί σε αυτήν δηλ. 4mA. Έτσι αν το PLC διαπιστώσει ότι μία αναλογική είσοδος διαβάζει 0 καταλαβαίνει ότι έχει κοπεί ο αγωγός μεταφοράς και έτσι μπορεί να λάβει τα απαραίτητα μέτρα προστασίας.

Ένα άλλο μέγεθος που μας ενδιαφέρει στην επιλογή αναλογικών μονάδων εισόδων είναι η διακριτική τους ικανότητα (resolution). Για να κατανοήσει η CPU ένα αναλογικό μέγεθος αυτό μετατρέπεται από την μονάδα εισόδου σε έναν δυαδικό αριθμό. Έτσι η τάση 0-10V θα μπορούσε να μετατραπεί σε ακέραιο από 0 ως 255 ή και σε περιοχή από 0 ως 4096. Προφανώς στη δεύτερη περίπτωση η ακρίβειά μας είναι πολύ καλύτερη μια και τα βήματα μετατροπής της τάσης είναι πολύ περισσότερα. Οι αριθμοί που αναφέρθηκαν δεν είναι τυχαίοι, αλλά είναι δυνάμεις του 2 που είναι το σύστημα αρίθμησης της CPU.

Το πλήθος των δυαδικών ψηφίων που χρησιμοποιούνται για την αναπαράσταση ενός αναλογικού μεγέθους καθορίζει το μέγιστο αριθμό των βημάτων μετατροπής και άρα την ακρίβεια του συστήματος. Συνήθως χρησιμοποιούνται 12 ή 14 ψηφία (bit) από τα οποία το πρώτο αναπαριστά το πρόσημο του μεγέθους και τα υπόλοιπα 12 ή 13 την τιμή του.

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

Page 29: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

2.2.7 Μονάδες ανα^Λγικών εξόδων (Analog Output)Στις τιαραγωγικές διαδικασίες τιολλές φορές απαιτείται να ελέγξουμε το ποσοστό

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

Η μονάδα αυτή αναλαμβάνει να μετατρέψει το αριθμητικό μέγεθος της εντολής της CPU στην κατάλληλη τιμή ρεύματος ή τάσης ώστε να μπορεί να οδηγηθεί το ανάλογο εξάρτημα που ελέγχει το φυσικό μέγεθος της εγκατάστασής μας. Έτσι αν θέλουμε να ελέγξουμε το άνοιγμα μιας αναλογικής δικλείδας από 0 ως 100% (και άρα την παροχή ρευστού σε έναν αγωγό), η μονάδα αναλογικών εξόδων θα τροφοδοτήσει την αναλογική δικλείδα με ρεύμα 4-20mA. Οι μεταβολές του ρεύματος θα αντιστοιχούν σε μεταβολές (0-100%) του ποσοστού ανοίγματος της δικλείδας.

_______________________________________________________________________ 5ΙΜΑΉ€ S7-300

Σχήμα 2.6 Μονάδα αναλογικών εξόδων

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

2.2.8 Μονάδες ειδικών λειτουργιών (Function Module)Οι μονάδες ειδικών λειτουργιών αποκτούν όλο και μεγαλύτερο μερίδιο στη

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

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

Page 30: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Για παράδειγμα μια λειτουργία που συναντάμε συχνά είναι η απαρίθμηση παλμών και η λήψη αποφάσεων όταν καταμετρηθεί ένας προκαθορισμένος αριθμός (set point), όπως στο παράδειγμα που ακολουθεί:

_______________________________________________________________________ SIMATIC S7-300

Στο παράδειγμα αυτό θα πρέπει το χαρτοκιβώτιο (σχήμα 2.7) να γεμίσει με ένα συγκεκριμένο αριθμό εξαρτημάτων. Όταν το χαρτοκιβώτιο σταματήσει στη σωστή θέση, η ταινία A σταματάει, αρχίζει η απαρίθμηση και εκκινεί η ταινία Β. Όταν καταμετρηθεί ο επιθυμητός αριθμός εξαρτημάτων, η μονάδα FM350 σταματά την ταινία Β και εκκινεί την ταινία A για να απομακρύνει το χαρτοκιβώτιο. Έτσι λειτουργεί σαν αυτόνομη μονάδα και λαμβάνει από τη CPU μόνο set point ή αποστέλλει δεδομένα σε άλλες μονάδες.

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

Page 31: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMA TIC S7-300

2.3 Μνήμη του S7-300

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

Η μνήμη μιας CPU χωρίζεται σε 3 γενικές κατηγορίες: Μνήμη φόρτωσης, μνήμη εργασίας και μνήμη συστήματος, τις οποίες θα δούμε αναλυτικά παρακάτω

Κιντρική β,ονάΛα εκΐξεργααίχις - CPL'

>■ {5=·'ί h i

Μντ|ιΐ| ρργασια;

Μνιμιη σνστήμοΐοζ

h 'fh i

j TcTOica βο<ιΙ>ττ. (L) ~|

Σχήμα 2.8 Η μνήμη του PLC S7-300

2.3.1 Μνήμη φόρτωσης (Load Memor> )

Στη μνήμη αυτή αποθηκεύεται ολόκληρο το πρόγραμμα του χρήστη, η περιγραφή του συστήματος καθώς και οι παράμετροι των μονάδων. Στο κοντινό μέλλον εδώ θ’ αποθηκεύονται τα σύμβολα και ο σχολιασμός του προγράμματος, που προς το παρόν γίνεται μόνο στη συσκευή προγραμματισμού. Η μνήμη αυτή προϋπάρχει σε κάθε CPU και μπορεί να επεκταθεί με εξωτερικές μνήμες RAM ή Flash EPROM (FEPROM).

2.3.2 Μιτίμη εργασίας (Work Memory)

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

Page 32: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

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

_______________________________________________________________________ 5ΙΜ ΑΉ€ S7-300

2.3.3 Μνήμη συστήματος (System Memory)

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

Η μνήμη συστήματος στη CPU περιλαμβάνει τις παρακάτω περιοχές;

> Μνήμη απεικόνισης εισόδων (ΡΙΙ) - στην αρχή κάθε κύκλου σάρωσης του προγράμματος μας, η CPU διαβάζει τις εισόδους από τις μονάδες εισόδων και καταγράφει τις τιμές σ ’ αυτή την περιοχή.

> Μνήμη απεικόνισης εξόδων (PIQ) - κατά την διάρκεια της εκτέλεσης του, το πρόγραμμα υπολογίζει τιμές εξόδου (εντολές) και τις τοποθετεί σ ’ αυτήν την περιοχή. Στο τέλος του κύκλου σάρωσης, η CPU στέλνει τις τιμές αυτές στις μονάδες εξόδων.

> Βοηθητικά (Μ) - αποθηκεύει πληροφορίες (καταστάσεις) ή ενδιάμεσα αποτελέσματα που είναι διαθέσιμα σε όλο το πρόγραμμα.

> Χρονικά (Τ) - παρέχει αποθήκευση των χρόνων των χρονικών.> Απαριθμητές (C) - παρέχει αποθήκευση του περιεχομένου των απαριθμητών.> Τοπικά βοηθητικά (L) - θέσεις που παίζουν το ρόλο ενδιάμεσης αποθήκευσης των

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

ώρα και ημερομηνία, όπως CPU σε RUN / STOP, βραχυκυκλωμένη μονάδα αναλογικών κλπ.

2.3.4 Διατηρούμενη μνήμη

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

Ο αριθμός των Bytes που μπορεί να διατηρηθεί εξαρτάται από την εκάστοτε CPU. Η δήλωση των περιοχών που μας ενδιαφέρει να διατηρούνται γίνεται με τη βοήθεια του προγράμματος παραμετροποίησης και προγραμματισμού STEP 7. Οι περιοχές που δηλώνουμε, αποθηκεύονται στην μνήμη φόρτωσης (Load Memory). Έτσι, αν η μνήμη αυτή είναι μνήμη RAM θα πρέπει οπωσδήποτε να τη διατηρούμε με μπαταρία.

Page 33: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

2.3.5 Μνήμη ρο^Λγιού

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

7 6

1 Ξ ζ

0.625 Hz 0.5 Hz

Αυτό που κάνουμε εμείς είναι όταν ορίζουμε το υλικό, στις παραμέτρους της CPU, να δηλώνουμε ένα Byte βοηθητικών το οποίο ενημερώνεται από το λειτουργικό σύστημα της CPU. Έτσι για παράδειγμα, αν έχουμε δηλώσει το byte βοηθητικών MB 100, τότε με συχνότητα 2 Hz θα πάλλεται το Bit Μ 100.3

2.3.6 Integrated EEPROM

Στην CPU 312 IFM, όπως στο PLC του εργαστηρίου, μπορείτε να αποθηκεύσετε το πρόγραμμά σας και στην ενσωματωμένη (Integrated) EEPROM. Επειδή ο συγκεκριμένος ελεγκτής δεν έχει back-up μπαταρία, μόλις πέσει η τροφοδοσία τα δεδομένα στη μνήμη RAM θα χαθούν. Αν όμως έχετε αποθηκεύσει το πρόγραμμά σας στην EEPROM, μόλις επανέλθει η τροφοδοσία τα περιεχόμενα της EEPROM θα αντιγραφούν στη RAM. Επίσης, το ίδιο θα γίνει και μετά από Reset.

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

2.3.7 Εξωτερικές μνήμες

Υπάρχουν σήμερα πια δύο είδη εξωτερικής μνήμης που μπορεί να τοποθετηθεί στο PLC - μνήμη RAM και μνήμη Flash EPROM (FEPROM).

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

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

Page 34: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATO S7-300

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

2.4 Με τι προγραμματίζεται το S7-300

Αφού συντάξουμε το πρόγραμμα στο “χαρτί”, θα πρέπει να το εισάγουμε στο S7-300. Αυτό γίνεται με διάφορες συσκευές προγραμματισμού που έχει κατασκευάσει η SIEMENS γι’ αυτό το σκοπό ή με τη χρήση ηλεκτρονικού υπολογιστή.Συσκευές προγραμματισμού SIMATIC S7-300

Η συσκευή PG 702 (σχήμα 2.9) είναι φορητή και μπορεί να προγραμματίσει το PLC μόνο σε γλώσσα λίστα εντολών με Boolean εντολές και γι’ αυτό χρησιμοποιεί τη γλώσσα Statement List (δες κεφ. 2.6).

Σχήμα 2.9 Η συσκευή προγραμματισμού PG 702

Τα μοντέλα PG 720, PG 740 (σχήμα 2.10) είναι σαν φορητοί προσωπικοί υπολογιστές. Έχουν προεγκατεστημένο το πρόγραμμα STEP-7 και μπορούν να προγραμματίσουν το PLC και στις τρεις γλώσσες που αυτό δέχεται (βλέπε κεφ. 2.6)

Page 35: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

0 H ρ ΓQ 1Β 1 — 11

1

PG720 ή PG740Σχήμα 2.10 Η συσκευή προγραμματισμού PG720 ή PG740

Προγραμματισμός με προσωπικό υπολογιστήΟ προγραμματισμός με προσωπικό υπολογιστή είναι ο πιο εύκολος. Αν

χρησιμοποιηθεί προσωπικός υπολογιστής για τον προγραμματισμό του PLC, θα πρέπει ο χρήστης να εγκαταστήσει το πρόγραμμα STEP-7 που συνοδεύει το PLC. Ο προγραμματισμός μπορεί να γίνει και στις τρεις γλώσσες με τις οτιοίες προγραμματίζεται το PLC S7-300. Επίσης ο υπολογιστή μπορεί να συνδεθεί και με τη συσκευή προγραμματισμού EEPROM στην τιερίπτωση τιου θέλετε το πρόγραμμά σας να το “φορτώσετε” σε μονάδα μνήμης EEPROM. Επιπλέον ο υπολογιστής παρέχει τη δυνατότητα αρχειοθέτησης των προγραμμάτων του χρήστη καθώς και την εκτύπωση αυτών.

Σχήμα 2.11 Σύνδεση S7-300 με προσωπικό υπολογιστή

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

Για την πραγματοποίηση της επικοινωνίας μεταξύ του PLC και της συσκευής προγραμματισμού πρέπει να “στήσουμε” ένα δίκτυο ΜΡΙ (Multipoint Interface). Για να γίνει αυτό θα πρέπει η συσκευή προγραμματισμού να έχει μια κατάλληλη θύρα για επικοινωνία. Στην περίπτωση που η συσκευή προγραμματισμού είναι κάποιος

Page 36: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATC S7-300

προσωτηκός υπολογιστής η κατάλληλη θύρα είναι η σειριακή. Τότε χρειαζόμαστε ένα RS-232 καλώδιο, καθώς και έναν προσαρμογέα (PC Adapter). Στο σχήμα 2.12 φαίνεται πώς ετητυγχάνεται αυτή η σύνδεση.

4 ΐ ΐ ΐ ) - ί Ο ι 1

/ ---RS232 Διο»*τ 5

ί ---------------- 'HP1/DP

C0H1 19.2/384 Elfs

Σχήμα 2.12 Τρόπος σύνδεσης του S7-300 με PC

Η προετηλεγμένη ταχύτητα μετάδοσης είναι 38.4 Kbps. Εσείς πρέπει να τη ρυθμίσετε σε 19.2 Kbps. Αυτό γίνεται θέτοντας τον διακότττη (που φαίνεται στο παραπάνω σχήμα) στα 19.2 Kbps.

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

2.6 Παρουσίαση του λογισμικού

Το λογισμικό πακέτο που χρησιμοποιείται για τον προγραμματισμό του S 7-3 00 είναι μια Windows εφαρμογή που ονομάζεται STEP-7. Το πακέτο αυτό δίνει τη δυνατότητα στο χρήστη, εκτός από το να προγραμματίσει το PLC, να “τρέξει” το πρόγραμμα σε πραγματικό χρόνο, να διαπιστώσει και να διορθώσει τυχόν σφάλματα και γενικότερα να δοκιμάσει το πρόγραμμα.

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

Γλώσσα LADDER Logic ή γλώσσα ηλεκτρολογικών γραφικών

Η πρώτη γλώσσα προγραμματισμού είναι η Ladder Logic (LAD) που είναι μια γλώσσα γραφικών που χρησιμοποιεί ηλεκτρομηχανικά σύμβολα και επιτρέπει ουσιαστικά τη μεταφορά του ηλεκτρολογικού σχεδίου στο PLC. Με τη γλώσσα αυτή η εκπαίδευση των τεχνικών, που ήταν συνηθισμένοι στον κλασσικό αυτοματισμό, γινόταν εύκολα και γρήγορα, αφού δεν άλλαζε ουσιαστικά την εργασία σχεδιασμού του αυτοματισμού. Η γλώσσα LADDER χρησιμοποιεί όχι την Ευρωπαϊκή τυποποίηση στο σχεδιασμό των ηλεκτρικών επαφών, αλλά την Αμερικάνικη. Αυτό ίσως οφείλεται στο γεγονός ότι τα πρώτα PLC ανατπύχθηκαν στην Αμερική. Όμως στη συνέχεια αυτός ο σχεδιασμός “βόλεψε” και έτσι διατηρήθηκε και από τις

Page 37: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

Ευρωτιανκές εταφίες, με αποτέ)χσμα σήμερα να είναι καθιερωμένος. Στο σχήμα 2.13 φαίνεται το περιβάλλον της γλώσσας Ladder.

Γλώσσα λίστα ειτολών (Statement List) ή γλώσσα λογικών εντολών

Η δεύτερη γλώσσα προγραμματισμού είναι η Statement List (STL) που αναπτύχθηκε σχεδόν ταυτόχρονα με τη LADDER, αν και οι εταιρίες έδειξαν στην αρχή δισταγμό να την προωθήσουν, φοβούμενες μην τρομάξουν το τεχνικό κατεστημένο της βιομηχανίας. Η γλώσσα αυτή δημιουργεί λίστα προγράμματος με εντολές, που αντιστοιχούν στις λογικές πύλες (AND, OR NOT κτλ). Στην αρχή η γλώσσα αυτή ήταν πολύ φτωχή και περιοριζόταν μόνο στις βασικές Boolean εντολές. Στη συνέχεια οι γλώσσες αυτές ανατιτύχθηκαν πολύ και συναντά κανείς σε αυτές στοιχεία από τις γλώσσες των υπολογιστών και κυρίως των γλωσσών Assembly. Ο προγραμματισμός σε αυτή τη γλώσσα απαιτεί από το χρήστη να έχει στοιχειώδεις γνώσεις προγραμματισμού. Στο σχήμα 2.14 φαίνεται το περιβάλλον της Statement List.

Hetuork 1: Title;

Hetnork 2 : Title;

Σχήμα 2.14 Περιβάλλον Statement List

Page 38: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

SIMATIC S7-300

Π-ώσσο λογικών γραφικών (Function Block Diagram)Η τρίτη γλώσσα είναι η Function Block Diagram η οποία χρησιμοττοιεί και αυτή

γραφικά, αλλά αντί του ηλεκτρολογικού σχεδίου του αυτοματισμού χρησιμοττοιεί το αντίστοιχο λογικό. Η γλώσσα αυτή είναι νεότερη και δεν χρησιμοτιοιείται αττό όλες τις εταιρίες. Στο σχήμα 2.15 φαίνεται το ττεριβάλλον της Function Block Diagram.

Σχήμα 2.15 Περιβάλλον Function Block Diagram

Page 39: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

2,7 Τεχνικά χαρακτηριστικά του S7-300

$ΙΜΑΉΟ S7-300

CPU »nd Product Vinton Voltages, CurrentsMLFB BEST 312-5AC02-OABO Power supply 24 V DC• Hardware veralon 01 • PermissailB range 20,4 to 28,8 V• Firmware version V1.1.0 Power consumpbon (No 0.7 A (typical)* Matching oroqrammino STEP 7 V 5,0; load)

package Service Pack 03 Innish current 8A(typical)Memory l*t 0.4 A2s

Work memory External bising for supply QTcuttbraalwr 10 A• Integral 6KB rnes (tacommendatiin) Type B orC• Expandable No PG supply on MPI (15 to max. 200 mALoad memory 30VDO

• Integral 20 KB RAM Power losses 9W(typical)20KBEEPROM Battery No

• Expandable F3>ROM No Accumulator No• Expandable RAM NO Integrated biputaioutputsBackup Yes Addresses of integral• Wanbattery No ■ DlgttaJ inpids Ε124Λ to E 127.7■ Without battery 72 bytes retentive • Digital outpids Α124ΛΙΟΑ124.7

Parametarlzable (data. Hags, tiners) Megratad Functions

Processing tines Cminter 1 {sae IntagraM Functions manual)

Processing bmas for Frequency mater uptolOkHzmax.• Bit inslruclians 0.6 fis minimum (»e tnlegratail Functions* Word Instructions 2 ps mintmum

■ Double integer math 3 us minimum Sensor Selection Data

• Ftoatfig-point math 60 lis minimum Input voltage

instnicbone • Rated value 24VDC

Tlmers/Counteis and their retenttve charactertstlcs • For “T signal1125.0 and 1125 .1 15to 30V

S7 counters 32 1124.6 and 1124.7 15to 30V• Adjustabie retentlvlty ftomCOtoCSI • For *0’ signal - 3 ! d 5V• PtBSe! 6omCOIoC7

Input current• Counting range 1»999 • For Ί * signallEC Counters Yes 1125.0 and 1125 .1 min. 2 mA• Type SFBs 1124.6 and 1124.7 mto. 6.5 mA

S7 timers 64 Input delay time• Adjustable retadlvity No • For‘O 'to“r rrax. 50ps

• Timing range 10 ms to 9990 s • For-Tto-O- max. 50 us

IKTImefs nme, Frequency

• Type SFBs Internal conditioning time

• Interrupt processing

Input frequency

max, 1.5 ms

—10 kHz

Page 40: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ TOY PLC- SET ΕΝΤΟΑΩΝ

5.1 Γελ’ΐκά

Τα PLC από μόνα τους είναι ουδέτερες συσκευές αφού δεν είναι από πριν κατασκευασμένες για μια

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

προγραμματίζονται να κάνουν την μεν ή δε ενέργεια.

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

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

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

γλώσσες μετατρέπονται σε γλωσσά μηχανής MC7 (Machine Code 7) κατά την μεταφορά του

προγράμματος από την συσκευή προγραμμαπσμού στο PLC.

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

ο Η λίστα εντολών STL

ο Σχέδιο επαφών LAD

ο Διάγραμμα λογικών πυλών FDB

Λεπτομερή αναφορά για την κάθε μια έχει γίνει σε προηγούμενο κεφάλαιο. Παρακάτω θα αναφερθούμε

σε βασικές εντολές προγραμμαπσμού σε μορφή STL

5.2 Τύποι δεδομένων

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

δεδομένων. Ορίζοντας έναν τύπο δεδομένων ορίζουμε και το μέγεθος των δεδομένων καθώς και τη δομή

των bit τους. Το Step 7 προσφέρει διάφορες μορφές για την αναπαράσταση αριθμηπκών πμών που τις

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

Ένα δεδομένο μπορεί να έχει μήκος από 1 bit ως και 32 bits. Από αυτή την άποψη λοιπόν τα δεδομένα

χωρίζονται σε Bool, Byte, Char, Int, Word, Dint, Dword:

o Bool: Όπως ήδη ξέρουμε τα Bool δεδομένα είναι μήκους 1 bit και έτσι η πμή τους μπορεί να είναι

είτε Αληθής 1 είτε Ψευδής 0.

Page 41: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ο Byte: Τα Bytes είναι προσημασμένοι αριθμοί με μήκος 8 bits και έτσι μπορεί να πάρει τιμή από -

128 ω ς+127.

ο Char: Αυτός ο τύπος δεδομένων περιλαμβάνει τους ASCII χαρακτήρες οι οποίοι έχουν μήκος 8

bits.

ο Int: Είναι προσημασμένοι αριθμοί με μήκος 16 bit που μπορούν να τιάρουν τιμή από -32768 ως

+32767.

ο Word: Έχει μήκος 2 Byte ή 16 bits. Η διαφορά του από τους Int αριθμούς, είναι ότι περιέχει δυο

ανεξάρτητους διαδοχικούς αριθμούς των 8 bits η καθεμία, ενώ οι Int περιέχουν έναν ενιαίο αριθμό

των 16 bits.

ο Dint: Είναι 32 Bits προσημασμένοι αριθμοί με τιμή από - 2147483648 ως +2147483647.

ο Dword: Είναι μήκους 4 Byte ή 32 bits. Όπως τα words, και τα Dwords περιέχουν τέσσερις

διαδοχικούς αριθμούς των 8 bits.

5.3 Status Word

Σε κάθε μικροεπεξεργαστή οι εντολές επηρεάζουν κάποιες “σημαίες”. Το ίδιο συμβαίνει και εδώ. Όλες

οι σημαίες βρίσκονται σε μια λέξη που ονομάζεται Status Word. Μετά από κάθε εντολή μπορούμε να

χρησιμοποιήσουμε άμεσα τα Bits που επηρεάστηκαν και έτσι να κατευθύνουμε το πρόγραμμά μας. Το

Status word έχει 9 bits που η λειτουργία τους φαίνεται παρακάτω:

ο BR Binary Result: Μας βοηθά να επεξεργαστούμε εντολές που αφορούν words σαν να ήταν

εντολές που αφορούν Bits. Δηλαδή, αν μια εντολή έχει σαν αποτέλεσμα έναν οποιοδήποτε

αριθμό (π.χ. πρόσθεση δυο ακεραίων), μέσω του BR μπορούμε να επεξεργαστούμε το

αποτέλεσμα σαν να ήταν Bit και όχι αριθμός, γιατί αν γίνει η πρόσθεση το BR θα γίνει “1”. Αν

Δε γίνει θα μείνει “0”.

ο CC1 και CC0 Condition Codes: Επηρεάζονται από μαθηματικές εντολές και μας δίνουν

πληροφορίες για το αποτέλεσμα. Π.χ. σε μια αφαίρεση, ανάλογα με πια bit είναι “1”, μας λέει

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

ο ο ν Overflow: Γίνεται “1” όταν προκύπτει κάποιο λάθος σε μαθηματικές πράξεις, όπως π.χ. το

αποτέλεσμα να είναι μεγαλύτερο από το όριο. Γίνεται “0” αν το λάθος αποκατασταθεί.

Page 42: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ο OS Overflow Stored: Γίνεται “1” αν και το Bit OV γίνει “ 1”, και διατηρεί την κατάσταση αυτή

ακόμα και αν το Bit OV γίνει “0”. Δηλαδή να γίνει λάθος σε μια εντολή το Bit θα είναι Set σε

όλη τη διάρκεια του προγράμματος.

ο OR: Χρησιμοποιείται από την Statement List γλώσσα προγραμματισμού,

ο STA Status Bit: Παίρνει την τιμή που έχει το τρέχον bit σε μια Bit Logic εντολή,

ο RLO Result o f Logic Operation: Αποθηκεύει το αποτέλεσμα της λογικής επεξεργασίας μετά

από κάθε εντολή.

ο /FC First Check: Είναι Bit ελέγχου του μικροεπεξεργαστή που δεν θα μας χρησιμεύσει η

λειτουργία του.

5.4 Εντολές λογικών μανδαλώσεων

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

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

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

πραγματοποιούν αυτή τη φιλοσοφία.

5.4.1 Εντολές And, And Not, Or, Or Not

H κανονικά ανοικτή επαφή είναι κλειστή όταν η πμή του bit της διεύθυνσης η είναι ίση με 1.

Στην STL, η κανονικά ανοικτή επαφή αναπαριστάτε από τις εντολές And και Or. Αυτές οι εντολές

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

του σωρού.

Η κανονικά κλειστή επαφή είναι κλειστή όταν η τιμή του bit της διεύθυνσης η είναι ίση με 0.

Στην STL, η κανονικά κλειστή επαφή αναπαρίσταται από τις εντολές And Not, και Or Not. Αυτές οι

εντολές φορτώνουν, κάνουν λογικό And ή λογικό Or αντίστοιχα, το λογικό όχι της τιμής του bit της

διεύθυνσης η με την κορυφή του σωρού.

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

Page 43: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Σχήμα 5.3. Σύνταξη μιας εντολής And και μιας εντολής And Not

Page 44: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Σχήμα 5.4. Σύνταξη εντολής Or

Σχήμα 5.5. Σύνταξη μιας εντολής Or και μιας εντολής Or Not

5.5 Εντολές διέγερσης

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

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

Οι εντολές αυτές μπορούν να είναι:

ο Διέγερσης χωρίς αυτοσυγκράτηση (εντολή =)

ο Διέγερση με αυτοσυγκράτηση (εντολή Set,Reset)

Page 45: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

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

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

στο στοιχείο που ορίζουμε (Q,M,D)

5.5.1 Εντολή =

Στο σχήμα 5.6 για όσο διάστημα η είσοδος 11.0 θα έχει σήμα « 1 » ,θα είναι ενεργοποιημένη κ

Q4.0

ιη έξοδος

5.5.2 Εντολές RESET και SET

Η εντολή Reset θα δώσει αποτέλεσμα “0”, δηλαδή θα κάνει Reset τη διεύθυνση που αντιπροσωπεύει, αν

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

Η εντολή Set Θα δώσει αντίστοιχα αποτέλεσμα “1”, δηλαδή θα κάνει Set την αντίστοιχη διεύθυνση, αν

φτάσει ρεύμα μέχρι εκεί.

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

εξόδους. Για να κατανοήσετε καλύτερα τη διαφορά των εντολών SET, RESET με την εντολή Πηνίο

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

παράδειγμα:

Page 46: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

στην είσοδο 11.1 έχουμε σήμα « 0 » . Αν η είσοδος 11.0 χάσει το σήμα 1 η έξοδος Q4.0 θα παραμείνει

ενεργοποιημένη , θα απενεργοποιηθεί μόνο όταν η είσοδος 11.1 έχει σήμα « 1 » .

Να σημειώσουμε εδώ ότι οι δύο εντολές Set και Reset αλλάζουν την κατάσταση των διευθύνσεων που

αναφέρονται μόνο με “1” στην είσοδό τους. Με “0” η διεύθυνση διατηρεί την προηγούμενη κατάστασή

της.

5.6 Εντολές αναγνώρισης παρυφών

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

σήματος (π.χ. από « 0 » σε « 1 » ) και όχι κάθε όλο το επόμενο διάστημα της παραμονής του σήματος

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

αναγνωρίζοντας τις παρυφές των παλμών θετικές ή αρνηπκές.

RL0Positive Edge Negative Edge

Time

H μεταγωγή από « 0 » σε « 1 » ονομάζεται θετική παρυφή ενώ η μεταγωγή από « 1 » σε « 0 »

αρνητική.

Page 47: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Η εντολή αυτή ελέγχει την αλλαγή του RLO από « 0 » σε « 1 » και επιδρά στην έξοδο δίνοντας σήμα

« I » για ένα κύκλο του προγράμματος . Για να επιτραπεί στο σύστημα να αναγνωρίσει την αλλαγή , το

RLO αποθηκεύεται σε ένα Memory bit ή σε ένα Data bit. Στο παράδειγμα που ακολουθεί ,για την

αποθήκευση χρησιμοποιείται το Μ1.0

5.6.1 Εντολή FP

5.6.2 Εντολή ΕΝ

Η εντολή αυτή ελέγχει την αλλαγή του RLO από « 1 » σε « 0 » και ετηδρά στην έξοδο δίνοντας σήμα

« 1 » για ένα κύκλο του προγράμματος . Για να επιτραπεί στο σύστημα να αναγνωρίσει την αλλαγή , το

RLO αποθηκεύεται σε ένα Memory bit ή σε ένα Data bit. Στο παράδειγμα που ακολουθεί ,για την

αποθήκευση χρησιμοποιείται το Μ 1.0

Page 48: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

5.7 Χρονικά

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

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

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

μπορούν να μετρήσουν χρόνους μέχρι και 9990 δευτερόλεπτα ή 2 ώρες 46 λεπτά και 30 δευτερόλεπτα. Ο

μικρότερος χρόνος που μπορεί να μετρηθεί είναι 10 msec. Η τιμή του χρόνου για ένα χρονικό δίνεται με την

εντολή L συνοδευόμενη πάντα από την τιμή του χρόνου.

L S5T#aH_bM_cS_dMS

όπου H=Hours (ώρες), M=Minutes (λεπτά), S=Seconds (δευτερόλεπτα), MS=Millisecs (χιλιοστά

δευτερολέπτου) και a,b,c,d είναι νούμερα.

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

είναι μέχρι 9sec και 990msec, τότε σαν μονάδα χρόνου ορίζεται τα 10msec. Αν είναι από lOsec μέχρι

Im39sec900msec (99sec900msec), τότε σαν μονάδα χρόνου τίθεται τα 100msec. Αν είναι από lm40sec

(lOOsec) μέχρι 16m39sec (999sec), τότε η μονάδα χρόνου είναι Isec. Τέλος αν είναι από 16m40sec

(lOOOsec) μέχρι και 2h46m30sec (9990sec), τότε η μονάδα χρόνου είναι τα lOsec. Δηλαδή, αν δώσετε στο

χρονικό την εντολή: S5T#35S450MS, εσείς θα περιμένετε να μετρήσει 35sec και 450msec. Όμως σε αυτή

την περίπτωση, μονάδα χρόνου είναι τα 100msec και έτσι το χρονικό θα μετρήσει 35sec και 400msec. Στον

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

Πίνακας 5.1

Page 49: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Μονάδα Πεδίο

10msec Από 10msec μέχρι 990msec

100msec Από 1 sec μέχρι 99sec900msec

Isec Από 1 OOsec μέχρι 999sec

lOsec Από lOOOsec μέχρι 9990sec

Υπάρχουν πέντε τύποι χρονικών ;

Τύπος Περιγραφή

SPPulse Timer

To χρονικό τρέχει όσο το σήμα στην ακίδα S είναι “1”.

Αν γίνει“0” τότε το χρονικό θα σταματήσει και θα

βγάλει στην έξοδο Q “0”.

SEExtended Pulse Timer

Η έξοδος του χρονικού παραμένει “1” για όλο τον χρόνο

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

ακίδα S έχει γίνει “0”.

SDOn- delay Timer

Η έξοδος θα γίνει “ 1” μόνο όταν περάσει, ο χρόνος που

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

ακόμα “1”.

SSRetentive on- delay Timer

Η έξοδος θα γίνει “ 1" μόνο όταν περάσει ο χρόνος που

έχουμε θέσει, ακόμα και αν το σήμα στην είσοδο έχει

γίνει “0”.

SFOff- delay Timer

Αυτό το χρονικό φορτώνει τον προκαθορισμένο χρόνο

όταν έρθει “1” στην ακίδα S αλλά, αντίθετα με τα άλλα,

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

μείνει άσος για όσο χρόνο θα μετράει το χρονικό και αν

ξαναέρθει “1” στην είσοδο θα γίνει Reset.

5.7.1 Χρονικό παλμού SP

Το χρονικό αυτό είναι από τα πιο συχνά χρησιμοποιούμενα χρονικά. Εφαρμόζεται σε περιπτώσεις που

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

Page 50: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

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

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

ο Να δηλώσουμε την αιτία εκκίνησης του χρονικού.(π.χ. A 12.1)

ο Χρόνος που πρέπει να καταμετρηθεί (π.χ. L S5T#10S)

ο Εκκίνηση του χρονικού (π.χ. SPT1)

>χιτουργήσει θα πρέπει να

Παράδειγμα:

12.1S5T#10sΤΙ1 2 .2ΤΙΤΙ

//Preset 10 seconds into .ACCU 1. //Start timer T1 as a pulse timer.

//Reset timer T l.//Check signal state of timer T l.

Start input

Reset input

Tim er

Output

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

αυτού του χρονικού:

1. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι

συνεχώς « 1 » είσοδος 12.1 . Όσο διάστημα κυλάει ο χρόνος η έξοδος είναι ενεργοποιημένη

Q4.θ. Μόλις μηδενίσει ο χρόνος ,παρόλο που το RLO ενεργοποίησης είναι « 1 » η έξοδος

μηδενίζει.

2. Το χρονικό αρχίζει να μετρά αντίστροφα από την σηγμή που το RLO ενεργοποίησης του είναι

συνεχώς « 1 » και για όλο αυτό το διάστημα η έξοδος είναι ενεργοποιημένη. Αν πριν

Page 51: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ολοκληρωθεί η αντίστροφη μέτρηση το RLO αυτό γίνει « 0 » σταματά η μέτρηση και

απενεργοποιείται ακαριαία και η έξοδος.

3. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι

συνεχώς « 1 » και για όλο αυτό το διάστημα η έξοδος είναι ενεργοποιημένη. Αν πριν

ολοκληρωθεί η αντίστροφη μέτρηση το RLO στο reset γ ί ν ε ι « 1 » σταματά η μέτρηση και

μηδενίζεται η έξοδος.

5.7.2 Χρονικό παλμού με αυτοσυγκράτηση SE

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

RLO ενεργοποίησης. Εδώ ,αρκεί και στιγμιαία το RLO αυτό να γίνει « 1 » για να μας δώσει έξοδο για

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

Παράδειγμα:

A 12.1L S5T#10sSE TlA 12.2R TlA Tl= Q 4.0

//Preset 10 seconds into ACCU 1.//Start timer T1 as an extended pulse timer.

//Reset timer T l.//Check signal state of timer T l.

Output

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

αυτού του χρονικού:

Page 52: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

1. To χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι

συνεχώς « 1 » είσοδος 12.1 . Όσο διάστημα κυλάει ο χρόνος η έξοδος είναι ενεργοποιημένη

Q4.0. Μόλις μηδενίσει ο χρόνος ,παρόλο που το RLO ενεργοτιοίησης είναι « 1 » η έξοδος

μηδενίζει.

2. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι

έστω και στιγμιαία « 1 » .Όσο διάστημα κυλάει ο χρόνος η έξοδος είναι

ενεργοποιημένη.Μόλις μηδενίσει ο χρόνος μηδενίζει και η έξοδος.

3. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι

συνεχώς « 1 » .Αν το διάστημα αυτό το RLO στο reset γίνει « 1 » παρόλο που το RLO

ενεργοποίησης είναι « 1 » η έξοδος μηδενίζει και παύει να μετρά αντίστροφα το χρονικό.

5.7.3 Χρονικό καθυστέρησης έλξης SD

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

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

διαδικασία.

Παράδειγμα:

A 12.1L S5T#10s //Preset 10 seconds into ACCU 1.SD T1 //Start timer T1 as an on-delay timer.A 12.2R T1 //Reset timer T l.A T1 //Check signal state of timer T l.= Q 4.0

Output

Page 53: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

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

του χρονικού:

1. Το χρονικό αρχίζει να μετράει αντίστροφα από τη στιγμή που το RLO ενεργοποίησης του είναι

« 1 » .Ό τ α ν κυλήσει ο χρόνος και για όσο διάστημα το RLO παραμένει « 1 » , η έξοδος είναι

ενεργοποιημένη.

2. Το χρονικό αρχίζει να μετράει αντίστροφα από τη στιγμή που το RLO ενεργοποίησης του είναι

« 1 » , αλλά πριν προλάβει να ολοκληρώσει τη μέτρηση ,το RLO γίνεται « 0 » . Εδώ ,η έξοδος δεν

ενεργοποιείται και το χρονικό όταν το RLO γίνει και πάλι « 1 » αρχίζει να μετρά από την αρχή.

3. Το χρονικό αρχίζει να μετράει αντίστροφα από τη στιγμή που το RLO ενεργοποίησης του είναι

« 1 » , αλλά πριν προλάβει να ολοκληρώσει τη μέτρηση ,το RLO στο Reset γίνεται « 1 » . Εδώ ,η

έξοδος δεν ενεργοποιείται και το χρονικό μηδενίζεται.

4. Το χρονικό αρχίζει να μετράει αντίστροφα από τη στιγμή που το RLO ενεργοποίησης του είναι

« 1 » .Ό τ α ν κυλήσει ο χρόνος , ενεργοποιείται η έξοδος έως ότου το RLO στο Reset γίνει

« 1 » ,ο π ό τ ε μηδενίζεται η έξοδος και το χρονικό

5.7.4 Χρονικό καθυστέρησης έλξης με αυτοσυγκράτηση SS

Το χρονικό αυτό μοιάζει αρκετά με το προηγούμενο, μόνο που του αρκεί έστω και στιγμιαία το RLO

ενεργοποίησης να γίνει « 1 » , ε ν ώ απαιτεί και reset για να απενεργοποιηθεί, αφού αυτοσυγκρατεί την

//Preset 1θ seconds into ACCU 1. //Start timer T1 as an on-delay timer.

έξοδο του.

Παράδειγμά :

A 12.1L S5T#lθsSS TlA 12.2R TlA Tl= 0 4.θ

//Reset timer T l.//Check signal state of timer T l.

Page 54: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Output

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

χρονικού:

1. Το χρονικό αρχίζει να μετρά αντίστροφα από την σηγμή που το RLO ενεργοποίησης του είναι έστω

και στιγμιαία « 1 » . Όταν κυλήσει ο χρόνος η έξοδος ενεργοποιείται με αυτοσυγκράτηση. Για να

απενεργοποιηθεί ,πρέττει το RLO στο reset να έχει σ ή μ α « 1 »

2. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι έστω

και στιγμιαία « 1 » .Π ρ ι ν ολοκληρωθεί η αντίστροφη μέτρηση το RLO στο reset έχει σήμα « 1 » ,

οπότε το χρονικό μηδενίζεται και δεν ενεργοποιείται η έξοδος.

3. Το χρονικό αρχίζει να μετρά αντίστροφα από την στιγμή που το RLO ενεργοποίησης του είναι έστω

και στιγμιαία « 1 » .Π ρ ι ν ολοκληρωθεί η αντίστροφη μέτρηση το RLO στο set γίνεται « 0 » και

κατόπιν « 1 » , οπότε το χρονικό αρχίζει να μετρά από την αρχή. Όταν κυλήσει ο χρόνος η έξοδος

ενεργοποιείται με αυτοσυγκράτηση. Για να απενεργοποιηθεί ,πρέπει το RLO στο reset να έχει

σ ή μ α « 1 »

5.7.5 Χρονικό καθυστέρησης πτώσης SF

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

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

//Preset 10 seconds into ACCU 1. //Start tinier T1 as an on-deiay timer.

Παράδειγμά :

A 12.1L S5T#10sSF TlA 12.2R TlA Tl= Q4.0

//Reset timer T l.//Check signal state of timer T l.

Page 55: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

start input

Output

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

του χρονικού:

1. Το RLO ενεργοποίησης του δίνει συνεχώς « 1 » και η έξοδος είναι ενεργοποιημένη. Όταν γίνει

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

χρόνος οπότε μηδενίζει και η έξοδος

2. Το RLO ενεργοποίησης του δίνει συνεχώς « 1 » και η έξοδος είναι ενεργοποιημένη. Όταν γίνει

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

αντίστροφη μέτρηση το RLO στο reset γίνει « 1 » τότε μηδενίζει ο χρόνος και απεί'εργοποιείται η

έξοδος.

3. Το RLO ενεργοποίησης του δίνει συνεχώς « 1 » και η έξοδος είναι ενεργοποιημένη. Αν γίνει

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

την αρχή.

4. Το RLO ενεργοποίησης του δίνει συνεχώς « 1 » και η έξοδος είναι ενεργοποιημένη. Αν στο

μεταξύ το RLO του reset γίνει « 1 » για κάποιο διάστημα , για όλο αυτό το διάστημα η έξοδος

απενεργοποιείται ενώ το χρονικό δεν μετράει.

Page 56: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

5.8 Απαριθμητές

Ένα βασικό σετ εντολών είναι οι εντολές μετρητών - απαριθμητών που μπορούν να μετρήσουν κάποιο

γεγονός που συνέβηκε από 0 ως και 999 φορές. Η συχνότητα με την οποία μπορούν να μετρήσουν

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

το σήμα απαρίθμησης.

Εντολές απαριθμητών:

ο Προτοποθέτηση απαριθμητή ( S )

ο Μηδενισμός απαριθμητή ( R )

ο Ενεργοποίηση απαριθμητή ( F R )

ο Μέτρηση προς τα επάνω ( CU )

ο Μέτρηση προς τα κάτω ( C D )

ο Φόρτωση του τιεριεχομένου του απαριθμητή σε :

1. Δυαδική μορφή (L)

2. BCD μορφή (LC)

ο Έλεγχος κατάστασης απαριθμητή (Α,Ο,Χ,ΑΝ,ΟΝ,ΧΝ)

5.8.1 Πρόσδωση τιμή σε απαριθμητή

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

θέλουμε να δώσουμε. Η εντολή μπορεί να δοθεί με τρεις τρόπους :

1. L W#16#wxyz, όπου w-είναι πάντα 0 και x y z -η τιμή σε BCD μορφή

2. L C#xxx ,όπου χχχ είναι η τιμή

3. L MWx

5.8.2 Προτοποθέτηση απαριθμητή

Ένας απαριθμητής προτοποθετείται στην τιμή που έχουμε φορτώσει από πριν στον Accu 1 με την

εντολή L C#xxx. Για να γίνει αυτό ,πρέπει το RLO που προηγείται της εντολής προτοποθέτησης να

είναι « 1 » .

Η εντολή προτοποθέτησης είναι

Page 57: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

S Cn

5.8.3 Μηδενισμός απαριθμητή

Η εντολή μηδενισμού είναι

R Cn

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

γίνει αυτό ,αυτόματα το περιεχόμενο του απαριθμητή γίνεται « 0 » .

α « 1 > . Μόλις

5.8.4 Αύξηση περιεχομένου απαριθμητή

Το περιεχόμενο του απαριθμητή αυξάνεται με την εντολή

CU CnΓια να εκτελεστεί η εντολή είναι απαραίτητο το RLO που προηγείται της εντολής να μεταβληθεί από

« 0 » σε « 1 » . Μόλις γίνει αυτό ,αυτόματα το ττεριεχόμενο του απαριθμητή αυξάνεται κατά 1. Όταν

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

παραμένει στο 999.

5.8.5 Μείωση περιεχομένου απαριθμητή

Το περιεχόμενο του απαριθμητή μειώνεται με την εντολή

CD Cn

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

« 0 » σε « 1 » . Μόλις γίνει αυτό ,αυτόματα το περιεχόμενο του απαριθμητή μειώνεται κατά 1. Όταν

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

παραμένει στο 0

5.8.6 Φόρτωση περιεχομένου απαριθμητή

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

1. Σε δυαδική μορφή (binaiy) με την εντολή

L Cn

Page 58: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1_ C3

χ1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12" 2'- 2'" 2'" 2” 2’° 2'> 2» 2’ 2’ 2 2“ 2 2-' 2' 2

To περιεχόμενο του αποθηκεύεται στον Accul σε ΙΝΤ μορφή και μπορούμε να το επεξεργαστούμε

περαιτέρω.

2. Σε BCD μορφή με την εντολή

LC Cn

Το περιεχόμενο του αποθηκεύεται στον Accul σε BCD μορφή και μπορούμε να το επεξεργαστούμε

περαιτέρω

5.9 Συγκρίσεις

Οι λειτουργίες σύγκρισης συγκρίνουν δύο ψηφιακές τιμές που βρίσκονται η μία στον Accu 1 και η άλλη

στον Accu 2. Το αποτέλεσμα της σύγκρισης επηρεάζει το RLO και με αυτό μπορούμε να πάρουμε κάποιες

αποφάσεις.

Ανάλογα με το είδος των αριθμών που πρόκειται να συγκρίνουμε (Integer, Double Integer. Real) υπάρχει

και η αντίστοιχη εντολή.

Page 59: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Πίνακας με τις δίαφορες τιεριπτώσεις σύγκρισης ακέραιου αριθμού ΙΝΤ (16bit).

5.9.1 Σύγκριση ακέραιου αριθμού ΙΝΤ (16bit)

C o m paris on ins truc tion ex ec u ted

R LO R e s u lt if A C C U 2 > A C C U 1

R LO R e su lt if A C C U 2 = A C C U 1

R L O R e s u lt if A C C U 2 < A C C U 1

==l 0 1 0<>l 1 0 1>1 1 0 0<1 0 0 1>=l 1 1 0<=l 0 1 1

Παράδειγμα;

M W 1 0 //Load contents of MWIO (16-bit integer).1 W 2 4 //Load contents of IW24 (16-bit integer).

//Compare if ACCU 2-L (MWIO) is greater (>) than ACCU 1- L (1W24). M 2 .0 //RLO = 1 ifM W 10> IW24.

5.9.2 Σύγκριση ακέραιου αριθμού DINT (32bit)

Πίνακας με τις δίαφορες περιπτώσεις σύγκρισης ακέραιου αριθμού DINT (32bit)

C o m p aris o n in s tru c tio n ex ec u ted

R LO R e su lt if A C C U 2 > A C C U 1

R LO R e su lt if A C C U 2 = A C C U 1

R L O R e s u lt if A C C U 2 < A C C U 1

== D 0 1 0

<>D 1 0 1

>D 1 0 0

<D 0 0 1

>=D 1 1 Q

<=D 0 1 1

Παράδειγμα:

MD10ID24

//Load contents of MDIO (double integer, 32 bits).//Load contents of ID24 (double integer, 32 bits).//Compare if ACCU 2 (MDIO) is greater (>) than ACCU 1 (ID24). //RLO = l ifM D10>ID24

Page 60: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Πίνακας με τις δίαφορες περιπτώσεις σύγκρισης πραγματικών αριθμών REAL(32bit)

5.9.3 Σύγκρίίτη πραγματικών αριθμών REAL (32bit)

C o m p aris o n in s tru c tio n e x ec u ted

R L O R e s u lt if A C C U 2 > A C C U 1

R L O R e s u lt if A C C U 2 = A C C U 1

R L O R e s u lt if A C C U 2 < A C C U 1

==R 0 1 0O R 1 0 1>R 1 0 c<R 0 0 1>=R 1 1 0<«R 0 1 1

Παράδειγμα:

L Μ01Θ L 1.359Ε+Θ2

//Load contents of MDIO (floating-point number).//Load the constant 1.359Ε+02.//Compare if ACCU 2 (MDIO) is g reater (>) than ACCU I (1.359-E+02). //RLO = I if MDIO > 1.359E+02.

5.10 Μετατροπείς τύπων

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

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

άλλο

5.10.1 Εντολή ΒΤ1

Μετατρέπει έναν BCD αριθμό σε ΙΝΤ (16Bit) ακέραιο

Παράδειγμα; LΒΤ1

MW10

MW20

//Load the BCD number into ACCU 1-L.//Convert from BCD to integer; store result in ACCU l-L. //Transfer result (integer number) to MW20

Page 61: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

■ 9 ·· · 1 " - 5 -

15... ..8 7 .. - 0Μ'ΛΜΟ 1 C 0 0 0 1 1 0 0 1 1 C 0 0 :1 1 0 1 0 1 I ’ +SIB ' BCD

B T I BCD to Integer0

Μ'Λ'20 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 I ’ +915" Integer

5.10.2 Εντολή BTD

Μετατρέπει έναν BCD αριθμό σε 32Bit ακέραιο.

Παράδειγμα:

L MD10 //Load the BCD number into ACCU I -L.BTDT MD20

//Convert from BCD to integer; store result in ACCU 1-L. //Transfer result (double integer number) to MD20

·

1" ■■ 0 ■ ■ 1 ” " 5 ·' ' 7 " ■■ 8 - ·' 2 -

.16 15 .

- -

..0MD10 0 0 0 o |o 0 0 o |o 0 0 l |o 1 0 l |o 1 1 l | l 0 0 d | o 0 1 o |o 0 0 l |

B T D J ] BCD to Double integer -+157821"

MD20 |o 0 0 o |o 0 Cl c |o D 0 o |c 0 1 o |o 1 1 o | i 0 0 o |o 1 1

'•+157621'·

5.10.3. Εντολή ITB

Μετατρέπει έναν 16Bit ακέραιο σε BCD

Παράδειγμα:

L MWIO ITBT MW20

// Load the integer number into ACCU 1-L.//Convert from integer to BCD (16-bit); store result in ACCU 1-L. //Transfer result (BCD number) to MW20.

Page 62: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

15. ,8 7.. ..0MW 10 1 1 ’ 1 ’ 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 I "-413" imeoer

ITB U Integer to BCD 1MW20 1 1 ; i ' | c i o o | o o o i [ o o i ' |'-413" BCD

' 4 ’ ·· r ·· 3 "

5.10.4 Εντολή DTB

Μετατρέπει έναν 32Bit ακέραιο σε BCD

Παράδειγμα:

L MDIO //Load the 32-bit integer into ACCU 1.DTBT MD20

// Convert from integer (32-bit) to BCD, store result ii //Transfer result (BCD number) to MD20.

lACCU 1..

31 . , . 16 15,, ..0MDIO |- · 1 |o 1 0 o |o 0 1 l |

DTB 0 Integer to BCD ■-70 Γ Integer

MD2D 1' · 1 1 | q 0 0 c|o 0 0 o|o 0 0 o|o 0 0 o|o 1 1 1 |o 0 0 o | d 0 0 1 1

•-70 rS C D

5.10.5 Εντολή ITD

Μετατρέπει έναν 16Bit ακέραιο σε 32Bit ακέραιο

Παράδειγμα;

L Μ W 12 //Load the integer number into ACCU 1.j j j j //Convert from integer (16-bit) to double integer (32-bit); stT MD20 //Transfer result (double integer) to MD20.

Page 63: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

C ontents ACCU1-H ACCU1-LBit 31 . . 16 15 .. . 0hefb'e execution of ITD x x x x XXXX xx x x x x x x 1 1 1 1 1 1 1 1 1 1 1 1 01103t.r' execution of ITD 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0110

;X = C or 1 bits are not used for conversion)

5.10.6 Ε ντολ ή D T R

Μετατρέτιει έναν 32Bit ακέραιο σε REAL

Παράδειγμα:

L M D 10 //Load the 32-bit integer into ACCU 1.D T R // Convert from double integer to floating point (32-bit IEEE FFT M D 20 //Transfer result (BCD number) to MD20.

M DiO [o 0 0 c [o 0 0 o |o 0 0 0 |o 0 0 o[o 0 0 D |o 0 0 1 | l 1 1 1 |o 1 Q o[

integer (32 bit) to IEEE rToating-point (32 Bit) Integer

31 30. .M D20 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I 8-bit exponent I bitSign of the mantissa

23-bit mantissa

■-500' IEEE--P

5 .10.7 Ε ντολ ή IN V I

Συμπλήρωμα ως προς 1 πραγματικού αριθμού ΙΝΤ (16bit)

Παράδειγμα:L IW8 / / Load value into ACCU I-L.

// Form ones complement 16-bit T M W IO / / Transfer result to MW 10..

after eAecution of INVI

Page 64: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

5.10.8 Εντολή INVD

Συμπλήρωμα ως προς 1 πραγματικού αριθμού DINT (32bit)

Παράδειγμα: L ID8INVIΤ MD10

// Load value into ACCU 1-L.// Form ones complement 32-bit // Transfer result to MDI0..

:efor r ■ ecutiop of INVDafter execution of INVD

5.10.9 Εντολή RND

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

Παράδειγμα;

L MD10 //Load the floating-point number into ACCU I-L.RIS'D //Convert the floating-point number (32-bit, lEEE-FP) into an integer (32-bit;

and round off the result.T MD20 //Transfer result (double integer number) to MD20.

Value before conversion Value after conversion

MD20 = --100'·

5.10.10 Εντολή TRUND

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

Παράδειγμα:

L MD10 //Load the floating-point number into ACCU I-L.//Convert the floating-point number (32-bit, IEEE-FP) into an integer (32-bit) and round off the result.

T MD20 //Transfer result (double integer number) to MD20.

Page 65: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Value before conversion Value after conversion

5.11 Αριθμητικές πράξεις

Οι αριθμητικές πράξεις εφαρμόζονται επάνω σε δύο ψηφιακές τιμές που βρίσκονται η μια στον Accu 1 και η

άλλη στον Accu 2. Ανάλογα με το είδος των αριθμών που πρόκειται να συγκρίνουμε (Integer, Double

Integer. Real) υπάρχει και η αντίστοιχη εντολή

5.11.1 Αριθμητικές πράξεις ακέραιου αριθμού ΙΝΤ (16bit)

ο +Ι Προσθέτει δύο ακέραιους αριθμούς,

ο -I Αφαιρεί δύο ακέραιους αριθμούς,

ο *Ι Πολλαπλασιάζει δύο ακέραιους αριθμούς,

ο /I Διαιρεί δύο ακέραιους αριθμούς.

Παράδειγμα:

L IW10 //Load the value of IW10 into ACCU 1-L.L M W 14 //Load the contents of ACCU I -L into ACCU 2-L. Load the value of MW 14

into ACCU l-L.+ I //Add ACCU 2-L and ACCU l-L; store the result in ACCU l-L.T DB1.DBW25 //The contents o f ACCU l-L (result) are transferred to DBW25 of DB I,

5.11.2 Αριθμητικές πράξεις ακέραιου αριθμού DINT (32bit)

ο +D Προσθέτει δύο ακέραιους αριθμούς,

ο -D Αφαιρεί δύο ακέραιους αριθμούς,

ο *D Πολλαπλασιάζει δύο ακέραιους αριθμούς,

ο /D Διαιρεί δύο ακέραιους αριθμούς.

Ι01ΘMD14

Παράδειγμα;//Load the value of ID 10 into ACCU I.//Load contents of ACCU I into ACCU 2. Load contents of MDI4 in ACCU I.

Page 66: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

//Multiply ACCU 2 and ACCU I; store the result in ACCU 1. DB1.DBD25 //The contents of ACCU I (result) are transferred to DBD25 in DBI.

5.11.3 Αριθμητικές πράξεις πραγματικού αριθμού REAL (32bit)

ο +R Προσθέτει δύο ακέραιους αριθμούς,

ο -R Αφαιρεί δύο ακέραιους αριθμούς,

ο *R Πολλαπλασιάζει δύο ακέραιους αριθμούς,

ο /R Διαιρεί δύο ακέραιους αριθμούς.

Παράδειγμα:

OPN ΟΒ1ΘL Ι01ΘL MD14

/RT DBD20

//Load the value of ID 10 into ACCU 1.//Load the contents of ACCU I into ACCU 2. Load the value of MD14 in ACCU I.//Divide ACCU 2 by ACCU I; store the result in ACCU I .

5.12 Έλεγχος ροής προγράμματος

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

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

να γίνει με ή χωρίς κάποιες προϋποθέσεις.

5.12.1 Εντολή JU

Η εντολή JU εκτελείται πάντοτε όταν τη συναντήσει ο επεξεργαστής ,δεν επηρεάζει το RLO και δεν

εξαρτάτε από αυτό.

//Jump if RLO=l to jump label DELE.

Παράδειγμα:

A I 1.0A 1 1.2

JC DELEL MBIO

INC 1T MBIO

JU FORW

Page 67: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

DELE: L 0T MBIO

FORW: A 12.1 //Program scan resumes here after jump to jump label FORW.

5.12.2 Εντολή JC

H εντολή JC εκτελείται όταν τη συναντήσει ο επεξεργαστής με την προϋπόθεση ότι το RLO είναι « 1 »

ενώ εκτέλεση της δεν το εττηρεάζει..

Παράδειγμα:

//Jump if RLO=l tojump label JOVR.//Program scan continues here if jump is not executed.

//Program scan resumes here after jump tojump label JOVR.

A 1 1.0A 1 1.2

JC JOVRL IW8T MW22A 12.1

5.12.3 Εντολή JCN

H εντολή JCN εκτελείται όταν τη συναντήσει ο επεξεργαστής με την προϋπόθεση ότι το RLO είναι « 0 »

ενώ εκτέλεση της δεν το επηρεάζει..

Παράδειγμα:

A 11.0 A 1 1.2

JCN JOVR //Jump if RLO = 0 tojump label JOVR.L 1W8 //Program scan continues here ifjump is not executed.T MW22

JOVR: A 12 .1 //Program scan resumes here after jump to jump label JOVR.

5.13 Εντολές λογικών πράξεων μεταξύ λέξεων

Οι εντολές Word λογικής συνδέουν την τιμή του Accu Ibit προς bit με μια σταθερά ή με το

περιεχόμενο του Accu 2 και αποθηκεύουν το αποτέλεσμα στον Accu 1. Η λογική αυτή λειτουργία μπορεί

να εκτελεσθεί σε μια Word ή σε Double Word

Page 68: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

1. AW : Με την εντολή αυτή γίνεται η λογική πράξη AND μεταξύ των λέξεων

2. OW: Είναι ίδια με την παραπάνω με τη διαφορά ότι εδώ η λογική πράξη είναι η OR και όχι η AND.

3. XOW : Ομοίως η εντολή αυτή εκτελεί τη λογική πράξη XOR μεταξύ των δύο αριθμών.

Παράδειγμα:

5.13.1 Εντολές Word λέξεων (16bit)

IW 20 //Load contents of IW20 into ACCU 1-L.IW 22 //Load contents of ACCU 1 into ACCU 2. Load contents of ID24 into ACCU I ·

v n w //Combine bits of ACCU 1-L with ACCU 2-L bits by XOR, store result inACCU 1-L.

T MW8 //Transfer result to MW8.

A,C-C J 1 cetcre execution ot XOW

:CU ·! after e:^8ci;r.on c tx o w

5.13.2 Εντολές Double Word λέξεωv(32bit)

1. AD : Με την εντολή αυτή γίνεται η λογική πράξη AND μεταξύ των λέξεων

2. OD: Είναι ίδια με την παραπάνω με τη διαφορά ότι εδώ η λογική πράξη είναι η OR και όχι η AND.

3. XOD : Ομοίως η εντολή αυτή εκτελεί τη λογική πράξη XOR μεταξύ των δύο αριθμών.

//Load contents of ID20 into ACCU I.//Load contents of ACCU I into ACCU 2. Load contents of 1D24 into ACCU I. //Combine bits from ACCU 1 with ACCU 2 bits by OR; store result in ACCU 1 //Transfer result to MD8.

'lefcre S'ecution of OD

Παράδειγμα:

L ID20L ID24ODT MD8

.A.CCU 2 or 32-tm constant- Result lACCU n alter cvecl·.''

Page 69: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Όταν λέμε μαζική μεταφορά πληροφοριών εννοούμε την μεταφορά ολόκληρων byte, word ή double word

από μια περιοχή της μνήμης σε μια άλλη.

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

σταθμούς , τους accumulators.

Οι accumulators είναι θέσεις μνήμης μήκους 32bits και χαρακτηρίζονται ως accumulator 1 (Accu 1), Accu

2, Accu 3 και Accu 4.

5.14.1 Εντολή Load

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

ACCU1. Το περιεχόμενο του ACCU1 μεταφέρεται στον ACCU2. Το αρχικό περιεχόμενο του ACCU2

χάνεται..

Παράδειγμα:

L IΒ10 //Load input byte IB 10 into ACCU 1 -L-LL MB120 //Load memory byte MB 120 into ACCU 1-L-L.L DBB12 //Load data byte DBB12 into ACCU 1-L-L.L DIW15 //Load instance data word DIW15 into ACCU 1-L.

5.14 Εντοίχς μαζικής μεταφοράς j

5.14.2 Εντολή Transfer

Κατά την εκτέλεση της εντολής Τ αντιγράφονται τα δεδομένα, α

ορίζεται

Παράδειγμα:

Τ QB10 //Τransfers contents of ACCU 1 -L-L to output byte QB10.T MW14 //Transfers contents of ACCU I-L to memory word MW 14.T DBD2 //Transfers contents of ACCU I to data double word DBD2.

V ACCUl στην ττεριοχή μνήμης π

Page 70: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L. IlDovoauuaTiguoc σε γλώσσα LADDER (LAD)

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

L.1 Βασικά στοιχεία της γλώσσας LADDER

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

Οι επαφές (contacts) αναπαραστούν επαφές διακότττων μέσα από τις οποίες dia περνάει ρεύμα. Οι επαφές μπορεί να είναι είτε κανονικά ανοικτές είτε

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

Τα πηνία (coils) αναπαραστούν ρελέ τα οποία οπλίζονται όταν τροφοδοτηθούν με τάση.

Γ Τα «κουτιά» αναπαραστούν συνήθως χρονικά (timers), απαριθμητές (counter) και μαθηματικές πράξεις. Τα κουτιά εκτελούν τις λειτουργίες τους όταν (υποθεηκά) τροφοδοτηθούν με τάση.

Τι είναι ένα δικτύωμα (Network) «ττη γλώσσα Ladder

Δικτύωμα (Network) στη γλώσσα Ladder είναι ένα σύνολο συνδεδεμένων μεταξύ τους στοιχείων (σχήμα 5.1) που συνιστούν ένα ολοκληρωμένο κύκλωμα μεταξύ της γραμμής τροφοδοσίας που βρίσκεται αριστερά και του στοιχείου εξόδου που βρίσκεται δεξιά.> Η γραμμή τροφοδοσίας που βρίσκεται στο αριστερό μέρος αναπαριστά τον

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

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

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

Page 71: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L.2 To περιβάλλον της γλώσσας Ladder

Αφού λοιπόν έχει επιλεγεί σαν γλώσσα προγραμμαησμού του PLC η Ladder, ας δούμε τώρα πως εισερχόμαστε στο περιβάλλον αυτής από όπου και θα μπορούμε να προγραμματίσουμε όλα τα Blocks που θα μας χρειαστούν για την εφαρμογή. Υπάρχουν δύο τρόποι για να μπορέσετε να εισέλθετε στο περιβάλλον της Ladder. Ο πρώτος και τηο κατάλληλος, που φαίνεται και στο σχήμα 5.2, είναι κάνοντας διπλό κλικ στο εικονίδιο ΟΒ1 που βρίσκεται στο Object BLOCKS στο παράθυρο του SIMATIC Manager. Ο δεύτερος τρόπος είναι επιλέγοντας το εικονίδιο που βρίσκεται κάτω από το μενού “Έvαpξη>Simatic>Step7>LAD,STL,FBD-Programming S7 Blocks”.

Σχήμα 5.2 Πώς να εισέλθετε σε περιβάλλον Ladder

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

Page 72: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3 Βασικές εντολές LADDER Logic

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

Ένα δεδομένο μπορεί να έχει μήκος από 1 bit ως και 32 bits. Από αυτή την άποψη λοιπόν τα δεδομένα χωρίζονται σε Bool, Byte, Char, Int, Word, Dint, Dword:

> Bool: Όπως ήδη ξέρουμε τα Bool δεδομένα είναι μήκους 1 bit και έτσι η τιμή τους μπορεί να είναι είτε Αληθής είτε Ψευδής.

> Byte: Τα Bytes είναι προσημασμένοι αριθμοί με μήκος 8 bits και έτσι μπορεί να πάρει ημή από -128 ως +127.

> Char: Αυτός ο τύπος δεδομένων περιλαμβάνει τους ASCII χαρακτήρες οι οποίοι έχουν μήκος 8 bits.

> Int: Είναι προσημασμένοι αριθμοί με μήκος 16 bit που μπορούν να πάρουν τιμή από -32768 ως +32767.

> Word: Έχει μήκος 2 Byte ή 16 bits. Η διαφορά του από τους Int αριθμούς, είναι ότι περιέχει δυο ανεξάρτητους διαδοχικούς αριθμούς των 8 bits η καθεμία, ενώ οι Int περιέχουν έναν ενιαίο αριθμό των 16 bits.

> Dint: Είναι 32 Bits προσημασμένοι αριθμοί με τιμή από - 2147483648 ως +2147483647.

> Dword: Είναι μήκους 4 Byte ή 32 bits. Όπως τα words, και τα Dwords περιέχουν τέσσερις διαδοχικούς αριθμούς των 8 bits.

Status WordΣε κάθε μικροεπεξεργαστή οι εντολές επηρεάζουν κάποιες “σημαίες”. Το ίδιο

συμβαίνει και εδώ. Όλες οι σημαίες βρίσκονται σε μια λέξη που ονομάζεται Status Word. Μετά από κάθε εντολή μπορούμε να χρησιμοποιήσουμε άμεσα τα Bits που επηρεάστηκαν και έτσι να κατευθύνουμε το πρόγραμμά μας. Το Status word έχει 9 bits που η λειτουργία τους φαίνεται παρακάτω;

> BR Binarj' Result: Μας βοηθά να επεξεργαστούμε εντολές που αφορούν words σαν να ήταν εντολές που αφορούν Bits. Δηλαδή, αν μια εντολή έχει σαν αποτέλεσμα έναν οποιοδήποτε αριθμό (π.χ. πρόσθεση δυο ακεραίων), μέσω του BR μπορούμε να επεξεργαστούμε το αποτέλεσμα σαν να ήταν Bit και όχι αριθμός, γιατί αν γίνει η πρόσθεση το BR θα γίνει “1”. Αν Δε γίνει θα μείνει “0”.

> CC1 και CC0 Condition Codes: Επηρεάζονται από μαθημαπκές εντολές και μας δίνουν πληροφορίες για το αποτέλεσμα. Π.χ. σε μια αφαίρεση, ανάλογα με πια bit είναι “1”, μας λέει αν το αποτέλεσμα της ήταν μεγαλύτερο, μικρότερο ή ίσο του μηδενός.

> ο ν Overflow: Γίνεται “1” όταν προκύπτει κάποιο λάθος σε μαθηματικές πράξεις, όπως π.χ. το αποτέλεσμα να είναι μεγαλύτερο από το όριο. Γίνεται “0” αν το λάθος αποκατασταθεί.

Page 73: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

> OS Overflow Stored: Γίνεται “1” αν και το Bit OV γίνει “1”, και διατηρεί την κατάσταση αυτή ακόμα και αν το Bit OV γίνει “0”. Δηλαδή να γίνει λάθος σε μια εντολή το Bit θα είναι Set σε όλη τη διάρκεια του προγράμματος.

> OR: Χρησιμοποιείται από την Statement List γλώσσα προγραμματισμού.> STA Status Bit: Παίρνη την τιμή που έχει το τρέχον bit σε μια Bit Logic

εντολή.> RLO Result of Logic Operation: Αποθηκεύει το αποτέλεσμα της λογικής

επεξεργασίας μετά από κάθε εντολή.> /FC First Check: Είναι Bit ελέγχου του μικροεπεξεργαστή που δεν θα μας

χρησιμεύσει η λειτουργία του.

___________________________________________Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3.1 Εντολές λογικής Bit (Bit Logic Instructions)

Αρχικά θα παρουσιαστούν οι βασικές εντολές που βασίζονται στη BOOLEAN λογική.

(Κανονικά Ανοιχτή Επαφή) κλείνει όταν η τιμή που αποθηκεύεται στη συγκεκριμένη διεύθυνση της είναι “1”. Δηλαδή όταν η επαφή κλείνει σημαίνει ότι από την επαφή θα περάσει ρεύμα. Π.χ. Ο διακόπτης έκλεισε (πατήθηκε) και έτσι θα περάσει ρεύμα.

(Κανονικά Κλειστή Επαφή) κλείνει όταν η ημή που αποθηκεύεται στη συγκεκριμένη διεύθυνση της είναι “0”. Δηλαδή το PLC θα δώσει αποτέλεσμα “1” και θα περάσει ρεύμα όταν π.χ. ο διακόπτης δεν είναι πατημένος.

1 ^ (Πηνίο Εξόδου) Θα δώσει αποτέλεσμα “1” (τροφοδότηση με τάση) όταν η ^ συνθήκη που προηγείται του πηνίου είναι αληθής, και “0” όταν είναι ψευδής.

—|ΝΟΤ|— (Αναστροφέας) Όπως φαίνεται και από το όνομα της, η εντολή αυτή αντιστρέφει το σήμα που φτάνει σ’ αυτήν. Έτσι αν έρθει “1” θα το κάνει “0” και αν έρθει “0” θα το κάνει “1”.

Στο ακόλουθο παράδειγμα παρουσιάζονται οι παραπάνω εντολές για να καταλάβετε τη λειτουργία τους. Όπως φαίνεται και στο σχήμα, αν ο διακόπτης στην είσοδο 10.2 είναι ανοικτός και έστω ένας διακόπτης από τους ΙΟ.Ο και 10.1 είναι κλειστός, τότε θα ενεργοποιηθεί (“1”) η έξοδος Q0.0.

10.0Η I—

10.2Η /Ι — - Ο — I

Σχήμα 5.4 Παράδειγμα δικτυώματος με Bit Logic εντολές

Page 74: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

Λογικές πύλες

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

Πύλες AND & NAND

Η πύλη AND υλοποιείται με δυο κανονικά ανοικτές επαφές στη σειρά. Αντίστοιχα η πύλη NAND υλοποιείται με τον ίδιο τρόπο με την προσθήκη της εντολής NOT μετά τις δύο εν σειρά κανονικά ανοικτές επαφές. Στο παρακάτω σχήμα5.5 εμφανίζονται αυτές οι δύο πύλες.H et^ rk l Πύλη AND

10,1 1 1

10.2 1 1

QO.O r \ 1

1 1 1 1 1 ) 1

Het™rk2: Πύλη NAND

10.1 10.2 I-------------1 ^ H notH -CJ— I

Σχήμα 5.5 Πύλες AND & NAND

Πύλες OR & NOR

H πύλη OR υλοποιείται με δυο παράλληλες κανονικά ανοικτές επαφές και η πύλη NOR με την εντολή NOT μετά από αυτές (σχήμα 5.6)

Σχήμα 5.6 Πύλες OR & NOR

Page 75: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γ?>ώσσα LADDER (LAD)

Πύλες XOR & XNOR

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

Hetnork 1: Πύλη XOR10.1 10.2 00. 0

- ί ) — I

Hetitork 2 : Πύλη XNOR10.1 10.2

- ί ) — I

Σχήμα 5.7 Πύλες XOR & XNOR

Οι εντολές RESET και SET

—(R) (Reset) Θα δώσει αποτέλεσμα “0”, δηλαδή θα κάνει Reset τη διεύθυνση που αντιπροσωπεύει, αν φτάσει μέχρι εκεί ρεύμα. Αν δεν φτάσει η διεύθυνση θα διατηρήσει την προηγούμενη κατάστασή της.

δηλαδή θα κάνει Set την—(S) (Set) Θα δώσει αντίστοιχα αποτέλεσμα “1”, αντίστοιχη διεύθυνση, αν φτάσει ρεύμα μέχρι εκεί.

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

Hetmrk 1:

10.1 10,2____ 1 1___________

00.0___________( j____1

— 1 1— 1 1

Hetwork 2 :

10.1 10.2 00.0

------ 1 1— ------ 1 1---------------- ---------------CsJ— 1

Page 76: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

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

Να σημειώσουμε εδώ ότι οι δύο εντολές Set & Reset αλλάζουν την κατάσταση των διευθύνσεων που αναφέρονται μόνο με “1” στην είσοδό τους. Με “0” η διεύθυνση διατηρεί την προηγούμενη κατάστασή της.

SR Set Reset Flip-Flop: Με την εντολή αυτή η έξοδος Q θα ενεργοποιηθεί και η θέση μνήμης <address> θα γίνει Set, δηλαδή θα πάρει την τιμή “1”, αν στην είσοδο S έρθει “1” και ταυτόχρονα στην είσοδο R υπάρχει “0”. Στην ανάποδη περίπτωση

(S=”0”,R=”1”), η θέση μνήμης <address> θα γίνει Reset και η έξοδος Q θα έχει “0”. Στην περίπτωση που έρθουν στις δύο εισόδους δύο “1”, θα επικρατήσει ο “1” στην είσοδο R γιατί το PLC διαβάζει πρώτα την ακίδα S. Αν έχουμε δυο “0” στις εισόδους, τότε η έξοδος θα διατηρήσει την προηγούμενη κατάστασή της.

RS Reset Set Flip-Flop: Η εντολή αυτή είναι παρόμοια με την προηγούμενη. Αν στην είσοδο R έχουμε “1” και στην είσοδο S έχουμε “0”, η έξοδος Q θα μείνει ανενεργοποιημένη και η θέση μνήμης <address> θα γίνα Reset. Αν έχουμε “0” στην είσοδο R και

‘Τ” στην είσοδο S η έξοδος Q θα ενεργοποιηθεί και θα γίνει Set η θέση μνήμης. Αν έρθουν και στις δύο εισόδους “1” η έξοδος θα γίνει Set. Αν έχουμε δυο “0” στις εισόδους, τότε η έξοδος θα διατηρήσει την προηγούμενη κατάστασή της.

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

10.1Η κ -

10.2Η / —

Η1.1- { # ) —

10.3Η I—

L.3.2 Εντολές σύγκρισης (Comparison Instructions)

CMP χχΐ Compare Integer (>, <, = , ο , <=, >=): Με την — εντολή αυτή γίνεται οποιαδήποτε σύγκριση μεταξύ δύο ακέραιων

αριθμών (ΙΝ1 και ΙΝ2) που έχουν αποθηκευτεί σε δύο θέσεις μνήμης. Η έξοδος της εντολής αυτής θα είναι “1”, αν η σύγκριση

είναι αληθής. Στη θέση χχΐ εισάγουμε το είδος της σύγκρισης που θέλουμε να γίνει. Οι δύο ακέραιοι μπορούν να είναι οποιοιδήποτε αριθμοί από -32768 ως και +32767, δηλαδή οποιοσδήποτε 16Bit αριθμός.

Page 77: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Στην κατηγορία αυτή υπάρχουν και οι εντολές CMP >=D και CMP >=R που είναι ίδιες με την παραπάνω, με τη διαφορά ότι η μεν πρώτη μπορεί να συγκρίνει μέχρι και 32Bit αριθμούς, η δεύτερη δε συγκρίνει και πραγμαηκούς αριθμούς. Παρακάτω θέτουμε ένα παράδειγμα για να καταλάβετε καλύτερα τη λειτουργία των συγκριτών.

- ( ) — I

Στο παραπάνω παράδειγμα η έξοδος Q0.0 θα ενεργοποιηθεί αν η είσοδος 10.0 είναι “1” και αν οι δύο ακέραιοι που βρίσκονται στις θέσεις μνήμης MW0 και MW1 είναι άνισοι (σύμβολο ο ) . Χρησιμοποιούμε MW για τις θέσεις μνήμης γιατί οι αριθμοί είναι 16Bit.

L.3.3 Εντολές μετατροπής (Conversion Instructions)

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

> BCD_I BCD to Integer: Μετατρέπει έναν BCD αριθμό σε 16Bit ακέραιο.> BCD_DI BCD to Double Integer: Μετατρέπει έναν BCD αριθμό σε 32Bit

ακέραιο.> I_BCD Integer to BCD: Μετατρέπει έναν 16Bit ακέραιο σε BCD.> DI_BCD Double Integer to BCD: Μετατρέτιει έναν 32Bit ακέραιο σε BCD.> I_DINT Integer to Double Integer: Μετατρέπει έναν 16Bit ακέραιο σε 32Bit

ακέραιο.> TRUNC Truncate Double Integer Part: Μετατρέπει έναν πραγματικό αριθμό

σε ακέραιο με στρογγυλοποίηση προς τα κάτω.> ROUND Round to Double Integer: Μετατρέπει έναν πραγματικό αριθμό σε

ακέραιο με κανονική στρογγυλοποίηση.> CEIL Ceiling: Μετατρέπει έναν πραγματικό αριθμό σε ακέραιο με προς τα πάνω

στρογγυλοποίηση.> INV_I Ones Complement Integer: Εκτελώντας μια πράξη XOR με το FFFF

Hex, μετατρέπει έναν 16Bit ακέραιο στο συμπλήρωμα ως προς 1.> NEG_I Twos Complement Integer: Μετατρέπει έναν 16Bit ακέραιο στο

συμπλήρωμά του ως προς 2.> NEG_R Negate Floating-Point Number: Μετατρέπει έναν πραγματικό αριθμό

στον αντίθετό του.

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

Page 78: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

QO.O-C J — I

Στο παραπάνω παράδειγμα, αν η είσοδος ΙΟ.Ο είναι “1”, τότε ο πραγματικός αριθμός που βρίσκεται στη θέση μνήμης MD1 θα μετατραπεί στον αντίθετό του και θα αποθηκευτεί στη θέση μνήμης MD35. Αν η μετατροπή δεν εκτελεστεί (ΕΝ=ΕΝΟ=”0”) η έξοδος Q0.0 θα ενεργοποιηθεί.

L.3.4 Εντολές απαριθμητών (Counter Instructions)

Ένα βασικό σετ εντολών είναι οι εντολές μετρητών / απαριθμητών που μπορούν να μετρήσουν κάποιο γεγονός που συνέβηκε από 0 ως και 999 φορές. Υπάρχουν 5 είδη μετρητών και παρουσιάζονται παρακάτω:

S_CUD UP- DOWN Counter: Μόλις φτάσει “1” στην ακίδα S (Set), ο μετρητής φορτώνει την τιμή που έχει τεθεί από πριν στην ακίδα PV (Preset Value) και θα αυξηθεί κατά 1 αν η κατάσταση στην ακίδα CU (Count Up) αλλάξει από “0” σε “1”. Ομοίως θα μειωθεί κατά 1 αν αλλάξει η κατάσταση στην ακίδα CD (Counter Down). Ο μετρητής θα δώσει “1” στην έξοδο Q όταν η τρέχουσα ημή του είναι μεγαλύτερη από 0. Στην ακίδα CV (Current Value) εμφανίζεται η τρέχουσα τιμή

του μετρητή και στην CV_BCD το ίδιο αλλά σε BCD μορφή. Τέλος, αν έρθει “1” στην ακίδα R (Reset), ο μετρητής θα μηδενιστεί.

S_CU UP Counter: Είναι παρόμοιος με τον προηγούμενο, με τη μόνη διαφορά ότι μετράει μόνο προς τα πάνω, δηλαδή μόνο αυξάνει όταν παρουσιαστεί αλλαγή από “0” σε “1” στην ακίδα

S_CD DOWN Counter: Ομοίως και αυτός λειτουργεί ανάλογα αλλά προς τα κάτω. Δηλαδή μόνο μειώνεται όταν παρουσιαστεί αλλαγή από “θ” σε “1” στην ακίδα CD.

<Cno.> SC Set Counter Value: Όταν φτάσει “1”, τότε η τιμή που έχουμε—( SC) προκαθορίσει μεταφέρεται στον μετρητή που αναφέρεται (C no.) π.χ. C5.

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

Page 79: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

<C ηο,> CU UP Counter Coil: O μετρητής αυτός θα αυξάνει κατά 1 κάθε φορά —( CU) που το αποτέλεσμα της λογικής πράξης που έγινε πριν τον μετρητή είναι “1”. Έτσι ο μετρητής θα αρχίσει να αυξάνεται από ττιν τιμή που έχει οριστεί με την πιο πάνω εντολή και μόνο μέχρι το 999.

<C ηο> CD DOWN Counter Coil: Ομοίως με πριν με τη μόνη διαφορά ότι αντί να ~( C D ) αυξάνει μειώνεται μέχρι να μηδενιστεί.

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

L.3.5 Εντολές άλματος ή διακλάδωσης (Jump Instructions)

—( JMP ) Jump: Είναι εντολή άλματος το οποίο μπορεί να εκτελεστεί μόνο μέσα στο ίδιο Block, και συντάσσεται πάντα με το όνομα (LABEL) της διεύθυνσης στην οποία θέλουμε να πάει το πρόγραμμα. Έχει δύο εφαρμογές, το άλμα υπό συνθήκη και το άλμα χωρίς συνθήκη. Στην πρώτη, το άλμα θα γίνει αν το αποτέλεσμα της λογικής πράξης πριν την εντολή άλματος είναι “1”. Στη δεύτερη, δεν πρέπει να παρεμβάλλεται τίποτα μεταξύ της εντολής και της κάθετης γραμμής αριστερά που είναι η γραμμή ρεύματος. Δηλαδή αυτή η εντολή θα εκτελεστεί ότι και να γίνει.

—( JMPN ) Jump-If-Not: Εκτελείται το άλμα αν το αποτέλεσμα της λογικής πράξης πριν την εντολή είναι “0”.

LABEL: Με την εντολή αυτή δηλώνεται το όνομα της διεύθυνσης στην οποία θα “πηδήξει” το πρόγραμμα μετά από μια εντολή

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

Page 80: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3.6 Βασικές εντολές πραγματικών αριθμών

λ· ABS Absolute Value of a Floating-Point Number: Με ττ]ν εντολή αυτή ένας πραγματικός αριθμός μετατρέτιεται στον απόλυτό του (absolute).

> ADD_R Add Real: Προσθέτει δύο πραγματικούς αριθμούς.> SUB_R Subtract Real: Αφαιρεί δύο πραγματικούς αριθμούς.> MUL_R Multiply Real: Πολλαπλασιάζει δύο πραγματικούς αριθμούς, λ* DIV_R Divide Real: Διαιρεί δύο πραγματικούς αριθμούς.

Στις εντολές αυτές, αν το αποτέλεσμα υπερβαίνει μια μέγιστη θετική ή αρνητική τιμή (περίπου ±3,40282*10^* ), η έξοδος ΕΝΟ γίνεται “0" και οι εντολές που ακολουθούν δεν εκτελούνται. Στο παρακάτω παράδειγμα, μόλις ενεργοποιηθεί η είσοδος ΙΟ.Ο, οι αριθμοί που βρίσκονται στους ακροδέκτες ΙΝ1 και ΙΝ2 (οι οποίοι θα μπορούσαν να είναι αποθηκευμένοι σε κάποιες θέσεις μνήμης) θα πολλαπλασιαστούν και το αποτέλεσμα θα πάει στη θέση μνήμης MD1 και ταυτόχρονα θα ενεργοποιηθείη έξοδος Q0.0.

10.0 MUL R ΕΝ ΕΝΟ

4.564S64e+019 INI OUT -HDl

2.34623Se+013 IN2

- { } — I

L.3.7 Βασικές εντολές ακέραιων αριθμών

> ADD_I Add Integer: Προσθέτει δύο ακέραιους αριθμούς.> SUB_I Subtract Integer: Αφαιρεί δύο ακέραιους αριθμούς.> MUL_I Multiply Integer: Πολλαπλασιάζει δύο ακέραιους αριθμούς.> DIV_I Divide Integer: Διαιρεί δύο ακέραιους αριθμούς.

Οι εντολές αυτές αφορούν σε 16Bit προσημασμένους ακέραιους αριθμούς. Υπάρχουν και εντολές για 32Bit προσημασμένους ακέραιους αριθμούς, που είναι ίδιες με αυτές με την προσθήκη ενός D πριν το I (π.χ. ADD_DI). Η σύνταξή τους είναι ίδια με τις εντολές που αφορούν σε πραγματικούς αριθμούς.

L.3.8 Εντολές ελέγχου προγράμματος (Program Control Instructions)

__(MCRA) Master Control Relay Activate: Με την εντολή αυτή ενεργοποιείται οσωρός και μπορεί να χρησιμοποιηθεί με τις επόμενες εντολές. Ο σωρός εδώ είναι λογικής LIFO (last in, first out) και επιτρέπει μέχρι 8 επίπεδα, δηλαδή μέχρι και 8 εισόδους χωρίς προηγούμενη έξοδο.

Page 81: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

—(MCR<) Master Control Relay On: Με την εντολή αυτή ο ετιεξεργαστής σώζει στο σωρό το αποτέλεσμα της λογικής επεξεργασίας των προηγούμενων εντολών. Αν ο σωρός είναι πλήρης, η εντολή αυτή θα προκαλέσει σφάλμα σωρού (MCRF).

—(MCR>) Master Control Relay Off: Με την εντολή αυτή ο σωρός αδειάζει κατά ένα επίπεδο. Αν ο σωρός είναι άδειος, με την εκτέλεση της εντολής αυτής θα δημιουργηθεί σφάλμα σωρού (MCRF).

—(MCRD) Master Control Relay Deactivate: Με την εντολή αυτή ο σωρός απενεργοποιείται ο σωρός και δεν μπορεί να χρησιμοποιηθεί για την αποθήκευσή του αποτελέσματος λογικής επεξεργασίας.

Οι εντολές MCR> και MCR< επηρεάζουν τις παρακάτω εντολές: —( # )Midline Output, - ( ) Output, --( S ) Set Output, - ( R ) Reset Output, RS Reset Flip Flop, SR Set Flip Flop, MOVE Assign a Value. Δηλαδή, αν το πρώτο επίπεδο του σωρού έχει αποθηκεύσει “0”, οι εντολές που ακολουθούν (αν ανήκουν στις παραπάνω δεν εκτελούνται.

Για να καταλάβουμε όμωςJ__I καλύτερα τις εντολές σωρού,

ας δούμε το δίπλα παράδειγμα. Με την εντολή MCRA ο σωρός ενεργοποιείται. Με την

I εντολή MCR< αποθηκεύεται στο πρώτο επίπεδο σωρού, η κατάσταση της εισόδου ΙΟ.Ο.

Αν αυτή είναι “1”, τότε οι εντολές στα δικτυώματα 3 & 4 θα εκτελεστούν κανονικά. Αν όμως η είσοδος 10.0 είναι “0”,

( τότε οι εντολές δεν θα εκτελεστούν. Δηλαδή ακόμα κι αν η είσοδος 10.1 είναι “1”, δεν θα ενεργοποιηθεί η έξοδος Q0.1, και η έξοδος Q0.3 δεν θα

__I ενεργοποιηθεί ακόμα κι αν ηείσοδος 10.2 είναι “1” και η10.3 είναι “0”. Με την εντολή MCR> αδειάζει ο σωρός και απενεργοποιείται με την MCRD.

■(HCRD)—I

—(Call): Χρησιμοποιείται όταν θέλουμε να καλέσουμε στο πρόγραμμά μας κάποιο άλλο Block. Σ’ αυτή την περίπτωση ο επεξεργαστής αποθηκεύει τη διεύθυνση επιστροφής και τα τοτηκά δεδομένα του Block αντικαθιστώνται από τα δεδομένα του καλούμενου Block. Επίσης ο σωρός αποθηκεύεται σε μία άλλη περιοχή της μνήμης που ονομάζεται σωρός Β.

Page 82: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

—(RET) Return: Με την εντολή αυτή η ροή του προγράμματος επιστρέφει στη διεύθυνση του Block που είχε αποθηκεύσει ο επεξεργαστής κατά την εκτέλεση της εντολής CALL, με την οποία κλήθηκε το τρέχον Block.

_____________________________________________ Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3.9 Εντολές ολίσθησης και περιστροφής (Shift and Rotate Instructions)

I SHR_I — \ EN ENO — — IN CXJT —

_______

γεμίζουν με ολισθήσουν χάνονται.

SHR_I Shift Right Integer: H εντολή αυτή κάνα ολίσθηση δεξιά έναν 16Bit ακέραιο τιου τον εισάγουμε στον ακροδέκτη IN. Στον ακροδέκτη Ν εισάγουμε πόσες φορές θέλουμε να ολισθήσει ο αριθμός. Το αποτέλεσμα βγαίνει στον ακροδέκτη OUT. Κατά την εκτέλεση της εντολής δημιουργούνται κενές θέσεις οι οποίες

Bit του πρόσημου, δηλαδή του 15 Bit (σχήμα 5.8). Όσα Bit

15... ...8 7... ...0IN i 1 0 1 0 I 1 1 ι ι | ο ο ο ο | ι ο ι ο |

^ Πρόσημο 4 Θέσεις -----►

OUT I 1 1 1 1 11 0 ι ο | ι 1 1 ι | ο ο ο ο | ι ο ι ο !

Oi νέες θέσεις γεμίζουν Αυτά τα τέσσεραμε το ΒίΙπροσήμου Bits χάνονται

Σχήμα 5.8 Τι συμβαίνει κατά την ολίσθηση

Ομοίως και για την εντολή SHR DI Shift Right Double Integer, που κάνει δεξιά ολίσθηση 32Bit ακέραιου.

Οι παρακάτω εντολές κάνουν δεξιά ή αριστερή ολίσθηση 32Bit ή !6Bit λέξεων και λειτουργούν όμοια με τις παραπάνω, με τη διαφορά τα κενά Bits αντικαθίστανται πάντα από “0” και όχι από την τιμή του πρόσημου.

> SHR_W Shift Right Word: Για δεξιά ολίσθηση 16Bit λέξης.> SHR_DW Shift Right Double Word: Γla δεξιά ολίσθηση 32Bit λέξης.> SHL_W Shift Left Word: Για αριστερή ολίσθηση 16Bit λέξης.> SHL_DW Shift Left Double Word: Για αριστερή ολίσθηση 32Bit λέξης.

ROL_DW ΕΝ ENO IN OUT

ROR DW Rotate Right Double Word: Κάνει περιστροφή δεξιά 32Bit λέξης που βρίσκεται στον ακροδέκτη IN τόσες φορές όσες λέει ο ακροδέκτης Ν. Το αποτέλεσμα αποθηκεύεται στον ακροδέκτη OUT.

Ομοίως και η εντολή ROL_DW Rotate Left Double Word κάνει αριστερή περιστροφή μιας 32Bit λέξης.

Page 83: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3.10 Εντολές κατάστασης (Status Bit Instructions)

= 0 — I I— Result Bit Equal 0: H εντολή αυτή χρησιμοποιείται για να ελέγξουμε αν το αποτέλεσμα μιας μαθηματικής πράξης είναι ίσο με 0.

ο Ο —I I— Result Bit Not Equal 0: Χρησιμοποιείται για να ελέγξουμε αν τοαποτέλεσμα μιας μαθηματικής πράξης είναι διαφορετικό του 0.

>0 —I I— Result Bit Greater Than 0: Χρησιμοποιείται για να ελέγξουμε αν το αποτέλεσμα μιας μαθηματικής πράξης είναι μεγαλύτερο του 0.

<0 —I I— Result Bit Less Than 0: Χρησιμοποιείται για να ελέγξουμε αν τοαποτέλεσμα μιας μαθηματικής πράξης είναι μικρότερο του 0.

>=0 —I I— Result Bit Greater Equal 0: Χρησιμοποιείται για να ελέγξουμε αν το αποτέλεσμα μιας μαθηματικής πράξης είναι μεγαλύτερο ή ίσο του 0.

<=0 —I I— Result Bit Less Equal 0: Χρησιμοποιείται για να ελέγξουμε αν τοαποτέλεσμα μιας μαθηματικής πράξης είναι μικρότερο ή ίσο του 0.

ΗΗΟ - ΙΚ1 OUT

HU1- ΙΗ2

00. 0

- ( ) —

Στο παραπάνω παράδειγμα χρησιμοποιούμε την εντολή = 0 για να δούμε αν το αποτέλεσμα της αφαίρεσης είναι ίσο με 0. Έτσι η έξοδος Q0.0 θα ενεργοποιηθεί μόνο στην περίπτωση που τα περιεχόμενα των MW0 και MW1 είναι ίσα.

ο ν —I I— Exception Bit Overflow: Χρησιμοποιείται για να ελέγξουμε αν υττήρξε υπερχείλιση (Overflow) κατά την προηγούμενη μαθηματική πράξη. Δηλαδή αν το αποτέλεσμα υπερβαίνει τα προκαθορισμένα όρια.

OS —I I— Exception Bit Overflow Stored: Είναι ίδια με την προηγούμενη με τη διαφορά ότι αν υπάρξει υπερχείλιση το Bit OS παραμένει “1” και μπορεί να χρησιμοποιηθεί ανά πάσα στιγμή μέσω της εντολής αυτής.

υ Ο I I— Exception Bit Unordered: Χρησιμοποιείται για να ελέγξουμε αν οιπαράγοντες (συγκεκριμένα για πράξεις με πραγματικούς αριθμούς) μιας μαθηματικής πράξης που προηγήθηκε ήταν έγκυροι.

L.3.11 Ειτολές χρονιστών (Timer Instructions)

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

Page 84: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

να μετρήσουμε το χρόνο που διήρκεσε ένα γεγονός. Τα χρονικά μπορούν να μετρήσουν χρόνους μέχρι και 9990 δευτερόλεπτα ή 2 ώρες 46 λεπτά και 30 δευτερόλεπτα. Ο μικρότερος χρόνος που μπορεί να μετρηθεί είναι 10 msec. Η τιμή του χρόνου που θέλουμε να μετρηθεί, τοποθετείται στην ακίδα TV όπως θα δούμε παρακάτω. Υπάρχει ένα συγκεκριμένο format για την εισαγωγή του χρόνου αυτού:

S5T#aH_bM_cS_dMSόπου H=Hours (ώρες), M=Minutes (λεπτά), S=Seconds (δευτερόλεπτα), MS=Millisecs (χιλιοστά δευτερολέπτου) και a,b,c,d είναι νούμερα.

Όμως, υπάρχει ένας κανόνας για την εισαγωγή του χρόνου. Αν ο χρόνος που θέλουμε να εισάγουμε είναι μέχρι 9sec και 990msec, τότε σαν μονάδα χρόνου ορίζεται τα 10msec. Αν είναι από lOsec μέχρι Im39sec900msec (99sec900msec), τότε σαν μονάδα χρόνου τίθεται τα 100msec. Αν είναι από lm40sec (lOOsec) μέχρι 16m39sec (999sec), τότε η μονάδα χρόνου είναι Isec. Τέλος αν είναι από 16m40sec (lOOOsec) μέχρι και 2h46m30sec (9990sec), τότε η μονάδα χρόνου είναι τα lOsec. Δηλαδή, αν δώσετε στο χρονικό την εντολή: S5T#35S450MS, εσείς θα περιμένετε να μετρήσει 35sec και 450msec. Όμως σε αυτή την περίπτωση, μονάδα χρόνου είναι τα 100msec και έτσι το χρονικό θα μετρήσει 35sec και 400msec. Στον παρακάτω πίνακα 5.1 φαίνονται καλύτερα οι μονάδες σε κάθε πεδίο χρόνου.

_____________________________________________ Προγραμματισμός σε γλώσσα LADDER (LAD)

Μονάδα Πεδίο10msec Από 10msec μέχρι 990msec100msec Από Isec μέχρι 99sec900msecIsec Από lOOsec μέχρι 999seclOsec Από lOOOsec μέχρι 9990sec

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

— ακίδα S είναι αυτή που μόλις έρθει “1” εκεί, ξεκινάει το χρονικό να μετράει το χρόνο που έχουμε προκαθορίσει στην ακίδα TV. Η

bcd|— ακίδα R κάνει Reset το χρονικό. Η ακίδα Q είναι η έξοδος που γίνεται “1” όταν οι προδιαγραφές του κάθε χρονικού

ικανοποιούνται. Όι προδιαγραφές αυτές για κάθε τύπο χρονικού εμφανίζονται στον παρακάτω πίνακα 5.2. Τέλος οι ακίδες ΒΙ και BCD εμφανίζουν την τρέχουσα τιμή του χρονικού σε δυαδική και BCD μορφή αντίστοιχα.

Πίνακας 5.2Τύπος Περιγραφή

SP ulsePulse Timer

To χρονικό τρέχει όσο το σήμα στην ακίδα S είναι “1”. Αν γίνει“0” τότε το χρονικό θα σταματήσει και θα βγάλει στην έξοδο Q “0”.

S-PextExtended Pulse Timer

Η έξοδος του χρονικού παραμένει “1” για όλο τον χρόνο που έχει προγραμματιστεί, ακόμα κι αν το σήμα στην ακίδα S έχει γίνει “0”.

S_ODTOn- delay Timer

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

Page 85: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

S_ODTSRetentive on- delay Timer

H έξοδος θα γίνει “1” μόνο όταν περάσει ο χρόνος που έχουμε θέσει, ακόμα και αν το σήμα στην είσοδο έχει γίνει “0”.

S_OFFDT Off- delay Timer

Αυτό το χρονικό φορτώνει τον προκαθορισμένο χρόνο όταν έρθει “1” στην ακίδα S αλλά, αντίθετα με τα άλλα, θέλει αρνητικό παλμό για να ξεκινήσει. Η έξοδος του θα μείνει άσος για όσο χρόνο θα μετράει το χρονικό και αν ξαναέρθει “Τ’ στην είσοδο θα γίνει Reset.

Στο παρακάτω σχήμα 5.5, φαίνονται όλα τα χρονικά με τη λειτουργία τους που θα σας βοηθήσει να διαλέξετε το κατάλληλο για την δουλεία που το θέλετε. Όπου t είναι ο προκαθορισμένος χρόνος που έχουμε θέσει στην ακίδα TV, 10.0 είναι η είσοδος S και Q4.0 είναι η έξοδος.

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

Page 86: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμματισμός σε γλώσσα LADDER (LAD)

L.3.12 Εντολές )νθγικών πράξεων μεταξύ λέξεων (Word Logic Instructions)

WAND_W (Word) AND Word: Με την εντολή αυτή γίνεται η λογική πράξη AND μεταξύ των λέξεων που βρίσκονται στους ακροδέκτες ΙΝ1 και ΙΝ2. Το αποτέλεσμα αποθηκεύεται στον ακροδέκτη OUT. Αν η πράξη εκτελεστεί ο ακροδέκτης ΕΝΟ θα δώσει “1”.WOR_W (Word) OR Word: Είναι ίδια με την παραπάνω με τη διαφορά ότι εδώ η λογική πράξη είναι η OR και όχι η AND.

WXOR W (Word) Exclusive OR Word: Ομοίως η εντολή αυτή _ εκτελεί τη λογική πράξη XOR μεταξύ των δύο αριθμών.

Αντίστοιχα υπάρχουν και οι εντολές που αφορούν σε Double Words.

L.3.13 Εντολές μετακίνησης (Move Instructions)

move m o v e Assign a Value: Μόλις έρθει “1” στην είσοδο ΕΝ, το — ΕΝ ΕΝΟ— περιεχόμενο της ακίδας IN μεταφέρεται στη διεύθυνση που

__ δείχνει η ακίδα OUT. Η ακίδα IN μπορεί να περιέχει αριθμούςm ___ ‘ ^1 των 8,16 ή 32 bits.

Αν το περιεχόμενο της ακίδας ΕΝ έχει περισσότερα bits από αυτά που μπορεί να χωρέσει η διεύθυνση OUT, τότε τα παραπάνω bits κόβονται. Δηλαδή αν θέλουμε να μεταφέρουμε σε μια 8bit διεύθυνση έναν 16bit αριθμό, θα γραφτούν στη διεύθυνση μόνο τα 8 πρώτα bits του αριθμού.

L.4 Προγραμματίζοντας το ΟΒ1 σε γλώσσα Ladder

Σ’ αυτό το κεφάλαιο θα μάθουμε πώς να καταρτίζουμε ένα πρόγραμμα σε Ladder γλώσσα φτιάχνοντας κυκλώματα εν σειρά ή παράλληλα.

Εν σειρά κύκλωμαΑρχικά βεβαιωθείτε 0 u έχει ετπλεχθεί η

γλώσσα Ladder. Αυτό γίνεται πηγαίνοντας στο μενού View>Lad. Αν δεν έχει επιλεχθεί, επιλέξτε την εσείς.

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

Page 87: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Μ Μ

■ίΙ—

1124.5H h -

1124.6H l · -

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

Προγραμματισμός σε γλώσσα LADDER (LAD)

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

1124.4 πηνίου δεν έχουν μπει ακόμα. Για να βάλετε {)— I διευθύνσεις στα στοιχεία αυτά κάντε κλικ πάνω στα

ερωτηματικά και εισάγετε τις διευθύνσεις.

- ( Η

Αν έχετε δημιουργήσει από πριν τον τήνακα των συμβολικών διευθύνσεων, τότε αυτόματα οι αριθμοί θα αντικατασταθούν από τις συμβολικές διευθύνσεις που έχετε δώσει. Αν δεν γίνει αυτό αυτόματα, τότε ελέγξτε από το μενού View> Display with, αν το Symbolic Representation είναι ενεργοποιημένο. Αν αλλάξουν όλα τα ονόματα αλλά κάποιο μείνει κόκκινο, σημαίνει ή ότι δεν έχει δηλωθεί η συγκεκριμένη διεύθυνση ή ότι υπάρχει κάποιο συντακηκό λάθος.

Αν τέλος πάντων έχουν γίνει όλα σωστά, θα έχετε δημιουργήσει το πρώτο σας δικτύωμα, το οποίο μπορεί να αποτελέσει από μόνο του ένα ολοκληρωμένο πρόγραμμα το οποίο για παράδειγμα όταν κλείσουν οι δυο διακότττες “Α & Β” θα ξεκινήσει η μηχανή “D”. Η τελική μορφή του δικτυώματος φαίνεται στο παρακάτω σχήμα 5.4 και περιγράφει την εξίσωση: D = ΑΒ

"Α"

Η l· -"Β"

Η h

”D"

Σχήμα5.4 Τελική μορφή Δικτυώματος

Παράλληλο κύκλωμα T itle :

IcoMentt- ^

Για να προσθέσουμε ένα παράλληλο κύκλωμα στο πρόγραμμά μας, πρέπει να εισάγουμε ένα νέο Δικτύωμα. Έτσι αφού βεβαιωθούμε ότι ενεργό είναι το Δικτύωμα 1, κάνουμε κλικ στο κουμτιί που φαίνεται στο διπλανό σχήμα και βρίσκετε στη γραμμή εργαλείων. Ένας άλλος τρόπος είναι από το μενού: Insert>Network.

J συνέχεια εισάγουμε μια κανονικά ανοιχτή επαφή καιj S S a ένα πηνίο όπως κάναμε και στο εν σειρά κύκλωμα. Μετά

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

Page 88: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Προγραμμαπσμός σε γλώσσα LADDER (LAD)

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

"Α" 'Τ"f ) 1

-Β" 1 1 1

{> 1

1 1 {/1

Σχήμα 5.5 Παράλληλο κύκλωμα

Παρατηρούμε λουιόν ότι το παραπάνω κύκλωμα αναπαριστά μια εξίσωση. Την:

Ε = Α + Β ϋΆρα λοιπόν, μπορούμε να υλοποιήσουμε με τον ίδιο τρόπο οποιοδήποτε

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

L.5 Αποθήκευση

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

Για να αποθηκεύσουμε το πρόγραμμά μας, αρκεί να πατήσουμε το κουμπί ή να πάμε από το μενού: File>Save. Τότε το πρόγραμμά μας θα 1MJ αποθηκευτεί σαν ΟΒ1 στην εφαρμογή που είχαμε δημιουργήσει εξ αρχής. Αν όμως θέλουμε να αποθηκευτεί με άλλο όνομα, πρέτιει να πάμε αναγκαστικά από το μενού: File> Save as... Έτσι τώρα που έχουμε αποθηκεύσει το πρόγραμμά μας, μπορούμε να ανατρέχουμε σε αυτό όποτε θελήσουμε.

Page 89: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΕΛΕΓΧΟΣ ΡΟΗΣ ΚΑΡΒΟΥΝΟΥ

ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΥΚΛΩΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ PLC S7-200 ΚΑΙ INVERTER (SIEMENS) ΣΕ ΥΠΟΜΟΝΑΔΑ ΠΡΟΣΘΗΚΗΣ ΚΑΡΒΟΥΝΟΥ ΣΤΗ ΠΡΩΤΗ ΥΛΗ ΣΕ ΒΙΟΜΗΧΑΝΙΑ ΠΑΡΑΓΩΓΗΣ ΚΕΡΑΜΙΚΩΝ. ΠΡΟΣΟΜΟΙΩΣΗ ΤΗΣ ΑΕΙΤΟΥΡΓΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΑΟΓΙΣΤΗ.

Η πτυχιακή εργασία διαπραγματεύεται την κατασκευή και τον προγραμματισμό ενός τάνακα αυτομαησμού,ο οποίος περιλαμβάνει ένα pic Siemens της σειράς S7/200.Θέλουμε να υλοποιήσουμε τον αυτοματισμό και το πρόγραμμα ενός κοχλία μήκους 3m.O κοχλίας προωθεί το κάρβουνο(πετ-κωκ) μέσω οδοντωτών αυλακώσεων σε ταινιόδρομο όπου γίνεται και η μίξη με την πρώτη ύλη(χώμα),σε ποσοστό περίπου 0.6%.

Page 90: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

Π Α ΡΑ Μ Ε Τ ΡΟ Ι INV ER TER S IE M E N S M IC R O M A ST E R 4 4 0 ΓΙΑ TO N ΚΟΧΛΙΑ Κ Α Ρ Β Ο Υ Ν Ο ΥΠ α ρ ά μ ε τρ ο ς Π ε ρ ιγ ρ α φ ή Τ ιμ ήΡ3 Ε π ίπ εδο π ρόσ βασ ης E xtended: A llow s exten ded ac c e ss e.g to inve rte r I/O fu nc tion s (2)ρ4 Φ ίλτρ ο π α ρα μ έτρω ν All pa ram ete rs (0)ρ100 Ε υρ ώ π η /Α μερ ική E uro pe (kW ], frequencY de fa u lt 50 Hz (0)ρ210 Τάση τροφ οδοσ ίας 400ρ304(0] Τάση λεπ ουργία ς μ ο τέρ 40 0ρ305(0] Έ ντα σ η λειτουργία ς μ ο τέρ 2 .10ρ307 [0 ] Ιττπ οδύνα μη μοτέρ 0 7 5ρ308 [0 ] Συν.Φ μ ο τέρ 0 .77 0ρ310 [0 ] Σ υχνό τητα λειτουργία ς μ ο τέρ 50 .00ρ311 [0 ] Σ τρ οφ ές λειτουργία ς μο τέρ 1420ρ701 [0 ] Λ ειτουργία ψ ηφ ιακής εισόδου 1 O N /O FF1 (1)ρ702 [0 ] Λ ειτουργία ψ ηφ ιακής εισόδου 2 F ixed se tpo in t (D irec t se lec tion ) (15)ρ703 [0 ] Λ ειτουργία ψ ηφ ια κής εισόδου 3 F ixed se tpo in t (D irec t se lec tion ) (15)ρ704(01 Λ ειτουργία ψ ηφ ιακής εισόδου 4 F ixe d se tpo in t (D ire c t se lec tion ) (15)ρ705[01 Λ ειτουργία ψ ηφ ιακής εισόδου 5 F ixed se tpo in t (D irec t se lec tion ) (15)ρ706 [0 ] Λ ειτουργία ψ ηφ ιακής εισόδου 6 F ixed se tpo in t (D irec t se lec tion ) (15)ρ725 ΡΝΡ / ΝΡ Ν ψ ηφιακή είσοδος P N P m od e ==> high ac tive (1)ρ731[0 ] Λ ειτουργία ψ ηφ ια κής εξό δ ο υ 1 Γ52.3ρ 100010] Επιλογή τη ς σ υχνό τητα ς se tpo in t F ixed fre qu en cy (3)ρ1001[0 ] Σ ταθερ ή σ υχνότητα 1 50 .00 -> Σ υχνό τητα π ρ ο γ ρ ά μ μ α το ς N o lρ1002(0 ] Σ ταθερ ή σ υχνότητα 2 45 .0 0 -> Σ υχνό τητα π ρ ο γ ρ ά μ μ α το ς No2ρ1 00 3[0] Σ ταθερ ή σ υχνό τητα 3 40 .0 0 -> Σ υχνό τητα π ρ ο γ ρ ά μ μ α το ς Νο3ρ 1004(0] Σ ταθερ ή σ υχνότητα 4 35 .0 0 -> Σ υχνό τητα π ρ ογ ρ ά μ μα τος Νο4ρ1005(0] Σ ταθερ ή σ υχνότητα 5 30 .0 0 -> Σ υχνό τητα π ρ ο γ ρ ά μ μ α το ς Νο5ρ 1080(0] Ελάχιστη σ υχνότητα 20 .0 0ρ1082(0] Μ έγισ τη σ υχνότητα 50 .00ρ 1 120(0] Χ ρ ό νο ς R a m p -up 10.00ρ 1 121(0] Χ ρ ό νο ς Ramp-dow/n 10.00

Page 91: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

' ■— ^ -τ— ^

Π ε λ ά τ η ς ........... .. . Κ Ο Θ Α Λ Η Α . Ε .

Έ ρ γ ο .................... . . . Ε Λ Ε Γ Χ Ο Σ Ρ Ο Η Σ

Α ρ . Σ χ ε δ ......... . . . .S 1

Τ ά σ η .................. 4 0 0 V

Ι σ χ ύ ς .................. . . . . 4 k W

Page 92: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

■ ? η L

t l

t -

η

Page 93: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

I-CM400|

Page 94: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

1 t I I 1 1

Page 95: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

-R2 ^ -R5 ^

^ -

::

,02 ,03 ,04 ,05 ,05

,_________ 1

Dm

Ενδεικτική Ενδεικτική Ενδεικτική Ενδεικτική Ενδεικτική Ενδεικτική Ενδεικτικήλυχνία λυχνία λυχνία λυχνία λυχνία λυχνία λυχνία

επιλο\ίής επιλογής επιλογής επιλογής επιλογής allarm απουσίαςπρογράμματοςπρογρδμμαιο^τρογρόμματοςπρογρήμματοφρογράμματος Inverlar κάρβουνου

Νοί Νο2 Νο3 Νο4 Νο5

Page 96: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

PLUG-IN PLACE

ΜπουτάνεπιΑογτ ς

προγράμματος

Μπουτάνεπιλογής

προγράμματος

Μπουτάνεπιλογής

προγράμματος

Παρουσία κάρβουνου στην έξοδο του κοχλία

_ J

Page 97: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

8l i

Page 98: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

!rvouriO / MAIN (UB I)'

Page 99: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

'^ TSVvouno I mmIN (uta i)

Page 100: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-
Page 101: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-
Page 102: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

χρόνος κοθηστίρηαης γ.α την ίνδε,ξη allarm •'Απουσία κόρβουνου στην ίξοδο του κοχλία··. ( 5 λεπτά καθυστίρηση )

JRun PreCoal _______

I- - - - - 1 ' 1- - - - - - - - -

SymbolCMDRunPreCoal

Allarm απουσία κάρβουνου

Inverter allarmPreAllarmlnverter Allarmlnverter

preAllamilnvei

AllarmCoat

H ' 1-------- C )

Page 103: ΠΤΛ Χ1ΑΚΗ LFf ALlA ΣΧΕΔΙΑΣΜΟΣ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ …digilib.teiemt.gr/jspui/bitstream/123456789/5879/1/STEF1352010.pdf · ΠΤΛ Χ1ΑΚΗ lff alla ΣΧΕΔΙΑΣΜΟΣ-

ΒΙΒΛΙΟΓΡΑΦΙΑ

1. Αυτομαησμός simatic S7 200-300 Μαραντίδης Νικόλαος2. Αυτοματισμός με προγραμματιζόμενους ελεγκτές. Σταύρου Ρουμπή Εκδόσεις Συμεών3. Mcintyre-Losee, βιομηχανικοί αυτοματισμοί Εκδόσεις Τζιόλα4. Collins-Lane προγραμματιζόμενοι ελεγκτές ένας πρακτικός οδηγός Εκδόσεις Τζιόλα 20035. Petmzella προγραμματισμός pic Εκδόσεις Τζιόλα6. Κοτζαμπάση Μ. βιομηχανικοί αυτοματισμοί Εκδόσεις Ίων7. Πανταζή Ν. προγραμμαηζόμενοι λογικοί ελεγκτές(ρ1ο) Εκδόσεις Ίων8. Αυτοματισμός με simatic s7 Ν.Αραντίδης Siemens9. Εφαρμογές αυτοματισμών με pic Τζουνίδης Γεώργιος10 .1.Μπερέτας Αυτοματισμός με χρήση pic Εκδόσεις Τζιόλα 2003 11. Φωτιάδη Ν. Αυτοματισμοί ψηφιακού ελεγχού Ευρωπαϊκές τεχνολογικές εκδόσεις