Έλεγχος οργάνων μέτρησης στο εργαστήριο – 2

( οι φυσικές διασυνδέσεις – H/W interfaces)

Για την διασύνδεση οργάνων μετρήσεων, αρχικά, χρησιμοποιήθηκε ο ειδικά σχεδιασμένος διάδρομος GPIB ή IEEE-488. Κατόπιν ασύγχρονες σειριακές θύρες RS232 (ή και RS485) ενώ στη συνέχεια θύρες USB και LAN-Ethernet (RJ45 10/100/1000Mbps).
Σε νεώτερα όργανα θα βρούμε μόνον θύρες USB ή/και Ethernet, με τις GPIB/IEEE-488 να προσφέρονται ως προαιρετικός εξοπλισμός.

Στόχος όλων των προαναφερόμενων διασυνδέσεων είναι να μεταφέρουν εντολές SCPI από τον ελεγκτή προς τα όργανα και μετρήσεις και ανταποκρίσεις των οργάνων προς τον ελεγκτή.
Υπενθυμίζεται ότι εντολές και ανταποκρίσεις είναι βασικά απλό κείμενο ASCII.

Για την επιτυχή διασύνδεση και αποκατάσταση της επικοινωνίας με τον ελεγκτή απαιτείται η ύπαρξη της φυσικής θύρας και του υλικού H/W που βρίσκεται πίσω απ’ αυτή καθώς και ο αντίστοιχος οδηγός συσκευής (device driver).
Από κει και πέρα το λογισμικό εφαρμογής αναλαμβάνει να γράψει και να διαβάσει τη συγκεκριμένη θύρα ώστε να ελέγξει το διασυνδεμένο όργανο. Αυτό γίνεται με διαφορετικούς τρόπους για τους διαφορετικούς τύπους διασυνδέσεων.
Στην προσπάθεια τυποποίησης ώστε οι διάφορες θύρες να προσπελάζονται με τον ίδιο τρόπο, αναπτύχθηκαν διάφορα πρωτόκολλα αλλά κυρίως ένα API (Application Programming Interface) το οποίο να δίνει αυτή τη δυνατότητα στις εφαρμογές.
Το API αυτό είναι το VISA (Virtual Instruments Software Architecture)
Σε ένα προγραμματιζόμενο όργανο συναντώνται μια τουλάχιστον από τις παρακάτω διασυνδέσεις και πολλές φορές συνδυασμός αυτών.

  • σειριακή RS232
  • USB
    • κλάσης CDC – Communication Device Class / VCP – Virtual Com Port
    • κλάσης USBTMC – Test and Measurement class
  • LAN
    • με χρήση πρωτοκόλλου VXI-11 (VMEbus eXtensions for Instrumentation, VXI-11.2 και VXI-11.3)
    • με χρήση υποδοχών (sockets) και συνδέσεων (connections) TCP (SOCKET) και
    • σε νεώτερα όργανα με χρήση πρωτοκόλλου HiSLIP (High Speed LAN Instrumentation Protocol) και
    • LXI (Lan eXtensions for Instrumentation) σε συνδυασμό με οδηγούς IVI (Interchangeable Virtual Instrument drivers)

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

Η σειριακή είναι μέρος της αρχιτεκτονικής του PC και υποστηρίζεται εγγενώς από το BIOS και το Λ.Σ. (windows ή linux) χωρίς επιπλέον οδηγούς. Το LAN (Ethernet 802.3 – RJ45) μετά την εγκατάσταση του οδηγού συσκευής υποστηρίζεται εγγενώς από το Λ.Σ. καθώς η στοίβα πρωτοκόλλων TCP/IP υπάρχει και στα windows (winsock) και στο linux/unix (BSD sockets). Για το USB διακρίνουμε δυο διαφορετικές περιπτώσεις. Στην πρώτη περίπτωση (VCP – Virtual Com Port) ο οδηγός δημιουργεί μια εικονική σειριακή θύρα και προσπελάζεται ως κανονική σειριακή RS232 ενώ στη δεύτερη περίπτωση (Test and Measurement class) χρησιμοποιείται συμβατό με την συγκεκριμένη κλάση λογισμικό. Βέβαια στην περίπτωση του linux/unix όλες οι συσκευές μπορούν να προσπελαστούν γενικά και ως αρχεία.

icon01

Από το ΑΝ1465-27 της Agilent

.

socket

Από το ΑΝ1465-28 της Agilent

.

lxi 1

Από το “The LXI Primer 1.2b 2015”

Για κάθε μια από τις υποστηριζόμενες θύρες θα δοθεί ο τρόπος  άμεσης προσπέλασης του οργάνου χρησιμοποιώντας απευθείας τους οδηγούς  συσκευών των θυρών χωρίς τη χρήση ειδικών APIs, όπου είναι δυνατόν, και στη συνέχεια χρησιμοποιώντας  τη βιβλιοθήκη VISA.
Προκειμένου για δικτυακή διασύνδεση LAN, στην περίπτωση που το όργανο υποστηρίζει VXI-11, θα χρησιμοποιηθεί η βιβλιοθήκη VISA καθώς το VXI-11 είναι σχετικά πολύπλοκο ενώ αν υποστηρίζει SOCKET μπορεί να χρησιμοποιηθεί ένας απλός telnet client στο κατάλληλο TCP port. Για το LXI με το οποίο είναι συμβατά νεώτερα όργανα που φέρουν θύρες LAN θα γίνει ιδιαίτερη μνεία. Πρέπει να σημειωθεί ότι τέτοια όργανα ενσωματώνουν web server ο οποίος επιτρέπει εκτέλεση βασικών ρυθμίσεων έως διεξαγωγή μετρήσεων μέσω ενός απλού web browser
Για τα παραδείγματα θα γίνει χρήση του απλού ερωτήματος “*IDN?” στο οποίο ένα όργανο ανταποκρίνεται στέλνοντας την ταυτότητά του δηλαδή Κατασκευαστή, μοντέλο, σειριακό αριθμό και έκδοση firmware.
Σε όλα τα παραδείγματα γίνεται χρήση της python 3 και των συνοδευτικών της βιβλιοθηκών (modules) σε Λ.Σ. Linux (Ubuntu 20.04.4 LTS)

Παρακάτω φαίνεται μια Γεννήτρια συναρτήσεων DG4162 (Function/Arbitrary Waveform Generator) της RIGOL η οποία συμμορφώνεται με το LXI αλλά “ακούει” και στο TCP port 5555 για σύνδεση με telnet. Συνεπώς μπορεί πολύ απλά να δεχθεί εντολές SCPI χωρίς τη χρήση προγραμματιστικών εργαλείων χρησιμοποιώντας μόνο έναν telnet client

george@castor2:~$ telnet 10.146.0.212 5555
Trying 10.146.0.212...
Connected to 10.146.0.212.
Escape character is '^]'.
*IDN?
Rigol Technologies,DG4162,DG4E17420xxxx,00.01.14
^]
telnet> quit
Connection closed.
george@castor2:~$

rigol

Γεννήτρια συναρτήσεων DG4162 (Function/Arbitary Waveform Generator) της RIGOL

Τα παρακάτω Application Notes της Agilent (πρώην HP-Hewlett-Packard και νυν Keysight) επεξηγούν αρκετά πράγματα σχετικά με τον έλεγχο οργάνων σε περιβάλλον Linux.

Using Linux in Your Test Systems: Linux Basics
Agilent Application Note 1465-27

Using Linux to Control LXI Instruments Through VXI-11
Agilent Application Note 1465-28

Using Linux to Control LXI Instruments Through TCP
Agilent Application Note 1465-29

Επίσης στο https://www.lxistandard.org/About/LXIPrimer.aspx

συνεχίζεται

Κατηγορίες: Χωρίς κατηγορία. Προσθήκη στους σελιδοδείκτες.