Visuaalprogrammeerimine 7. praktikum Arvutivõrgu kasutamine TCP-IP UDP
LabVIEW VISA - Virtual Instrument Software Architecture
LabVIEW VISA Virtual Instrument Software Architecture Paljud firmad pakuvad draivereid (Instrument Driver seadme ohjur) enda mõõte- ja kontrollaparatuuri jaoks. Tüüpilised draiverid võimaldavad Initsialiseerida seadme Konfigureerida seadet Lugeda ja kirjutada andmeid Sulgeda ühenduse NI süsteem VISA defineerib standardse kommunikatsioonidraiveri andmevahetuseks kõigi sisend/väljundseadmetega. Kaetud on GPIB, VXI, PXI, RS-232C, Ethernet, USB jne
VISA sessiooni loogika Kontseptsiooni loogika: Open seab parameetrid, loob ühenduse, loob VISA sessiooni identifikaatori (nagu failidel refnum) Read/Write kasutades identifikaatorit loeb ja kirjutab andmeid seadmest/seadmesse Close sulgeb VISA sessiooni, vabastab seadme Veaklastri analüüsimine Kasutada ka programmi NI-Spy, võimaldab igasuguste sisend/väljundseadmete andmevahetust jälgida NB: andmevahetus IO-seadmetega toimub stringe kasutades
Ethernet UDP TCP-IP
TCP UDP - IP UDP (User Datagram Protocol) järjekord suvaline, võimalik duplikaatide olemasolu - kiirem, parem lühiinfo jaoks Saadab andmeid ühendust loomata (connectionless) saadetakse, aga kättesaamist ei kontrollita max. 512 baiti infot ilma tükeldamata (IPv4) Server saadab kasutades IP aadressi (32-bitine arv 172. 17. 201. 65) ja pordi numbrit (0 65535) TCP (Transmission Control Protocol) põhiline Interneti protokoll - pakettide järjestus ja saabumine kontrollitavad Ühendusel baseeruv Loob ühenduse kasutades IP aadressi (32-bitine arv 172. 17. 201. 65) ja pordi numbrit (0 65535) IP (Internet Protocol) jagab andmed pakettideks (datagrams) ja määrab kindlaks, kuidas saata paketid arvutist A arvutisse B ei ole viisakas protokoll ja ei kasuta kätlemist (handshaking)
UDP (User Datagram Protocol) kapseldamine
TCP/IP klient Analoogiline VISA-ga TCP Open Connection vaja IP-aadressi ja porti TCP Read (või TCP Write) vaja ooteaega, vastuvõtmisel baitide arvu (väljastamisel stringi), lõputunnust (kasutame CRLF) TCP Close Connection Kogu aeg ühenduse ID ja veaklaster läbivad Veakontoll kohustuslik Funktsiooonid paletis Data Communications > Protocols > TCP
TCP server TCP Listen ette antud port, kui toimub ühendus, siis saab IP-aadressi ja tekitab ühenduse ID TCP Write (TCP Read) sõltub programmist TCP Close Connection Ühenduse parameetrid baitide arv jms sobiv kokku leppida fikseeritud pikkusega paketis
TCP-IP VI-d
TCP-IP VI-d (2)
Arvuti IP-aadressi vaatamine Start > cmd.exe > ipconfig IPv4 aadress
Praktiline osa
TCP kliendi programmeerimine Programmeerida TCP kliendi programm, mis loeb While tsüklis stringi pordist number 10000, õpetaja arvuti IP-aadressilt (172. 17. 201. 65), kuvab loetud stringi ja eraldab sellest kolm täisarvu: tunnid, minutid ja sekundid - seda osa näites ei ole! Kasutada aeglustamist, lugemine üks kord sekundis.
TCP klient - paneel 172.17.201.65
TCP-klient - diagramm
TCP serveri programmeerimine Koostada TCP serveri programm, mis TCP kliendi nõudmise peale loeb arvuti kellaaja, konverteerib selle stringiks kujul Date= Thursday, April 2, 2009; Time= 10:30:12 AM (Teil kasutusel eesti keele formaat, muutke kuju vastavalt sellele!) ja edastab stringi TCP kliendile. Kuulata sissetulevaid ühendusi pordist number 10000 Katsetada programmi tööd enda loodud TCP kliendi programmiga (IP aadress 127.0.0.1)
TCP-server - paneel
TCP-server diagramm
See osa on huvilistele kodus katsetamiseks praktikumi arvutites on kasutajatel liiga vähe õigusi! UDP ANDMEVAHETUSE PROGRAMMEERIME
UDP kliendi ja serveri programmeerimine Koostada UDP vastuvõtja programm, mis loeb While tsüklis infot pordist 1000 perioodiga 100 ms ja kuvab vastuvõetud info ja summaarse saabunud baitide arvu Vastuvõetud baitide arvu peaks saama nullida nupuga Reset bytes received Koostada UDP saatja programm, mis saadab stringi sisestatud info While tsüklis iga sekundi tagant UDP porti 1000 IP aadressile localhost
UDP vastuvõtja paneel
UDP vastuvõtja diagramm
UDP saatja paneel
UDP saatja diagramm
Time Out vea eemaldamine