ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Ηλεκτρονικών Υπολογιστών Τοµέας Ηλεκτρονικής - Υπολογιστών

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

Download "ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Ηλεκτρονικών Υπολογιστών Τοµέας Ηλεκτρονικής - Υπολογιστών"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Ηλεκτρονικών Υπολογιστών Τοµέας Ηλεκτρονικής - Υπολογιστών ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σχεδίαση Εικονικού Εργαστηρίου µε το λογισµικό LabVIEW για εξ αποστάσεως µετρήσεις µε παλµογράφο των Λιτοβολή Σωτήρη Α.Ε.Μ 3215 Πασσαλίδη Γεωργίου Α.Ε.Μ 3762 Επιβλέπων κ. οκουζγιάννης Σταύρος Επίκουρος καθηγητής Θεσσαλονίκη, Φεβρουάριος 2005

2 ΠΡΟΛΟΓΟΣ Στην παρούσα ιπλωµατική Εργασία σχεδιάστηκε και αναπτύχθηκε ένα εικονικό εργαστήριο µε το οποίο µε τις κατάλληλες µετατροπές δύναται να διεκπεραιώσει πείραµα µετρήσεων παλµογράφου µακριά από τον εργαστηριακό πάγκο. Τα εικονικά εργαστήρια άρχισαν να αποτελούν ένα βασικό µοχλό παροχής δυνατότητας µετρήσεων, στις περιπτώσεις εξαιρετικά εξειδικευµένων και πολυδάπανων οργάνων, τα οποία συγκεντρωµένα σε εργαστηριακές νησίδες παρέχουν τη δυνατότητα µετρήσεων από οποιοδήποτε σηµείο του πλανήτη. Κλασικό παράδειγµα αποτελούν οι εταιρείες πετρελαίου που διατηρούν τα εργαστήρια τους σε µια συγκεκριµένη τοποθεσία και παρά το γεγονός αυτό µπορούν και διεξάγουν εξειδικευµένες µετρήσεις σε αποµακρυσµένα µέρη µόνο µε τη χρήση απλών αντιδραστηρίων. Αυτό επιτρέπει σχεδόν άριστη διαδικασία προτυποποίησης προϊόντων πετρέλαιο, από ένα οποιοδήποτε δείγµα και δεν εξαρτάται από τυχούσα ανακρίβεια και αστοχία των οργάνων(έλλειψη συντήρησης, δαπανηρές διεργασίες προτυποποίησης, δοκιµών και ελέγχων οργάνων). Το πακέτο LabVIEW αναπτύχθηκε αρχικά (1983) ως λογισµικό ανάλυσης ηλεκτρονικών διατάξεων και συστηµάτων κυκλωµάτων. Στη συνέχεια διαδόθηκε ευρέως σε ολόκληρο το χώρο των ηλεκτρονικών µετρήσεων, σε βαθµό τέτοιο που σήµερα η χρήση και εφαρµογή πολύπλοκων οργάνων, προαπαιτεί την άριστη γνώση του LabVIEW. Παράδειγµα οι παλµογράφοι της Tektronix εδώ και 3 χρόνια έχουν ενσωµατωµένο το LabVIEW και προαπαιτούν την εφαρµογή του για την οργάνωση µετρήσεων. Έτσι µετατρέπεται η νοοτροπία προγραµµατισµού στο LabVIEW ως ένα από τα βασικά εργαλεία πρότυπα του χώρου των ηλεκτρονικών µετρήσεων. Στην παρούσα διπλωµατική δόθηκε το απαιτούµενο υπόβαθρο(υποδοµή) για την ανάπτυξη εικονικού εργαστηρίου για µετρήσεις παλµογράφου µε κατάλληλες µετατροπές το εικονικό εργαστήριο θα µπορεί να υλοποιεί λογικό αναλυτή, ανάλυση φάσµατος, αναλυτή δικτύων, κυκλωµάτων όπως και πειραµατικές διατάξεις εργαστηρίων. Στο σηµείο αυτό επιθυµούµε να ευχαριστήσουµε ιδιαίτερα τον επιβλέποντα καθηγητή µας κύριο Σταύρο οκουζγιάννη χωρίς την επιστηµονική βοήθεια του οποίου η εκπόνηση της ιπλωµατικής µας Εργασίας θα ήταν αδύνατη. Πιο πολύ όµως θα θέλαµε να τον ευχαριστήσουµε για τις πολύτιµες συµβουλές του για τη µετέπειτα επαγγελµατική µας σταδιοδροµία και την εν γένει πορεία µας στη ζωή από εδώ και πέρα. Επίσης τον ευχαριστούµε πολύ για το σεβασµό, την ανεκτικότητα και την καλή διάθεση µε την οποία µας αντιµετώπισε. Λιτοβολής Σωτήρης Α.Ε.Μ 3215 Πασσαλίδης Γεώργιος Α.Ε.Μ 3762 Θεσσαλονίκη, Α.Π.Θ, 2

3 ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 1. Εισαγωγή..3 Κεφάλαιο 2. Εισαγωγή στο περιβάλλον LabVIEW 2.1 Το περιβάλλον του LabVIEW Pull-Down Menus Palettes Τα κυριότερα στοιχεία του LabVIEW Structures Τα κυριότερα στοιχεία του Front Panel Τύποι δεδοµένων 34 Κεφάλαιο 3. Το όργανο VI του εικονικού παλµογράφου 3.1 Front Panel Block diagram Functions. 52 Κεφάλαιο 4. Σχεδίαση διακοµιστή (server) εικονικού εργαστηρίου 4.1 Front Panel Block diagram Connection VI Password Check VI No Time Out Error VI Communication VI Αποστολή δεδοµένων Λήψη δεδοµένων...73 Κεφάλαιο 5.. Σχεδίαση πελάτη (client) εικονικού εργαστηρίου 5.1 Front Panel Block diagram Τρόπος λειτουργίας του Block diagram Simple Provide Password Vi...80 Ανακεφαλαίωση.81 Βιβλιογραφία...82 Προσάρτηµα Π.Α Συναρτήσεις Server-Client

4 Εισαγωγή Κεφάλαιο 1 Κεφάλαιο 1 Εισαγωγή Παγκοσµίως τα εικονικά εργαστήρια αποτελούν ένα βασικό εργαλείο στο χώρο των ηλεκτρονικών µετρήσεων και της επεξεργασίας δεδοµένων. Εφαρµογές τους µπορούµε να συναντήσουµε τόσο στο χώρο της βιοµηχανίας όσο και στο χώρο της εκπαίδευσης. Στη βιοµηχανία χρησιµοποιούνται για την συλλογή και ανάλυση πληροφοριών από αποµακρυσµένα µέρη µε σηµαντικά οφέλη στην εξοικονόµηση χρηµάτων, ανθρωπίνου δυναµικού και χρόνου. Στην εκπαίδευση το εικονικό εργαστήριο µπορεί να αποτελέσει µια οριστική λύση στο όλο και αυξανόµενο πρόβληµα του συνωστισµού στα φυσικά εργαστήρια µιας και η δηµιουργία µεγάλων και συγχρόνων εργαστηρίων που να καλύπτουν πλήρως τις ανάγκες είναι εξαιρετικά δαπανηρή. LabVIEW είναι το εµπορικό όνοµα και η συντοµογραφία του όρου Laboratory Virtual Instrument Engineering Workbench. Πρόκειται για µια πλατφόρµα η οποία δίνει τη δυνατότητα στο χρήστη να δηµιουργήσει προγράµµατα όπως και σε πλατφόρµες της γλώσσας C ή της BASIC. Η µεγάλη διαφορά όµως είναι ότι ενώ άλλες πλατφόρµες χρησιµοποιούν γλώσσες προγραµµατισµού που αναπτύσσουν τα προγράµµατα τους µε κείµενα, το LabVIEW χρησιµοποιεί µια γραφική γλώσσα προγραµµατισµού η οποία ονοµάζεται G. Η ορολογία, τα εικονίδια και η γενικότερη φιλοσοφία που χρησιµοποιεί το LabVIEW και η γλώσσα G είναι οικεία σε επιστήµονες και µηχανικούς. Με αυτό τον τρόπο ο χρήστης δηµιουργεί προγράµµατα µε µεγαλύτερη ευκολία χωρίς να παγιδεύεται σε µια πληθώρα συντακτικών λεπτοµερειών. Έτσι είναι πιο φιλικό προς τον χρήστη και µπορεί ακόµα και κάποιος χωρίς καµία εµπειρία στον προγραµµατισµό να µάθει εύκολα να το 3

5 Εισαγωγή Κεφάλαιο 1 χρησιµοποιεί. Το LabVIEW περιέχει επίσης βιβλιοθήκες µε πληθώρα έτοιµων εφαρµογών οι οποίες µπορούν να βοηθήσουν το χρήστη σε οποιαδήποτε προγραµµατιστική εφαρµογή. Για να γίνει κατανοητή η λειτουργία ενός εικονικού εργαστηρίου δίδεται παρακάτω µια σχηµατική παράσταση του. Έστω ένα πείραµα παλµογράφου το οποίο θα αποτιµήσει τη λειτουργία της συσκευής υπό δοκιµή(dut). Στο DUT συνδέονται αισθητήρες και έξοδοι οργάνων µετρήσεων καθώς και µια γεννήτρια σηµάτων. Οι τελικές µετρήσεις λαµβάνονται από έναν παλµογράφο. Αισθητήρες και έξοδοι οργάνων µετρήσεων Μήτρα γεννητριών σηµάτων (αναλογικά και ψηφιακά) DUT Device Under Test Παλµογράφος Το ίδιο πείραµα οργανώνεται κάτω από την εποπτεία ενός εικονικού εργαστηρίου. Το φυσικό εργαστήριο επικοινωνεί µε το διακοµιστή(server) µέσω ειδικών προγραµµάτων (drivers) επιτυγχάνοντας έτσι την ανταλλαγή πληροφοριών µεταξύ τους. Οι πληροφορίες µέσω του δικτύου φτάνουν στον πελάτη (client). Αυτός µε τη σειρά του και µέσω του server έχει τη δυνατότητα να ελέγξει και να µεταβάλλει διάφορες παραµέτρους του συστήµατος. Η αµφίδροµη επικοινωνία φυσικού εργαστηρίου-server και server-client υλοποιεί το εικονικό εργαστήριο. Παρακάτω δίδεται µια σχηµατική παράσταση των προαναφερθέντων. 4

6 Εισαγωγή Κεφάλαιο 1 Αισθητήρες και έξοδοι οργάνων µετρήσεων Μήτρα γεννητριών σηµάτων (αναλογικά και ψηφιακά) DUT Device Under Test Παλµογράφος D/A D/D A/D PC VI του SERVER TCP/IP Ethernet Card ίκτυο 5

7 Εισαγωγή Κεφάλαιο 1 Αισθητήρες και έξοδοι οργάνων µετρήσεων Οθόνη D/A D/D A/D PC VI του Client TCP/IP Ethernet Card ίκτυο 6

8 Εισαγωγή Κεφάλαιο 1 Ο παλµογράφος καταγράφει τις ζητούµενες µετρήσεις συνδέοντας στους ακροδέκτες του στο DUT. Το πρώτο πρόβληµα στην σχεδίαση του συστήµατος, του εικονικού εργαστηρίου, είναι η επικοινωνία του φυσικού οργάνου µε το υπολογιστικό σύστηµα. Το λογισµικό του LabVIEW επιλύει το πρόβληµα αυτό µε την χρήση του διαδρόµου GBIP. Η Hewlett Packard ανέπτυξε τον διάδροµο GBIP (General Purpose Interface Bus) στα τέλη του 1960 για να επιτύχει επικοινωνία µεταξύ υπολογιστών και οργάνων. Ο διάδροµος είναι το µέσο για ανταλλαγή δεδοµένων και πληροφοριών, που δηµιουργήθηκε για τον έλεγχο και τις µετρήσεις σε όργανα. Ο διάδροµος GBIP είναι ένας 24 pins παράλληλος διάδροµος και έχει οκτώ γραµµές δεδοµένων, πέντε γραµµές χειρισµού του διαδρόµου, τρεις γραµµές χειραψίας και οκτώ γραµµές γείωσης. Έτσι ολόκληρα bytes µεταφέρονται σειριακά µε την µέθοδο χειραψίας. Επειδή τα δεδοµένα στέλνονται κατά bytes, τα µηνύµατα κωδικοποιούνται σε µορφή strings ASCII χαρακτήρων. Αυτό µπορεί να γίνει µόνο αν διαθέτουµε κάρτα GPIB και τους αντίστοιχους drivers. Υπάρχει ένας ελεγκτής, συνήθως ο υπολογιστής µας, που ελέγχει τον διάδροµο. Το όργανο µεταφοράς στέλνει τα δεδοµένα στον διάδροµο, ενώ ο ελεγκτής καθορίζει οµιλητή και ακροατήριο (talker και listeners). Οι γραµµατοσειρές των δεδοµένων µεταφέρονται έπειτα από τον οµιλητή στους ακροατές του διαδρόµου. Τα VIs του LabVIEW χειρίζονται αυτόµατα τέτοιες διαδικασίες(όπως το να ορίζουν διευθύνσεις). Παρακάτω δίδεται ένα παράδειγµα της χρήσης του GBIP. Έστω ότι υπάρχει ένας παλµογράφος που συνδέεται µέσω µιας κάρτας GBIP µε τον υπολογιστή µας. Η απεικόνιση των µετρήσεων,στον υπολογιστή, που πραγµατοποιεί γίνεται µέσω ενός driver. Τo πρόγραµµα στο LabVIEW που υλοποιεί τον συγκεκριµένο driver απεικονίζεται παρακάτω. 7

9 Εισαγωγή Κεφάλαιο 1 Το συγκεκριµένο SubVI απεικονίζει στο Front Panel του εικονικού παλµογράφου µία τιµή που αντιστοιχεί στις επιλογές VPP, VAV, VRMS, VMAX, VMIN, VTOP, VBAS, FREQ. Οι τιµές αυ-τές µετρούνται από το φυσικό όργανο και µε χρήση του driver µεταφέρονται στον υπολογιστή µας. Η δοµή του προγράµµατος είναι απλή και µπορεί να χρησιµοποιηθεί για όλες τις λει-τουργίες του παλµογράφου (Time Base Config, Channel Config, Trigger, Config Acquisition, Digitize, Waveform) λαµβάνοντας υπόψη τις επιµέρους παραµέτρους. Στο συγκεκριµένο παράδειγµα αρχικά γίνεται επιλογή του καναλιού του οπίου θα διαβαστεί η µέτρηση. Τα κανάλια τα αντιστοιχούµε σε ακέραιους αριθµούς (το 0 για το κανάλι 1,το 1 για το κανάλι 2 κτλ) και εισάγουµε το επιθυµητό κανάλι στην συνάρτηση Pick Line ( ).Η συνάρτηση αυτή προσθέτει στο string :MEAS:SOUR το string χαρακτήρων από τον πίνακα 1 ανάλογα της τιµής του (το επιθυµητό κανάλι). Εφαρµόζοντας την ίδια φιλοσοφία και στις επόµενες επιλογές, δηµιουργείται ένα string που περιέχει της µεταβλητές source, show measurements, function και clear screen. Το επόµενο βήµα είναι να αποσταλεί το string στο φυσικό όργανο. Η συνάρτηση VISA Write( ) µεταφέρει τα δεδοµένα στην συσκευή που ορίζουµε µέσω της µεταβλητής VISA session. Όταν γίνει σύνδεση του παλµογράφου µε τον υπολογιστεί,µέσω του LabVIEW, γίνεται η αναγνώριση της συσκευής όπου και ορίζουµε την διεύθυνση της στον διάδροµο GBIP (από 1 έως 30).Η µεταβλητή VISA session αναφέρεται σε αυτήν την διεύθυνση. Σε αυτό το σηµείο έχουν αποσταλεί όλα τα αναγκαία δεδοµένα και αναµένεται η αποστολή της µέτρησης, που 8

10 Εισαγωγή Κεφάλαιο 1 επιλέχθηκε, από το φυσικό όργανο. Η ανάγνωση γίνεται µε την συνάρτηση VISA Read( )οπότε γίνεται ανάκτηση της µέτρησης και απεικόνισης της στην οθόνη του υπολογιστή. Με αυτόν τον τρόπο επιλύεται το πρόβληµα της επικοινωνίας του παλµογράφου µε τον υπολογιστή. Στην περίπτωση της δικής µας εργασίας λόγω διαφόρων ανασταλτικών παραγόντων, τους οποίους θα αναφέρουµε αναλυτικά παρακάτω, η δηµιουργία ενός εικονικού εργαστηρίου µε πραγµατικό παλµογράφο ήταν ανέφικτη. Ως εκ τούτου αναγκαστήκαµε να δηµιουργήσουµε ένα εικονικό όργανο και να προχωρήσουµε κατόπιν στην ανάπτυξη του εικονικού εργαστηρίου. Στόχος ήταν η «κατασκευή» ενός παλµογράφου στο περιβάλλον του LabVIEW που να προσοµοιώνει αρκετές από τις λειτουργίες ενός αντίστοιχου πραγµατικού, έτσι ώστε να γίνει αντιληπτή µετέπειτα η χρησιµότητα του εικονικού εργαστηρίου. Το αποτέλεσµα που προέκυψε ήταν ένα VI το οποίο ονοµάσαµε oscilloscope.vi και διαθέτει τα ακόλουθα χαρακτηριστικά και λειτουργίες: ύο κανάλια εισόδου, Α και Β υνατότητα επιλογής εµφάνισης καναλιού στην οθόνη (Display channel) υνατότητα µετακίνησης του προσλαµβάνοντος σήµατος και των δύο καναλιών ως προς τον άξονα y (Position y ch1-position y ch2) Βαθµονόµηση του άξονα y (Volt/div) Βαθµονόµηση του άξονα x (Time base) Σκανδαλισµό του προσλαµβάνοντος σήµατος (Triggering) Επιλογή της τιµής του πλάτους του προσλαµβάνοντος σήµατος από την οποία αρχίζει ο σκανδαλισµός (Level) Επιλογή της κατεύθυνσης(θετική-αρνητική) κατά την οποία αρχίζει ο σκανδαλισµός του σήµατος (Direction). Stop button. Λόγω έλλειψης εξωτερικής πηγής σήµατος χρησιµοποιήσαµε γι αυτό το σκοπό έτοιµες συναρτήσεις που µας παρέχει το LabVIEW. Συνδέσαµε λοιπόν στο κανάλι Α του παλµογράφου µια γεννήτρια ηµιτονικού σήµατος και στο κανάλι Β µια γεννήτρια παλµού. Τα controls του πλάτους και της συχνότητας τα συµπεριλάβαµε στο front panel του παλµογράφου έτσι ώστε ο χρήστης να µπορεί να πειραµατιστεί µε διαφορετικά σήµατα. Ένα µειονέκτηµα της χρήσης των έτοιµων γεννητριών σηµάτων ήταν η αναντιστοιχία που παρατηρήθηκε στην συχνότητα του τεχνητού σήµατος και στην απεικόνιση του στην οθόνη του παλµογράφου. Να σηµειώσουµε ότι η συχνότητα αυτών των σηµάτων δίνεται κανονικοποιηµένη σε E-3 cycles/sample και παρά τις προσπάθειές µας δε βρέθηκε 9

11 Εισαγωγή Κεφάλαιο 1 λύση γι αυτό το συγκεκριµένο πρόβληµα. Στη συνέχεια παρατίθεται το front panel του εικονικού παλµογράφου που δηµιουργήσαµε. Στο επόµενο βήµα της σχεδίασης του συστήµατος υλοποιείται το πρόγραµµα του διακοµιστή. Βασικός σκοπός του συγκεκριµένου προγράµµατος είναι η δηµιουργία σύνδεσης µε έναν πελάτη µέσω δικτύου, µε χρήση του πρωτοκόλλου TCP/IP. Το Front Panel του δίδεται παρακάτω. 10

12 Εισαγωγή Κεφάλαιο 1 To Front Panel αποτελείται από τον παλµογράφο που αναπτύχθηκε παραπάνω και από ένα πλαίσιο µε ενδείξεις και ελεγκτές που δίνουν την δυνατότητα, στον χρήστη του server, να ορίζει τα δικαιώµατα προσπέλασης του πελάτη στο πρόγραµµα. 11

13 Εισαγωγή Κεφάλαιο 1 Στο τµήµα αυτό έχουµε δυο πλαίσια έτσι ώστε να υπάρχει διαχωρισµός ανάµεσα στις ενδείξεις και τους ελεγκτές. Το πλαίσιο µε τις ενδείξεις µας πληροφορεί κάθε χρονική στιγµή τα δεδοµένα που εισάγει ο χρηστής του πελάτη. Το πλαίσιο µε τους ελεγκτές δίνει την δυνατότητα στον χρήστη του διακοµιστή να δίνει δικαίωµα προσπέλασης στις διάφορες λειτουργίες του παλµογράφου. Για να µπορεί να χειριστεί τις λειτουργίες του παλµογράφου ο χρήστης του πελάτη, θα πρέπει να έχει ενεργοποιήσει τις αντίστοιχες λειτουργίες ο χρήστης του Server, πατώντας τα αντίστοιχα κουµπιά (time base, volt/div, posch1, posch2, stop, freq1, freq2, ampl1, ampl2, dispchan, trigger, level, direction). Επίσης υπάρχει και ένας ελεγκτής µε ονοµασία port στο οποίο δίνεται η θύρα µέσω της οποίας θα γίνει η σύνδεση µε τον πελάτη. Η θύρα θα πρέπει να είναι η ίδια και για τον Server όπως και για τον Client.Μέσω του διακόπτη Listen Connection επιλέγεται η κατάσταση του server µετά από µια αποτυχηµένη σύνδεση µε κάποιον Client. Όταν βρίσκεται στην θέση Yes o διακόπτης ο Server συνεχίζει να περιµένει νέα σύνδεση µε Client ενώ στην θέση No τερµατίζει την λειτουργία του. Ο χρήστης του server έχει ουσιαστικά να επιτελέσει τέσσερις ενέργειες: Α. Το πάτηµα του κουµπιού run Β. Την εισαγωγή του αριθµού της θύρας µέσω της οποίας θα γίνει η επικοινωνία Γ. Επιλογή των λειτουργιών που θα έχει προσπέλαση ο χρήστης του client.. Επιλογή του Listen Connection. Μετά τη δηµιουργία του διακοµιστή ακολούθησε η σχεδίαση του πελάτη. Το συγκεκριµένο πρόγραµµα έχει σκοπό την σύνδεση του µε το διακοµιστή µέσω του δικτύου και του πρωτοκόλλου TCP/IP και την ανταλλαγή δεδοµένων µεταξύ τους. Για να συµβεί αυτό ο χρήστης του client πρέπει πρώτα να εισάγει τη IP address του server, τη θύρα επικοινωνίας και ένα αποδεκτό από τον διακοµιστή password. Με την προσθήκη του password εξασφαλίζεται η ότι πρόσβαση στο server θα έχουν µόνο εξουσιοδοτηµένοι χρήστες. Ακολουθεί η εικόνα του front panel του client. 12

14 Εισαγωγή Κεφάλαιο 1 Όπως γίνεται εύκολα κατανοητό από την παρατήρηση της παραπάνω εικόνας το front panel του client περιλαµβάνει τους ίδιους ελεγκτές µε τον εικονικό παλµογράφο. Ο χρήστης του client µέσω των ελεγκτών επιλέγει τις ρυθµίσεις του παλµογράφου οι οποίες µέσω δικτύου µεταβιβάζονται στον server, ο οποίος µε τη σειρά του τις επεξεργάζεται και στέλνει πίσω µέσω της οθόνης του client την επιθυµητή κυµατοµορφή. Στο front panel υπάρχουν οι ελεγκτές και οι ενδείξεις που καθορίζουν το password, τη θύρα επικοινωνίας και την IP address. Όπως προαναφέρθηκε η αµφίδροµη επικοινωνία του διακοµιστή µε τον πελάτη επιτυγχάνεται µε τη χρήση του πρωτόκολλου TCP/IP που είναι το βασικό εργαλείο για 13

15 Εισαγωγή Κεφάλαιο 1 δικτυακή επικοινωνία. Με το TCP/IP επιτυγχάνεται επικοινωνία τόσο σε τοπικά δίκτυα όσο και µέσω του Internet. Το πλεονέκτηµα του συγκεκριµένου πρωτόκολλου είναι ότι προσφέρει ένα απλό user interface και διασφαλίζει αξιόπιστη δικτυακή επικοινωνία. Με τη σύνδεση µέσω TCP/IP ο υπολογιστής µπορεί να λειτουργήσει είτε ως διακοµιστής είτε ως πελάτης. Το παρακάτω block diagram απεικονίζει µια εφαρµογή πελάτη ο οποίος αρχίζει µια σύνδεση µε έναν αποµακρυσµένο διακοµιστή µε τη συνάρτηση TCP Open Connection. Ο διακοµιστής περιµένει αιτήσεις επικοινωνίας και ανταποκρίνεται καταλλήλως. Στην ιπλωµατική εργασία αντιµετωπίστηκαν κάποιοι περιορισµοί οι οποίοι δεν επέτρεψαν τη δηµιουργία ενός πραγµατικού εικονικού εργαστηρίου. Παλαιάς τεχνολογίας φυσικά όργανα(παλµογράφος, γεννήτρια σηµάτων) Έλλειψη κάρτας GPIB η οποία είναι απαραίτητη για την επικοινωνία φυσικών οργάνωνυπολογιστή. H κάµερα στο LabVIEW ήταν ακόµα µε ειδική κάρτα Graber µε ασύµφορο κόστος. Σήµερα ακόµα δεν παρέχονται κάµερες µε βύσµα USB. Το δίκτυο του Α.Π.Θ είναι ακόµα αργό για τη µετάδοση ζωντανής εικόνας. Ο υπολογιστής του εργαστηρίου ήταν πολύ αργός. Συνεπώς τα αποτελέσµατα που προέκυψε έχει σηµασία θεωρητική και πρακτική, µε έµφαση στις µελλοντικές εφαρµογές. Άλλωστε το όλο περιβάλλον έχει αναλυθεί και περιγραφεί µε τέτοιο τρόπο, ώστε να είναι εύκολη η προσαρµογή του σε οποιοδήποτε άλλο όργανο και µετρήσεις. Στην εργασία περιγράφεται το περιβάλλον του LabVIEW (κεφ.2). Στη συνέχεια γίνεται η ανάλυση του εικονικού παλµογράφου που σχεδιάστηκε(κεφ.3). Ακολουθούν τα κεφάλαια 4 και 5 όπου παρουσιάζονται τα προγράµµατα (VIs) που υλοποιούν το ζεύγος server-client. Τέλος στο προσάρτηµα δίνονται οι έτοιµες συναρτήσεις του LabVIEW που χρησιµοποιήθηκαν στη δηµιουργία του διακοµιστή και του πελάτη. 14

16 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Κεφάλαιο 2 Εισαγωγή στο περιβάλλον LABVIEW LabVIEW είναι το εµπορικό όνοµα και η συντοµογραφία του όρου Laboratory Virtual Instrument Engineering Workbench. Πρόκειται για µια πλατφόρµα η οποία δίνει τη δυνατότητα στο χρήστη να δηµιουργήσει προγράµµατα όπως και σε πλατφόρµες της γλώσσας C ή της BASIC. Η µεγάλη διαφορά όµως είναι ότι ενώ άλλες πλατφόρµες χρησιµοποιούν γλώσσες προγραµµατισµού που αναπτύσσουν τα προγράµµατα τους µε κείµενα, το LabVIEW χρησιµοποιεί µια γραφική γλώσσα προγραµµατισµού η οποία ονοµάζεται G. Η ορολογία, τα εικονίδια και η γενικότερη φιλοσοφία που χρησιµοποιεί το LabVIEW και η γλώσσα G είναι οικεία σε επιστήµονες και µηχανικούς. Με αυτό τον τρόπο ο χρήστης δηµιουργεί προγράµµατα µε µεγαλύτερη ευκολία χωρίς να παγιδεύεται σε µια πληθώρα συντακτικών λεπτοµερειών. Έτσι είναι πιο φιλικό προς τον χρήστη και µπορεί ακόµα και κάποιος χωρίς καµία εµπειρία στον προγραµµατισµό να µάθει εύκολα να το χρησιµοποιεί. Το LabVIEW περιέχει επίσης βιβλιοθήκες µε πληθώρα έτοιµων εφαρµογών οι οποίες µπορούν να βοηθήσουν το χρήστη σε οποιαδήποτε προγραµµατιστική εφαρµογή. Τα προγράµµατα του LabVIEW ονοµάζονται virtual instruments (για συντοµία VIs) και αυτό γιατί η εµφάνισή τους και η λειτουργία τους µιµούνται πραγµατικά όργανα. Ένα VI αποτελείται από τρία κύρια µέρη: Το front panel που είναι ουσιαστικά το user interface. Μπορεί να περιέχει διακόπτες, οθόνες που να παρουσιάζουν γραφικές παραστάσεις, διάφορα όργανα επιλογής εισόδων και ένδειξης εξόδων. Είναι ουσιαστικά ένας συνδυασµός από controls και indicators. Ο χρήστης µπορεί να εισάγει δεδοµένα χρησιµοποιώντας το πληκτρολόγιο ή το ποντίκι µέσω των controls και στη συνέχεια να δει τα αποτελέσµατα που παράγονται από το πρόγραµµα στην οθόνη µέσω των indicators. Η εισαγωγή των controls και των indicators γίνεται µέσα από το Control Palette. Μόλις τοποθετήσουµε 15

17 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 ένα αντικείµενο στο front panel τότε µπορούµε να προσαρµόσουµε το µέγεθος, το σχήµα και τη θέση του. Είναι by default χρωµατισµένο γκρι αλλά µας δίνεται η δυνατότητα να επιλέξουµε ένα χρώµα της αρεσκείας µας µέσω του tools palette όπως θα δούµε στη συνέχεια. Το block diagram είναι ουσιαστικά ο πηγαίος κώδικας του VI, και το εκτελέσιµο πρόγραµµα. Τα στοιχεία που το αποτελούν είναι εικονίδια τα οποία αντιπροσωπεύουν χαµηλότερης στάθµης VΙs, έτοιµες συναρτήσεις του LabVIEW και δοµές ελέγχου του προγράµµατος. Ο χρήστης πρέπει να συνδέσει καλώδια για να ενώσει τα εικονίδια υποδεικνύοντας έτσι τη ροή των δεδοµένων. Είναι by default λευκό. Το εικονίδιο και οι σύνδεσµοι του VI που του επιτρέπουν να ανταλλάσσει δεδοµένα µε άλλα VIs. Το εικονίδιο είναι τοποθετηµένο στην πάνω-δεξιά γωνία του front panel και του block diagram. Το εικονίδιο εµφανίζεται επίσης στο block diagram όταν χρησιµοποιούµε το συγκεκριµένο VI ως subvi. Με διπλό click πάνω στο εικονίδιο του ενεργού VI (όχι ενός subvi), εµφανίζεται Icon Editor ο οποίος δίνει τη δυνατότητα στο χρήστη να διαµορφώσει το εικονίδιο όπως αυτός επιθυµεί. Εικόνα 1. Το front panel καταλαµβάνει το αριστερό µισό της οθόνης και είναι χρωµατισµένο γκρι ενώ το block diagram καταλαµβάνει το δεξί µισό της οθόνης και είναι λευκό. 16

18 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο Το περιβάλλον του LabVIEW Pull-Down Menus Το LabVIEW έχει δύο τύπους µενού, pull-down και pop-up, τα οποία ο χρήστης θα πρέπει να χρησιµοποιήσει εκτενώς στην ανάπτυξη των προγραµµάτων του. Στη συνέχεια θα παρουσιάσουµε αναλυτικά τα pull-down menus τα οποία και βρίσκονται στο menu bar του front panel και του block diagram. Το ίδιο δεν µπορούµε να κάνουµε για τα pop-up menus µιας και σχεδόν κάθε αντικείµενο έχει το δικό του µενού αποτελούµενο από διαφορετικές εντολές και επιλογές, και ως εκ τούτου η καταγραφή και η παρουσίαση τους γίνεται αδύνατη. File Menu Σε αυτό το µενού βρίσκουµε συνηθισµένες εντολές διαχείρισης αρχείων. Οι εντολές που περιλαµβάνονται είναι οι παρακάτω: New VI δηµιουργεί ένα νέο VI. New εµφανίζει ένα dialog box το οποίο µπορεί να χρησιµοποιηθεί για τη δηµιουργία διαφόρων στοιχείων του LabVIEW που βοηθούν στο χτίσιµο µιας εφαρµογής. Open εµφανίζει ένα dialog box από το οποίο µπορούµε να επιλέξουµε το αρχείο που θέλουµε να ανοίξουµε. Close κλείνει το τρέχον αρχείο αφού πρώτα ρωτήσει το χρήστη αν θέλει να αποθηκεύσει τυχούσες αλλαγές που έχουν γίνει. Close All κλείνει όλα τα ανοιχτά αρχεία. Save αποθηκεύει το τρέχον αρχείο. Αν το αρχείο αποθηκεύεται για πρώτη φορά τότε εµφανίζεται ένα dialog box το οποίο ζητάει από τον χρήστη να ονοµάσει το αρχείο και να καθορίσει την θέση στην οποία επιθυµεί να το τοποθετήσει. Save As επιτρέπει στον χρήστη να αποθηκεύσει το τρέχον αρχείο µε ένα διαφορετικό όνοµα, προέκταση αρχείου ή σε διαφορετική θέση. Save All αποθηκεύει όλα τα ανοιχτά αρχεία. 17

19 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Save with Options εµφανίζει ένα dialog box το οποίο µπορεί να χρησιµοποιηθεί για να αποθηκευθεί ένα VI χρησιµοποιώντας διάφορες επιλογές. Revert επαναφέρει το αρχείο στην κατάσταση που βρισκόταν όταν είχε αποθηκευθεί για τελευταία φορά. Page Setup εµφανίζει ένα dialog box το οποίο µπορεί να χρησιµοποιηθεί είτε για να αλλάξουµε τις ρυθµίσεις του εκτυπωτή είτε για να διαµορφώσουµε την εικόνα του αρχείου. Print εµφανίζει ένα dialog box το οποίο δίνει στο χρήστη διάφορες επιλογές που αφορούν την εκτύπωση ενός αρχείου. Print Window εµφανίζει ένα dialog box το οποίο µπορεί να χρησιµοποιηθεί για την εκτύπωση του τρέχοντος front panel ή block diagram window. VI Properties εµφανίζει ένα dialog box που µπορεί να χρησιµοποιηθεί για να σεταριστούν κάποιες γενικές επιλογές και για σεταριστούν ή απλώς να ειδωθούν κάποιες επιλογές που αφορούν memory usage, documentation, revision history, security, window appearance, window size, execution και printing. Recently Opened Files επιτρέπει στο χρήστη να ανοίξει αρχεία τα οποία έχουν προσπελαστεί πρόσφατα. Exit κλείνει το LabVIEW αφού πρώτα ερωτηθεί ο χρήστης αν επιθυµεί να αποθηκεύσει αλλαγές που έχουν γίνει στα αρχεία που έχει ανοίξει. Edit Menu Περιέχει εντολές οι οποίες µας επιτρέπουν να ψάξουµε για LabVIEW αρχεία και να τροποποιήσουµε το περιεχόµενο τους. Οι εντολές που περιλαµβάνονται είναι οι παρακάτω: Undo ακυρώνει την τελευταία ενέργεια του χρήστη. Redo ακυρώνει την τελευταία Undo ενέργεια. Cut αποµακρύνει το επιλεγµένο αντικείµενο και το αποθηκεύει στο clipboard. Copy αντιγράφει το επιλεγµένο αντικείµενο και το αποθηκεύει στο clipboard. Paste τοποθετεί τα αντικείµενα του clipboard στο ενεργό παράθυρο. Clear αποµακρύνει το επιλεγµένο αντικείµενο χωρίς να το αποθηκεύει στο clipboard. 18

20 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Find εµφανίζει το Find dialog box το οποίο µπορεί να χρησιµοποιηθεί για την εύρεση VIs, functions, type definitions, text, front panel objects και terminals στο block diagram. Show Search Results Customize Control επιτρέπει στον χρήστη να τροποποιήσει το επιλεγµένο front panel control αντικείµενο και να αποθηκεύσει το αρχείο που προκύπτει µε την.ctl επέκταση. Scale Object With Panel κάνει το επιλεγµένο αντικείµενο του front panel να αναπροσαρµόζει το µέγεθος του ανάλογα µε το µέγεθος του front panel, κάθε φορά που αλλάζει το µέγεθος του front panel. Set Tabbing Order επιτρέπει στον χρήστη να επιλέξει την σειρά αρίθµησης των αντικειµένων του front panel. Import Picture from File εισάγει µια εικόνα στο VI του χρήστη. Remove Broken Wires διαγράφει όλα τα καλώδια που εµφανίζονται µε µια διακεκοµµένη γραµµή και συνεπώς είναι κακώς τοποθετηµένα, από το ενεργό VI. Create SubVI δηµιουργεί ένα νέο subvi από τα επιλεγµένα αντικείµενα. Run-Time Menu εµφανίζει το Menu Editor dialog box το οποίο µπορεί να αξιοποιήσει ο χρήστης για να δηµιουργήσει και να επεξεργαστεί run-time menu (RTM) αρχεία και να τα συσχετίσει µε ένα VI. Operate Menu Περιέχει εντολές οι οποίες χρησιµεύουν στον έλεγχο της λειτουργίας των VIs. Οι εντολές που περιλαµβάνονται είναι οι παρακάτω: Run εκτελεί το VI. Μπορεί ακόµα να χρησιµοποιηθεί το κουµπί Run που βρίσκεται στο toolbar. Stop σταµατάει την εκτέλεση του VI πριν αυτή ολοκληρωθεί. Πρέπει να αποφεύγεται η χρήση του Stop για την έξοδο από ένα VI γιατί απορεί να αφήσει το σύστηµα σε µια ασταθή κατάσταση. Πρέπει να χρησιµοποιείται ένας Boolean διακόπτης για αν σταµατάει ένα VI που εκτελείται συνεχώς. Suspend when Called έχει σαν συνέπεια να ανασταλεί η εκτέλεση του VI όταν αυτό καλείται ως subvi. 19

21 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Print at Completion εκτυπώνει την εικόνα του front panel όταν ολοκληρωθεί η εκτέλεση του VI. Log at Completion εκτελεί data logging όταν ολοκληρώνεται η εκτέλεση του VI. Data Logging επιτρέπει στον χρήστη να αποκτήσει πρόσβαση στις παρακάτω data logging λειτουργίες Log, Retrieve, Purge Data, Change Log File Binding και Clear Log File Binding. Make Current Values Default αποθηκεύει τις τρέχουσες τιµές των controls και των σταθερών σαν τις default τιµές τους. Reinitialize All to Default επιστρέφει σε όλα τα controls και τις σταθερές στις default τιµές τους. Change to Run Mode θέτει το VI σε Run mode. Όταν αυτό βρίσκεται σε Run mode, η εντολή αλλάζει σε Change to Edit Mode. Connect to Remote Panel επιτρέπει στον χρήστη να συνδεθεί και να ελέγξει ένα front panel που βρίσκεται σε ένα αποµακρυσµένο υπολογιστή. Window Menu Περιέχει εντολές οι οποίες επιτρέπουν στο χρήστη να διαµορφώσει την εµφάνιση των παραθύρων και των palettes. Ο χρήστης µπορεί επίσης να προσπελάσει το Error List window και να δει τα περιεχόµενα του clipboard. Οι εντολές που περιλαµβάνονται είναι οι παρακάτω: Show Diagram/Show Panel ενεργοποιεί το παράθυρο του block diagram και του front panel του VI, αντίστοιχα. Show Controls Palette εµφανίζει την Controls palette. Στο block diagram αυτή η εντολή αντικαθίσταται από την Show Functions Palette η οποία και εµφανίζει την Functions palette. Show Tools Palette εµφανίζει την Tools palette στην οθόνη. Show Clipboard εµφανίζει τα περιεχόµενα του clipboard. Show Error List δίνει στο χρήστη τη δυνατότητα να προσπελάσει το Error List window, στο οποίο υπάρχει η λίστα λαθών του τρέχοντος VI. Tile Left and Right χωρίζει την οθόνη καθέτως και ισοµερώς τοποθετώντας το front panel στην αριστερή πλευρά της οθόνης και το block diagram στη δεξιά. 20

22 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Tile Up and Down χωρίζει την οθόνη οριζοντίως και ισοµερώς τοποθετώντας το front panel στην πάνω πλευρά της οθόνης και το block diagram στο κάτω. Full Size το ενεργό παράθυρο (front panel ή block diagram) εξαπλώνεται έτσι ώστε να καταλάβει όλη την οθόνη του υπολογιστή. Μια λίστα όλων των ανοιχτών παραθύρων εµφανίζεται στο τέλος του Window Menu. Επιλέγοντας ένα από τα παράθυρα που βρίσκονται στη λίστα αυτό ενεργοποιείται και εµφανίζεται στην οθόνη. Tools Menu Περιέχει εντολές οι οποίες χρησιµοποιούνται για τη διαµόρφωση του LabVIEW, των projects του χρήστη και των VIs. Οι εντολές που περιλαµβάνονται είναι οι παρακάτω: Windows Measurement & Automation Explorer δίνει πρόσβαση στον Measurement & Automation Explorer, τον οποίο µπορεί να χρησιµοποιήσει ο χρήστης για να διαµορφώσει το instruments and data acquisition hardware που είναι συνδεδεµένο στο σύστηµα του. Instrumentation δίνει πρόσβαση στις Instrument Driver Network, Import CVI Instrument Driver, Update VXI plug & play Drivers εντολές. Data Acquisition δίνει πρόσβαση στο DAQ Channel Viewer και στο DAQ Solution Wizard. Datalogging and Supervisory Control δίνει πρόσβαση σε εργαλεία από το LabVIEW Datalogging and Supervisory Control module σε συστήµατα που έχουν εγκατεστηµένο τα συγκεκριµένα module. Real-Time δίνει πρόσβαση σε εργαλεία από το LabVIEW RT module σε συστήµατα που έχουν εγκατεστηµένο το συγκεκριµένο module. IMAQ Vision δίνει πρόσβαση σε εργαλεία από το IMAQ Vision module σε συστήµατα που έχουν εγκατεστηµένο το συγκεκριµένο module on. Compare δίνει πρόσβαση στις λειτουργίες Compare VIs, Show Differences, Compare VI Hierarchies, and Compare Files. Είναι διαθέσιµη µόνο στους χρήστες που διαθέτουν το Professional Development System του LabVIEW. 21

23 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Source Code Control δίνει πρόσβαση στις source code control functions. Είναι διαθέσιµη µόνο στους χρήστες που διαθέτουν το Professional Development System του LabVIEW. VI Revision History εµφανίζει ένα παράθυρο µέσω του οποίου µπορεί ο χρήστης να καταγράφει τις αλλαγές κάνει στο τρέχον VI. User Name εµφανίζει ένα dialog box µέσω του οποίου ο χρήστης µπορεί να αλλάξει το LabVIEW user name του. VI Library Manager εµφανίζει ένα dialog box µέσω του οποίου ο χρήστης µπορεί να αντιγράψει, να αλλάξει το όνοµα και να διαγράψει αρχεία που βρίσκονται στις VI libraries. Edit VI Library επιτρέπει στο χρήστη να διαµορφώσει τα περιεχόµενα της VI library ή ακόµα και να δηµιουργήσει µια νέα. Remote Panel Connection Manager επιτρέπει στο χρήστη να παρακολουθεί όλο το client traffic προς τον server. Web Publishing Tool δίνει πρόσβαση στο Web Publishing Tool VI. Advanced δίνει πρόσβαση σε Mass Compile, VI Metrics, Profile VIs, Export Strings, Import Strings, Import ActiveX Controls, and ActiveX Property Browser. Use Export Strings and Import Strings to localize a VI. Options εµφανίζει ένα dialog box το οποίο µπορεί να χρησιµοποιήσει ο χρήστης για να customize την εµφάνιση και τη συµπεριφορά των εφαρµογών του LabVIEW. Browse Menu Περιέχει τις παρακάτω εντολές: Show VI Hierarchy εµφανίζει ένα Hierarchy window το οποίο χρησιµοποιείται για να ειδωθούν τα subvis και άλλοι κόµβοι οι οποίοι αποτελούν το ενεργό VI. This VI's Callers επιτρέπει στον χρήστη να αποκτήσει πρόσβαση σε µια λίστα η οποία περιλαµβάνει όλα τα VIs τα οποία καλούν το τρέχον VI σαν subvi. This VI's SubVIs επιτρέπει στον χρήστη να αποκτήσει πρόσβαση σε µια λίστα η οποία περιλαµβάνει όλα τα subvis τα οποία υπάρχουν στο τρέχον VI. 22

24 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Unopened SubVIs επιτρέπει στον χρήστη να αποκτήσει πρόσβαση σε µια λίστα η οποία περιλαµβάνει όλα τα unopened subvis του τρέχοντος VI. Unopened Type Defs επιτρέπει στον χρήστη να αποκτήσει πρόσβαση σε µια λίστα η οποία περιλαµβάνει όλα τα unopened type definitions του τρέχοντος VI. Breakpoints ψάχνει τα breakpoints του τρέχοντος VI και τα εµφανίζει στο Search Results window. Help Menu Περιέχει τις παρακάτω εντολές: Show Context Help εµφανίζει το Context Help window, το οποίο παρέχει βασικές πληροφορίες για οποιοδήποτε VI, function ή control. Για να εµφανιστεί στο παράθυρο η βοήθεια ενός συγκεκριµένου αντικειµένου το πρέπει να µετακινήσουµε τον κέρσορα πάνω σε αυτό. Lock Context Help κλειδώνει το τρέχον περιεχόµενο του Context Help window. Όταν αυτή η εντολή είναι ενεργοποιηµένη τότε η µετακίνηση του κέρσορα πάνω σε ένα άλλο αντικείµενο είτε του block diagram είτε του front panel, δεν αλλάζει το περιεχόµενο του Context Help window. VI, Function, & How-To Help εµφανίζει το πλήρες περιεχόµενο της βοήθειας που διαθέτει το LabVIEW σε ηλεκτρονική µορφή. Ο χρήστης µπορεί να πάρει πληροφορίες και βοήθεια για οποιοδήποτε αντικείµενο που υπάρχει στο LabVIEW συµπεριλαµβανοµένου και των παρακάτω: palettes, menus, tools, VIs, και functions. Επίσης περιέχει βήµα προς βήµα οδηγίες για την χρήση του LabVIEW. Search the LabVIEW Bookshelf εµφανίζει την PDF (Portable Documentation Format) version του εγχειριδίου του LabVIEW. Help for This VI δίνει την πλήρη βοήθεια για το συγκεκριµένο VI η οποία και προέρχεται από το LabVIEW Help. Find Examples επιτρέπει στο χρήστη να ψάξει και να επιλέξει εκατοντάδες παραδείγµατα από VIs. Ο χρήστης µπορεί να τροποποιήσει ένα παράδειγµα έτσι ώστε να µπορεί να το χρησιµοποιήσει στις εφαρµογές του. 23

25 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Web Resources δίνει στο χρήστη πρόσβαση σε Internet links τα οποία και παραπέµπουν σε National Instruments Technical Support, την LabVIEW KnowledgeBase, NI Developer Zone, και άλλες online National Instruments πηγές. Explain Error δίνει όλες τις πληροφορίες που αφορούν τα λάθη του τρέχοντος VI. About LabVIEW δίνει πρόσβαση σε γενικές πληροφορίες που αφορούν την εγκατεστηµένη έκδοση του LabVIEW, συµπεριλαµβανοµένου version number και serial number. 24

26 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο Palettes To LabVIEW περιέχει τρεις παλέτες την control palette, την functions palette και την tools palette τις οποίες και παρουσιάζουµε στη συνέχεια. Από τις δύο πρώτες αντλούµε τα στοιχεία για να σχεδιάσουµε το front panel και to block diagram ενώ η tools palette περιέχει κάποια εργαλεία µορφοποίησης. Control Palette Για να ενεργοποιήσουµε την control palette πατάµε δεξί click στο χώρο του front panel, όταν αυτό είναι ενεργοποιηµένο ή επιλέγουµε την εντολή Show Control Palette από το Windows Menu του front panel. Κατόπιν εµφανίζεται η παλέτα η οποία είναι πολύ εύχρηστη και βοηθάει τον προγραµµατιστή να επιλέξει controls και indicators, όλων των µορφών, για το πρόγραµµα του. Οι κατηγορίες των controls που περιλαµβάνονται στην παλέτα είναι οι παρακάτω: numeric, Boolean, string & path, array & cluster, list & tables, graph, ring & enum, I/O, refnum, dialog control, classic controls, activex, decorations, select a control και user controls. Functions Palette Εικόνα 2.Control Palette του Front panel Για να ενεργοποιήσουµε την functions palette πατάµε δεξί click στο χώρο του block diagram, όταν αυτό είναι ενεργοποιηµένο ή επιλέγουµε την εντολή Show Functions Palette από το Windows Menu του block diagram. Από αυτήν την παλέτα µπορούµε να 25

27 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 επιλέξουµε µια build-in function του LabVIEW ή ένα VI και να χτίσουµε το block diagram του δικού µας VI. Οι κατηγορίες των functions που περιλαµβάνονται στην παλέτα είναι οι παρακάτω: structures, numeric, Boolean, string, array, cluster, comparison, time & dialog, file I/O, data acquisition, analyze, waveform, instrument I/O, motion & vision, mathematics, communication, application control, graphics & sound, tutorial, report generation, advanced, select a VΙ και user libraries. Tools Palette Εικόνα 3. Η Functions Palette του block diagram Για να ενεργοποιήσουµε την tools palette επιλέγουµε την εντολή Show Tools Palette από το Windows Menu είτε του front panel είτε του block diagram. Εικόνα 4. Η Tools Palette του LabVIEW 26

28 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Τα σηµαντικότερα εργαλεία αυτή της παλέτας είναι τα παρακάτω: Automatic Tool Selection. Αν είναι ενεργοποιηµένο αυτό το εργαλείο τότε όταν ο χρήστης µετακινώντας τον κέρσορα πάνω από ένα αντικείµενο είτε του front panel είτε του block diagram, το LabVIEW επιλέγει αυτόµατα το κατάλληλο tool το οποίο πρέπει να χρησιµοποιηθεί. Το Operating tool που µας επιτρέπει να αλλάζουµε τις τιµές των controls που βρίσκονται στο front panel αλλά και να χειριζόµαστε όλα τα όργανα που θα χρειαζόταν και στον αληθινό κόσµο την παρέµβαση του ανθρώπινου χεριού για τη λειτουργία τους όπως για παράδειγµα ένας διακόπτης. Είναι το µόνο toolπου είναι διαθέσιµο στο run mode. To Positioning tool επιλέγει, µετακινεί και αλλάζει τις διαστάσεις των αντικειµένων Το Labeling tool µας επιτρέπει να δηµιουργήσουµε και να επεξεργαστούµε ετικέτες µε κείµενο. Το Wiring tool µας επιτρέπει να συνδέουµε τα διάφορα αντικείµενα που είναι τοποθετηµένα στο block diagram µεταξύ τους. Το Object Shortcut Menu tool εµφανίζει το µενού ενός αντικειµένου χωρίς να χρειαστεί να κάνουµε right click σε αυτό. Το Scrolling tool µας επιτρέπει να κάνουµε scroll στην οθόνη χωρίς να χρησιµοποιούµε τα scrolling bars. Το Breakpoint tool µας επιτρέπει να θέτουµε breakpoints σε VΙs, κόµβους, καλώδια µε σκοπό να σταµατάµε την εκτέλεση του προγράµµατος σε εκείνο το σηµείο. Το Probe tool µας επιτρέπει να δηµιουργήσουµε ένα probe πάνω σε ένα καλώδιο µε σκοπό να ελέγχουµε τις ενδιάµεσες τιµές σε ένα VI σε περίπτωση που αυτό παράγει µη αναµενόµενες τιµές. Το Color Copying tool µας επιτρέπει να αντιγράψουµε ένα χρώµα και στη συνέχει να το χρησιµοποιήσουµε µε το coloring tool Το Coloring tool µας επιτρέπει να αλλάζουµε το χρώµα ενός αντικείµενου ή του φόντου. 27

29 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο Τα κυριότερα στοιχεία του LabVIEW Structures While Loop Το while loop είναι µια δοµή που επαναλαµβάνει ένα µέρος του κώδικα του προγράµµατος µέχρι να εκπληρωθεί µια συνθήκη. Στο LabVIEW ένα while loop παριστάνεται µε ένα ορθογώνιο σχήµα του οποίου τις διαστάσεις µπορεί να αλλάξει ο χρήστης. Εντός του loop υπάρχει το iteration terminal που περιέχει ανά πάσα στιγµή τον αριθµό των επαναλήψεων του βρόγχου. Πρέπει να ληφθεί υπ όψιν ότι επειδή η αρχική του τιµή είναι πάντα µηδενική αν ο βρόγχος εκτελεστεί µια φορά το iteration terminal περιέχει την τιµή 0. Εντός του βρόγχου επίσης υπάρχει και το conditional terminal το οποίο λειτουργεί σαν είσοδος και αποτελεί ουσιαστικά τη συνθήκη ελέγχου του βρόγχου. Πρόκειται για µια Boolean µεταβλητή εισόδου η οποία όταν πάρει την τιµή FALSE τερµατίζεται η λειτουργία του while loop. Το επιλέγουµε από το functions palette<structures<while loop For Loop Εικόνα 5. While Loop Το for loop είναι µια δοµή η οποία εκτελεί ένα µέρος του προγράµµατος για έναν καθορισµένο αριθµό επαναλήψεων. Όπως το while loop παριστάνεται µε ένα ορθογώνιο σχήµα του οποίου οι διαστάσεις µπορούν να αλλαχθούν. Περιλαµβάνει δύο terminals, το count terminal το οποίο λειτουργεί σαν είσοδος και καθορίζει τον αριθµό των επαναλήψεων και το iteration terminal που περιέχει τον αριθµό των επαναλήψεων που έχουν εκτελεστεί. Το επιλέγουµε από το functions palette<structures<for loop 28

30 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Shift Registers Εικόνα 6.For Loop Οι shift registers χρησιµοποιούνται στο while και στο for loop και µεταφέρουν τιµές από µία επανάληψη του βρόγχου στην επόµενη. Για να δηµιουργήσουµε ένα νέο shift register κάνουµε left click στην δεξιά ή αριστερή πλευρά των loops και από το µενού που εµφανίζεται επιλέγουµε Add Shift Register. Ένας shift register αποτελείται από δύο terminals τα οποία είναι τοποθετηµένα το ένα στη δεξιά και το άλλο στην αριστερή πλευρά του βρόγχου. Το δεξί terminal αποθηκεύει την τιµή µιας µεταβλητής κατά την ολοκλήρωση µιας επανάληψης του βρόγχου. Η τιµή αυτή εµφανίζεται στη συνέχεια στο αριστερό terminal κατά την έναρξη της επόµενης επανάληψης του βρόγχου. Μπορεί να αποθηκεύσει όλων των ειδών τα δεδοµένα αριθµητικά, Boolean, string, array κ.α. previous new value new value Εικόνα 7. Shift Registers Case Structure Η δοµή Case εµπεριέχει δύο ή περισσότερα subdiagrams ή αλλιώς cases από τα οποία εκτελείται µόνο το ένα κάθε φορά που εκτελείται η δοµή. Στην αριστερή πλευρά του συµβόλου της δοµής case υπάρχει ένας επιλογέας που ανάλογα µε την τιµή που παίρνει σαν είσοδο διαλέγει και εκτελεί το ανάλογο subdiagram. Η τιµή της εισόδου µπορεί να είναι ακέραια, Boolean ή string. Για να προσθέσουµε cases πατάµε δεξί click στις πλευρές της case structure και επιλέγουµε Add Case. 29

31 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Το επιλέγουµε από το functions palette<structures<case False selec tor Εικόνα 8. Case Structure Sequence Structure Η sequence structure εκτελεί ακολουθιακά έναν αριθµό block diagrams. Μοιάζει µε τη δοµή case διότι περιέχει πολλά στιγµιότυπα. Σε αυτή την περίπτωση όµως δεν εκτελείται µόνο το diagram που περιέχεται στο στιγµιότυπο που επιλέχθηκε αλλά όλα τα diagrams µε την σειρά που τα έχουµε τοποθετήσει. Έτσι πρώτα θα εκτελεστεί το diagram που περιέχεται στο στιγµιότυπο 0, ακολούθως αυτό που περιέχεται στο στιγµιότυπο 1 κ.ο.κ. Η δοµή αυτή είναι χρήσιµη στον έλεγχο της ροής των δεδοµένων αποφεύγοντας έτσι πιθανά λάθη από την εκτέλεση κάποιου κόµβου πριν την επιθυµητή σειρά εκτέλεσης του. Για να προσθέσουµε ένα frame πατάµε δεξί click στις πλευρές του sequence structure και στη συνέχεια επιλέγουµε Add Frame Before ή Add Frame After ανάλογα µε την θέση που θέλουµε να το τοποθετήσουµε. Το επιλέγουµε από το functions palette<structures<sequence 2 [0..2] Εικόνα 9. Sequence structure 30

32 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Event Structure Έχει ένα ή περισσότερα subdiagrams, ή αλλιώς event cases, από τις οποίες εκτελείται µία µόνο όταν εκτελείται η δοµή. Το Event structure περιµένει µέχρι να συµβεί ένα συγκεκριµένο γεγονός στο front panel, και στη συνέχεια εκτελεί την κατάλληλη. Πατώντας δεξί click στο σύνορο της δοµής προστίθενται νέα event cases καθώς επίσης και µε ποια γεγονότα θα συσχετιστεί η δοµή. Το επιλέγουµε από το functions palette<structures<event structure Εικόνα 10. Event structure Formula Node Πρόκειται για µια δοµή µέσα στην οποία µπορούµε να εισάγουµε απ ευθείας αλγεβρικές φόρµουλες. Αυτό είναι πολύ χρήσιµο γιατί όταν έχουµε µια πολύπλοκη έκφραση η υλοποίηση της µε τα αριθµητικά functions που περιέχει το LabVIEW καταλαµβάνει µεγάλη έκταση στο χώρο και γενικά κάνει το block diagram περίπλοκο. Επίσης υποστηρίζει και εκφράσεις παρόµοιες µε αυτές της C. Οι built-in συναρτήσεις που υποστηρίζει είναι οι παρακάτω: abs, acos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman, int, intrz, In, Inp1, log, log2, max, min, mod, rand, rem, sec, sign, sin, sinc, sinh, sqrt, tan, tanh. Για να δηµιουργήσουµε τα input και output terminals αρχικά πατάµε δεξί click στις πλευρές του Formula Node και στη συνέχεια επιλέγουµε Add Input ή Add Output. Κατόπιν βάζουµε τις ονόµατα των µεταβλητών στα input και output boxes. Ο µέγιστος αριθµός των χαρακτήρων από τους οποίους µπορεί να αποτελείται το όνοµα µιας µεταβλητής είναι δύο. Ακολούθως συνδέουµε το control το οποίο επιθυµούµε στο input box καθώςκαι ένα indicator στο output box για να λαµβάνουµε τα αποτελέσµατα. Το επιλέγουµε από το functions palette<structures<formula node 31

33 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Εικόνα 11. Formula Node Tα κυριότερα στοιχεία του Front Panel Charts and Graphs Το LabVIEW µας δίνει τη δυνατότητα να παραστήσουµε γραφικά µια σειρά από δεδοµένα µε εργαλεία που ονοµάζονται charts και graphs. Η βασική διαφορά ανάµεσα σε charts και graphs έγκειται στον τρόπο µε τον οποίο συλλέγουν και αποτυπώνουν τα δεδοµένα. Έτσι VIs που διαθέτουν graphs συνήθως συλλέγουν τα δεδοµένα σε ένα πίνακα και στη συνέχεια τα αποτυπώνουν στην οθόνη του graph µονοµιάς. Αντίθετα τα charts προσθέτουν στην ήδη υπάρχουσα απεικόνιση τα νέα δεδοµένα που έρχονται. Πρέπει επίσης να τονιστεί ότι υπάρχουν δύο τύποι graphs, το waveform graph και το XY graph. Η διαφορά ανάµεσα στα δύο είναι ότι το µεν πρώτο αποτυπώνει µονοσήµαντες συναρτήσεις, ενώ το δεύτερο είναι ένα γενικότερης χρήσης εργαλείο το οποίο µπορεί να απεικονίσει ακόµα και πολυσήµαντες συναρτήσεις. Εικόνα 12. Chart και Graph 32

34 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Arrays Οι πίνακες (arrays) είναι ένα σύνολο στοιχείων του ίδιου τύπου. Μπορεί να έχουν µια ή 31 περισσότερες διαστάσεις και µέχρι 2 στοιχεία ανά διάσταση. Τα στοιχεία του πίνακα µπορούν να είναι οποιουδήποτε τύπου εκτός από array, chart και graph. Για να δηµιουργήσουµε ένα array επιλέγουµε το Array &Graph Menu από το Control Palette. Στη συνέχεια εµφανίζεται στο front panel το array shell ενώ για να καθορίσουµε τον τύπο των στοιχείων του πίνακα, επιλέγουµε αρχικά από το Control Menu ένα data object και στη συνέχεια το σέρνουµε µέσα στο array shell. Ένας εναλλακτικός τρόπος επιλογής του τύπου των δεδοµένων είναι µέσω του pop-up menu του πίνακα. Αν θέλουµε να προσθέσουµε µια νέα διάσταση στον πίνακα τότε επιλέγουµε από το popup menu Add Dimension και έτσι εµφανίζεται ένα επιπλέον index display που αναφέρεται στην καινούρια διάσταση. Το LabVIEW περιλαµβάνει πολλές λειτουργίες που σχετίζονται µε τους πίνακες και ονοµάζονται array functions. Οι λειτουργίες αυτές διευκολύνουν την και αξιοποιούν τη χρήση των πινάκων και βρίσκονται στη Functions Palette και συγκεκριµένα στο µενού Array. Εικόνα 13. ύο µονοδιάστατα arrays, ένα µε αριθµητικές και ένα µε Boolean τιµές Clusters Το cluster είναι ένας τύπος δεδοµένου ο οποίος περιέχει πολλαπλά στοιχεία δεδοµένων τα οποία µπορούν να είναι διαφορετικού τύπου. Αυτό είναι και το στοιχείο που διαφοροποιεί ένα cluster από ένα array µιας και το δεύτερο ενώ περιλαµβάνει πολλαπλά στοιχεία αυτά θα πρέπει να είναι του ίδιου τύπου. Ο µόνος περιορισµός που υπάρχει ως προς τα στοιχεία του cluster είναι ότι θα πρέπει να είναι όλα ή controls ή indicators. 33

35 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Μπορούµε να δηµιουργήσουµε ένα cluster επιλέγοντας το από το Array&Graph Menu του Control Palette. Τα στοιχεία που περιέχονται σε ένα cluster έχουν µια αρίθµηση που έχει σχέση µε τη σειρά που εισήχθησαν σε αυτό. Έτσι το πρώτο στοιχείο έχει τον αριθµό 0, το δεύτερο τον αριθµό 1 κ.ο.κ. Αν κάποιο από τα στοιχεία διαγραφεί τότε η σειρά αναπροσαρµόζεται αυτόµατα. Ο χρήστης µπορεί να αλλάξει την αρίθµηση επιλέγοντας Cluster Order από το pop-up menu του cluster. Η αρίθµηση µέσα σε ένα cluster είναι πολύ σηµαντική µιας και η προσπέλαση ενός στοιχείου γίνεται µε βάση τον αριθµό του και όχι µε βάση το όνοµά του. Εικόνα 14. Cluster αποτελούµενο από ένα numeric control, ένα Boolean control και ένα array Τύποι εδοµένων Το LabVIEW υποστηρίζει ένα µεγάλο αριθµό από τύπους δεδοµένων. Την πλήρη λίστα των τύπων δεδοµένων την παραθέτουµε στον πίνακα 1. Μεγάλο ενδιαφέρον έχει ο τρόπος που αναπαρίστανται όλοι αυτοί οι διαφορετικοί τύποι δεδοµένων στο γραφικό περιβάλλον προγραµµατισµού του LabVIEW. Προς µεγάλη διευκόλυνση του χρήστη κάθε κατηγορία τύπων δεδοµένων έχει το δικό της διαφορετικό χρώµα, ενώ µέσα στη γραφική αναπαράσταση του κάθε δεδοµένου αναφέρεται µε χαρακτηριστική συντοµογραφία ο τύπος του. Να σηµειώσουµε ότι µε πορτοκαλί χρώµα παριστάνονται οι floating point αριθµοί, µε µπλε οι ακέραιοι, µε ροζ τα string, και µε πράσινο οι Boolean. Για τα arrays ισχύει ότι το χρώµα τους εξαρτάται από τον τύπο των δεδοµένων τους. Έτσι αν έχουµε ένα array που αποτελείται από ακέραιους αυτό θα είναι χρώµατος µπλέ, αν αποτελείται από floating point αριθµούς θα είναι πράσινο κ.ο.κ. 34

36 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Symbol Data Type Floating point-extended-precision (EXT) Floating point-double-precision (DBL) Floating point-single-precision (SGL) Integer-Long (I32) Integer-Word (I16) Integer-Byte (I8) Unsigned integer-long (U32) Unsigned integer-word (U16) Unsigned integer-byte (U8) Boolean String Refnum Array αποτελούµενο από στοιχεία οποιοδήποτε από τους προηγούµενους τύπους δεδοµένων Cluster Πίνακας 1. Συνοπτική παράθεση των τύπων δεδοµένων που υποστηρίζει το LabVIEW και το σύµβολο µε το οποίο εµφανίζονται στο block diagram. Ο ίδιος κανόνας ισχύει και στη χρωµατική αναπαράσταση των καλωδίων τα οποία µε τη σειρά τους παίρνουν ανάλογο χρώµα µε αυτό των δεδοµένων που µεταφέρουν. Εκτός όµως από το χρώµα ο τύπος των δεδοµένων που µεταφέρουν τα καλώδια επηραέζει και το πάχος τους. Έτσι αν µεταφέρουν απλούς αριθµούς εµφανίζονται λεπτότερα από ότι όταν µεταφέρουν arrays. ιαφορετική είναι επίσης η αναπαράσταση ενός καλωδίου όταν µεταφέρει πολυδιάστατα arrays καθώς και διαφορετική όταν µεταφέρει clusters. Πρέπει να αναφέρουµε επίσης και τη διαφορά που υπάρχει στην αναπαράσταση των controls και των indicators. Η διαφορά αυτή είναι απλή και ταυτόχρονα πολύ χαρακτηριστική µιας και το µόνο που αλλάζει σε ένα control και ένα indicator που υποστηρίζουν ίδιο τύπο δεδοµένων είναι το περίγραµµά τους το οποίο σε ένα control είναι χρωµατισµένο ένώ σε ένα indicator όχι. Παράλληλα ένα µικρό βελάκι υποδεικνύει ότι το control µεταδίδει δεδοµένα ενώ ένα indicator δέχεται δεδοµένα. 35

37 Εισαγωγή στο περιβάλλον LabVIEW Κεφάλαιο 2 Εικόνα 15. Το αριστερό ζευγάρι δείχνει ένα control και ένα indicator που υποστηρίζουν floating point- double precision αριθµούς, ενώ το δεξί ζευγάρι δείχνει ένα control και ένα indicator που υποστηρίζουν arrays αποτελούµενα από integer-long(i32) αριθµούς. Τέλος αν θέλουµε να αλλάξουµε τον τύπο δεδοµένου ενός control ή ενός indicator επιλέγουµε από το pop-up menu του την επιλογή representation και κατόπιν τον τύπο που επιθυµούµε. 36

38 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Κεφάλαιο 3 Το όργανο VI του εικονικού παλµογράφου Σε αυτό το κεφάλαιο παρουσιάζουµε αναλυτικά το oscilloscope VI. Το VI αυτό είναι ένα εικονικός παλµογράφος δύο καναλιών. Στη συνέχεια θα αναλύσουµε το front panel και το block diagram σε δυο ξεχωριστά µέρη. Να υπενθυµίσουµε ότι το front panel αποτελεί το user interface του VI και το block diagram τον κώδικα του προγράµµατος στην γλώσσα G. 3.1 Front Panel Στο πρώτο µέρος του κεφαλαίου θα παρουσιάσουµε αναλυτικά το front panel του παλµογράφου που δηµιουργήσαµε. Η εικόνα 1 είναι αυτή που παρουσιάζεται στην οθόνη του υπολογιστή µόλις ανοίξουµε το αρχείο oscilloscope.vi και αντιστοιχεί στο front panel του συγκεκριµένου VI. Στη συνέχεια θα αναφέρουµε ένα προς ένα τα controls που είναι τοποθετηµένα στο front panel. 37

39 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Εικόνα 1. το front panel του παλµογράφου που δηµιουργήσαµε Frequency ch1 - Frequency ch2 Με τα δύο αυτά controls ελέγχουµε από το front panel τη συχνότητα των σηµάτων που εισάγονται στο κανάλι1 και το κανάλι 2 αντίστοιχα. Να σηµειώσουµε ότι η συχνότητα των εισερχοµένων σηµάτων είναι κανονικοποιηµένη και µετριέται ως προς κύκλους/δείγµα. Έτσι το πρώτο µε το Frequency ch1 ρυθµίζουµε την συχνότητα του ηµιτόνου που έχουµε συνδέσει στο κανάλι 1 και µε το Frequency ch1 ρυθµίζουµε τη συχνότητα του τετραγωνικού παλµού που έχουµε συνδέσει στο κανάλι 2.Τα δύο controls που επιλέξαµε είναι τα dial και τα επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 2. Τα δύο dials όπως εµφανίζονται στο front panel 38

40 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Amplitude ch1- Amplitude ch2 Με τα δύο αυτά controls ελέγχουµε από το front panel το πλάτος των σηµάτων που εισάγονται στο κανάλι1 και το κανάλι 2 αντίστοιχα. Με το Amplitude ch1 ρυθµίζουµε το πλάτος του ηµιτόνου που έχουµε συνδέσει στο κανάλι 1 και µε το Amplitude ch1 ρυθµίζουµε το πλάτος του τετραγωνικού παλµού που έχουµε συνδέσει στο κανάλι 2. Να σηµειώσουµε ότι το πλάτος δεν αναφέρεται σε peak-to-peak τιµές. Τα δύο controls που επιλέξαµε είναι τα dial και τα επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 3. Τα δύο dials όπως εµφανίζονται στο front panel Display channel Με αυτό το control επιλέγουµε το κανάλι του οποίου η προσλαµβάνουσα κυµατοµορφή επιθυµούµε να εµφανιστεί στην οθόνη του παλµογράφου. Υπάρχουν τρεις επιλογές Α,Β, Α&Β. Οι επιλογές αυτές εµφανίζουν αντίστοιχα την κυµατοµορφή του καναλιού Α, την κυµατοµορφή του καναλιού Β και τέλος και τις δύο κυµατοµορφές ταυτόχρονα. Το control που επιλέξαµε είναι το knob και το επιλέγουµε ως εξής: controls palette<numeric<knob Εικόνα 4. Τo knob του display channel όπως εµφανίζεται στο front panel Position y ch1 - Position y ch2 Με αυτά τα δύο controls ελέγχουµε την θέση του προσλαµβάνοντος σήµατος ως προς τον άξονα y. Έτσι µπορούµε να µετακινήσουµε την κυµατοµορφή είτε πάνω είτε κάτω 39

41 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 από των άξονα των x. Το control που επιλέξαµε είναι το dial και το επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 5. Τα δύο dials όπως εµφανίζονται στο front panel Volt/div Με αυτό το control ελέγχουµε τη βαθµονόµηση του άξονα y. Έτσι η τιµή που επιλέγουµε αντιστοιχεί σε κάθε σκαλί του άξονα y. Το control που επιλέξαµε είναι το dial και το επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 6. Τo dial του Volt/div όπως εµφανίζεται στο front panel Time base Με αυτο το control ελέγχουµε τη βαθµονόµηση του άξονα x. Έτσι η τιµή που επιλέγουµε αντιστοιχεί σε κάθε σκαλί του άξονα x. Το control που επιλέξαµε είναι το dial και το επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 7. Τo dial του Time base όπως εµφανίζεται στο front panel Trigger Με αυτό το control ελέγχουµε την ενεργοποίηση του trigger. Το trigger µας δίνει στην οθόνη του παλµογράφου µια σταθερή κυµατοµορφή, κάνοντας έτσι την παρατήρηση της 40

42 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 ευκολότερη. Το control που επιλέξαµε είναι το vertical slide switch και το επιλέγουµε ως εξής: controls palette<boolean<vertical slide switch Εικόνα 8. Τo vertical slide switch του Trigger όπως εµφανίζεται στο front panel Direction Με αυτό το control ελέγχουµε αν το triggering θα γίνει κατά τη στιγµή που το πλάτος του σήµατος αυξάνεται ή κατά τη στιγµή που το πλάτος του σήµατος µειώνεται. Έτσι αν θέσουµε το διακόπτη στο POS το triggering θα γίνει στην ηµιπερίοδο κατά την οποία το πλάτος αυξάνεται ενώ αν θέσουµε το διακόπτη στο NEG το triggering θα γίνει στην ηµιπερίοδο κατά την οποία το πλάτος µειώνεται. Το control που επιλέξαµε είναι το vertical slide switch και το επιλέγουµε ως εξής: controls palette<boolean<vertical slide switch Εικόνα 9. Τo vertical slide switch του Slope όπως εµφανίζεται στο front panel Level Με το control αυτό ελέγχουµε το επίπεδο του πλάτους του προσλαµβανοµένου σήµατος από το οποίο ξεκινάει το triggering. Καθορίζει συνεπώς την τιµή της κυµατοµορφής στην αρχή των αξόνων. Το control που επιλέξαµε είναι το dial και το επιλέγουµε ως εξής: controls palette<numeric<dial Εικόνα 10. Τo dial του Level όπως εµφανίζεται στο front panel 41

43 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Stop Με το control αυτό σταµατάµε τη λειτουργία του παλµογράφου. Να σηµειώσουµε ότι το συγκεκριµένο control αφορά αποκλειστικά το σταµάτηµα της λειτουργίας του παλµογράφου και όχι την έναρξή της. Το control που επιλέξαµε είναι το stop button και το επιλέγουµε ως εξής: controls palette<boolean<stop button Εικόνα 11. Τo stop button όπως εµφανίζεται στο front panel Led Στο front panel έχουµε βάλει και ένα indicator εκτός από controls. Αυτό είναι ένα Led το οποίο αλλάζει χρώµα ανάλογα αν ο παλµογράφος είναι σε λειτουργία ή όχι. Έτσι όταν ο παλµογράφος λειτουργεί το Led έχει ανοιχτό πράσινο χρώµα ενώ όταν είναι εκτός λειτουργίας είναι σκούρο πράσινο. Το επιλέγουµε ως εξής: controls palette <Boolean< <Round Led Εικόνα 12. Τo round Led και οι δύο καταστάσεις του OFF-ON όπως εµφανίζoνται στο front panel Graph Το graph που υπάρχει στο front panel είναι ουσιαστικά η οθόνη του παλµογράφου µας και συνεπώς πρόκειται για ένα indicator και όχι για ένα control. Το επιλέγουµε ως εξής: controls palette<graph<waveform Graph 1,0 0,8 0,6 0,4 0,2 0,0-0,2-0,4-0,6-0,8-1, Εικόνα 13. Τo Waveform graph που χρησιµεύει ως οθόνη του παλµογράφου µας

44 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο Block Diagram Το δεύτερο µέρος του κεφαλαίου χωρίζεται και αυτό σε δύο µέρη. Στο πρώτο θα παρουσιάσουµε µε αναλυτικό τρόπο το block diagram και τον τρόπο λειτουργίας του έτσι ώστε να την κάνουµε κατανοητή στον αναγνώστη. Στο δεύτερο µέρος θα παραθέσουµε όλα τα έτοιµα functions τα οποία και χρησιµοποιήθηκαν για τη δηµιουργία του block diagram Τρόπος λειτουργίας του Block Diagram Για να γίνει πιο εύκολα κατανοητός ο τρόπος λειτουργίας του προγράµµατος έχουµε χωρίσει το block diagram σε µικρότερα κοµµάτια που ωστόσο εκτελούν µια διαφορετική λειτουργία. Έτσι παρουσιάζουµε ξεχωριστά τα εξής µέρη του block diagram: επιλογή καναλιού, εκκίνηση και τερµατισµός λειτουργίας, volt/div & time base, position ch1 ch2, trigger.vi και slope.vi. Επιλογή καναλιού Για να δηµιουργήσουµε το µηχανισµό επιλογής καναλιών χρησιµοποιήσαµε ένα case structure και έναν επιλογέα τριών καταστάσεων. Η λογική είναι ότι ανάλογα µε την θέση του επιλογέα εκτελείται και µια διαφορετική case η οποία περιέχει και ένα διαφορετικό subdiagram. Όταν ο επιλογέας (display channel) τίθεται στη θέση Α εκτελείται η case 0, στη θέση Β εκτελείται η case 1 και στη θέση Α&Β εκτελείται η case 2. Στην case 0 υπάρχει το subdiagram το οποίο εµφανίζει στην οθόνη του παλµογράφου το ηµιτονικό σήµα αφού αυτό περάσει µέσα από το VI του trigger. Στην case 1 υπάρχει το subdiagram το οποίο εµφανίζει στην οθόνη του παλµογράφου τον τετραγωνικό παλµό µε την ίδια διαδικασία. Τέλος στην case 2 υπάρχει το subdiagram το οποίο ταυτόχρονα εµφανίζει και τα δύο σήµατα στην οθόνη αφού πρώτα περάσουν από το trigger. 43

45 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Εικόνα 14. Το block diagram όπως εµφανίζεται µετά την επιλογή του καναλιού Α Εικόνα 15. Το block diagram όπως εµφανίζεται µετά την επιλογή του καναλιού Β 44

46 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Εικόνα 16. Το block diagram όπως εµφανίζεται µετά την επιλογή των καναλιών Α&Β Εκκίνηση και τερµατισµός λειτουργίας Παρατηρώντας το block diagram είναι φανερό ότι περιβάλλεται από ένα πλαίσιο το οποίο δεν είναι τίποτα άλλο από ένα while loop. Μέσα στο σώµα του while loop βρίσκεται ουσιαστικά ολόκληρο το πρόγραµµα. Αυτό συµβαίνει γιατί θέλουµε να εκµεταλλευτούµε την ιδιότητα του while loop που είναι η συνεχής λειτουργία, µε έλεγχο της διακοπής από τον χρήστη. Με αυτόν τον τρόπο εξασφαλίζουµε συνεχή ροή του προγράµµατος µε το πάτηµα του Run αλλά και τερµατισµό του όποτε εµείς το επιθυµούµε. Η όλη λογική του µηχανισµού τερµατισµού της λειτουργίας του while loop και κατά συνέπεια του µηχανισµού τερµατισµού της λειτουργίας του παλµογράφου στηρίζεται στο ότι θέλουµε να σταµατάει ο παλµογράφος µε το πάτηµα ενός κουµπιού -stop button- το οποίο όµως µετά το σταµάτηµα θα επανέρχεται στην προηγούµενη του κατάσταση αυτόµατα, χωρίς να χρειάζεται να το επαναφέρει ο χρήστης. Έτσι για να γίνει επανεκκίνηση του παλµογράφου θα χρειαστεί µόνο το πάτηµα εκ νέου του Run, αντί να χρειάζεται να επαναφέρουµε πρώτα το stop button και µετά να εκκινήσουµε τον παλµογράφο. Παράλληλα θέλουµε κατά τη διάρκεια λειτουργίας του παλµογράφου να υπάρχει µια φωτεινή ένδειξη η οποία θα σβήνει όταν ο παλµογράφος τίθεται εκτός λειτουργίας. Ο µηχανισµός τερµατισµού της λειτουργίας του παλµογράφου αποτελείται από ένα Boolean control, ένα Boolean indicator, µια not function, ένα sequence structure, µια Boolean σταθερά και µια local variable. Το conditional terminal του while loop τερµατίζει την 45

47 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 λειτουργία όταν του δοθεί η τιµή FALSE. Αυτός είναι και ο λόγος που δε συνδέουµε το stop button απευθείας στο conditional terminal αλλά µέσω µιας πύλης not. Έτσι όταν πατάµε το stop button και το θέτουµε ουσιαστικά στην κατάσταση TRUE στο conditional terminal φτάνει η τιµή FALSE και τερµατίζεται η λειτουργία του παλµογράφου. Για τον ίδιο λόγο και το Led(Boolean indicator) συνδέεται µε το stop button (Boolean control) µέσω της πύλης not, ούτως ώστε να εµφανίζεται η φωτεινή ένδειξη όταν αυτό βρίσκεται στην κατάσταση not και συνεπώς ο παλµογράφος είναι σε λειτουργία. Για να επαναφέρουµε το stop button στην αρχική του FALSE κατάσταση, µετά το σταµάτηµα της λειτουργίας του παλµογράφου χρησιµοποιούµε ένα sequence structure. Εκεί έχουµε τοποθετήσει µια local variable του stop button την οποία και έχουµε µόνιµα συνδεδεµένη µε µια Boolean σταθερά η οποία έχει την τιµή TRUE. Έτσι µετά το σταµάτηµα της λειτουργίας του while loop το πρόγραµµα εκτελεί το sequence structure επαναφέροντας έτσι το stop button στην τιµή FALSE. Volt/div & Time base Για να δηµιουργήσουµε το µηχανισµό αλλαγής της κλίµακας µέτρησης των αξόνων x,y χρησιµοποιήσαµε το property node, τα functions bundle και multiply καθώς και κάποιες σταθερές. Η λογική είναι ότι µέσω του bundle δίνουµε στα property nodes της οθόνης του παλµογράφου το άνω και κάτω όριο των αξόνων καθώς και την τιµή που θα έχει το κάθε division του άξονα. Επειδή έχουµε σταθερό τον αριθµό των divisions του κάθε άξονα, είναι λογικό ότι τα όρια που θέτουµε στους άξονες είναι σε σχέση µε την τιµή του division που επιλέγει ο χρήστης. Έτσι για τον άξονα x επιλέγουµε ως κάτω όριο το 5*Volt/div και ως άνω όριο το 5*Volt/div. Για τον άξονα y επιλέγουµε ως κάτω όριο το 0 και ως άνω όριο το 5*Time base. Οι τιµές Volt/div & Time base επιλέγονται από τον χρήστη όπως περιγράψαµε στο κεφάλαιο του control panel. Position ch1,ch2 Για να επιτύχουµε την µετακίνηση της κυµατοµορφής κατά τον άξονα των y εφαρµόσαµε έναν πολύ απλό µηχανισµό αποτελούµενο από ένα add function και µια floating point µεταβλητή. Στην είσοδο που λαµβάνει ο παλµογράφος προσθέτουµε την floating point τιµή - την οποία καθορίζει ο χρήστης µε ένα dial µετακινώντας ουσιαστικά την κυµατοµορφή είτε προς τα πάνω, αν η τιµή είναι θετική, είτε προς τα κάτω, αν η τιµή είναι αρνητική. 46

48 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Trigger.VI Το trigger.vi έχει τέσσερις εισόδους και µια έξοδο. Οι τέσσερις είσοδοι είναι οι εξής: α)µια Boolean µεταβλητή που ενεργοποιεί ή απενεργοποιεί το triggering (trigger), β)µια Boolean µεταβλητή που καθορίζει το αρνητικό ή θετικό µέτωπο της κυµατοµορφής (slope), γ)µια ακέραια µεταβλητή που καθορίζει το επίπεδο από το οποίο ξεκινάει το triggering (level) και δ)η κυµατοµορφή πάνω στην οποία θα εφαρµοστεί το triggering. Η έξοδος του VI είναι η προκύπτουσα κυµατοµορφή. Η Boolean µεταβλητή α) είναι αυτή που συνδέεται στο selector του case structure που υπάρχει στο block diagram του VI. Έτσι όταν η µεταβλητή που ελέγχεται από τον αντίστοιχο διακόπτη του front panel παίρνει την τιµή TRUE, τότε το VI εκτελεί το αντίστοιχο subdiagram του case structure ενώ το ίδιο συµβαίνει όταν παίρνει την τιµή FALSE. Το subdiagram FALSE ουσιαστικά είναι κενό και το µόνο που κάνει είναι να συνδέει απευθείας την κυµατοµορφή της εισόδου µε την έξοδο. Αυτό είναι κάτι το αναµενόµενο µιας και αφού ο χρήστης δεν έχει ενεργοποιήσει το triggering η κυµατοµορφή που θα παίρνουµε στην έξοδο θα πρέπει να είναι ίδια µε αυτήν που προσλαµβάνει ο παλµογράφος. Το subdiagram TRUE είναι αυτό που περιέχει το πρόγραµµα µε το οποίο γίνεται το triggering. Σε αυτό περιλαµβάνεται ένα VI το οποίο θα αναλύουµε (slope.vi) ξεχωριστά και ένα function (Array Subset). Η λογική είναι πολύ απλή και βασίζεται στο γεγονός ότι οι κυµατοµορφές είναι σε µορφή πινάκων. Στο array subset φτάνουν τρεις είσοδοι οι οποίες είναι: a) µια σταθερά την οποία έχουµε καθορίσει στην τιµή 1000 και συνδέεται στην είσοδο length, b) η κυµατοµορφή της εισόδου που συνδέεται στην είσοδο array και c) µια ακέραια τιµή η οποία προκύπτει από το slope.vi και συνδέεται στην είσοδο index. Στην έξοδο του function προκύπτει ένα καινούριο array του οποίου το πρώτο στοιχείο είναι το index στοιχείο του πίνακα της κυµατοµορφής εισόδου και το τελευταίο το index στοιχείο του πίνακα της κυµατοµορφής εισόδου. Αυτός ο πίνακας που µόλις περιγράψαµε είναι και η κυµατοµορφή εξόδου. 47

49 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Εικόνα 17. Το block diagram του trigger.vi όταν ο διακόπτης trigger του front panel είναι στη θέση on. Εικόνα 18. Το block diagram του trigger VI όταν ο διακόπτης trigger του front panel είναι στη θέση off. 48

50 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Slope.VI Όπως προαναφέραµε στην ανάλυση του trigger.vi, το slope.vi έχει σαν σκοπό τον καθορισµό της τιµής του δείκτη-index. Ο δείκτης αυτός µε τη σειρά του καθορίζει το πρώτο στοιχείο του νέου πίνακα που προκύπτει µετά τη διαδικασία του triggering. Ουσιαστικά δηλαδή, καθορίζει το σηµείο από το οποίο θα ξεκινάει η κυµατοµορφή η οποία έχει υποστεί το triggering. Το block diagram του VI φαίνεται αρκετά περίπλοκο, χωρίς όµως αυτό να είναι πραγµατικότητα. Πρόκειται ουσιαστικά για µια σειρά συγκρίσεων οι οποίες και καταλήγουν στην εύρεση της τιµής του index. Αρχικά να αναφερθούµε στους shift registers οι οποίοι έχουν σαν ρόλο την µεταβίβαση της προηγούµενης τιµής του πίνακα της κυµατοµορφής εισόδου, στην νέα επανάληψη της εκτέλεσης του while loop. Έτσι ουσιαστικά έχουµε σε κάθε επανάληψη τρεις τιµές οι οποίες υπόκεινται σε µεταξύ τους συγκρίσεις. Οι τρεις αυτές τιµές είναι: δύο διαδοχικές τιµές του πίνακα της κυµατοµορφής εισόδου και η τιµή του level. Ο µηχανισµός των αρχικών συγκρίσεων περιλαµβάνει τρεις συγκριτές και δύο πύλες OR. Η έξοδος όλου αυτού του µηχανισµού καταλήγει στο selector του εξωτερικού case structure. Για να είναι η τιµή αυτή TRUE αρκεί να συµβαίνει ένα από τα παρακάτω ενδεχόµενα αi-1<level<αi, αi<level<αi-1, αι=level. Αν δεν ισχύει κανένα από τα προηγού- µενα ενδεχόµενα τότε η τιµή που πηγαίνει στο selector είναι η FALSE. Μέσα στο block diagram διακρίνουµε δύο case structures. Το εξωτερικό έχει συνδεδεµένο στο selector του µια Boolean τιµή η οποία και προκύπτει από τις διαδοχικές συγκρίσεις των τριών τιµών που προαναφέραµε. Αν στο selector φτάσει η τιµή FALSE και συνεπώς επιλεγεί το αντίστοιχο case για εκτέλεση γίνεται εύκολα κατανοητό ότι δεν βρέθηκε η κατάλληλη τιµή του Index και ότι θα ακολουθήσει και νέα επανάληψη του while loop. Αυτό το επιτυγχάνουµε µε µια απλή Boolean σταθερά η οποία υπάρχει στην FALSE case και συνδέεται στο µηχανισµό τερµατισµού λειτουργίας του while loop. Η σταθερά αυτή είναι στην τιµή FALSE και µέσω του µηχανισµού που προαναφέραµε διατηρεί στο conditional terminal την τιµή TRUE. Στην περίπτωση που στο selector φτάσει η τιµή TRUE τότε εκτελείται και η αντίστοιχη TRUE case η οποία και περιλαµβάνει ένα νέο case structure. Το εσωτερικό αυτό structure έχει συνδεδεµένο στο selector του τον διακόπτη καθορισµού της διεύθυνσης του triggering. έτσι γίνεται κατανοητό ότι ακόµα και αν έχουν πετύχει η αρχικές συγκρίσεις για να τερµατιστεί η λειτουργία του loop και κατά συνέπεια να καθοριστεί η τιµή του Index, θα πρέπει να πετύχει και η σύγκριση του εσωτερικού case. Το index array που βρίσκεται εκτός από το while loop έχει σαν σκοπό την αρχικοποίηση του shift register δίνοντας του ως πρώτη τιµή το πρώτο στοιχείο του πίνακα της κυµατοµορφής εισόδου. Το array size µεταφέρει στο µηχανισµό του τερµατισµού της 49

51 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 λειτουργίας του while loop τον αριθµό των στοιχείων που περιλαµβάνονται στον πίνακα εισόδου. Ο µηχανισµός τερµατισµού είναι απλός και περιλαµβάνει δύο πύλες και ένα comparison function. Στο conditional terminal του loop συνδέεται η έξοδος της πύλης AND. Οι είσοδοι της πύλης AND είναι η έξοδος της πύλης NOT καθώς και η έξοδος του function Greater?. Η πύλη NOT µε τη σειρά της αντιστρέφει την τιµή η οποία προκύπτει από τα case structures. Όπως γίνεται κατανοητό αν η τιµή που εισάγεται στον αντιστροφέα είναι η TRUE τότε είναι σίγουρος ο τερµατισµός του while loop. Ο συγκριτής µε τη σειρά του έχει σαν εισόδους το iteration terminal και την τιµή που προκύπτει από το array size. Για να δώσει στην έξοδό του ο συγκριτής την τιµή FALSE και κατά συνέπεια να τερµατιστεί η λειτουργία του loop, θα πρέπει το VI να έχει εξετάσει όλα τα στοιχεία του πίνακα εισόδου και να µην έχει βρει το κατάλληλο σηµείο από το οποίο πρέπει να ξεκινήσει το triggering σύµφωνα πάντα µε τα δεδοµένα που του έχουµε δώσει(leveldirection). Εικόνα 19. Το block diagram του slope.vi όταν εκτελείται το case TRUE του εξωτερικού case structure 50

52 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 Εικόνα 20. Το block diagram του slope.vi όταν εκτελείται το case FALSE του εξωτερικού case structure 51

53 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο Functions Σε αυτό το µέρος του κεφαλαίου παρουσιάζουµε όλα τα Functions τα οποία χρησιµοποιήσαµε στο «χτίσιµο» του block diagram του παλµογράφου µας. Αναφέρεται περιληπτικά η συνάρτηση που υλοποιούν, η χρήση τους, ενώ αναλυτικά αναφέρουµε τον τρόπο επιλογής τους. a. Boolean Functions Not Υπολογίζει το λογικό συµπλήρωµα της εισόδου. Αν το x είναι FALSE, η συνάρτηση επιστρέφει την τιµή TRUE. Αν το x είναι TRUE, η συνάρτηση επιστρέφει την τιµή FALSE. Το επιλέγουµε ως εξής: Functions palette<boolean<not Or Υπολογίζει το λογικό OR µεταξύ των εισόδων. Και οι δύο είσοδοι θα πρέπει να είναι Booleans ή numerics. Αν και οι δύο είσοδοι είναι FALSE, τότε επιστρέφεται η τιµή FALSE. Σε κάθε άλλη περίπτωση επιστρέφεται η τιµή TRUE. Το επιλέγουµε ως εξής: Functions palette<boolean<or And Υπολογίζει το λογικό AND µεταξύ των εισόδων. Και οι δύο είσοδοι θα πρέπει να είναι Booleans ή numerics. Αν και οι δύο είσοδοι είναι TRUE, τότε ε[πιστρέφεται η τιµή TRUE. Σε κάθε άλλη περίπτωση επιστρέφεται η τιµή FALSE. Το επιλέγουµε ως εξής: Functions palette<boolean<and 52

54 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 b. Comparison Functions Greater? Επιστρέφει την τιµή TRUE αν το x είναι µεγαλύτερο από το y. Σε αντίθετη περίπτωση επιστρέφει την τιµή FALSE. Το επιλέγουµε ως εξής: Functions palette<comparison<greater? Less? Επιστρέφει την τιµή TRUE αν το x είναι µικρότερο από το y. Σε διαφορετική περίπτωση επιστρέφει την τιµή FALSE. Το επιλέγουµε ως εξής: Functions palette<comparison<less? Equal? Επιστρέφει την τιµή TRUE αν το x είναι ίσο µε το y. Σε αντίθετη περίπτωση επιστρέφει την τιµή FALSE. Το επιλέγουµε ως εξής: Functions palette<comparison<equal? In Range and Coerce Σε αυτό το function θέτουµε στην είσοδο δύο όρια, ένα ανώτερο (upper limit) και ένα κατώτερο (lower limit) καθώς και την τιµή που θέλουµε να περάσουµε από το συγκεκριµένο function. Στην έξοδο παίρνουµε δύο τιµές, µια Boolean (In Range?) και µια αριθµητική (coerced(x)). Η Boolean τιµή είναι TRUE όταν η τιµή x είναι εντός των ορίων και FALSE όταν η τιµή x είναι εκτός αυτών των ορίων. Η αριθµητική τιµή της εξόδου είναι η ίδια η x αν είναι εντός των ορίων αλλά αν είναι εκτός αυτών των ορίων η τιµή coerced(x) παίρνει την τιµή του άνω ορίου αν x>upper limit και την τιµή του κάτω ορίου 53

55 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 αν x<lower limit. Το επιλέγουµε ως εξής: Functions palette<comparison<in Range and Coerse c. Numeric Functions Add Υπολογίζει το άθροισµα των εισόδων που δέχεται. Τα x και y µπορούν να είναι είτε αριθµοί είτε πίνακες αριθµών είτε ακόµα clusters αποτελούµενα από αριθµούς. Το x+y είναι το άθροισµά τους. Το επιλέγουµε ως εξής: Functions palette<numeric<add Multiply Υπολογίζει το γινόµενο των εισόδων που δέχεται. Τα x και y µπορούν να είναι είτε αριθµοί είτε πίνακες αριθµών είτε ακόµα clusters αποτελούµενα από αριθµούς. Το x*y είναι το γινόµενο τους. Το επιλέγουµε ως εξής: Functions palette<numeric<multiply d. Array Functions Build Array Ενοποιεί διαφορετικούς πίνακες ή εισάγει στοιχεία σε ν-διάστατους πίνακες. Με την επιλογή Concatenate Inputs η οποία µας δίνεται στο pop-up µενού του Build Array διαφοροποιείται η χρήση του. Έτσι έχοντας ενεργοποιηµένη αυτή την επιλογή το αποτέλεσµα που µας δίνεται είναι ένας πίνακας ίδιων διαστάσεων µε τους πίνακες εισόδου, ο οποίος όµως θα περιέχει όλα τα στοιχεία των πινάκων που θέσαµε σαν εισόδους. Για παράδειγµα αν σαν εισόδους χρησιµοποιούσαµε δύο µονοδιάστατους πίνακες µε τα παρακάτω στοιχεία {1, 0, 8} και {3, 5, 6, 9}, τότε στην έξοδο θα παίρναµε τον πίνακα {1, 0, 8, 3, 5, 6, 9}. Αν η επιλογή Concatenate Inputs είναι απενεργοποιηµένη, τότε στην έξοδο προκύπτει ένας πίνακας ο οποίος είναι κατά µία διάσταση µεγαλύτερος από τους πίνακες εισόδου. Για τους πίνακες εισόδου που χρησιµοποιήσαµε και στο προηγούµενο παράδειγµα το αποτέλεσµα θα ήταν ο 54

56 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 δυδιάστατος πίνακας {{1, 0, 8, 0}, {3, 5, 6, 9}}. Η επιλογή αυτή µας δίνεται µόνο όταν έχουµε σαν εισόδους πίνακες των ίδιων διαστάσεων γιατί σε διαφορετική περίπτωση η επιλογή ενεργοποιείται αυτόµατα χωρίς να υπάρχει η δυνατότητα απενεργοποίησης της. Οι πίνακες εισόδου θα πρέπει να περιέχουν στοιχεία του ίδιου τύπου. Το επιλέγουµε ως εξής: Functions palette<array<build Array Array Subset Επιστρέφει ένα µέρος ενός array ξεκινώντας από το στοιχείο που υποδεικνύει το index και περιέχοντας αριθµό στοιχείων που υποδεικνύεται από το length. Όταν συνδέουµε ένα array στο συγκεκριµένο function, τότε αυτό προσαρµόζεται αυτόµατα έτσι ώστε να περιέχει τόσες index και length εισόδους όσες και οι διαστάσεις του array. Το επιλέγουµε ως εξής: Functions palette<array<array Subset Array Size Επιστρέφει τον αριθµό τον στοιχείων που υπάρχουν σε κάθε διάσταση ενός array. Αν έχουµε πολυδιάστατο array τότε η έξοδος του function είναι ένας µονοδιάστατος πίνακας µε τόσα στοιχεία όσες και οι διαστάσεις του array. Το επιλέγουµε ως εξής: Functions palette<array<array Size Index Array Επιστρέφει την τιµή ενός στοιχείου ή ενός υποπίνακα. Όταν συνδέουµε ένα πίνακα στο function τότε αυτόµατα εµφανίζει τόσα index όσα και οι διαστάσεις του πίνακα. Για να µας επιστρέψει το function ένα συγκεκριµένο στοιχείο θα πρέπει να συνδέσουµε όλα τα Index και στη συνέχεια να επιλέξουµε το κατάλληλο στοιχείο. Αν θέλουµε ένα υποπίνακα τότε πρέπει να αφήσουµε χωρίς σύνδεση τα κατάλληλα index παίρνοντας έτσι όλα τα στοιχεία 55

57 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 της συγκεκριµένης διάστασης. Το επιλέγουµε ως εξής: Functions palette<array<index Array e. Analyze Functions Square Wave ηµιουργεί ένα array το οποίο περιέχει ένα τετραγωνικό παλµό. Μας δίνεται η δυνατότητα να επιλέξουµε της συχνότητα το πλάτος και άλλες παραµέτρους. Το επιλέγουµε ως εξής: Functions palette<analyze<signal Processing<Signal Generation<Square Wave.VI Sine Wave ηµιουργεί ένα array το οποίο περιέχει ένα ηµιτονικό σήµα. Μας δίνεται η δυνατότητα να επιλέξουµε της συχνότητα το πλάτος και άλλες παραµέτρους. Το επιλέγουµε ως εξής: Functions palette<analyze<signal Processing<Signal Generation<Sine Wave.VI 56

58 Το όργανο VI του εικονικού παλµογράφου Κεφάλαιο 3 f. ιάφορα Functions Wait Until Next ms Multiple Εισάγει καθυστέρηση (σε millisecond) ίση µε την τιµή που επιλέγουµε ως millisecond multiple. Χρησιµοποιείται για τον συγχρονισµό διαφόρων εργασιών. Μπορούµε να το χρησιµοποιήσουµε για να ελέγξουµε το ρυθµό εκτέλεσης ενός βρόγχου. Το επιλέγουµε ως εξής: Functions palette<time & Dialog<Wait Until Next ms Multiple Bundle ηµιουργεί ένα cluster από µεµονωµένα στοιχεία. ίνεται επίσης η δυνατότητα να αλλαχθεί η τιµή κάποιων συγκεκριµένων στοιχείων ενός cluster χωρίς να χρειαστεί να οριστούν νέες τιµές για όλα τα στοιχεία. Αυτό επιτυγχάνεται συνδέοντας το cluster το οποίο θέλουµε να διαφοροποιήσουµε στο µεσαίο terminal. Το επιλέγουµε ως εξής: Functions palette<cluster<bundle 57

59 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Κεφάλαιο 4 Σχεδίαση του διακοµιστή (server) του εικονικού εργαστηρίου Στο κεφάλαιο που ακολουθεί γίνεται η ανάλυση, του προγράµµατος που αναπτύχθηκε, για να υλοποιηθεί ο διακοµιστής του εικονικού εργαστηρίου. Αρχικά γίνεται η παρουσίαση και ο τρόπος χρήσης του front panel του server.έπειτα γίνεται αναφορά στο block diagram του server και αναλύονται τα επιµέρους VI που σχεδιάσθηκαν για την υλοποίηση του συγκεκριµένου προγράµµατος. 4.1 Front Panel Το front panel του Server παλµογράφου αποτελείται από τον παλµογράφο που αναπτύχθηκε στο προηγούµενο κεφάλαιο και από ένα σύνολο ελεγκτών και ενδείξεων που δίνουν την δυνατότητα στον χρήστη του Server να ελέγχει την προσπέλαση τον επιµέρους λειτουργιών του παλµογράφου. 58

60 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 1. Server Tα controls που χρησιµοποιήθηκαν είναι αριθµητικά controls, ok buttons και toggle switches. Για indicators επιλέχθηκαν αριθµητικά indicators και led s. Τα αριθµητικά controls τα επιλέγουµε ως εξής: controls palette<numeric controls<num Ctrl.Τα ok buttons από: controls palette<βuttons& Switches<Ok Button και τα toggle switches από: controls palette< Βuttons& Switches<Vertical toggle switch.τα LED s επιλέχθηκαν από: controls palette<led S<round led. Tα αριθµητικά indicators προκύπτουν από τα controls αν µε δεξί κλικ πάνω στο control επιλεχθεί change to indicator. Στο front panel υπάρχει και ένα VI το οποίο εµφανίζει, σε περίπτωση σφάλµατος, µηνύµατα τα οποία περιγράφουν την φύση του προβλήµατος που προέκυψε και ονοµάζεται General Error Handler.VI. Εικόνα 2. controls και indicators που χρησιµοποιήθηκαν Στην επόµενη εικόνα παρουσιάζεται το τµήµα που αναπτύχθηκε ώστε ο παλµογράφος να λειτουργεί ως server. 59

61 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 3.Τµήµα ελέγχου του server Στο τµήµα αυτό έχουµε δυο πλαίσια έτσι ώστε να υπάρχει διαχωρισµός ανάµεσα στις ενδείξεις και τα controls. Το πλαίσιο µε τις ενδείξεις µας πληροφορεί κάθε χρονική στιγµή τα δεδοµένα που εισάγει ο χρηστής του client. Το πλαίσιο µε τα controls δίνει την δυνατότητα στον χρήστη του Server να δίνει δικαίωµα προσπέλασης στις διάφορες λειτουργίες του παλµογράφου. Για να µπορεί να χειριστεί τις λειτουργίες του παλµογράφου ο χρήστης του Client θα πρέπει να έχει ενεργοποιήσει τις αντίστοιχες λειτουργίες ο χρήστης του Server,πατώντας τα αντίστοιχα κουµπιά (time base, volt/div, posch1, posch2, stop, freq1, freq2, ampl1, ampl2, dispchan, trigger, level, direction). Επίσης υπάρχει και ένα control µε ονοµασία port στο οποίο δίνεται η θύρα µέσω της οποίας θα γίνει η σύνδεση µε τον client.η θύρα θα πρέπει να είναι η ίδια και για τον Server όπως και για τον Client.Μέσω του διακόπτη Listen Connection επιλέγεται η κατάσταση του server µετά από µια αποτυχηµένη σύνδεση µε κάποιον Client,όταν βρίσκεται στην θέση Yes o διακόπτης ο Server 60

62 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 συνεχίζει να περιµένει νέα σύνδεση µε Client ενώ στην θέση No τερµατίζει την λειτουργία του. Ο χρήστης του server έχει ουσιαστικά να επιτελέσει τέσσερις ενέργειες. Α. Το πάτηµα του κουµπιού run Β. Την εισαγωγή του αριθµού της θύρας µέσω της οποίας θα γίνει η επικοινωνία. Γ. Επιλογή τον λειτουργιών που θα έχει προσπέλαση ο χρήστης του client.. Επιλογή του Listen Connection 4.2 Block Diagram Η υλοποίηση του server στο Labview, µε χρήση της γλώσσας G, παρουσιάζεται στην εικόνα 4. Για την ανάπτυξη του συγκεκριµένου κώδικα προγράµµατος χρησιµοποιήθηκαν έτοιµες συναρτήσεις του Labview που θα αναλυθούν στο παράρτηµα Α. H ανάλυση του block diagram του VI θα γίνει αρχικά γενικά και έπειτα θα γίνει η ανάλυση των επιµέρους υποπρογραµµάτων (subvi s) που αναπτύχθηκαν για την υλοποίηση του Server. Η µεταβλητή Port είναι η πρώτη µεταβλητή η οποία χρησιµοποιείται και που πρέπει ο χρήστης του Server να εισάγει µέσω του Front Panel. Η συγκεκριµένη µεταβλητή εισέρχεται σε ένα While Loop του οποίου η συνθήκη αλήθειας ελέγχεται από την µεταβλητή Listen continue. Εάν αυτή είναι true, o server συνεχίζει την λειτουργία του µε στόχο την νέα σύνδεση µε client εφόσον υπάρξει αποτυχία στην υπάρχων σύνδεση (εµφάνιση σφάλµατος κατά την επικοινωνία Server-Client, εισαγωγή λάθους κωδικού από τον χρήστη του client, τερµατισµός της επικοινωνία από τον client, δεν έχει εµφανιστεί αίτηση σύνδεσης σε κάποιο προσδιορισµένο χρόνο). Σε περίπτωση που η µεταβλητή Listen continue έχει την τιµή false ο Server τερµατίζει την λειτουργία του στην πρώτη εµφάνιση σφάλµατος. Στη συνέχεια η µεταβλητή Port εισέρχεται σε νέο While Loop όπου χρησιµοποιείται ως είσοδος του Connection VI. Εφόσον υπάρξει επιτυχείς σύνδεση µε τον Client η έξοδοι του Con.VI µεταβιβάζονται στο επόµενο While Loop που ελέγχεται από την τιµή του stop button του παλµογράφου. Εάν αυτή είναι false (εισέρχεται σε µια Not συνάρτηση ) ο έλεγχος παραµένει στο συγκεκριµένο Loop.Όπως φαίνεται από την εικόνα 4 οι έξοδοι του Con.VI είναι είσοδοι στο Communication.VI, που αναπτύχθηκε για την µεταφορά των δεδοµένων. Σε κάθε επανάληψη του βρόγχου αποστέλλονται αρχικά οι τιµές του γράφου του server και έπειτα γίνεται µεταφορά των στοιχείων που αποστέλλει ο client στον παλµογράφο( ) που αναπτύχθηκε στο κεφάλαιο 2. Οι έξοδοι του Com.vi αποθηκεύονται στης µεταβλητές time base, volt/div, pos ch1, pos ch2, stop, freq ch1, freq ch2, ampl ch1, ampl ch2, display chan, trigger, level και direction 61

63 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 που εµφανίζονται στο αριστερό άκρο του Front Panel του Server. Για κάθε µια από αυτές τις µεταβλητές έχουν δηµιουργηθεί αντίστοιχες τοπικές µεταβλητές που έχουν τοποθετηθεί ξεχωριστά µέσα σε δοµές case. Παρακάτω θα γίνει η ανάλυση της χρήσης µίας τοπικής µεταβλητής αφού οι υπόλοιπες λειτουργούν µε παρόµοιο τρόπο. Στην εικόνα 5 παρουσιάζεται η χρήση της τοπικής µεταβλητής display chan. Εικόνα 5.Χρήση τοπικής µεταβλητής display chan. Όπως προαναφέρθηκε η τοπική µεταβλητή display chan, που διαβάζει δεδοµένα, τοποθετείται µέσα σε µία case δοµή της οποίας η συνθήκη ελέγχεται από την λογική µεταβλητή disp chan. Η µεταβλητή αυτή αντιστοιχεί στο κουµπί του Front Panel disp chan και έχει αρχική τιµή false. Όταν ο χρήστης του Server δώσει δικαίωµα πρόσβασης η µεταβλητή disp chan έχει τιµή true και η δοµή case εκτελεί την λειτουργία της εικόνας 5.Εσωτερικά της δοµής έχει τοποθετηθεί η προαναφερθέν τοπική µεταβλητή όπως και η τοπική µεταβλητή Display channel που γράφει δεδοµένα. Η τοπική µεταβλητή Display channel(είναι στο δεξί µέρος του Front Panel του Server τοποθετηµένη) αναφέρεται στην αντίστοιχη µεταβλητή του παλµογράφου µε αποτέλεσµα να µεταβιβάζει την τιµή που έχει αποστείλει ο client στον παλµογράφο. Οι έξοδοι όλων των δοµών case συνδέονται µε τους αντίστοιχους ακροδέκτες του παλµογράφου. Με αυτόν τον τρόπο µε την έξοδο από όλες τις δοµές case ο παλµογράφος έχει πλέον ως εισόδους τις τιµές που έχει στείλει o Client.Ταυτόχρονα τα δεδοµένα αυτά απεικονίζονται στο Front Panel του Server.Σε περίπτωση που η τιµή της λογικής µεταβλητής disp chan είναι false τότε έχουµε το block diagram της εικόνας 6. Εικόνα 6.H λογική µεταβλητή disp chan είναι false 62

64 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Όπως φαίνεται από την εικόνα 6 σε αυτήν την περίπτωση µεταβιβάζεται στον παλµογράφο η τιµή που έχει η µεταβλητή Display channel και είναι η τιµή που εισάγει ο χρήστης του Server µέσω του Front Panel. Ο παλµογράφος αφού εκτελεστεί επιστρέφει στον γράφο την ζητούµενη κυµατοµορφή. Τα δεδοµένα του γράφου εισάγονται στην συνάρτηση Flatten To String( ) και το string που δηµιουργείται χρησιµοποιείται ως είσοδος του Com.VΙ µε αποτέλεσµα να αποστέλλονται τα δεδοµένα του γράφου στον Client. Όταν γίνει έξοδος από το Loop o έλεγχος του προγράµµατος επανέρχεται στο εξωτερικό Loop.Η συνάρτηση TCP Close Connection έχει ως εισόδους τον αριθµό αναφοράς της δικτυακής σύνδεσης και το error string που της µεταβιβάζει το Com.VI.Σε αυτό το ση- µείο γίνεται η διακοπή της σύνδεσης µε τον Client και το error string µεταφέρεται στο General Error Handler.VI που θα εµφανίσει στο Front Panel το είδος του σφάλµατος που προέκυψε. Παρακάτω γίνεται η ανάλυση των υποπρογραµµάτων που σχεδιάσθηκαν Connection.VI Το συγκεκριµένο VI έχει ως βασική λειτουργία την δηµιουργία της σύνδεσης µε τον client όταν αυτή ζητείται και ταυτόχρονα εκπληρώνονται κάποιες συγκεκριµένες προϋπόθεσης.η προϋπόθεσης αυτές συσχετίζονται µε την φύση της επικοινωνίας που ζητά ο Client όπως και µε την επαλήθευση κάποιου κωδικού που εισάγεται από τον χρήστη του Client έτσι ώστε να είναι εφικτή η σύνδεση του µε τον Server. Εικόνα 7.While loop του Con.VI Η εικόνα 7 απεικονίζει τον βρόχο ελέγχου του Connection.VI.Το συγκεκριµένο VI έχει ως εισόδους την θύρα µέσω της οποίας θα γίνει η σύνδεση µε τον Client και µια αναφορά της κατάστασης του stop button ( ) Το Con.VI ελέγχει την συνθήκη αλήθειας του 63

65 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 βρόχου µε αποτέλεσµα να ελέγχει την επικοινωνία του Server µε τον client. Όταν η έξοδος του Con.VI είναι false o έλεγχος µεταφέρεται στο επόµενο While loop, ενώ στην κατάσταση true έλεγχος παραµένει στο συγκεκριµένο loop. Σε κάθε επανάληψη του βρόχου έχουµε ως εξόδους των αριθµό αναφοράς της δικτυακής σύνδεσης και το error string.ακολουθεί το block diagram του Connection.VI. Eικόνα 8.Block diagram του Con.VI Αρχικά εισάγεται στο ΤCP Listen VI ( ), ο ακέραιος αριθµός της θύρας και ο µέγιστος χρόνος αναµονής του VI για αίτηση σύνδεσης µε τον server. Με το πέρας αυτού του χρονικού διαστήµατος εµφανίζεται µήνυµα λάθους και τερµατίζεται η λειτουργία του server ( το Listen connection είναι στο No,αλλιώς επανέρχεται στο συγκεκριµένο Loop και αναµένει νέα σύνδεση client). Σε περίπτωση αίτησης σύνδεσης µέσα στο προαναφερθέν χρονικό διάστηµα,έχουµε σύνδεση µε τον Client και ο έλεγχος του προγράµµατος µεταφέρεται στο Password Check.VI ( ). Στο συγκεκριµένο πρόγραµµα συνδέονται οι ακροδέκτες του αριθµού αναφοράς της δικτυακής σύνδεσης και το error string. Εφόσον γίνει η εκτέλεση του προγράµµατος επιστρέφεται µια λογική τιµή, το error string και τον αριθµό αναφοράς της δικτυακής σύνδεσης.h λογική τιµή που επιστρέφεται είναι true αν ο χρήστης του client έχει εισάγει σωστό κωδικό και false σε κάθε άλλη περίπτωση. Στη συνέχεια το error string εισέρχεται στο πρόγραµµα No Time OuT Error VI ( ) το οποίο ελέγχει εάν έχει εµφανιστεί ένα connection timed out error και το κάνει reset,αφού ο έλεγχος του συγκεκριµένου σφάλµατος θα γίνει παρακάτω. Έπειτα επιστρέφεται το error string και ο έλεγχος µεταφέρεται στην case δοµή της οποίας η συνθήκη ελέγχεται από την λογική τιµή της εξόδου του Password Check VI. 64

66 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Σε περίπτωση που η λογική τιµή είναι true έχουµε το block diagram της εικόνας 8.Το error string το εισάγεται στην συνάρτηση Unbundle ( ) που διαχωρίζει το στοιχεία από τα οποία είναι δοµηµένο. Εφόσον έχει διαχωριστεί το error string η τιµή του code (ΙR) συγκρίνεται ( ) µε την τιµή της ring σταθερά Connection timed out ( Connection timed out ) και εάν δεν είναι ίση επιστρέφεται η τιµή true,αλλιώς επιστρέφεται η τιµή false σε περίπτωση ισότητας. Η Boolean τιµή(tf) που συµπεριλαµβάνεται στο error string είναι true σε περίπτωση που έχει εµφανιστεί σφάλµα κατά την διάρκεια της σύνδεσης,διαφορετικά είναι false.αυτή η τιµή µαζί µε το αποτέλεσµα της προηγούµενης σύγκρισης εισάγονται σε µια συνάρτηση And ( ).Ταυτόχρονα η λογική τιµή εισάγεται σε µια συνάρτηση Νοt ( ).Έπειτα τα αποτελέσµατα των δυο συγκρίσεων εισάγονται σε µια συνάρτηση ΟR ( ). Το αποτέλεσµα αυτόν των διαδοχικών συγκρίσεων είναι να υπάρχει στην έξοδο η τιµή false µόνο στην περίπτωση που θα εµφανιστεί το σφάλµα connection timed out και σε κάθε άλλo γεγονός το αποτέλεσµα να έχει την τιµή true. Ακολουθεί µία δοµή Stacked Sequence στην οποία εισέρχονται το αποτέλεσµα των συγκρίσεων και η αναφορά της κατάστασης του stop button. Η αναφορά αυτή εισέρχεται σε ένα Property Node ( ) όπου γίνεται ανάγνωση της τιµής του stop button. Με την έξοδο από την δοµή εισέρχονται οι τιµές του stop button και των συγκρίσεων που προηγήθηκαν σε µια συνάρτηση Not Or ( ).Η έξοδος της συνάρτησης µεταβιβάζεται στο βρόγχο ελέγχου του Con.VI (εικόνα 7) και µε συνέπεια η τιµή αυτή να ελέγχει την επικοινωνία µεταξύ Server και Client.Όταν δεν εµφανίζεται το σφάλµα connection timed out και το stop button έχει τιµή false(δεν είναι πατηµένο), έχει ως έξοδο το Con.VI την τιµή false µε αποτέλεσµα τον τερµατισµό του While Loop και την µεταφορά του ελέγχου του προγράµµατος στο επόµενο βρόγχο. Όταν εµφανιστεί το συγκεκριµένο σφάλµα ο έλεγχος του προγράµµατος παραµένει στο συγκεκριµένο Loop µε σκοπό νέας σύνδεσης µε τον Client. Οι συγκρίσεις έγιναν µε σκοπό τον εντοπισµό το σφάλµατος connection timed out όπως και για τερµατισµό το βρόγχου του Con,VI όταν πατηθεί το stop button. Έγινε η ανάλυση της ροής του προγράµµατος όταν η λογική τιµή της εξόδου του Password Check.VI είναι true. Σε περίπτωση όµως που είναι false έχουµε το block diagram της εικόνας 9. 65

67 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 9.Η έξοδος του Password Check είναι false Σε αυτήν την περίπτωση τίθενται και οι δυο λογικές τιµές στην κατάσταση true µε συνέπεια να έχουµε ως έξοδο του Con.VI την τιµή true,οπότε να παραµένει ο έλεγχος του προγράµµατος στο συγκεκριµένο While Loop αναµένοντας νέα σύνδεση µε τον Client Password Check.VI To συγκεκριµένο υποπρόγραµµα αναπτύχθηκε για την ασφάλεια του συστήµατος.έτσι για να γίνει εφικτή η σύνδεση µε τον Server θα πρέπει ο χρήστης του Client να κατέχει κάποιον κωδικό ασφάλειας, ο οποίος εισάγεται στον Client, µε αποτέλεσµα την ταυτοποίηση του στο Password Check.VI µε τους υπάρχον αποδεκτούς κωδικούς στο υποπρόγραµµα.to block diagram απεικονίζεται στην εικόνα

68 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 10.Block diagram του Password Check Οι είσοδοι του συγκεκριµένου VI είναι δυο o αριθµός αναφοράς της δικτυακής σύνδεσης και το error string. Αρχικά γίνεται ανάγνωση του µήκους του κωδικού που έχει εισάγει ο χρήστης του Client. Αυτό επιτυγχάνεται µε την χρήση της συνάρτησης TCP Read( ). Στους ακροδέκτες της συγκεκριµένης συνάρτησης συνδέονται ο αριθµός αναφοράς της δικτυακής σύνδεσης, το error string, ο αριθµός των byte που θα διαβαστούν ( 4 ) και ο µέγιστος χρόνος αναµονής ανάγνωσης δεδοµένων ( 100 σε ms,έπειτα εµφανίζεται µήνυµα σφάλµατος). Η έξοδος συνδέεται µε την συνάρτηση Type Cast ( ),όπου στον ακροδέκτη type συνδέεται ένας ακέραιος 4 ) που δίνει το µήκος του κωδικού ως ακέραια τιµή. Ακολουθεί µία case δοµή που ελέγχεται από την τιµή του µήκους του κωδικού που έχει εισαχθεί. Έτσι για µήκος κωδικού ένα και µεγαλύτερο έχουµε το διάγραµµα που απεικονίζεται στην εικόνα 10,όπου γίνεται ανάγνωση του κωδικού που έχει εισάγει ο χρήστης του client µέσω της συνάρτησης TCP Read µε την σύνδεση του µήκους του κωδικού µε τον ακροδέκτη Bytes to read της συνάρτησης. Οι έξοδοι της δοµής case είναι ο αριθµός αναφοράς της δικτυακής σύνδεσης, το error string ο κωδικός που έχει εισάγει ο χρήστης του Client.Στην περίπτωση που δεν έχει εισάγει ο χρήστης του Client κωδικό επιλέγεται από την δοµή case το διάγραµµα..0. Εικόνα 11.Case δοµή..0 67

69 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Όπως φαίνεται από την εικόνα 11 σε αυτήν την περίπτωση έχουµε ως εξόδους της δοµής case τον αριθµό αναφοράς της δικτυακής σύνδεσης, το error string και µια µηδενική σταθερά τύπου string ( ). Η σταθερά αυτή χρησιµοποιείται γιατί η χρήση της συνάρτησης TCP Read µε 0 συνδεδεµένο στον ακροδέκτη bytes to read δεν έχει νόηµα εφόσον η έξοδος δεν θα περιέχει τίποτα. Το επόµενα βήµα είναι η χρησιµοποίηση της συνάρτησης Search 1D array ( ) όπου εισάγονται ο κωδικός και ένα string που περιέχει τους αποδεκτούς κώδικες. Αυτό το string δηµιουργείται από τον µονοδιάστατο πίνακα της εικόνας Accepted Password List passworda passwordb valid Εικόνα 12.Μονοδιάστος πίνακας µε στοιχεία τους αποδεκτούς κώδικες Ο µονοδιάστατος πίνακας έχει στοιχεία τους αποδεκτούς κώδικες που εισάγει ο χρήστης του Server µε απλό αριστερό πάτηµα του ποντικιού και γράφοντας τον επιθυµητό κωδικό. Ο πίνακας δηµιουργείται µε χρήση του array constant ( ) και εισάγο- 0 ντας εντός αυτού του πίνακα µια σταθερά string ( ). Για να εισαχθούν περισσότερα του ενός στοιχειά επιλέγεται ένα άκρο του πίνακα και ανάλογα το επιθυµητό µήκος, µε αριστερό πάτηµα του ποντικιού αυξάνεται η µειώνεται ο αριθµός των στοιχείων. Επίσης µπορούν να δηµιουργηθούν περισσότεροι τέτοιοι πίνακες, µε τον ίδιο αριθµό στοιχεί-ων πάντα,αυξάνοντας τον δείκτη που βρίσκεται στο πάνω αριστερό άκρο του πίνακα έχοντας έτσι την επιλογή διαφόρων set κωδικών(εικόνα 13). 1 Accepted Password List passwordb valid Εικόνα 13.Παράδειγµα χρήσης set κωδικών Με την χρήση της συνάρτησης Search 1D array ( ) γίνεται γραµµική αναζήτηση του κωδικού, που έχει εισάγει ο χρήστης του client, µέσα στο string µε τους αποδεκτούς κωδικούς. Το αποτέλεσµα της συνάρτησης είναι ο αριθµός της θέσης του προς αναζήτησης στοιχειού µέσα στον πίνακα. Αν δεν υπάρχει µέσα στον πίνακα επιστρέφεται η τιµή -1.Το αποτέλεσµα της αναζήτησης εισάγεται στην συνάρτηση Greater Or Equal To 0? ( ) µε έξοδο true αν είναι µεγαλύτερο ή ίσο από 0 και false σε περίπτωση που είναι 68

70 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 αρνητικό. Στην συνέχεια η τιµή αυτή δίνεται στην έξοδο του VI και ταυτόχρονα µετατρέπεται σε string,µέσω της συνάρτησης Type Cast, µε σκοπό την αποστολή της στον client. Αυτό επιτυγχάνεται µε χρήση του TCP Write µε αποτέλεσµα την ενηµέρωση του χρήστη του Client για αποδοχή ή απόρριψη του κωδικού που έχει εισάγει ο ίδιος No Time Out Error.VI Η λειτουργία του VI είναι ο εντοπισµός του σφάλµατος Connection timed out error. Σε περίπτωση που εντοπιστεί το συγκεκριµένο σφάλµα τροποποιεί το error string και το θέτει σε no time out error. Ακολουθεί το block diagram του VI. Εικόνα 14.Block diagram του No Τime Οut Error. VI. Το VI δέχεται ως είσοδος το error string και το εισάγει σε µία συνάρτηση Unbundle ( ). Από το error string επιλέγεται ο ακέραιος αριθµός ΙR, που χαρακτηρίζει το είδος του σφάλµατος(µε τον αριθµό 56) και µεταφέρεται σε µία συνάρτηση Equal?( ) και συγκρίνεται µε το Connection timed out 56 και επιστρέφεται η τιµή true σε περίπτωση ισότητας. Στη συνέχεια το αποτέλεσµα της σύγκρισης µεταβιβάζεται σε µία συνάρτηση AND( ) όπου συνδέεται και ο ακροδέκτης TF. To αποτέλεσµα της συνάρτησης είναι true µόνο σε περίπτωση που εµφανιστεί το σφάλµα connection timed out µε συνέπεια η δοµή case να γίνεται true(εικόνα14). Μέσα στην δοµή ενώνονται τα στοιχεία που πριν διαχωρίστηκαν µέσω της συνάρτησης Bundle( ) µε διαφορά την τοποθέτηση της λογικής µεταβλητής ΤF στην κατάσταση false.η έξοδος του VI είναι το error string χωρίς το σφάλµα Connection timed out. Αν οι συγκρίσεις έχουν αποτέλεσµα false (δεν έχει εµφανιστεί το σφάλµα Connection timed out) η δοµή case παίρνει την µορφή της εικόνας

71 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 15. οµή case στην περίπτωση false in. Σε αυτήν την περίπτωση στην έξοδο µεταβιβάζεται χωρίς επεξεργασία η είσοδος error Communication.VI Το συγκεκριµένο VI επιτυγχάνει την αµφίδροµη επικοινωνία µεταξύ του Server και του Client. Η δοµή του είναι απλή και έχει ως βασικές δοµές του block διαγράµµατος του δυο subvi s το TCP_IP Read και το TCP_IP Write που θα αναλυθούν παρακάτω. Το Com VI έχει τρεις εισόδους (τον αριθµό αναφοράς της δικτυακής σύνδεσης, το error string και το string δεδοµένων από τον γράφο) και δεκαπέντε εξόδους που αντιστοιχούν στα δεκατρία κουµπιά του Client που ο χρήστης του µπορεί να µεταβάλλει, τον αριθµό αναφοράς της δικτυακής σύνδεσης και το error string. Στην εικόνα 16 έχουµε το συνολικό block diagram Com.VI. 70

72 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 Εικόνα 16.Το block diagram του com.vi Από την εικόνα 16 γίνεται εύκολα κατανοητό η λειτουργία του συγκεκριµένου υποπρογράµµατος. Η επικοινωνία επιτυγχάνεται µε τα δυο υποπρογράµµατα TCP_IP Write(για να αποστέλλονται δεδοµένα) και TCP_IP Read (για λήψη δεδοµένων) και µε την κατάλληλη επεξεργασία των δεδοµένων. Όταν εκτελείται το Com.VI αποστέλλονται αρχικά τα δεδοµένα που περιέχει ο γράφος του Server στον γράφο του client. Έπειτα γίνεται ανάγνωση των δεδοµένων που αποστέλλει ο client. Τα δεδοµένα που λαµβάνονται έχουν ακριβώς την ίδια διαδοχή µε τα δεδοµένα που αποστέλλονται από τον client έτσι ώστε να είναι δυνατή η αντιστοίχηση τους µε τα αντίστοιχα indicators του server. Στο τέλος της εκτέλεσης του Com.VI έχουν ενηµερωθεί όλα τα αναγκαία δεδοµένα που απαιτείται για 71

73 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 την σωστή επικοινωνία του Server µε τον Client. Παρακάτω γίνεται η ανάλυση της αποστολής και λήψης των δεδοµένων Αποστολή δεδοµένων Εικόνα 17.Αποστολη δεδοµένων Στην εικόνα 17 απεικονίζεται η αποστολή των δεδοµένων του γράφου στον client.η χρήση του TCP_IP Write απλοποιεί την διαδικασία αφού η δοµή του είναι απλή. Έτσι για να γίνει η αποστολή των δεδοµένων αρκεί να είναι γνωστή ο αριθµός αναφοράς της δικτυακής σύνδεσης µέσω της οποίας θα αποσταλούν τα δεδοµένα, το error string και τα δεδοµένα του γράφου να είναι διαθέσιµα. Συνδέοντας τα συγκεκριµένα στοιχειά στους αντίστοιχους ακροδέκτες του TCP_IP Write γίνεται εφικτή η αποστολή των δεδοµένων.στη συνέχεια γίνεται η ανάλυση του TCP_IP Write. TCP_IP Write.VI Eεικόνα 18.Block diagram του TCP_IP Write H εικόνα 18 απεικονίζει το block diagram του TCP_IP Write. Όταν γίνει η εκτέλεση του TCP_IP Write το string που περιέχει τα δεδοµένα του γράφου εισάγεται στην αρχή του προγράµµατος και εισέρχεται στο String length ( ) που επιστρέφει τον αριθµό των χαρακτήρων,από τους οποίους αποτελείται το string. Έπειτα ο αριθµός µετατρέπεται σε string, έτσι ώστε να είναι εφικτή η αποστολή του µέσω του TCP Write. Αυτό επιτυγχάνεται µέσω του Type Cast ( ) που µετατρέπει τον τύπο δεδοµένων της εισόδου του σε 72

74 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 όποιον τύπο δεδοµένων επιλέξουµε (default µετατρέπει την είσοδο σε string). Το επόµενο βήµα είναι να αποσταλεί αυτό το string µέσω του TCP Write ( ). Το συγκεκριµένο πρόγραµµα απαιτεί τον αριθµό αναφοράς της δικτυακής σύνδεσης µέσω της οποίας θα σταλεί το string όπως και το error string,τα οποία είναι διαθέσιµα αφού αποτελούν είσοδοι του TCP_IP Write. Σε αυτό το σηµείο έχει ήδη αποσταλεί το µήκος του string στον client οπότε ακολουθεί στη συνέχεια και η αποστολή του string µε τα δεδοµένα του γράφου όπως φαίνεται από την εικόνα 18. Τέλος ως εξόδους του TCP Write έχουµε τον αριθµό αναφοράς της δικτυακής σύνδεσης, το error string και τον αριθµό των bytes που απεστάλησαν Λήψη δεδοµένων Eικόνα 19.Λήψη δεδοµένων από client Στην εικόνα 19 απεικονίζεται η λήψη των δεδοµένων από τον client. Η δοµή αυτή εξασφαλίζει ασφαλή επικοινωνία µε τον client και ακριβής λήψη των δεδοµένων που θα απεικονιστούν στις ενδείξεις του Server (τα indicators είναι τοποθετηµένα στο αριστερό άκρο του Server). Αρχικά εισάγεται στο υποπρόγραµµα TCP_IP Read ένας σταθερός ακέραιος(η χρησιµότητα του θα επισηµανθεί παρακάτω) και έπειτα γίνεται η ανάγνωση των δεδοµένων που αποστέλλει ο client από το υποπρόγραµµα TCP_IP Read. Η έξοδος του TCP_IP Read είναι ένα string το οποίο εισάγουµε στην συνάρτηση Unflatten From String ( ) η οποία µετατρέπει το string στον τύπο δεδοµένων που έχουµε συνδέσει στον ακροδέκτη type(κάτω αριστερά της συνάρτησης Unflatten From String π.χ. 0, δηλαδή σε ακέραιο για το πρώτο TCP_IP Read,π.χ. 0,0,δεκαδικός για το δεύτερο TCP_IP Read ).Με αυτόν τον τρόπο γίνεται η µεταφορά των δεδοµένων που απεστάλησαν από τον Client στον Server (στην εικόνα 19 µετά το πρώτο TCP_IP Read έχει ενηµερωθεί η ένδειξη display chan2). Η διαδικασία αυτή εφαρµόζεται και για τις υπόλοιπες ενδείξεις όπως φαίνεται στην εικόνα 16,συνδέοντας τους κατάλληλους ακροδέκτες µεταξύ τους(αριθµός αναφοράς της δικτυακής σύνδεσης, error string,connection timeout). 73

75 Σχεδίαση του διακοµιστή(server) του εικονικού παλµογράφου Κεφάλαιο 4 TCP_IP Read.VI Σε αυτό το κεφάλαιο θα γίνει η ανάλυση του TCP_IP Read που εξασφαλίζει την λήψη των δεδοµένων που εστάλησαν από τον client.στην εικόνα 20 δίδεται το block diagram του subvi. Eικόνα 20.Block diagram του TCP_IP READ Στην αρχή της εκτέλεσης του TCP_IP Read παρατηρούµε την κλήση της συνάρτησης TCP Read ( ) που διαβάζει τα δεδοµένα που αποστέλλει ο client. Αυτή η συνάρτηση έχει ως ορίσµατα, τον αριθµό αναφοράς της δικτυακής σύνδεσης, έναν ακέραιο που δηλώνει πόσα bytes θα διαβάσει( 4 ), το χρονικό διάστηµα σε ms( ) στο οποίο θα λαµβάνει δεδοµένα (µετά το πέρας αυτού το διαστήµατος µεταδίδει µήνυµα σφάλµατος µέσω του error string ) και το error string.το πρώτο TCP Read µας δίνει ως έξοδος το string, που περιέχει το µήκος του string δεδοµένων (βλέπε λειτουργία του ΤCP_IP Write),που εστάλη από τον client. Έπειτα γίνεται η ανάγνωση του string δεδοµένων,εφόσον η έξοδος του πρώτου TCP Read έχει µετατραπεί σε ακέραιο µέσω του Type Cast ( ), µε ορίσµατα τα ίδια µε πριν. Στην έξοδο του TCP_IP Read έχουµε τα δεδοµένα που εστάλησαν, τον αριθµό αναφοράς της δικτυακής σύνδεσης και το error string. 74

76 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο 5 Κεφάλαιο 5 Σχεδίαση πελάτη (client) εικονικού εργαστηρίου Στο κεφάλαιο που ακολουθεί γίνεται η ανάλυση, του προγράµµατος που αναπτύχθηκε, για να υλοποιηθεί ο πελάτης του εικονικού εργαστηρίου. Αρχικά γίνεται η παρουσίαση και ο τρόπος χρήσης του front panel του client. Έπειτα γίνεται αναφορά στο block diagram του client και αναλύονται τα επιµέρους VI που σχεδιάσθηκαν για την υλοποίηση του συγκεκριµένου προγράµµατος. 5.1 FRONT PANEL Το front panel του client δεν έχει ουσιαστικές διαφορές µε αυτό του απλού παλµογράφου που παρουσιάσαµε σε προηγούµενο κεφάλαιο όσο και µε αυτό του server. Ωστόσο θα λέγαµε ότι εκεί περιορίζονται και οι µόνες οµοιότητες που έχει τόσο µε τον παλµογράφο όσο και µε το server. Αυτό συµβαίνει γιατί ουσιαστικά αυτό που θέλουµε από τον client είναι να έχει την ίδια «βιτρίνα» µε το server και το VI που θέλουµε να χρησιµοποιήσουµε - γι αυτό και τα όµοια front panels- αλλά τελείως διαφορετικό περιεχόµενο γι αυτό και τα τελείως διαφορετικά block diagrams. 75

77 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο 5 Με απλή παρατήρηση αρκεί για να διαπιστώσει κανείς ότι στο front panel του client έχουν προστεθεί µόνο 4 στοιχεία. Αυτά είναι δύο string controls, ένα digital control και ένα string indicator. Εικόνα 1. το front panel του client IP address Αυτό το string control χρησιµεύει ούτως ώστε ο αποµακρυσµένος χρήστης-client να δηλώνει την ΙΡ διεύθυνση του υπολογιστή στον οποίο είναι εγκατεστηµένο το VI του server. Όπως γίνεται εύκολα αντιληπτό µόνο αν δηλωθεί η σωστή ΙΡ διεύθυνση από τον client γίνεται εφικτή η σύνδεση. Για να επιλέξουµε το string control ακολουθούµε τη διαδροµή: controls palette<string & path<string control Εικόνα 2. το string control του IP address όπως εµφανίζεται στο front panel Password Αυτό το string control χρησιµεύει ούτως ώστε ο αποµακρυσµένος χρήστης-client να δηλώνει το προσωπικό του password. Το password ελέγχεται από το server και ανάλογα 76

78 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο 5 µε το αν αυτό είναι έγκυρο ολοκληρώνει τη σύνδεση ή όχι. Με τη χρήση του password εξασφαλίζουµε ότι ακόµα και αν κάποιος έχει πρόσβαση στο VI του client αν δεν είναι εξουσιοδοτηµένος δε θα µπορέσει να συνδεθεί µε το server. Για να επιλέξουµε το string control ακολουθούµε τη διαδροµή: controls palette<string & path<string control Εικόνα 3. το string control του password όπως εµφανίζεται στο front panel Remote port Αυτό το digital control χρησιµοποιείται για τη δήλωση της θύρας του υπολογιστή µέσω της οποίας θα γίνει η επικοινωνία και η TCP σύνδεση. Να σηµειωθεί ότι δεν είναι δυνατόν να γίνουν δύο διαφορετικές συνδέσεις σε µία θύρα.. Για να επιλέξουµε το digital control ακολουθούµε τη διαδροµή: controls palette<numeric<digital control Εικόνα 4. το digital control του remote port όπως εµφανίζεται στο front panel Password Accepted? Αυτό το string indicator ενηµερώνει τον client αν το password που δήλωσε έγινε δεκτό από το server. Μετά την πληκτρολόγηση του password και ανάλογα µε το αν αυτό έγινε δεκτό ή όχι, εµφανίζονται στο indicator οι λέξεις yes ή no αντίστοιχα. Εικόνα 5. το string indicator του password accepted όπως εµφανίζεται στο front panel 77

79 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο BLOCK DIAGRAM Το δεύτερο µέρος του κεφαλαίου χωρίζεται και αυτό σε δύο µέρη. Στο πρώτο θα παρουσιάσουµε µε αναλυτικό τρόπο το block diagram και τον τρόπο λειτουργίας του έτσι ώστε να την κάνουµε κατανοητή στον αναγνώστη. Στο δεύτερο µέρος θα παραθέσουµε όλα τα έτοιµα functions τα οποία και χρησιµοποιήθηκαν για τη δηµιουργία του block diagram Τρόπος λειτουργίας του Block Diagram Το block diagram του client είναι απλά δοµηµένο και συνεπώς γίνεται εύκολα κατανοητός ο τρόπος λειτουργίας του. Αυτό συµβαίνει γιατί το VI του client δεν υπολογίζει ουσιαστικά τίποτε, παρά µόνο λαµβάνει και στέλνει κάποια δεδοµένα. Αρχικά όπως παρατηρούµε το block diagram φροντίζει να ανοίγει µια TCP σύνδεση µέσω µιας έτοιµης function του LabVIEW της TCP Open Connection. Για να γίνει αυτό θα πρέπει φυσικά πρώτα ο client να έχει δηλώσει µέσω του front panel την κατάλληλη ΙΡ address και θύρα επικοινωνίας. Στη συνέχεια ο έλεγχος του block diagram περνάει στο subvi µε την ονοµασία Send Password το οποίο και θα αναλύσουµε παρακάτω. Η γενική λειτουργία του συγκεκριµένου subvi είναι να στέλνει το password το οποίο έχει πληκτρολογήσει ο χρήστης στον server και να λαµβάνει σαν απάντηση µια Boolean τιµη. Η τιµή αυτή είναι TRUE αν το password είναι έγκυρο και FALSE αν είναι άκυρο. Η τιµή αυτή αποτελεί και την έξοδο του subvi η οποία στη συνέχεια συνδέεται µε τον επιλογέα µιας case structure η οποία περιλαµβάνει δύο cases(true-false). Έτσι όταν έχει γίνει επιτυχως η σύνδεση και ο αποµακρυσµένος χρήστης έχει πληκτρολογήσει ένα έγκυρο password επιλέγεται και εκτελείται το διάγραµµα που βρίσκεται στην case TRUE ενώ όταν πληκτρολογείται λάθος password επιλέγεται και εκτελείται το διάγραµµα της case FALSE. Το διάγραµµα της case FALSE είναι ουσιαστικά κενό. Αυτό συµβαίνει γιατί αφού το password ελέγχθηκε και βρέθηκε άκυρο το µόνο που µένει είναι να κλείσει η σύνδεση. Έτσι το µόνο που διακρίνουµε µέσα στο σώµα της case FALSE είναι τα καλώδια που µεταφέρουν to connection ID και το error. Ωστόσο υπάρχει ακόµα και το terminal του string indicator -Password Accepted- που συνδέεται µε µια string constant που περιέχει την τιµή No. Με αυτόν τον τρόπο ο χρήστης αντιλαµβάνεται -µέσω του front panel- ότι έχει πληκτρολογήσει ένα λανθασµένο password. Σε αντίθεση µε το ουσιαστικά κενό διάγραµµα της case FALSE, το διάγραµµα της case TRUE περιλαµβάνει πολλά στοιχεία µιας και εκεί µεταφέρεται ο έλεγχος του block 78

80 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο 5 diagram όταν έχει ξεκινήσει µια επιτυχής επικοινωνία. Παρατηρούµε ότι όλα βρίσκονται µέσα σε ένα while loop το οποίο ελέγχεται από το stop button του front panel. Αν και µε την πρώτη µατιά το διάγραµµα φαίνεται πολύπλοκο µια δεύτερη προσεκτικότερη µατιά αρκεί για να παρατηρήσει κάποιος ότι ουσιαστικά έχουµε µια αλυσίδα από λήψεις και αποστολές δεδοµένων και πέραν τούτου ουδέν. Η διαδικασία µέσω της οποίας λαµβάνεται και στέλνεται κάποιο δεδοµένο έχει αναλυθεί στο κεφάλαιο του server οπότε περιττεύει η επανάληψη της. Πρέπει να αναφέρουµε όµως τη σειρά µε την οποία γίνεται η λήψη και αποστολή των δεδοµένων. Η σειρά αυτή είναι ίδια µε την σειρά την οποία λαµβάνονται και στέλνονται τα δεδοµένα από τον server µόνο που έχουµε την αντίστροφη λειτουργία. Για παράδειγµα το πρώτο στοιχείο της αλυσίδας είναι τα δεδοµένα του waveform graph τόσο στην αλυσίδα του server όσο και σε αυτή του client. Η διαφορά είναι ότι ο server στέλνει τα δεδοµένα(write) ενώ ο client τα διαβάζει(read). Η συνέχεια της αλυσίδας του client συνεχίζεται µε την αποστολή των δεδοµένων που έχει επιλέξει µέσω των αντίστοιχων controls του panel. Η σειρά αυτή όπως προαναφέραµε είναι ίδια µε τη σειρά µε την οποία ο server λαµβάνει τα αντίστοιχα δεδοµένα. Μέσα στο διάγραµµα της case TRUE υπάρχει και η local variable του string indicator -Password Accepted- που συνδέεται µε µια string constant που περιέχει την τιµή Yes. Με αυτόν τον τρόπο ο χρήστης πληροφορείται -µέσω του front panel- ότι έχει πληκτρολογήσει ένα αποδεκτό password. Κάποιες άλλες λειτουργίες που δεν επηρεάζουν την κυρίως λειτουργία του VI ως client έχουν αναλυθεί στο block diagram του oscilloscope.vi. Τέλος να αναφέρουµε ότι µετά το case structure ακολουθεί το function TCP Close Connection το οποίο και χρησιµεύει στο κλείσιµο της σύνδεσης. Ακολουθεί το General Error Handler το οποίο αν έχει προκύψει κάποιο σφάλµα κατά τη λειτουργία, επιστρέφει µια περιγραφή του και ενίοτε εµφανίζει ένα dialog box Simple Provide Password.VI Εικόνa 7. το block diagram του Simple Provide Password 79

81 Σχεδίαση του πελάτη(client) του εικονικού παλµογράφου Κεφάλαιο 5 Το VI αυτό χρησιµεύει στην απόστολή του password που πληκτρολογεί ο χρήστης client στον server και λαµβάνει µια Boolean τιµή σαν επιστροφή. Ο χρήστης εισάγει το password στο front panel. Κατόπιν το string του password περνάει µέσα από τη function string length η οποία επιστρέφει τον αριθµό των bytes του string. Ο αριθµός αυτός περνάει µέσα από τη function type cast µετατρέπεται σε string και οδηγείται σε ένα TCP Write όπως και το string του password. Αφού σταλούν αυτά τα δύο δεδοµένα στον server τότε το VI διαβάζει από το αντίστοιχο VI που βρίσκεται στο server µια Boolean τιµή η οποία είναι και η απάντηση αν το password του client έγινε δεκτό. Η τιµή αυτή φυσικά έχει σταλεί σε µορφή string γι αυτό και χρειάζεται να περάσει µέσα από ακόµα ένα type cast στου οποίου την είσοδο type έχουµε συνδέσει µια Boolean constant. Με αυτόν τον τρόπο επαναφέρουµε την πληροφορία στον τύπο δεδοµένων που στάλθηκε. 80

82 Ανακεφαλαίωση. ΑΝΑΚΕΦΑΛΑΙΩΣΗ I. Το θέµα της διπλωµατικής µας εργασίας ήταν η προσέγγιση, σχεδίαση και υλοποίηση ενός εικονικού εργαστηρίου για µετρήσεις παλµογράφου εξ αποστάσεως. Πρέπει να γίνει η υποσηµείωση ότι η εργασία άρχισε από µηδενική βάση µιας και δεν υπήρχε κάποια παρόµοια εργασία ή αναφορά. II. Στη διπλωµατική εργασία σχεδιάσθηκε και υλοποιήθηκε ένα εικονικό εργαστήριο για µετρήσεις παλµογράφου από απόσταση αφού πρώτα χρειάστηκε εξοικείωση και εκµάθηση του περιβάλλοντος LabVIEW και της γλώσσας προγραµµατισµού G. III. Λόγω διαφόρων παραγόντων που αναλύθηκαν στο Κεφάλαιο 1 το εικονικό εργαστήριο υλοποιήθηκε µε έναν εικονικό παλµογράφο τον οποίο χρειάστηκε να δηµιουργήσουµε. IV. Έχοντας ως βάση τον εικονικό παλµογράφο δύο καναλιών που δηµιουργήσαµε, προχωρήσαµε στην υλοποίηση ενός διακοµιστή (server) και ενός πελάτη(client) η επικοινωνία µεταξύ των οποίων επιτυγχάνεται µέσω δικτύου και του πρωτοκόλλου TCP/IP. V. όθηκε ιδιαίτερη έµφαση ώστε να γίνει άµεσα και εύκολα κατανοητή η φιλοσοφία και οι βασικές αρχές της υλοποίησης ενός εικονικού εργαστηρίου. Συνεπώς η επέκτασή του από εδώ και πέρα σε ένα εργαστήριο µε πραγµατικά όργανα είναι ζήτηµα κατάλληλης υλικοτεχνικής υποδοµής. VI. Ελπίζουµε ότι η διπλωµατική µας εργασία µπορεί να αποτελέσει ένα αρχικό υπόβαθρο και µια πολύ καλή αναφορά για επόµενες παρεµφερείς εργασίες πράγµα πολύ σηµαντικό µιας και στην περίπτωση µας δεν υπήρχε κάτι ανάλογο και χρειάστηκε να ξεκινήσουµε από µηδενική βάση. VII. Το πακέτο LabVIEW δίνει πραγµατικά πολλές δυνατότητες και εφαρµογές σε ένα µηχανικό και αποτελεί ένα πολύ καλό εργαλείο ιδιαίτερα στον τοµέα των µετρήσεων. Οι δυνατότητες αυτές επεκτείνονται σηµαντικά µε την έκδοση 7 µε την οποία δυστυχώς δεν είχαµε τη δυνατότητα να εργαστούµε. Έχει ιδιαίτερη αξία να γνωρίσει κάποιος την ιδιαίτερη και µοναδική φιλοσοφία προγραµµατισµού του LabVIEW καθώς και το πολύ φιλικό προς το χρήστη περιβάλλον του. 81

83 Βιβλιογραφία. ΒΙΒΛΙΟΓΡΑΦΙΑ BridgeVIEW and LabVIEW-G Programming Reference Manual The LabVIEW Student Edition Users Guide LabVIEW Basics Course Manual 82

84 Προσάρτηµα. Π.Α. Ανάλυση συναρτήσεων που δοµούν το ζεύγος client-server Σε αυτό το κεφάλαιο θα γίνει η ανάλυση των συναρτήσεων του LabVIEW που χρησιµοποιήθηκαν για την υλοποίηση του Server και του Client.Η συναρτήσεις θα διαχωριστούν σε λογικές συναρτήσεις,συναρτήσεις σύγκρισης, συναρτήσεις πινάκων, συναρτήσεις TCP IP και διάφορες συναρτήσεις. a. Λογικές συναρτήσεις Η ανάλυση των συναρτήσεων Not, And, Εqual και Or έγιναν στο κεφάλαιο Greater or Equal To 0? Επιστρέφει την τιµή true αν ο x είναι µεγαλύτερος η ίσος µε το 0,αλλιώς επιστρέφει την τιµή false.το επιλέγουµε ως εξής:all Functions palette<comparison<greater Or Equal To 0? b. TCP IP συναρτήσεις TCP Listen.VI. ηµιουργεί µία κατάσταση αναµονής για µία αποδεκτή δικτυακή TCP επικοινωνία.το επιλέγουµε ως εξής:all Functions palette<communication < TCP<TCP Listen.VI. Στα προγράµµατα χρησιµοποιήθηκαν οι ακροδέκτες εισόδου port και timeout σε ms και οι ακροδέκτες εξόδου connection ID και error out. Η είσοδος port είναι ο αριθµός της θύρας στην οποία θα αναµένει την επικοινωνία το VI. O ακροδέκτης timeout είναι το χρονικό διάστηµα µέσα στο οποίο το VI θα αναµένει επικοινωνία. Μετά το πέρας αυτού του 83

85 Προσάρτηµα. διαστήµατος επιστρέφει µήνυµα σφάλµατος το VI. Η έξοδος connection ID είναι ο αριθµός αναφοράς της δικτυακής επικοινωνίας που χαρακτηρίζει µονοσήµαντα την συγκεκριµένη TCP επικοινωνία και χρησιµοποιείται ο αριθµός, αυτός ως αναφορά στη συγκεκριµένη επικοινωνία, σε επόµενες κλήσεις άλλων VI. Τέλος χρησιµοποιείται ο ακροδέκτης error out που επιστρέφει ένα string που περιέχει πληροφορίες για τυχόν σφάλµατα που προκύπτουν κατά την εκτέλεση.του συγκεκριµένου VI. Το string αποτελείται από µία λογική τιµή, έναν ακέραιο αριθµό και από ένα σύνολο χαρακτήρων. Η λογική τιµή είναι true σε περίπτωση εµφάνιση σφάλµατος, αλλιώς είναι false. Ο αριθµός προσδιορίζει το σφάλµα που προέκυψε και είναι µη µηδενικός, ενώ σε περίπτωση µη εµφανίσεις σφάλµατος είναι µηδέν. Οι χαρακτήρες προσδιορίζουν την θέση όπου εµφανίστηκε το σφάλµα. TCP Read.VI Το συγκεκριµένο VI διαβάζει συγκεκριµένο πλήθος bytes από την TCP δικτυακή επικοινωνία και επιστρέφει το αποτέλεσµα στον ακροδέκτη data out. Το επιλέγουµε ως εξής:all Functions palette<communication<tcp<tcp Read.VI. Χρησιµοποιήθηκαν οι είσοδοι connection ID, bytes to read, timeout ms error in και όλες οι έξοδοι του. Οι ακροδέκτες connection ID, timeout ms και error out έχουν ίδιες λειτουργίες µε τους αντίστοιχους ακροδέκτες του TCP Listen.VI και η ανάλυση τους έγινε παραπάνω. Η είσοδος bytes to read δέχεται έναν ακέραιο αριθµό που προσδιορίζει τα bytes που θα διαβάσει το συγκεκριµένο VI. Η είσοδος error in είναι ένα string όµοιο µε το string του TCP Listen.VI. Περιέχει το σφάλµα που µπορεί να έχει προκύψει πριν την εκτέλεση του TCP Read.VI και το µεταβιβάζει αµέσως στο error ουt χωρίς να εκτελέσει την λειτουργία του. Αν το error in δεν περιέχει σφάλµα εκτελεί κανονικά το πρόγραµµα του και µεταβιβάζει στο error out την τιµή του no error. Σε περίπτωση που εµφανιστεί σφάλµα κατά την εκτελέσει του TCP Read.VI µεταβιβάζει στο error out to σφάλµα του. Ό ακροδέκτης data out περιέχει τα δεδοµένα που έχει διαβάσει το VI. 84

86 Προσάρτηµα. TCP Write.VI Γράφει δεδοµένα σε µία TCP δικτυακή επικοινωνία. Το επιλέγουµε ως εξής: All Functions palette<communication<tcp< TCP Write.VI. Χρησιµοποιήθηκαν οι είσοδοι connection ID, bytes to read, timeout ms error in και όλες οι έξοδοι του. O µόνοι ακροδέκτες που διαφέρει είναι η έξοδος bytes written και η είσοδος data in. Ο ακροδέκτης data in περιέχει τα δεδοµένα που θα γραφούν και ο ακροδέκτης bytes written τον αριθµό τον bytes που γράφτηκαν. c. Συναρτήσεις πινάκων Search 1D Array Με χρήση της συνάρτησης αυτής γίνεται αναζήτηση στον µονοδιάστατο πίνακα 1D Array του στοιχείου element. Το επιλέγουµε ως εξής: All Functions palette<array<search 1D Array. Ο ακροδέκτης start index προσδιορίζει από ποια θέση του πίνακα θα ξεκινήσει η αναζητήσει. Η έξοδος index of element περιέχει την θέση του πίνακα όπου βρέθηκε το στοιχείο, ενώ σε περίπτωση αποτυχίας έχει την τιµή

87 Προσάρτηµα. d. ιάφορες συναρτήσεις Unflatten From String Μετατρέπει ένα δυαδικό string στον τύπο δεδοµένων που έχει εισαχθεί στον ακροδέκτη type. Το επιλέγουµε ως εξής:all Functions palette<advanced<data Manipulation<Unflatten From String. To err είναι True σε περίπτωση που εµφανιστεί σφάλµα κατά την µετατροπή. Flatten To String Mετατρέπει την είσοδο σε ένα δυαδικό string. To type string είναι µία αναφορά στον τύπο δεδοµένων της εισόδου. Το επιλέγουµε ως εξής:all Functions palette<advanced<data Manipulation<Flatten To String. Type Cast Μετατρέπει την είσοδο στον τύπο δεδοµένων που προσδιορίζει ο ακροδέκτης type. Το επιλέγουµε ως εξής:all Functions palette<advanced<data Manipulation<Type cast. 86

88 Προσάρτηµα. Unbundle ιαχωρίζει τα στοιχεία που αποτελούν ένα cluster.με την σύνδεση του ακροδέκτη cluster αυτόµατα η συνάρτηση εµφανίζει τα στοιχεία του cluster στις θέσης element 0..n-1. Το επιλέγουµε ως εξής:all Functions palette<cluster<unbundle. String Length Επιστρέφει τον αριθµό των χαρακτήρων του string που είναι στην είσοδο της συνάρτησης General Error Handler.VI Εάν ένα λάθος εµφανιστεί, αυτό το VI επιστρέφει µια περιγραφή του λάθους και εµφανίζει προαιρετικά ένα πλαίσιο διαλόγου. 87

"ΑΠΟΜΑΚΡΥΣΜΕΝΟΣ ΕΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΡΗΣΗΣ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ TCP/IP"

ΑΠΟΜΑΚΡΥΣΜΕΝΟΣ ΕΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΡΗΣΗΣ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ TCP/IP ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ Τ.Ε.Ι ΠΕΙΡΑΙΑ "ΑΠΟΜΑΚΡΥΣΜΕΝΟΣ ΕΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΡΗΣΗΣ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ TCP/IP" ΓΕΩΡΓΙΟΥ-ΜΕΪΜΑΡΗΣ ΝΙΚΟΣ ΠΥΡΟΜΑΛΗΣ ΔΗΜΗΤΡΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ

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

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

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

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

Χρήση λογισμικού Lab view για μετρήσεις με παλμογράφο μέσω διαδικτύου

Χρήση λογισμικού Lab view για μετρήσεις με παλμογράφο μέσω διαδικτύου Χρήση λογισμικού Lab view για μετρήσεις με παλμογράφο μέσω διαδικτύου The use of the software lab view for measurements with oscilloscope via the net. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΚΟΥΚΟΣ ΠΑΝΑΓΙΩΤΗΣ Α.Ε.Μ. :3867 ΥΠΕΥΘΗΝΟΣ

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

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

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

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

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram.

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram. Η δοµή Formula Node 1. Η δοµή Formula Node επιτρέπει την εισαγωγή αναλυτικών σχέσεων στο Block Diagram µε πληκτρολόγηση, αποφεύγοντας έτσι την εισαγωγή των εικονίδιων συναρτήσεων απλών αλγεβρικών πράξεων

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

Σχήµα 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

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

ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙ ΕΥΤΙΚΟΥ ΥΛΙΚΟΥ (ΠΡΟΣΟΜΟΙΩΣΗ) ΓΙΑ ΤΗΝ ΜΕΛΕΤΗ ΤΗΣ ΕΝΙΣΧΥΤΙΚΗΣ ΒΑΘΜΙ ΑΣ ΕΝΟΣ ΤΡΑΝΖΙΣΤΟΡ ΣΕ ΣΥΝ ΕΣΜΟΛΟΓΙΑ ΚΟΙΝΟΥ ΕΚΠΟΜΠΟΥ

ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙ ΕΥΤΙΚΟΥ ΥΛΙΚΟΥ (ΠΡΟΣΟΜΟΙΩΣΗ) ΓΙΑ ΤΗΝ ΜΕΛΕΤΗ ΤΗΣ ΕΝΙΣΧΥΤΙΚΗΣ ΒΑΘΜΙ ΑΣ ΕΝΟΣ ΤΡΑΝΖΙΣΤΟΡ ΣΕ ΣΥΝ ΕΣΜΟΛΟΓΙΑ ΚΟΙΝΟΥ ΕΚΠΟΜΠΟΥ 2013 ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΤΕΙ ΚΡΗΤΗΣ ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙ ΕΥΤΙΚΟΥ ΥΛΙΚΟΥ (ΠΡΟΣΟΜΟΙΩΣΗ) ΓΙΑ ΤΗΝ ΜΕΛΕΤΗ ΤΗΣ ΕΝΙΣΧΥΤΙΚΗΣ ΒΑΘΜΙ ΑΣ ΕΝΟΣ ΤΡΑΝΖΙΣΤΟΡ

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

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

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

ΕΚΠΟΝΗΣΗ ΚΑΤΑΛΛΗΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΤΩΝ ΥΝΑΜΕΩΝ ΚΟΠΗΣ ΜΕ ΧΡΗΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ LABVIEW

ΕΚΠΟΝΗΣΗ ΚΑΤΑΛΛΗΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΤΩΝ ΥΝΑΜΕΩΝ ΚΟΠΗΣ ΜΕ ΧΡΗΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ LABVIEW ΕΚΠΟΝΗΣΗ ΚΑΤΑΛΛΗΛΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕΤΡΗΣΗΣ ΤΩΝ ΥΝΑΜΕΩΝ ΚΟΠΗΣ ΜΕ ΧΡΗΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ LABVIEW Labview ονοµάζεται ο γραφικός προγραµµατισµός που µπορεί να εφαρµοστεί για την δηµιουργία προγραµµάτων σε Block

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

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

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

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

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

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

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

Σχήµα 2.1: Εισαγωγή array στο Front Panel.

Σχήµα 2.1: Εισαγωγή array στο Front Panel. Arrays (Πίνακες) 1. Στο LAbVIEW η εισαγωγή πινάκων γίνεται µε τα arrays. Για να εισάγουµε ένα array στο Front Panel κάνουµε δεξί κλικ σε αυτό και επιλέγουµε την εντολή «Array» από το µενού «Array, Matrix

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

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων ΣΥΣΤΗΜΑΤΑ SCADA Μέρος 5 Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων 1 Αναφορές 1. Taking Your Measurements to the Web with Lab VIEW : Ενδιαφέρον και περιεκτικό άρθρο από την ιστοσελίδα της

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

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

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

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

Atlantis - Νέο user interface

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

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

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

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

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

Μέρος 3. Εισαγωγή στη Λήψη Δεδομένων (DAQ)

Μέρος 3. Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3α ΠΕΡΙΕΧΟΜΕΝΑ 1. Προσθήκη Αναλογικών Εισόδων σε ένα Εικονικό Όργανο Το Παράδειγμα του Liquid Level Measurement.vi 2. Μέτρηση Θερμοκρασίας με Χρήση του Αισθητήρα

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

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

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

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

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων ΣΥΣΤΗΜΑΤΑ SCADA Μέρος 5 Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων 1 Αναφορές 1. Taking Your Measurements to the Web with Lab VIEW : Ενδιαφέρον και περιεκτικό άρθρο από την ιστοσελίδα της

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

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

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop. Η δοµή «Shift register» 1. Η δοµή «Shift register» εισάγεται στο βρόγχο for-loop αλλά και σε άλλους βρόγχους που θα δούµε στη συνέχεια, όπως ο βρόγχος «While loop». Ο τρόπος εισαγωγής και λειτουργίας της

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

Καλαντζόπουλος Αθανάσιος

Καλαντζόπουλος Αθανάσιος Σχεδίαση και Υλοποίηση Ολοκληρωµένου Συστήµατος µε DSPs για Λήψη, Επεξεργασία και ιαχείριση Εικόνας Ειδική Επιστηµονική Εργασία Καλαντζόπουλος Αθανάσιος Αντικείµενο µελέτης Οσχεδιασµός και η υλοποίηση

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

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

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

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

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων Τι θα μάθουμε σήμερα: Να αναφέρουμε τα κύρια χαρακτηριστικά ενός Γραφικού Περιβάλλοντος Επικοινωνίας Να εξηγούμε τη χρήση των κουμπιών του

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

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

Απομακρυσμένη πρόσβαση μέσω διαδικτύου σε ηλεκτρονικό κύκλωμα με την χρήση LabVIEW ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ Απομακρυσμένη πρόσβαση μέσω διαδικτύου σε ηλεκτρονικό κύκλωμα με την χρήση LabVIEW Τμήμα ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ Σπουδαστής ΚΟΝΤΥΛΗΣ ΟΝΕΤΟΡ Εισηγητής

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

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΒΙΟΜΗΧΑΝΙΚΟΙ ΑΥΤΟΜΑΤΙΣΜΟΙ Εφαρµογές Προγραµµατιζόµενων Λογικών Ελεγκτών-Εργαστήριο Εργαστηριακός Συνεργάτης: Βέλλος Κων/νος Ασκήσεις 1-2 Εισαγωγή

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

Εισαγωγή σε πληροφοριακά μετρητικά συστήματα

Εισαγωγή σε πληροφοριακά μετρητικά συστήματα Εισαγωγή σε πληροφοριακά μετρητικά συστήματα 1.1 Εισαγωγή Προγραμματιστικά μετρητικά συστήματα όπως το LabView (Laboratory Virtual Instrument Engineering Workbench) είναι εργαλεία τα οποία μπορεί να χρησιμοποιηθούν

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

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

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

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ, Εισαγωγή στο MATLAB Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr Εγκατάσταση του Matlab Διανέμεται ελεύθερα στα μέλη του ΕΚΠΑ το λογισμικό MATLAB με 75 ταυτόχρονες (concurrent) άδειες χρήσης. Μπορείτε να

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ http://h2056wwwhp.com/portal/site/hpsc/template.page/public/psi... 1 of 5 1/7/2014 2:09 μμ Για το σπίτι Για την επιχείρηση Υποστήριξη Είσοδος Εγγραφή Βοήθεια ιστότοπου HP Color LaserJet 3600 Printer series

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

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

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

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

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

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

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

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση)

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Τεχνικά Εγχειρίδια > Συσκευές Συσκευές Barcode scanner Posiflex CD-3830-1D Για για να κατεβάσετε το αρχείο με τις οδηγίες του Barcode

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

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 CubisLITE Client Οδηγίες Χρήσεως Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 1 ΠΕΡΙΕΧΟΜΕΝΑ Γενικά 1. Τι είναι ο CubisLITE Server 2. Τι είναι ο

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

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1 Περιγραφή του βασικού παραθύρου του Cubase SE3 Εικόνα 1 Transport panel Προετοιμασία και εκτέλεση ηχογράφησης σε ένα κανάλι MIDI και Quantize 1. Ανοίγουμε το Cubase, πηγαίνουμε στο μενού File και επιλέγουμε

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

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES 2. ΠΑΤΗΣΤΕ EDIT ΑΛΛΑΞΤΕ ΤΟ ΟΝΟΜΑ COMPANY CLOSE 3. ΠΑΤΗΣΤΕ NEW (CREATE NEW)

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

Computing and Information Systems Service. Windows XP

Computing and Information Systems Service. Windows XP Windows XP Όλοι οι υπολογιστές ανοικτής πρόσβασης στο Frederick χρησιµοποιούν Windows (2000 και XP), ένα λειτουργικό σύστηµα µε Γραφικό Περιβάλλον Εργασίας (Graphical User Interface), το οποίο χρησιµοποιεί

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

Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 β

Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 β Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 β Προσθήκη αναλογικών εισόδων (AI) και αναλογικών εξόδων (AO) σε ένα εικονικό όργανο Το παράδειγμα του Temp Monitoring & Fan Control.vi Μέρος 3β

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

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Σηµαντικές παρατηρήσεις σχετικά µε το backround: ΠΕΡΙΓΡΑΦΗ ΛΕΙΤΟΥΡΓΙΑΣ SOFTWARE SAE10 Το software της αναγγελίας ορόφων είναι απαραίτητο για τη δηµιουργία των USB flash που θα χρησιµοποιηθούν στην πλακέτα SAE10. Προσφέρει ταχύτητα, ευελιξία και πολλές

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

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

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

Atlantis - Νέο user interface

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

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

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0 Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών Τµήµα Μεθοδολογίας, Ιστορίας & Θεωρίας της Επιστήµης ιαπανεπιστηµιακό Πρόγραµµα Μεταπτυχιακών Σπουδών «Βασική και Εφαρµοσµένη Γνωσιακή Επιστήµη» Σύντοµο Εγχειρίδιο

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

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

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

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

Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler

Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler ΣΚΟΠΟΙ Σε αυτήν την άσκηση: Θα φτιάξουμε μικρά ασύρματα δίκτυα Θα επιλέξουμε ποια δεδομένα θα συλλέξουμε Θα τρέξουμε την προσομείωση Θα αναλύσουμε

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ T.E.

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ T.E. AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ T.E. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εκμάθηση LabVIEW μέσω ερωταπαντήσεων Δημήτριος Α. Μανιάτης Υπεύθυνη καθηγήτρια

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

2. ΞΕΚΙΝΩΝΤΑΣ ΤΟ PSPICE

2. ΞΕΚΙΝΩΝΤΑΣ ΤΟ PSPICE 2. ΞΕΚΙΝΩΝΤΑΣ ΤΟ PSPICE Για την εκκίνηση του πακέτου εξοµοίωσης PSpice 9.1. (Student Version) είναι απαραίτητη η εκτέλεση του αρχείου Capture.exe. Αυτό κατά κανόνα βρίσκεται στο φάκελο όπου είναι εγκατεστηµένο

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

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

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

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

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Γ. Νικολακόπουλος, Μ. Κουνδουράκης, Α. Τζες και Γ. Γεωργούλας Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων

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

ηµιουργία Αρχείου Πρότζεκτ (.qpf)

ηµιουργία Αρχείου Πρότζεκτ (.qpf) Εργαστήριο Ψηφιακών Συστηµάτων ΗΜΥ211 Εισαγωγή στο λογισµικό Quartus II v13 web edition 1 ηµιουργία Αρχείου Πρότζεκτ (.qpf) Με την εκκίνηση της εφαρµογής Quartus II v13.0 SP1 web edition, επιλέξτε File

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

2 Ο Ε.Κ.Φ.Ε. ΗΡΑΚΛΕΙΟΥ. Οδηγίες χρήσης PDFCreator

2 Ο Ε.Κ.Φ.Ε. ΗΡΑΚΛΕΙΟΥ. Οδηγίες χρήσης PDFCreator 2 Ο Ε.Κ.Φ.Ε. ΗΡΑΚΛΕΙΟΥ Οδηγίες χρήσης PDFCreator Ηράκλειο 2008 Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Σηµείωµα του συντάκτη... 2 Στοιχεία δηµιουργού του υλικού... 3 Εισαγωγή... 3 Τι είναι... 4 Που θα το βρείτε... 4 Τρόπος

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

Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση

Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση ΣΥΝ ΕΣΗ ΜΕ ΤΟ ΙΚΤΥΟ Ε ΟΜΕΝΩΝ ΜΕΣΩ MODEM Το Κέντρο Λειτουργίας και ιαχείρισης ικτύου του Πανεπιστηµίου Αθηνών παρέχει τη δυνατότητα Dial-up σύνδεσης

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

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ Εγκατάσταση και λειτουργία message editor: Αρχικά τοποθετούµε το cd στον υπολογιστή και εµφανίζεται η οθόνη εγκατάστασης Στην περίπτωση που δεν εµφανιστεί αυτόµατα

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

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

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

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

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Τεχνική Σχεδίαση ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τεχνική Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΟ 4 ΣΧΕΔΙΑΣΗ ΒΑΣΙΚΟΥ ΚΥΚΛΏΜΑΤΟΣ ΜΕ ΧΡΗΣΗ ΤΟΥ ORCAD CAPTURE ΘΕΟΔΩΡΟΣ ΓΚΑΝΕΤΣΟΣ Τμήμα Μηχ. Αυτοματισμού

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

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

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

2. Κάντε κλικ στο παράθυρο όψης Top για να το ενεργοποιήσετε, ώστε να σχεδιάσετε το πάτωµα του δωµατίου.

2. Κάντε κλικ στο παράθυρο όψης Top για να το ενεργοποιήσετε, ώστε να σχεδιάσετε το πάτωµα του δωµατίου. Άσκηση 7 Σύνθετα Αντικείµενα Στόχος της άσκησης Στόχος της παρούσας άσκησης είναι η εξοικείωση µε τη δηµιουργία σύνθετων αντικειµένων που δηµιουργούνται από τον συνδυασµό δύο ή περισσότερων τρισδιάστατων

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

Α)Εγκατάσταση του προγράµµατος

Α)Εγκατάσταση του προγράµµατος Α)Εγκατάσταση του προγράµµατος 1)Βασική προυπόθεση για την εγκατάσταση της εφαρµογής σε pda που έχουν λειτουργικό σύστηµα windows mobile είναι η εγκατάσταση στον τοπικό υπολογιστή µας του προγράµµατος

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

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer) ΔΙΑΔΙΚΤΥΟ (INTERNET) ΣΤΟΧΟΙ: 1. Άνοιγμα Και Κλείσιμο Μιας Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer) 2. Παρουσίαση Μιας Ιστοσελίδας 3. Διακοπή Και Ανανέωση Μιας Ιστοσελίδας (Stop and Refresh) 4.

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

Epsilon Net PYLON Platform

Epsilon Net PYLON Platform Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης

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

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ: ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου (Microsoft Word) 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου 3. Δημιουργία Νέου Εγγράφου 4. Δημιουργία Εγγράφου Βασισμένο Σε Πρότυπο 5. Κλείσιμο

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

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6.

SC : Αλλαγή είδους (Sales Change)- Αριθµός Πεδίων 6. D.P.S. 710 DRIVER Με την εγκατάσταση του οδηγού D.P.S 710 εγκαθίστανται και οι usb drivers στο φάκελο C:\DPS710_FISCAL\DRIVERS Συνδέστε την ταµειακή και στο παράθυρο που θα εµφανίσουν τα windows για την

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

Περιεχόµενα 1. Εγκατάσταση 2. Εισαγωγή 3. Σύνδεση 4. Ρυθµίσεις 2.1 Περιοχή εργασιών και πλοήγησης 2.2 Περιοχή απεικόνισης "Λεπτοµέρειες" 2.3 Περιοχή απεικόνισης "Στατιστικά" 4.1 Προφίλ 4.2 ίκτυο 4.2.1

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Microsoft Excel 2002... 9 Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Κεφάλαιο 3: Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων...

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

RMCLab. Remote Monitored and Controlled Laboratory

RMCLab. Remote Monitored and Controlled Laboratory RMCLab Remote Monitored and Controlled Laboratory Help with Microsoft Windows XP and Norton Internet Security Firewalls Ακολούθως δίνονται αναλυτικές οδηγίες για την σωστή διαχείριση του Firewall των Windows

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

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

που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο

που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο Το παρόν εκπονήθηκε στο πλαίσιο του Υποέργου 13 «Προσαρµογή Λογισµικού-Φάση ΙΙΙ» της Πράξης «Επαγγελµατικό λογισµικό στην ΤΕΕ: επιµόρφωση και εφαρµογή» (Γ ΚΠΣ, ΕΠΕΑΕΚ, Μέτρο 2.3, Ενέργεια 2.3.2) που συγχρηµατοδοτείται

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

Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του

Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του Η εφαρμογή Daslight Version 4, είναι διαθέσιμη για PC & Mac. Συνιστούμε να έχετε πάντα την τελευταία και πιο ενημερωμένη έκδοση λογισμικού από

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

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ Οδηγίες EQL Desktop (rev.1.0.23) Πρόγραμμα για τον Προγραμματισμό των Μηχανών D.P.S. S-800, Open Cash και S-710 μέσω Ηλεκτρονικού Υπολογιστή ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB Εγκατάσταση ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

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

0 Οδηγίες σύνδεσης στο Π.Σ. - Λειτουργικό Σύστηµα Win XP 1 2 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή... 4 2. Σύνδεση του netmod µε τον Η/Υ... 5 3. Εγκατάσταση του netmod σε windows XP... 8 4 Οδηγίες σύνδεσης

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

Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων:

Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων: Κεφάλαιο 5 Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων: Επεξεργασία κειμένου. Δημιουργία και επεξεργασία γραφικών παραστάσεων. Δημιουργία και επεξεργασία

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

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP Περιεχόµενα Τι είναι η υπηρεσία FTP;...2 FTP από τη γραµµή εντολών των Windows...2 Το πρόγραµµα WS-FTP...4 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

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

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης Γρήγορη αναφορά Αντιγραφή Δημιουργία αντιγράφων Γρήγορη δημιουργία αντιγράφου 3 Στον πίνακα ελέγχου του εκτυπωτή πατήστε το κουμπί αντίγραφο 4 Εάν τοποθετήσατε το έγγραφο στη γυάλινη επιφάνεια σάρωσης

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

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

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

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

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!!

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!! ΕΘΝΙΚΟΜΕΤΣΟΒΙΟΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΦΑΙΝΟΜΕΝΑΜΕΤΑΦΟΡΑΣΙ ΥΠΟΛΟΓΙΣΤΙΚΟΕΡΓΑΣΤΗΡΙΟ COMSOLMULTIPHYSICS ΠΑΡΑΔΕΙΓΜΑ) Ο :) ΜΕΤΑΦΟΡΑ)ΘΕΡΜΟΤΗΤΑΣ)ΣΕ)ΑΓΩΓΟ) ΚΥΚΛΙΚΗΣ)ΔΙΑΤΟΜΗΣ) ΕΠΙΜΕΛΕΙΑ: ΕΛΕΝΗΚΟΡΩΝΑΚΗ

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

Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) σελ. 1

Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) σελ. 1 Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) Περιεχόµενα Εισαγωγή...2 Ελάχιστος εξοπλισµός...2 ΜΕΡΟΣ Α : ΗΜΙΟΥΡΓΙΑ ΣΥΝ ΕΣΗΣ ΣΤΑ WINDOWS 98...3 1. ΕΛΕΓΧΟΣ MODEM...3 1.α. ΕΛΕΓΧΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ...3

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

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

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

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

Σχήµα 7.1: Εισαγωγή της δοµής stacked sequence στο Block Diagram.

Σχήµα 7.1: Εισαγωγή της δοµής stacked sequence στο Block Diagram. Η δοµή Stacked Sequence 1. Η δοµή stacked sequence χρησιµοποιείται στο Block Diagram προκειµένου να οργανώσουµε τις διαδικασίες που εισάγουµε σε αυτό σε µία σειρά διαδοχικών καρέ, κάνοντας έτσι τη διαχείριση

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC 1) Πατάμε δεξί κλικ Μενού 2) Όνομα Χρήστη βάζουμε «admin» 3) Κωδικός Πρόσβασης το αφήνουμε «κενό» 4) Πατάμε OK και μπαίνουμε στο Μενού Είσοδος στο μενού Στην πρώτη εκκίνηση μετά

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

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

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

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

Packet Tracer. ηµιουργία τοπολογίας Βήµα 1: Εκτελούµε το Packet Tracer

Packet Tracer. ηµιουργία τοπολογίας Βήµα 1: Εκτελούµε το Packet Tracer Packet Tracer Το Packet Tracer είναι ένα πρόγραµµα που προσοµοιώνει τη λειτουργία ενός δικτύου και των πρωτοκόλλων µε τα οποία λειτουργεί. Αναπτύχθηκε από τον Dennis Frezzo και την οµάδα του στη Cisco

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

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP ιαδικασία δικτύωσης PC µέσω modem Στις επόµενες παραγράφους περιγράφεται αναλυτικά η διαδικασία που χρειάζεται να ακολουθήσετε προκειµένου

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

Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 γ

Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 γ Συστήματα SCADA Εισαγωγή στη Λήψη Δεδομένων (DAQ) Μέρος 3 γ Μέτρηση Θερμοκρασίας και Σχετικής Υγρασιας με Χρήση Μεταδότη 4-20mA Το Παράδειγμα του Εικονικού Οργάνου Temp&RH Acquisition&Graph. vi 1 Δυο λόγια

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

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

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

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

η σύνθεση ενός υπολογιστή

η σύνθεση ενός υπολογιστή ιδακτικό υλικό µαθητή η σύνθεση ενός υπολογιστή Αν παρατηρήσουµε έναν υπολογιστή βλέπουµε ότι αποτελείται από τα ακόλουθα µέρη: Οθόνη Μονάδα συστήµατος Ποντίκι Πληκτρολόγιο τη µονάδα συστήµατος, όπου βρίσκονται

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

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών ΕΡΓΑΣΤΗΡΙΟ 2 ο : Εισαγωγή στα Γεωγραφικά Συστήματα Πληροφοριών ArcMap (2/2) Μέρος 1: (συνέχεια από τα προηγούμενα) Κάνουμε κλικ το εικονίδιο Add Data στην γραμμή εργαλείων standard και επιλέγουμε το αρχείο/τα

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

AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ T.E. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ LabView and Vi Server Connectibillity Μισύρης Χριστόδουλος Στρατής Αλβέρτος Εισηγητής:

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

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή)

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή) ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility (διαδικτυακή εφαρμογή) Αύγουστος 2011 ΠΕΡΙΕΧΟΜΕΝΑ 1. Πρόσβαση

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

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

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

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

SIMATIC MANAGER SIMATIC MANAGER

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

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

ζωγραφίζοντας µε τον υπολογιστή

ζωγραφίζοντας µε τον υπολογιστή ζωγραφίζοντας µε τον υπολογιστή Μια από τις εργασίες που µπορούµε να κάνουµε µε τον υπολογιστή είναι και η ζωγραφική. Για να γίνει όµως αυτό πρέπει ο υπολογιστής να είναι εφοδιασµένος µε το κατάλληλο πρόγραµµα.

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

Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7

Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7 Εγχειρίδιο Χρήσης Ενημέρωσης Λογισμικού Bluetooth Windows 7 Ισχύει για προϊόντα από το 2012 και μετά CDE-13xBT & CDE-W235BT & CDA-137BTi Αυτό το εγχειρίδιο περιγράφει τα βήματα που απαιτούνται για την

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

Το teachers Web είναι µία ΝΕΑ Υπηρεσία που υποστηρίζεται από την Οµάδα Υποστήριξης του Πληροφοριακού Συστήµατος Γραµµατειών. Η υπηρεσία Teachers Web, προσφέρει στους διδάσκοντες χρήστες του συστήµατος

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε

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

PortSip Softphone. Ελληνικά Ι English 1/20

PortSip Softphone. Ελληνικά Ι English 1/20 PortSip Softphone Ελληνικά Ι English 1/20 1. Περιεχόμενα 2. Εγκατάσταση σε Smartphone & Tablet (Android ή ios)... 1 3. Εγκατάσταση σε ηλεκτρονικό υπολογιστή (Windows ή Mac).... 5 4. Installation in Smartphone

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

Μετεπεξεργασία (postprocessing) µε τα προγράµµατα WINGRAF, DBVIEW, URSULA Μάϊος 2005

Μετεπεξεργασία (postprocessing) µε τα προγράµµατα WINGRAF, DBVIEW, URSULA Μάϊος 2005 Μετεπεξεργασία (postprocessing) µε τα προγράµµατα WINGRAF, DBVIEW, URSULA Μάϊος 2005 SOFiSTiK Hellas A.E. 3ης Σεπτεµβρίου 56, 104 33 Αθήνα Τηλ: 2108220607, 2108251632 Fax: 2108251632 www.sofistik.gr, info@sofistik.gr

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

Joomla! with K2 - User Guide

Joomla! with K2 - User Guide Joomla! with K2 - User Guide τελευταία ανανέωση: 27/03/2014 από την ICAP WEB Solutions 1 Η κατασκευή της δυναμικής σας ιστοσελίδας έχει ολοκληρωθεί και μπορείτε πλέον να προχωρήσετε σε αλλαγές ή προσθήκες

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

ΠΡΟΓΡΑΜΜΑ ΑΠΟΜΑΚΡΥΣΜΕΝΗΣ ΕΙΣΑΓΩΓΗΣ ΒΑΘΜΟΛΟΓΙΩΝ ΑΠΟ ΔΙΔΑΣΚΟΝΤΕΣ

ΠΡΟΓΡΑΜΜΑ ΑΠΟΜΑΚΡΥΣΜΕΝΗΣ ΕΙΣΑΓΩΓΗΣ ΒΑΘΜΟΛΟΓΙΩΝ ΑΠΟ ΔΙΔΑΣΚΟΝΤΕΣ ΠΡΟΓΡΑΜΜΑ ΑΠΟΜΑΚΡΥΣΜΕΝΗΣ ΕΙΣΑΓΩΓΗΣ ΒΑΘΜΟΛΟΓΙΩΝ ΑΠΟ ΔΙΔΑΣΚΟΝΤΕΣ 1. ΓΕΝΙΚΑ Εκδοση 1.0, 26/08/2009 Η εγκατάσταση του προγράμματος απομακρυσμένης εισαγωγής βαθμολογιών απαιτεί περιβάλλον windows (Windows 2000,

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