Η λογική του προγραµµατισµού Σύνδεση ιακοπτών Τυπική Γραµµή ιαγράµµατος Κλίµακας Βασικά Στοιχεία & Συνδυασµοί Περισσότερες υνατότητες Έλεγχος Ροής Προγράµµατος 1
2 Περισσότερες υνατότητες Χρονιστές Στα διαγράµµατα κλίµακας µπορούµε να χρησιµοποιήσουµε λειτουργίες χρονισµού καθώς και λειτουργίες καταµέτρησης. Οι χρονιστέςείναι λογικές συσκευές οι οποίες «ενεργοποιούνται» και αρχίζουν να µετρούν ένα χρονικό διάστηµα: τον προκαθορισµένο χρόνο. Ο χρόνος που έχει περάσει από την «ενεργοποίηση» του χρονιστή ονοµάζεται συσσωρευµένος χρόνος. Εδώ θα χρησιµοποιήσουµε δύο τύπους χρονιστή, που αναδεικνύουν την ουσία χρήσης ενός χρονιστή, ενώ υπάρχουν και οι άλλοι τύποι που αναφέρονται στο βιβλίο και µπορείτε αν προτιµάτε να τους χρησιµοποιήσετε. Σε ένα διάγραµµα κλίµακας και οι χρονιστές συµβολίζονται µε ένα πηνίοπου η διεύθυνση του έχει τη µορφή Tx, όπου xείναι ό α/α του χρονιστή. Υποθέτουµε ότι έχουµε αρκετούς χρονιστές στο ώστε να καλύπτονται οι ανάγκες µας.
Ο πρώτος τύπος είναι αυτός του χρονιστή ενεργοποίησης µε καθυστέρηση ΟΝ (ΤΟΝ). Ο χρονιστής αυτός αρχικά έχει κατάσταση OFF (δεν άγει - FALSE). Όταν όµως ενεργοποιηθεί (π.χ. στο παράδειγµα όσο η είσοδος #1 άγει TRUE) και παραµείνει ενεργοποιηµένη για χρονική διάρκεια ίση µε τον προκαθορισµένο χρόνο, τότε ο χρονιστής αποκτά αληθή τιµή (TRUE). Οποιαδήποτε στιγµή η είσοδος #1 γίνει ψευδήςο συσσωρευµένος χρόνοςτου χρονιστή T 1 µηδενίζεται,και ο Τ 1 γίνεται RESET. Ο χρονιστής µπορεί και πρέπει να χρησιµοποιηθεί ως είσοδος, προκειµένου να αποκτήσουµε γνώση της κατάστασης του. Βλέπε και παράδειγµα, όπου στην I 1 έχουµε συνδέσει έναν διακόπτη Push-On και στην Ο 1 ένα λαµπτήρα. Ι 1 Τ 1 ΤΟΝ 10s Τ 1 Ο 1 Προκαθορισμένος Χρόνος 3
Ο δεύτερος τύπος είναι αυτός του χρονιστή ενεργοποίησης µε καθυστέρηση OFF (ΤΟFF). Ο χρονιστής αυτός αρχικά έχει κατάσταση ON (άγει - TRUE). Όταν όµως ενεργοποιηθεί (π.χ. στο παράδειγµα όσο η είσοδος #1 άγει TRUE) και παραµείνει ενεργοποιηµένη για χρονική διάρκεια ίση µε τον προκαθορισµένο χρόνο, τότε ο χρονιστής αποκτά ψευδή τιµή (FALSE). Οποιαδήποτε στιγµή η είσοδος #1 γίνει ψευδήςο συσσωρευµένος χρόνοςτου χρονιστή T 1 µηδενίζεται,και ο Τ 1 γίνεται RESET. Ο χρονιστής µπορεί και πρέπει να χρησιµοποιηθεί ως είσοδος, προκειµένου να αποκτήσουµε γνώση της κατάστασης του. Βλέπε και παράδειγµα, όπου στην I 1 έχουµε συνδέσει έναν διακόπτη Push-On και στην Ο 1 ένα λαµπτήρα. Ι 1 Τ 2 ΤΟFF 10s Τ 2 Ο 1 Προκαθορισμένος Χρόνος 4
I 1 T 1 (TON) T 2 (TOFF) O 1 Στην ακόλουθη γραφική παράσταση γίνεται πιο εµφανής η συµπεριφορά των χρονιστών σε σχέση µε τις Ι/Ο του παραδείγµατος. 8s 10s 10s t 5
Περισσότερες υνατότητες Μετρητές Οι µετρητές, χρησιµοποιούνται για να µετρήσουν συµβάντα (δηλαδή µεταπτώσεις συνήθως) που σχετίζονται µε κάποια συνθήκη (συνήθως κάποια είσοδο) του. Ο µετρητής έχει µία τρέχουσα τιµή και µία προκαθορισµένη τιµή. Συµβολίζονται µε ένα πηνίο, το οποίο όταν ενεργοποιηθεί αυξάνει (CTU) ή µειώνει (CTD)την τιµή του µετρητή, η οποία όταν γίνει ίση µε την προκαθορισµένη τιµή τότε ο µετρητής αποκτά την τιµή TRUE (αληθής), ενώ σε όλες τις άλλες περιπτώσεις ο µετρητής έχει την τιµή FALSE (ψευδής). C 1 CTU 100 Προκαθορισμένη Τιμή Η προκαθορισµένη τιµή και η τρέχουσα τιµή του µετρητή µπορούν να πάρουν τιµές από το 0 ως το 999. C 1 CTD 100 6
Επίσης υπάρχει ειδική εντολή (πάλι µε τη µορφή πηνίου) που µηδενίζει τον µετρητή «κατά παραγγελία» και ονοµάζεται CTR (reset). C 1 CTR Εάν θελήσουµε να µετρήσουµε αριθµούς µεγαλύτερους του 999, τότε µπορούµε να χρησιµοποιήσουµε έναν συνδυασµό δύο ή περισσότερων µετρητών, όπου κάθε φορά που «τερµατίζει» ο πρώτος να αυξάνεται κατά ένα και ο δεύτερος, µε αποτέλεσµα να µπορούµε να µετρήσουµε µε αυτό τον τρόπο από το 0 ως το 999x999 µε τη χρήση δύο µετρητών. Οι µετρητές που είναι συνδυασµένοι µε αυτό τον τρόπο ονοµάζονται διαδοχικοί µετρητές. Συνήθως οι µετρητές είναι πιο βολικό και σωστό να ενεργοποιούνται από επαφές µετάβασης (ON-OFF ή OFF-ON), γιατί το σήµα εισόδου µπορεί να παραµένει σε κατάσταση αληθή για περισσότερο από τον χρόνο σάρωσης, µε αποτέλεσµα, µια απλή επαφή να αύξανε κατά περισσότερο από 1 την τιµή του. 7
8 I 1 Στην ακόλουθη γραφική παράσταση γίνεται πιο εµφανής η συµπεριφορά των µετρητών C1 και C2 του ακόλουθου διαγράµµατος κλίµακας. Ι 1 Ι 1 C 1 CTU 100 C 2 CTU 100 Κίνδυνος η Ι 1 να προκαλέσει και δεύτερη αύξηση του μετρητή C 1 Χρόνος Σάρωσης ΠΡΟΣΟΧΗ: Τα σήµατα στα s µεταβάλλονται αρκετά πιο αργά από τον χρόνο σάρωσης του, ώστενα µπορούν να είναι αντιληπτές οι µεταβολές τους, από το. t
Η λογική του προγραµµατισµού Σύνδεση ιακοπτών Τυπική Γραµµή ιαγράµµατος Κλίµακας Βασικά Στοιχεία & Συνδυασµοί Περισσότερες υνατότητες Έλεγχος Ροής Προγράµµατος 9
Έλεγχος Ροής Προγράµµατος Ο σειριακός τρόπος εκτέλεσης των εντολών είναι ικανοποιητικός για την πλειονότητα των περιπτώσεων πολλές φορές όµως βολεύει να εκτελεστεί ένα τµήµα του διαγράµµατος κλίµακας περισσότερες από µίαφορές ή να παραληφθείένα τµήµα του προγράµµατος (υπό συνθήκες). Επίσης είναι δυνατόν να χρειαστεί να τερµατιστείσε κάποιο σηµείο του προγράµµατος η εκτέλεση του. Για να µπορέσουµε να ελέγξουµε τον τρόπο που γίνονται τα παραπάνω χρησιµοποιούµε τις εντολές ENDκαι STOP, LBL και JMP και τέλος τις SBR, RET και CALL. 10
Οι εντολές ENDκαι STOPδιακόπτουν αντίστοιχα, την εκτέλεση της τρέχουσας επανάληψηςκαι την εκτέλεση του προγράµµατος. Και οι δύο χρησιµοποιούνται ως έξοδοι (πηνία). Η εντολή ENDσταµατά την εκτέλεση της τρέχουσας επανάληψης του διαγράµµατος κλίµακας, εκτελείται η σάρωση I/Oκαι αρχίζει ξανά η εκτέλεση του διαγράµµατος κλίµακας από την αρχή. Αντίθετα η εντολή STOPδιακόπτει εντελώς την εκτέλεση του προγράµµατοςκαι φέρνει το στην κατάσταση που βρίσκεται και πριν την έναρξη της εκτέλεσης του προγράµµατος. Για παράδειγµα: Ι 1 I 3 END STOP Η εκτέλεση της επανάληψης διακόπτεται όταν ενεργοποιείται π.χ. ένας τερµατικός διακόπτης. Η εκτέλεση του προγράµµατος ενεργοποιείται όταν ανιχνευθεί π.χ. υπερβολική θερµοκρασία. 11
Ο καθορισµός της επόµενηςπρος εκτέλεση εντολής γίνεται σε δύο νοητά βήµατα. Το πρώτο είναι να ονοµάσουµε (µε χαρακτηριστικό αριθµό) τη γραµµή που θα εκτελεστεί και το δεύτερο είναι να ζητήσουµε, η εκτέλεση του προγράµµατος, να συνεχιστεί από το ονοµασµένο σηµείο. Η ονοµασίαγίνεται µε την εντολή LBLη οποία συµβολίζεται ως εξής (όταν θέλουµε να ονοµάσουµε σηµείο µε αριθµό n): n LBL Για να οδηγηθούµεστην εκτέλεση της γραµµής µε LBL n εκτελούµε, όταν π.χ. θέλουµε αυτό να συµβαίνει όσο η είσοδος 3 (έστω ένα φωτοκύτταρο) άγει: I 3 n JMP 12 Να σηµειωθεί ότι η εντολή LBLµπορεί να εµφανίζεται πριν ή µετά από την εντολή JMP, στο διάγραµµα κλίµακας.
Η εκτέλεσηµιας υπορουτίνας (είναι και αυτές αριθµηµένες όπως και οι εντολές LBL) γίνεται ακολουθώντας τη λογική της εντολής JMP, µε την εντολή CALL n, όπου nείναι ο αριθµός της υπορουτίνας. I 2 Ο ορισµόςµίας υπορουτίνας γίνεται, µε παρόµοιο τρόπο αυτού της εντολής LBL, µε την αντιστοίχιση ενός αριθµού µε την εντολή SUB: n SUB Η έκτασητης υπορουτίνας καθορίζεται από την εντολή RET, η οποία λειτουργεί και αυτή ως πηνίο. Η εντολή αυτή καθορίζει τον τερµατισµό της υπορουτίνας και προχωρεί στην εκτέλεση του προγράµµατος στην επόµενη εντολή από την CALLπου ξεκίνησε την εκτέλεση της. I 3 n CALL RET 13
Προγραµµατιζόµενοι Λογικοί Ελεγκτές Programmable Logic Controllers (P.L.C.)