Αντικείμενα και εφαρμογές τους στο λογισμικό LabVIEW 2009

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Αντικείμενα και εφαρμογές τους στο λογισμικό LabVIEW 2009"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ-ΥΠΟΛΟΓΙΣΤΩΝ Αντικείμενα και εφαρμογές τους στο λογισμικό LabVIEW 2009 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΠΑΠΑΔΟΠΟΥΛΟΥ ΧΡΗΣΤΟΥ (Α.Ε.Μ.: 5285) Επιβλέπων: Σταύρος Π. Δοκουζγιάννης Επίκουρος Καθηγητής Θεσσαλονίκη, Α.Π.Θ. 2012

2 Αφιερωμένο στην γυναίκα μου, Αναστασία Τον αγέννητο γιό μου που περιμένουμε με ανυπομονησία Και τους γονείς μου, Δημήτρη και Ελπινίκη για την υπομονή τους. Παπαδόπουλος Χρήστος Θεσσαλονίκη 22 Νοεμβρίου 2012

3 ΠΡΟΛΟΓΟΣ Η παρούσα Διπλωματική Εργασία επικεντρώθηκε στην ανάλυση και καταγραφή δυνατοτήτων του λογισμικού LabVIEW που, όλες μαζί, στοχεύουν στη δημιουργία εικονικών εργαστηρίων ικανών να υποστηρίζουν βιομηχανικές διαδικασίες. Τα εικονικά εργαστήρια εννοούνται εκείνα, που επιτρέπουν να γίνονται πολύπλοκες μετρήσεις, με εξαιρετικά ακριβά όργανα και μηχανές και από μεγάλη απόσταση. Για παράδειγμα, τα δείγματα εδάφους μπορούν να ληφθούν στην Μέση Ανατολή και οι μετρήσεις να γίνονται σε μια άλλη θέση του πλανήτη. Τα τελευταία χρόνια, το LabVIEW εμπλουτίστηκε με εργαλεία ανάλυσης, όπως το SPICE, και επί πλέον με λογισμικό σχεδίασης ολοκληρωμένων κυκλωμάτων. Συνεπώς, μπορούν τώρα να σχεδιάζονται εικονικά εργαστήρια που θα προσομοιώνουν και να εντάσσουν στα εικονικά μετρολογικά όργανα, ολοκληρωμένα κυκλώματα, που να λειτουργούν και αυτά εικονικά, πριν ακόμη κατασκευαστούν. Το συγκεκριμένο θέμα της Διπλωματικής Εργασίας δόθηκε από τον επιβλέποντα καθηγητή, με σκοπό την σύνταξη εγχειριδίου για την χρήση του LabVIEW, που θα υποστήριζε το μάθημα του 9 ου εξαμήνου «Ανάλυση Ηλεκτρονικών κυκλωμάτων με τον Υπολογιστή». Θα αποτελούσε δε, ένα βοήθημα που θα επέτρεπε την άμεση δυνατότητα χρήσης του, από τους φοιτητές του τομέα Ηλεκτρονικής και Υπολογιστών, του λογισμικού LabVIEW και του υλικού hardware που το συνοδεύει. Τέλος, θα ήθελα να ευχαριστήσω τον επιβλέποντα Καθηγητή κ. Σταύρο Δοκουζγιάννη, Επίκουρο Καθηγητή, για την καθοδήγησή του κατά την διεκπεραίωση των κειμένων και της παρουσίας της Διπλωματικής Εργασίας. - Θεσσαλονίκη, 22 Νοεμβρίου 2012

4

5 Περιεχόμενα ΚΕΦΑΛΑΙΟ Εισαγωγή στο LabVIEW Προοίμιο Τι μπορεί να κάνει το LabVIEW Πως λειτουργεί το LabVIEW... 8 ΚΕΦΑΛΑΙΟ Εγκατάσταση του LabVIEW ΚΕΦΑΛΑΙΟ Εξόρυξη δεδομένων, μεταφορά και ανάλυση στο LabVIEW Τι είναι η εξόρυξη δεδομένων Τι είναι το GPIB Επικοινωνία με την σειριακή θύρα Γιατί αναλύουμε τα δεδομένα ΚΕΦΑΛΑΙΟ Το περιβάλλον του LabVIEW Front Panels Μπλοκ διαγράμματα Τα εικονίδια και οι connectors Pull-Down μενού Μενού Pop-Up Λειτουργία επεξεργασίας και λειτουργία εκτέλεσης

6 4.7 Βοήθεια SubVIs ΚΕΦΑΛΑΙΟ Τα θεμέλια του LabVIEW Τα βασικά εργαλεία ελέγχου (Controls), οι δείκτες (Indicators) και οι δυνατότητές τους Δημιουργώντας VIs Καλωδίωση Εκτέλεση του VI ΚΕΦΑΛΑΙΟ Περισσότερα Θεμέλια Φόρτωση και Αποθήκευση των VIs Βιβλιοθήκες VI Τεχνικές Αποσφαλμάτωσης Χρήσιμες Συμβουλές ΚΕΦΑΛΑΙΟ Δομές Διπλή επανάληψη Καταχωρητές ολίσθησης Η δομή Case Δομές Ακολουθιών Εισαγωγή τύπου Προβλήματα στην σύνδεση δομών

7 ΚΕΦΑΛΑΙΟ Πίνακες και συστάδες Τι είναι οι πίνακες; Δημιουργώντας Πίνακες Εργαλείων Ελέγχου (Controls) και Δεικτών (Indicators) Λειτουργίες για τον χειρισμό πινάκων Πολυμορφισμός Συστάδες (Clusters) Δημιουργία Συστάδας με Control και Indicators ΚΕΦΑΛΑΙΟ Συμπεράσματα ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΡΟΣΑΡΤΗΜΑ Διάφορα παραδείγματα των δυνατοτήτων του LabVIEW Α.1 Επιθεώρηση σφιγκτήρων μπαταριών Α.2 Επιθεώρηση ταινιών χαπιών Α.3 Αντιστοίχιση χρωματικών μοτίβων Α.4 Επιθεώρηση βάση «χρυσού» μοτίβου Α.5 Φωτομέτρηση Α.6 Μηχανική συναρμολόγηση Α.7 Δημιουργία 3διάστατης υψομετρικής εικόνας από 2διάστατη

8 4

9 ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στο LabVIEW 1.1 Προοίμιο Το LabVIEW προέρχεται από τα αρχικά Laboratory Virtual Instrument Engineering Workbench. Δηλαδή, εργαστήριο εικονικών οργάνων. Με λίγα λόγια το LabVIEW επιτρέπει σε ένα μηχανικό να φτιάχνει εικονικά κυκλώματα, που συμπεριφέρονται όπως τα πραγματικά, με τα τεράστια, όμως, πλεονεκτήματα ότι είναι εξαιρετικά εύκολες οι όποιες αλλαγές, οι ρυθμίσεις γίνονται εύκολα μέσα από ένα εύχρηστο περιβάλλον, και τέλος δεν απαιτείται ούτε χρήματα, αλλά ούτε και κόπος για να δημιουργηθούν. Το LabVIEW είναι μια εφαρμογή ανάπτυξης η οποία μοιάζει με πολλές άλλες παρόμοιες εμπορικές εφαρμογές που βασίζονται σε γλώσσες προγραμματισμού εντολών, όπως πχ η C++, η Java, και άλλες, όμως έχει μια θεμελιώδης διαφορά που το καθιστά διαφορετικό. Ενώ οι εφαρμογές που στηρίζονται στις γλώσσες προγραμματισμού υποστηρίζουν περιβάλλοντα ανάπτυξης βασισμένα σε κείμενο γραμμών εντολών, το LabVIEW χρησιμοποιεί ένα γραφικό περιβάλλον. Μια γραφική 5

10 γλώσσα προγραμματισμού που ονομάζεται G, και δημιουργεί προγράμματα σε μία μορφή διαγραμμάτων ροής (flowchart) τα οποία ονομάζονται διαγράμματα μπλοκ (block diagrams), εξαλείφοντας έτσι τα συντακτικά λάθη. Περιβάλλον Χρήσης Γραφικός Κώδικας 6

11 Το LabVIEW χρησιμοποιεί ορολογία, εικονίδια, και ιδέες οικείες σε επιστήμονες και μηχανικούς. Βασίζεται σε γραφικά σύμβολα παρά σε γραμμές κώδικα για να περιγράψει προγραμματιστικές ενέργειες. Η κατανόηση του LabVIEW είναι εύκολη ακόμη και αν δεν υπάρχει κάποιο υπόβαθρο σε γλώσσες προγραμματισμού με εντολές κειμένου, όμως προηγούμενη εμπειρία σε αυτές καθιστά ακόμη ευκολότερη την κατανόηση και εξοικείωση με το LabVIEW. 1.2 Τι μπορεί να κάνει το LabVIEW Το LabVIEW απλοποιεί, στο μέτρο του δυνατού, την δημιουργία διάφορων διατάξεων. Περιέχει εκτεταμένο αριθμό βιβλιοθηκών, λειτουργιών και υπορουτίνων ώστε να βοηθήσει σε όλα τα προγραμματιστικές εργασίες ενός μηχανικού. Επίσης, περιέχει βιβλιοθήκες για συγκεκριμένες εφαρμογές όπως εξόρυξη δεδομένων, σειριακά όργανα ελέγχου και GPIB, ανάλυσης δεδομένων, παρουσίασης και αποθήκευσης δεδομένων. Υπάρχουν λειτουργίες δημιουργίας σημάτων, επεξεργασίας σημάτων, φίλτρων, παραθύρων, στατιστικών, γραμμικής άλγεβρας, πινάκων, και παρεμβολών. Το LabVIEW περιλαμβάνει όλα τα συνηθισμένα εργαλεία ανάπτυξης με τα οποία μπορούμε να εισάγουμε σημεία διακοπών (break points), ροής ενός βήματος κάθε φορά (signle-step through), και γραφικής απεικόνισης της ροής εκτέλεσης ενός προγράμματος ώστε να είναι εύκολη η παρακολούθηση της ροής και επεξεργασίας των δεδομένων. Λόγω της γραφικής φύσης του, το LabVIEW είναι κύρια ένα πακέτο παρουσίασης δεδομένων. Η έξοδος των δεδομένων μπορεί να πάρει οποιαδήποτε μορφή. Γραφήματα, πίνακες και οποιαδήποτε άλλης φύσης γραφικής απεικόνισης που έχει 7

12 δημιουργηθεί από τον χρήστη είναι μόνο μερικές από τις μορφές που μπορεί να πάρει η έξοδος. Με τα εργαλεία εξόρυξης, ανάλυσης και παρουσίασης, το LabVIEW είναι λειτουργικά ολοκληρωμένο. Οποιοδήποτε υπολογιστικό πρόβλημα είναι πραγματοποιήσιμο σε μια συμβατική γλώσσα προγραμματισμού, είναι γενικά ευκολότερο να υλοποιηθεί με την προσέγγιση των εικονικών οργάνων του LabVIEW. 1.3 Πως λειτουργεί το LabVIEW Τα προγράμματα του LabVIEW ονομάζονται εικονικά όργανα (virtual instruments ή VIs για συντομία) γιατί η εμφάνισή τους και η λειτουργία τους μιμείται τα πραγματικά όργανα. Παρόλα αυτά, στο παρασκήνιο είναι ανάλογα με τα κυρίως προγράμματα, τις λειτουργίες και τις υπορουτίνες από τις δημοφιλείς γλώσσες προγραμματισμού όπως η C και η Java. Τα VIs έχουν και το διαδραστικό περιβάλλον χρήστη αλλά και τον ισοδύναμο πηγαίο κώδικά τους, και μπορούμε να περνάμε δεδομένα ανάμεσα στα δύο. Ένα VI έχει τρία κύρια μέρη: Ο εμπρός πίνακας (front panel) είναι το διαδραστικό περιβάλλον χρήσης του VI, και είναι ονομασμένο έτσι διότι εξομοιώνει τον πίνακα των πραγματικών οργάνων. Περιέχει κουμπιά περιστροφής και πίεσης, γραφήματα, και πολλούς άλλους διακόπτες (είσοδοι χρήστη) και ενδείξεις (έξοδοι χρήστη). Η εισαγωγή δεδομένων γίνεται με το ποντίκι και το πληκτρολόγιο, και μπορούμε να δούμε τα αποτελέσματα, που παρήχθησαν από το πρόγραμμα, στην οθόνη του υπολογιστή. 8

13 Front Panel Το μπλοκ διάγραμμα, το οποίο φαίνεται παρακάτω, είναι ο πηγαίος κώδικας του VI, το οποίο έχει δημιουργηθεί από την γραφική γλώσσα προγραμματισμού του LabVIEW, G. Το μπλοκ διάγραμμα αυτό είναι στην ουσία εκτελέσιμος κώδικας. Τα τμήματα του μπλοκ διαγράμματος, τα εικονίδια, εκπροσωπούν VIs μικρότερης ιεραρχίας, ενσωματωμένων λειτουργιών και δομών ελέγχου προγράμματος. Ζωγραφίζοντας καλώδια που συνδέουν εικονίδια μεταξύ τους, δείχνουμε την ροή των δεδομένων στο διάγραμμα μπλοκ. 9

14 Διάγραμμα Μπλοκ Το εικονίδιο και ο connector ενός VI επιτρέπουν σε άλλα VIs να περνούν δεδομένα στο VI. Το εικονίδιο αναπαριστά ένα VI στο μπλοκ διάγραμμα ενός άλλου VI. Δηλαδή μπορούμε χρησιμοποιώντας πολλά απλά VIs να δημιουργήσουμε πολυπλοκότερα καινούρια VIs. Ο connector καθορίζει τις εισόδους και εξόδους του VI. Τα VIs είναι ιεραρχημένα και επεκτάσιμα. Μπορούν να χρησιμοποιηθούν σαν τελικά προγράμματα, σαν υποπρογράμματα μέσα σε άλλα προγράμματα, ακόμη και μέσα σε άλλα υποπρογράμματα. Ένα VI που χρησιμοποιείτε μέσα σε ένα άλλο VI, αντίστοιχα με μια υπορουτίνα, ονομάζεται subvi. Εικονίδιο 10 Connector

15 Με αυτά τα χαρακτηριστικά, το LabVIEW προωθεί τον προγραμματισμό σε ενότητες. Πρώτα, διαιρείται η κυρίως διάταξη, σε μια σειρά απλών εργασιών. Έπειτα φτιάχνεται ένα VI για κάθε απλή εργασία και τέλος συνδυάζονται μαζί για να δημιουργηθεί το τελικό πρόγραμμα (VI). Ο προγραμματισμός σε ενότητες έχει το πλεονέκτημα ότι κάθε subvi μπορεί να εκτελεστεί αυτόνομα καθιστώντας την αποσφαλμάτωση ευκολότερη. Επιπρόσθετα, πάρα πολλά απλά VIs εξυπηρετούν συνήθεις εργασίες σε πολλά διαφορετικά προβλήματα, έτσι μπορούν να χρησιμοποιηθούν ανεξάρτητα από κάθε εφαρμογή. 11

16 12

17 ΚΕΦΑΛΑΙΟ 2 Εγκατάσταση του LabVIEW Ξεκινούμε την εγκατάσταση του LabVIEW εισάγοντας το πρώτο DVD στο οδηγό ανάγνωσης. Μόλις ο οδηγός ανάγνωσης διαβάσει τα δεδομένα από το DVD θα εμφανίσει την παρακάτω εικόνα: 13

18 Αν δεν εμφανιστεί η εικόνα αυτή αυτόματα, τότε ανοίγουμε τον υπολογιστή κάνοντας κλικ στο εικονίδιο που υπάρχει στην επιφάνεια εργασίας και κάνουμε διπλό κλικ στο οδηγό ανάγνωσης DVD. Επιλέγουμε Install LabVIEW, Modules, and Toolkits όπως φαίνεται στην παραπάνω εικόνα με μπλε χαρακτήρες. Έτσι ξεκινά ο οδηγός εγκατάστασης του LabVIEW που μας προτρέπει να κλείσουμε όλα τα ανοιχτά παράθυρα καθώς και να απενεργοποιήσουμε το antivirus που ίσως να έχουμε εγκατεστημένο έτσι ώστε η εγκατάσταση του LabVIEW να γίνει γρηγορότερα. Κάτι τέτοιο μπορούμε να το κάνουμε άφοβα καθώς τα αρχεία του LabVIEW είναι ελεγμένα εξονυχιστικά για ιούς. Η εγκατάσταση του LabVIEW γενικά διαρκεί αρκετή ώρα. Σημαντικό ρόλο στον χρόνο που θα διαρκέσει, είναι οι δυνατότητες του υπολογιστή στον οποίο γίνεται η εγκατάσταση, καθώς και οι επιλογές που θα κάνουμε για το ποια τμήματα του LabVIEW θέλουμε να εγκατασταθούν. 14

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

20 Μόλις τελειώσουμε με τις επιλογές πατούμε το Next. Αφήνουμε επιλεγμένη την επιλογή αυτή η οποία δίνει την δυνατότητα στον οδηγό εγκατάστασης να αντλεί δεδομένα για το LabVIEW από τον επίσημο δικτυακό τόπο της εταιρίας στο Internet. Τα δεδομένα αυτά είναι νέα και παρατηρήσεις για την έκδοση του LabVIEW την οποία κάνουμε εγκατάσταση. Επιλέγουμε και πάλι το Next. Στην επόμενη εικόνα που εμφανίζεται εισάγουμε τα στοιχεία του κατόχου της άδεια χρήσης του LabVIEW καθώς και το όνομα της εταιρίας ή οργανισμού στον οποίο εργάζεται. 16

21 Πατούμε το Next για να συνεχίσουμε στην επόμενη εικόνα. Εδώ εισάγουμε τον σειριακό αριθμό της άδειας χρήσης που μας έχει δοθεί από την εταιρία. Αν δεν εισάγουμε τίποτε, τότε γίνεται εγκατάσταση της έκδοσης 17

22 αξιολόγησης, η οποία μας επιτρέπει να χρησιμοποιήσουμε, με κάποιους περιορισμούς, το LabVIEW για περίοδο ενός μήνα. Επιλέγουμε Next. Εδώ επιλέγουμε τον σκληρό δίσκο καθώς και τον φάκελο στον οποίο θα εγκατασταθούν όλα τα προγράμματα της National Instruments καθώς και του LabVIEW. Η National Instruments είναι η εταιρία που δημιούργησε το LabVIEW. Αφού επιλέξουμε τους φακέλους πιέζουμε το Next. 18

23 Στην εικόνα αυτή εμφανίζονται οι όροι χρήσης του LabVIEW καθώς και όποιου άλλου πρόσθετου λογισμικού πρόκειται να εγκατασταθεί ταυτόχρονα. Διαβάζουμε και επιλέγουμε I accept the above License Agreement(s) δηλαδή ότι αποδεχόμαστε τους όρους χρήσης, και επιλέγουμε Next για να συνεχίσουμε. Αφήνουμε επιλεγμένο το Always trust software from National Instruments Corporation με το οποίο αποδεχόμαστε ότι κάθε φορά που κάποιο λογισμικό της National Instruments ξεκινά την εγκατάστασή του, τα windows θα το αποδέχονται αυτόματα χωρίς την παρέμβαση του χρήστη. Επιλέγουμε και πάλι το Next για να συνεχίσουμε. 19

24 Εμφανίζεται μια λίστα με τα προγράμματα και τους οδηγούς που θα εγκατασταθούν, ως περίληψη των επιλογών που έχουμε κάνει. Επιβεβαιώνουμε τις επιλογές μας πιέζοντας Next. 20

25 Ξεκινά η εγκατάσταση του LabVIEW. Όπως προαναφέραμε, η διαδικασία αυτή μπορεί να είναι αρκετά χρονοβόρα. Μόλις τελειώσει η εγκατάσταση των αρχείων, ο οδηγός εγκατάστασης θα ζητήσει να εισάγουμε το DVD που περιέχει τους οδηγούς των συσκευών. Το DVD αυτό ονομάζεται NI Device Drivers DVD August 2009 όπως φαίνεται στην παρακάτω εικόνα: Εισάγουμε τον δίσκο και επιλέγουμε Rescan Drive. Αμέσως ξεκινά η εγκατάσταση των οδηγών. 21

26 Η εικόνα που εμφανίζεται μας δίνει διάφορες πληροφορίες για το ποιες συσκευές υποστηρίζονται και από ποιες έχει αφαιρεθεί η υποστήριξη λόγω του ότι είναι πια πεπαλαιωμένες. Για να προχωρήσουμε επιλέγουμε το Next. 22

27 Εμφανίζονται οι όροι χρήσης των οδηγών συσκευών. Αφού διαβάσουμε τους όρους επιλέγουμε το I accept the License Agreement με το οποίο αποδεχόμαστε τους όρους και επιλέγουμε το Next. Ακολουθεί η περίληψη με τους οδηγούς που έχουν επιλεγεί για εγκατάσταση. Επιβεβαιώνουμε επιλέγοντας Next. 23

28 Ξεκινά η εγκατάσταση των οδηγών συσκευών. Με την ολοκλήρωσή της εμφανίζεται η παρακάτω εικόνα, η οποία μας ενημερώνει ότι πιθανόν να χρειαστεί επανεκκίνηση του υπολογιστή έτσι ώστε όλα τα προγράμματα που έγιναν εγκατάσταση, να λειτουργήσουν σωστά: Επιβεβαιώνουμε επιλέγοντας το Next. Η εγκατάσταση των οδηγών συσκευών έχει τελειώσει και έτσι επιστρέφουμε στον οδηγό εγκατάστασης του LabVIEW, ο οποίος ενημερώνει πως θα πρέπει να προσθέσουμε το LabVIEW στις εξαιρέσεις του τοίχους προστασίας (firewall) των Windows ή οποιουδήποτε άλλου τοίχους προστασίας μπορεί να χρησιμοποιούμε έτσι ώστε να μπορούμε να χρησιμοποιήσουμε απρόσκοπτα τα δικτυακά χαρακτηριστικά του προγράμματος. 24

29 Επιλέγουμε Next για να συνεχίσουμε. Η παρακάτω εικόνα είναι μια περίληψη όλων όσων εγκαταστάθηκαν στον υπολογιστή. 25

30 Επιλέγουμε Finish και έτσι η εγκατάσταση του LabVIEW έχει τελειώσει. Απομένει μόνο να επανεκκινήσουμε τον υπολογιστή όπως μας προτρέπει το παρακάτω πλαίσιο διαλόγου: Επιλέγουμε το «Ναι» για επανεκκίνηση. 26

31 ΚΕΦΑΛΑΙΟ 3 Εξόρυξη δεδομένων, μεταφορά και ανάλυση στο LabVIEW 3.1 Τι είναι η εξόρυξη δεδομένων Σύστημα εξόρυξης δεδομένων (DAQ System) 27

32 Η εξόρυξη δεδομένων είναι απλά η διαδικασία κατά την οποία τα πραγματικά σήματα, όπως πχ η τάση, μετατρέπεται σε μορφή κατάλληλη για την επεξεργασία, την ανάλυση, την αποθήκευση και οποιαδήποτε άλλη μετατροπή σε ηλεκτρονικό υπολογιστή. Στο παραπάνω σχήμα φαίνονται τα μέρη ενός συστήματος εξόρυξης δεδομένων. Τα φυσικά φαινόμενα (4) αναπαριστούν τα πραγματικά σήματα τα οποία θέλουμε να μετρήσουμε, όπως η ταχύτητα, η θερμοκρασία, η υγρασία, η πίεση, η ροή, το ph, η αρχή και το τέλος κ.ο.κ. Οι μετατροπείς (3) αισθάνονται αυτά τα πραγματικά σήματα και σαν αποτέλεσμα δημιουργούν ηλεκτρικά σήματα. Για παράδειγμα ένα θερμοζεύγος (thermocouple), που είναι ένα είδος μετατροπέα, μετατρέπει την θερμοκρασία σε τάση την οποία ένας μετατροπέας αναλογικού σήματος σε ψηφιακό (analog to digital converter) μπορεί να μετρήσει. Άλλα παραδείγματα μετατροπέων είναι ο μετρητής κάμψης, ο μετρητής ροής, και ο μετρητής πίεσης, οι οποίοι μετρούν δύναμη, ρυθμό ροής και πίεση, αντίστοιχα. Σε κάθε περίπτωση, το ηλεκτρικό σήμα που παράγεται από τους μετατροπείς είναι ανάλογο του φαινομένου που παρακολουθείτε. Το LavVIEW μπορεί να ελέγχει ειδικά κυκλώματα εξόρυξης δεδομένων (DAQ boards), έτσι ώστε να διαβάζουν αναλογικά σήματα (μετατροπή A/D), να δημιουργούν αναλογικά σήματα εξόδου (μετατροπή D/A), να διαβάζουν και να γράφουν ψηφιακά σήματα, και να ρυθμίζουν τους απαριθμητές, πάνω σε αυτές τις ειδικές πλακέτες, ώστε να μετρούν την συχνότητα, να δημιουργούν παλμοσειρές και άλλα. Η συσκευή περιορισμών σήματος (1), «περιορίζει» τα ηλεκτρικά σήματα που δημιουργούνται από τον μετατροπέα έτσι ώστε να είναι σε μια τέτοια μορφή ώστε το κύκλωμα εξόρυξης δεδομένων να μπορεί να τα δεχτεί. Για παράδειγμα, θέλουμε να απομονώσουμε οποιοδήποτε σήμα υψηλής τάσης, αν δεν θέλουμε να «κάψουμε» το κύκλωμα αλλά και τον υπολογιστή. Οι συσκευές περιορισμών σήματος μπορούν να εφαρμόσουν διάφορα είδη περιορισμών όπως, ενίσχυση, γραμμικοποίηση, 28

33 φιλτράρισμα, απομόνωση και άλλα. Δεν είναι απαραίτητο κάθε εφαρμογή να χρειάζεται περιορισμούς στο σήμα, αλλά θα πρέπει να είμαστε προσεκτικοί στις προδιαγραφές ώστε να αποφευχθούν τυχών λάθη. 3.2 Τι είναι το GPIB Η Hewlett Packard δημιούργησε την διεπαφή διαύλου γενικής χρήσης ή αλλιώς General Purpose Interface Bus (GPIB) στο τέλος της δεκαετίας του 60 με σκοπό την διευκόλυνση της επικοινωνίας μεταξύ υπολογιστών και οργάνων μέτρησης. Ο δίαυλος είναι απλά ο τρόπος με τον οποίο υπολογιστές και όργανα μέτρησης, μεταφέρουν δεδομένα και έτσι το GPIB έδωσε το πρότυπο που θα διέπει τις επικοινωνίες αυτού του είδους. Το ινστιτούτο ηλεκτρολόγων και ηλεκτρονικών μηχανικών (ΙΕΕΕ) προτυποποίησε το GPIB το 1975 και από τότε το πρότυπο αυτό ονομάζεται IEEE 488. Ο αρχικός σκοπός του GPIB ήταν να επιτρέπει τον έλεγχο μετρητικών οργάνων και οργάνων ελέγχου. Όμως επεκτάθηκε πέρα από αυτές τις εφαρμογές και έτσι επιτρέπει την επικοινωνία υπολογιστών μεταξύ τους καθώς και τον έλεγχο περιφερειακών συσκευών όπως τα scanners και άλλα. Το GPIB είναι ένα ψηφιακός παράλληλος δίαυλος 24αρων επαφών. Αποτελείται από οχτώ γραμμές δεδομένων, πέντε γραμμές διαχείρισης (ATN, EOI, IFC, REN, και SRQ), τρις γραμμές χειραψίας, και οχτώ γραμμές γείωσης. Χρησιμοποιεί 8-bit παράλληλη, ασύγχρονη μεταφορά δεδομένων. Με άλλα λόγια ολόκληρα bytes μεταφέρονται σειριακά και ασύγχρονα μέσω του διαύλου σε ταχύτητα που καθορίζεται από την πιο αργή συσκευή που συμμετέχει στην μεταφορά. Επειδή το GPIB μεταφέρει ολόκληρα bytes (1 byte = 8 bit), τα μηνύματα που μεταφέρονται συχνά κωδικοποιούνται σε μορφή χαρακτήρων ASCII. Ο υπολογιστής μπορεί να χρησιμοποιήσει το GPIB μόνο εάν υπάρχει η κάρτα GPIB και οι κατάλληλοι οδηγοί είναι εγκατεστημένοι. 29

34 Μπορούν να υπάρξουν πολλά όργανα και υπολογιστές συνδεδεμένοι στον ίδιο δίαυλο GPIB. Κάθε συσκευή, συμπεριλαμβανομένου και του ίδιου του υπολογιστή που έχει την κάρτα GPIB, πρέπει να έχει μια μοναδική διεύθυνση ανάμεσα στο 0 και το 30, έτσι ώστε να μπορούν να καθοριστούν οι πηγές και οι προορισμοί των δεδομένων. Συνήθως η διεύθυνση 0 αποδίδεται στην κάρτα GPIB. Τα όργανα που είναι συνδεμένα στο GPIB μπορούν να χρησιμοποιήσουν τις διευθύνσεις 1 έως και 30. Το GPIB έχει ένα ελεγκτή, που είναι συνήθως ο υπολογιστής, που ελέγχει τον δίαυλο. Για την μεταφορά εντολών οργάνων και δεδομένων στον δίαυλο, ο ελεγκτής διευθυνσιοδοτεί ένα «ομιλητή» και ένα ή και περισσότερους «ακροατές». Τα πακέτα δεδομένων περνούν από τον δίαυλο με την διαδικασία της χειραψίας από τον «ομιλητή» στον «ακροατή». Τα VIs του LabVIEW που χρησιμοποιούν το GPIB αναλαμβάνουν αυτόματα να δώσουν διευθύνσεις και να ελέγξουν όλες τις υπόλοιπες λειτουργίες που απαιτούνται έτσι ώστε ο τελικός χρήστης να αποφύγει τον προγραμματισμό χαμηλού επιπέδου. Παρόλο που το GPIB είναι ένας τρόπος ώστε να εισάγουμε δεδομένα σε ένα υπολογιστή, διαφέρει πλήρως από τις κάρτες εξόρυξης δεδομένων οι οποίες συνδέονται μέσα στον υπολογιστή. Χρησιμοποιώντας ένα ειδικό πρωτόκολλο, το GPIB μεταφέρει δεδομένα σε ένα υπολογιστή τα οποία προέρχονται από κάποιον άλλο υπολογιστή ή όργανο, ενώ η εξόρυξη δεδομένων περιλαμβάνει την σύνδεση σημάτων απ ευθείας με την κάρτα DAQ μέσα στον υπολογιστή. Παρόλο που η μέθοδος αυτή με την χρήση του GPIB ήταν ιδιαίτερα διαδεδομένη (όπως και η επικοινωνία μέσω της σειριακής θύρας που αναπτύσσεται σε επόμενη παράγραφο) πριν από 20 χρόνια και παρόλο που ακόμη και σήμερα χρησιμοποιείτε σε διάφορες περιπτώσεις, έχει γενικά αντικατασταθεί με νεότερες τεχνολογίες στην μεταφορά δεδομένων. Τεχνολογίες όπως το USB, το PCI, το PCI express, το PXI το Ethernet ακόμη και το wireless έχουν αντικαταστήσει τα παλαιότερα πρότυπα και 30

35 έχουν δώσει μεγαλύτερες ταχύτητες μεταφοράς, ευελιξία, ευκολία και άλλα πλεονεκτήματα στην εξόρυξη δεδομένων. 3.3 Επικοινωνία με την σειριακή θύρα. Η σειριακή επικοινωνία ήταν και αυτή μια από τις πιο διαδεδομένες μορφές μεταφοράς δεδομένων ανάμεσα σε δύο υπολογιστές, ή σε μια περιφερειακή συσκευή όπως ένα προγραμματιζόμενο όργανο. Χρησιμοποιεί την σειριακή θύρα του υπολογιστή. Η σειριακή επικοινωνία χρησιμοποιεί ένα πομπό για να στέλνει τα δεδομένα με ρυθμό ενός bit την φορά μέσω μιας και μόνο γραμμής επικοινωνίας με τον δέκτη. Αυτή η μέθοδος χρησιμοποιείται κυρίως όταν ο ρυθμός μεταφοράς των δεδομένων είναι μικρός, ή όταν χρειάζεται να μεταφερθούν δεδομένα σε μεγάλες αποστάσεις. Είναι πιο αργό και λιγότερο αξιόπιστο από το GPIB, όμως δεν απαιτεί κάποια κάρτα στον υπολογιστή για την μεταφορά των δεδομένων και το όργανο δεν χρειάζεται να πληροί τις προδιαγραφές του GPIB προτύπου. Η σειριακή επικοινωνία είναι ήταν ιδιαίτερα χρήσιμη πριν κάποια χρόνια γιατί κάθε υπολογιστής έχει μία ή δύο σειριακές θύρες και έτσι μπορούσαν να σταλούν και να δεχτούν δεδομένα χωρίς να είναι απαραίτητη η αγορά κάποιου ειδικού υλικού. Πολλά GPIB όργανα έχουν και σειριακές θύρες ταυτόχρονα. Όμως, αντίθετα με το GPIB, οι σειριακές θύρες μπορούν να επικοινωνήσουν μόνο με μία συσκευή, το οποίο μπορεί να είναι ιδιαίτερα περιοριστικό για κάποιες εφαρμογές. Η σειριακή θύρα είναι ιδιαίτερα αργή σε ταχύτητα. Το LabVIEW περιέχει λειτουργίες για την σειριακή επικοινωνία. Στις μέρες μας, τον ρόλο της σειριακής επικοινωνίας έχει πάρει ένα σχετικά καινούριο, αξιόπιστο και τάξεις μεγέθους ταχύτερο από την σειριακή θύρα, πρότυπο. Το πρότυπο αυτό ονομάζεται USB ή Universal Serial Bus. Κάθε σύγχρονος 31

36 υπολογιστής διαθέτει τουλάχιστον δύο USB θύρες, πράγμα που την κάνει ιδιαίτερα δημοφιλή. Το LabVIEW, όπως είναι φυσικό, διαθέτει οδηγούς και λειτουργίες για αυτές τις θύρες και τα όργανα που την χρησιμοποιούν. 3.4 Γιατί αναλύουμε τα δεδομένα Μόλις τα δεδομένα εισαχθούν στον υπολογιστή, συνήθως θέλουμε να τα επεξεργαστούμε με κάποιον τρόπο. Οι μοντέρνοι, γρήγοροι, επεξεργαστές κινητής υποδιαστολής και οι επεξεργαστές σημάτων γίνονται ολοένα και πιο σημαντικοί στην ανάλυση συστημάτων πραγματικού χρόνου. Μερικές από τις πολλές εφαρμογές συμπεριλαμβάνουν την επεξεργασία βιοϊατρικών δεδομένων, σύνθεση και αναγνώριση ομιλίας, και ψηφιακή επεξεργασία ήχου και εικόνας. Η μεγάλη σημασία της ανάγκης για ανάλυση των δεδομένων από τις βιβλιοθήκες ανάλυσης του LabVIEW, γίνεται κατανοητή από το γεγονός ότι τα δεδομένα που συγκεντρώνονται από την κάρτα DAQ ή το όργανο που χρησιμοποιεί το GPIB, δεν είναι άμεσα χρήσιμα για διάφορους λόγους. Συχνά θα πρέπει να μετασχηματισθεί το σήμα, να αφαιρεθεί ο θόρυβος, να απαλειφτούν τα λάθη λόγω χαλασμένου υλικού ή και να αντισταθμιστούν οι επιδράσεις του περιβάλλοντος όπως πχ η θερμοκρασία και η υγρασία. 32

37 Αναλύοντας και αφού επεξεργασθούν τα ψηφιακά δεδομένα, μπορούμε να πάρουμε την χρήσιμη πληροφορία μέσα από τον θόρυβο και να την παρουσιάσουμε με τρόπο πολύ πιο κατανοητό από τα δεδομένα που δεν έχουν υποστεί επεξεργασία. Τα δεδομένα μετά την επεξεργασία θα είχαν την παρακάτω μορφή: Ο προγραμματισμός με την χρήση του μπλοκ διαγράμματος του LabVIEW και με την εκτενή λίστα των VIs, απλοποιούν την ανάπτυξη των εφαρμογών ανάλυσης. Το LabVIEW διαθέτει πολλά και δημοφιλή εργαλεία ανάλυσης σε διακριτά VIs, τα οποία μπορούν να συνδεθούν μεταξύ τους έτσι ώστε να μπορούν να αναλύουν τα δεδομένα. Έτσι, αντί να μας απασχολεί ο τρόπος και οι λεπτομέρειες της υλοποίησης των ρουτινών ανάλυσης όπως στις περισσότερες γλώσσες προγραμματισμού, μπορούμε να επικεντρωθούμε στην επίλυση της ανάλυσης των δεδομένων του προβλήματος. Τα VIs ανάλυσης που διαθέτει το LabVIEW, επεξεργάζονται με αποδοτικό τρόπο μπλοκ πληροφοριών τα οποία βρίσκονται σε ψηφιακή μορφή. Καλύπτουν τις παρακάτω κύριες περιοχές επεξεργασίας: Δημιουργία μοτίβων (patterns) Ψηφιακή επεξεργασία σήματος Ψηφιακά φίλτρα 33

38 Παράθυρα εξομάλυνσης Στατιστική ανάλυση Προσαρμογή καμπυλών Γραμμική άλγεβρα Αριθμητική ανάλυση Ανάλυση με βάση μετρήσεις 34

39 ΚΕΦΑΛΑΙΟ 4 Το περιβάλλον του LabVIEW 4.1 Front Panels Το front panel (εμπρός πίνακας) είναι το παράθυρο μέσα από το οποίο ο χρήστης αλληλεπιδρά με το πρόγραμμα. Εκτελώντας ένα VI, θα πρέπει να υπάρχει ένα front panel ανοιχτό έτσι ώστε να μπορούν να εισαχθούν δεδομένα στο πρόγραμμα που τρέχει. Επίσης είναι ιδιαίτερα χρήσιμο γιατί σε αυτό εμφανίζεται η έξοδος του προγράμματος. Η παρακάτω εικόνα δίνει ένα παράδειγμα ενός front panel του LabVIEW: 35

40 Front Panel του LabVIEW Εργαλεία ελέγχου και δείκτες Το front panel είναι κυρίως ένας συνδυασμός εργαλείων ελέγχου και δεικτών. Τα εργαλεία ελέγχου (controls) εξομοιώνουν τις τυπικές συσκευές εισόδου που μπορεί κανείς να βρει σε συμβατικά όργανα, όπως τα περιστρεφόμενα κουμπιά και οι διακόπτες. Τα εργαλεία ελέγχου εισάγουν τα δεδομένα στο μπλοκ διάγραμμα ενός VI. Οι δείκτες (indicators) εξομοιώνουν τις οθόνες εξόδου που εμφανίζουν τα δεδομένα που το πρόγραμμα παίρνει ή παράγει. Ο πιο απλός τρόπος για να ξεχωρίσουμε τα εργαλεία ελέγχου και τους δείκτες είναι ο εξής: Εργαλεία ελέγχου = Είσοδοι Δείκτες = Έξοδοι «Ρίχνουμε» controls και indicators σε ένα front panel επιλέγοντάς τα από το μενού των controls στο πάνω μέρος του παραθύρου του front panel. Μόλις ένα αντικείμενο 36

41 βρεθεί στο front panel, μπορούμε πολύ εύκολα να αλλάξουμε το μέγεθος, την μορφή και την θέση του. 4.2 Μπλοκ διαγράμματα Το παράθυρο του μπλοκ διαγράμματος περιέχει τον γραφικό πηγαίο κώδικα ενός VI του LabVIEW. Το μπλοκ διάγραμμα αυτό, παίζει τον ρόλο που έχουν οι γραμμές κώδικα σε μια από τις δημοφιλείς γλώσσες προγραμματισμού όπως η C++ και η Java, είναι δηλαδή ο εκτελέσιμος κώδικας. Το μπλοκ διάγραμμα κατασκευάζεται ενώνοντας με εικονικά καλώδια αντικείμενα που εκτελούν συγκεκριμένες λειτουργίες. Το παρακάτω διάγραμμα που μοιάζει αρκετά με τα διαγράμματα ροής που χρησιμοποιούνται στην διαδικασία του προγραμματισμού σαν προσχέδιο, είναι στην περίπτωση του LabVIEW το ίδιο το πρόγραμμα. Θα αναλύσουμε τα διάφορα μέρη του μπλοκ διαγράμματος: τα τερματικά (terminals), τους κόμβους (nodes), και τα καλώδια (wires). Το παρακάτω VI υπολογίζει το άθροισμα και την διαφορά μεταξύ δύο αριθμών. Στο διάγραμμα φαίνονται παραδείγματα τερματικών, κόμβων και καλωδίων. Front Panel Node Indicator Terminal Control Terminal Wire 37

42 Τερματικά Όταν τοποθετείτε ένα όργανο ελέγχου (control) ή ένας δείκτης (indicator) στο front panel, το LabVIEW αυτόματα δημιουργεί το αντίστοιχο τερματικό στο διάγραμμα μπλοκ. Αυτό το τερματικό δεν μπορεί να διαγραφεί από το διάγραμμα όσο και αν προσπαθήσει κάποιος. Ο μόνος τρόπος για να εξαφανιστεί είναι να διαγραφεί το όργανο ελέγχου ή ο δείκτης από το front panel. Τα τερματικά ελέγχου απεικονίζονται στο LabVIEW με παχύ περίγραμμα, ενώ το τερματικά των δεικτών με λεπτό περίγραμμα. Τα τερματικά είναι στην ουσία θύρες εισόδου και εξόδου, ή αλλιώς πηγές και προορισμοί. Τα δεδομένα που εισάγονται στα Numeric Addends εξέρχονται από το front panel και εισέρχονται στο μπλοκ διάγραμμα μέσω των τερματικών των δύο αυτών controls του διαγράμματος. Είναι φανερό ότι και η λειτουργία της πρόσθεσης έχει και αυτή τερματικούς ακροδέκτες ή αλλιώς τερματικά. Τα δεδομένα ακολουθούν το καλώδιο και εισέρχονται στην λειτουργία της πρόσθεσης. Μόλις η λειτουργία της πρόσθεσης τερματίσει τους εσωτερικούς υπολογισμούς, παράγει νέα δεδομένα στο τερματικό εξόδου της. Τα καινούρια δεδομένα ακολουθούν την πορεία τους προς το τερματικό του Numeric Sum και επιστρέφουν στο front panel, όπου και εμφανίζονται. Κόμβοι Ένας κόμβος (node) είναι ένα εκτελέσιμο στοιχείο. Οι κόμβοι είναι το ανάλογο των δηλώσεων, των τελεστών, των μεθόδων και των υπορουτινών μια τυπικής γλώσσας προγραμματισμού. Οι λειτουργίες πρόσθεσης και αφαίρεσης αναπαριστούν ένα τύπο κόμβου. Η δομή είναι άλλο ένα είδος κόμβου. Οι δομές μπορούν να εκτελούν κώδικα επαναλαμβανόμενα ή με προϋποθέσεις, όμοια με τους βρόχους και τις δηλώσεις περιπτώσεων στον παραδοσιακό προγραμματισμό. Το LabVIEW διαθέτει ειδικούς 38

43 κόμβους, που ονομάζονται κόμβοι τύπων (formula nodes), οι οποίοι είναι χρήσιμοι για την αξιολόγηση τύπων στην μορφή κειμένου. Καλώδια Τα καλώδια είναι τα μονοπάτια που ακολουθούν τα δεδομένα από το τερματικό πηγής πηγαίνοντας στο τερματικό προορισμού τους. Δεν είναι δυνατόν να συνδεθεί ένα τερματικό πηγής με ένα άλλο τερματικό πηγής, ή αντίστοιχα, ένα τερματικό προορισμού με ένα άλλο τερματικό προορισμού. Παρόλα αυτά είναι δυνατόν να συνδεθεί ένα τερματικό πηγής με πολλά τερματικά προορισμού. Κάθε καλώδιο έχει και διαφορετικό στυλ ή χρώμα, ανάλογα με το είδος των δεδομένων που περνούν μέσα από αυτά. Το παραπάνω μπλοκ διάγραμμα δείχνει το στυλ των καλωδίων για μια βαθμοτή αριθμητική τιμή, δηλαδή μια λεπτή συνεχόμενη γραμμή. Το παρακάτω διάγραμμα δίνει τα είδη των καλωδίων που υπάρχουν. Βαθμοτή Πίνακας 1Δ Πίνακας 2Δ Αριθμός Boolean String Πορτοκαλί Πράσινο Μοβ Βασικά στυλ των καλωδίων στα μπλοκ διαγράμματα Προγραμματισμός ροής δεδομένων Καθώς το LabVIEW δεν είναι μια γλώσσα εντολών κειμένου, ο κώδικάς του δεν μπορεί να εκτελεσθεί γραμμή προς γραμμή. Η ιδέα που καθορίζει τον τρόπο εκτέλεσης των προγραμμάτων στο LabVIEW ονομάζεται ροή δεδομένων. Με άλλα λόγια, ένας κόμβος δεν εκτελεί την λειτουργία του έως ότου τα δεδομένα φτάσουν σε όλες τις τερματικές εισόδους του. Αφού εκτελεστεί η λειτουργία, ο κόμβος εμφανίζει 39

44 τα αποτελέσματα σε όλα τα τερματικά εξόδου που διαθέτει. Έτσι τα δεδομένα περνούν αμέσως από το τερματικό της πηγής, σε αυτό του προορισμού. Η μέθοδος της ροής δεδομένων έρχεται σε πλήρη διάσταση με την μέθοδο εκτέλεσης σε μια γλώσσα εντολών κειμένου, στις οποίες οι εντολές εκτελούνται με την σειρά με την οποία γράφτηκαν. Αυτή η θεμελιώδης διαφορά απαιτεί κάποια προσαρμογή από την πλευρά του προγραμματιστή. Είναι φανερό, λοιπόν, ότι η παραδοσιακή ροή εκτέλεσης είναι βασισμένη στις εντολές, η εκτέλεση ροής δεδομένων είναι βασισμένη στα δεδομένα. 4.3 Τα εικονίδια και οι connectors Όταν ένα VI λειτουργεί σαν subvi μέσα σε ένα άλλο VI, τα controls και τα indicators του δέχονται δεδομένα και επιστρέφουν δεδομένα στο VI το οποίο το κάλεσε. Το εικονίδιο αναπαριστά ένα VI, μέσα σε ένα μπλοκ διάγραμμα άλλου VI. Το εικονίδιο αυτό μπορεί να είναι κάποια γραφική αναπαράσταση ή κάποια περιγραφή μέσω κειμένου ή και ο συνδυασμός και των δύο. Ο connector ενός VI είναι ένα σύνολο από τερματικά τα οποία αντιπροσωπεύουν τα controls και τα indicators του. Ο connector είναι αρκετά όμοιος με την λίστα παραμέτρων μιας λειτουργίας των παραδοσιακών γλωσσών προγραμματισμού. Τα τερματικά του connector δρουν σαν μικροί γραφικοί παράμετροι που μεταφέρουν δεδομένα από και προς το subvi. Κάθε τερματικό αντιπροσωπεύει το δικό του control ή indicator στο front panel. Ο connector ενός subvi παραλαμβάνει δεδομένα στα τερματικά εισόδου του και τα περνά στον κώδικα του subvi μέσω των controls του subvi. Επιπρόσθετα, δέχεται τα αποτελέσματα από τους indicators του subvi στα τερματικά εξόδου. 40

45 Εικονίδιο Connector Κάθε VI έχει ένα προεπιλεγμένο εικονίδιο, το οποίο εμφανίζεται στον ειδικό χώρο που υπάρχει για τον σκοπό αυτό στην πάνω δεξιά γωνία είτε του παραθύρου μπλοκ διαγράμματος, είτε του παραθύρου front panel. Η θέση του προεπιλεγμένου εικονιδίου εμφανίζεται στην παρακάτω εικόνα. Θέση εικονιδίου Κάθε VI έχει, επίσης, και ένα connector, ο οποίος εμφανίζεται αν επιλέξουμε την επιλογή Visible Items και αμέσως μετά την επιλογή Terminals στο μενού που εμφανίζεται αν πατήσουμε το δεξί πλήκτρο του ποντικιού πάνω στο εικονίδιο. Όταν εμφανιστεί ο connector για πρώτη φορά, το LabVIEW βοηθά τον χρήστη προτείνοντας ένα μοτίβο συνδέσεων το οποίο έχει ένα τερματικό για κάθε control ή indicator του front panel. Ο χρήστης μπορεί να επιλέξει κάποιο διαφορετικό μοτίβο εάν θέλει, και μπορούν να οριστούν έως και 20 τερματικά πριν εξαντληθεί ο χώρος του connector. 41

46 ΠΑΡΑΔΕΙΓΜΑ 1 Θα ακολουθήσει ένα αναλυτικό παράδειγμα, βήμα προς βήμα, με εικόνες και επεξηγήσεις ώστε να γίνουν πιο κατανοητά όλα τα παραπάνω. Στο παράδειγμα αυτό θα δημιουργήσουμε ένα VI το οποίο θα παράγει τυχαίους αριθμούς τους οποίους θα βάζει σε ένα γράφημα κυματομορφής. Η έκδοση του LabVIEW που θα χρησιμοποιηθεί είναι η bit. Πρόσφατα κυκλοφόρησε και η 2010 που όμως έχει μικρές διαφορές οι οποίες δεν εμφανίζονται στο παράδειγμα αυτό. 1. Εκκινούμε το LabVIEW 2009 κάνοντας διπλό κλικ με το αριστερό πλήκτρο του ποντικιού πάνω στο εικονίδιο της εφαρμογής. 2. Αφού εκτελέσουμε το LabVIEW θα παρουσιαστεί η παρακάτω οθόνη στην οποία επιλέγουμε να ξεκινήσουμε ένα νέο άδειο VI. Επιλέγουμε δηλαδή New Blank VI. 42

47 3. Θα εμφανιστεί ένα front panel που θα έχει το όνομα Untitled 1 Front Panel. Από το μενού Controls επιλέγουμε το διπλό βέλος που δείχνει προς τα κάτω ώστε να εμφανιστούν όλες οι επιλογές, επιλέγουμε Modern, αμέσως μετά το Graph και τέλος το Waveform Chart. Με το που επιλέξουμε το Waveform Chart θα παρατηρήσουμε ότι μόλις ο κέρσορας του ποντικιού βρεθεί μέσα στα όρια του παραθύρου του front panel, εμφανίζεται το περίγραμμα του οργάνου που επιλέξαμε και έτσι μπορούμε να το τοποθετήσουμε όπου εμείς θέλουμε. Επιλέγουμε να το τοποθετήσουμε στο κέντρο περίπου του front panel. 4. Επιστέφουμε στο μενού Controls και επιλέγουμε Modern, αμέσως μετά Boolean και τέλος το Vertical Toggle Switch. 43

48 Το μετακινούμε δίπλα στο Waveform Chart όπως φαίνεται και στο παρακάτω σχήμα. 5. Πηγαίνουμε με τον κέρσορα του ποντικιού στον αριθμό «10» στο Waveform Chart και τον επιλέγουμε. Η επιλογή φαίνεται από το γεγονός ότι φωτίζεται ο αριθμός. Γράφουμε τώρα τον αριθμό «1» στην θέση του «10» και 44

49 επιβεβαιώνουμε την αλλαγή με <enter> στο πληκτρολόγιο ή με το tick που εμφανίζεται (πρώτο εικονίδιο) στην μπάρα εργαλείων όπως φαίνεται παρακάτω. Με τον ίδιο τρόπο αλλάζουμε και το «-10» σε «0». 6. Πηγαίνουμε τώρα στο μπλοκ διάγραμμα επιλέγοντας το παράθυρο αν αυτό είναι ανοιχτό ή επιλέγοντας Window και από την λίστα που εμφανίζεται το Show Block Diagram. 7. Στο μπλοκ διάγραμμα εμφανίζονται δύο τερματικά. Θέλουμε να τα βάλουμε μέσα σε ένα βρόγχο επανάληψης τύπου Όσο (While loop) έτσι ώστε να γίνεται επανάληψη του τμήματος αυτού, του προγράμματός μας. Κάνουμε δεξί κλικ με το ποντίκι σε άδειο σημείο της επιφάνειας του μπλοκ διαγράμματος έτσι ώστε να εμφανιστεί η λίστα με τις λειτουργίες του LabVIEW και επιλέγουμε με την σειρά: Programming, Structures και τέλος While Loop, όπως στο παρακάτω σχήμα. 45

50 Ο κέρσορας θα αλλάξει σε μορφή που δείχνει ότι είμαστε έτοιμοι να επιλέξουμε ποιες από τις λειτουργίες μας θέλουμε να επαναλαμβάνονται. Αυτό γίνεται δημιουργώντας ένα τετράγωνο που να συμπεριλαμβάνει και τα δύο στοιχεία που υπάρχουν στο μπλοκ διάγραμμα. Κρατώντας έτσι πατημένο το αριστερό πλήκτρο του ποντικιού και σέρνοντας το, δημιουργούμε ένα τετράγωνο γύρο από τα δυο στοιχεία. Η παρακάτω εικόνα δείχνει την μορφή που θα έχει το μπλοκ διάγραμμα αν γίνει σωστά η διαδικασία. Το γκρι περίγραμμα απεικονίζει τον βρόγχο επανάληψης. 8. Επόμενο βήμα είναι να εισάγουμε μια γεννήτρια τυχαίων αριθμών (0-1). Ανοίγουμε και πάλι τις λειτουργίες κάνοντας δεξί κλικ και επιλέγουμε: Programming, Numeric και τέλος Random Number (0-1). Τοποθετώ το Random Number μέσα στο περίγραμμα της επανάληψης και μετακινώ, με την διαδικασία σύρω και αφήνω(drag and drop), όλα τα αντικείμενα ώστε να φαίνονται όπως παρακάτω. 46

51 9. Μένει να συνδέσουμε τα αντικείμενα μεταξύ τους ώστε να ολοκληρωθεί η διάταξη που θέλουμε να φτιάξουμε. Μετακινούμε το ποντίκι πάνω στο εικονίδιο και κοντά στο μικρό βέλος που φαίνεται πάνω σε αυτό. Ο κέρσορας θα αλλάξει σχήμα ώστε να μας δείξει ότι μπορούμε να χρησιμοποιήσουμε το εργαλείο καλωδίωσης. Κάνουμε αριστερό κλικ με το ποντίκι και έτσι δημιουργούμε την αρχή του καλωδίου. Καθώς μετακινούμε το ποντίκι παρατηρούμε ότι δημιουργείτε σιγά σιγά το καλώδιο στα σημεία που περνά ο κέρσορας. Μετακινούμε τον κέρσορα στο εικονίδιο προορισμού πχ το Waveform Chart και κάνουμε κλικ στο μικρό βέλος που υπάρχει και σε αυτό. Αμέσως το καλώδιο γίνεται πορτοκαλί ώστε να μας δείξει ότι η σύνδεση ανάμεσα στα δύο αντικείμενα έχει γίνει σωστά. Μόλις κάνουμε τις απαραίτητες συνδέσεις θα πρέπει να έχουμε δημιουργήσει το παρακάτω σχήμα. Αν γίνει κάποιο λάθος κατά την σύνδεση, μπορούμε να επιλέξουμε το καλώδιο ή το μέρος του καλωδίου που είναι λάθος και με το πλήκτρο <delete> του πληκτρολογίου να το διαγράψουμε και να ξεκινήσουμε από την αρχή. 10. Το VI είναι σχεδόν έτοιμο. Για να τρέξει θα πρέπει ο διακόπτης να είναι σε «ψευδή» κατάσταση. Δηλαδή στην θέση «κάτω». Για να αλλάξουμε την θέση 47

52 του διακόπτη πηγαίνουμε ξανά στο front panel είτε κάνοντας κλικ στο παράθυρο, είτε επιλέγοντας Window και Show Front Panel. Μετακινούμε τον κέρσορα πάνω στον διακόπτη και μόλις αυτός γίνει ένα δάχτυλο που δείχνει, κάνουμε αριστερό κλικ. Αυτό ενεργοποιεί τον διακόπτη φέρνοντάς τον στην «πάνω» θέση. Για να τρέξει το πρόγραμμα, όπως είπαμε και πιο πάνω ο διακόπτης θα πρέπει να είναι στην θέση «κάτω» οπότε κάνουμε ένα ακόμη κλικ για να έρθει στην αρχική του θέση. Είμαστε έτοιμοι να τρέξουμε το πρόγραμμα πιέζοντας το κουμπί Run από την γραμμή εργαλείων στο πάνω μέρος του παραθύρου. 11. Καθώς το πρόγραμμα τρέχει θα εμφανίζονται τυχαίοι αριθμοί οι οποίοι θα εμφανίζονται συνεχόμενα στο γράφημα. Όταν θέλουμε να σταματήσουμε το πρόγραμμα απλά κάνουμε κλικ στον διακόπτη ώστε να έρθει στην «πάνω» θέση. Η συνθήκη τερματισμού μπορεί να αλλάξει έτσι ώστε να τερματίζει το πρόγραμμα όταν ο διακόπτης βρεθεί στην «κάτω» θέση. Αυτό επιτυγχάνεται κάνοντας δεξί κλικ στο εικονίδιο κάτω δεξιά στο περίγραμμα της επανάληψης. Στο μενού που εμφανίζεται επιλέγουμε Continue if True. Το front panel θα είναι όπως παρακάτω μετά από κάποιο χρόνο εκτέλεσης. 48

53 12. Από το μενού File επιλέγουμε το Save για να σώσουμε το VI που μόλις δημιουργήσαμε. Το ονομάζουμε «Random Number.vi». 4.4 Pull-Down μενού Το LabVIEW έχει δύο είδη μενού, αυτά που εμφανίζονται προς τα κάτω όταν επιλέγουμε κάποια από τις επιλογές στην γραμμή μενού, και αυτά που εμφανίζονται κάνοντας δεξί κλικ με το ποντίκι. Σε αυτήν την παράγραφο θα περιγράψουμε τις επιλογές της γραμμής μενού. Μερικές επιλογές χρησιμοποιήθηκαν στο προηγούμενο παράδειγμα. Εδώ θα περιγράψουμε τι κάνει η καθεμιά. Είναι χρήσιμο ο αναγνώστης να τις βλέπει καθώς τις επεξηγούμε. Η γραμμή μενού σε ένα VI έχει αρκετές επιλογές και κάθε μια από αυτές εμφανίζει ακόμη περισσότερες, από κάτω, μόλις επιλεγεί. Αυτά τα μενού περιέχουν αντικείμενα κοινά σε πολλές εφαρμογές, όπως πχ το Open, Save, Copy και Paste, και πολλές άλλες που είναι εξειδικευμένες για το LabVIEW. Πολλά από τα μενού δίνουν και συντομεύσεις πληκτρολογίου που κάνουν κάποιες συχνές εργασίες πιο γρήγορες. Οι συντομεύσεις που φαίνονται παρακάτω αντιστοιχούν σε ένα PC. Σε ένα Mac, οι συντομεύσεις είναι παρόμοιες με την βασική διαφορά ότι το πλήκτρο <control> αντικαθίσταται από το <Command>. Μενού File Επιλέγοντας το File από την γραμμή μενού ανοίγει μια λίστα από εντολές που είναι όμοιες με πολλά άλλα προγράμματα. Εντολές όπως το Save και το Print. Μπορούμε να δημιουργήσουμε καινούρια VIs ή να ανοίξουμε ήδη υπάρχοντα από το μενού File. 49

54 Τέλος, μπορούμε να δούμε τις ιδιότητες ενός VI και να δημιουργήσουμε ένα καινούριο Project. Μενού Edit Το μενού Edit έχει μερικές από τις ποιο συχνά χρησιμοποιούμενες εντολές, που συναντώνται σχεδόν σε όλα τα προγράμματα, όπως οι Cut, Copy και Paste, και εντολές που γενικά επιτρέπουν την επεξεργασία στο ενεργό παράθυρο. Υπάρχουν επιλογές για την στοίχιση των αντικειμένων καθώς και επιλογή που διαγράφει λανθασμένη καλωδίωση η χρησιμότητα της οποίας θα φανεί σύντομα. Τέλος σε αυτό το μενού υπάρχουν οι εξαιρετικά χρήσιμες εντολές Undo και Redo. 50

55 Μενού View Το μενού View περιέχει μια σειρά από επιλογές που έχουν σχέση με διάφορα παράθυρα που εμφανίζονται και βοηθούν τον προγραμματιστή να κάνει ευκολότερα την δουλειά του. Η εντολή Tools Palette και Controls Palette εμφανίζουν παράθυρα με διάφορα εργαλεία και controls έτσι ώστε να μην χρειάζεται ο προγραμματιστής να κάνει συνεχώς δεξί κλικ με το ποντίκι ώστε να εμφανίζονται. Επίσης υπάρχει εντολή που εμφανίζει το παράθυρο με όλα τα λάθη που υπάρχουν στο πρόγραμμα, καθώς και εντολή που εμφανίζει την ιεραρχία και τις σχέσεις μεταξύ των αντικειμένων. Μενού Project Πολλές φορές όταν το πρόγραμμα που υλοποιείτε είναι αρκετά μεγάλο, το χωρίζουμε σε πολλά μικρά κομμάτια με σκοπό και την ευκολότερη διαχείρισή του, αλλά και την επαναχρησιμοποίηση κώδικα όπου αυτό μπορεί να γίνει. Το μενού αυτό βοήθα στον σκοπό αυτό, δίνοντας στον προγραμματιστή μια σειρά από εργαλεία ομαδοποίησης και φιλτραρίσματος κώδικα. Τέλος μπορούμε να δούμε τις ιδιότητες του προγράμματος ή των προγραμμάτων που ανήκουν σε αυτό το Project. 51

56 Μενού Operate Μέσω του μενού Operate μπορούμε να τρέξουμε αλλά και να σταματήσουμε την εκτέλεση ενός προγράμματος. Μπορούμε να αλλάξουμε ανάμεσα στις δύο λειτουργίες του LabVIEW, την λειτουργία επεξεργασίας του προγράμματος, και την λειτουργία της εκτέλεσης. Μενού Tools Το μενού αυτό περιέχει μια σειρά από εργαλεία που βοηθούν και απλοποιούν την σύνδεση του προγράμματος με τα πραγματικά όργανα μέσω οδηγών (drivers), επιλογές που δείχνουν το πόση μνήμη καταναλώνει το πρόγραμμα καθώς και 52

57 επιλογές για την ασφάλεια και εμπιστευτικότητα του κώδικα και γενικά του Project. Τέλος υπάρχει η εντολή που δημιουργεί εκτελέσιμο κώδικα (.EXE) του VI που έχουμε υλοποιήσει. Μενού Window Σε αυτό το μενού βρίσκονται δύο πολύ σημαντικές εντολές. Η Show Block Diagram και Show Front Panel, που μας επιτρέπουν να εναλλάσσουμε τα παράθυρα του μπλοκ διαγράμματος και του front panel αντίστοιχα. Τέλος υπάρχουν εντολές μορφοποίησης και επιλογής των παραθύρων. 53

58 Μενού Help Το μενού βοήθειας είναι και η τελευταία επιλογή στην γραμμή μενού του LabVIEW. Υπάρχουν εντολές για να εμφανιστεί αλλά και να αναζητήσουμε βοήθεια πάνω σε οποιαδήποτε επιλογή του LabVIEW, ακόμη και να ψάξει πηγές από το Internet. Επίσης υπάρχει επιλογή που εμφανίζει επεξήγηση για όποιο λάθος μπορεί να εμφανιστεί στο LabVIEW. Μπορούμε τέλος να πάρουμε πληροφορίες για την έκδοση του LabVIEW που είναι εγκατεστημένη, καθώς και για το πόση μνήμη χρησιμοποιεί. 4.5 Μενού Pop-Up Σε αυτή την παράγραφο θα συζητήσουμε για το δεύτερο είδος μενού του LabVIEW, το μενού pop-up. Το μενού αυτό είναι αυτό που χρησιμοποιείτε περισσότερο στο LabVIEW από οποιοδήποτε άλλο μενού. Για να εμφανιστεί, πηγαίνουμε τον κέρσορα του ποντικιού πάνω από εικονίδιο που θέλουμε, είτε αυτό βρίσκεται στο front panel είτε στο μπλοκ διάγραμμα, και πατούμε το δεξί πλήκτρο του ποντικού. Αν έχουμε Mac αντί για PC η αντίστοιχη ενέργεια γίνεται με <Command> και κλικ. Με αυτόν τον τρόπο εμφανίζεται το μενού. 54

59 Σχεδόν όλα τα αντικείμενα στο LabVIEW, ακόμη και ο άδειος χώρος στο front panel ή στον μπλοκ διάγραμμα, έχουν pop-up μενού με επιλογές και εντολές. Οι επιλογές που θα εμφανιστούν εξαρτώνται από το ίδιο το αντικείμενο. Για παράδειγμα ένα αριθμητικό εργαλείο ελέγχου (control) έχει πολύ διαφορετικό pop-up μενού από ένα δείκτη (indicator) ενός γραφήματος. Είναι, από τώρα, φανερό ότι το pop-up θα είναι το πιο σημαντικό και συχνά χρησιμοποιούμενο μενού. Επιλογές του μενού που εμφανίζουν υπομενού ονομάζονται ιεραρχημένα μενού και ξεχωρίζουν από το δεξί βέλος που έχουν δίπλα τους, όπως φαίνεται στην εικόνα. Πολλές φορές τα ιεραρχημένα μενού έχουν αλληλοαναιρούμενες επιλογές. Σε αυτές τις περιπτώσεις η ενεργή επιλογή ξεχωρίζει από ένα δίπλα από τις επιλογές κειμένου ή ένα πλαίσιο γύρω από τις γραφικές επιλογές. Κάποιες από τις επιλογές εμφανίζουν πλαίσια διαλόγου τα οποία περιέχουν επιλογές που θα πρέπει να ρυθμίσει ο προγραμματιστής. Αυτές οι επιλογές ξεχωρίζουν από τα αποσιωπητικά ( ) που υπάρχουν δίπλα τους. Οι υπόλοιπες επιλογές που δεν έχουν κανένα από τα παραπάνω χαρακτηριστικά είναι συνήθως εντολές οι οποίες ενεργοποιούνται άμεσα. Μια τέτοια εντολή 55

60 εμφανίζεται συνήθως σαν ρήμα, όπως πχ η Change to Indicator. Μόλις η εντολή επιλεγεί, πολλές από αυτές αντικαθιστούνται από τις αντίστροφες εντολές τους. Έτσι η Change to Indicator που αναφέρθηκε, όταν επιλεγεί, στο pop-up αντικαθίσταται από την Change to Control. μενού Πολλές φορές ακόμη και στο ίδιο αντικείμενο υπάρχουν διαφορετικά pop-up μενού ανάλογα με το που θα γίνει το δεξί κλικ. Για παράδειγμα, αν κάνουμε δεξί κλικ στην ετικέτα ενός αντικειμένου θα εμφανιστούν οι επιλογές που αφορούν την ετικέτα και μόνο. Κάνοντας δεξί κλικ οπουδήποτε αλλού πάνω στο ίδιο αντικείμενο θα εμφανιστεί το πλήρες μενού του. Έτσι αν, κάνοντας δεξί κλικ κάπου, δεν εμφανιστεί η επιλογή που θέλαμε, επαναλαμβάνουμε το δεξί κλικ κάπου αλλού πάνω στο ίδιο αντικείμενο. Χρήσιμα χαρακτηριστικά του pop-up μενού Τα pop-up μενού μας επιτρέπουν να διευκρινίσουμε πολλά γνωρίσματα ενός αντικειμένου. Οι επόμενες επιλογές εμφανίζονται σε πάρα πολλά pop-up μενού και έτσι είναι αρκετά χρήσιμο να περιγραφούν. Δεν θα προχωρήσουμε σε μια πλήρη ανάλυση και παρουσίαση όλων των επιλογών που θα μπορούσε να έχει το κάθε αντικείμενο γιατί κάτι τέτοιο είναι σχεδόν αδύνατο στα πλαίσια αυτής της εργασίας, ή ακόμη και στα πλαίσια ενός αναλυτικού συγγράμματος για το LabVIEW. Οι λειτουργίες αυτών τον εντολών επαφίενται στον αναγνώστη. Η παρακάτω εικόνα δίνει ένα χαρακτηριστικό παράδειγμα ενός pop-up μενού. 56

61 Change to Control και Change to Indicator Επιλέγοντας το Change to Control/Change to Indicator αλλάζουμε ένα υπάρχον control (αντικείμενο εισόδου) σε ένα indicator (αντικείμενο εξόδου) ή το αντίστροφο. Όταν ένα αντικείμενο είναι control, το pop-up μενού του έχει την επιλογή, Change to Indicator. Αντίστοιχα, όταν είναι indicator, το pop-up μενού του έχει την επιλογή Change to Control. View as Icon Η επιλογή View as Icon είναι διαθέσιμη μόνο στα αντικείμενα του μπλοκ διαγράμματος. Αν θέλουμε να βλέπουμε το αντικείμενο στην μορφή εικονιδίου τότε η εντολή View as Icon θα πρέπει να είναι ενεργοποιημένη, αν απενεργοποιηθεί τότε το αντικείμενο θα εμφανίζεται με την τερματική του μορφή. Visible Items Πολλά από τα αντικείμενα στο LabVIEW έχουν το ιεραρχημένο μενού Visible Items, το οποίο μπορεί να εμφανίσει ή να κρύψει συγκεκριμένα κοσμητικά πράγματα που 57

62 αφορούν το αντικείμενο, όπως ετικέτες και την μπάρα κύλισης. Επιλέγοντας έτσι το Visible Items, εμφανίζεται ένα ακόμη μενού δίπλα του, το οποίο περιέχει τις επιλογές που μπορούν να εμφανιστούν. Αν κάποια από αυτές τις επιλογές έχει το δίπλα της τότε αυτό που περιγράφει είναι εμφανές στο μπλοκ διάγραμμα ή στο front panel. Αν δεν υπάρχει το μαρκάρισμα τότε είναι κρυμμένο. Επιλέγοντας με το ποντίκι κάποια από αυτές τις επιλογές εναλλάσσεται η εμφάνιση των χαρακτηριστικών αυτών. Data Operations Η επιλογή Data Operations εμφανίζει ένα μενού με χρήσιμες επιλογές έτσι ώστε να μπορούμε να χειριστούμε τα δεδομένα σε ένα control ή indicator. Η εντολή Reinitialize to Default Value επιστρέφει την προεπιλεγμένη τιμή στο αντικείμενο αυτό, καθώς και η εντολή Make Current Value Default ορίζει την υπάρχουσα τιμή ως προεπιλεγμένη. Οι επιλογές Cut Data, Copy Data, και Paste Data επιτρέπουν την εισαγωγή και εξαγωγή δεδομένων στο control ή το indicator. Description and Tip Η εντολή Description and Tip εμφανίζει ένα παράθυρο διαλόγου στο οποίο μπορούμε είτε να γράψουμε είτε να διαβάσουμε την περιγραφή του συγκεκριμένου control ή indicator. Αυτός είναι ένας από τους βολικούς μηχανισμούς τεκμηρίωσης του LabVIEW. Find Control και Find Terminal Με αυτές τις εντολές γίνεται πολύ εύκολη η αντιστοίχηση ενός αντικειμένου από το front panel στο μπλοκ διάγραμμα και το αντίστροφο. Αν βρισκόμαστε στο μπλοκ διάγραμμα, επιλέγοντας το Find Control, εμφανίζεται το front panel και επιλέγεται αυτόματα το αντίστοιχο αντικείμενο. Όμοια, αν επιλέξουμε το Find Terminal στο 58

63 front panel, τότε θα εμφανιστεί το μπλοκ διάγραμμα και θα επιλεγεί αυτόματα το αντίστοιχο αντικείμενο. Properties Η τελευταία επιλογή που θα αναφέρουμε είναι η Properties. Με την συγκεκριμένη επιλογή εμφανίζεται ένα εκτεταμένο παράθυρο διαλόγου με όλες τις ιδιότητες και ρυθμίσεις που μπορούν να γίνουν σε αυτό το αντικείμενο. Είναι ένα βολικό και χρήσιμο μενού μιας και έχει συγκεντρωμένα όλα τα στοιχεία του αντικειμένου. 4.6 Λειτουργία επεξεργασίας και λειτουργία εκτέλεσης Ένα VI μπορεί να βρίσκεται είτε σε λειτουργία επεξεργασίας, η οποία μας επιτρέπει την δημιουργία και αλλαγή ενός VI, είτε σε λειτουργία εκτέλεσης, στην οποία γίνεται εκτέλεση ενός VI. Δεν μπορεί να γίνει καμία επεξεργασία ενός VI εάν βρισκόμαστε σε λειτουργία εκτέλεσης. Για να δώσουμε αντίστοιχο παράδειγμα σε μια κλασσική γλώσσα προγραμματισμού, εάν ένα VI βρίσκεται σε λειτουργία εκτέλεσης, αυτό σημαίνει ότι έχει γίνει η μετάφραση σε κώδικα μηχανής και περιμένει την εντολή του προγραμματιστή για εκτέλεση. Είναι χρήσιμο να γνωρίζουμε ότι το ίδιο αντικείμενο έχει διαφορετικό μενού εάν βρισκόμαστε σε λειτουργία εκτέλεσης και διαφορετικό σε λειτουργία επεξεργασίας. Εάν δεν βρίσκουμε μια συγκεκριμένη επιλογή, αυτό σημαίνει ότι ή δεν υπάρχει για το αντικείμενο αυτό ή χρειάζεται να αλλάξουμε λειτουργία, ή τέλος, να κάνουμε δεξί κλικ σε διαφορετικό μέρος στο αντικείμενό μας. Αν θέλουμε να αλλάξουμε από την λειτουργία επεξεργασίας σε λειτουργία εκτέλεσης, μπορούμε να πατήσουμε το κουμπί εκτέλεσης από την μπάρα εργαλείων (πρώτο εικονίδιο της μπάρας) ή απλά να επιλέξουμε το Change to Edit Mode από το 59

64 μενού Operate. Τέλος ίσως ο πιο εύκολος τρόπος είναι με την συντόμευση πληκτρολογίου <Ctrl>+<M> σε περιβάλλον Windows ή <Cmd>+<M> σε περιβάλλον Mac. Αν βρισκόμαστε σε λειτουργία εκτέλεσης και τρέξουμε το VI, τότε μετά το τέλος της εκτέλεσης θα παραμείνουμε στην λειτουργία εκτέλεσης. Αντίστοιχα, εάν εκτελέσουμε το VI ενώ βρισκόμαστε σε λειτουργία επεξεργασίας, θα γίνει αυτόματα αλλαγή σε λειτουργία εκτέλεσης και μετά το τέλος της θα επιστρέψει σε λειτουργία επεξεργασίας. Εργαλεία Ένα εργαλείο είναι μια ιδιαίτερη λειτουργία του κέρσορα του ποντικιού. Τα εργαλεία χρησιμοποιούνται για συγκεκριμένες λειτουργίες επεξεργασίας, όμοια με τα εργαλεία και τον τρόπο που τα χρησιμοποιούμε σε μια εφαρμογή ζωγραφικής. Για να εμφανιστεί το μενού των εργαλείων επιλέγουμε View από την μπάρα των μενού και από την λίστα που εμφανίζεται επιλέγουμε το Tools Palette. Η παρακάτω εικόνα εμφανίζει το μενού των εργαλείων. 60

65 Μενού εργαλείων Τα εργαλεία που είναι διαθέσιμα κατά την λειτουργία της επεξεργασίας αλλά και κατά την λειτουργία της εκτέλεσης είναι τα εξής: Το εργαλείο αυτόματης επιλογής (Automatic Tool Selection) όπως ονομάζεται είναι ενεργοποιημένο όταν είναι πράσινο και απενεργοποιημένο όταν είναι μαύρο. Εφόσον είναι ενεργοποιημένο ο κέρσορας αλλάζει αυτόματα στο κατάλληλο εργαλείο ανάλογα με την θέση του πάνω στο αντικείμενο ή στην επιφάνεια εργασίας του προγράμματος. Για παράδειγμα, αν το εργαλείο αυτόματης επιλογής είναι ενεργοποιημένο και ο κέρσορας περάσει πάνω από ένα τερματικό ενός αντικειμένου, τότε αυτόματα θα αλλάξει η λειτουργία του κέρσορα στο εργαλείο καλωδίωσης. Το εργαλείο λειτουργίας (Operating Value) χρησιμοποιείτε για την αλλαγή τιμών στα controls του front panel αλλά και στα indicators κατά την λειτουργία επεξεργασίας. Χειρίζεται περιστρεφόμενους διακόπτες, απλούς διακόπτες, καθώς και οποιοδήποτε άλλο αντικείμενο του LabVIEW διαθέτει εργαλείο λειτουργίας, γι αυτό έχει άλλωστε αυτό το όνομα. Είναι το μοναδικό διαθέσιμο εργαλείο κατά την λειτουργία εκτέλεσης. Το εργαλείο τοποθέτησης (Positioning) επιλέγει, μετακινεί και αλλάζει το μέγεθος στα αντικείμενα του LabVIEW. Το εργαλείο αυτό (Labeling) δημιουργεί και επεξεργάζεται τις ετικέτες των αντικειμένων. Το εργαλείο καλωδίωσης (Wiring) ενώνει με καλώδια τα αντικείμενα μεταξύ τους στο μπλοκ διάγραμμα και προσδίδει στα controls και indicators του front panel τερματικά στο connector του VI. 61

66 Το εργαλείο αυτό ονομάζεται συντόμευση μενού αντικειμένου (Object Shortcut menu) και η λειτουργία του είναι να ανοίγει το μενού συντόμευσης ενός αντικειμένου, ή αλλιώς, το pop-up μενού. Το εργαλείο κύλισης παραθύρου (Scroll Window) χρησιμοποιείτε για την κύλιση του παραθύρου προς οποιαδήποτε κατεύθυνση χωρίς να χρησιμοποιούνται οι μπάρες κύλισης. Το εργαλείο αυτό εισάγει σημεία διακοπής εκτέλεσης (Set/Clear Breakpoint) σε VIs, σε λειτουργίες, σε κόμβους, σε καλώδια, σε δομές με αποτέλεσμα την διακοπή του προγράμματος όταν η ροή του φτάσει σε ένα τέτοιο σημείο. Είναι ιδιαίτερα χρήσιμο στην αποσφαλμάτωση. Το εργαλείο ελέγχου (Probe Data) δημιουργεί σημεία ελέγχου τιμών σε καλώδια. Χρησιμοποιείτε για να ελεγχθούν ενδιάμεσες τιμές σε ένα VI εάν αυτές φαίνονται περίεργες ή απροσδόκητες. Το εργαλείο αυτό (Get Color) αντιγράφει το χρώμα από οποιοδήποτε αντικείμενο του LabVIEW έτσι ώστε ακολουθεί. να χρησιμοποιηθεί από το εργαλείο χρωματισμού που Τέλος το εργαλείο χρωματισμού (Set Color) χρησιμοποιείτε για να χρωματίσει το προσκήνιο (foreground) και το υπόβαθρο (background) οποιουδήποτε αντικειμένου του LabVIEW, ακόμη και της επιφάνειας εργασίας. Μπάρα εργαλείων σε λειτουργία επεξεργασίας Η μπάρα εργαλείων σε λειτουργία επεξεργασίας που φαίνεται και παρακάτω είναι σχεδόν όμοια είτε βρισκόμαστε στο μπλοκ διάγραμμα, είτε στο front panel. 62

67 Το πλήκτρο εκτέλεσης (Run), το οποίο μοιάζει με ένα βέλος, ξεκινά την εκτέλεση του VI όταν το επιλέξουμε. Παίρνει την μορφή όταν το πρόγραμμα εκτελείτε. Τέλος όταν το VI δεν μπορεί να μεταφρασθεί σε γλώσσα μηχανής λόγω κάποιου λάθους εμφανίζεται με την μορφή Το πλήκτρο συνεχούς εκτέλεσης (Run Continuously) αναγκάζει το VI να εκτελείτε επαναλαμβανόμενα έως ότου πατηθεί το πλήκτρο τερματισμού εκτέλεσης. Το ανάλογό του σε μια κλασσική γλώσσα προγραμματισμού θα ήταν η εντολή GOTO, οπότε θα ήταν καλό να αποφεύγεται η χρήση της. Το πλήκτρο τερματισμού εκτέλεσης (Abort Execution) είναι εύκολα αναγνωρίσιμο γιατί μοιάζει με μια μικρή πινακίδα STOP, είναι απενεργοποιημένο όταν βρισκόμαστε σε λειτουργία επεξεργασίας και ενεργοποιείτε κατά την λειτουργία εκτέλεσης. Μόλις πατηθεί σταματά αμέσως η εκτέλεση του προγράμματος. Είναι σαν να πατούμε το πλήκτρο <break> στο πληκτρολόγιο, πράγμα που σημαίνει ότι η εκτέλεση σταματά οπουδήποτε μέσα στο πρόγραμμα αντί να σταματήσει αφού έχει ολοκληρωθεί όλη η εκτέλεση του προγράμματος. Έτσι είναι πολύ πιθανό τα δεδομένα να αλλοιωθούν. Είναι, λοιπόν, καλή προγραμματιστική τεχνική να δημιουργεί ο προγραμματιστής κατάλληλες συνθήκες τερματισμού του προγράμματος. Το πλήκτρο παύσης εκτέλεσης (Pause) κάνει ακριβώς αυτό που λέει το όνομά του. Παγώνει την εκτέλεση σε κάποιο σημείο που πιθανόν να μας ενδιαφέρει ώστε να βρούμε πιθανά λάθη. Συνήθως το πλήκτρο αυτό χρησιμοποιείτε σε συνδυασμό με τα πλήκτρα εκτέλεσης μιας και μόνο εντολής, που θα αναλύσουμε παρακάτω, για την αποσφαλμάτωση του προγράμματος. Το πλήκτρο επισήμανσης εκτέλεσης (Execution Highlighting) αναγκάζει το πρόγραμμα κατά την εκτέλεσή του να επισημάνει την ροή των δεδομένων καθώς 63

68 περνούν από το διάγραμμα. Όταν είναι ενεργοποιημένη η εντολή (το εικονίδιο εμφανίζει μια φωτισμένη λάμπα) εμφανίζονται και τα ενδιάμεσα αποτελέσματα στο μπλοκ διάγραμμα που κανονικά δεν θα ήταν εμφανή. Το πλήκτρο διατήρησης τιμών καλωδίου (Retain Wire Values) όταν ενεργοποιηθεί, κρατά την τελευταία τιμή που πέρασε από το καλώδιο. Για να γίνει αυτό θα πρέπει να τοποθετηθεί ένα εργαλείο ελέγχου (Probe) και το πρόγραμμα να εκτελεστεί τουλάχιστον μια φορά, έτσι ώστε να συλλέξει τα δεδομένα. Τα probes με την χρήση αυτής της επιλογής γίνονται πολύτιμα κατά την αποσφαλμάτωση μεγάλων και πολύπλοκων προγραμμάτων. Πατώντας το πλήκτρο «βήμα μέσα» (Step In) ξεκινά η εκτέλεση του προγράμματος ανά βήματα. Ανοίγει τον επόμενο κόμβο και κάνει παύση στην εκτέλεση. Αν ξαναπατηθεί τότε εκτελεί την πρώτη εντολή και ξανακάνει παύση πριν από την επόμενη εντολή. Πατώντας το πλήκτρο «βήμα διαμέσου» (Step Over) εκτελείτε ο επόμενος κόμβος και γίνεται παύση πριν από τον επόμενο κόμβο. Όταν το «βήμα έξω» (Step Out) είναι ενεργοποιημένο σημαίνει ότι βρισκόμαστε κατά την εκτέλεση μέσα σε ένα κόμβο. Αν πατηθεί το πλήκτρο αυτό τότε τελειώνει η εκτέλεση του τρέχοντος κόμβου και αμέσως γίνεται παύση εκτέλεσης. Έτσι το πλήκτρο απενεργοποιείτε διότι δεν βρισκόμαστε πια μέσα στην εκτέλεση κάποιου κόμβου. Με το εργαλείο αυτό μπορούμε να επιλέξουμε την γραμματοσειρά, το μέγεθος, αλλά και το στυλ γραφής όλων των κειμένων που εμφανίζονται στο πρόγραμμα. 64

69 Πατώντας το πλήκτρο της ευθυγράμμισης των αντικειμένων (Align Objects) εμφανίζεται μια λίστα με τις διαφορετικές ευθυγραμμίσεις που μπορούν να γίνουν, όπως η επιλογή πάνω ακμές (Top Edges), που ευθυγραμμίζει όλες τις πάνω ακμές των αντικειμένων, με το αντικείμενο που βρίσκεται τοποθετημένο ψηλότερα από όλα. Το πλήκτρο κατανομής των αντικειμένων (Distribute Objects) λειτουργεί όπως και το προηγούμενο με την διαφορά ότι με αυτό γίνεται ομοιόμορφη κατανομή των αντικειμένων πάνω στην επιφάνεια εργασίας του LabVIEW με διάφορους τρόπους. Όλοι αυτοί οι διαφορετικοί τρόποι εμφανίζονται σε λίστα όπως και στο προηγούμενο πλήκτρο. Καθώς ένα πρόγραμμα γίνεται ολοένα και πιο πολύπλοκο, συχνά θα εμφανίζεται το πρόβλημα ότι διάφορα αντικείμενα μπορεί να αρχίσουν να επικαλύπτουν το ένα το άλλο. Αυτό μπορεί να λυθεί με το πλήκτρο της ανακατανομής (Reorder). Έτσι γίνεται μια μετακίνηση των αντικειμένων σε σχέση με τα υπόλοιπα έτσι ώστε να είναι όλα εμφανή. Το πλήκτρο καθαρισμού του μπλοκ διαγράμματος (Clean Up Diagram) καθαρίζει το διάγραμμα αυτόματα, μετακινώντας και ομαδοποιώντας αντικείμενα, σύμφωνα με τους κανόνες που ορίζει ο προγραμματιστής. Αλλαγές στους κανόνες αυτούς, γίνονται στο πλαίσιο διαλόγου που εμφανίζεται επιλέγοντας Tools και Options. Τέλος το πλήκτρο βοήθειας (Help) εμφανίζει ένα παράθυρο βοήθειας. Για την βοήθεια θα αναφερθούμε εκτενέστερα στην παράγραφο που ακολουθεί. 65

70 4.7 Βοήθεια Το παράθυρο βοήθειας του LabVIEW προσφέρει πολύτιμες πληροφορίες βοήθειας για τις λειτουργίες, τις σταθερές, τα subvis, τα controls και τα indicators. Για να εμφανιστεί το παράθυρο επιλέγουμε Help από την μπάρα εντολών και Show Context Help. Διαφορετικά ενεργοποιείτε και από το πλήκτρο στην μπάρα εργαλείων, αλλά και με την συντόμευση πληκτρολογίου <Ctrl>+<H> σε PC ή <Cmd>+<H> σε Mac. Μπορούμε να μετακινήσουμε το παράθυρο βοήθειας οπουδήποτε στην οθόνη έτσι ώστε να μην εμποδίζει. Η παρακάτω εικόνα εμφανίζει το παράθυρο βοήθειας. Παράθυρο Βοήθειας Καθώς μετακινούμε τον κέρσορα του ποντικιού πάνω από οποιαδήποτε λειτουργία, κόμβο, ή εικονίδιο ενός VI (συμπεριλαμβανομένου και του εικονιδίου του VI που έχουμε ανοιχτό, στο πάνω δεξιά μέρος του παραθύρου του VI), το παράθυρο βοήθειας εμφανίζει το εικονίδιο για την λειτουργία ή το subvi με καλώδια του κατάλληλου τύπου ανάλογα με τα δεδομένα που εισέρχονται στα τερματικά. Τα καλώδια εισόδου έχουν κατεύθυνση προς τα αριστερά, ενώ τα καλώδια εξόδου έχουν κατεύθυνση προς τα δεξιά. Τα ονόματα των τερματικών εμφανίζονται δίπλα από κάθε καλώδιο. Εάν ένα VI έχει κάποια περιγραφή να πηγαίνει μαζί του, τότε και 66

71 αυτή η περιγραφή εμφανίζεται στο παράθυρο βοήθειας. Για μερικά subvis με πολλές εισόδους, το παράθυρο βοήθειας θα εμφανίσει τα ονόματα των εισόδων που θα πρέπει οπωσδήποτε να συνδεθούν, με έντονα γράμματα. Μπορούμε να κλειδώσουμε το παράθυρο βοήθειας έτσι ώστε να μην αλλάζει περιεχόμενο καθώς μετακινούμε τον κέρσορα του ποντικιού, πατώντας στο εικονίδιο της κλειδαριάς. 4.8 SubVIs Για να μπορέσουμε να εκμεταλλευτούμε πλήρως τις δυνατότητες που προσφέρει το LabVIEW θα πρέπει να κατανοήσουμε την ιεραρχική φύση των VIs. Ένα subvi είναι ένα ξεχωριστό πρόγραμμα που χρησιμοποιείτε από κάποιο άλλο. Μόλις δημιουργήσουμε ένα VI, μπορούμε να το χρησιμοποιήσουμε σαν subvi στο μπλοκ διάγραμμα ενός υψηλότερου επιπέδου VI. Το subvi δηλαδή είναι το ανάλογο μιας υπορουτίνας στην γλώσσα C. Όπως ακριβώς δεν υπάρχει όριο στο πόσες υπορουτίνες θα χρησιμοποιήσουμε σε ένα πρόγραμμα της C, έτσι δεν υπάρχει και όριο στον αριθμό των subvis που μπορούμε να χρησιμοποιήσουμε στο LabVIEW. Μπορούμε ακόμη και να καλέσουμε ένα subvi μέσα σε ένα άλλο subvi. Εάν το μπλοκ διάγραμμα έχει πολύ μεγάλο αριθμό από εικονίδια, μπορούμε κάποια από αυτά να τα ομαδοποιήσουμε σε ένα χαμηλότερου επιπέδου VI έτσι ώστε να γίνει απλούστερο το διάγραμμα. Αυτή η λογική του προγραμματισμού σε ενότητες απλοποιεί την αποσφαλμάτωση, την κατανόηση και την τροποποίηση. 67

72 ΠΑΡΑΔΕΙΓΜΑ 2 1. Δημιουργούμε ένα καινούριο VI επιλέγοντας την επιλογή New Blank VI από την αρχική οθόνη του LabVIEW. 2. Αλλάζουμε το μέγεθος των παραθύρων του front panel και του μπλοκ διαγράμματος έτσι ώστε να είναι ορατά και τα δύο, ίσως χρειαστεί να μετακινηθούν τα παράθυρα για να γίνει αυτό. Αν δεν ανοίξει απ ευθείας το παράθυρο του μπλοκ διαγράμματος, το ανοίγουμε επιλέγοντας Window και έπειτα Show Block Diagram. Οι παραπάνω αλλαγές γίνονται με τον κλασσικό τρόπο αλλαγής μεγέθους του εκάστοτε λειτουργικού συστήματος. 3. Εισάγουμε στο front panel ένα Numeric Control, ένα String Control και ένα Boolean Round Light, επιλέγοντάς τα από το μενού των Controls και την κατηγορία Classic και τις υποκατηγορίες Numeric, String & Path και Boolean. Για να ανοίξει το μενού των Controls έχουμε δύο επιλογές. Η πρώτη είναι επιλέγοντας View και Controls Palette, που εμφανίζει μόνιμα ένα παράθυρο με τα controls. Η δεύτερη επιλογή είναι κάνοντας δεξί κλικ στην άδεια επιφάνεια οπότε και πάλι εμφανίζονται τα controls. Αφού ανοίξει το μενού επιλέγουμε το Classic, μετά το Numeric και τέλος το Numeric Control. Με τον ίδιο τρόπο εισάγουμε και τα υπόλοιπα δύο αντικείμενα. Παρατηρούμε ότι το LabVIEW αυτόματα δημιουργεί τα αντίστοιχα τερματικά στο μπλοκ διάγραμμα. Επίσης παρατηρούμε ότι ανάλογα με τον τύπο των δεδομένων που χρησιμοποιεί το κάθε αντικείμενο, το LabVIEW τα χρωματίζει ώστε να είναι εύκολος και γρήγορος ο διαχωρισμός τους. Τα αριθμητικά controls έχουν πορτοκαλί χρώμα, τα strings είναι ροζ και τα Boolean είναι πράσινα. 68

73 4. Για να μπορέσουμε να κατανοήσουμε περισσότερο τις διαφορές μεταξύ ενός control και ενός indicator καθώς και τον τρόπο που το LabVIEW τα διαχωρίζει, κάνουμε δεξί κλικ με το ποντίκι πάνω στο Numeric Control και επιλέγουμε Change to Indicator. Παρατηρούμε το πώς αλλάζει η εμφάνιση του εικονιδίου στο front panel (εξαφανίζονται τα δύο βέλη). Επίσης παρατηρούμε ότι και στο μπλοκ διάγραμμα αλλάζει η εμφάνιση του τερματικού. 5. Επιλέγοντας το Operate και Change to Run Mode παρατηρούμε τις αλλαγές στα μενού και τις επιλογές που έχουμε στην διάθεσή μας. Επιλέγουμε Operate και Change to Edit Mode για να επιστέψουμε πίσω στην λειτουργία επεξεργασίας. 6. Επιλέγουμε με τον κέρσορα του ποντικιού με την σειρά τα αντικείμενα του front panel και πατώντας το πλήκτρο <delete> στο πληκτρολόγιο, τα διαγράφουμε. 69

74 7. Έχοντας και πάλι άδεια επιφάνεια εργασίας, προσθέτουμε με τον ίδιο τρόπο όπως και πριν, ένα Numeric Control, ανοίγοντας τα controls και επιλέγοντας με την σειρά, Classic, Numeric, και Numeric Control. Αν δεν κάνουμε κλικ οπουδήποτε αλλού, θα υπάρχει ένα μικρό πλαίσιο ακριβώς πάνω από το control. Κάνοντας κλικ μέσα στο πλαίσιο αυτό, γράφουμε Number 1 και πατώντας το στην μπάρα εργαλείων, θα δούμε το κείμενο να εμφανίζεται μέσα στο πλαίσιο. Μόλις φτιάξαμε μια ετικέτα. Με τον ίδιο τρόπο εισάγουμε ένα ακόμη Numeric Control που το ονομάζουμε Number 2, καθώς και ένα Numeric Indicator που το ονομάζουμε N1+N2. Χρησιμοποιώντας το εργαλείο λειτουργίας (Operating tool) κάνουμε κλικ στο βέλος που δείχνει προς τα πάνω έτσι ώστε το control Number 1 να γίνει «4» και το Number 2 να γίνει «3». 8. Επιστρέφοντας πίσω στο μπλοκ διάγραμμα, εισάγουμε την λειτουργία της πρόσθεσης (Add) από το μενού λειτουργιών. Κάνουμε δηλαδή δεξί κλικ στην άδεια επιφάνεια του διαγράμματος, επιλέγουμε Programming, Numeric και τέλος Add. 9. Κάνοντας δεξί κλικ στο εικονίδιο την πρόσθεσης και επιλέγοντας Visible Items και Terminals εμφανίζονται οι τερματικές ακίδες και φαίνεται ο τρόπος που κατανέμονται οι είσοδοι και η έξοδος πάνω στο εικονίδιο. Με τις ίδιες εντολές εμφανίζουμε και πάλι το εικονίδιο της πρόσθεσης. 10. Εμφανίζουμε το μενού βοήθειας επιλέγοντας το Help από την γραμμή μενού και την εντολή Show Context Help. Μετακινούμε τον κέρσορα του ποντικιού πάνω από την λειτουργία της πρόσθεσης. Έτσι το παράθυρο βοήθειας μας δίνει 70

75 πολύτιμες πληροφορίες για την λειτουργία της πρόσθεσης καθώς και για τον τρόπο που πρέπει να συνδέσουμε τα καλώδια ώστε να λειτουργεί σωστά. 11. Μπορούμε να μετακινήσουμε τα εικονίδια επιλέγοντας τα και μετακινώντας τα στην καινούργια τους θέση, έτσι ώστε να κάνουμε ευκολότερη και περισσότερο κατανοητή την σύνδεση των τερματικών μεταξύ τους. Χρησιμοποιούμε τώρα το εργαλείο καλωδίωσης ώστε να τα συνδέσουμε. Μετακινούμε τον κέρσορα του ποντικιού πάνω στο εικονίδιο Number 1 και στο μικρό βέλος που φαίνεται πάνω στο εικονίδιο. Αμέσως ο κέρσορας αλλάζει στην μορφή του εργαλείου καλωδίωσης. Κάνουμε κλικ εκεί και έτσι δημιουργείτε η αρχή του καλωδίου. Μετακινούμε το ποντίκι πάνω στην λειτουργία της πρόσθεσης. Παρατηρούμε ότι αμέσως εμφανίζονται όλες οι τερματικές ακίδες (Pins) της λειτουργίας έτσι ώστε να μπορούμε να επιλέξουμε την κατάλληλη. Σε αυτήν την περίπτωση η σωστή ακίδα είναι η πάνω αριστερά. Κάνουμε κλικ και αμέσως παρατηρούμε ότι έχει δημιουργηθεί ένα καλώδιο που συνδέει τα δύο τερματικά. Με τον ίδιο τρόπο ολοκληρώνουμε τις υπόλοιπες συνδέσεις έτσι ώστε το αποτέλεσμα να μοιάζει με την παρακάτω εικόνα. 12. Επιστρέφουμε στο front panel και κάνουμε δεξί κλικ στον χώρου του εικονιδίου στην άκρη της γραμμής μενού και επιλέγουμε το Show Connector από το 71

76 μενού που εμφανίζεται. Μπορούμε να παρατηρήσουμε το τερματικό που εμφανίζεται. Κάνουμε ξανά δεξί κλικ στο τερματικό για να δούμε τις επιλογές που εμφανίζονται και επιλέγουμε το Show Icon. 13. Τρέχουμε το πρόγραμμα επιλέγοντας το πλήκτρο εκτέλεσης (run). Το N1+N2 θα πρέπει να έχει την τιμή Αποθηκεύουμε το πρόγραμμα επιλέγοντας Save από το μενού File και το ονομάζουμε Add.vi 72

77 ΚΕΦΑΛΑΙΟ 5 Τα θεμέλια του LabVIEW 5.1 Τα βασικά εργαλεία ελέγχου (Controls), οι δείκτες (Indicators) και οι δυνατότητές τους Το LabVIEW έχει τέσσερις απλούς τύπους εργαλείων ελέγχου και δεικτών: αριθμητικά (numeric), Boolean, string χαρακτήρων και path που χρησιμοποιούνται ελάχιστα. Επίσης θα συναντήσουμε και ποιο πολύπλοκους τύπους δεδομένων όπως οι πίνακες (arrays), τομείς (clusters), διαγράμματα (charts), γραφήματα (graph) για τα οποία θα γίνει ανάλυση αργότερα. Αριθμητικά Controls και Indicators Τα αριθμητικά controls μας επιτρέπουν να εισάγουμε αριθμητικές τιμές στα προγράμματα, ενώ τα αριθμητικά indicators εμφανίζουν τις αριθμητικές τιμές που θέλουμε να δούμε. To LabVIEW έχει πολλούς τύπους αριθμητικών αντικειμένων οι οποίοι φαίνονται στην παρακάτω εικόνα: περιστρεφόμενοι διακόπτες (knobs), συρόμενοι διακόπτες (slides), δεξαμενές (tanks), θερμόμετρα και φυσικά και η απλή ψηφιακή ένδειξη. Όλα αυτά μπορούν είτε να είναι controls είτε indicators, αν και 73

78 κάθε τύπος έχει την δική του προεπιλογή. Για παράδειγμα, ένα θερμόμετρο έχει σαν προεπιλογή να είναι indicator γιατί το ποιο πιθανό είναι να χρησιμοποιηθεί σαν δείκτης, δηλαδή σαν έξοδος. Αντίθετα, ένας περιστρεφόμενος διακόπτης, στο front panel, εμφανίζεται με προεπιλογή σαν εργαλείο ελέγχου μιας και είναι συνήθως συσκευή εισόδου. Αριθμητικά Αντικείμενα Τα αριθμητικά τερματικά στο μπλοκ διάγραμμα εμφανίζονται με πορτοκαλί πλαίσιο και τα καλώδια που μεταφέρουν αριθμητικά δεδομένα είναι και αυτά πορτοκαλί. Όπως γίνεται σε όλα τα αντικείμενα του LabVIEW έτσι και στα αριθμητικά controls ή indicators κάνοντας δεξί κλικ πάνω στο αντικείμενο εμφανίζεται μενού με όλες τις επιλογές που αφορά στο συγκεκριμένο control/indicator. Μπορούμε να καθορίσουμε την μορφή και την ακρίβεια της αριθμητικής ένδειξης από αυτό το μενού επιλέγοντας το Display Format. Εμφανίζεται ένα πλαίσιο διαλόγου, όπου μπορούμε να επιλέξουμε την επιστημονική μορφή παρουσίασης, την μορφή κινητής υποδιαστολής, την αυτόματη επιλογή μορφής, ή τέλος, την μορφή του γνωστού συστήματος SI. Μπορούμε, επίσης, να καθορίσουμε τα ψηφία ακρίβειας των αριθμών (δηλαδή τον αριθμό των δεκαδικών ψηφίων που ακολουθούν μετά την υποδιαστολή). Στα πιο πολύπλοκα αντικείμενα μπορούμε να εμφανίσουμε μια ψηφιακή ένδειξη με την ακριβή τιμή που παίρνει το αντικείμενό μας, κάνοντας δεξί κλικ και επιλέγοντας Visible Items και Digital Display. 74

79 Ένας ειδικός τύπος αριθμητικού αντικειμένου είναι το Text Ring. Στην ουσία αυτό που κάνει είναι να αντιστοιχίζει κείμενο σε αριθμούς. Εισάγοντας κείμενο στο αντικείμενο αυτό, αντιστοιχίζεται με κάποιον αριθμό (μηδέν για το πρώτο κείμενο, ένα για το επόμενο, κτλ) Μπορεί κανείς να δει αυτούς του αριθμούς επιλέγοντας Visible Items και Digital Display, ακριβώς, δηλαδή, με τον ίδιο τρόπο όπως και στα υπόλοιπα αντικείμενα. Αν θέλουμε να εισάγουμε αριθμούς με τα αντίστοιχα μηνύματά τους τότε θα πρέπει από το μενού που εμφανίζεται με δεξί κλικ να επιλέξουμε Edit Items. Εμφανίζεται ένα παράθυρο διαλόγου στο οποίο πατώντας το πλήκτρο εισαγωγής δεδομένων (Insert) μας επιτρέπει να γράψουμε το κείμενο το οποίο αντιστοιχίζει αυτόματα στον αριθμό μηδέν. Το πλήκτρο διαγραφής (delete) σβήνει το επιλεγμένο μήνυμα και τέλος τα πλήκτρα μετακίνησης πάνω ή κάτω (Move Up/Down) μετακινούν και αντιστοιχίζουν το επιλεγμένο μήνυμα σε μικρότερο ή μεγαλύτερο αριθμό. Κάνοντας κλικ με τον κέρσορα του ποντικιού στο Text Ring εμφανίζεται μια λίστα με όλες τις επιλογές, έχοντας την επιλεγμένη με ένα. Τα Text Rings είναι χρήσιμα εάν θέλουμε ο χρήστης να μπορεί να διαλέγει μέσα από επιλογές (όπως AC, DC, Ohms), τα οποία θα αντιστοιχίζονται σε αριθμητικές τιμές στο μπλοκ διάγραμμα. Για να εισάγουμε ένα Text Ring από το μενού των controls επιλέγουμε Classic, Classic Ring & Enum και Text Ring. Booleans Boolean ονομάζονται οι καταστάσεις του τύπου On ή Off. Έτσι τα δεδομένα μπορούν να βρίσκονται σε δύο καταστάσεις: να είναι αληθής ή να είναι ψευδής. Στο LabVIEW υπάρχει ένας τεράστιος αριθμός από διακόπτες, LEDs, κουμπιά για Boolean controls και indicators. Μπορούμε πολύ εύκολα να αλλάξουμε την κατάσταση ενός 75

80 Boolean κάνοντας κλικ σε αυτό με το εργαλείο λειτουργίας. Όπως και στα αριθμητικά, κάθε τύπος Boolean έχει και τον δικό του προεπιλεγμένο τύπο, βασιζόμενο ως τι είναι πιθανότερο να χρησιμοποιηθεί. Για παράδειγμα οι διακόπτες εμφανίζονται σαν controls, ενώ τα LEDs σαν indicators. Εμφάνιση στο Front Panel Τα εικονίδια στο μπλοκ διάγραμμα εμφανίζονται με πράσινο πλαίσιο και είναι παχύ εάν είναι control, ή λεπτό εάν είναι indicator, όπως φαίνεται και στην παρακάτω εικόνα. Εμφάνιση στο μπλοκ διάγραμμα Τα κουμπιά με όνομα (στην παραπάνω εικόνα το Boolean 5) είναι τεσσάρων τύπων στο LabVIEW. Τα στρογγυλά, τα τετράγωνα, τα παραλληλόγραμμα και τα στενόμακρα. Το κείμενο που εμφανίζουν είναι απλά ενημερωτικό για τον χρήστη. Κάθε τέτοιο κουμπί μπορεί να έχει δύο μηνύματα κειμένου: ένα για την κατάσταση ΑΛΛΗΘΕΙΑΣ και ένα για την ΨΕΥΔΗ κατάσταση. Με την εισαγωγή του κουμπιού αυτού στο πρόγραμμά μας, η ΑΛΛΗΘΗΣ κατάσταση εμφανίζει το ON ενώ η ΨΕΥΔΗΣ κατάσταση εμφανίζει το OFF. Μπορούμε πολύ εύκολα να αλλάξουμε αυτά τα μηνύματα χρησιμοποιώντας το εργαλείο επεξεργασίας ετικετών. Τέλος, στο μενού που εμφανίζεται με δεξί κλικ σε ένα control, υπάρχει η πολύ σημαντική επιλογή Mechanical Action, με την οποία μπορούμε να επιλέξουμε τον 76

81 τρόπο που θα συμπεριφέρεται, όταν κάνουμε κλικ πάνω του. Περισσότερες λεπτομέρειες θα δοθούν στο κεφάλαιο 9. Strings Τα controls και indicators τύπου string περιέχουν δεδομένα σε μορφή ASCII, που είναι ο τυπικός τρόπος αποθήκευσης αλφαριθμητικών χαρακτήρων. Επιτρέπουν την εμφάνιση μηνυμάτων κειμένου. Τα τερματικά τύπου string καθώς και τα καλώδια που μεταφέρουν δεδομένα τύπου string, εμφανίζονται με ροζ χρώμα στο μπλοκ διάγραμμα. Το τερματικό στο διάγραμμα μπλοκ εμφανίζεται με τα γράμματα abc. Πρέπει να δοθεί προσοχή στο γεγονός ότι τα controls ή indicators τύπου string μπορούν να περιέχουν αριθμητικούς χαρακτήρες, όμως ΔΕΝ μπορούν να περιέχουν αριθμητικά δεδομένα. Έτσι είναι αδύνατο να γίνουν αριθμητικές πράξεις σε δεδομένα string, με άλλα λόγια, δεν μπορούμε να προσθέσουμε για παράδειγμα τον χαρακτήρα ASCII 5 όπως ακριβώς δεν μπορούμε να προσθέσουμε τον χαρακτήρα A. Αν για οποιοδήποτε λόγω, χρειαστεί να χρησιμοποιηθεί αριθμητική πληροφορία που βρίσκεται μέσα σε string, τότε θα πρέπει να την μετατρέψουμε σε αριθμητικά δεδομένα, με τις κατάλληλες λειτουργίες που διαθέτει για τον σκοπό αυτό, το LabVIEW. Τα controls και indicators τύπου string είναι σχετικά απλά και έχουν λίγες ειδικές επιλογές. Αν επιλέξουμε το Show Scrollbar από το μενού που εμφανίζεται με δεξί κλικ και βρίσκεται στο υπομενού Visible Items, εμφανίζεται μια κατακόρυφη μπάρα κύλισης. Η μπάρα αυτή είναι χρήσιμη γιατί μπορεί να εξοικονομήσει χώρο στο front panel αν το string control ή indicator περιέχει κάποιο μεγάλο κείμενο. Για να 77

82 εμφανιστεί η μπάρα κύλισης θα πρέπει να μεγαλώσουμε το αντικείμενο όσο χρειάζεται για να εμφανιστεί. Μπορούμε να εισάγουμε σε ένα string χαρακτήρες οι οποίοι δεν εμφανίζονται. Έτσι εάν επιλέξουμε \ Code Display (αντί για το Normal Menu) από το μενού που εμφανίζεται με δεξί κλικ, το LabVIEW θα μεταφράζει τους χαρακτήρες που ακολουθούν μετά τον χαρακτήρα \ (ή αλλιώς backslash) σαν μη εμφανίσιμους χαρακτήρες. Ο παρακάτω πίνακας δείχνει πως το LabVIEW μεταφράζει αυτούς τους χαρακτήρες. LabVIEW \ Codes Κώδικας Μετάφραση του LabVIEW \00 - \FF Δεκαεξαδική τιμή ενός 8bit χαρακτήρα (αλφαβητικές τιμές σε κεφαλαία) \b Backspace (ASCII BS, ισοδύναμο με \08) \f Formfeed (ASCII FF, ισοδύναμο με \0C) \n New Line (ASCII LF, ισοδύναμο με \0A) \r Return (ASCII CR, ισοδύναμο με \0D) \t Tab (ASCII HT, ισοδύναμο με \09) \s Space (ισοδύναμο με \20) \\ Backslash (ASCII \, ισοδύναμο με \5C) Για τους δεκαεξαδικούς αριθμούς θα πρέπει οπωσδήποτε να χρησιμοποιηθούν κεφαλαία γράμματα, και πεζά για τους ειδικούς χαρακτήρες όπως το formfeed και το backslash. Το LabVIEW μεταφράζει την ακολουθία χαρακτήρων \BFar σαν τον δεκαεξαδικό BF ακολουθούμενο από την λέξη ar, ενώ μεταφράζει το \bfar και \bfar σαν τον ειδικό χαρακτήρα backspace ακολουθούμενο από τις λέξεις Far και far 78

83 αντίστοιχα. Στην ακολουθία χαρακτήρων \Bfar, το \B δεν είναι ο κώδικας για τον ειδικό χαρακτήρα backspace, γιατί είναι κεφαλαίο, ενώ και το \Bf δεν είναι δεκαεξαδικός αριθμός, καθώς δεν είναι και οι δύο χαρακτήρες κεφαλαίοι. Σε αυτήν την περίπτωση, όταν το \ ακολουθεί ένα μέρος μόνο ενός δεκαεξαδικού αριθμού, το LabVIEW υποθέτει ένα μηδενικό ακολουθεί τον χαρακτήρα \, και έτσι το LabVIEW μεταφράζει το \B σαν το δεκαεξαδικό 0B. Σε οποιαδήποτε άλλη περίπτωση που ο χαρακτήρας \ δεν ακολουθείτε από κάποιο γνωστό κώδικα χαρακτήρων, το LabVIEW αγνοεί τον χαρακτήρα \. Ένας άλλος τρόπος εμφάνισης είναι η Password Display ή αλλιώς εμφάνιση κωδικού. Επιλέγοντας την από το μενού του δεξιού κλικ, όλοι οι χαρακτήρες που εισάγονται σε ένα string εμφανίζονται σαν αστερίσκοι, ακόμη και τα κενά που αφήνουμε. Όταν διαβάζουμε τα δεδομένα τύπου string στο μπλοκ διάγραμμα, τότε διαβάζονται τα σωστά δεδομένα που έχει εισάγει ο χρήστης. Αν όμως προσπαθήσουμε να αντιγράψουμε τα δεδομένα από το control αυτό, θα αντιγραφούν μόνο αστερίσκοι (*). Ο τελευταίος τρόπος εμφάνισης είναι ο Hex Display (εμφάνιση δεκαεξαδικής μορφής). Ενεργοποιείτε και αυτό από το μενού του δεξιού κλικ και εμφανίζει όλους τους χαρακτήρες που έχουν εισαχθεί σε δεκαεξαδική μορφή αντί για τους ίδιους τους χαρακτήρες. Η δεκαεξαδική εμφάνιση των χαρακτήρων είναι ιδιαίτερα χρήσιμη στην αποσφαλμάτωση και στην επικοινωνία με διάφορα μετρητικά όργανα. Εάν θέλουμε μπορούμε να περιορίσουμε το αντικείμενο string ώστε το κείμενο που εισάγουμε να καταλαμβάνει μόνο μία σειρά. Αυτό γίνεται επιλέγοντας Limit to Single Line από το μενού του δεξιού κλικ. Έτσι ενώ πληκτρολογούμε το κείμενο, αν πατήσουμε το <enter> αντί να μεταφερθούμε σε καινούρια γραμμή ώστε να γράψουμε και άλλο, θα γίνει εισαγωγή του κειμένου στο string. 79

84 Τέλος με την επιλογή Enable Wrapping του μενού του δεξιού κλικ, μπορούμε να απενεργοποιήσουμε (η προεπιλεγμένη κατάσταση είναι η ενεργοποιημένη) την λειτουργία word wrap. Όταν η λειτουργία είναι ενεργοποιημένη οι χαρακτήρες που εισάγουμε όταν φτάσουν στο όριο του πλαισίου συνεχίζουν σε νέα γραμμή, ενώ σε περίπτωση που την απενεργοποιήσουμε συνεχίζουν στην ίδια γραμμή έως ότου εισάγουμε νέα γραμμή με το πλήκτρο <enter>. Στην δεύτερη περίπτωση μπορούμε επιλέγοντας Visible Items και Horizontal Scrollbar, να ενεργοποιήσουμε την οριζόντια μπάρα κύλισης έτσι ώστε να μπορούμε να διαβάσουμε όλο το κείμενο που έχει εισαχθεί στην γραμμή. Όλα τα παραπάνω προϋποθέτουν ότι βρισκόμαστε στην κανονική εμφάνιση (Normal Display). Paths Τα controls και indicators τύπου Path χρησιμοποιούνται για να εμφανίζουν τις διαδρομές αρχείων, φακέλων, ή καταλόγων. Αν η λειτουργία που υποτίθεται ότι επιστρέφει μια διαδρομή αποτύχει τότε θα επιστρέψει την ένδειξη <Not A Path> στο indicator. Το Path είναι ένας ξεχωριστός τύπος δεδομένων, και το τερματικό του καθώς και τα καλώδια που μεταφέρουν τέτοιου είδους δεδομένα, έχουν γαλαζοπράσινο χρώμα στο μπλοκ διάγραμμα. Μια διαδρομή (Path) αποτελείται, από όνομα του δίσκου ακολουθούμενο από το όνομα του φακέλου ή καταλόγου, και τέλος από το όνομα του ίδιου του αρχείου. Σε ένα PC με λειτουργικό σύστημα Windows τα ονόματα του δίσκου, του φακέλου και του αρχείου διαχωρίζονται από τον χαρακτήρα \, ενώ σε ένα Mac από τον χαρακτήρα :. Windows PC 80

85 Περίληψη των Βασικών Controls και Indicators Τα αριθμητικά περιέχουν αριθμητικά δεδομένα. Τα Boolean έχουν μια από τις δύο καταστάσεις αληθή και ψευδή, μηδέν και ένα. Τα Strings περιέχουν δεδομένα τύπου ASCII. Παρόλο που μπορούν να περιέχουν αριθμητικούς χαρακτήρες (όπως 0-9), θα πρέπει πρώτα να μετατρέπουμε τα δεδομένα string σε αριθμητικά δεδομένα αν θέλουμε να κάνουμε οποιαδήποτε πράξη με αυτά. Τα Path μας δίνουν έναν τύπο δεδομένων ανεξάρτητο από την πλατφόρμα στην οποία τρέχουν και είναι ειδικά για να μας δίνουν διαδρομές αρχείων στο σύστημα του εκάστοτε λειτουργικού. 5.2 Δημιουργώντας VIs Έχοντας τελειώσει με τα βασικά του περιβάλλοντος του LabVIEW, ήρθε η ώρα να δείξουμε πως ακριβώς δημιουργούμε δικά μας VIs. Ακολουθώντας τις οδηγίες στον υπολογιστή καθώς τις διαβάζουμε θα μας επιτρέψει την καλύτερη και γρηγορότερη κατανόηση, και εμβάθυνση στις τεχνικές. Εισάγοντας Αντικείμενα στο Front Panel Αρχίζουμε εισάγοντας στο front panel controls και indicators έτσι ώστε να καθορίσουμε τις εισόδους και εξόδους του προγράμματος. Μπορούμε να εισάγουμε τα αντικείμενα από το μενού των Controls είτε από την μπάρα μενού, είτε με δεξί κλικ στην άδεια επιφάνεια εργασίας. Αμέσως μετά επιλέγουμε το αντικείμενο που θέλουμε με το ποντίκι. Η παρακάτω εικόνα δείχνει ένα αντικείμενο να επιλέγεται. 81

86 Ξεκινώντας το LabVIEW επιλέγουμε New Blank VI. Εισάγουμε ένα numeric control στο front panel. Αμέσως στο μπλοκ διάγραμμα εμφανίζεται το αντίστοιχο τερματικό του αντικειμένου που μόλις εισάγαμε. Θα ήταν ίσως χρήσιμο να επιλέξουμε Tile Left and Right από το μενού Window έτσι ώστε να είναι ορατά και το front panel και το μπλοκ διάγραμμα την ίδια στιγμή. Ονομάζοντας τα Αντικείμενα Οι ετικέτες είναι τμήματα κειμένου τα οποία σχολιάζουν τα αντικείμενα του front panel και του μπλοκ διαγράμματος. Ένα αντικείμενο που εμφανίζεται για πρώτη φορά στο front panel, έχει προεπιλεγμένη την ετικέτα του και έτσι εμφανίζεται με ένα μαύρο παραλληλόγραμμο. Μπορούμε άμεσα να αλλάξουμε το όνομα του ή να γράψουμε οτιδήποτε άλλο, απλά πληκτρολογώντας αμέσως το κείμενο. Αφού τελειώσουμε με την εισαγωγή του κειμένου στην ετικέτα, οποιοδήποτε από τα παρακάτω θα ολοκληρώσει την εγγραφή: Πατώντας <Ctrl+Enter> Πατώντας <Enter> από το αριθμητικό πληκρολόγιο Κάνοντας κλικ στο εργαλείο εισαγωγής στην μπάρα των εργαλείων Κάνοντας κλικ έξω από την ετικέτα 82

87 Η ετικέτα εμφανίζεται και στο τερματικό του μπλοκ διαγράμματος, αλλά και στο αντικείμενο του front panel. Το LabVIEW έχει δύο είδη ετικετών: τις ιδιόκτητες και τις ελεύθερες. Οι ιδιόκτητες ετικέτες ανήκουν σε κάποιο συγκεκριμένο αντικείμενο και μετακινούνται μαζί με αυτό. Οι ιδιόκτητες ετικέτες αναφέρονται μόνο στο αντικείμενο στο οποίο ανήκουν. Όταν δημιουργείτε ένα control ή indicator στο front panel, το συνοδεύει μια άδεια ιδιόκτητη ετικέτα, η οποία περιμένει να εισάγουμε κάποιο κείμενο. Αυτή η ετικέτα παίρνει αυτόματα μια προεπιλεγμένη τιμή, αν δεν εισάγουμε τίποτε, πριν κάνουμε κλικ με το ποντίκι οπουδήποτε αλλού. Επιλέγοντας Visible Items Label από το μενού του δεξιού κλικ του αντικειμένου, μπορούμε να δημιουργήσουμε ή να αλλάξουμε μια ετικέτα η οποία δεν είναι ορατή. Μπορούμε να την αποκρύψουμε, αλλά δεν μπορούμε να την αντιγράψουμε ή να την διαγράψουμε ανεξάρτητα από το αντικείμενο στο οποίο ανήκει. Ας ονομάσουμε το numeric control που μόλις δημιουργήσαμε ως Number 1. 83

88 Οι ελεύθερες ετικέτες δεν είναι συνδεμένες με κάποιο αντικείμενο, και έτσι μπορούμε να τις μετακινούμε, να τις δημιουργούμε και να τις διαγράψουμε ανεξάρτητα. Χρησιμεύουν στον σχολιασμό των panels και των διαγραμμάτων. Με το εργαλείο επεξεργασίας ετικετών (Labeling tool) μπορούμε να δημιουργήσουμε ανεξάρτητες ετικέτες, αλλά και να επεξεργαστούμε και τα δύο είδη των ετικετών. Για να δημιουργήσουμε μια ελεύθερη ετικέτα, επιλέγουμε το εργαλείο επεξεργασίας ετικετών από το μενού των εργαλείων και κάνουμε κλικ οπουδήποτε πάνω στην άδεια επιφάνεια. Εμφανίζεται ένα μικρό άσπρο πλαίσιο με τον κέρσορα του κειμένου στο αριστερό περιθώριο, να περιμένει να εισάγουμε κείμενο. Πληκτρολογούμε το κείμενο που θέλουμε να εμφανίζεται στην ετικέτα. Το πλήκτρο εισαγωγή εμφανίζεται στην μπάρα εργαλείων για να μας θυμίσει να τελειώσουμε την εισαγωγή κειμένου, το οποίο μπορούμε να κάνουμε κάνοντας κλικ στο εικονίδιο αυτό, πατώντας <ctrl+enter>, πατώντας <enter> στο αριθμητικό πληκτρολόγιο, ή τέλος κάνοντας κλικ οπουδήποτε αλλού. Ας δημιουργήσουμε μια ελεύθερη ετικέτα που να εμφανίζει την λέξη Program. Να σημειωθεί ότι τα υποπρογράμματα (subvis) δεν έχουν ετικέτες. Έχουν ονόματα, που μοιάζουν πάρα πολύ με τις ετικέτες, αλλά δεν μπορούμε να τα αλλάξουμε. Οι ετικέτες των λειτουργιών, από την άλλη μεριά, είναι άδειες έτσι ώστε να τις αλλάξουμε και να αντικατοπτρίζουν την λειτουργία που εκτελούν στο μπλοκ διάγραμμα. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε την ετικέτα της λειτουργίας της πρόσθεσης, έτσι ώστε να εμφανίζει τις ποσότητες που αθροίζονται, ή για ποιο λόγω αθροίζονται στο συγκεκριμένο σημείο, στο μπλοκ διάγραμμα. Αλλαγή Γραμματοσειράς, Στυλ, Μεγέθους και Χρώματος του Κειμένου Μπορούμε να αλλάξουμε τις ιδιότητες του κειμένου στο LabVIEW χρησιμοποιώντας το εργαλείο επιλογών γραμματοσειράς. Αν έχουμε επιλέξει 84

89 αντικείμενα ή κείμενο, και αμέσως μετά κάνουμε οποιαδήποτε αλλαγή με αυτό το εργαλείο, η αλλαγή αυτή θα γίνει σε όλα τα επιλεγμένα αντικείμενα. Αν τίποτε δεν είναι επιλεγμένο, οι αλλαγές γίνονται στην προεπιλεγμένη γραμματοσειρά και θα εμφανίζονται στο εξής σε καινούρια αντικείμενα ή κείμενο. Ας αλλάξουμε την γραμματοσειρά στην λέξη Program έτσι ώστε να γίνει 18 σημείων. Τοποθέτηση Αντικειμένων στο Μπλοκ Διάγραμμα Ένα περιβάλλον χρήσης δεν είναι αρκετό από μόνο του αν δεν υπάρχει το πρόγραμμα για να το υποστηρίξει. Έτσι δημιουργούμε το πρόγραμμα τοποθετώντας λειτουργίες, subvis, και δομές στο μπλοκ διάγραμμα. Για να το κάνουμε αυτό, ανοίγουμε το μενού των λειτουργιών είτε από την μπάρα μενού View Functions Palette, είτε κάνοντας δεξί κλικ στην επιφάνεια εργασίας του LabVIEW. Επιλέγουμε το αντικείμενο που θέλουμε και θα εμφανιστεί στο διάγραμμα. Όπως και στο front panel, έτσι και στο μπλοκ διάγραμμα, τα αντικείμενα εμφανίζονται στο σημείο που κάναμε δεξί κλικ. Εισάγουμε την λειτουργία της πρόσθεσης (Add) από την Μαθηματική παλέτα (Mathematics Palette) του μενού των λειτουργιών. Τεχνικές Επεξεργασίας Μόλις έχουμε μερικά αντικείμενα στα παράθυρα του προγράμματός μας, θα θέλουμε να μπορούμε να μετακινούμε, να τα αντιγράφουμε, να τα διαγράφουμε κτλ. Ακολουθεί ο τρόπος με τον οποίο επιτυγχάνονται αυτές οι λειτουργίες. Επιλογή Αντικειμένων. Θα πρέπει να επιλέξουμε ένα αντικείμενο για να μπορέσουμε να το μετακινήσουμε. Για να επιλέξουμε ένα αντικείμενο κάνουμε κλικ με το ποντίκι όταν ο κέρσορας έχει το σχήμα επιλογής. Μόλις γίνει η επιλογή του αντικειμένου, το 85

90 LabVIEW το περικλείει με μια κινούμενη διαγράμμιση που ονομάζεται marquee, και εμφανίζεται στην παρακάτω εικόνα. Αν θέλουμε να επιλέξουμε περισσότερα από ένα αντικείμενα κρατούμε πατημένο το πλήκτρο <shift> και κάνουμε κλικ πάνω στα αντικείμενα που θέλουμε. Με τον ίδιο ακριβώς τρόπο μπορούμε να αποεπιλέξουμε ένα αντικείμενο κάνοντας κλικ πάνω του κρατώντας πατημένο το <shift>. Ένας άλλος τρόπος για να επιλέγουμε ένα ή περισσότερα αντικείμενα είναι να κάνουμε ένα παραλληλόγραμμο επιλογής γύρο από τα αντικείμενα που μας ενδιαφέρουν. Για να γίνει αυτό, κάνουμε κλικ σε μια άδεια περιοχή με το εργαλείο επιλογής, και κρατώντας πατημένο το κουμπί, σέρνουμε το ποντίκι διαγώνια έτσι ώστε όλα τα αντικείμενα που θέλουμε να επιλεγούν να βρίσκονται μέσα ή να ακουμπούν στο παραλληλόγραμμο που εμφανίζεται. Όταν αφήσουμε το κουμπί του ποντικιού, το παραλληλόγραμμο εξαφανίζεται και ένα marquee (διακεκομμένη γραμμή) εμφανίζεται γύρο από κάθε επιλεγμένο αντικείμενο. Από την στιγμή που έχουν επιλεγεί τα επιθυμητά αντικείμενα, μπορούμε να τα μετακινήσουμε, να τα αντιγράψουμε ή να τα διαγράψουμε κατά βούληση. Δεν είναι δυνατόν να επιλεγεί ένα αντικείμενο από το front panel και ένα από το μπλοκ διάγραμμα την ίδια στιγμή. Όμως είναι δυνατόν να επιλεγούν περισσότερα από ένα αν βρίσκονται όλα στο ίδιο front panel ή μπλοκ διάγραμμα. Κάνοντας κλικ σε ένα μη επιλεγμένο αντικείμενο ή σε κενή επιφάνεια, αποεπιλέγει όλα τα επιλεγμένα αντικείμενα. Όμως αν κάνουμε <shift> και κλικ σε ένα αντικείμενο το επιλέγει ή το αποεπιλέγει χωρίς να επηρεάζονται τα υπόλοιπα επιλεγμένα αντικείμενα. 86

91 Επιλέγουμε το αριθμητικό control που είχαμε δημιουργήσει προηγουμένως. Μετακίνηση Αντικειμένων. Μπορούμε να μετακινήσουμε ένα αντικείμενο κάνοντας κλικ με το εργαλείο τοποθέτησης, κρατώντας πατημένο το πλήκτρο του ποντικιού και μετακινώντας το στην επιθυμητή θέση. Αν καθώς κάνουμε την προηγούμενη κίνηση έχουμε κρατημένο το πλήκτρο <shift> τότε το LabVIEW απαγορεύει οποιαδήποτε άλλη μετακίνηση πέραν της οριζόντιας ή κάθετης, ανάλογα με την κατεύθυνση κατά την οποία θα το μετακινήσουμε πρώτα. Αν θέλουμε να μετακινήσουμε ένα αντικείμενο σε μικρά και ακριβή βήματα, χρησιμοποιούμε τα κατάλληλα βέλη του πληκτρολογίου. Μετακινούμε το αριθμητικό control στην άλλη μεριά του παραθύρου. Αντιγραφή Αντικειμένων. Μπορούμε να αντιγράψουμε αντικείμενα του LabVIEW αφού πρώτα τα έχουμε επιλέξει. Από το μενού Edit, επιλέγουμε Copy, μετακινούμε τον κέρσορα του ποντικιού στο σημείο που θέλουμε να βάλουμε τον αντίγραφο του αντικειμένου, κάνουμε ένα αριστερό κλικ για να ορίσουμε το σημείο, και τέλος επιλέγουμε από το μενού Edit, το Paste. Ένας άλλος τρόπος για να αντιγράψουμε ένα αντικείμενο είναι να κρατήσουμε πατημένο το πλήκτρο <ctrl> και να κάνουμε κλικ και να σύρουμε το αντικείμενο που θέλουμε να αντιγράψουμε. Εμφανίζεται το αντίγραφο με διακεκομμένες γραμμές, ενώ το αρχικό παραμένει στην θέση του. Όταν αποφασίσουμε για την θέση που θέλουμε να τοποθετήσουμε το αντίγραφο αφήνουμε το πλήκτρο του ποντικιού και το αντικείμενο εμφανίζεται. Η διαδικασία αυτή φαίνεται στην παρακάτω εικόνα. Μπορούμε να αντιγράψουμε αντικείμενα και από το front panel και από το μπλοκ διάγραμμα, ακόμη και από ένα VI σε κάποιο άλλο. 87

92 Αντιγράφουμε το αριθμητικό control και με τις δύο μεθόδους. Θα πρέπει να υπάρχουν 3 αριθμητικά controls στο front panel και τα αντίστοιχα τερματικά τους στο μπλοκ διάγραμμα. Παρατηρούμε ότι το LabVIEW φρόντισε να ονομάσει αυτόματα κάθε αντίγραφο με ένα διαφορετικό νούμερο έτσι ώστε να ξεχωρίζουν. Αν θέλουμε να βρούμε εύκολα σε ποιο αντικείμενο αντιστοιχίζεται κάποιο τερματικό, δεν έχουμε παρά να κάνουμε δεξί κλικ στο τερματικό και να επιλέξουμε Find Control ή Find Terminal αν ήμασταν στο front panel. Διαγραφή Αντικειμένων. Για να διαγράψουμε ένα αντικείμενο, το επιλέγουμε και από το μενού Edit επιλέγουμε Remove From Project. Ο απλούστερος τρόπος είναι είτε με το πλήκτρο <delete> είτε με το <backspace>. Διαγράφοντας ένα αντικείμενο είτε από το front panel είτε από το μπλοκ διάγραμμα, αμέσως διαγράφεται και το αντίστοιχο τερματικό ή control/indicator. Παρόλο που μπορούμε να διαγράφουμε όλα σχεδόν τα αντικείμενα, δεν μπορούμε να διαγράφουμε ξεχωριστά τα στοιχεία που απαρτίζουν ένα control ή indicator. Για παράδειγμα δεν μπορούμε να διαγράψουμε την ετικέτα ή την ίδια την αριθμητική ένδειξη. Μπορούμε όμως να κρύψουμε κάποια από τα στοιχεία μέσω των επιλογών που μας δίνει η εντολή Visible Items κάνοντας δεξί κλικ στο αντικείμενο. Διαγράφουμε το ένα από τα αριθμητικά controls. Αλλαγή Μεγέθους Αντικειμένων. Μπορούμε να αλλάξουμε το μέγεθος των περισσοτέρων αντικειμένων του LabVIEW. Πηγαίνοντας τον κέρσορα του ποντικιού 88

93 στις άκρες ενός αντικειμένου ο κέρσορας αλλάζει μορφή σε αυτή της αλλαγής μεγέθους. Πάνω στο αντικείμενο εμφανίζονται μικρά τετράγωνα χρώματος μπλε. Αυτά είναι και τα σημεία που μπορούμε να κάνουμε κλικ και να σύρουμε έτσι ώστε να μεγεθύνουμε ή να σμικρύνουμε ένα αντικείμενο. Η επόμενη εικόνα δείχνει αυτά τα σημεία. Καθώς αλλάζουμε το μέγεθος ενός αντικειμένου, έχοντας πατημένο το αριστερό πλήκτρο του ποντικιού, ένα κόκκινο-μαύρο διαγραμμισμένο πλαίσιο εμφανίζεται, που βοηθά στο να δούμε πόσο μεγάλο ή μικρό θα γίνει το αντικείμενο, μόλις αφήσουμε το πλήκτρο. Για να ακυρώσουμε την αλλαγή μεγέθους, αρκεί να συνεχίσουμε να τραβούμε το ποντίκι μέχρι να βγούμε έξω από τα όρια του παραθύρου του LabVIEW, οπότε και η κόκκινη-μαύρη διαγράμμιση εξαφανίζεται. Μπορούμε τότε να απελευθερώσουμε το 89

94 πλήκτρο του ποντικιού. Το αντικείμενο παραμένει στο αρχικό του μέγεθος. Ένας δεύτερος τρόπος ακύρωσης είναι κατά την αλλαγή να πατήσουμε το πλήκτρο <esc> οπότε και ακυρώνεται η όποια αλλαγή. Ας αλλάξουμε μέγεθος σε ένα από τα αριθμητικά controls. Μετακινώντας Αντικείμενα Στο Προσκήνιο, Στο Παρασκήνιο, Προς Τα Εμπρός Και Προς Τα Πίσω. Τα αντικείμενα μπορούν να καθίσουν το ένα επάνω στο άλλο και με αυτόν τον τρόπο να κρύβουν άλλα αντικείμενα, είτε γιατί εμείς τα τοποθετήσαμε με αυτόν τον τρόπο, είτε κατά την εισαγωγή τους.. Το LabVIEW έχει αρκετές εντολές έτσι ώστε να μετακινεί αντικείμενα σχετικά το ένα με το άλλο. Είναι αρκετά χρήσιμες για να βρίσκουν «χαμένα» αντικείμενα στα προγράμματα. Επιλέγοντας το εργαλείο Reorder από την γραμμή εργαλείων του LabVIEW, εμφανίζονται επιλογές όπως: Η Move To Front μετακινεί το επιλεγμένο αντικείμενο στο επάνω μέρος τις στοίβας των αντικειμένων. Η Move Forward μετακινεί το επιλεγμένο αντικείμενο μια θέση ψηλότερα στην στοίβα. Η Move To Back και η Move Backward λειτουργούν όμοια με τις δύο προηγούμενες, με την διαφορά ότι τα αντικείμενα μετακινούνται προς τα κάτω αντί για πάνω. Χρωματισμός Αντικειμένων. Στο LabVIEW μπορούμε να αλλάξουμε το χρώμα πολλών αντικειμένων, αλλά όχι όλων. Για παράδειγμα, τα τερματικά του μπλοκ διαγράμματος καθώς και τα καλώδια χρησιμοποιούν προεπιλεγμένα χρώματα, ανάλογα με τον τύπο δεδομένων που μεταφέρουν, έτσι δεν μπορούμε να τα αλλάξουμε. Για να αλλάξουμε το χρώμα ενός αντικειμένου χρησιμοποιούμε το εργαλείο χρωματισμού από την 90

95 παλέτα των εργαλείων. Μόλις κάνουμε κλικ στο εργαλείο χρωματισμού, εμφανίζεται η παλέτα χρωμάτων όπως παρακάτω. Έχοντας επιλέξει το εργαλείο χρωματισμού, μπορούμε να εμφανίζουμε την παλέτα των χρωμάτων για οποιοδήποτε αντικείμενο, ακόμη και για την επιφάνεια εργασίας, απλά κάνοντας δεξί κλικ στο αντικείμενο που μας ενδιαφέρει. Δεν θα εμφανιστεί το γνωστό μενού του αντικειμένου, αλλά η παλέτα των χρωμάτων. Καθώς περνούμε με τον κέρσορα πάνω από τα χρώματα, το αντικείμενο που θέλουμε να χρωματίσουμε παίρνει το χρώμα στο οποίο βρίσκεται ο κέρσορας του ποντικιού, δείχνοντάς μας το τελικό χρώμα που θα πάρει αν κάνουμε κλικ πάνω στο χρώμα αυτό. Για να ακυρώσουμε τον χρωματισμό, είτε επιλέγουμε το αυτόματο εργαλείο, είτε πατούμε το πλήκτρο <esc>. Χρωματίζουμε ένα από τα αριθμητικά controls. Ταίριασμα χρωμάτων. Μπορούμε να αντιγράψουμε το χρώμα ενός αντικειμένου και να το μεταφέρουμε σε κάποιο άλλο χωρίς να χρειαστεί να ανοίξουμε την παλέτα των χρωμάτων. Επιλέγουμε το εργαλείο χρωματισμού, και κάνουμε <ctrl> κλικ στο αντικείμενο του οποίου το χρώμα θέλουμε να αντιγράψουμε. Παρατηρούμε ότι μόλις πατήσουμε το <ctrl> ο κέρσορας του ποντικιού αλλάζει σε εργαλείων «σταγόνων», 91

96 και παίρνει το χρώμα που είχε το αντικείμενο στο οποίο κάναμε κλικ. Μπορούμε τώρα να αφήσουμε το <ctrl> και να κάνουμε κλικ στο αντικείμενο το οποίο θέλαμε να χρωματίσουμε. Αμέσως το αντικείμενο αυτό παίρνει το ίδιο χρώμα με το προηγούμενο. Διαφάνεια. Αν επιλέξουμε το τετράγωνο με το γράμμα T μέσα, από την παλέτα χρωμάτων, το LabVIEW θα κάνει αυτό το αντικείμενο διάφανο. Με αυτόν τον τρόπο μπορούμε να βάλουμε αντικείμενα το ένα πάνω στο άλλο. Για παράδειγμα μπορούμε να βάλουμε αόρατα controls πάνω από indicators, ή να δημιουργήσουμε αριθμητικά controls χωρίς την κλασσική τρισδιάστατη μορφή τους. Η διαφάνεια έχει επιπτώσεις μόνο στην εμφάνιση ενός αντικειμένου. Το αντικείμενο συμπεριφέρεται στο ποντίκι και σε όλες τις εντολές κανονικά. Προσκήνιο και Παρασκήνιο. Μερικά από τα αντικείμενα έχουν και προσκήνιο και παρασκήνιο τα οποία μπορούμε να χρωματίσουμε ξεχωριστά. Στην επιλογή των χρωμάτων για να αλλάξουμε ανάμεσα στο προσκήνιο και στο παρασκήνιο, πατούμε το <f> για το προσκήνιο (forεground) και το <b> για το παρασκήνιο (background). Πατώντας το <a> τα επιλέγει όλα (all). Πατώντας οποιοδήποτε άλλο πλήκτρο γίνεται εναλλαγή ανάμεσα στο προσκήνιο, το παρασκήνιο και όλα μαζί. Η επιλογή του χρώματος δεν αλλάζει αν δεν μετακινηθεί το ποντίκι. ΠΑΡΑΔΕΙΓΜΑ 3 1. Ανοίγουμε το LabVIEW και από την αρχική οθόνη επιλέγουμε Examples και Find Examples. Το παράθυρο που εμφανίζεται μας βοηθά να βρούμε έτοιμα παραδείγματα προγραμμάτων, που είτε βρίσκονται αποθηκευμένα στον υπολογιστή μας, είτε βρίσκονται στο site της National Instruments στο Ιντερνέτ. 92

97 Επιλέγουμε την καρτέλα Search, και στο πλαίσιο Enter keyword(s) πληκτρολογούμε Editing Exercise και πατάμε στο Search. Στο δεξί παράθυρο εμφανίζονται τα αποτελέσματα της αναζήτησης. Το πρώτο αποτέλεσμα θα πρέπει να είναι το Editing Exercise.vi το οποίο και ανοίγουμε με διπλό κλικ. Το front panel της άσκησης που εμφανίζεται περιέχει πολλά αντικείμενα του LabVIEW. Ο σκοπός της άσκησης είναι να αλλάξουμε το front panel που εμφανίζεται παρακάτω. 93

98 2. Επιβεβαιώνουμε ότι βρισκόμαστε σε λειτουργία επεξεργασίας, αν εμφανίζονται τα εργαλεία επεξεργασίας στην γραμμή εργαλείων. Αν βρισκόμαστε σε λειτουργία εκτέλεσης, επιστρέφουμε σε λειτουργία επεξεργασίας επιλέγοντας Change to Edit Mode από το μενού Operate. 3. Επανατοποθετούμε το digital control. Το επιλέγουμε με το εργαλείο επιλογής/τοποθέτησης, και το μεταφέρουμε τραβώντας το σε κάποιο άλλο μέρος της επιφάνειας εργασίας. Παρατηρούμε ότι η ετικέτα ακολουθεί το control γιατί ανήκει σε αυτό το control. Κάνοντας κλικ στην άδεια επιφάνεια αποεπιλέγουμε το control, και επιλέγουμε μόνο την ετικέτα του, και την μετακινούμε σε άλλο μέρος με τον ίδιο ακριβώς τρόπο. Παρατηρούμε, εδώ, ότι το control δεν ακολουθεί την μετακίνηση της ετικέτας. Μια ετικέτα που ανήκει σε κάποιο αντικείμενο, μπορεί να τοποθετηθεί οπουδήποτε σε σχέση με αυτό, αλλά όταν το αντικείμενο μετακινηθεί, η ετικέτα θα το ακολουθήσει. 4. Μετακινούμε τους διακόπτες ολίσθησης σαν μια ομάδα. Χρησιμοποιώντας το εργαλείο επιλογής/τοποθέτησης, κάνουμε κλικ στην άδεια επιφάνεια κοντά στους διακόπτες, και έχοντας πατημένο το πλήκτρο του ποντικιού, το 94

99 μετακινούμε μέχρι όλοι οι διακόπτες να βρίσκονται μέσα στο παραλληλόγραμμο επιλογής. Κάνουμε κλικ στους διακόπτες και κρατώντας πατημένο το πλήκτρο μετακινούμε τους διακόπτες σε νέα θέση. 5. Αντιγράφουμε την ελεύθερη ετικέτα. Κρατούμε πατημένο το <ctrl> στο πληκτρολόγιο ενός PC, ή το <cmd> σε ένα Mac, κάνουμε κλικ στην ελεύθερη ετικέτα, και κρατώντας πατημένο το πλήκτρο μετακινούμε το αντίγραφο που εμφανίζεται σε νέα θέση. 6. Αλλαγή του μεγέθους της γραμματοσειράς της ελεύθερης ετικέτας. Επιλέγουμε το κείμενο της ετικέτας με το κατάλληλο εργαλείο. Αυτό επιτυγχάνεται είτε κάνοντας τριπλό κλικ πάνω στο κείμενο, είτε κάνοντας κλικ στο πρώτο γράμμα και μετακινώντας το ποντίκι στο τέλος της ετικέτας. Αλλάζουμε το μέγεθος της γραμματοσειράς με το εργαλείο επεξεργασίας γραμματοσειρών από την γραμμή εργαλείων στο πάνω μέρος του παραθύρου. Επιλέγουμε Size και το νούμερο Δημιουργία ετικέτας που να ανήκει στο digital indicator. Κάνουμε δεξί κλικ στο indicator χρησιμοποιώντας ένα PC, ή πατούμε το <cmd> και κάνουμε κλικ στο indicator σε ένα Mac. Επιλέγουμε Visible Items και Label. Γράφουμε Digital Indicator μέσα στο πλαίσιο που εμφανίζεται. Πατούμε <enter> από το αριθμητικό πληκτρολόγιο ή κάνουμε κλικ σε άδειο σημείο της επιφάνειας για να εισαχθεί το κείμενο στην ετικέτα. 8. Αλλαγή μεγέθους στο στρόγγυλο LED. Μετακινούμε τον κέρσορα του ποντικιού πάνω στο LED μέχρι να εμφανιστούν τα μπλε σημεία. Μόλις ο κέρσορας περάσει πάνω από ένα από αυτά τα σημεία αλλάζει στην μορφή δύο αντίθετων 95

100 βελών. Κάνοντας κλικ και μετακινώντας τον κέρσορα προς τα έξω αυξάνεται το μέγεθος του LED. 9. Αλλαγή χρώματος του LED. Χρησιμοποιώντας το εργαλείο χρωματισμού, κάνουμε δεξί κλικ πάνω στο LED. Μετακινούμε τον κέρσορα του ποντικιού στο χρώμα που θέλουμε να δώσουμε στο LED από την παλέτα των χρωμάτων, και κάνοντας κλικ το LED παίρνει το νέο του χρώμα. 10. Στοίχιση διακοπτών. Για να στοιχίσουμε τους διακόπτες πρέπει πρώτα να τους επιλέξουμε σαν μια ομάδα. Αυτό γίνεται με τον ίδιο τρόπο όπως στο βήμα 4. Μόλις τους επιλέξουμε χρησιμοποιούμε το εργαλείο στοίχισης από την γραμμή εργαλείων. Από το μενού που εμφανίζεται επιλέγουμε το Vertical Centers. Έτσι οι διακόπτες στοιχίζονται οριζόντια. Για να μην επικαλύπτει ο ένας διακόπτης τον άλλο θα πρέπει να έχουν ίδιες αποστάσεις μεταξύ τους. Αυτό γίνεται με το εργαλείο κατανομής αντικειμένων. Έχοντας τους διακόπτες επιλεγμένους από το προηγούμενο βήμα, ενεργοποιούμε το εργαλείο κατανομής, και από το μενού που εμφανίζεται επιλέγουμε το Horizontal Centers. Έτσι τα κέντρα των αντικειμένων έχουν ίσες αποστάσεις μεταξύ τους και δεν επικαλύπτονται. 11. Το front panel θα πρέπει να έχει περίπου την παρακάτω μορφή. 96

101 12. Κλείνουμε το VI επιλέγοντας το Close από το μενού File. Επιλέγουμε να μην αποθηκεύσουμε τις αλλαγές. 5.3 Καλωδίωση Ένα όμορφο, τακτοποιημένο και πολύχρωμο front panel δεν μπορεί να κάνει τίποτε αν δεν συνενωθούν τα αντικείμενα μεταξύ τους, με καλώδια στο μπλοκ διάγραμμα. Στην επόμενη παράγραφο θα περιγράψουμε τις τεχνικές καλωδίωσης. Για να συνδέσουμε τα τερματικά μεταξύ τους χρησιμοποιούμε το εργαλείο καλωδίωσης. Το «ειδικό» σημείο του κέρσορα που ενεργοποιεί την σύνδεση με καλώδιο, είναι η άκρη του ελεύθερου καλωδίου που φαίνεται στο εικονίδιο. «Ειδικό» σημείο του κέρσορα Για να συνδέσουμε ένα τερματικό με κάποιο άλλο, μετακινούμε τον κέρσορα του ποντικιού πάνω στο αντικείμενό μας. Εμφανίζεται ένας οι περισσότεροι κόκκινοι κύκλοι. Αυτές είναι οι τερματικές ακίδες του αντικειμένου μας. Κάθε αντικείμενο έχει διαφορετικό αριθμό ακίδων και σε διαφορετικά μέρη. Μετακινούμε τώρα τον κέρσορα πάνω σε αυτό το κόκκινο σημείο. Αμέσως ο κέρσορας παίρνει την μορφή του εργαλείου καλωδίωσης και η τερματική ακίδα αναβοσβήνει. Κάνοντας κλικ δημιουργείται η αρχή ενός καλωδίου που είναι συνδεμένο με αυτή την ακίδα. 97

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

103 Χρήσιμες συμβουλές για τις συνδέσεις Οι επόμενες συμβολές θα κάνουν ευκολότερη την διαδικασία συνδέσεως των αντικειμένων: Μπορούμε να κάνουμε στροφή 90 μοιρών στο καλώδιο, μία φορά, χωρίς να κάνουμε κλικ πουθενά. Κάνοντας κλικ σε κάποιο σημείο, την ώρα που δημιουργούμε ένα καλώδιο, δημιουργείται σε εκείνο το σημείο μια γωνία και αλλάζουμε κατεύθυνση. Για να αλλάξουμε κατεύθυνση προς την οποία πηγαίνει το καλώδιο μετά από μια γωνία πιέζουμε το <spacebar> στο πληκτρολόγιο. Κάνοντας διπλό κλικ με το εργαλείο καλωδίωσης σε άδειο σημείο της επιφάνειας, δημιουργεί ή τερματίζει ένα καλώδιο χωρίς σύνδεση. Όταν διασταυρώνονται δύο καλώδια, ένα μικρό κενό δημιουργείτε στο πρώτο καλώδιο, σαν να ήταν κάτω από ένα δεύτερο καλώδιο. Αυτό φαίνεται στην παρακάτω εικόνα. 99

104 Επιμήκυνση καλωδίων Μπορούμε να μετακινήσουμε συνδεμένα αντικείμενα ξεχωριστά ή και σε ομάδες, σέρνοντας τα επιλεγμένα αντικείμενα σε νέα θέση. Τα καλώδια που είναι συνδεμένα στα επιλεγμένα αντικείμενα, επιμηκύνονται αυτόματα ακολουθώντας τα. Αν αντιγράψουμε τα επιλεγμένα αντικείμενα ή αν τα μετακινήσουμε από ένα διάγραμμα σε κάποιο άλλο (για παράδειγμα, από το μπλοκ διάγραμμα μέσα σε μια δομή επανάληψης), το LabVIEW αφήνει πίσω τα καλώδια, εκτός και αν τα επιλέξουμε και εκείνα. Κατά την επιμήκυνση των καλωδίων, συχνά δημιουργούνται γωνίες ή κενά άκρα. Θα πρέπει να τα διαγράφουμε χρησιμοποιώντας την εντολή Remove Broken Wires από το μενού Edit, για να μπορέσουμε να εκτελέσουμε το VI. Μετακινούμε ένα από τα αριθμητικά controls και παρατηρούμε πώς τα συνδεμένα καλώδια αλλάζουν μέγεθος ακολουθώντας το αντικείμενο. Επιλογή και Διαγραφή Καλωδίων Ένα κομμάτι ενός καλωδίου είναι ένα συνεχόμενο οριζόντιο ή κατακόρυφο μέρος του καλωδίου. Ένα σημείο στο οποίο τρία ή τέσσερα καλώδια συναντιούνται λέγεται κόμβος. Μια κάμψη σε ένα καλώδιο είναι το σημείο στο οποίο δύο κομμάτια καλωδίου ενώνονται. Ένας κλάδος καλωδίου περιέχει όλα τα μέρη του καλωδίου από κόμβο σε κόμβο, από τερματική ακίδα σε κόμβο, ή από τερματική ακίδα σε τερματική ακίδα αν δεν υπάρχει κόμβος ανάμεσα. Κάνοντας κλικ με το ποντίκι σε ένα καλώδιο γίνεται επιλογή ενός κομματιού. Με διπλό κλικ επιλέγετε ο κλάδος. Το τριπλό κλικ επιλέγει όλο το καλώδιο. Πατώντας το <delete> ή το <backspace> στο πληκτρολόγιο διαγράφεται το επιλεγμένο κομμάτι. Επιλέγουμε και διαγράφουμε ένα από τα καλώδια και το ξαναδημιουργούμε. 100

105 Μετακίνηση Καλωδίων Μπορούμε να μετακινήσουμε ένα ή περισσότερα κομμάτια ενός καλωδίου επιλέγοντάς τα και τραβώντας τα σε νέα θέση. Για μεγαλύτερη ακρίβεια, μπορούμε να μετακινήσουμε τα επιλεγμένα κομμάτια ανά pixel με τα βέλη του πληκρολογίου. Το LabVIEW επιμηκύνει τα μη επιλεγμένα μέρη του καλωδίου, για να γίνει η αλλαγή χωρίς να χαθεί η σύνδεση μεταξύ των αντικειμένων. Μπορούμε να επιλέξουμε και να σύρουμε πολλά τμήματα ενός καλωδίου, ακόμη και μη συνεχόμενα μέρη, ταυτόχρονα. Αν μετακινηθεί ένα τούνελ, το LabVIEW φροντίζει να διατηρεί μια σύνδεση ανάμεσα στο τούνελ και τον συνδεμένο κόμβο. Μετακινούμε ένα τμήμα ενός καλωδίου και με το ποντίκι και με τα βέλη του πληκτρολογίου. Σύνδεση σε περιοχές εκτός οθόνης Αν το μπλοκ διάγραμμα είναι αρκετά μεγάλο ώστε να μην χωράει στην οθόνη ή στο παράθυρο του προγράμματος, μπορούμε να χρησιμοποιήσουμε τις μπάρες κύλισης, ώστε να μετακινηθούμε σε περιοχή που δεν εμφανιζόταν στην οθόνη, και να σύρουμε οποιοδήποτε αντικείμενο εκεί. Μετακινώντας το ποντίκι στα όρια της οθόνης ή του παραθύρου του διαγράμματος, καθώς συνδέουμε δύο αντικείμενα με το εργαλείο καλωδίωσης, το διάγραμμα κυλά αυτόματα προς την κατεύθυνση αυτή. Κομμένα καλώδια Αν κάνουμε λάθος κατά την σύνδεση, εμφανίζονται κομμένα καλώδια τα οποία έχουν μορφή διακεκομμένης γραμμής, αντί της συνήθης έγχρωμης γραμμής. Έως ότου όλα τα κομμένα καλώδια εξαλειφθούν από το διάγραμμα, το εικονίδιο εκτέλεσης θα εμφανίζεται ως χαλασμένο και το VI δεν θα μπορεί να μεταφραστεί και να εκτελεστεί. Μπορούμε να διαγράψουμε ένα κομμένο καλώδιο, επιλέγοντάς το και διαγράφοντάς το. Μια πιο εύχρηστη επιλογή που διαγράφει όλα τα κομμένα καλώδια είναι η 101

106 Remove Broken Wires από το μενού Edit, ή με την συντόμευση του πληκτρολογίου <Ctrl-B> σε PC ή <Cmd-B> σε Mac. Πολλές φορές κομμένα καλώδια είναι μικρά θραύσματα, κρυμμένα κάτω από άλλα αντικείμενα, ή τόσο μικρά που δεν είναι δυνατόν να τα διακρίνουμε. Έτσι είναι καλό να συνηθίσει κανείς να χρησιμοποιεί την επιλογή Remove Broken Wires κάθε φορά που βλέπει το εικονίδιο εκτέλεσης να εμφανίζεται σαν χαλασμένο. Πολλές φορές αυτή η εντολή λύνει το πρόβλημα. 5.4 Εκτέλεση του VI Μπορούμε να εκτελέσουμε ένα VI από την λειτουργία επεξεργασίας επιλέγοντας την εντολή Run από το μενού Operate, ή κάνοντας κλικ στο εικονίδιο εκτέλεσης στην γραμμή εργαλείων. Αν τρέξουμε το VI από την λειτουργία επεξεργασίας, το LabVIEW θα το μεταφράσει σε γλώσσα μηχανής, θα ενεργοποιήσει την λειτουργία εκτέλεσης, και θα εκτελέσει το VI. Μόλις τελειώσει η εκτέλεση το LabVIEW θα επιστρέψει στην λειτουργία επεξεργασίας. Καθ όλη την διάρκεια εκτέλεσης του VI, το εικονίδιο εκτέλεσης αλλάζει εμφάνιση: Το VI εκτελείται στο πιο υψηλό επίπεδο αν το εικονίδιο εμφανίζεται ως:. Το VI εκτελείται ως subvi, το οποίο έχει καλέσει ένα άλλο VI, αν το εικονίδιο εμφανίζεται ως:. Μπορούμε να εκτελέσουμε πολλά VIs την ίδια στιγμή. Μόλις εκκινήσουμε το πρώτο, πηγαίνουμε στο front panel ή στο μπλοκ διάγραμμα του επόμενου και το εκτελούμε όπως παραπάνω. Παρατηρούμε ότι αν εκτελέσουμε ένα subvi, σαν κύριο VI, όλα τα VIs που το καλούν σαν subvi, δεν είναι εκτελέσιμα (εμφανίζονται σαν χαλασμένα) 102

107 έως ότου το subvi ολοκληρώσει την εκτέλεσή του. Δεν είναι δυνατόν ένα subvi να εκτελεστεί σαν κύριο αλλά και σαν υποπρόγραμμα την ίδια στιγμή. ΠΑΡΑΔΕΙΓΜΑ 4 Δημιουργώντας ένα θερμόμετρο Σε αυτό το παράδειγμα θα δημιουργήσουμε ένα VI το οποίο θα μετρά θερμοκρασία. Το πρόγραμμα θα προσομοιώνει τα θερμοκρασιακά δεδομένα, γιατί δεν διαθέτουμε κάρτα εξόρυξης δεδομένων (DAQ board), και θα εμφανίζει τα δεδομένα σε ένα θερμόμετρο στο front panel. Το πρόγραμμα αυτό θα πρέπει να το αποθηκεύσουμε καθώς θα επιστρέφουμε σε αυτό και θα προσθέτουμε νέες λειτουργίες. 1. Δημιουργούμε ένα νέο VI επιλέγοντας New Blank VI. 2. Εισάγουμε ένα θερμόμετρο στο front panel επιλέγοντάς το από τα αριθμητικά controls (διαδρομή, Classic, Classic Numeric, Thermometer στην λίστα των controls). Το ονομάζουμε Temperature γράφοντας μέσα στην ετικέτα του αμέσως μόλις το θερμόμετρο εμφανιστεί στο front panel. Τέλος κάνουμε δεξί κλικ πάνω του και από το Visible Items επιλέγουμε Digital Display ώστε να φαίνεται η τιμή της θερμοκρασίας. 3. Δημιουργούμε το μπλοκ διάγραμμα όπως φαίνεται στην παρακάτω εικόνα. Είναι χρήσιμο να επιλέξουμε το Tile Left and Right από το μενού Window έτσι 103

108 ώστε να βλέπουμε και το front panel, αλλά και το μπλοκ διάγραμμα, την ίδια στιγμή. Το αντικείμενο (Demo) Read Voltage είναι ένα subvi που έχει δημιουργηθεί για να προσομοιώνει την λειτουργία την εξόρυξης δεδομένων μέσω καρτών DAQ. Η τιμές που παράγει αυτό το subvi είναι έτοιμες για να εμφανιστούν στο θερμόμετρο του front panel. Το subvi αυτό υπάρχει έτοιμο στο ιντερνέτ και μπορούμε να το κατεβάσουμε 1 και να το χρησιμοποιήσουμε στο πρόγραμμά μας. Για να το εισάγουμε, επιλέγουμε την εντολή Select a VI από το μενού λειτουργιών του μπλοκ διαγράμματος. Εμφανίζεται ένα πλαίσιο διαλόγου που μας ζητά να δώσουμε την διαδρομή του VI που θέλουμε να εισάγουμε. Δίνουμε την διαδρομή του φακέλου που έχουμε αποθηκεύσει το VI και επιλέγουμε το (Demo) Read Voltage.vi. 4. Μπορούμε να χρησιμοποιήσουμε την εντολή Show Context Help από το μενού Help, για να μας βοηθήσει με την σωστή σύνδεση των αντικειμένων. Στο παράδειγμά μας είναι αρκετά εύκολο. Δίνουμε προσοχή στον χρωματισμό των τερματικών έτσι ώστε να αποφύγουμε λανθασμένες συνδέσεις. 5. Τρέχουμε το VI πατώντας το εικονίδιο εκτέλεσης. Στο θερμόμετρο θα εμφανιστεί η τιμή της θερμοκρασίας που δημιουργήθηκε τυχαία από τον προσομοιωτή. Αν για κάποιο λόγω δεν μπορούμε να εκτελέσουμε το VI, μπορούμε να ανατρέξουμε στο κεφάλαιο 5, το οποίο εξηγεί τις τεχνικές αποσφαλμάτωσης. 6. Αποθηκεύουμε το VI επιλέγοντας Save από το μενού File. Το αποθηκεύουμε στα έγγραφα με όνομα Thermometer.vi. Θα χρησιμοποιήσουμε αυτό το VI σαν subvi αργότερα. 1 Το site που μπορούμε να βρούμε αυτό το subvi όπως και άλλα παραδείγματα είναι: 104

109 ΚΕΦΑΛΑΙΟ 6 Περισσότερα Θεμέλια 6.1 Φόρτωση και Αποθήκευση των VIs Μπορούμε να φορτώσουμε ένα VI επιλέγοντας Open από το μενού File. Από το πλαίσιο διαλόγου που εμφανίζεται επιλέγουμε το VI που μας ενδιαφέρει. Αποθηκεύουμε ένα VI με την εντολή Save (ή παρόμοια επιλογή) από το μενού File όπως και πριν. Το LabVIEW ανοίγει ένα παράθυρο όμοιο με αρκετά άλλα προγράμματα του λειτουργικού συστήματος που χρησιμοποιούμε, έτσι ώστε να επιλέξουμε που θα αποθηκεύσουμε το VI. Αποθηκεύοντας το VI, θα πρέπει να έχουμε υπ όψιν, ότι το αρχείο θα πρέπει να το ονομάσουμε σύμφωνα με τους περιορισμούς που απορρέουν από το λειτουργικό σύστημα που χρησιμοποιούμε. Αν θέλουμε να αποφύγουμε αυτούς τους περιορισμούς, αλλά και να εξοικονομήσουμε αποθηκευτικό χώρο, μπορούμε να αποθηκεύσουμε τα VIs σε μια ειδική μορφή συμπιεσμένων αρχείων που ονομάζεται βιβλιοθήκη VI, την οποία θα αναλύσουμε σύντομα. 105

110 Το LabVIEW διαχωρίζει τα VIs μέσω των ονομάτων τους. Δεν μπορούμε να έχουμε περισσότερα από ένα VI ή subvi με το ίδιο όνομα στην μνήμη, την ίδια στιγμή. Αν έχουμε δύο VIs με το ίδιο όνομα την ίδια στιγμή, το LabVIEW θα φορτώσει το πρώτο VI που θα βρει χωρίς να φορτώσει το δεύτερο. Επιλογές αποθήκευσης Μπορούμε να αποθηκεύσουμε VIs με μια από τις τέσσερις επιλογές που υπάρχουν στο μενού File. Επιλέγουμε Save για να αποθηκεύσουμε ένα καινούριο VI, ονομάζουμε το VI και επιλέγουμε τον προορισμό του στην ιεραρχία του δίσκου αποθήκευσης. Σε ένα ήδη υπάρχον VI, η εντολή Save αποθηκεύει τις όποιες αλλαγές στο ίδιο αρχείο και στην ίδια θέση όπου προϋπήρχε. Επιλέγουμε Save As για να δημιουργήσουμε ένα αντίγραφο του VI, ή να μετονομάσουμε το υπάρχον VI και να το αποθηκεύσουμε με το καινούριο όνομα στον δίσκο. Αν επιλέξουμε να αντιγράψουμε το VI, επιλέγουμε την επιλογή Copy και έχουμε τρις υποεπιλογές: o Substitute copy for original. Η επιλογή αυτή κρατά το αντίγραφο στην μνήμη, ανοιχτό και έτοιμο για επεξεργασία. Το αρχικό VI κλείνει. 106

111 o Create unopened disk copy. Η επιλογή αυτή κρατά το αρχικό VI στην μνήμη, ανοιχτό και έτοιμο για επεξεργασία και δημιουργεί ένα αντίγραφο στον δίσκο το οποίο και δεν το ανοίγει. o Open additional copy. Η επιλογή αυτή κρατά και το αρχικό αλλά και το αντίγραφο στην μνήμη, για επεξεργασία. Το αντίγραφο, όμως, θα πρέπει να έχει διαφορετικό όνομα. Αν θέλουμε να μετονομάσουμε το VI επιλέγουμε το Rename και στο πλαίσιο διαλόγου επιλέγουμε το καινούριο όνομα καθώς και την θέση αποθήκευσης του VI. Επιλέγουμε Save All για να αποθηκεύσουμε όλα τα VIs που είναι ανοιχτά στην μνήμη. Επιλέγουμε Save for Previous Version για να αποθηκεύσουμε το VI σε μορφή παλαιότερης έκδοσης του LabVIEW. Η επιλογή αυτή είναι ιδιαίτερα χρήσιμη αν θέλουμε να μεταφέρουμε το VI που δημιουργήσαμε σε κάποιον άλλο υπολογιστή με παλαιότερη έκδοση του LabVIEW. Από το παράθυρο διαλόγου που εμφανίζεται επιλέγουμε για ποια έκδοση επιθυμούμε να αποθηκευτεί το VI. Η παρακάτω εικόνα εμφανίζει τις επιλογές που έχουμε διαθέσιμες στο LabVIEW

112 Φίλτρα τύπων αρχείων Στο κάτω μέρος του πλαισίου διαλόγου που εμφανίζεται επιλέγοντας Save ή Load, εμφανίζεται ένα φίλτρο τύπων το οποίο μας επιτρέπει να βλέπουμε μόνο τα VIs, όλα τα αρχεία, ή πρότυπα αρχεία, όπως φαίνεται στην παρακάτω εικόνα. Revert Μπορούμε να χρησιμοποιήσουμε την εντολή Revert από το μενού File, για να επιστρέψουμε στην τελευταία αποθηκευμένη έκδοση του VI στο οποίο δουλεύουμε. Θα εμφανιστεί ένα πλαίσιο διαλόγου μέσω του οποίου θα μπορούμε να επιβεβαιώσουμε την ακύρωση των αλλαγών έχουμε κάνει στο VI. 6.2 Βιβλιοθήκες VI Οι βιβλιοθήκες VI (VI Libraries) έχουν τις ίδιες εντολές φόρτωσης, αποθήκευσης, και ανοίγματος όπως και οι φάκελοι και οι κατάλογοι. Η διαφορά είναι ότι το λειτουργικό σύστημα που χρησιμοποιούμε βλέπει τις βιβλιοθήκες αυτές ως ένα αρχείο. Τα 108

113 περιεχόμενά τους μπορούμε να τα προσπελάσουμε μόνο μέσω του LabVIEW. Οι βιβλιοθήκες VI περιέχουν μόνο συμπιεσμένες εκδόσεις από VIs. Δεν μπορούν να περιέχουν άλλες βιβλιοθήκες VI, φακέλους, ή καταλόγους. Η συμπίεση και αποσυμπίεση δεν χρειάζονται παρά ελάχιστο χρόνο, και ο χώρος που εξοικονομούν είναι πάντα σημαντικός. Όσα VIs αποθηκεύονται σε βιβλιοθήκη δεν έγκεινται στους περιορισμούς του λειτουργικού συστήματος, όσο αφορά στην ονομασία τους, παρόλο που το όνομα της ίδιας της βιβλιοθήκης θα πρέπει να ακολουθεί αυτούς τους περιορισμούς. Τα VIs μπορούν να έχουν ονόματα που περιέχουν μέχρι και 256 χαρακτήρες, κενά, καθώς και το παρέκταμα (.vi). Οι βιβλιοθήκες κάνουν ευκολότερη την μεταφορά των VIs ανάμεσα σε διαφορετικές πλατφόρμες. Αν μια βιβλιοθήκη αλλοιωθεί (καταστραφεί), τότε κάθε VI που βρίσκεται σε αυτή, χάνεται. Γι αυτόν τον λόγω είναι καλό να κάνουμε πολλά αντίγραφα ασφαλείας. Στα πλαίσια διαλόγου όπου εμφανίζονται αρχεία, μια βιβλιοθήκη VI εμφανίζεται με το ίδιο εικονίδιο όπως και τα VIs, αλλά φέρουν το παρέκταμα (.llb) όπως φαίνεται παρακάτω. demo.llb Για να δημιουργήσουμε μια νέα βιβλιοθήκη VI, από το μενού File επιλέγουμε Save, Save As, ή Save All. Στο πλαίσιο διαλόγου που εμφανίζεται επιλέγουμε το κουμπί New LLB. 109

114 Στο νέο πλαίσιο που εμφανίζεται, εισάγουμε το όνομα της νέας βιβλιοθήκης. Αν δεν προσθέσουμε την κατάληξη.llb το LabVIEW θα το κάνει αυτόματα. Πιέζουμε το πλήκτρο Create και θα δημιουργηθεί η βιβλιοθήκη με το όνομα που θα δώσουμε. Στο παράδειγμά μας, δίνουμε το όνομα test. Το παράθυρο διαλόγου που ανοίγει, περιέχει όλα τα VIs που υπάρχουν μέσα στην βιβλιοθήκη. Στο παράδειγμά μας όμως, η βιβλιοθήκη είναι καινούρια και δεν περιέχει ακόμη κανένα VI και έτσι εμφανίζεται άδεια. Σε περίπτωση που υπήρχαν VIs θα μπορούσαμε να επιλέξουμε κάποιο από αυτά και να το ανοίξουμε. 110

115 Μπορούμε να προσθέσουμε, να αφαιρέσουμε, και γενικά να διαχειριστούμε τις βιβλιοθήκες VI επιλέγοντας από το μενού Tools την εντολή LLB Manager. Προσπέλαση των δικών μας VI από το Μενού Λειτουργιών και Controls Όλα τα VIs που υπάρχουν έτοιμα στο LabVIEW είναι αποθηκευμένα στον φάκελο vi.lib και είναι οργανωμένα σε βιβλιοθήκες VI. Αυτές οι βιβλιοθήκες εμφανίζονται στο μενού λειτουργιών, και το μενού των controls στο LabVIEW. Είναι ιδιαίτερα σημαντικό να μην αποθηκεύουμε ποτέ τα δικά μας VIs στον φάκελο vi.lib. Αποθηκεύοντας τα VIs εκεί, διατρέχουμε τον κίνδυνο να διαγραφούν σε οποιαδήποτε αναβάθμιση του LabVIEW μπορεί να κάνουμε στο μέλλον. Έτσι προτείνεται να αποθηκεύονται στον φάκελο user.lib είτε σε οποιοδήποτε άλλο φάκελο με κατάληξη.lib. Όταν εκκινούμε το LabVIEW, η εφαρμογή θα κοιτάξει μέσα στον φάκελο εγκατάστασής του για να βρει φακέλους ή καταλόγους με κατάληξη.lib και έτσι θα δημιουργήσει καταχωρίσεις στο μενού λειτουργιών και controls με τα όποια VIs, και βιβλιοθήκες που έχουμε εισάγει. Εάν θέλουμε κάποιο δικό μας VI να εμφανίζεται στην παλέτα των λειτουργιών του LabVIEW, αρκεί να αποθηκεύσουμε στον φάκελο user.lib τους φακέλους, τους καταλόγους ή τις βιβλιοθήκες. Έτσι μόλις εκκινήσει το 111

116 LabVIEW, θα δημιουργήσει παλέτες για κάθε φάκελο, κατάλογο και βιβλιοθήκη που υπάρχει μέσα στον φάκελο user.lib και θα τις προσθέσει στο μενού των λειτουργιών και των controls. Αν αποθηκεύσουμε ένα VI στον κατάλογο user.vi χωρίς όμως να το έχουμε εισάγει σε κάποια βιβλιοθήκη, τότε το LabVIEW δεν θα το εμφανίσει στις παλέτες των λειτουργιών ή των controls. Διαχείριση βιβλιοθηκών Μπορούμε να διαχειριστούμε τις βιβλιοθήκες VI μέσω της εντολής LLB Manager που βρίσκεται στο μενού Tools. Μέσω του παραθύρου αυτού μπορούμε να αντιγράψουμε, να μετονομάσουμε και να διαγράψουμε αρχεία μέσα στις βιβλιοθήκες. Επίσης μπορούμε να χρησιμοποιήσουμε αυτό το παράθυρο για να δημιουργήσουμε νέες βιβλιοθήκες και φακέλους και να μετατρέψουμε τις βιβλιοθήκες σε φακέλους ή το αντίστροφο. Κάνοντας δεξί κλικ σε ένα αντικείμενο στην λίστα των αρχείων, εμφανίζεται μενού συντόμευσης μέσω του οποίου μπορούμε να ανοίξουμε, να αποκόψουμε, να αντιγράψουμε, να διαγράψουμε ή να μετονομάσουμε ένα αντικείμενο. Μπορούμε επίσης να χρησιμοποιήσουμε το ίδιο μενού για να μετακινήσουμε ένα αντικείμενο προς ή από το υψηλότερο επίπεδο μιας βιβλιοθήκης. 6.3 Τεχνικές Αποσφαλμάτωσης Το LabVIEW έχει πολλές ενσωματωμένες τεχνικές αποσφαλμάτωσης που μας βοηθούν στην ανάπτυξη νέων VIs. Η επόμενη παράγραφος εξηγεί πώς να χρησιμοποιούμε όλες τις διευκολύνσεις που προσφέρει προς όφελός μας. 112

117 Επιδιορθώνοντας ένα χαλασμένο VI Ένα χαλασμένο VI είναι ένα VI το οποίο δεν μπορεί να μεταφρασθεί και να τρέξει. Το πλήκτρο εκτέλεσης εμφανίζεται σαν ένα σπασμένο βέλος για να μας ειδοποιήσει ότι το VI είναι χαλασμένο. Ένα VI εμφανίζεται συνήθως ως χαλασμένο κατά την διάρκεια της δημιουργίας ή της επεξεργασίας του, έως ότου τελειώσουμε την σύνδεση όλων των εικονιδίων στο διάγραμμα. Εάν παραμένει χαλασμένο ακόμη και μετά την σύνδεση όλων των εικονιδίων, τότε επιλέγουμε πρώτα το Remove Broken Wires από το μενού Edit. Συχνά αυτή η επιλογή διορθώνει ένα χαλασμένο VI καθαρίζοντας όλα τα μικρά κομμάτια καλωδίων που πιθανόν να μην φαίνονται. Για να βρούμε για ποιο λόγω ένα VI εμφανίζεται χαλασμένο, κάνουμε κλικ πάνω στο σπασμένο βέλος στην γραμμή εργαλείων, ή επιλέγουμε το Error List από το μενού View. Εμφανίζεται ένα πλαίσιο διαλόγου το οποίο ονομάζεται Error List και στο οποίο εμφανίζεται η λίστα με όλα τα προβλήματα που έχει το VI. Για να μάθουμε περισσότερα για κάποιο συγκεκριμένο πρόβλημα του VI, κάνουμε κλικ πάνω του. Στο παράθυρο Error List θα εμφανιστούν λεπτομέρειες για το πρόβλημα που επιλέξαμε. Για να βρούμε που ακριβώς βρίσκεται το πρόβλημα αυτό, αρκεί να κάνουμε διπλό κλικ πάνω του ή να το επιλέξουμε και να πατήσουμε το Show Error. Το LabVIEW θα φέρει αυτόματα στο προσκήνιο το σχετικό παράθυρο και θα επιλέξει το αντικείμενο το οποίο δημιουργεί το πρόβλημα. 113

118 Προειδοποιήσεις Μπορούμε να επιλέξουμε το Show Warnings στο παράθυρο των λαθών αν χρειαζόμαστε επιπλέον πληροφορίες αποσφαλμάτωσης. Μια προειδοποίηση είναι κάτι το οποίο δεν απαγορεύεται και δεν εμφανίζει σπασμένο βέλος εκτέλεσης, αλλά δεν έχει νόημα για το LabVIEW, όπως για παράδειγμα ένα τερματικό το οποίο δεν είναι συνδεμένο πουθενά. Εάν είναι επιλεγμένο το πλήκτρο προειδοποίησης και υπάρχουν ειδοποιήσεις οι οποίες δεν έχουν διορθωθεί, τότε εμφανίζεται το εικονίδιο προειδοποιήσεων στην γραμμή εργαλείων του παραθύρου επεξεργασίας. Μπορούμε να κάνουμε κλικ σε αυτό το εικονίδιο για να εμφανιστεί το παράθυρο των προβλημάτων του VI, το οποίο περιγράφει το πρόβλημα. Εκτέλεση ενός VI με απλό βήμα Για λόγους αποσφαλμάτωσης, μπορούμε να εκτελέσουμε ένα μπλοκ διάγραμμα, κομμάτι κομμάτι. Για να ενεργοποιήσουμε την λειτουργία απλού βήματος (singlestep) επιλέγουμε το πλήκτρο. Ξεκινά η εκτέλεση του VI βήμα προς βήμα και στο μπλοκ διάγραμμα εμφανίζεται μέσα σε ένα μαύρο πλαίσιο το αντικείμενο που είναι 114

119 το επόμενο προς εκτέλεση. Κάνοντας κλικ στο ίδιο πλήκτρο και πάλι, η εκτέλεση του VI προχωρά κατά ένα βήμα. Με το πλήκτρο «βήμα διαμέσου» (step over) δεν εκτελείτε το συγκεκριμένο αντικείμενο και πηγαίνει στο αμέσως επόμενο. Το πλήκτρο «βήμα έξω» (step out) αγνοεί όλα τα εναπομείναντα αντικείμενα του διαγράμματος και πηγαίνει την εκτέλεση του VI έξω από την δομή που εκτελούνταν. Πχ. έξω από ένα βρόγχο ή το subvi στο οποίο βρισκόταν. Πατώντας το πλήκτρο διακοπή εκτέλεσης διακόπτεται άμεσα η εκτέλεση του VI στο σημείο όπου βρισκόταν, χωρίς να εκτελέσει τα υπόλοιπα αντικείμενα, ενώ πατώντας το συνεχίζεται η εκτέλεση του VI κανονικά (όχι βήμα προς βήμα) μέχρις ότου ολοκληρωθούν όλα τα εναπομείναντα βήματα. Επισήμανση εκτέλεσης Για λόγους αποσφαλμάτωσης, μπορεί να θέλουμε να δούμε γραφικά και με κίνηση τον τρόπο εκτέλεσης ενός VI στο μπλοκ διάγραμμα. Για να ενεργοποιήσουμε αυτήν την λειτουργία πιέζουμε το πλήκτρο επισήμανσης εκτέλεσης το οποίο βρίσκεται στη παλέτα εργαλείων αν το VI είναι σε κατάσταση εκτέλεσης. Δεν εμφανίζεται όταν το VI είναι σε κατάσταση επεξεργασίας. Η επισήμανση εκτέλεσης συχνά χρησιμοποιείτε σε συνδυασμό με την εκτέλεση βήμα προς βήμα, έτσι ώστε να είναι ποιο κατανοητή η ροή των δεδομένων από κόμβο σε κόμβο. Καθώς τα δεδομένα περνούν από τον ένα κόμβο στον άλλο, η κίνηση των δεδομένων εμφανίζεται σαν φούσκες που μετακινούνται κατά μήκος των καλωδίων. Θα παρατηρήσετε ότι η ταχύτητα εκτέλεσης του VI χρησιμοποιώντας την επισήμανση εκτέλεσης είναι εμφανώς μειωμένη σε σχέση με την κανονική εκτέλεση. Η επόμενη εικόνα δείχνει ένα VI το οποίο εκτελείτε με την επισήμανση εκτέλεσης ενεργοποιημένη. 115

120 Χρησιμοποιώντας το εργαλείο ελέγχου δεδομένων (Probe data) Χρησιμοποιούμε το εργαλείο ελέγχου για τον έλεγχο ενδιάμεσων τιμών σε ένα VI που εκτελείτε κανονικά αλλά επιστρέφει αμφισβητήσιμα ή απροσδόκητα αποτελέσματα. Για παράδειγμα, αν έχουμε ένα πολύπλοκο μπλοκ διάγραμμα με σειρά διαδικασιών, οποιαδήποτε από αυτές θα μπορούσε να επιστρέφει εσφαλμένα δεδομένα. Έτσι μπορούμε να συνδέσουμε ένα indicator στο καλώδιο εξόδου, ώστε να εμφανίζονται τα ενδιάμεσα αποτελέσματα, ή να χρησιμοποιήσουμε το εργαλείο ελέγχου δεδομένων, η οποία είναι μια απλούστερη τεχνική. Για να εμφανιστεί το probe όπως ονομάζεται, θα πρέπει να βρισκόμαστε σε κατάσταση εκτέλεσης του VI. Κάνουμε δεξί κλικ στο καλώδιο στο οποίο θέλουμε να βλέπουμε τα ενδιάμεσα αποτελέσματα και επιλέγουμε Probe. Αμέσως εμφανίζεται το παράθυρο Probe Watch, το οποίο και μένει συνεχώς στο προσκήνιο πάνω από οποιοδήποτε άλλο παράθυρο, και οι εμφανίζονται να αναβοσβήνουν οι τιμές που μεταφέρονται από το καλώδιο που επιλέχτηκε. Κάθε καλώδιο μπορεί να έχει ένα μόνο Probe. Μπορούμε να 116

121 χρησιμοποιήσουμε το Probe σε συνδυασμό με την επισήμανση εκτέλεσης και την εκτέλεση βήμα προς βήμα για ευκολότερη επισκόπηση των τιμών. Να σημειωθεί ότι με το Probe είναι αδύνατη η αλλαγή τιμών, και δεν έχει καμία επίπτωση στην εκτέλεση ενός VI. Σε περίπτωση που δεν μπορούμε να θυμηθούμε ποιο probe αντιστοιχεί σε ποιο καλώδιο, μπορούμε απλά να κάνουμε δεξί κλικ είτε στο probe είτε στο καλώδιο και να επιλέξουμε «εύρεση καλωδίου» (Find Wire) ή «εύρεση probe» (Find Probe), αντίστοιχα, ώστε να επισημανθεί, το ανάλογο αντικείμενο. Μπορούμε επίσης να εμφανίσουμε τις τιμές που θέλουμε χρησιμοποιώντας ένα συμβατικό indicator κάνοντας δεξί κλικ στο καλώδιο και επιλέγοντας Custom Probe, και έπειτα το control που θέλουμε από την λίστα των Controls όπως φαίνεται παρακάτω. 117

122 Επιλέγοντας σημεία διακοπής (Breakpoints) Τα σημεία διακοπής είναι ένα ακόμη μέσο αποσφαλμάτωσης. Τα χρησιμοποιούμε για να διακόψουμε την εκτέλεση ενός VI σε κατάλληλα σημεία έτσι ώστε να μπορούμε να ελέγξουμε τα αποτελέσματα και τις τιμές πριν αυτές περάσουν σε κάποιο επόμενο αντικείμενο ή σε κάποιο υψηλότερου επιπέδου subvi. Για τον ορισμό ενός σημείου διακοπής αρκεί να κάνουμε δεξί κλικ στο αντικείμενο ή στο καλώδιο στο οποίο μας ενδιαφέρει η τιμή που επιστρέφεται και να επιλέξουμε Breakpoint και αμέσως μετά Set Breakpoint. Έτσι κατά την εκτέλεση του VI, όταν η ροή της εκτέλεσης φτάσει στο σημείο που έχουμε ως σημείο διακοπής, η εκτέλεση θα παγώσει έτσι ώστε να μπορέσουμε να ελέγξουμε τα ενδιάμεσα αποτελέσματα και να σιγουρευτούμε για την ορθότητά τους και ότι το επόμενο επίπεδο θα πάρει σωστά δεδομένα εισόδου. Μπορούμε να ενεργοποιήσουμε και να απενεργοποιήσουμε σημεία διακοπής με την επιλογή διακοπή μετά από κλήση (Suspend when called) του μενού Operate, αλλά και από το μενού subvi Node Setup που το βρίσκουμε κάνοντας δεξί κλικ πάνω στο subvi όταν βρισκόμαστε στο μπλοκ διάγραμμα κάποιου VI. Οι δύο αυτές μέθοδοι είναι εναλλάξιμες, αλλά και έτσι και οι δύο προκαλούν διακοπή στην εκτέλεση του VI όταν γίνεται οποιαδήποτε κλήση προς το subvi. Αν το subvi καλείτε από δύο διαφορετικά σημεία σε ένα μπλοκ διάγραμμα, τότε γίνεται διακοπή και τις δύο φορές που καλείτε το subvi. Αν θέλουμε να γίνεται διακοπή εκτέλεσης μόνο σε κάποια συγκεκριμένη περίπτωση κλήσης σε κάποιο subvi, τότε θα πρέπει να ορίσουμε διακοπή εκτέλεσης μέσω του SubVI Node Setup που βρίσκεται κάνοντας δεξί κλικ στο subvi που θέλουμε και επιλέγοντας SubVI Node Setup όντας βρισκόμενοι στο μπλοκ διάγραμμα του VI που καλεί το subvi. Στο παράθυρο που εμφανίζεται ενεργοποιούμε την εντολή διακοπή μετά από κλήση (Suspend when called). 118

123 Όταν ένα subvi συναντήσει ένα σημείο διακοπής, τότε εμφανίζεται στο προσκήνιο και παραμένει σε κατάσταση αναστολής. Σε αυτό το σημείο, οι τιμές που εμφανίζονται στα controls του subvi είναι οι τιμές που περνούν στο VI που κάλεσε το συγκεκριμένο subvi. Αυτές τις τιμές μπορούμε αν θέλουμε να τις αλλάξουμε. Τα indicators του subvi εμφανίζουν είτε τις προεπιλεγμένες τιμές, είτε τις τιμές από την τελευταία εκτέλεση του subvi όταν αυτό ήταν ανοιχτό. Κατά την διάρκεια της κατάστασης αναστολής εμφανίζονται δύο πλήκτρα στην παλέτα εκτέλεσης του subvi. Πατώντας το πλήκτρο της εκτέλεσης (run) μπορούμε να εκτελέσουμε το subvi σαν να ήταν ένα υψηλού επιπέδου VI. Το ίδιο επιτυγχάνεται και με την επιλογή Run από το μενού Operate. Όταν τελειώσει η εκτέλεση του subvi, τα indicators εμφανίζουν τις τιμές από την τελευταία αυτή εκτέλεση. Μπορούμε όμως, αν θέλουμε, να αλλάξουμε αυτές τις τιμές αν θέλουμε να επιστρέψουμε διαφορετικές τιμές στο VI που κάλεσε το subvi. Μπορούμε, επίσης, να εκτελέσουμε όσες φορές θέλουμε το subvi στο σημείο διακοπής. Καθώς ξαναεκτελούμε το subvi, μπορούμε να επιστρέψουμε στην κατάσταση αναστολής αμέσως, χρησιμοποιώντας το πλήκτρο stop ή την εντολή Stop από το μενού Operate. Κάνουμε κλικ στο πλήκτρο επιστροφή στον καλούντα (Return to Caller) όταν είμαστε έτοιμοι να επιστρέψουμε τις τιμές των indicators του subvi στο VI το οποίο το κάλεσε. Αν επιλέξουμε το Return to Caller χωρίς να έχουμε επιλέξει πριν το Run, τότε το subvi δεν εκτελείτε πριν επιστρέψει στο κεντρικό VI. Πέρα από τα subvis και τα VIs, μπορούμε να εισάγουμε σημεία διακοπής σχεδόν οπουδήποτε στο μπλοκ διάγραμμα. 119

124 Τεχνικές αποσφαλμάτωσης για εκτελέσιμα VIs Όταν τα αποτελέσματα δεν είναι σωστά Εάν το πρόγραμμα εκτελείτε αλλά δεν παράγει τα αναμενόμενα αποτελέσματα, μπορούμε να χρησιμοποιήσουμε τις παρακάτω προτάσεις σαν αναφορά για την εύρεση των προβλημάτων. Μην ανησυχείτε αν κάποια από τα προβλήματα δεν βγάζουν νόημα γιατί πιθανόν να αναφέρονται σε δομές που δεν έχουμε μάθει ακόμη: Ελέγχουμε τις διαδρομές των καλωδίων για να σιγουρευτούμε ότι τα καλώδια ενώνουν τις κατάλληλες τερματικές συνδέσεις. Κάνοντας τριπλό κλικ σε κάποιο καλώδιο με το εργαλείο τοποθέτησης, επιλέγετε ολόκληρη η διαδρομή. Ένα καλώδιο που φαίνεται να ξεκινά από ένα τερματικό, μπορεί στην πραγματικότητα να ξεκινά από κάποιο εντελώς διαφορετικό, έτσι θα πρέπει να ελέγξουμε προσεκτικά σε ποιον κόμβο καταλήγει το τέλος του. Χρησιμοποιούμε το παράθυρο βοήθειας έτσι ώστε να σιγουρέψουμε ότι όλες οι λειτουργίες είναι συνδεδεμένες σωστά. Επαληθεύουμε ότι η προεπιλεγμένες τιμές είναι αυτές που περιμένουμε σε λειτουργίες ή subvis που έχουν μη χρησιμοποιούμενες και μη καλωδιωμένες εισόδους. Χρησιμοποιούμε σημεία διακοπής, επισημάνσεις εκτέλεσης, και την εκτέλεση απλού βήματος για να διαπιστώσουμε αν το VI εκτελείτε όπως προβλέψαμε. Δεν πρέπει να ξεχνούμε να απενεργοποιούμε αυτές τις λειτουργίες σε περίπτωση που αυτό που μας ενδιαφέρει είναι η ταχύτητα εκτέλεσης του προγράμματος. Χρησιμοποιούμε το εργαλείο ανίχνευσης (Probe) όπως αυτό περιγράφηκε στην αντίστοιχη παράγραφο για την επισκόπηση των ενδιάμεσων τιμών. Επίσης ελέγχουμε και την έξοδο λάθους των λειτουργιών και των subvis, ειδικότερα αυτών που εκτελούν είσοδο/έξοδο δεδομένων. 120

125 Παρατηρούμε την συμπεριφορά των VIs και subvis με διάφορες τιμές εισόδου. Για αριθμητικά controls, μπορούμε να εισάγουμε και τις τιμές NaN (Not A Number) και ±Inf (Infinity) πέρα από τις κανονικές αριθμητικές τιμές. Επιβεβαιώνουμε ότι η επισήμανση εκτέλεσης είναι απενεργοποιημένη για τα subvis αν το VI εκτελείτε με αργή ταχύτητα. Επίσης κλείνουμε όλα τα παράθυρα από τα subvis που δεν χρησιμοποιούμε. Ελέγχουμε για βρόχους που μπορεί να μην κάνουν καμία επανάληψη και παράγουν άδειους πίνακες δεδομένων. Επιβεβαιώνουμε ότι έχουμε αρχικοποιήσει σωστά τους shift registers, εκτός και αν θέλουμε να αποθηκεύουν δεδομένα σε κάθε εκτέλεση του βρόχου. Ελέγχουμε την σειρά των στοιχείων στα clusters και στα σημεία πηγών αλλά και στα σημεία προορισμών. Παρόλο που το LabVIEW μπορεί και ανιχνεύει αυτόματα και τον τύπο τον δεδομένων και το μέγεθος του cluster και τις αναντιστοιχίες τους κατά την διαδικασία την επεξεργασίας, δεν μπορεί να ανιχνεύσει τις αναντιστοιχίες ανάμεσα σε στοιχεία ίδιου τύπου. Χρησιμοποιούμε έτσι το Reorder Controls In Cluster από το μενού συντόμευσης έτσι ώστε να αλλάξουμε την σειρά των στοιχείων. Ελέγχουμε της σειρά εκτέλεσης των κόμβων. Μη συνδεδεμένοι κόμβοι μπορούν να εκτελεστούν με οποιαδήποτε σειρά. Η χωροταξική τοποθέτησή τους δεν δηλώνει και την σειρά εκτέλεσής τους. Έτσι μη συνδεδεμένοι κόμβοι δεν εκτελούνται από αριστερά προς τα δεξιά, ή από πάνω προς τα κάτω όπως γίνεται πχ. σε γλώσσες προγραμματισμού. 121

126 6.4 Χρήσιμες Συμβουλές Παρακάτω θα βρείτε μια λίστα από συμβουλές και τεχνικές χρήσιμες για την ανάπτυξη VIs στο LabVIEW: Οι πιο συχνά χρησιμοποιούμενες εντολές από τα μενού έχουν συντομεύσεις πληκτρολογίου. Για παράδειγμα, για να αποθηκεύσουμε ένα VI, μπορούμε να επιλέξουμε Save από το μενού File, ή να πατήσουμε το πλήκτρο Control μαζί με το S αν εργαζόμαστε σε περιβάλλον Windows και Command μαζί με το S αν εργαζόμαστε σε περιβάλλον Mac. Μερικές συχνά χρησιμοποιούμενες συντομεύσεις είναι οι εξής: <Cmd> ή <Ctrl> <r> - εκτέλεση ενός VI <Cmd> ή <Ctrl> <e> - εναλλαγή μεταξύ μπλοκ διαγράμματος και front panel <Cmd> ή <Ctrl> <h> - ενεργοποίηση/απενεργοποίηση παραθύρου βοήθειας <Cmd> ή <Ctrl> <b> - διαγραφή όλων των μη συνδεδεμένων καλωδίων <Cmd> ή <Ctrl> <w> - κλείσιμο του ενεργού παραθύρου Για να αλλάξουμε διεύθυνση στο καλώδιο την ώρα που το τοποθετούμε, πιέζουμε το spacebar (κενό). Για να μετακινήσουμε τα επιλεγμένα αντικείμενα στο front panel αλλά και στο μπλοκ διάγραμμα, χρησιμοποιούμε τα βέλη κατεύθυνσης. Πατώντας τα πλήκτρα κατεύθυνσης, μετακινούμε το επιλεγμένο αντικείμενο ένα pixel κατά την κατεύθυνση του πλήκτρου που πιέσαμε. Αυτή η συμβουλή μπορεί να χρησιμοποιηθεί και σε επιλεγμένα κομμάτια καλωδίων. Για αυξήσουμε και να μειώσουμε γρηγορότερα τις τιμές σε κάποιο control, κρατούμε πατημένο το πλήκτρο <shift>. Για να προσθέσουμε αντικείμενα γρήγορα σε ένα ring control, πατούμε <Shift- Enter> αμέσως μετά την πληκτρολόγηση του ονόματος του αντικειμένου. 122

127 Πατώντας το <Shift-Enter> αποθηκεύεται το αντικείμενο, και ο κέρσορας τοποθετείται έτσι ώστε να προστεθεί το επόμενο αντικείμενο. Για να αντιγράψουμε ένα αντικείμενο, επιλέγουμε το αντικείμενο, πιέζουμε το <Ctrl> σε Η/Υ που τρέχει Windows ή το <Option> σε Mac Η/Υ και μετακινούμε το ποντίκι. Κατά την μετακίνηση αυτή, μετακινούμε και ένα αντίγραφο του αντικειμένου. Για να οριοθετήσουμε την μετακίνηση ενός αντικειμένου κατά τον οριζόντιο ή κατακόρυφο άξονα, αρκεί να πατήσουμε το <Shift> την ώρα «τραβούμε» το αντικείμενο. Για να επιλέξουμε το χρώμα ενός αντικειμένου χρησιμοποιούμε το εργαλείο επιλογής χρώματος (Set Color). Τοποθετούμε το εργαλείο πάνω από το αντικείμενο και πιέζουμε και κρατάμε πατημένο το <Ctrl> σε υπολογιστή Windows ή το <Option> σε Mac. Εργαλείο αλλάζει σε μορφή «ρουφήχτρας». Παίρνουμε το χρώμα του αντικειμένου κάνοντας απλά κλικ πάνω στο αντικείμενο. Αφήνοντας τώρα το <Ctrl> ή το <Option> μπορούμε να αλλάξουμε το χρώμα σε όποιο αντικείμενο επιθυμούμε, με το χρώμα που έχουμε ήδη επιλέξει. Ένα πολύ συχνό λάθος σε νέους χρήστες του LabVIEW, είναι να συνδέουν μεταξύ τους δυο controls ή να συνδέουν δυο controls σε ένα indicator. Αυτού του είδους τα λάθη επιστρέφουν το μήνυμα λάθους «Το σήμα έχει πολλαπλές πηγές» (Signal: has multiple sources). Για να λυθεί το πρόβλημα, κάνουμε δεξί κλικ στο ένα control και επιλέγουμε αλλαγή σε indicator (Change to indicator). Για να σβήσουμε ένα καλώδιο καθώς το τοποθετούμε, αρκεί να κάνουμε δεξί κλικ σε περιβάλλον windows ή να σύρουμε το ποντίκι έξω από τα όρια του παραθύρου του LabVIEW και να κάνουμε κλικ, σε περιβάλλον Mac. 123

128 124

129 ΚΕΦΑΛΑΙΟ 7 Δομές 7.1 Διπλή επανάληψη Χρησιμοποιούμε τον βρόγχο «Για» (For loop) και τον βρόχο «Όσο» (While loop) για να χειριστούμε εντολές που επαναλαμβάνονται πολλές φορές μέσα σε ένα VI. Ο βρόχος «Για» επαναλαμβάνεται για ένα συγκεκριμένο αριθμό φορών, ενώ ο βρόχος «Όσο» εκτελείτε συνεχώς έως ότου η συνθήκη που έχει οριστεί πάψει να είναι αληθής. Μπορούμε να βρούμε τις επαναλήψεις στην παλέτα εργαλείων Programming Structures στο μενού Functions. Ο βρόγχος «Για» Ο βρόγχος «Για», όπως φαίνεται την παρακάτω εικόνα, εκτελεί τον κώδικα που υπάρχει μέσα στα όριά του, και ονομάζεται υποδιάγραμμα. Το terminal N δείχνει πόσες φορές θα εκτελεστεί η επανάληψη. Μπορούμε να ορίσουμε τον αριθμό των επαναλήψεων συνδέοντας στο terminal N μια συγκεκριμένη τιμή. 125

130 Το terminal i εμφανίζει τον αριθμό των ολοκληρωμένων επαναλήψεων που έχουν γίνει μέχρι στιγμής. 0 για την πρώτη επανάληψη, 1 για την δεύτερη και ούτω καθεξής έως το N-1. Αν δώσουμε την τιμή 0 στο terminal N τότε ο βρόγχος δεν θα εκτελεστεί. Ο ψευδοκώδικας για την επανάληψη «Για» είναι ο εξής: For i = 0 to N-1 Εκτέλεση υποδιαγράμματος Ο βρόγχος «Όσο» Ο βρόγχος «Όσο», όπως φαίνεται στην παρακάτω εικόνα, εκτελεί τον κώδικα στο εσωτερικό των ορίων του, έως ότου η Boolean τιμή που έχει το terminal της συνθήκης γίνει ΨΕΥΔΕΣ. Το LabVIEW ελέγχει την συνθήκη που βρίσκεται στο terminal αυτό, στο τέλος κάθε εκτέλεσης της επανάληψης. Εάν η συνθήκη είναι ΑΛΗΘΗΣ, τότε γίνεται άλλη μια εκτέλεση της επανάληψης. Η προεπιλεγμένη τιμή της συνθήκης ελέγχου στο terminal αυτό είναι ΨΕΥΔΗΣ, έτσι εάν δεν συνδέσουμε κάτι στο terminal, τότε ο βρόγχος θα εκτελεστεί μόνο μια φορά. 126

131 Το terminal i συμπεριφέρεται ακριβώς όπως και στον βρόγχο «Για». Ο ψευδοκώδικας για την επανάληψη «Όσο» είναι ο εξής: Do Εκτέλεση υποδιαγράμματος (στην οποία αλλάζει η συνθήκη εκτέλεσης) While condition is TRUE Τοποθετώντας Αντικείμενα μέσα στις Δομές Όταν επιλέγουμε για πρώτη φορά μια δομή από το μενού Functions και την παλέτα Programming Structures ο κέρσορας παίρνει μια μικροσκοπική μορφή της δομής που μόλις επιλέξαμε. Μπορούμε έπειτα να κάνουμε κλικ (και κρατώντας πατημένο το αριστερό πλήκτρο του ποντικιού) στο σημείο που θέλουμε να βάλουμε το πάνω αριστερό μέρος της δομής που θέλουμε, και τραβώντας το ποντίκι να ορίσουμε τα σύνορα της δομής μας. Αφήνοντας το πλήκτρο του ποντικιού, εμφανίζονται τα όρια της δομής μας να περιέχουν όλα εκείνα τα αντικείμενα που έχουμε περικλείσει μέσα. Μετά την τοποθέτηση της δομής μας στο διάγραμμα, μπορούμε να τοποθετήσουμε επιπλέον αντικείμενα μέσα είτε τραβώντας τα μέσα, είτε επιλέγοντας να τα δημιουργήσουμε μέσα στην δομή μας, κάνοντας δεξί κλικ μέσα στα όρια της δομής 127

132 μας και επιλέγοντας το αντικείμενο που θέλουμε να εισάγουμε. Για να είναι εμφανής το πότε ένα αντικείμενο έχει μπει μέσα στην δομή μας, τα όρια της δομής μας θα γίνουν έντονα καθώς το αντικείμενο εισέρχεται στα όρια της δομής. Εάν τραβήξουμε κάποιο αντικείμενο έξω από τα όρια της δομής μας, τότε τα όρια του διαγράμματος μπλοκ γίνονται έντονα για να δείξει ότι έγινε σωστά η μεταφορά. Αν μετακινήσουμε μια υπάρχουσα δομή πάνω από μέρος ενός άλλου αντικειμένου, το αντικείμενο αυτό θα είναι εμφανές πάνω από την δομή που μετακινούμε. Αν μετακινήσουμε όμως ολόκληρη την δομή πάνω από κάποιο άλλο αντικείμενο και το καλύψουμε εντελώς, τότε το αντικείμενο που καλύφθηκε θα εμφανίζεται με μια παχιά σκιά για να μας προειδοποιήσει ότι αντικείμενο αυτό είναι κάτω από την δομή και όχι μέσα σε αυτήν. Και οι δύο αυτές περιπτώσεις φαίνονται στο παρακάτω σχήμα. Terminals μέσα σε βρόγχους και άλλα προβλήματα συμπεριφοράς Καθώς το LabVIEW λειτουργεί σύμφωνα με τους νόμους των διαγραμμάτων ροής δεδομένων, τα δεδομένα που θα εισαχθούν σε ένα βρόγχο επανάληψης, θα πρέπει να περάσουν τις τιμές τους πριν εκτελεστεί ο βρόγχος. Τα δεδομένα εξόδου της 128

133 επανάληψης θα πρέπει να εξαχθούν μόνο μετά το τέλος όλων των επαναλήψεων που χρειάζεται. Επιπλέον, αν θέλουμε ένα terminal να ελέγχεται και να ενημερώνεται σε κάθε επανάληψη, τότε αυτό θα πρέπει να τοποθετηθεί μέσα στον βρόγχο. Για παράδειγμα, ο αριστερός βρόγχος «Όσο» στην επόμενη εικόνα ελέγχει το Boolean control σε κάθε επανάληψη. Όταν ο βρόγχος διαβάσει ΨΕΥΔΗ τιμή, τότε διακόπτει την εκτέλεση του. Αν τοποθετήσουμε το Boolean control έξω από το βρόγχο, όπως φαίνεται στον παραπάνω δεξί βρόγχο, τότε δημιουργούμε ένα αέναο βρόγχο ή ένα βρόγχο που θα εκτελεστεί μόνο μια φορά, ανάλογα με την αρχική τιμή του Boolean control. Το LabVIEW ακολουθώντας πιστά την ροή των δεδομένων, διαβάζει την τιμή της Boolean μεταβλητής πριν εισέλθει στον βρόγχο, και όχι κατά την διάρκεια της εκτέλεσης του βρόγχου ή μετά το τέλος αυτής. Δεν πρέπει να ξεχνούμε ότι κατά την διάρκεια της πρώτης εκτέλεσης ενός βρόγχου, ο αριθμός εκτέλεσης είναι μηδέν! Αν θέλουμε να αποθηκεύσουμε το αριθμό των επαναλήψεων που εκτελέστηκαν, θα πρέπει να προσθέσουμε το ένα στον αριθμό εκτέλεσης. Δηλαδή i

134 7.2 Καταχωρητές ολίσθησης Οι καταχωρητές ολίσθησης (παρέχονται και για τους βρόγχους «Για» και για τους βρόγχους «Όσο») είναι τοπικές μεταβλητές που μεταφέρουν την τιμή τους από την μια εκτέλεση του βρόγχου στον επόμενο βρόγχο. Είναι μοναδικές και απαραίτητες για την γραφική απεικόνιση του LabVIEW. Δημιουργούνται κάνοντας δεξί κλικ στο αριστερό ή δεξί όριο ενός βρόγχου και επιλέγοντας Add Shift Register από το μενού που εμφανίζεται. Ο καταχωρητής ολίσθησης αποτελείτε από ένα ζευγάρι terminals τα οποία εμφανίζονται ακριβώς σε απέναντι θέσεις στις κάθετες πλευρές των ορίων ενός βρόγχου. Το δεξί terminal αποθηκεύει τα δεδομένα μόλις ολοκληρωθεί η συγκεκριμένη επανάληψη. Τα δεδομένα, αμέσως μετά, «ολισθαίνουν» στο τέλος της επανάληψης και εμφανίζονται στο αριστερό terminal στην έναρξη της επόμενης επανάληψης, όπως φαίνεται και στην επόμενη εικόνα. Ένας καταχωρητής ολίσθησης μπορεί να κρατήσει δεδομένα οποιασδήποτε μορφής, αριθμητικά, Boolean, χαρακτήρες, πίνακες κτλ. Ο καταχωρητής ολίσθησης προσαρμόζεται αυτόματα στον τύπο των δεδομένων του πρώτου αντικειμένου που συνδέεται σε ένα από τα τερματικά του. Πριν την εκκίνηση Πρώτη επανάληψη Επόμενη επανάληψη Τελευταία επανάληψη Αρχική τιμή Αρχική τιμή Προηγούμενη νέα τιμή Προηγούμενη νέα τιμή Αρχική τιμή Νέα τιμή Νέα τιμή Νέα τιμή Μπορούμε να ρυθμίσουμε τον καταχωρητή ολίσθησης ώστε να κρατά τιμές από αρκετές από τις προηγούμενες επαναλήψεις, όπως φαίνεται και στο παρακάτω σχήμα. Αυτό είναι αρκετά χρήσιμο όταν θέλουμε να βρούμε μέσους όρους σε 130

135 δεδομένα που έχουμε πάρει σε διαφορετικές επαναλήψεις. Για να δημιουργήσουμε νέα terminals για να μπορούμε να πάρουμε τιμές από προηγούμενες επαναλήψεις, κάνουμε δεξί κλικ στο αριστερό όριο του βρόγχου μας και επιλέγουμε Add Element. Οι προηγούμενες τιμές είναι διαθέσιμες στα αριστερά terminals. Με δεξί κλικ στα terminals στο αριστερό μέρος προσθέτουμε νέα στοιχεία (New elements). 1 επανάληψη πριν 2 επαναλήψεις πριν 3 επαναλήψεις πριν Η τελευταία τιμή περνά στα αριστερά terminals. Με δεξί κλικ στην δεξιά πλευρά προσθέτουμε νέους καταχωρητές ολίσθησης. Αρχικοποιώντας τους καταχωρητές ολίσθησης Θα πρέπει πάντα να αρχικοποιούμε τους καταχωρητές ολίσθησης εκτός και αν έχουμε κάποιον συγκεκριμένο λόγο και κάνουμε συνειδητά αυτήν την επιλογή. Για να αρχικοποιήσουμε τον καταχωρητή ολίσθησης με ένα συγκεκριμένο αριθμό, συνδέουμε αυτή την τιμή με το αριστερό terminal του καταχωρητή ολίσθησης έξω από τον βρόγχο, όπως φαίνεται και στην παρακάτω εικόνα. Αν δεν αρχικοποιήσουμε τον καταχωρητή, η αρχική του τιμή θα είναι η προεπιλεγμένη τιμή ανάλογα με τον τύπο δεδομένων του καταχωρητή ολίσθησης την πρώτη φορά που θα εκτελέσουμε το πρόγραμμα. Για παράδειγμα αν ο καταχωρητής ολίσθησης έχει Boolean δεδομένα, τότε η αρχική του τιμή θα είναι ΨΕΥΔΗΣ. Όμοια, αν ο καταχωρητής ολίσθησης έχει αριθμητικά δεδομένα, τότε η αρχική του τιμή θα είναι μηδέν. Την δεύτερη φορά, όμως, που θα εκτελέσουμε το πρόγραμμα, αν δεν έχουμε αρχικοποιήσει τον 131

136 καταχωρητή, αυτό θα περιέχει σαν αρχική τιμή, την τιμή που έμεινε από την τελευταία εκτέλεση του προγράμματος. Στην επόμενη εικόνα φαίνεται στα αριστερά το τι γίνεται αν έχουμε αρχικοποιήσει τον καταχωρητή ολίσθησης μετά από δύο επαναλήψεις, και δεξιά αν δεν έχουμε αρχικοποιήσει τον καταχωρητή. Θα πρέπει να δώσουμε προσοχή στο γεγονός ότι το LabVIEW δεν διαγράφει τις τιμές στους καταχωρητές ολίσθησης μέχρις ότου κλείσει το πρόγραμμα και διαγραφεί από την μνήμη του Η/Υ. Με άλλα λόγια αν τρέξουμε ένα VI που περιέχει μη αρχικοποιημένο καταχωρητή ολίσθησης, οι αρχικές τιμές μετά από την πρώτη εκτέλεση θα είναι αυτές που έμειναν από την τελευταία εκτέλεση. Τα προβλήματα που εμφανίζονται είναι πάρα πολύ δύσκολο να εντοπιστούν. Εκτέλεση 1 Εκτέλεση 1 Αρχική τιμή 5 Αρχική τιμή 0 Εκτέλεση 2 Εκτέλεση 2 Αρχική τιμή 5 Αρχική τιμή 7 Γιατί είναι απαραίτητοι οι καταχωρητές ολίσθησης Παρατηρήστε το παρακάτω παράδειγμα. Στον πρώτο βρόγχο, δημιουργούμε ένα άθροισμα από τον μετρητή επαναλήψεων. Κάθε φορά κατά την διάρκεια της επανάληψης, το νέο άθροισμα αποθηκεύεται στον καταχωρητή ολίσθησης. Στο τέλος 132

137 των επαναλήψεων το συνολικό άθροισμα 45 περνά στο αριθμητικό indicator. Στον δεύτερο βρόγχο, δεν έχουμε καταχωρητή ολίσθησης, έτσι δεν αποθηκεύονται οι τιμές ανάμεσα στις επαναλήψεις. Έτσι, προσθέτουμε το μηδέν στον μετρητή επαναλήψεων και μόνο η τελευταία τιμή 9 θα περάσει στο αριθμητικό indicator. Α Β 7.3 Η δομή Case Η δομή Case είναι μια μέθοδος του LabVIEW εκτέλεσης κειμένου υπό όρους, κάτι σαν το if-then-else στις γλώσσες προγραμματισμού. Μπορούμε να το βρούμε στο Programming Structures στην παλέτα Functions. Η δομή Case, που φαίνεται στην παρακάτω εικόνα, έχει δύο ή παραπάνω υποδιαγράμματα, ή cases, ακριβώς ένα από τα οποία εκτελείται, ανάλογα με την τιμή της Boolean μεταβλητής ή της αριθμητικής σταθεράς που συνδέεται με το terminal επιλογής. Εάν είναι συνδεμένη μια Boolean τιμή στο terminal επιλογής, τότε η δομή μας έχει δύο cases, ΨΕΥΔΗΣ και ΑΛΗΘΗΣ. Εάν συνδεθεί μια αριθμητική σταθερά στο terminal επιλογής, τότε η δομή μας μπορεί να έχει από 0 έως cases. Αρχικά μόνο τα cases 0 και 1 είναι διαθέσιμα, όμως είναι πολύ εύκολο να προσθέσουμε όσα χρειαζόμαστε. Όταν για πρώτη φορά προσθέσουμε μια δομή case στο μπλοκ διάγραμμα, τότε εμφανίζεται στην μορφή Boolean. Αλλάζει σε αριθμητικό case, μόλις συνδέσουμε μια αριθμητική τιμή στο terminal επιλογής. 133

138 Boolean δομή Αριθμητική δομή Terminal επιλογής Η δομή Case μπορεί να έχει πολλαπλά υποδιαγράμματα, όμως μπορούμε να δούμε μόνο ένα κάθε φορά, όπως πχ. σαν τα στοιβαγμένα τραπουλόχαρτα. Επιλέγοντας πλήκτρο μείωσης (αριστερό βέλος) ή της αύξησης (δεξί βέλος) στο πάνω μέρος της δομής case, εμφανίζεται το προηγούμενο ή επόμενο υποδιάγραμμα, αντίστοιχα. Αν συνδεθεί ένας αριθμός κινητής υποδιαστολής στο terminal επιλογής, το LabVIEW στρογγυλοποιεί τον αριθμό αυτό στον κοντινότερο ακέραιο. Μετατρέπει τους αρνητικούς αριθμούς σε μηδέν, και αλλάζει τους αριθμούς που είναι μεγαλύτεροι από την μέγιστη τιμή cases που έχουμε, έτσι ώστε να εξισωθεί με τον αριθμό του μεγαλύτερου case. Μπορούμε να μετακινήσουμε το terminal επιλογής οπουδήποτε πάνω στο αριστερό όριο της δομής μας, όμως θα πρέπει να συνδέσουμε κάτι σε αυτό. Το case προσαρμόζεται αυτόματα στον τύπο δεδομένων που θα συνδέσουμε. Αν αλλάξουμε τον τύπο δεδομένων από αριθμητικό σε Boolean, τα cases 0 και 1 γίνονται ΨΕΥΔΗ και ΑΛΗΘΗ. Αν υπάρχουν παραπάνω από 2 cases (2 έως n), τότε το LabVIEW δεν τα διαγράφει, σε περίπτωση που η αλλαγή αυτή έγινε κατά λάθος. Όμως, θα πρέπει να διαγραφούν οι πλεονάζουσες πριν εκτελεστεί το πρόγραμμα. Συνδέοντας Εισόδους και Εξόδους Τα δεδομένα σε όλες τα terminal εισόδων (τούνελ και terminal επιλογής) είναι διαθέσιμα σε όλα τα cases. Τα cases δεν είναι απαραίτητο να χρησιμοποιούν 134

139 δεδομένα εισόδου ή να εξάγουν δεδομένα, όμως αν ένα από τα cases εξάγει δεδομένα, τότε και όλα τα υπόλοιπα θα πρέπει να κάνουν το ίδιο. Αν δεν συνδεθεί τούνελ εξόδου δεδομένων από κάθε case, τότε το τούνελ γίνεται άσπρο και εμφανίζεται το σπασμένο βέλος εκτέλεσης. Προσθέτοντας Cases Αν κάνουμε δεξί κλικ στο όριο της δομής μας, στο μενού που εμφανίζεται υπάρχουν οι επιλογές για την Προσθήκη Case Μετά (Add Case After) και Προσθήκη Case Πριν (Add Case Before) από το τρέχων case. Αυτές οι επιλογές δημιουργούν case που εμφανίζεται είτε πριν είτε μετά από το case που είναι επιλεγμένο. Μπορούμε επίσης να επιλέξουμε να αντιγράψουμε το τρέχων case επιλέγοντας Αντιγραφή Case (Duplicate Case). Μπορούμε να διαγράψουμε το επιλεγμένο case επιλέγοντας Διαγραφή Case (Remove Case). Πλαίσια διαλόγων Οι λειτουργίες Πλαίσιο Διαλόγου Ενός Πλήκτρου (One Button Dialog) και Πλαίσιο Διαλόγου Δύο Πλήκτρων (Two Button Dialog), που φαίνονται στις παρακάτω εικόνες, εμφανίζουν ένα πλαίσιο διαλόγου που περιέχει κάποιο μήνυμα της επιλογής μας. Μπορούμε να βρούμε αυτές τις λειτουργίες στο Programming Dialog & User Interface στην παλέτα Functions. Το Πλαίσιο Διαλόγου Ενός Πλήκτρου παραμένει στην οθόνη έως ότου πατήσουμε το πλήκτρο OK, ενώ το Πλαίσιο Διαλόγου Δύο Πλήκτρων παραμένει στη οθόνη μέχρις ότου πατήσουμε είτε το OK, είτε το Cancel. Μπορούμε να μετονομάσουμε αυτά τα πλήκτρα εισάγοντας τα ονόματα που επιθυμούμε με string. Τα πλαίσια αυτά διαλόγου, είναι τέτοιας μορφής που όταν εμφανιστούν στην οθόνη δεν είναι δυνατόν να πατηθεί κανένα άλλο πλήκτρο στο LabVIEW. 135

140 Πλαίσιο Διαλόγου Ενός Πλήκτρου Μήνυμα Όνομα πλήκτρου ( OK ) Αληθής Μήνυμα Πλαίσιο Διαλόγου Δύο Πλήκτρων Όνομα Πλήκτρου T ( OK ) Πλήκτρο T Όνομα Πλήκτρου F ( Cancel ) 7.4 Δομές Ακολουθιών Ο καθορισμός της σειράς εκτέλεσης ενός προγράμματος τακτοποιώντας τα στοιχεία του σε μια συγκεκριμένη ακολουθία ονομάζεται ροή ελέγχου (flow control). Οι γλώσσες προγραμματισμού έχουν κληρονομήσει την ροή ελέγχου, γιατί οι εντολές εκτελούνται με την σειρά που εμφανίζονται στο πρόγραμμα. Το LabVIEW χρησιμοποιεί τις ακολουθίες για να καθορίσει την ροή εκτέλεσης μέσα σε ένα πλαίσιο ροής δεδομένων. Η δομή της ακολουθίας εκτελεί το πλαίσιο 0, ακολουθούμενο από το πλαίσιο 1, έπειτα το πλαίσιο 2, έως ότου εκτελεστεί το τελευταίο πλαίσιο. Μόνο όταν τελειώσει η εκτέλεση και του τελευταίου πλαισίου, μπορούν τα δεδομένα να βγουν από δομή της ακολουθίας. Η δομή της ακολουθίας, που φαίνεται στη παρακάτω εικόνα, μοιάζει με πλαίσιο ενός φιλμ και μπορεί να βρεθεί επιλέγοντας Programming Structures στην παλέτα Functions. Όπως και στην δομή case έτσι και εδώ μόνο ένα πλαίσιο είναι εμφανή αν πάσα χρονική στιγμή, και θα πρέπει να κάνουμε κλικ στα βέλη στο επάνω μέρος της δομής για να δούμε και τα υπόλοιπα πλαίσια. Δημιουργούμε νέα πλαίσια κάνοντας 136

141 δεξί κλικ στα όρια της δομής και επιλέγουμε Προσθήκη Πλαισίου Μετά (Add Frame After) ή Προσθήκη Πλαισίου Πριν (Add Frame Before). Χρησιμοποιούμε την δομή της ακολουθίας για να ελέγξουμε την σειρά εκτέλεσης μερών του προγράμματος που δεν εξαρτώνται από δεδομένα. Μέσα σε κάθε πλαίσιο, όπως και στο υπόλοιπο διάγραμμα μπλοκ, η σειρά εκτέλεσης ορίζεται από την εξάρτηση των δεδομένων. Τα τούνελ εξόδου δεδομένων στις δομές ακολουθιών μπορούν να έχουν μόνο μια πηγή, σε αντίθεση με την δομή case, που οι έξοδοι έχουν μια πηγή δεδομένων ανά case. Η έξοδος των δεδομένων μπορεί να γίνει από οποιοδήποτε πλαίσιο, αλλά θα πρέπει να θυμόμαστε ότι τα δεδομένα μπορούν να εξαχθούν μόνο όταν τελειώσει ολόκληρη η εκτέλεση της δομής της ακολουθίας, και όχι όταν τελειώσει η εκτέλεση του κάθε πλαισίου. Τα δεδομένα στα τούνελ εισόδων είναι διαθέσιμα σε όλα τα πλαίσια. Τοπικές ακολουθίες Για να περάσουμε δεδομένα από ένα πλαίσιο στο επόμενο, πρέπει να χρησιμοποιήσουμε ένα terminal που λέγεται τοπική ακολουθία (sequence local). Για να δημιουργήσουμε ένα terminal τοπικής ακολουθίας, κάνουμε δεξί κλικ στο όριο της 137

142 δομής μας και επιλέγουμε Add Sequence Local. Αυτή η λειτουργία δεν θα είναι διαθέσιμη αν κάνουμε κλικ πολύ κοντά σε κάποιο άλλο τέτοιο τερματικό ή μέσα στο υποδιάγραμμά μας. Μπορούμε να τραβήξουμε το terminal αυτό σε οποιοδήποτε ελεύθερο μέρος πάνω στα όρια της δομής μας. Χρησιμοποιούμε την εντολή Remove, κάνοντας δεξί κλικ πάνω στο terminal της τοπικής ακολουθίας, για να το διαγράψουμε. Όταν εισάγουμε για πρώτη φορά το terminal τοπικής ακολουθίας, αυτό είναι απλά ένα μικρό κίτρινο τετράγωνο. Όταν συνδέσουμε δεδομένα στο terminal αυτό, εμφανίζεται ένα βέλος που δείχνει έξω από την δομή που περιέχει το terminal τοπικής ακολουθίας. Το terminal αυτό εμφανίζεται σαν βέλος που δείχνει μέσα στο υποδιάγραμμα της δομής και δείχνει έτσι ότι είναι πηγή δεδομένων για το συγκεκριμένο πλαίσιο. Σε πλαίσια πριν από το πλαίσιο που περιέχει την πηγή δεδομένων, δεν μπορούμε να χρησιμοποιήσουμε το terminal τοπικής ακολουθίας μιας και δεν έχει ακόμη τιμή, και έτσι εμφανίζεται σαν απενεργοποιημένο terminal. Οι επόμενες εικόνες εμφανίζουν με την σειρά το terminal τοπικής ακολουθίας σε όλες του τις μορφές. Δεν μπορεί να χρησιμοποιηθεί Τοπική ακολουθία στέλνει δεδομένα 138

143 Τοπική ακολουθία παίρνει δεδομένα Δεν μπορούμε να συνδέσουμε είσοδο δεδομένων Χρονισμός Πολλές φορές είναι χρήσιμο να ελέγχουμε ή να μετρούμε τον χρόνο ενός VI. Οι λειτουργίες Αναμονής (ms) [Wait (ms)] και Μετρητής Τικ (ms) [Tick Count (ms)], που βρίσκονται στο Programming Timing στην παλέτα Functions, επιτυγχάνουν ακριβώς αυτές τις λειτουργίες. Η λειτουργία Wait (ms) αναγκάζει το VI να περιμένει ένα συγκεκριμένο χρόνο σε milliseconds πριν συνεχίσει την εκτέλεση, κάτι που είναι πάρα πολύ χρήσιμο αν έχουμε μια επανάληψη η οποία θέλουμε πχ. να εκτελείτε μια φορά το δευτερόλεπτο. Η λειτουργία Tick Count (ms) επιστρέφει την τιμή του εσωτερικού ρολογιού σε milliseconds. Χρησιμοποιείτε συχνά για τον υπολογισμό του χρόνου που έχει περάσει. Ας λάβουμε υπόψη ότι το εσωτερικό ρολόι δεν έχει πολύ μεγάλη ανάλυση, κάθε tick του ρολογιού είναι 55ms σε λειτουργικό Windows και 17ms σε λειτουργικό Mac, ένα μειονέκτημα που δεν μπορεί να παρακάμψει το LabVIEW. Οι λειτουργίες αυτές φαίνονται στις παρακάτω εικόνες. Wait (ms) Tick Count (ms) ms αναμονής Τιμή μετρητή (ms) Τιμή μετρητή (ms) 139

144 7.5 Εισαγωγή τύπου Η λειτουργία της εισαγωγής τύπου (Formula Node) εμφανίζει ένα πλαίσιο το οποίο μπορούμε να αλλάξουμε το μέγεθός του κατά βούληση, στο οποίο μπορούμε να εισάγουμε αλγεβρικές παραστάσεις απευθείας στο μπλοκ διάγραμμα. Η λειτουργία αυτή απλοποιεί σε μεγάλο βαθμό την εισαγωγή πολύπλοκων παραστάσεων που σε διαφορετική περίπτωση θα έπρεπε να «μεταφραστούν» σε πολλά μικρά μπλοκ. Για παράδειγμα, θέλουμε να λύσουμε την εξίσωση y=x 2 +x+1. Αν χρησιμοποιήσουμε τις κανονικές αριθμητικές λειτουργίες του LabVIEW, το μπλοκ διάγραμμα θα είναι όπως παρακάτω. Μπορούμε να δημιουργήσουμε την ίδια εξίσωση χρησιμοποιώντας την εισαγωγή τύπου όπως φαίνεται στην παρακάτω εικόνα. 140

145 Με την εισαγωγή τύπου, μπορούμε εύκολα να εισάγουμε πολύπλοκες εξισώσεις, αντί να δημιουργούμε μεγάλα και χρονοβόρα μπλοκ διαγράμματα. Απλά εισάγουμε την εξίσωση ή τις εξισώσεις μέσα στο πλαίσιο. Δημιουργούμε terminals εισόδων και εξόδων κάνοντας δεξί κλικ στα όρια του πλαισίου και επιλέγοντας Εισαγωγή Εισόδου (Add Input) ή Εισαγωγή Εξόδου (Add Output) από το μενού που εμφανίζεται. Έπειτα εισάγουμε το όνομα της μεταβλητής σε κάθε είσοδο και έξοδο. Τα ονόματα αυτά έχουν περιορισμό δύο χαρακτήρων και διαφέρουν στο αν είναι κεφαλαία ή πεζά. Κάθε εξίσωση μέσα στο πλαίσιο θα πρέπει να τελειώνει με το ελληνικό ερωτηματικό (;) ή semicolon στα Αγγλικά. Για να εισάγουμε στο μπλοκ διάγραμμα την λειτουργία εισαγωγής τύπου ακολουθούμε την διαδρομή Programming Structures και επιλέγουμε το Formula Node από την παλέτα Functions. Οι επόμενες λειτουργίες και operators είναι διαθέσιμα μέσα στο Formula Node. ** exponentiation +, -,!, ~, ++, and Operators unary plus, unary negation, logical not, bit complement, pre- and post-increment, pre- and post-decrement ++ and are not available in Expression Nodes. *, /, % multiplication, division, modulus (remainder) + and addition and subtraction >> and << arithmetic shift right and shift left >, <, >=, and greater, less, greater or equal, and less or equal <=!= and == inequality and equality & bit and ^ bit exclusive or bit or && logical and 141

146 logical or? : conditional evaluation assignment, shortcut operate and assign = op= op can be +,, *, /, >>, <<, &, ^,, %, or **. = op= is not available in Expression Nodes. Λειτουργίες abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman, int, intrz, ln, lnp1, log, log2, max, min, mod, pow, rand, rem, sec, sign, sin, sinc, sinh, sizeofdim, sqrt, tan, tanh. 7.6 Προβλήματα στην σύνδεση δομών Το επόμενο κομμάτι θα μας βοηθήσει να αποφύγουμε λάθη στην σύνδεση των δομών και θα βοηθήσει επίσης και στην διάγνωση των προβλημάτων που μπορεί να έχουμε. Προσδίδοντας περισσότερες από μια τιμές στο terminal της τοπικής ακολουθίας Μπορούμε να δώσουμε τιμή στην τοπική μεταβλητή σε μια δομή ακολουθίας μόνο σε ένα από τα πλαίσια της δομής, παρόλο που μπορούμε να χρησιμοποιήσουμε αυτή την τιμή σε όλα τα μετέπειτα πλαίσια της δομής. Η παρακάτω εικόνα δείχνει τον ορισμό της τιμής του π στην τοπική μεταβλητή στο πλαίσιο 0. Αν προσπαθήσουμε να δώσουμε μια άλλη τιμή στην ίδια τοπική μεταβλητή στο πλαίσιο 1, θα έχουμε σαν αποτέλεσμα μια χαλασμένη σύνδεση. Αυτό το λάθος είναι μια παραλλαγή του λάθους πολλών πηγών. 142

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

148 Επικαλυπτόμενα τούνελ Λόγω το ότι το LabVIEW δημιουργεί τούνελ καθώς συνδέουμε τα αντικείμενα μεταξύ τους, συμβαίνει πολλές φορές τα τούνελ να επικαλύπτονται. Τα επικαλυπτόμενα αυτά τούνελ, όπως φαίνεται και στις παρακάτω εικόνες, δεν επηρεάζουν καθόλου την εκτέλεση του προγράμματος, όμως δυσχεραίνουν την διαδικασία δημιουργίας/αλλαγών. Θα πρέπει να αποφεύγουμε κατά το δυνατόν τα επικαλυπτόμενα τούνελ. Αν εμφανιστεί κάποιο, το μόνο που έχουμε να κάνουμε είναι να τραβήξουμε το ένα από τα δύο έτσι ώστε να εμφανιστεί και το δεύτερο. Είναι πολύ δύσκολο να αποφανθούμε ποιο από τα τούνελ βρίσκεται από πάνω. Έτσι μπορεί να κάνουμε λάθη αν προσπαθήσουμε να τα συνδέσουμε ενώ αυτά επικαλύπτονται. Αν χρειαστεί να συνδέσουμε ένα αντικείμενο μέσα από κάποια δομή με ένα άλλο που βρίσκεται έξω από την δομή και υπάρχει ήδη καλώδιο που ενώνει το αντικείμενο με το τούνελ, τότε ας μην προσπαθήσουμε να συνδέσουμε ξανά τα αντικείμενα μέσω της δομής, αλλά να ξεκινήσουμε από το τούνελ που υπάρχει ήδη. Συνδέοντας από πολλαπλά πλαίσια σε μια δομή ακολουθίας Η επόμενη εικόνα δείχνει μια διαφορετική παραλλαγή του λάθους πολλαπλών πηγών. Δύο συνεχόμενα πλαίσια μιας δομής ακολουθίας προσπαθούν να ορίσουν 144

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

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

151 ΚΕΦΑΛΑΙΟ 8 Πίνακες και συστάδες 8.1 Τι είναι οι πίνακες; Ένας πίνακας είναι η συλλογή στοιχείων δεδομένων που είναι του ίδιου τύπου. Ένας πίνακας μπορεί να έχει μια ή και περισσότερες διαστάσεις και μέχρι στοιχεία σε κάθε διάσταση, εφόσον το επιτρέπει η μνήμη του Η/Υ. Οι πίνακες στο LabVIEW μπορεί να είναι οποιουδήποτε τύπου εκτός από τύπου πίνακα, διάγραμμα, ή γραφική παράσταση. Έχουμε πρόσβαση στα στοιχεία του πίνακα μέσω του δείκτη. Ο δείκτης έχει όρια από 0 έως Ν-1 όπου Ν είναι ο αριθμός των στοιχείων του πίνακα. Ο πίνακας μια διάστασης (1-D) που φαίνεται στην επόμενη εικόνα εμφανίζει αυτή την δομή. Παρατηρήστε ότι το πρώτο στοιχείο του πίνακα έχει σαν δείκτη το 0, το δεύτερο στοιχείο το 1 και ούτω καθεξής. Δείκτης Πίνακας 10 στοιχείων

152 Θα ανακαλύψετε ότι οι κυματομορφές συχνά αποθηκεύονται σε πίνακες, με κάθε σημείο της κυματομορφής να αποτελεί και ένα στοιχείο του πίνακα. Αν έχουμε κυματομορφές από πολλά κανάλια που διαβάζονται από κάποια κάρτα DAQ, αυτές θα αποθηκευτούν σε πίνακα δύο διαστάσεων (2-D), με κάθε στήλη στον πίνακα αυτό, να αντιστοιχίζεται και σε ένα κανάλι των δεδομένων. 8.2 Δημιουργώντας Πίνακες Εργαλείων Ελέγχου (Controls) και Δεικτών (Indicators) Χρειάζονται δύο βήματα για δημιουργήσουμε πιο πολύπλοκες μορφές δεδομένων όπως οι πίνακες και οι συστάδες. Δημιουργούμε το control ή το indicator του πίνακα συνδυάζοντας ένα πίνακα, όπως φαίνεται και στην παρακάτω εικόνα, με ένα αντικείμενων δεδομένων, το οποίο μπορεί να είναι αριθμητικό, Boolean, ή string. Το αντικείμενο δεδομένων δεν μπορεί να είναι κάποιος άλλος πίνακας, διάγραμμα ή γράφημα. Μπορούμε να βρούμε τον πίνακα στην παλέτα των Controls ακολουθώντας την διαδρομή Modern Array, Matrix & Cluster και επιλέγοντας το Array. Δείκτης Παράθυρο αντικειμένου Για να δημιουργήσουμε ένα πίνακα, τραβάμε ένα αντικείμενο δεδομένων στο παράθυρο αντικειμένου του πίνακα, ή τοποθετούμε εξ αρχής ένα αντικείμενο κατευθείαν μέσα στο παράθυρο αντικειμένου κάνοντας δεξί κλικ σε αυτό και επιλέγοντας το επιθυμητό αντικείμενο δεδομένων. Το παράθυρο αντικειμένου αλλάζει μέγεθος ανάλογα με τον νέο του τύπο, όπως φαίνεται στην παρακάτω εικόνα. 148

153 Αν θέλουμε να αλλάξουμε το μέγεθος του παραθύρου του αντικειμένου, χρησιμοποιούμε το κλασσικό εργαλείο τοποθέτησης και απλά σιγουρευόμαστε ότι αυτό αλλάζει στα διπλά βελάκια αλλαγής μεγέθους όταν το τοποθετούμε στην γωνία του παραθύρου (πιθανόν να χρειαστεί να τοποθετηθεί ελάχιστα μέσα στο παράθυρο). Αν θέλουμε να εμφανίζονται περισσότερα αντικείμενα, τότε τραβούμε την μια γωνία με τον κέρσορα πλέγματος του εργαλείου τοποθέτησης και μεγαλώνουμε το παράθυρο. Έτσι θα έχουμε ορατά πολλαπλά αντικείμενα. Το αντικείμενο που είναι πιο κοντά στον δείκτη είναι πάντα το αντικείμενο που δείχνει ο δείκτης. Όταν εισάγουμε για πρώτη φορά στο front panel ένα πίνακα, το terminal στο μπλοκ διάγραμμα είναι μαύρο, χαρακτηριστικό χρώμα για τους απροσδιόριστους τύπους δεδομένων. Μόλις δώσουμε τύπο δεδομένων στον πίνακα (τοποθετώντας είτε κάποιο control, είτε κάποιο indicator), τότε στο μπλοκ διάγραμμα ο πίνακας παίρνει το αντίστοιχο χρώμα ανάλογα με τον τύπο δεδομένων που του προσδώσαμε. Θα παρατηρήσετε ότι τα καλώδια που συνδέουν πίνακες έχουν μεγαλύτερο πάχος από αυτά που έχουν μία τιμή. Πίνακες δύο διαστάσεων Ένας δυσδιάστατος πίνακας απαιτεί δύο δείκτες για τον εντοπισμό ενός αντικειμένου του πίνακα, τον δείκτη στήλης και τον δείκτη γραμμής, οι οποίοι ξεκινούν από το 149

154 μηδέν. Η επόμενη εικόνα δείχνει ένα Ν-στηλο επί Μ-γραμμο πίνακα που περιέχει Ν επί Μ στοιχεία Μπορούμε να προσθέσουμε διάσταση σε ένα πίνακα με controls ή indicators κάνοντας δεξί κλικ πάνω στον δείκτη και επιλέγοντας Προσθήκη Διάστασης (Add Dimension). Η επόμενη εικόνα δείχνει ένα δυσδιάστατο πίνακα με ψηφιακά controls. Δείκτης σειράς Δείκτης στήλης Δημιουργώντας πίνακες χρησιμοποιώντας αυτόματη δεικτοδότηση Ο βρόγχος επανάληψης «Για» και «Όσο» (for και while loops αντίστοιχα) μπορούν να δεικτοδοτήσουν και να συσσωρεύσουν πίνακες στα όριά τους αυτόματα. Αυτή η δυνατότητα ονομάζετε αυτόματη δεικτοδότηση. Η επόμενη εικόνα δείχνει ένα βρόγχο for να δημιουργεί πίνακα με αυτόματη δεικτοδότηση στο όριό του. Κάθε επανάληψη δημιουργεί το επόμενο αντικείμενο του πίνακα. Μόλις ολοκληρωθεί ο βρόγχος, ο πίνακας περνά έξω από το βρόγχο στο indicator. Παρατηρείστε ότι το καλώδιο γίνεται ποιο παχύ καθώς αλλάζει σε τύπο πίνακα στο όριο του βρόγχου. 150

155 Αυτόματη δεικτοδότηση ενεργοποιημένη (Προεπιλογή για For Loops) Το καλώδιο γίνεται παχύτερο Αν χρειαστεί να περάσουμε μέσω ενός τούνελ μια τιμή εκτός της επανάληψης χωρίς να δημιουργήσουμε ένα πίνακα, θα πρέπει να απενεργοποιήσουμε την αυτόματη δεικτοδότηση κάνοντας δεξί κλικ στο τούνελ και επιλέγοντας Απενεργοποίηση Δεικτοδότησης (Disable Indexing) από το αναδυόμενο μενού που εμφανίζεται. Στην επόμενη εικόνα, η αυτόματη δεικτοδότηση είναι απενεργοποιημένη και επιστρέφεται μόνο η τελευταία τιμή από την γεννήτρια τυχαίων αριθμών (0-1) έξω από τον βρόγχο επανάληψης. Παρατηρείστε ότι το καλώδιο παραμένει στο ίδιο πάχος καθώς αυτό βγαίνει έξω από τα όρια του βρόγχου. Το καλώδιο παραμένει στο ίδιο μέγεθος Αυτόματη δεικτοδότηση απενεργοποιημένη Η δεικτοδότηση έχει θέση και στην περίπτωση που ένας πίνακας εισάγετε για μια επανάληψη. Εάν η δεικτοδότηση είναι ενεργοποιημένη όπως το πρώτο βρόγχο, ο βρόγχος θα δεικτοδοτείτε από κάθε αντικείμενο του πίνακα σε κάθε επανάληψη. Εάν η δεικτοδότηση είναι απενεργοποιημένη όπως τον δεύτερο βρόγχο, ολόκληρος ο πίνακας περνά μέσα στο βρόγχο αμέσως. 151

156 Λόγω του ότι οι βρόγχοι For χρησιμοποιούνται πολύ συχνά για την επεξεργασία πινάκων, το LabVIEW ενεργοποιεί την αυτόματη δεικτοδότηση από προεπιλογή όταν συνδέουμε ένα πίνακα σαν είσοδο ή έξοδο σε βρόγχο. Από προεπιλογή, το LabVIEW δεν ενεργοποιεί την αυτόματη δεικτοδότηση για βρόγχους While. Θα πρέπει να κάνουμε δεξί κλικ στο τούνελ του βρόγχου και να επιλέξουμε την Ενεργοποίηση της δεικτοδότησης (Enable Indexing) στο αναδυόμενο μενού που θα εμφανιστεί. Θα πρέπει να δοθεί ιδιαίτερη προσοχή στην κατάσταση της δεικτοδότησης, αλλιώς θα δημιουργηθούν λάθη που θα είναι δύσκολο να εντοπιστούν. Δημιουργία δυσδιάστατων πινάκων Μπορούμε να χρησιμοποιήσουμε δύο βρόγχους For, τον ένα μέσα στον άλλο, για να δημιουργήσουμε ένα δυσδιάστατο πίνακα. Ο εσωτερικός βρόγχος δημιουργεί την σειρά, και ο εξωτερικός βρόγχος τις στήλες του πίνακα. Η επόμενη εικόνα δείχνει δυο βρόγχους For που δημιουργούν ένα δυσδιάστατο πίνακα από τυχαίους αριθμούς χρησιμοποιώντας αυτόματη δεικτοδότηση. 152

157 Σειρές Στήλες Χρησιμοποιώντας την αυτόματη δεικτοδότηση για να θέσουμε τον αριθμό επαναλήψεων του βρόγχου For Όταν ενεργοποιούμε την αυτόματη δεικτοδότηση σε ένα πίνακα που εισάγετε σε ένα βρόγχο For, το LabVIEW αυτόματα θέτει τον αριθμό επαναλήψεων ίσο με το μέγεθος του πίνακα, έτσι καθιστά μη αναγκαία την σύνδεση κάποιας τιμής στο N. Αν ενεργοποιήσουμε την αυτόματη δεικτοδότηση σε περισσότερους από ένα πίνακες, ή αν δώσουμε κάποια τιμή στο N, ο μετρητής των επαναλήψεων παίρνει την μικρότερη από τις δύο τιμές. Στην επόμενη εικόνα, το μέγεθος του πίνακα, και όχι το N, δίνει την τιμή στον αριθμό των επαναλήψεων που θα κάνει ο βρόγχος For, γιατί το μέγεθος του πίνακα είναι η μικρότερη από τις δύο τιμές. Αριθμός επαναλήψεων βρόγχου for = 10, όχι 100 Μέγεθος πίνακα = Λειτουργίες για τον χειρισμό πινάκων Το LabVIEW έχει πολλές λειτουργίες για τον χειρισμό πινάκων στο μενού των λειτουργιών (Functions) στην κατηγορία Programming, υποκατηγορία Array. Θα 153

158 πρέπει πάντοτε να έχουμε στο νου μας ότι οι πίνακες (αλλά και όλες οι άλλες δομές του LabVIEW) ξεκινούν την δεικτοδότηση από το μηδέν, το πρώτο στοιχείο έχει σαν δείκτη το μηδέν, το δεύτερο το ένα και ούτω καθεξής. Μερικές αρκετά κοινές λειτουργίες περιγράφονται παρακάτω: Η Αρχικοποίηση Πίνακα (Initialize Array) δημιουργεί και αρχικοποιεί ένα ν- διάστατο πίνακα με τιμή της επιλογής μας. Αυτή η λειτουργία είναι χρήσιμη για την εκχώρηση περιοχής μνήμης για πίνακες ορισμένου μεγέθους. Στοιχείο Μέγεθος διάστασης 0 Μέγεθος διάστασης 1 Αρχικοποιημένος ν-διάστατος πίνακας Στην παρακάτω εικόνα, η Αρχικοποίηση Πίνακα, αρχικοποιεί ένα 10 στοιχείων και μιας διάστασης πίνακα, με κάθε στοιχείο να περιέχει το μηδέν. Στοιχείο Μέγεθος διάστασης 0 Πίνακας Το Μέγεθος Πίνακα (Array Size) επιστρέφει τον αριθμό των στοιχείων του πίνακα. Αν ο πίνακας είναι ν-διάστατος, το Array Size επιστρέφει ένα μονοδιάστατο πίνακα με ν στοιχεία, καθένα από τα οποία περιέχει το μέγεθος της διάστασης. Πίνακας Μέγεθος 154

159 Η Δημιουργία Πίνακα (Build Array) συνδέει, ή συνδυάζει, δύο πίνακες ή προσθέτει επιπλέον στοιχεία σε ένα πίνακα. Η λειτουργία εμφανίζεται ως όταν τοποθετηθεί στο μπλοκ διάγραμμα. Μπορούμε να αλλάξουμε το μέγεθος αυτής της λειτουργίας για να αυξήσουμε τις εισόδους. Η Δημιουργία Πίνακα έχει δύο τύπους εισόδου, πίνακες και στοιχεία, έτσι ώστε να μπορεί να προσαρμοστεί και σε πίνακες αλλά και σε στοιχεία μιας τιμής. Πίνακας Στοιχείο Πίνακας που έχει προστεθεί το στοιχείο Θα πρέπει να δώσουμε ιδιαίτερη προσοχή στις εισόδους μιας λειτουργίας Δημιουργίας Πίνακα. Οι είσοδοι πινάκων έχουν δύο τετραγωνάκια με ένα x στην μέση, ενώ τα στοιχεία έχουν ένα τετραγωνάκι χωρίς x. Δεν είναι ανταλλάξιμα μεταξύ τους και μπορεί να δημιουργήσουν λάθος συνδέσεις και αρκετή σύγχυση. Το Υποσύνολο Πίνακα (Array Subset) επιστρέφει ένα μέρος ενός πίνακα που ξεκινά από κάποιον δείκτη και περιέχει ένα σύνολο στοιχείων. Πίνακας Δείκτης Υποπίνακας Μήκος Πίνακας Δείκτης Μήκος Υποπίνακας Η Δεικτοδότηση Πίνακα (Index Array) δίνει πρόσβαση σε ένα στοιχείο ενός πίνακα. Ένα παράδειγμα μιας λειτουργίας δεικτοδότησης πίνακα που 155

160 προσπελαύνει το τρίτο στοιχείο ενός πίνακα φαίνεται στην παρακάτω εικόνα. Παρατηρήστε ότι ο δείκτης του τρίτου στοιχείου είναι το δύο γιατί η δεικτοδότηση ξεκινά πάντα από το μηδέν, πράγμα που σημαίνει ότι το πρώτο στοιχείο του πίνακα έχει δείκτη μηδέν. Πίνακας Δείκτης Στοιχείο Πίνακας Δείκτης 2 5 Στοιχείο Εδώ, λειτουργία της Δεικτοδότησης Πίνακα επιστρέφει ένα ακέραιο στοιχείο από ένα πίνακα. Μπορούμε επίσης να χρησιμοποιήσουμε αυτή την λειτουργία για να αποκόψουμε μια διάσταση από ένα δυσδιάστατο πίνακα δημιουργώντας ουσιαστικά ένα υποπίνακα του αρχικού. Για να το κάνουμε αυτό, αυξάνουμε το μέγεθος του Index Array έτσι ώστε να εμφανιστεί και δεύτερη είσοδος δείκτη. Η πρώτη είσοδος είναι αυτόματα ενεργοποιημένη, ενώ η δεύτερη (και όλες οι υπόλοιπες) είναι απενεργοποιημένη έως ότου συνδεθεί με κάποια τιμή. Παρατηρήστε ότι το terminal του δείκτη αλλάζει από συμπαγές σε άδειο όταν είναι συνδεμένο ή ασύνδετο αντίστοιχα. Μπορούμε να παίρνουμε υποπίνακες από οποιοδήποτε συνδυασμό από διαστάσεις. Η επόμενη εικόνα δείχνει πώς να πάρουμε ένα μονοδιάστατο πίνακα από μια σειρά ή στήλη ενός δυσδιάστατου. 156

161 8.4 Πολυμορφισμός Οι αριθμητικές λειτουργίες του LabVIEW, Πρόσθεση (Add), Πολλαπλασιασμός (Multiply), Διαίρεση (Divide), κτλ, είναι πολυμορφικές. Ο πολυμορφισμός είναι απλά μια «μεγάλη» λέξη που αντιπροσωπεύει ένα απλό αξίωμα: Οι είσοδοι αυτών των λειτουργιών μπορεί να είναι διαφορετικού τύπου δεδομένων. Για παράδειγμα, μπορούμε να προσθέσουμε ένα ακέραιο σε ένα πίνακα ή δύο πίνακες μαζί. Η επόμενη εικόνα εμφανίζει μερικούς από τους πολυμορφικούς συνδυασμούς της λειτουργίας της Πρόσθεσης (Add). Βαθμοτό + Βαθμοτό Βαθμοτό Βαθμοτό + Πίνακας Πίνακας Πίνακας + Πίνακας Πίνακας Στον πρώτο συνδυασμό, το αποτέλεσμα είναι βαθμοτό. Στο δεύτερο συνδυασμό, το βαθμοτό προσθέτεται σε κάθε στοιχείο του πίνακα. Στον τρίτο συνδυασμό, κάθε στοιχείο του πίνακα προσθέτεται με το αντίστοιχο στοιχείο του άλλου πίνακα. 157

162 Να σημειωθεί ότι όταν κάνουμε αριθμητική με δύο πίνακες διαφορετικού μεγέθους, το αποτέλεσμα θα είναι ένας πίνακας με το ίδιο μέγεθος με τον μικρότερο από τους δύο. Με άλλα λόγια, το LabVIEW λειτουργεί με τα εναπομείναντα στοιχεία των πινάκων έως ότου ένας από τους δύο να μην έχει άλλα στοιχεία. Τα υπόλοιπα στοιχεία του μεγαλύτερου πίνακα αγνοούνται. Εδώ, σε κάθε επανάληψη του βρόγχου «Για» παράγει ένα τυχαίο αριθμό ο οποίος αποθηκεύεται στον πίνακα που δημιουργείτε στα όρια του βρόγχου. Όταν τελειώσει η εκτέλεση του βρόγχου, η λειτουργία του Πολλαπλασιασμού (Multiply) πολλαπλασιάζει κάθε στοιχείο του πίνακα με τον συντελεστή κλίμακας. Στο front panel το indicator εμφανίζει τον πίνακα. Η επόμενη εικόνα εμφανίζει κάποιες από τις πιθανούς πολυμορφικούς συνδυασμούς της λειτουργίας της Πρόσθεσης (Add). Όμοια Ένα Βαθμοτό Βαθμοτό Βαθμοτό Βαθμοτό Βαθμοτό Πίνακας Πίνακας Πίνακας Πίνακας Πίνακας Βαθμοτό Συστάδα Συστάδα Συστάδα Συστάδα Συστάδα 158

163 8.5 Συστάδες (Clusters) Μια συστάδα (cluster), όπως και ένας πίνακας, είναι μια δομή δεδομένων που ομαδοποιεί δεδομένα. Όμως, η συστάδα μπορεί να ομαδοποιήσει δεδομένα διαφορετικών τύπων, και είναι ανάλογο με ένα record στην γλώσσα προγραμματισμού Pascal ή ένα struct στην C. Μια συστάδα μπορεί να την φανταστεί κανείς σαν μια δέσμη καλωδίων, όπως για παράδειγμα ένα τηλεφωνικό καλώδιο. Κάθε σύρμα στο καλώδιο αντιπροσωπεύει και ένα διαφορετικό στοιχείο της συστάδας. Λόγω του ότι η συστάδα εμφανίζεται σαν ένα μόνο «σύρμα» στο μπλοκ διάγραμμα, οι συστάδες μειώνουν τον σωρό των καλωδίων και τον αριθμό των terminals που χρειάζεται κάθε subvi. Θα παρατηρήσουμε ότι θα συναντούμε συχνά συστάδες όταν κάνουμε γραφικές παραστάσεις δεδομένων. Παρόλο που τα στοιχεία μια συστάδας και ενός πίνακα είναι και τα δύο διατεταγμένα, έχουμε πρόσβαση στα στοιχεία μιας συστάδας «ξετυλίγοντάς τα» όλα μονομιάς, και όχι μέσω κάποιου δείκτη ένα κάθε φορά. Μπορεί να φανταστεί κανείς το «ξετύλιγμα» μιας συστάδας σαν την αποφλοίωση ενός καλωδίου και την πρόσβαση σε καθένα από τα χρωματισμένα σύρματα που περιέχονται σε αυτό. Αντίθετα με τους πίνακες, οι συστάδες έχουν συγκεκριμένο μέγεθος, ή συγκεκριμένο αριθμό καλωδίων μέσα τους. Μπορούμε να συνδέσουμε terminals συστάδων μόνο όταν έχουν τον ίδιο τύπο, με άλλα λόγια πρέπει και οι δύο συστάδες να έχουν το ίδιο αριθμό στοιχείων, και να ταυτίζονται τα αντίστοιχα στοιχεία. Ο πολυμορφισμός ισχύει και στις συστάδες όπως και στους πίνακες, αρκεί να υπάρχουν συμβατοί τύποι δεδομένων μέσα στις συστάδες. 159

164 8.6 Δημιουργία Συστάδας με Control και Indicators Δημιουργούμε μια συστάδα με controls και indicators τοποθετώντας μια συστάδα (cluster) επιλέγοντας το Cluster στο μενού των controls ακολουθώντας την διαδρομή Classic Classic Array, Matrix & Cluster στο παράθυρο του front panel. Μπορούμε έπειτα να τοποθετήσουμε οποιοδήποτε αντικείμενο που μπορεί να τοποθετηθεί στο front panel, μέσα στην συστάδα. Όπως και στους πίνακες, μπορούμε άμεσα να τοποθετήσουμε αντικείμενα στην συστάδα κάνοντας δεξί κλικ μέσα στα όριά της, ή να σύρουμε αντικείμενα μέσα στην συστάδα. Τα αντικείμενα μέσα στην συστάδα θα πρέπει όλα να είναι είτε controls είτε indicators. Δεν είναι δυνατόν να συνδυάσουμε και controls και indicators μέσα στην ίδια συστάδα. Η συστάδα παίρνει φορά δεδομένων (control ή indicator) από το πρώτο αντικείμενο που τοποθετείτε μέσα. Η επόμενη εικόνα εμφανίζει μια συστάδα με τέσσερα controls. Η σειρά σε μια συστάδα Τα στοιχεία μιας συστάδας έχουν μια λογική σειρά που δεν συσχετίζεται με την θέση των αντικειμένων στο εσωτερικό της συστάδας. Το πρώτο αντικείμενο που εισέρχεται 160

165 στην συστάδα είναι το αντικείμενο 0, το δεύτερο είναι το αντικείμενο 1, και ούτω καθεξής. Αν διαγράψουμε ένα αντικείμενο, η σειρά προσαρμόζεται αυτόματα. Μπορούμε να αλλάξουμε την σειρά μέσα στην συστάδα κάνοντας δεξί κλικ στα όρια και επιλέγοντας Reorder Controls In Cluster από το αναδυόμενο μενού που εμφανίζεται. Μια νέα μπάρα εργαλείων αντικαθιστά την συνηθισμένη, και η συστάδα αλλάζει μορφή όπως φαίνεται στην παρακάτω εικόνα. Θα πρέπει να θυμόμαστε την σειρά των αντικειμένων στην συστάδα, αν θέλουμε να έχουμε πρόσβαση στα επιμέρους αντικείμενα που αυτή περιέχει. Ένα αντικείμενο είναι προσβάσιμο βάση σειράς και όχι ονόματος. Λειτουργία σειράς Συστάδας Επιστροφή στην αρχική ρύθμιση Τρέχουσα Σειρά Νέα Σειρά Τα λευκά κουτάκια που εμφανίζονται πάνω στα στοιχεία δείχνουν την τρέχουσα θέση στην σειρά της συστάδας. Τα μαύρα κουτάκια δείχνουν την νέα θέση στην σειρά των αντικειμένων. Κάνοντας κλικ πάνω σε ένα αντικείμενο, δίνουμε την θέση που αναγράφεται στο νούμερο της σειράς στην μπάρα των εργαλείων, στο αντικείμενο αυτό. Μπορούμε να αλλάξουμε την σειρά πληκτρολογώντας ένα νέο νούμερο σε αυτό το πεδίο. Μπορούμε να επιστρέψουμε στην προηγούμενη τιμή κάνοντας κλικ στο πλήκτρο Χ. Όταν έχουμε επιλέξει την σειρά που θέλουμε, την αποθηκεύουμε 161

166 κάνοντας κλικ στο πλήκτρο επιβεβαίωσης και βγαίνουμε από την λειτουργία αλλαγής σειράς. Χρησιμοποιώντας συστάδες για να περάσουμε δεδομένα από και προς SubVIs Το διάγραμμα των συνδέσεων ενός VI έχει μέγιστο 20 terminals. Δεν θα πρέπει να περνάμε πληροφορίες και στα 20 terminals όταν καλούμε ένα VI σαν subvi. Η καλωδίωση θα είναι πολύ επίπονη και θα είναι πολύ εύκολο να κάνουμε κάποιο λάθος. Κάνοντας μια σειρά από controls μια συστάδα και περνώντας αυτή την συστάδα στο subvi, χρησιμοποιούμε μόνο ένα terminal για να περάσουμε πολλές τιμές. Όμοια, ένα terminal μπορεί να περάσει πολλές εξόδους από ένα subvi. Χρησιμοποιώντας τις συστάδες μπορούμε να παρακάμψουμε τον περιορισμό των 20 terminals ανά σύνδεση. Μπορούμε, έτσι, να χρησιμοποιούμε λιγότερα και κατά συνέπεια, μεγαλύτερα terminals, με αποτέλεσμα την πιο τακτοποιημένη καλωδίωση. Συσσωρεύοντας (bundling) τα δεδομένα Η λειτουργία της Συσσώρευσης (Bundle) στο μενού των λειτουργιών και στην διαδρομή Programming Cluster, Class & Variant, συγκεντρώνει μεμονωμένα αντικείμενα σε μια νέα συστάδα ή μας επιτρέπει την αντικατάσταση στοιχείων μέσα σε μια προϋπάρχουσα συστάδα. Η λειτουργία εμφανίζεται ως όταν τοποθετηθεί στο μπλοκ διάγραμμα. Μπορούμε να αυξήσουμε το νούμερο των εισόδων τραβώντας την γωνία της λειτουργίας με το εργαλείο τοποθέτησης. Όταν συνδέουμε σε κάθε terminal εισόδου, ένα σύμβολο που αντιπροσωπεύει τον τύπο των δεδομένων του αντικειμένου που συνδέθηκε, εμφανίζεται στο αρχικά άδειο terminal. Η σειρά της συστάδας που δημιουργείτε θα είναι η σειρά με την οποία τα αντικείμενα συνδέθηκαν στην λειτουργία συσσώρευσης, αρχίζοντας από πάνω προς τα κάτω. 162

167 Αν θέλουμε απλά να δημιουργήσουμε μια νέα συστάδα, δεν χρειάζεται να συνδέσουμε κάποια είσοδο στο μεσαίο terminal εισόδου συστάδας της λειτουργίας συσσώρευσης. Συστάδα Συσσώρευση Αντικείμενο Αντικείμενο Συστάδα Αντικαθιστώντας Στοιχείο μιας Συστάδας Αν θέλουμε να αντικαταστήσουμε ένα αντικείμενο σε μια συστάδα, πρώτα αλλάζουμε το μέγεθος της λειτουργίας της συσσώρευσης έτσι ώστε να περιέχει τον ίδιο αριθμό terminals εισόδων με τα αντικείμενα στη συστάδα. Έπειτα συνδέουμε την συστάδα με το μεσαίο terminal της λειτουργίας συσσώρευσης και συνδέουμε και την νέα τιμή ή τις νέες τιμές των αντικειμένων που θέλουμε να αντικαταστήσουμε στις αντίστοιχες εισόδους. Ξετυλίγοντας (unbundling) μια συστάδα Η λειτουργία του Ξετυλίγματος (unbundling) στο μενού των λειτουργιών και στην διαδρομή Programming Cluster, Class & Variant, διαχωρίζει μια συστάδα σε καθένα από τα μεμονωμένα αντικείμενα. Τα αντικείμενα εξόδου διατάσσονται από πάνω προς τα κάτω με την ίδια σειρά την οποία έχουν στην συστάδα. Η σειρά των αντικειμένων σε μια συστάδα είναι ο μόνος τρόπος που μπορούμε να τα διαχωρίσουμε. Η λειτουργία εμφανίζεται ως όταν τοποθετηθεί στο μπλοκ διάγραμμα. Μπορούμε να αυξήσουμε το νούμερο των εξόδων τραβώντας την γωνία της λειτουργίας με το εργαλείο τοποθέτησης. Η λειτουργία του ξετυλίγματος θα πρέπει να έχει τον ίδιο αριθμό από εισόδους όσα και τα αντικείμενα της συστάδας 163

168 εισόδου, αλλιώς θα εμφανίσει εσφαλμένες συνδέσεις. Όταν συνδέσουμε την συστάδα εισόδου σε μια σωστά αριθμημένη λειτουργία ξετυλίγματος, τα μέχρι πρότινος άδεια terminals εξόδου εμφανίζουν τα σύμβολα των τύπων δεδομένων στην συστάδα. Ξετύλιγμα Συστάδα Αντικείμενο Αντικείμενο Θα πρέπει να προσέξουμε ότι η σειρά σε μια συστάδα είναι σημαντικότατη όταν προσπελαύνουμε τα δεδομένα της. Για παράδειγμα, αν έχουμε δύο Booleans, είναι πολύ εύκολο να προσπελάσουμε από λάθος τον διακόπτη 2 αντί του 1, αφού στην λειτουργία του ξετυλίγματος διαχωρίζονται με την σειρά και όχι με το όνομά τους. Το VI θα συνδέσει τις λειτουργίες χωρίς να εμφανίσει κάποιο λάθος, όμως το αποτέλεσμα δεν θα είναι το αναμενόμενο. 164

169 ΚΕΦΑΛΑΙΟ 9 Συμπεράσματα Στην παρούσα διπλωματική εργασία δημιουργήθηκε ένα εγχειρίδιο χρήσης του προγράμματος LabVIEW 2009 για τις ανάγκες των φοιτητών του τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Ηλεκτρονικών Υπολογιστών και συγκεκριμένα του τομέα ηλεκτρονικής/υπολογιστών. Το λογισμικό αυτό πρόκειται να εγκατασταθεί στα εργαστήρια του τμήματος και να λειτουργήσει σαν ένα πολύτιμο εργαλείο για όλους τους φοιτητές του τομέα αλλά και του τμήματος γενικότερα. Με αυτόν ακριβώς τον στόχο, το λογισμικό LabVIEW 2009 δημιουργεί εικονικά εργαστήρια, με υποπολλαπλάσιο κόστος των πραγματικών εργαστηρίων, που βοηθά όλους τους φοιτητές να εφαρμόσουν στην πράξη τις γνώσεις που λαμβάνουν κατά την διάρκεια των σπουδών τους. Ένας στόχος που εκπληρώνεται με το μικρότερο δυνατό κόστος για το πανεπιστήμιο, και τον ελάχιστο, έως ανύπαρκτο κίνδυνο για τους φοιτητές (πχ λόγω λάθους συνδεσμολογίας, απροσεξίας, ελλιπούς ενημέρωσης κανόνων ασφαλείας κτλ). Στην διάρκεια της διπλωματικής εργασίας, παρουσιάστηκε με απλό και κατανοητό τρόπο η εγκατάσταση του λογισμικού. Στην συνέχεια έγινε μια πρώτη παρουσίαση του περιβάλλοντος χρήσης του προγράμματος, με έμφαση στις βασικές λειτουργίες 165

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

171 ΒΙΒΛΙΟΓΡΑΦΙΑ [1] The LabVIEW Style Book, Peter A. Blume, Prentice Hall, 1st edition (March 9, 2007) [2] LabVIEW Advanced Programming Techniques, Rick Bitter, Taqi Mohiuddin, Matthew Nawrocki, CRC Press, (August 10, 2000) [3] LabVIEW Graphical Programming, Gary W. Johnson, Richard Jennings, McGraw-Hill Professional Publishing, 3rd edition (July 19, 2001) [4] LabVIEW Power Programming with CDROM, Gary W. Johnson (Editor), McGraw Hill Text, Bk&Cd-Rom edition (June 1998) [5] Advanced LabVIEW Labs, John Essick, Prentice Hall, 1 edition (December 8, 1998) [6] LabVIEW for Everyone: Graphical Programming Made Easy and Fun (3rd Edition), Jeffrey Travis, Jim Kring, Prentice Hall, (August 6, 2006) [7] LabVIEW for Everyone (With CD-ROM), Jeffrey Travis, Prentice Hall, 2nd edition (December 15, 2001) [8] LabVIEW for Everyone: Graphical Programming Made Even Easier, Lisa Wells & Jeffrey Travis, Prentice Hall PTR, 1st edition (September 26, 1996) 167

172 [9] LabVIEW for Data Acquisition, Bruce Mihura, Prentice Hall PTR, Bk&Cd-Rom edition (June 26, 2001) [10] Computer-Based Electronic Measurement: An Introductory Electronics Laboratory Workbook Based on Labview and Virtual Bench, A. Bruce Buckman, Bruce A. Buckman, Prentice Hall, 1 edition (November 24, 1999) [11] Labview for Automotive, Telecommunications, Semiconductor, Biomedical, and Other Applications (National Instruments Virtual Instrumentation Series), Hall T. Martin, Meg L. Martin, Prentice Hall PTR, 1st edition (June 15, 2000) [12] LabVIEW: Data Acquisition & Analysis for Movement Sciences (Book with CD- ROM), Andrew L. McDonough, Prentice Hall, 1st edition (January 15, 2001) [13] Learning with Labview 6i, Robert H. Bishop, Prentice Hall, 2nd edition (February 15, 2001) [14] Hands-On Exercise Manual for LabVIEW Programming, Data Acquisition, and Analysis, Jeffrey Y. Beyon, Prentice Hall PTR, 1st edition (August 2000) [15] LabVIEW Programming, Data Acquisition and Analysis (with CD-ROM), Jeffrey Y. Beyon, Prentice Hall PTR, 1st edition (September 2000) [16] LabVIEW GUI Essential Techniques (With CD-ROM), David J. Ritter, McGraw-Hill Professional Publishing, Bk&Cd-Rom edition (December 15, 2001) [17] Sensors, Transducers, & Labview (Virtual Instrumentation Series), Barry E. Paton, Prentice Hall PTR, 1st edition (October 15, 1998) [18] LabVIEW Signal Processing (Virtual Instrumentation Series), Abhay R. Samant, Mahesh L. Chugani, Michael Cerna, Prentice Hall PTR, Bk&Cd Rom edition (May 1998) 168

173 [19] LabVIEW Applications and Solutions, Rahman Jamal, Herbert Pichlik, Prentice Hall PTR, 1st edition (January 15, 1999) [20] Internet Applications in LabVIEW (With CD-ROM), Jeffrey Travis, Prentice Hall PTR, 1st edition (April 15, 2000) [21] Virtual Bio-Instrumentation: Biomedical, Clinical and Healthcare Applications in LabVIEW, Eric Rosow, and Jon B. Olansen, Prentice Hall, 1st edition (December 15, 2001) [22] Practical LabVIEW, Harry L. Valenta Jr., Biomedical Res. Assoc. LLC, 2nd Rev edition (January 8, 2001) [23] LabVIEW Grammar: A Laboratory Approach to Grammar Review, Barbara Flaningam, Kendall/Hunt Publishing Company, 3rd spiral edition (June 1998) [24] Labtutor : A Friendly Guide to Computer Interfacing and LabVIEW Programming (MacIntosh Version), John K. Eaton, Laura Eaton, Oxford University Press, Paperback (April 1995) [25] A Software Engineering Approach to LabVIEW, Jon Conway and Steve Watts, Publisher: Prentice Hall PTR, (April 2003) [26] Analog Electronics with LabVIEW, Kenneth L. Ashley, Pearson Education, (July 2002) [27] Image Acquisition and Processing with LabVIEW, Christopher G. Relf, CRC Press, (July 2003) [28] LabVIEW for Electric Circuits, Machines, Drives, and Laboratories, Nesimi Ertugrul, Prentice Hall PTR, Book and CD-ROM edition (May 15, 2002) 169

174 [29] Image Processing with LabVIEW and IMAQ Vision, Thomas Klinger, Prentice Hall PTR, Book and CD-ROM edition (June 11, 2003) [30] Image Processing with LabVIEW and IMAQ Vision, Thomas Klinger, Prentice Hall PTR, Book and CD-ROM edition (June 11, 2003) 170

175 ΠΡΟΣΑΡΤΗΜΑ Διάφορα παραδείγματα των δυνατοτήτων του LabVIEW Α.1 Επιθεώρηση σφιγκτήρων μπαταριών Το LabVIEW μέσω του πρόσθετου πακέτου Image processing (επεξεργασίας εικόνας) έχει την δυνατότητα να παίρνει φωτογραφίες από παραγόμενα εξαρτήματα κάποιου προϊόντος και αναλύοντάς τες να αποφαίνεται για τον εάν το παραχθέν εξάρτημα βρίσκεται μέσα στα όρια ανοχής που επιβάλουν οι προδιαγραφές παραγωγής του προϊόντος ή όχι και έτσι αυτό να χρησιμοποιείται ή όχι, αντίστοιχα. Η διαδικασία ξεκινά με την φωτογράφιση του εξαρτήματος μέσω κάμερες συνδεδεμένης με το LabVIEW. Αμέσως μετά το LabVIEW αναγνωρίζει το σχήμα του αντικειμένου, προσδιορίζει τους άξονες αναφοράς και αμέσως μετά περνά στην μέτρηση των διαστάσεων έτσι ώστε να καταλήξει στο αποτέλεσμα, το οποίο είναι είτε θετικό (οπότε το εξάρτημα είναι μέσα στα όρια ανοχής), είτε αρνητικό. Στο συγκεκριμένο παράδειγμα το LabVIEW μετρά την διάμετρο της κεντρικής τρύπας του σφικτήρα μπαταριών, μέσω ανίχνευσης κυκλικών άκρων, και την απόσταση των δύο άκρων του εξαρτήματος. 171

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

177 Α.3 Αντιστοίχιση χρωματικών μοτίβων Παρόμοιες τεχνικές όπως με την προηγούμενη, αλλά ταυτόχρονα και μια επέκτασή της είναι η αντιστοίχιση μοτίβων πχ σε τυπωμένα κυκλώματα. Σε αυτή την περίπτωση, δεν γίνεται εύρεση μόνο κάποιου χρώματος και σχεδίου, αλλά ο συνδυασμός χρωμάτων, σχήματος, τοποθέτησης, περιστροφής ενός μοτίβου μέσα σε μια εικόνα. Έτσι παίρνουμε πληροφορία για την ύπαρξη η μη, τον αριθμό και την τοποθεσία του μοντέλου σε μια εικόνα. Μπορούμε να χρησιμοποιήσουμε την αντιστοίχιση μοτίβων στις παρακάτω περιοχές: Ευθυγράμμιση Καθορισμός της θέσης και του προσανατολισμού ενός γνωστού αντικειμένου, χρησιμοποιώντας χαρακτηριστικά του. Αυτά τα χαρακτηριστικά χρησιμοποιούνται ως σημεία αναφοράς. 173

178 Μέτρηση Μέτρηση μήκους, διατομής, γωνίας και άλλων κρίσιμων διαστάσεων. Αν οι μετρήσεις βρεθούν εκτός ορίων ανοχής, τότε το αντικείμενο απορρίπτεται. Η διαδικασία αυτή μπορεί να γίνει και κατά την διάρκεια παραγωγής, αλλά και εκτός παραγωγής. Επιθεώρηση Ανίχνευση απλών λαθών, όπως για παράδειγμα μέρη που λείπουν ή δυσανάγνωστες εκτυπώσεις. Α.4 Επιθεώρηση βάση «χρυσού» μοτίβου Το LabVIEW έχει την δυνατότητα ανίχνευσης του αντικειμένου προς επιθεώρηση (στην συγκεκριμένη περίπτωση, μια ετικέτα) σε μια φωτογραφία μέσω της αντιστοίχησης μοτίβου. Σε αυτό το παράδειγμα συγκρίνεται μια ετικέτα πρότυπο 174

179 χωρίς αλλοιώσεις (το «χρυσό» μοτίβο) με την ετικέτα που θέλουμε να ελέγξουμε. Αν η ετικέτα βρεθεί να έχει μεγάλες αλλοιώσεις τότε απορρίπτεται. Α.5 Φωτομέτρηση Η φωτομέτρηση είναι ένα ακόμη χαρακτηριστικό του LabVIEW. Με την βοήθεια μιας υπέρυθρης κάμερας, το LabVIEW μπορεί να ανιχνεύσει σημεία υπερθέρμανσης εξαρτημάτων κάποιας συσκευής που εξετάζεται, μέσω της φωτομέτρησης. Έτσι ανιχνεύονται τα ακριβή σημεία και μπορεί να γίνει ακριβέστερα και ευκολότερα και η ανάλογη μελέτη ψύξης των εξαρτημάτων αυτών, με σκοπό την ασφαλή λειτουργία και μεγαλύτερη διάρκεια ζωής της συσκευής. 175

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

181 Α.7 Δημιουργία 3διάστατης υψομετρικής εικόνας από 2διάστατη Το LabVIEW μπορεί να δημιουργήσει 3διάστατες υψομετρικές εικόνες με χρήση των χρωμάτων της εικόνας. Η αρχική εικόνα αναλύεται και κάθε pixel της μετατρέπεται σε ύψος ανάλογα με το χρώμα του. Το λευκό είναι το ψηλότερο σημείο στον χάρτη, ενώ το μαύρο είναι το χαμηλότερο. Έτσι παίρνουμε το αποτέλεσμα που φαίνεται παρακάτω. 177

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα Μέρος 2 Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα Πρόλογος Η «Εισαγωγή στο LabVIEW και τα Εικονικά Όργανα» βασίζεται στο βιβλίο του Dan Nesculescu, Mechatronics, Prentice Hall Μετάφραση στα ελληνικά

Διαβάστε περισσότερα

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

για τις ρυθμίσεις LabView μέσα από το κανάλι   και του καλωδίου USB. 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Δραστηριότητα: 11 Μάθημα: Εργαστήριο Δικτύων Υπολογιστών Αντικείμενο : Μέτρηση

Διαβάστε περισσότερα

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι 1 Το LabVIEW αποτελεί εργαλείο που μπορεί να χρησιμοποιηθεί

Διαβάστε περισσότερα

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα

Μέρος 2. Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα Μέρος 2 Εισαγωγή στο Lab VIEW και τα Εικονικά Όργανα Πρόλογος Η «Εισαγωγή στο LabVIEW και τα Εικονικά Όργανα» βασίζεται στο βιβλίο του Dan Nesculescu, Mechatronics, Prentice Hall Μετάφραση στα ελληνικά

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Γνωριμία με το περιβάλλον LabVIEW. Γνωριμία με το περιβάλλον LabVIEW.

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Γνωριμία με το περιβάλλον LabVIEW. Γνωριμία με το περιβάλλον LabVIEW. Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Γνωριμία με το περιβάλλον LabVIEW. Γνωριμία με το περιβάλλον LabVIEW. Βασική δομή ενός προγράμματος στο LabVIEW. Σκοπός Εμπρόσθιο Πλαίσιο (Front Panel). Δομικό

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ 130 : Ψηφιακή σχεδίαση Βόλος 2015 1 Εισαγωγή Το Multisim είναι ένα ολοκληρωμένο περιβάλλον προσομοίωσης της συμπεριφοράς

Διαβάστε περισσότερα

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop. Ο βρόγχος While-loop 1. Ο βρόγχος while-loop εκτελείται έως ότου ικανοποιηθεί µία προκαθορισµένη συνθήκη. 2. Ο αριθµός των επαναλήψεων ενός βρόγχου while-loop δεν είναι εκ των προτέρων προκαθορισµένος,

Διαβάστε περισσότερα

Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView

Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView 1o ΕΠΑΛ Ε.Κ. ΝΕΑΠΟΛΗΣ Μπουλταδάκης Σ, Μαυρίδης Κ. Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView Mάθημα: Εργαστήριο Δικτύων Υπολογιστών

Διαβάστε περισσότερα

Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ

Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ Εισαγωγή Κύριας Ιδέας ή Γενικού Θέματος: Όταν ανοίγει το Inspiration, εμφανίζεται ένα σύμβολο στο κέντρο της οθόνης με τις λέξεις: Main Idea (Κύρια Ιδέα).

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 2o Εργαστήριο Σ.Α.Ε. Ενότητα : Εισαγωγή στο Labview

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 2o Εργαστήριο Σ.Α.Ε. Ενότητα : Εισαγωγή στο Labview ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 2o Εργαστήριο Σ.Α.Ε Ενότητα : Εισαγωγή στο Labview Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

USB_6008_terminal_31. PCI_6023E_terminal_68. PCI_6023E_terminal_67

USB_6008_terminal_31. PCI_6023E_terminal_68. PCI_6023E_terminal_67 Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μαυρίδης Κώστας και Μπουλταδάκης Στέλιος Μάθημα: Συστήματα Ελέγχου και Ασφάλειας Τίτλος Μαθήματος: Μέτρηση Αναλογικής Εισόδου και Οδήγηση

Διαβάστε περισσότερα

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Μάθημα: Ρομποτική Αντικείμενο : Μεταφορά δεδομένων μέσω του πρωτοκόλλου RS232

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η επωνυµία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες

Διαβάστε περισσότερα

Εξωτερικές συσκευές. Οδηγός χρήσης

Εξωτερικές συσκευές. Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες

Διαβάστε περισσότερα

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE Βήμα 1, εγκατάσταση VHOPE Η εφαρμογή VHOPE θα πρέπει να εγκατασταθεί στο PC σας προτού μπορείτε να αρχίσετε να χρησιμοποιείτε το υλικό παρουσίασης σε αυτό

Διαβάστε περισσότερα

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Εισαγωγή στο πρόγραμμα Microsoft word 2003 Εισαγωγή στο πρόγραμμα Microsoft word 2003 Έναρξη 1. Εκκίνηση του προγράμματος Για να ξεκινήσουμε το Word, πατάμε στο κουμπί Εναρξη και από το μενού που εμφανίζεται επιλέγουμε Προγράμματα και Microsoft

Διαβάστε περισσότερα

Σημείωση για το προϊόν

Σημείωση για το προϊόν Έναρξη από εδώ Copyright 2013 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις ΗΠΑ. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς

Διαβάστε περισσότερα

1. Τα τμήματα της επιφάνειας εργασίας των Windows

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

Διαβάστε περισσότερα

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Ιούλιος 2017 Copyright 2017 Πανεπιστήμιο Κύπρου. Όλα τα πνευματικά δικαιώματα κατοχυρωμένα. Δημιουργός: Λευτέρης Γ. Ζαχαρία Πίνακας Περιεχομένων 1. Εισαγωγή....

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP... 9 Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Κεφάλαιο 3: Γραμμή εργασιών (taskbar)... 26 Κεφάλαιο 4: Χειρισμός παραθύρων... 44

Διαβάστε περισσότερα

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

Διαβάστε περισσότερα

Κεφάλαιο 2.4: Εργασία με εικονίδια

Κεφάλαιο 2.4: Εργασία με εικονίδια Κεφάλαιο 2.4: Εργασία με εικονίδια 2.4.1 Συχνότερα εμφανιζόμενα εικονίδια των Windows Τα πιο συνηθισμένα εικονίδια, που μπορεί να συναντήσουμε, είναι: Εικονίδια συστήματος: Τα Windows εμφανίζουν τα στοιχεία

Διαβάστε περισσότερα

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο µπορεί να αλλάξουν χωρίς προειδοποίηση. Οι µοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Visual Flowchart Γενικά

Visual Flowchart Γενικά Visual Flowchart 3.020 -Γενικά Το Visual Flowchart ή «Data-Flow Visual Programming Language 3.020» (http://www. emu8086.com/fp) είναι ένα περιβάλλον ανάπτυξης και εκτέλεσης αλγορίθμων απευθείας σε μορφή

Διαβάστε περισσότερα

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

Πώς εισάγουμε μια νέα έννοια χρησιμοποιώντας το εργαλείο Create Inspiration 8 IE Β ήμα προς Βήμα Για μαθητές Έναρξη Προγράμματος Inspiration 1. Κάνουμε κλικ στο κουμπί Start, επιλέγουμε Programs και κάνουμε κλικ στο Inspiration 8 IE. 2. Στην αρχική οθόνη του προγράμματος

Διαβάστε περισσότερα

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής Εγχειρίδιο Εγκατάστασης και Χρήσης Πίνακας Περιεχομένων. Πριν την εγκατάσταση... 3. Ελάχιστες απαιτήσεις σε εξοπλισμό... 3 2. Εγκατάσταση... 4

Διαβάστε περισσότερα

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 Η ΑΝΑΠΤΥΞΗ ΤΗΣ ΟΘΟΝΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 4 Ο ΕΚΠΑΙΔΕΥΤΗΣ ΡΟΜΠΟΤ... 5 ΤΟ ΠΑΡΑΘΥΡΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 5 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ...

Διαβάστε περισσότερα

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

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή. Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή. Βήμα 1 ο : Εγκατάσταση εφαρμογής ανάγνωσης Readium και Readium για μαθητές με

Διαβάστε περισσότερα

Αναπαραγωγή με αρχεία ήχου

Αναπαραγωγή με αρχεία ήχου Αναπαραγωγή με αρχεία ήχου Ανοίγει η παρουσίαση και εμφανίζεται η διαφάνεια τίτλου, "Πειράματα με αρχεία ήχου". Άσκηση 1: Εισαγωγή ήχου για συνεχή αναπαραγωγή Βήμα 1: Εισαγωγή ήχου Στη διαφάνεια 1, με

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΜΑΘΗΜΑ : Η/Υ I (ενότητα WINDOWS) ΥΠΕΥΘΥΝΟΣ : ΑΝΑΣΤΑΣΙΟΣ ΟΙΚΟΝΟΜΙΔΗΣ, Καθηγητής ΕΡΓΑΣΤΗΡΙΑ : ΘΕΑΝΩ ΧΑΤΖΙΔΑΚΗ, Εργαστηριακό

Διαβάστε περισσότερα

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για τα προϊόντα

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Windows Vista... 9 92 Επιφάνεια εργασίας... 18 93 Γραμμή εργασιών... 31 94 Χειρισμός παραθύρων... 53 95 Το παράθυρο Υπολογιστής... 77 96 Το μενού Έναρξη...

Διαβάστε περισσότερα

Unity Editor #03 Κεντρικό Μενού: Edit

Unity Editor #03 Κεντρικό Μενού: Edit Unity Editor #03 Κεντρικό Μενού: Edit Συνεχίζουμε λοιπόν με το κεντρικό μενού. Ας δούμε τι μας κρύβει η επιλογή Edit. Όπως βλέπεις στην εικόνα, μας δίνει πολλές δυνατότητες. Πολλές βέβαια από αυτές είναι

Διαβάστε περισσότερα

Γνωρίστε το χώρο εργασίας του PowerPoint

Γνωρίστε το χώρο εργασίας του PowerPoint Γνωρίστε το χώρο εργασίας του PowerPoint Για να εκκινήσουμε το Office PowerPoint 2007 ακολουθούμε τα εξής βήματα: Έναρξη à Όλα τα προγράμματα PowerPoint 2007. à Microsoft Office à Microsoft Office Όταν

Διαβάστε περισσότερα

[συνέχεια του εγγράφου Word 2]

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

Διαβάστε περισσότερα

Windows 7 Windows Vista

Windows 7 Windows Vista ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΚΕΝΤΡΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ Κωστακιοί Άρτας, ΑΡΤΑ 47100 - Tηλ.. 26810 50500 - Fax. 2681 76941 e-mail: noc@teiep.gr ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ Τ.Ε.Ι. ΗΠΕΙΡΟΥ

Διαβάστε περισσότερα

Εξωτερικές συσκευές. Οδηγός χρήσης

Εξωτερικές συσκευές. Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2006 Hewlett-Packard Development Company, L.P. Οι επωνυµίες Microsoft και Windows είναι εµπορικά σήµατα της εταιρίας Microsoft Corporation. Οι πληροφορίες στο

Διαβάστε περισσότερα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11 Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

TeleCost Hotel για Panasonic TDA

TeleCost Hotel για Panasonic TDA TeleCost Hotel για Panasonic TDA 1. Οδηγίες Εγκατάστασης του Λογισμικού του Συστήματος Telecost Hotel Γενικά Για την εγκατάσταση του Λογισμικού του Συστήματος TeleCost HL θα πρέπει να ακολουθηθούν συνοπτικά

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο µπορεί να αλλάξουν χωρίς προειδοποίηση. Οι µοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης 1 Λεπτομέριες τοιχοποιϊας Σχεδίαση κάτοψης Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης Ξεκινώντας το πρόγραμμα εμφανίζονται οι επιλογές σχετικά με το τι θέλετε να κάνετε. Δημιουργώντας Νέο Δωμάτιο Όταν ο

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Κεφάλαιο 2.3: Ρυθμίσεις των Windows Κεφάλαιο 2.3: Ρυθμίσεις των Windows 2.3.1 Βασικές πληροφορίες συστήματος Για να δούμε βασικές πληροφορίες για τον υπολογιστή μας, πατάμε το κουμπί «Έναρξη» και επιλέγουμε διαδοχικά «Πίνακας Ελέγχου», «Σύστημα

Διαβάστε περισσότερα

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

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης. Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης. 1. SMART BOARD SERIAL NUMBER: Ο σειριακός αριθμός του Διαδραστικού πίνακα βρίσκεται στην δεξιά πλαϊνή μεριά

Διαβάστε περισσότερα

Τα Windows Πολύ Απλά και Πολύ Σύντομα

Τα Windows Πολύ Απλά και Πολύ Σύντομα Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Τα Windows Πολύ Απλά και

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για τα προϊόντα

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης V3.0

Εγχειρίδιο Χρήσης V3.0 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ Εγχειρίδιο Χρήσης V3.0 Πίνακας Περιεχομένων: 1. Σύνδεση με την συσκευή 3 1.1 Σύνδεση μέσω Wi-Fi Direct.... 3 1.2 Ενσύρματη σύνδεση (LAN) 3 1.3 Ασύρματη σύνδεση (WiFi).

Διαβάστε περισσότερα

Stellarium Εγχειρίδιο Οδηγιών

Stellarium Εγχειρίδιο Οδηγιών Προϋποθέσεις συστήματος: Windows (XP, Vista, 7) με DirectX 9.x και τελευταίες ServicePack ή MacOS X 10.3.x (ή υψηλότερη), κάρτα γραφικών 3D με υποστήριξη OpenGL, ελάχ. 512 MB RAM, 1 GB διαθέσιμος χώρος

Διαβάστε περισσότερα

Καροτοκυνηγός. Αντικείμενα

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

Διαβάστε περισσότερα

Μάθημα 4ο. Προγράμματα

Μάθημα 4ο. Προγράμματα Μάθημα 4ο Προγράμματα Σελίδα 47 από 106 4.1 Εγκατάσταση προγραμμάτων Όπως έχουμε πει στο πρώτο μάθημα (Σημειώσεις 1ου Μαθήματος 1.3.3.Β σελ. 12) τα προγράμματα ή αλλιώς εφαρμογές αποτελούν μέρος του λογισμικού

Διαβάστε περισσότερα

Microsoft PowerPoint 2007

Microsoft PowerPoint 2007 Information Technology Services and Solutions Σύμβουλοι Μηχανογράφησης και Εκπαίδευσης Στεφ. Σκουλούδη 27, Καλλίπολη, Πειραιάς 210 45 38 177 http://www.itss.gr/ Microsoft PowerPoint 2007 Κωνσταντίνος Κωβαίος

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ PROΩΘΗΣΗ PROώθηση ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση Περιεχόμενα Εγκατάσταση ΠΕΡΙΕΧΟΜΕΝΑ ΣΥΣΚΕΥΑΣΙΑΣ... 3 ΣΥΝΔΕΣΗ ΕΞΟΠΛΙΣΜΟΥ... 3 ΡΥΘΜΙΣΗ Wi-Fi... 4 ΕΙΣΟΔΟΣ ΧΡΗΣΤΗ... 6 ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ... 6 ΚΑΤΑΣΤΑΣΗ ΣΥΣΚΕΥΗΣ...

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER)

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER) Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER) Επιλογή αρχείων και φακέλων Αν τα αρχεία είναι συνεχόμενα κάνω κλικ στο πρώτο αρχείο μετά πατάω διαρκώς το πλήκτρο Shift και κάνω κλικ στο τελευταίο αρχείο.

Διαβάστε περισσότερα

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

Κάθε ένα κελί θα πρέπει να περιέχει ένα μόνο στοιχείο δεδομένων, για παράδειγμα το όνομα σε ένα κελί, το επίθετο σε άλλο κελί. ΜΑΘΗΜΑ 2 ΣΤΟΧΟΙ: 1. Εισαγωγή Δεδομένων Σε Κελιά 2. Αλλαγή Προβολής Φύλλου Εργασίας 3. Επιλογή Κελιών 4. Επιλογή Όλου Του Φύλλου Εργασίας 5. Μετακίνηση Στο Φύλλο Εργασίας 6. Επεξεργασία Δεδομένων Σε Ένα

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ GRS-1 Σελίδα 1 ΓΕΝΙΚΑ - ΕΙΣΑΓΩΓΗ Το GRS-1 της TOPCON διαθέτει λειτουργικό σύστημα Windows CE NET 6.1 παρέχοντας την δυνατότητα εγκατάστασης οποιασδήποτε εφαρμογής και λογισμικού έκδοσης

Διαβάστε περισσότερα

Εγκατάσταση SafeNet Authentication Client για Windows. Λήψη αρχείου εγκατάστασης, Οδηγίες Εγκατάστασης, Αλλαγή ΡΙΝ

Εγκατάσταση SafeNet Authentication Client για Windows. Λήψη αρχείου εγκατάστασης, Οδηγίες Εγκατάστασης, Αλλαγή ΡΙΝ Εγκατάσταση SafeNet Authentication Client για Windows Λήψη αρχείου εγκατάστασης, Οδηγίες Εγκατάστασης, Αλλαγή ΡΙΝ Λήψη αρχείου εγκατάστασης Για να διαπιστώσετε εάν το λειτουργικό σας σύστημα είναι 32 ή

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα

3. Στο Block Diagram αναπτύσουµε το υπολογιστικό µέρος του προγράµµατος. Σχήµα 1.1: Το Front Panel του LabVIEW.

3. Στο Block Diagram αναπτύσουµε το υπολογιστικό µέρος του προγράµµατος. Σχήµα 1.1: Το Front Panel του LabVIEW. Front Panel και Block Diagram 1. Το LAbVIEW αποτελείται από δύο καρτέλες. Το Front Panel και το Block Diagram. Εναλλασσόµαστε ανάµεσα στις δύο καρτέλες µε τη συντόµευση CTRL+E ή µε το µενού Windows / Show

Διαβάστε περισσότερα

Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B:

Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B: Συστήματα floppy disk Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B: Συστήματα σκληρού δίσκου Οι χρήστες σκληρού δίσκου θα πρέπει να δημιουργήσουν ένα directory με το όνομα

Διαβάστε περισσότερα

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής Μάθημα 7ο Πολυμέσα 7.Α.1 Παρουσιάσεις Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών μας. Αποτελούν μια συνοπτική μορφή των εργασιών μας. Μέσω δημιουργίας διαφανειών, μορφοποιήσεων

Διαβάστε περισσότερα

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

Διαβάστε περισσότερα

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

Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι εμπορικό σήμα κατατεθέν της Microsoft Corporation. Οι πληροφορίες στο

Διαβάστε περισσότερα

Εισαγωγή στο περιβάλλον Code::Blocks

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

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο µπορεί να αλλάξουν χωρίς προειδοποίηση. Οι µοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Electronics θα μεταφέρονται σε Η/Υ λειτουργικό σύστημα Windows7 μέσω της σειριακής

Electronics θα μεταφέρονται σε Η/Υ λειτουργικό σύστημα Windows7 μέσω της σειριακής Τομέας: Ηλεκτρονικός Εκπαιδευτικός: Μπουλταδάκης Στέλιος Μάθημα: Συλλογή και μεταφορά δεδομένων μέσω Η/Υ, Αισθητήρες-Ενεργοποιητές Αντικείμενο: α) Μέτρηση θερμοκρασίας με το αισθητήριο LM335 και μεταφορά

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 9 Ανάλυση Fourier: Από τη Θεωρία στην Πρακτική Εφαρμογή των Μαθηματικών Τύπων. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος

Διαβάστε περισσότερα

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch Τι θα μάθουμε σήμερα: Να ενεργοποιούμε το λογισμικό Scratch Να αναγνωρίζουμε τα κύρια μέρη του περιβάλλοντος του Scratch Να δημιουργούμε/εισάγουμε/τροποποιούμε

Διαβάστε περισσότερα

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εργαστήριο Επεξεργασία Εικόνας & Βίντεο 1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή Νικόλαος Γιαννακέας Άρτα 2018 1 Εισαγωγή Το Matlab

Διαβάστε περισσότερα

WiFi V-Timer ΕΚΔΟΣΗ 2Η

WiFi V-Timer ΕΚΔΟΣΗ 2Η ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ WiFi V-Timer ΕΚΔΟΣΗ 2Η 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ WiFi V-Timer... 3 2. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΟΥ WiFi V-Timer... 4 3. ΤΟΠΙΚΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ WiFi V-Timer... 5 4. ΕΓΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

Διαβάστε περισσότερα

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στο Λειτουργικό Σύστημα Windows XP. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στο Λειτουργικό Σύστημα Windows XP. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008 Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στο Λειτουργικό Σύστημα Windows XP Βόλος, Νοέμβριος 2008 Τα Windows είναι ένα Λειτουργικό Σύστημα που χρησιμοποιείται σε εκατομμύρια υπολογιστές στον κόσμο. Μας βοηθούν στο να

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Εξωτερικές συσκευές Οδηγός χρήσης

Εξωτερικές συσκευές Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο µπορεί να αλλάξουν χωρίς προειδοποίηση. Οι µοναδικές εγγυήσεις για προϊόντα και

Διαβάστε περισσότερα

Εξωτερικές συσκευές. Οδηγός χρήσης

Εξωτερικές συσκευές. Οδηγός χρήσης Εξωτερικές συσκευές Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η επωνυµία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες

Διαβάστε περισσότερα

Ανακαλύπτω. Ο υπολογιστής στην πράξη!

Ανακαλύπτω. Ο υπολογιστής στην πράξη! ΔΗΜΟΣΙΑ ΚΕΝΤΡΙΚΗ ΒΙΒΛΙΟΘΗΚΗ ΛΕΒΑΔΕΙΑΣ ΣΥΛΛΟΓΟΣ «ΦΙΛΟΙ ΒΙΒΛΙΟΘΗΚΗΣ ΛΙΒΑΔΕΙΑΣ» Κατερίνα Κεράστα 2014 Α Μαθαίνω τον υπολογιστή μου Ανακαλύπτω Ο υπολογιστής στην πράξη! Ο υπολογιστής στην πράξη! Επιφάνεια

Διαβάστε περισσότερα

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ Οδηγίες Παραμετροποίησης Power Electronics Control Ε.Π.Ε. Τύποι Συσκευών: LFT169 - LFR169 Περιγραφή: Πομπός και Δέκτης Τηλεχειρισμού 169MHz

Διαβάστε περισσότερα

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

Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις Ηνωμένες Πολιτείες. Οι

Διαβάστε περισσότερα

Ας μετονομάσουμε τη γάτα που εμφανίζεται μόλις ανοίγουμε το Scratch. Επιλέγουμε το εικονίδιο Μορφή1 που βρίσκεται στη λίστα αντικειμένων.

Ας μετονομάσουμε τη γάτα που εμφανίζεται μόλις ανοίγουμε το Scratch. Επιλέγουμε το εικονίδιο Μορφή1 που βρίσκεται στη λίστα αντικειμένων. Σχεδιάζοντας αντικείμενα Εισαγωγή στο περιβάλλον των αντικειμένων Όπως συζητήσαμε και στο προηγούμενο κεφάλαιο, τα αντικείμενα στο Scratch αποτελούν τους πρωταγωνιστές των έργων μας. Το πρώτο βήμα κατά

Διαβάστε περισσότερα

Εφαρμογές Σειριακής Επικοινωνίας

Εφαρμογές Σειριακής Επικοινωνίας Εφαρμογές Σειριακής Επικοινωνίας Εισαγωγή Στο μάθημα αυτό θα μάθουμε πώς να χρησιμοποιούμε την βιβλιοθήκη serial για την επικοινωνία από την πλατφόρμα Arduino πίσω στον υπολογιστή μέσω της θύρας usb. Τι

Διαβάστε περισσότερα

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Εισηγητής : Χρήστος Μανώλης δάσκαλος Θεσσαλονίκη Οκτώβριος - Δεκέμβριος

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21 ENOTHTA 4 Περιεχόμενα Λίγα λόγια από τον συγγραφέα... 7 1 Microsoft Excel 2010... 9 2 Η δομή ενός φύλλου εργασίας... 21 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 27 4 Συμβουλές για

Διαβάστε περισσότερα

SIMATIC MANAGER SIMATIC MANAGER

SIMATIC MANAGER SIMATIC MANAGER 1 Προγραμματισμός του PLC. 1. Γενικά Μια προσεκτική ματιά σε μια εγκατάσταση που θέλουμε να αυτοματοποιήσουμε, μας δείχνει ότι αυτή αποτελείται από επιμέρους τμήματα τα οποία είναι συνδεδεμένα μεταξύ τους

Διαβάστε περισσότερα

Συσκευές δείκτη και πληκτρολόγιο

Συσκευές δείκτη και πληκτρολόγιο Συσκευές δείκτη και πληκτρολόγιο Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η επωνυµία Windows είναι εµπορικό σήµα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α.

Διαβάστε περισσότερα

Εγκατάσταση του Arduino IDE

Εγκατάσταση του Arduino IDE ΑΣΠΑΙΤΕ Συλλογή και Επεξεργασία Δεδομένων Εργαστήριο ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), για το προγραμματισμό του Arduino. Χρησιμοποιώντας το

Διαβάστε περισσότερα

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram. Εισαγωγή αρχείων δεδοµένων 1. Η εισαγωγή αρχείων δεδοµένων στο LaVIEW γίνεται στο Block Diagram µε την εντολή Read From Spreadsheet File. 2. Εισάγουµε την εντολή Read From Spreadsheet File στο Block Diagram

Διαβάστε περισσότερα

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel 11.1. Πολλαπλά φύλλα εργασίας Στο προηγούμενο κεφάλαιο δημιουργήσαμε ένα φύλλο εργασίας με τον προϋπολογισμό δαπανών του προσωπικού που θα συμμετάσχει

Διαβάστε περισσότερα

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE... 2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ... 3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ... 4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)... 5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 6 Κεντρικό

Διαβάστε περισσότερα

ΜΕΛΕΤΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΑΤΜΟΣΦΑΙΡΙΚΩΝ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΔΙΕΝΕΡΓΕΙΑ ΑΣΤΡΟΝΟΜΙΚΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ.

ΜΕΛΕΤΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΑΤΜΟΣΦΑΙΡΙΚΩΝ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΔΙΕΝΕΡΓΕΙΑ ΑΣΤΡΟΝΟΜΙΚΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ. Ερασιτεχνικής Αστρονομίας ΜΕΛΕΤΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΑΤΜΟΣΦΑΙΡΙΚΩΝ ΠΑΡΑΜΕΤΡΩΝ ΠΟΥ ΕΠΗΡΕΑΖΟΥΝ ΤΗΝ ΔΙΕΝΕΡΓΕΙΑ ΑΣΤΡΟΝΟΜΙΚΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ. Κυριάκος Πανίτσας Διπλ. Ηλεκτρολόγος Μηχανικός-Εκπαιδευτικός

Διαβάστε περισσότερα

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

Διαβάστε περισσότερα

Computing and Information Systems Service. ιαχείριση Αρχείων

Computing and Information Systems Service. ιαχείριση Αρχείων ιαχείριση Αρχείων Η διαχείριση αρχείων είναι πολύ σηµαντική για την οργάνωση των αρχείων σας σε φακέλους και την αποθήκευση των αρχείων που συσχετίζονται µεταξύ τους στον ίδιο φάκελο. Αν έχετε πολλά αρχεία,

Διαβάστε περισσότερα

Συστήματα Μικροεπεξεργαστών

Συστήματα Μικροεπεξεργαστών Εργαστήριο 1 ο Εισαγωγή στον AVR Περίγραμμα Εργαστηριακής Άσκησης Εισαγωγή... 2 Κατηγορίες μικροελεγκτών AVR... 2 Εξοικείωση με το περιβάλλον AVR Studio 4... 3 Βήμα 1ο: Δημιουργία νέου έργου (project)...

Διαβάστε περισσότερα