Mục lục
Chương1: Họ giao thức TCP/IP
1.1 Họ giao thức TCP/IP 5
1.2 Lớp truy nhâp mạng 7
1.3 Lớp liên mạng 7
1.3.1. Chức năng chính của - Giao thức liên mạng IP(v4) 8
1.3.2. Định tuyến IP 8
1.4. Giao thức ICMP 11
1.5. Giao thức ARP và giao thức RARP 12
1.5.1. Giao thức ARP 13
1.5.2. Giao thức RARP 14
1.6. Giao thức lớp chuyển tải (Transport Layer) 14
1.6.1. Giao thức TCP ? 14
1.6.2. Thiết lập kết nối 16
1.6.3. Kết thúc kết nối 17
Chương 2: Công nghệ DataSocket
2.1. Giới thiệu về công nghệ DataSocket. 18
2.2. DataSocket là gì ? 18
2.2.1. Các đặc trưng của DataSocket . 19
2.2.2. Mô hình phát tán dữ liệu dùng DataSocket 20
2.3. Các thành phần của công nghệ DataSocket. 20
2.3.1. DataSocket API. 21
2.3.2. DataSocket Server. 21
2.4. Giao thức DSTP 24
2.4.1. Các đặc điểm của giao thức DSTP. 24
2.4.2. Cách sử dụng. 25
Chương 3: Thử nghiệm phát tán dữ liệu qua mạng TCP/IP
sử dụng DataSocket
3.1. Mô hình hệ thử nghiệm 27
3.1.1. Mô tả phần cứng 27
3.1.2 Mô tả phần mềm 29
3.2. Kết quả và thử nghiệm 36
3.2.1. Cài đặt hệ thống 37
3.2.2. Kết quả 38
Chương 4: Một số kết luận đối với việc khai thác công nghệ DataSocket
(39)
49 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3004 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Công nghệ DataSocket, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Môc lôc
Ch¬ng1: Hä giao thøc TCP/IP
Hä giao thøc TCP/IP 5
Líp truy nh©p m¹ng 7
Líp liªn m¹ng 7
1.3.1. Chøc n¨ng chÝnh cña - Giao thøc liªn m¹ng IP(v4) 8
1.3.2. §Þnh tuyÕn IP 8
1.4. Giao thøc ICMP 11
1.5. Giao thøc ARP vµ giao thøc RARP 12
1.5.1. Giao thøc ARP 13
1.5.2. Giao thøc RARP 14
1.6. Giao thøc líp chuyÓn t¶i (Transport Layer) 14
1.6.1. Giao thøc TCP ? 14
1.6.2. ThiÕt lËp kÕt nèi 16
1.6.3. KÕt thóc kÕt nèi 17
Ch¬ng 2: C«ng nghÖ DataSocket
2.1. Giíi thiÖu vÒ c«ng nghÖ DataSocket. 18
2.2. DataSocket lµ g× ? 18
C¸c ®Æc trng cña DataSocket ……………………………………………. 19
M« h×nh ph¸t t¸n d÷ liÖu dïng DataSocket……………………………….. 20
C¸c thµnh phÇn cña c«ng nghÖ DataSocket. 20
2.3.1. DataSocket API. 21
2.3.2. DataSocket Server. 21
2.4. Giao thøc DSTP 24
2.4.1. C¸c ®Æc ®iÓm cña giao thøc DSTP. 24
2.4.2. C¸ch sö dông. 25
Ch¬ng 3: Thö nghiÖm ph¸t t¸n d÷ liÖu qua m¹ng TCP/IP
sö dông DataSocket
M« h×nh hÖ thö nghiÖm 27
3.1.1. M« t¶ phÇn cøng 27
M« t¶ phÇn mÒm 29
3.2. KÕt qu¶ vµ thö nghiÖm 36
3.2.1. Cµi ®Æt hÖ thèng 37
3.2.2. KÕt qu¶ 38
Ch¬ng 4: Mét sè kÕt luËn ®èi víi viÖc khai th¸c c«ng nghÖ DataSocket
(39)
Lêi nãi ®Çu
Trong ho¹t ®éng cña x· héi loµi ngêi, th«ng tin lµ mét vÊn ®Ò kh«ng thÓ thiÕu trong cuéc sèng, ngµy nay th«ng tin cµng trë thµnh mét tµi nguyªn v« gi¸. X· héi ph¸t triÓn ngµy cµng cao nhu cÇu trao ®æi th«ng tin gi÷a c¸c thµnh phÇn trong x· héi ngµy cµng lín. M¹ng m¸y tÝnh ra ®êi mang l¹i cho con ngêi nhiÒu lîi Ých trong viÖc trao ®æi th«ng tin vµ xö lý th«ng tin mét c¸ch chÝnh x¸c vµ nhanh chãng.
Víi sù ph¸t triÓn m¹nh mÏ cña m¹nh m¸y tÝnh ®Æc biÖt lµ sù ra ®êi cña m¹ng toµn cÇu Internet ®· gióp cho con ngêi kh¾p trªn thÕ giíi cã thÓ liªn l¹c trao ®æi nh÷ng th«ng tin chÝnh x¸c cho nhau mét c¸ch dÔ dµng trong mét thêi gian ng¾n nhÊt.
Trong m«i trêng m¹ng, mét lîng tin hay mét khèi d÷ liÖu khi ®îc göi ®i tõ ngêi göi ®Õn ngêi nhËn thêng ph¶i qua nhiÒu nót, nhiÒu tr¹m víi nhiÒu ngêi sö dông kh¸c nhau, kh«ng ai d¸m b¶o r»ng th«ng tin ®Õn ngêi nhËn kh«ng bÞ sao chÐp, kh«ng bÞ ®¸nh c¾p hay kh«ng bÞ xuyªn t¹c.... B¹n còng cã thÓ nghe nhiÒu vÒ m¸y tÝnh vµ nh÷ng mèi ®e do¹ tõ Internet ®èi víi sù riªng t cña b¹n. Vµ ë ®©u l¹i ch¼ng nghe nh÷ng chuyÖn vÒ m¹o nhËn danh tiÕng, hoÆc nh÷ng «ng chñ muèn thäc vµo mäi th«ng tin cña nh©n viÖn, hay nh÷ng kÎ ®¸nh c¾p mËt khÈu, nh÷ng kÎ s¨n tin chuyªn nghiÖp, hay nh÷ng kÎ quÊy nhiÔu,.... Chóng sÏ kh«ng bao giê bu«ng tha b¹n, viÖc tao ®æi dø liÖu qua m¹ng Internet cã thÓ g©y nguy hiÓm ®Õn sù riªng t cña b¹n, cø nh thÓ ngêi ta ®ang theo dâi tõng ®éng t¸c nhÊn chuét cña b¹n hay tõng th«ng tin nhá nhÊt mµ b¹n cã.
MÆt kh¾c víi sù ph¸t triÓn m¹nh mÏ cña c«ng nghÖ th«ng tin vµ ®Æc biÖt lµ m¹ng Internet viÖc mäi ngêi tham gia vµo c¸c cuéc héi th¶o, hay tham gia vµo c¸c thÝ nghiÖm trùc tuyÕn ë c¸c phong thÝ nghiÖm kh¸c nhau ®îc ®Æt t¹i c¸c vÞ trÝ kh¸c nhau.
Trong ®å ¸n nµy chóng t«i ®Æt ra vÊn ®Ò sö dông c«ng nghÖ DataSocket cña h·ng National Instruments, lµ mét c«ng nghÖ cho phÐp dÔ dµng thùc hiÖn kÕt nèi vµ truyÒn d÷ liÖu tèc ®é cao qua m¹ng Internet(TCP/IP). C«ng nghÖ DataSocket , cho phÐp ph¸t triÓn c¸c phÇn mÒm hoµn chØnh ®Ó øng dông trong d¹y häc, øng dông trong liªn kÕt c¸c trung t©m thÝ nghiÖm, c¸c phßng thÝ nghiÖm nãi riªng vµ cho c¸c øng dông truyÒn d÷ liÖu qua m¹ng Internet víi tèc ®é cao nãi chung, nh»m t¨ng cêng hîp t¸c nghiªn cøu khoa häc, chia sÎ d÷ liÖu, chia sÎ thiÕt bÞ thÝ nghiÖm, më c¸c dÞch vô tiÕn hµnh cho thuª thiÕt bÞ thÝ nghiÖm tõ xa vµ kh¶ n¨ng tiÕn hµnh thÝ nghiªm tõ xa. Trªn c¬ së ®ã gi¶m ®îc chi phÝ thiÕt bÞ, n©ng cao hiÖu suÊt sö dông thiÕt bÞ. NhÊt lµ ë ®iÒu kiÖn ViÖt nam chóng ta, kinh phÝ ®Çu t thiÕt bÞ khoa häc cho nghiªn cøu khoa häc, cho c¸c trêng §¹i häc , c¸c trung t©m d¹y nghÒ cßn h¹n chÕ mµ c¸c trung t©m ®ã l¹i c¸ch xa nhau vÒ ®Þa lý.
Kh«ng nh÷ng vËy, c«ng nghÖ DataSocket cßn cho phÐp ph¸t triÓn c¸c hÖ thèng ®o lêng vµ ®iÒu khiÓn tõ xa trong c«ng nghiÖp qua m¹ng víi giao thøc TCP/IP mét c¸ch dÔ dµng, thuËn tiÖn víi mét sù ®a d¹ng c¸c kiÓu d÷ liÖu, kÓ c¶ d¹ng d÷ liÖu ¶nh vµ ©m thanh. §iÒu nµy cho phÐp nhiÒu ngêi, nhiÒu lÜnh vùc kh«ng chuyªn nghiÖp tin häc vÉn cã thÓ dÏ dµng ph¸t triÓn ®îc øng dông cña riªng m×nh qua m¹ng.
Trong ®Ò tµi chóng t«i nghiªn cøu tiep can thu nghiem congnghe DataSocket de truy du lieu tocdocao qua m¹ng Internet, tren co so do ung dung vao trong cac bai toan thuc te.
Ch¬ng 1:
Hä giao thøc TCP/IP
1.1. Hä giao thøc TCP/IP
TCP/IP lµ mét hä giao thøc ®Ó cung cÊp ph¬ng tiÖn truyÒn th«ng liªn m¹ng vµ nã ®îc cÊu tróc theo kiÓu ph©n cÊp.
Kh¸c víi m« h×nh OSI/ISO tÇng liªn m¹ng sö dông giao thøc kÕt nèi m¹ng "kh«ng liªn kÕt" (connectionless) IP, t¹o thµnh h¹t nh©n ho¹t ®éng cña Internet. Cïng víi c¸c thuËt to¸n ®Þnh tuyÕn RIP, OSPF, BGP, tÇng liªn m¹ng IP cho phÐp kÕt nèi mét c¸ch mÒm dÎo vµ linh ho¹t c¸c lo¹i m¹ng "vËt lý" kh¸c nhau nh: Ethernet, Token Ring , X.25...
Giao thøc trao ®æi d÷ liÖu "cã liªn kÕt" (connection - oriented) TCP ®îc sö dông ë tÇng vËn chuyÓn ®Ó ®¶m b¶o tÝnh chÝnh x¸c vµ tin cËy viÖc trao ®æi d÷ liÖu dùa trªn kiÕn tróc kÕt nèi "kh«ng liªn kÕt" ë tÇng liªn m¹ng IP.
OSI
Application
Presentation
Session
Transprort
Network
Data link
Physical
Application
SMTP
FTP
TELNET
DNS
TCP
UDP
IP
ICMP
ARP
IGMP
RARP
Protocols defined by the underlying networks
TCP/IP
H×nh 1. M« h×nh tham chiÕu TCP/IP víi chuÈn OSI 7 líp
C¸c giao thøc hç trî øng dông phæ biÕn nh truy nhËp tõ xa (telnet), chuyÓn tÖp (FTP), dÞch vô World Wide Web (HTTP), th ®iÖn tö (SMTP), dÞch vô tªn miÒn (DNS) ngµy cµng ®îc cµi ®Æt phæ biÕn nh nh÷ng bé phËn cÊu thµnh cña c¸c hÖ ®iÒu hµnh th«ng dông nh UNIX (vµ c¸c hÖ ®iÒu hµnh chuyªn dông cïng hä cña c¸c nhµ cung cÊp thiÕt bÞ tÝnh to¸n nh AIX cña IBM, SINIX cña Siemens, Digital UNIX cña DEC), Windows9x/NT, Novell Netware,...
Trong cÊu tróc bèn líp cña TCP/IP, khi d÷ liÖu truyÒn tõ líp øng dông cho ®Õn líp vËt lý, mçi líp ®Òu céng thªm vµo phÇn ®iÒu khiÓn cña m×nh ®Ó ®¶m b¶o cho viÖc truyÒn d÷ liÖu ®îc chÝnh x¸c. Mçi th«ng tin ®iÒu khiÓn nµy ®îc gäi lµ mét header vµ ®îc ®Æt ë tríc phÇn d÷ liÖu ®îc truyÒn. Mçi líp xem tÊt c¶ c¸c th«ng tin mµ nã nhËn ®îc tõ líp trªn lµ d÷ liÖu, vµ ®Æt phÇn th«ng tin ®iÒu khiÓn header cña nã vµo tríc phÇn th«ng tin nµy. ViÖc céng thªm vµo c¸c header ë mçi líp trong qu¸ tr×nh truyÒn tin ®îc gäi lµ encapsulation. Qu¸ tr×nh nhËn d÷ liÖu diÔn ra theo chiÒu ngîc l¹i: mçi líp sÏ t¸ch ra phÇn header tríc khi truyÒn d÷ liÖu lªn líp trªn.
Mçi líp cã mét cÊu tróc d÷ liÖu riªng, ®éc lËp víi cÊu tróc d÷ liÖu ®îc dïng ë líp trªn hay líp díi cña nã. Sau ®©y lµ gi¶i thÝch mét sè kh¸i niÖm thêng gÆp.
Stream lµ dßng sè liÖu ®îc truyÒn trªn c¬ së ®¬n vÞ sè liÖu lµ Byte.
Sè liÖu ®îc trao ®æi gi÷a c¸c øng dông dïng TCP ®îc gäi lµ stream, trong khi dïng UDP, chóng ®îc gäi lµ message.
Mçi gãi sè liÖu TCP ®îc gäi lµ segment cßn UDP ®Þnh nghÜa cÊu tróc d÷ liÖu cña nã lµ packet.
Líp Internet xem tÊt c¶ c¸c d÷ liÖu nh lµ c¸c khèi vµ gäi lµ datagram. Bé giao thøc TCP/IP cã thÓ dïng nhiÒu kiÓu kh¸c nhau cña líp m¹ng díi cïng, mçi lo¹i cã thÓ cã mét thuËt ng÷ kh¸c nhau ®Ó truyÒn d÷ liÖu.
PhÇn lín c¸c m¹ng kÕt cÊu phÇn d÷ liÖu truyÒn ®i díi d¹ng c¸c packets hay lµ c¸c frames.
Application
Stream
Transport
Segment/datagram
Internet
Datagram
Network Access
Frame
CÊu tróc d÷ liÖu t¹i c¸c líp cña TCP/IP
1.2. Líp truy nhËp m¹ng
Network Access Layer lµ líp thÊp nhÊt trong cÊu tróc ph©n bËc cña TCP/IP. Nh÷ng giao thøc ë líp nµy cung cÊp cho hÖ thèng ph¬ng thøc ®Ó truyÒn d÷ liÖu trªn c¸c tÇng vËt lý kh¸c nhau cña m¹ng. Nã ®Þnh nghÜa c¸ch thøc truyÒn c¸c khèi d÷ liÖu (datagram) IP. C¸c giao thøc ë líp nµy ph¶i biÕt chi tiÕt c¸c phÇn cÊu tróc vËt lý m¹ng ë díi nã (bao gåm cÊu tróc gãi sè liÖu, cÊu tróc ®Þa chØ...) ®Ó ®Þnh d¹ng ®îc chÝnh x¸c c¸c gãi d÷ liÖu sÏ ®îc truyÒn trong tõng lo¹i m¹ng cô thÓ.
So s¸nh víi cÊu tróc OSI/OSI, líp nµy cña TCP/IP t¬ng ®¬ng víi hai líp Datalink, vµ Physical.
Chøc n¨ng ®Þnh d¹ng d÷ liÖu sÏ ®îc truyÒn ë líp nµy bao gåm viÖc nhóng c¸c gãi d÷ liÖu IP vµo c¸c frame sÏ ®îc truyÒn trªn m¹ng vµ viÖc ¸nh x¹ c¸c ®Þa chØ IP vµo ®Þa chØ vËt lý ®îc dïng cho m¹ng.
1.3. Líp liªn m¹ng
Internet Layer lµ líp ë ngay trªn líp Network Access trong cÊu tróc ph©n líp cña TCP/IP. Internet Protocol lµ giao thøc trung t©m cña TCP/IP vµ lµ phÇn quan träng nhÊt cña líp Internet. IP cung cÊp c¸c gãi lu chuyÓn c¬ b¶n mµ th«ng qua ®ã c¸c m¹ng dïng TCP/IP ®îc x©y dùng.
1.3.1. Chøc n¨ng chÝnh cña - Giao thøc liªn m¹ng IP(v4)
Trong phÇn nµy tr×nh bµy vÒ giao thøc IPv4 (®Ó cho thuËn tiÖn ta viÕt IP cã nghÜa lµ ®Ò cËp ®Õn IPv4).
Môc ®Ých chÝnh cña IP lµ cung cÊp kh¶ n¨ng kÕt nèi c¸c m¹ng con thµnh liªn m¹ng ®Ó truyÒn d÷ liÖu. IP cung cÊp c¸c chøc n¨ng chÝnh sau:
§Þnh nghÜa cÊu tróc c¸c gãi d÷ liÖu lµ ®¬n vÞ c¬ së cho viÖc truyÒn d÷ liÖu trªn Internet.
§Þnh nghÜa ph¬ng thøc ®¸nh ®Þa chØ IP.
TruyÒn d÷ liÖu gi÷a tÇng vËn chuyÓn vµ tÇng m¹ng .
§Þnh tuyÕn ®Ó chuyÓn c¸c gãi d÷ liÖu trong m¹ng.
Thùc hiÖn viÖc ph©n m¶nh vµ hîp nhÊt (fragmentation -reassembly) c¸c gãi d÷ liÖu vµ nhóng / t¸ch chóng trong c¸c gãi d÷ liÖu ë tÇng liªn kÕt.
1.3.2. §Þnh tuyÕn IP
Cã hai lo¹i ®Þnh tuyÕn:
§Þnh tuyÕn trùc tiÕp: §Þnh tuyÕn trùc tiÕp lµ viÖc x¸c ®Þnh ®êng nèi gi÷a hai tr¹m lµm viÖc trong cïng mét m¹ng vËt lý.
§Þnh tuyÕn kh«ng trùc tiÕp: §Þnh tuyÕn kh«ng trùc tiÕp lµ viÖc x¸c ®Þnh ®êng nèi gi÷a hai tr¹m lµm viÖc kh«ng n»m trong cïng mét m¹ng vËt lý vµ v× vËy, viÖc truyÒn tin gi÷a chóng ph¶i ®îc thùc hiÖn th«ng qua c¸c tr¹m trung gian lµ c¸c gateway.
§Ó kiÓm tra xem tr¹m ®Ých cã n»m trªn cïng m¹ng vËt lý víi tr¹m nguån hay kh«ng, ngêi göi ph¶i t¸ch lÊy phÇn ®Þa chØ m¹ng trong phÇn ®Þa chØ IP. NÕu hai ®Þa chØ nµy cã ®Þa chØ m¹ng gièng nhau th× datagram sÏ ®îc truyÒn ®i trùc tiÕp; ngîc l¹i ph¶i x¸c ®Þnh mét gateway, th«ng qua gateway nµy chuyÓn tiÕp c¸c datagram.
Khi mét tr¹m muèn göi c¸c gãi d÷ liÖu ®Õn mét tr¹m kh¸c th× nã ph¶i ®ãng gãi datagram vµo mét khung (frame) vµ göi c¸c frame nµy ®Õn gateway gÇn nhÊt. Khi mét frame ®Õn mét gateway, phÇn datagram ®· ®îc ®ãng gãi sÏ ®îc t¸ch ra vµ IP routing sÏ chän gateway tiÕp däc theo ®êng dÉn ®Õn ®Ých. Datagram sau ®ã l¹i ®îc ®ãng gãi vµo mét frame kh¸c vµ göi ®Õn m¹ng vËt lý ®Ó göi ®Õn gateway tiÕp theo trªn ®êng truyÒn vµ tiÕp tôc nh thÕ cho ®Õn khi datagram ®îc truyÒn ®Õn tr¹m ®Ých.
ChiÕn lîc ®Þnh tuyÕn: Trong thuËt ng÷ truyÒn thèng cña TCP/IP chØ cã hai kiÓu thiÕt bÞ, ®ã lµ c¸c cæng truyÒn (gateway) vµ c¸c tr¹m (host). C¸c cæng truyÒn cã vai trß göi c¸c gãi d÷ liÖu, cßn c¸c tr¹m th× kh«ng. Tuy nhiªn khi mét tr¹m ®îc nèi víi nhiÒu m¹ng th× nã còng cã thÓ ®Þnh híng cho viÖc lu chuyÓn c¸c gãi d÷ liÖu gi÷a c¸c m¹ng vµ lóc nµy nã ®ãng vai trß hoµn toµn nh mét gateway.
C¸c tr¹m lµm viÖc lu chuyÓn c¸c gãi d÷ liÖu xuyªn suèt qua c¶ bèn líp, trong khi c¸c cæng truyÒn chØ chuyÓn c¸c gãi ®Õn líp Internet lµ n¬i quyÕt ®Þnh tuyÕn ®êng tiÕp theo ®Ó chuyÓn tiÕp c¸c gãi d÷ liÖu.
C¸c m¸y chØ cã thÓ truyÒn d÷ liÖu ®Õn c¸c m¸y kh¸c n»m trªn cïng mét m¹ng vËt lý. C¸c gãi tõ A1 cÇn chuyÓn cho C1 sÏ ®îc híng ®Õn gateway G1 vµ G2. Tr¹m A1 ®Çu tiªn sÏ truyÒn c¸c gãi ®Õn gateway G1 th«ng qua m¹ng A. Sau ®ã G1 truyÒn tiÕp ®Õn G2 th«ng qua m¹ng B vµ cuèi cïng G2 sÏ truyÒn c¸c gãi trùc tiÕp ®Õn tr¹m C1, bëi v× chóng ®îc nèi trùc tiÕp víi nhau th«ng qua m¹ng C. Tr¹m A1 kh«ng hÒ biÕt ®Õn c¸c gateway n»m ë sau G1. A1 göi c¸c gãi sè liÖu cho c¸c m¹ng B vµ C ®Õn gateway côc bé G1 vµ dùa vµo gateway nµy ®Ó ®Þnh híng tiÕp cho c¸c gãi d÷ liÖu ®i ®Õn ®Ých. Theo c¸ch nµy th× tr¹m C1 tríc tiªn sÏ göi c¸c gãi cña m×nh ®Õn cho G2 vµ G2 sÏ göi ®i tiÕp cho c¸c tr¹m ë trªn m¹ng A còng nh ë trªn m¹ng B.
Application
Transport
Internet
Network Access
Internet
Network
Application
Transport
Internet
Network Access
Internet
Network
Gateway
Gateway
Network A
Network B
Network C
Host A1
Host C1
H×nh vÏ sau m« t¶ viÖc dïng c¸c gateway ®Ó göi c¸c gãi d÷ liÖu:
H×nh 2. §Þnh tuyÕn gi÷a hai hÖ thèng
ViÖc ph©n m¶nh c¸c gãi d÷ liÖu: Trong qu¸ tr×nh truyÒn d÷ liÖu, mét gãi d÷ liÖu (datagram) cã thÓ ®îc truyÒn ®i th«ng qua nhiÒu m¹ng kh¸c nhau. Mét gãi d÷ liÖu (datagram) nhËn ®îc tõ mét m¹ng nµo ®ã cã thÓ qu¸ lín ®Ó truyÒn ®i trong gãi ®¬n ë trªn mét m¹ng kh¸c, bëi mçi lo¹i cÊu tróc m¹ng cho phÐp mét ®¬n vÞ truyÒn cùc ®¹i (Maximum Transmit Unit - MTU), kh¸c nhau. §©y chÝnh lµ kÝch thíc lín nhÊt cña mét gãi mµ chóng cã thÓ truyÒn. NÕu nh mét gãi d÷ liÖu nhËn ®îc tõ mét m¹ng nµo ®ã mµ lín h¬n MTU cña mét m¹ng kh¸c th× nã cÇn ®îc ph©n m¶nh ra thµnh c¸c gãi nhá h¬n, gäi lµ fragment. Qu¸ tr×nh nµy gäi lµ qu¸ tr×nh ph©n m¶nh. D¹ng cña mét fragment còng gièng nh d¹ng cña mét gãi d÷ liÖu th«ng thêng. Tõ thø hai trong phÇn header chøa c¸c th«ng tin ®Ó x¸c ®Þnh mçi fragment vµ cung cÊp c¸c th«ng tin ®Ó hîp nhÊt c¸c fragment nµy l¹i thµnh c¸c gãi nh ban ®Çu. Trêng identification dïng ®Ó x¸c ®Þnh fragment nµy lµ thuéc vÒ gãi d÷ liÖu nµo.
1.4. Giao thøc ICMP
ICMP ((Internet Control Message Protocol) lµ mét giao thøc ®iÒu khiÓn cña møc IP, ®îc dïng ®Ó trao ®æi c¸c th«ng tin ®iÒu khiÓn dßng sè liÖu, th«ng b¸o lçi vµ c¸c th«ng tin tr¹ng th¸i kh¸c cña bé giao thøc TCP/IP.
VÝ dô:
§iÒu khiÓn lu lîng d÷ liÖu (Flow control): khi c¸c gãi d÷ liÖu ®Õn qu¸ nhanh, thiÕt bÞ ®Ých hoÆc thiÕt bÞ ®Þnh tuyÕn ë gi÷a sÏ göi mét th«ng ®iÖp ICMP trë l¹i thiÕt bÞ göi, yªu cÇu thiÕt bÞ göi t¹m thêi ngõng viÖc göi d÷ liÖu.
Th«ng b¸o lçi: trong trêng hîp ®Þa chØ ®Ých kh«ng tíi ®îc th× hÖ thèng sÏ göi mét th«ng b¸o lçi "Destination Unreachable".
§Þnh híng l¹i c¸c tuyÕn ®êng: mét thiÕt bÞ ®Þnh tuyÕn sÏ göi mét th«ng ®iÖp ICMP "®Þnh tuyÕn l¹i" (Redirect Router) ®Ó th«ng b¸o víi mét tr¹m lµ nªn dïng thiÕt bÞ ®Þnh tuyÕn kh¸c ®Ó tíi thiÕt bÞ ®Ých. Th«ng ®iÖp nµy cã thÓ chØ ®îc dïng khi tr¹m nguån ë trªn cïng mét m¹ng víi c¶ hai thiÕt bÞ ®Þnh tuyÕn.
KiÓm tra c¸c tr¹m ë xa: mét tr¹m cã thÓ göi mét th«ng ®iÖp ICMP "Echo" ®Ó kiÓm tra xem mét tr¹m cã ho¹t ®éng hay kh«ng.
Sau ®©y lµ m« t¶ mét øng dông cña giao thøc ICMP thùc hiÖn viÖc ®Þnh tuyÕn l¹i (Redirect):
VÝ dô: Gi¶ sö host göi mét gãi d÷ liÖu IP tíi Router R1. Router R1 thùc hiÖn viÖc quyÕt ®Þnh tuyÕn v× R1 lµ router mÆc ®Þnh cña host ®ã. R1 nhËn gãi d÷ liÖu vµ t×m trong b¶ng ®Þnh tuyÕn vµ nã t×m thÊy mét tuyÕn tíi R2. Khi R1 göi gãi d÷ liÖu tíi R2 th× R1 ph¸t hiÖn ra r»ng nã ®ang göi gãi d÷ liÖu ®ã ra ngoµi trªn cïng mét giao diÖn mµ gãi d÷ liÖu ®ã ®· ®Õn (lµ giao diÖn m¹ng LAN mµ c¶ host vµ hai Router nèi ®Õn). Lóc nµy R1 sÏ göi mét th«ng b¸o ICMP Redirect Error tíi host, th«ng b¸o cho host nªn göi c¸c gãi d÷ liÖu tiÕp theo ®Õn R2 th× tèt h¬n.
Host
R2
(3) ICMP Redirect
(2) IP datagram
R1
Final destination
(1) IP datagram
Host
Hinh 3: M« t¶ mét øng dông cña giao thøc ICMP.
T¸c dông cña ICMP Redirect lµ ®Ó cho mät host víi nhËn biÕt tèi thiÓu vÒ ®Þnh tuyÕn x©y dùng lªn mét b¶ng ®Þnh tuyÕn tèt h¬n theo thêi gian. Host ®ã cã thÓ b¾t ®Çu víi mét tuyÕn mÆc ®Þnh (cã thÓ R1 hoÆc R2 nh vÝ dô trªn) vµ bÊt kú lÇn nµo tuyÕn mÆc ®Þnh nµy ®îc dïng víi host ®ã ®Õn R2 th× nã sÏ ®îc Router mÆc ®Þnh göi th«ng b¸o Redirect ®Ó cho phÐp host ®ã cËp nhËt b¶ng ®Þnh tuyÕn cña nã mét c¸ch phï hîp h¬n.
1.5. Giao thøc ARP vµ giao thøc RARP
§Þa chØ IP ®îc dïng ®Ó ®Þnh danh c¸c host vµ m¹ng ë tÇng m¹ng cña m« h×nh OSI, chóng kh«ng ph¶i lµ c¸c ®Þa chØ vËt lý (hay ®Þa chØ MAC) cña c¸c tr¹m ®ã trªn mét m¹ng côc bé (Ethernet, Token Ring,...). Trªn mét m¹ng côc bé hai tr¹m chØ cã thÓ liªn l¹c víi nhau nÕu chóng biÕt ®Þa chØ vËt lý cña nhau. Nh vËy vÊn ®Ò ®Æt ra lµ ph¶i thùc hiÖn ¸nh x¹ gi÷a ®Þa chØ IP (32 bits) vµ ®Þa chØ vËt lý (48 bits) cña mét tr¹m. Giao thøc ARP (Address Resolution Protocol) ®· ®îc x©y dùng ®Ó chuyÓn ®æi tõ ®Þa chØ IP sang ®Þa chØ vËt lý khi cÇn thiÕt. Ngîc l¹i, giao thøc RARP (Reverse Address Resolution Protocol) ®îc dïng ®Ó chuyÓn ®æi ®Þa chØ vËt lý sang ®Þa chØ IP. C¸c giao thøc ARP vµ RARP kh«ng ph¶i lµ bé phËn cña IP mµ IP sÏ dïng ®Õn chóng khi cÇn.
1.5.1. Giao thøc ARP
Giao thøc TCP/IP sö dông ARP ®Ó t×m ®Þa chØ vËt lý cña tr¹m ®Ých. VÝ dô khi cÇn göi mét gãi d÷ liÖu IP cho mét hÖ thèng kh¸c trªn cïng mét m¹ng vËt lý Ethernet, hÖ th«ng göi cÇn biÕt ®Þa chØ Ethernet cña hÖ thèng ®Ých ®Ó tÇng liªn kÕt d÷ liÖu x©y dùng khung gãi d÷ liÖu.
Th«ng thêng, mçi hÖ thèng lu gi÷ vµ cËp nhËt b¶ng thÝch øng ®Þa chØ IP-MAC t¹i chç (cßn ®îc gäi lµ b¶ng ARP cache). B¶ng thÝch øng ®Þa chØ ®îc cËp nhËt bëi ngêi qu¶n trÞ hÖ thèng hoÆc tù ®éng bëi giao thøc ARP sau mçi lÇn ¸nh x¹ ®îc mét ®Þa chØ thÝch øng míi.
Mçi khi cÇn t×m thÝch øng ®Þa chØ IP - MAC, cã thÓ t×m ®Þa chØ MAC t¬ng øng víi ®Þa IP ®ã tríc tiªn trong b¶ng ®Þa chØ IP - MAC ë mçi hÖ thèng. NÕu kh«ng t×m thÊy, cã thÓ sö dông giao thøc ARP ®Ó lµm viÖc nµy. Tr¹m lµm viÖc göi yªu cÇu ARP (ARP_Request) t×m thÝch øng ®Þa chØ IP -MAC ®Õn m¸y phôc vô ARP - server. M¸y phôc vô ARP t×m trong b¶ng thÝch øng ®Þa chØ IP - MAC cña m×nh vµ tr¶ lêi b»ng ARP_Response cho tr¹m lµm viÖc. NÕu kh«ng, m¸y phôc vô chuyÓn tiÕp yªu cÇu nhËn ®îc díi d¹ng qu¶ng b¸ cho tÊt c¶ c¸c tr¹m lµm viÖc trong m¹ng. Tr¹m nµo cã trïng ®Þa chØ IP ®îc yªu cÇu sÏ tr¶ lêi víi ®Þa chØ MAC cña m×nh. Tãm l¹i tiÕn tr×nh cña ARP ®îc m« t¶ nh sau
129.1.1.1
IP
ARP request
IP
ARP request
IP
ARP request
1
2,5
4
H×nh 4: TiÕn tr×nh ARP
TiÕn tr×nh ARP
IP yªu cÇu ®Þa chØ MAC.
T×m kiÕm trong b¶ng ARP.
NÕu t×m thÊy sÏ tr¶ l¹i ®Þa chØ MAC.
NÕu kh«ng t×m thÊy, t¹o gãi ARP yªu cÇu vµ göi tíi tÊt c¶ c¸c tr¹m.
Tuú theo gãi d÷ liÖu tr¶ lêi, ARP cËp nhËt vµo b¶ng ARP vµ göi ®Þa chØ MAC ®ã cho IP.
1.5.2. Giao thøc RARP
Reverse ARP (Reverse Address Resolution Protocol) lµ giao thøc gi¶i thÝch øng ®Þa chØ AMC - IP. Qu¸ tr×nh nµy ngîc l¹i víi qu¸ tr×nh gi¶i thÝch øng ®Þa chØ IP - MAC m« t¶ ë trªn, nghÜa lµ cho tríc ®Þa chØ møc liªn kÕt, t×m ®Þa chØ IP t¬ng øng.
1.6. Giao thøc líp chuyÓn t¶i (Transport Layer)
1.6.1. Giao thøc TCP ?
TCP (Transmission Control Protocol) lµ mét giao thøc “cã liªn kÕt” (connection - oriented), nghÜa lµ cÇn thiÕt lËp liªn kÕt (logic), gi÷a mét cÆp thùc thÓ TCP tríc khi chóng trao ®æi d÷ liÖu víi nhau.
TCP cung cÊp kh¶ n¨ng truyÒn d÷ liÖu mét c¸ch an toµn gi÷a c¸c m¸y tr¹m trong hÖ thèng c¸c m¹ng. Nã cung cÊp thªm c¸c chøc n¨ng nh»m kiÓm tra tÝnh chÝnh x¸c cña d÷ liÖu khi ®Õn vµ bao gåm c¶ viÖc göi l¹i d÷ liÖu khi cã lçi x¶y ra. TCP cung cÊp c¸c chøc n¨ng chÝnh sau:
ThiÕt lËp, duy tr×, kÕt thóc liªn kÕt gi÷a hai qu¸ tr×nh.
Ph©n ph¸t gãi tin mét c¸ch tin cËy.
§¸nh sè thø tù (sequencing) c¸c gãi d÷ liÖu nh»m truyÒn d÷ liÖu mét c¸ch tin cËy.
Cho phÐp ®iÒu khiÓn lçi.
Cung cÊp kh¶ n¨ng ®a kÕt nèi víi c¸c qu¸ tr×nh kh¸c nhau gi÷a tr¹m nguån vµ tr¹m ®Ých nhÊt ®Þnh th«ng qua viÖc sö dông c¸c cæng.
TruyÒn d÷ liÖu sö dông c¬ chÕ song c«ng (full-duplex).
Mét tiÕn tr×nh øng dông trong mét host truy nhËp vµo c¸c dÞch vô cña TCP cung cÊp th«ng qua mét cæng (port) nh sau:
Mét cæng kÕt hîp víi mét ®Þa chØ IP t¹o thµnh mét socket duy nhÊt trong liªn m¹ng. TCP ®îc cung cÊp nhê mét liªn kÕt logic gi÷a mét cÆp socket. Mét socket cã thÓ tham gia nhiÒu liªn kÕt víi c¸c socket ë xa kh¸c nhau. Tríc khi truyÒn d÷ liÖu gi÷a hai tr¹m cÇn ph¶i thiÕt lËp mét liªn kÕt TCP gi÷a chóng vµ khi kÕt thóc phiªn truyÒn d÷ liÖu th× liªn kÕt ®ã sÏ ®îc gi¶i phãng. Còng gièng nh ë c¸c giao thøc kh¸c, c¸c thùc thÓ ë tÇng trªn sö dông TCP th«ng qua c¸c hµm dÞch vô nguyªn thuû (service primitives), hay cßn gäi lµ c¸c lêi gäi hµm (function call).
ThiÕt lËp vµ kÕt thóc kÕt nèi TCP.
1 2 3
TCP
IP
NAP
Userprocess
1 2
TCP
IP
NAP
Userprocess
Host
Host
Internet
NAP: Network Access Protocol
H×nh 4: Cæng truy nhËp dÞch vô TCP
1.6.2. ThiÕt lËp kÕt nèi
ThiÕt lËp kÕt nèi TCP ®îc thùc hiÖn trªn c¬ së ph¬ng thøc b¾t tay ba bíc (Tree - way Handsake) h×nh 5 . Yªu cÇu kÕt nèi lu«n ®îc tiÕn tr×nh tr¹m khëi t¹o, b»ng c¸ch göi mét gãi TCP víi cê SYN=1 vµ chøa gi¸ trÞ khëi t¹o sè tuÇn tù ISN cña client. Gi¸ trÞ ISN nµy lµ mét sè 4 byte kh«ng dÊu vµ ®îc t¨ng mçi khi kÕt nèi ®îc yªu cÇu (gi¸ trÞ nµy quay vÒ 0 khi nã tíi gi¸ trÞ 232). Trong th«ng ®iÖp SYN nµy cßn chøa sè hiÖu cæng TCP cña phÇn mÒm dÞch vô mµ tiÕn tr×nh tr¹m muèn kÕt nèi (bíc 1).
Mçi thùc thÓ kÕt nèi TCP ®Òu cã mét gi¸ trÞ ISN míi sè nµy ®îc t¨ng theo thêi gian. V× mét kÕt nèi TCP cã cïng sè hiÖu cæng vµ cïng ®Þa chØ IP ®îc dïng l¹i nhiÒu lÇn, do ®ã viÖc thay ®æi gi¸ trÞ INS ng¨n kh«ng cho c¸c kÕt nèi dïng l¹i c¸c d÷ liÖu ®· cò (stale) vÉn cßn ®îc truyÒn tõ mét kÕt nèi cò vµ cã cïng mét ®Þa chØ kÕt nèi.
Khi thùc thÓ TCP cña phÇn mÒm dÞch vô nhËn ®îc th«ng ®iÖp SYN, nã göi l¹i gãi SYN cïng gi¸ trÞ ISN cña nã vµ ®Æt cê ACK=1 trong trêng hîp s½n sµng nhËn kÕt nèi. Th«ng ®iÖp nµy cßn chøa gi¸ trÞ ISN cña tiÕn tr×nh tr¹m trong trêng hîp sè tuÇn tù thu ®Ó b¸o r»ng thùc thÓ dÞch vô ®· nhËn ®îc gi¸ trÞ ISN cña tiÕn tr×nh tr¹m (bíc 2).
TiÕn tr×nh tr¹m tr¶ lêi l¹i gãi SYN cña thùc thÓ dÞch vô b»ng mét th«ng b¸o tr¶ lêi ACK cuèi cïng. B»ng c¸ch nµy, c¸c thùc thÓ TCP trao ®æi mét c¸ch tin cËy c¸c gi¸ trÞ ISN cña nhau vµ cã thÓ b¾t ®Çu trao ®æi d÷ liÖu. Kh«ng cã th«ng ®iÖp nµo trong ba bíc trªn chøa bÊt kú d÷ liÖu g×; tÊt c¶ th«ng tin trao ®æi ®Òu n»m trong phÇn tiªu ®Ò cña th«ng ®iÖp TCP (bíc 3).
TCP_A TCP_B
Syn, Seq=x
Syn, Seq=y
Ack(x+1)
Ack(y+1)
a) thiÕt lËp kÕt nèi
TCP_A TCP_B
Fin, Seq=x
Ack(x+1)
Fin, Seq=y,
Ack(x+1)
Ack(y+1)
b) KÕt thóc kÕt nèi
H×nh 5. Qu¸ tr×nh kÕt nèi theo 3 bíc
1.6.3. KÕt thóc kÕt nèi
Khi cã nhu cÇu kÕt thóc kÕt nèi, thùc thÓ TCP, vÝ dô cô thÓ A göi yªu cÇu kÕt thóc kÕt nèi víi FIN=1. V× kÕt nèi TCP lµ song c«ng (full-duplex) nªn mÆc dï nhËn ®îc yªu cÇu kÕt thóc kÕt nèi cña A (A th«ng b¸o hÕt sè liÖu göi) thùc thÓ B vÉn cã thÓ tiÕp tôc truyÒn sè liÖu cho ®Õn khi B kh«ng cßn sè liÖu ®Ó göi vµ th«ng b¸o cho A b»ng yªu cÇu kÕt thóc kÕt nèi víi FIN=1 cña m×nh. Khi thùc thÓ TCP ®· nhËn ®îc th«ng ®iÖp FIN vµ sau khi ®· göi th«ng ®iÖp FIN cña chÝnh m×nh, kÕt nèi TCP thùc sô kÕt thóc.
Ch¬ng 2:
C«ng nghÖ DataSocket
2.1. Giíi thiÖu vÒ c«ng nghÖ DataSocket.
X©y dùng hÖ thèng ®o lêng vµ chuyÓn d÷ liÖu ®o lêng cïng c¸c thuéc tÝnh cña chóng víi tèc ®é cao qua m¹ng Internet(TCP/IP) hiÖn lµ bµi to¸n ®uîc nhiÒu lÜnh vùc quan t©m. Ngay nay cac hÖ thèng ®îc x©y dùng víi c¸c thiÕt bÞ ®o ¶o(VI), c¸c hÖ thèng nµy thêng xö dông m« h×nh hÖ thèng ®o lêng ph©n t¸n kÕt hîp kh«ng chÆt. C¸c hÖ thèng ®o nµy cho phÐp dÔ dµng cÊu h×nh l¹i hÖ thèng, phèi hîp c¸c thµnh phÇn cña hÖ thèng ®Ó thùc hiÖn mét phÐp ®o yªu cÇu.
Sù ph¸t t¸n d÷ liÖu qua mang Internet(TCP/IP) cã thÓ thôc hiÖn theo c¸c ph¬ng ph¸p sau:
M¹ng LAN.
M¹ng ®iÖn tho¹i c«ng céng(PSTN).
xDSL.
Wireless.
Leased Line
Trªn thÕ giíi cã nhiÒu h·ng ph¸t triÓn vµ trî gióp c¸c hÖ thèng nµy, nhÊt lµ h·ng National Instruments, h·ng nµy ®· ph¸t triÓn c¸c ®iÒu khiÓn ActiveX dµnh cho thu thËp d÷ liÖu ®o lêng, ph¸t triÓn giao diÖn, xö lÝ d÷ liÖu vµ ph¸t t¸n d÷ liÖu ®o lêng víi tèc ®é cao qua m¹ng Internet dùa trªn c¬ së c«ng nghÖ DataSocket. Víi c¸c th viÖn ®ã ngêi sö dông dÔ dµng ph¸t triÓn c¸c øng dông ®o lêng vµ ®iÒu khiÓn qua m¹ng TCP/IP víi sù tÝch hîp m¹nh mÏ cña c«ng nghÖ WEB, nã cho phÐp ngêi sö dông truy cËp d÷ liÖu ®o lêng kh«ng kh¸c g× truy cËp c¸c trang Web th«ng thêng, ®ång thêi ®iÒu ®ã còng cho c¬ héi dÔ dµng tÝch hîp d÷ liÖu ®o lêng víi c¸c c«ng nghÖ kh¸c.
2.2. DataSocket lµ g× ?
DataSocket lµ mét c«ng nghÖ lËp tr×nh míi dùa trªn c¬ së chuÈn c«ng nghiÖp TCP/IP, ®Ó lµm ®¬n gi¶n hãa viÖc trao ®æi d÷ liÖu gi÷a c¸c øng dông kh¸c nhau trªn mét m¸y tÝnh hoÆc gi÷a nh÷ng m¸y tÝnh ®îc kÕt nèi víi nhau qua m¹ng. DataSocket thùc hiÖn mét giao diÖn lËp tr×nh cã hiÖu n¨ng cao vµ dÔ sö dông, cho phÐp thiÕt kÕ chia sÎ vµ ph¸t sinh d÷ liÖu Online trong c¸c hÖ thèng ®o lêng vµ tù ®éng hãa.
V× DataSocket lµ c«ng cô lËp tr×nh míi nªn nã ®îc sö dông trong nhiÒu øng dông kh¸c nhau nh x©y dùng m¹ng liªn kÕt mét c¸ch thèng nhÊt vµ hiÖu qu¶ gi÷a c¸c phßng thÝ nghiÖm cña c¸c c¬ quan nghiªn cøu, c¸c trêng ®¹i häc vµ c¸c trung t©m ®µo t¹o trong níc còng nh quèc tÕ víi nhau. Tõ ®ã t¨ng kh¶ n¨ng hîp t¸c nghiªn cøu khoa häc, chia sÎ tµi nguyªn, tiÕt kiÖm ®¸ng kÓ c¸c thiÕt bÞ khoa häc, hÖ thèng thÝ nghiÖm ®¾t tiÒn hiÖn nay. Khi ¸p dông c«ng nghÖ DataSocket chóng ta cã thÓ khai th¸c ®îc hÕt tÝnh n¨ng còng nh c«ng suÊt cña c¸c hÖ thèng thÝ nghiÖm ®a n¨ng nhng l¹i ®Æt ë c¸c trung t©m cã vÞ trÝ xa nhau.
C¸c ®Æc trng cña DataSocket:
§äc vµ viÕt d÷ liÖu gi÷a nhiÒu ®Ých vµ nhiÒu nguån d÷ liÖu kh¸c nhau.
C¸c nguån vµ ®Ých d÷ liÖu ®îc chØ ra th«ng qua c¸c URL gièng nh truy cËp trang WEB b»ng tr×nh duyÖt WEB.
Giao diÖn lËp tr×nh ®¬n gi¶n, ®éc lËp cho phÐp truy cËp tíi c¸c Server File, FTP, HTTP, OPC.
Giao thøc truyÒn DataSocket(DSTP) lµ giao thøc riªng cña DataSocket, cho phÐp trao ®æi d÷ liÖu víi mäi kiÓu d÷ liÖu th«ng qua c¸c DataSocket Server, thËm trÝ cho phÐp truyÒn c¶ c¸c Frame ¶nh Online(ChuyÓn ¶nh vÒ d¹ng m¶ng vµ truyÒn) vµ tiÕn nãi.
M« h×nh ph¸t t¸n d÷ liÖu dïng DataSocket
H×nh 6: M« h×nh ph¸t t¸n d÷ liÖu
2.3. C¸c thµnh phÇn cña c«ng nghÖ DataSocket.
C«ng nghÖ DataSocket gåm 2 phÇn.
+ DataSocket API.
+ DataSocket Server.
2.3.1. DataSocket API.
DataSocket API lµ mét giao diÖn ®Ó giao tiÕp víi nhiÒu kiÓu d÷ liÖu tõ nhiÒu ng«n ng÷ th«ng qua m¹ng.
DataSocket API sö dông nh mét ®iÒu khiÓn ActiveX, nã lµ mét th viÖn cña LabWindows/CVI vµ cho phÐp nhóng vµo c¸c m«i trêng lËp tr×nh øng dông kh¸c nhau nh VB, VC++, LabVIEW.
C¬ chÕ ho¹t ®éng cña DataSocket API: Tù ®éng thùc hiÖn chuyÓn d÷ liÖu ®o lêng thµnh mét luång c¸c Byte mµ cã thÓ göi ®îc qua m¹ng ®Õn ®Þa chØ ®Ých, c¸c øng dông DataSocket phÝa nhËn sÏ chuyÓn luång Byte d÷ liÖu ®ã vÒ d¹ng gèc cña nã, sù chuyÓn ®æi tù ®éng nµy lµm ®¬n gi¶n vÊn ®Ó ph¸t triÓn c¸c øng dông trªn m¹ng.
DataSocket gåm 4 thao t¸c c¬ b¶n: Open(Më), Read(§äc), Write(Ghi), Close(§ãng), cho phÐp b¹n më kªnh d÷ liÖu, ®äc ho¹c viÕt d÷ liÖu qua kªnh ®ã vµ ®ãng kªnh d÷ liÖu khi kÕt thóc. Ta cã thÓ sö dông DataSocket API cïng mét sè ch¬ng tr×nh ®Ó ®äc d÷ liÖu tõ: HTTP Servers, FTP Servers, Local Files, DSTP Servers.
2.3.2. DataSocket Server.
DataSocket lµ mét Modul phÇn mÒm ®éc lËp víi DataSocket API dïng ®Ó qu¶ng b¸ d÷ liÖu ®o Online qua m¹ng Internet tíi c¸c Client tõ xa víi tèc ®é cao. DataSocket Server ®¬n gi¶n hãa truyÒn th«ng qua Internet víi giao thøc lËp tr×nhTCP/IP, nã tù ®éng qu¶n lÝ c¸c kÕt nèi cña Client.
HÖ thèng thùc hiÖn ph¸t t¸n d÷ liÖu qua m¹ng sö dông DataSocket gåm 3 thµnh phÇn:
+ Bé phËn xuÊt b¶n d÷ liÖu(Publisher).
+ DataSocket Server
+ Bé phËn nhËn d÷ liÖu(Subscriber).
Bé phËn xuÊt d÷ liÖu(Publisher): Sö dông DataSocket API ®Ó viÕt d÷ liÖu thu ®îc tõ c¸c øng dông thu nhËp d÷ liÖu(C¸c thiÕt bÞ ®o, c¸c hÖ thu thËp d÷ liÖu...) tíi Server.
C¸c øng dông nhËn d÷ liÖu(Subscriber): Sö dông DataSocket API ®Ó ®äc d÷ liÖu tõ phÝa Server, c¶ øng dông xuÊt vµ øng dông nhËn ®Òu lµ c¸c Client cña DataSocket Server. C¶ 3 thµnh phÇn ®Ó qu¶ng b¸ d÷ liÖu cã thÓ n»m trªn cïng mét m¸y ho¹c trªn c¸c m¸y tÝnh kh¸c nhau.
DataSocket Server:
+ Kh¶ n¨ng ch¹y DataSocket Server trªn c¸c m¸y kh¸c nhau c¶i t¹o ®¸ng kÓ ho¹t ®éng vµ kh¶ n¨ng an toµn cña c¸c hÖ thèng ®o lêng v× nã ®îc c¸ch li qua m¹ng m¸y tÝnh.
+ DataSocket Server lµ mét gi¶i ph¸p dÔ sö dông.
Publisher
Publisher2
Publisher3
Publisher1
DataSocket Server
H×nh 7: C¸c thµnh phÇn c¬ b¶n cña DataSocket.
H¹t nh©n c¬ b¶n ®Ó ph¸t triÓn øng dông trong c¸c m«i trêng kh¸c nhau cña c«ng nghÖ DataSocket lµ c¸c ®èi tîng ActiveX CWDataSocket vµ CWData.
§èi tîng CWDataSocket lµ thµnh phÇn cho phÐp kÕt nèi c¸c nguån d÷ liÖu kh¸c nhau ®Ó ®äc d÷ liÖu tõ nguån vµ viÕt d÷ liÖu tíi ®Ých. CWDataSocket lu gi÷ d÷ liÖu trong c¸c ®èi tîng CWData.
CWDataSocket
Properties
Methods
Events
AccessMode
ActualURL
AutoConnect
Data
DataUpdated
LastError
LastMessage
Status
StatusUpdated
URL
AboutBox
Connect
ConnectTo
Disconnect
SelectURL
Update
OnDataUpdated
OnStatusUpdated
Bang1: C¸c thuéc tÝnh, ph¬ng ph¸p, sù kiÖn cña CWDataSocket.
§èi tîng CWData gi÷ c¸c gi¸ trÞ vµ thuéc tÝnh g¾n víi c¸c gi¸ trÞ d÷ liÖu ®ã th«ng qua c¸c thuéc tÝnh Data.
CWData
Properties
Methods
Events
Value
CopyFrom
DeleteAttribute GetAttribute
GetAttributeNames HasAttributeReset
SetAttribute
Bang2: C¸c thuéc tÝnh, ph¬ng ph¸p vµ sù kiÖn cña CWData.
Sau ®©y, chóng ta sÏ nÕu có ph¸p vµ c¸ch sö dông mét sè thuéc tÝnh, sù kiÖn vµ ph¬ng ph¸p quan träng cña CWDataSocket:
Thuéc tÝnh
- Thuéc tÝnh AccessMode: §Ó chØ cho Datasocket t¹o ra kÕt nèi ®äc hay viÕt khi t¹o ra kÕt nèi tíi nguån d÷ liÖu ®äc hay viÕt.
+ Có ph¸p:
CWDataSocket.AccessMode
+ KiÓu d÷ liÖu:
CWDSAccessModes
+ C¸c h»ng sè cã thÓ ®îc sö dông víi kiÓu d÷ liÖu CWDSAccessModes
-/KiÓu cwdsRead: KiÓu nµy khai b¸o ®Ó ®äc d÷ liªu khi kÕt nèi ®· ®îc thiÕt lËp. KiÓu nµy còng cã thÓ ®îc thiÕt ®Æt bµng c¸ch gäi ph¬ng ph¸p Update.
-/KiÓu cwdsReadAutoUpdate: §äc d÷ liÖu mét khi kÕt nèi ®· ®wocj thiÕt lËp vµ tù ®éng ®äc l¹i khi d÷ liÖu nguån ®îc cËp nhËt.
-/ KiÓu cwdsReadWriteAutoUpdate: KiÓu nµy dïng ®Ó viÕt d÷ liÖu hiÖn thêi khi kÕt nèi ®· ®îc t¹o. D÷ liÖu sÏ ®îc tù ®éng viÕt l¹i khi mäi thuéc tÝnh hoÆc gi¸ trÞ ®îc ®Æt. §ång thêi kiÓu nµy còng cho phÐp ®äc d÷ liÖu vµ tù ®éng ®äc l¹i khi d÷ liÖu t¹i nguån d÷ liÖu ®îc cËp nhËt.
-/ KiÓu cwdsWrite: ViÕt d÷ liÖu hiÖn thêi mét khi kÕt nèi ®îc thiÕt ®Æt. Sù viÕt l¹i cã thÓ ®îc thùc hiÖn bµng c¸ch gäi ph¬ng ph¸p Update.
-/ KiÓu cwdsWriteAutoUpdate: KiÓu nµy chØ ra cho phÐp viÕt d÷ liÖu hiÖn thêi khi kÕt nèi ®· ®îc thiÕt lËp, d÷ liÖu sÏ ®îc viÕt l¹i tù ®éng khi thuéc tÝnh hoÆc gi¸ trÞ ®îc ®Æt.
+ VÝ dô:
'§Æt thuéc tÝnh AccesMode, URL vµ connect tíi nguån d÷ liÖuCWDataSocket1.AccessMode = cwdsReadCWDataSocket1.URL = ""CWDataSocket1.Connect' Thuéc tÝnh AccessMode vµ URL cã thÓ ®îc ®Æt víi ph¬ng ph¸p ConnectTo CWDataSocket1.ConnectTo "", cwdsRead
- Thuéc tÝnh ActualURL(chØ ®äc): ChØ ra URL cña nguån hoÆc ®Ých d÷ liÖu mµ DataSocket kÕt nèi tíi.
+ Có ph¸p:
CWDataSocket.ActualURL
+ KiÓu d÷ liÖu: String
+ VÝ dô:
' HiÓn thÞ URL trong hép text cña giao diÖn ngêi sö dông. Text1.Text = CWDataSocket1.ActualURL
- Thuéc tÝnh Data: Chi ra d÷ liÖu vµ thuéc tÝnh mµ CWDateSocket nhËn ®îc tõ nguån d÷ liÖu hoÆc ®îc ®Æt côc bé.
+ Có ph¸p:
CWDataSocket.Data
+ KiÓu d÷ liÖu: CWData
+ VÝ dô:
' LÊyd÷ liÖu hiÖn thêi tõ DataSocketDim v As Variantv = CWDataSocket1.Data.Valuev = CWDataSocket1.Data'G¸n d÷ liÖu CWDataSocket1.Data.Value = 10'G¸n mét chuçi CWDataSocket1.Data.Value = "Sample1"
- Thuéc tÝnh URL: ChØ ra n¬i nguån d÷ liÖu nguån hoÆc ®Ých mµ CWDataSocket kÕt nèi tíi.
+ Có ph¸p:
CWDataSocket.URL
+ KiÓu d÷ liÖu: String
+ C¸c kiÓu URL trî gióp:
Giao thøc
VÝ dô
DataSocket Server ("dstp:")
dstp://localhost/wave
dstp://machine/item
Standard Web Server ("http:")
Standard FTP Sites ("ftp:")
ftp://ftp.ni.com/datasocket/ping.wav
The ftp site should allow anonymous connections.
Lookout/Logos objects ("lookout:" or "logos:")
lookout://localhost/testprocess/pot1.value
logos://localhost/testprocess/pot1.value
Files directly accessible from your file system ("file:")
file:ping.wav
file:c:/mydata/ping.wav
file://machine/mydata/ping.wav
OLE for Process Control (OPC) Servers ("opc:")
opc:/National Instruments.OPCDemo/sine
opc:/National Instruments.OPCDemo/sine?Accesspath=sine
opc://machine/National Instruments.OPCModbus/Modbus Demo Box.4:0
opc://machine/National Instruments.OPCModbus/Modbus Demo Box.4:0?updaterate=100&deadband=0.7
+ VÝ dô:
'§Æt thuéc tÝnh AcessMode, URL vµ connect tíi nguån d÷ liÖu
CWDataSocket1.AccessMode = cwdsReadCWDataSocket1.URL = ""CWDataSocket1.Connect'Thuéc tÝnh AccessMode vµ URL còng cã thÓ ®Æt víi ConnectToCWDataSocket1.ConnectTo "", cwdsRead
Ph¬ng ph¸p
- Ph¬ng ph¸p Connect: KÕt nèi CWDataSocket tíi nguån hoÆc ®Ých d÷ liÖu.
+ Có ph¸p:
CWDataSocket.Connect
+ VÝ dô:
'Set the AccessMode and URL properties and connect'to a data source.CWDataSocket1.AccessMode = cwdsReadCWDataSocket1.URL = ""CWDataSocket1.Connect'The AccessMode and URL also can be set with ConnectTo. CWDataSocket1.ConnectTo "", cwdsRead
- Ph¬ng ph¸p ConnectTo: KÕt nèi CWDataSocket tíi nguån hoÆc ®Ých d÷ liÖu.
+ Có ph¸p:
CWDataSocket.ConnectTo URL, AccessMode
+ VÝ dô:
'Set the AccessMode and URL properties and connect'to a data source.CWDataSocket1.AccessMode = cwdsReadCWDataSocket1.URL = ""CWDataSocket1.Connect'The AccessMode and URL also can be set with ConnectTo. CWDataSocket1.ConnectTo "", cwdsRead
- Ph¬ng ph¸p Update: CWDataSocket ®äc dù liÖu tõ nguån hoÆc viÕt d÷ liÖu tíi ®Ých.
+ Có ph¸p:
CWDataSocket.Update
- Ph¬ng ph¸p SelectURL: Cho phÐp t¬ng t¸c vµ chän c¸c môc d÷ liÖu trªn DataSocket, C¸c server OPC, c¸c thiÕt bÞ Fieldpoint, ®èi tîng Lookout, vµ c¸c tÖp.
+ KiÓu d÷ liÖu: Bool
+ Có ph¸p:
CWDataSocket.SelectURL ( [startURL] [, Title] [, Options] [, Filters])
+ C¸c tham sè:
- / startURL: nh Variant
[Tuú chän]: lµ chuçi chøa URL. NÕu startURL is "opc:", "dstp:", "logos:", "file", hoÆc nÕu bá qua tham sè nµy, ph¬ng ph¸p më mét tr×nh duyÖt cho phÐp ngêi sö dông t×m vµ chän c¸c môc d÷ liÖu.
-/ Title: Nh Variant
[Tuú chän]: Tiªu ®Ò cña hép tho¹i SelectURL.
-/ Options As Variant
[Tuú chän]: C¸c cê truyÒn tíi hép tho¹i.
-/ Filters: nh Variant
[Tuú chän]: Läc chuçi truyÒn tíi hép tho¹i, vÝ dô nh tÊt c¶ c¸c tÖp: (*.*)|*.*
- VÝ dô:
'Browse for data items.CWDataSocket1.SelectURL "opc:"'Browse for files in the test directory. CWDataSocket1.SelectURL "file:c:
- Ph¬ng ph¸p Disconnect: Huû bá kÕt nèi cña CWD©tSocket tãi môc d÷ liÖu hiÖn thêi.
+ Có ph¸p:
CWDataSocket.Disconnect
+ VÝ dô:
CWDataSocket1.Disconnect
C¸c sù kiÖn:
- Sù kiÖn OnDataUpdated Event: Ph¸t sÞnh khi gi¸ trÞ cña CWDataSocket ®îc cËp nhËt.
+ Có ph¸p:
Sub ControlName_OnDataUpdated( Data As CWData)
+ ¸p dông cho
CWDataSocket
+ VÝ dô:
Private Sub CWDataSocket1_OnDataUpdated(Data as CWData) 'Graph the new data CWGraph1.PlotY Data.Value End Sub
- Sù kiÖn OnStatusUpdated Event: Ph¸t sÞnh khi tr¹ng th¸i cña kÕt nèi thay ®«i:
+ Có ph¸p:
Sub ControlName_OnStatusUpdated( Status As CWDSStatus, Error As Long, Message As String)
+ ¸p dông víi:
CWDataSocket
+ VÝ dô: Private Sub CWDataSocket1_OnStatusUpdated(ByVal Status As Long, ByVal Error As Long, ByVal Message As String) 'Display the current status in the form ' [status:error] Message. Text1.Text = "[" & Status & ":" & Error & "]" & Message End Sub
2.4. Giao thøc DSTP
Giao thøc DSTP lµ giao thøc quan träng trong viÖc ph¸t t¸n d÷ liÖu tèc ®é cao qua m¹ng Internet.
2.4.1. C¸c ®Æc ®iÓm cña giao thøc DSTP.
- DSTP lµ mét giao thøc líp øng dông ®Ó truyÒn d÷ liÖu tíi n¬i ®äc d÷ liÖu tõ mét Server DSTP goi lµ DataSocket Server. DSTP ®îc thùc hiÖn trªn nÒn TCP/IP vµ cung cÊp truyÒn th«ng híng kÕt nèi gi÷a Server vµ Client. Trong ®ã phÝa Client sÏ duy tr× phiªn truyÒn th«ng víi phÝa Server. Trong phiªn truyÒn th«ng ®ã phÝa Server sÏ gi÷ c¸c th«ng tin kÕt nèi cña phÝa Client. M¸y Client cung cÊp d÷ liÖu ®o tíi phÝa Server vµ ®îc coi nh nh÷ng bé xuÊt b¶n d÷ liÖu (Publisher) hay lµ n¬i viÕt d÷ liÖu. Cßn phÝa nh©n d÷ liÖu ®îc coi lµ nhng n¬i ®äc hay thµnh viªn nhËn d÷ liÖu(Subscribes => Thµnh viªn thuª d÷ liÖu).
C¸c thµnh phÇn.
Trong hÖ thèng DSTP gåm 3 thµnh phÇn:
- DataSocket Server.
- N¬i xuÊt b¶n d÷ liÖu.
- N¬i nhËn d÷ liÖu.
N¬i xuÊt b¶n d÷ liÖu: Thu thËp d÷ liÖu tõ thiÕt bÞ thu thËp d÷ liÖu côc bé hoÆc tõ xa vµ göi nã tíi m¸y Server. M¸y Server cã thÓ ®îc ®Þnh trªn cïng m¸y côc bé hay trªn m¸y tõ xa qua m¹ng Internet.
N¬i nhËn d÷ liÖu: NhËn d÷ liÖu tõ m¸yServer. §èi víi c¸c øng dông phøc t¹p yªu cÇu nhiÒu h¬n mét Publisher vµ nhiÒu h¬n mét Server.
NhËn biÕt d÷ liÖu ®o lêng trªn mét Server.
Sö dông URL ®Ó nhËn biÕt vÞ trÝ cña d÷ liÖu ®o ®êng trªn Server. Mét URL DSTP chØ thÞ tªn cña Server DataSocket vµ ®êng dÉn truy cËp ®èi víi mét môc d liÖu ®o lêng cô thÓ. C¸c Publisher vµ Subscriber cÇn chØ tíi môc d÷ liÑu bëi cïng mét URL.
2.4.2. C¸ch sö dông.
ThiÕt lËp mét phiªn lµm viÖc
Ngêi sö dông t¬ng t¸c víi DSTP b»ng c¸ch sö dông giao diÖn lËp tr×nh óng dông DataSocket API trong mét øng dông phÇn mÒm National Instruments.
§Ó thiÕt lËp mét kÕt nèi tíi mét DataSocket Server sö dông API DataSocket ngêi sö dông chØ cÇn viÕt tíi URL, sau ®ã Client sÏ th«ng qua mét vµi bíc ®Ó thiÕt lËp mét kÕt nèi DSTP.
C¸c bíc thc hiÖn kÕt nèi DSTP:
Bíc 1: §Ó thiÕt lËp mét phiªn víi Server: Client göi th«ng ®iÖp “Request to log on” tíi Server. Yªu cÇu còng bao gåm sè phiªn b¶n DSTP ®èi víi phiªn kÕt nèi.
Bíc 2: NÕu Server chÊp nhËn kÕt nèi nã sÏ göi l¹i mét th«ng b¸o ®Ó x¸c nhËn sè phiªn b¶n DSTP.
Bíc 3: Client göi l¹i mét yªu cÇu ®Ó kÕt nèi tíi mét URL cô thÓ trªn Server.
C¸c URL thÓ hiÖn d÷ liÖu ®o lêng cô thÓ trªn DataSocket Server ®îc quy chiÕu nh lµ c¸c môc DataSocket. DataSocket Server sö dông cïng kÕt nèi TCP ®èi víi tÊt c¶ c¸c môc tån t¹i trong cïng kh«ng gian xö lý ®ã.
Hinh 8: ThiÕt lËp mét phiªn kÕt nè tíi DataSocket Server.
TruyÒn vµ nhËn d÷ liÖu.
§Ó truyÒn d÷ liÖu tíi Server , Client göi toµn bé phÇn ®Çu mét th«ng ®iÖp tíi Server ®Ó viÕt d÷ liÖu ®îc ®ãng gãi trong th«ng ®iÖp nh lµ mét gi¸ trÞ míi ®èi víi d÷ liÖu. Th«ng ®iÖp còng bao gåm URL nhË d¹ng d÷ liÖu trªn Server, ®Ó yªu cÇu d÷ liÖu tõ Server, Client göi th«ng ®iÖp yªu cµu gi¸ trÞ d÷ liÖu gÇn ®©y nhÊt. Th«ng ®iÖp còng gåm URL cña d÷ liÖu yªu cÇu tõ Server. Client nh©n d÷ liÖu t÷ Server qua c¸c yªu cÇu d÷ liÖu râ rµng ho¹c qua mét kÕt nèi cËp nhËt tù ®éng, Server göi d÷ liÖu cËp nhËt tíi Subssribes ®îc lËp tr×nh ®Ó cËp nhËt tù ®éng ngay khi Server nhËn gi¸ trÞ míi tõ Publisher.
KÕt thóc mét phiªn.
§Ó kÕt thóc kÕt nèi, Client göi yªu cÇu th«i kÕt nèi tíi Server.
Ch¬ng 3
Thö nghiÖm ph¸t t¸n d÷ liÖu qua m¹ng TCP/IP
sö dông DataSocket
M« h×nh hÖ thö nghiÖmServer
-Win 2000 -DataSocket Server
-LabView, VB
-Server.VI
- CSDL Excel
HÖ ®o lêng th«ng sè nhiÖt ®é.
(Sensor, Card ®a n¨ng AT-MIO-16EX-10)
Client I
-LabView
-Client.VI
-CSDL Excel
M¹ng côc bé
Modem
Client II
-LabView
-Client.VI
-CSDL Excel
Modem
PSTN
H×nh 9. M« h×nh hÖ thèng thö nghiÖm
M« t¶ phÇn cøng
PhÇn cøng thö nghiÖm bao gåm:
*) M¹ng LAN gåm 2 m¸y tÝnh víi cÊu h×nh:
+ CPU: P4-2GHz
+ RAM: 256MB
+ HDD: 20GB
+ Card m¹ng, cable m¹ng
+ Monitor, keyboard, mouse
*) Card AT-MIO-16XE-10
§©y lµ card ®a n¨ng, bao gåm: 16 kªnh AI, 2 kªnh AO, 8 kªnh DIO vµ c¸c m¹ch ®Õm, c¸c m¹ch ph¸t xung. S¬ ®å khèi cña card thÓ hiÖn nh h×nh vÏ 10
H×nh 10. S¬ ®å khèi card AT-MIO-16XE-10
- Bé ghÐp nèi SCB-68 vµ cable
- Bé chØ thÞ tÝn hiÖu sè led
- Bé chØ thÞ Led dïng ®Ó chØ thÞ tÝn hiÖu ®iÒu khiÓn sè göi tõ m¸y tõ xa qua m¹ng, gåm 8 kªnh sè DIO.
- Bé chØ thÞ tÝn hiÖu hiÖn sè
- Bé chØ thÞ tÝn hiÖu hiÖn sè dïng chÝp ICL7107 ®Ó chØ thÞ sè. Bé nµy nhËn tÝn hiÖu Analog tõ m¸y tõ xa göi ®Õn m¸y côc bé vµ ®îc ®a qua bé DAC tíi bé chØ thÞ tÝn hiÖu ®iÖn ¸p.
- M¹ch ®Çu ®o nhiÖt ®é PT100
- Sensor PT100
M« t¶ phÇn mÒm
Ch¬ng tr×nh phÇn mÒm gåm 2 ch¬ng tr×nh: Ch¬ng tr×nh server cµi ®Æt trªn m¸y chñ vµ ch¬ng tr×nh client cµi ®Æt trªn c¸c m¸y tr¹m. . Trong LabVIEW cã c¸c lÖnh cho phÐp lËp tr×nh øng dông lµm viÖc víi DataSocket mét c¸ch thuËn tiÖn, dÔ dµng:
LÖnh Select: Chän URL DataSocket nguån ®Ó ®äc d÷ liÖu hoÆc ®Ých ®Ó viÕt d÷ liÖu
LÖnh DataSocket Read: §äc d÷ liÖu tõ kÕt nèi ®îc chØ bëi URL vµ tr¶ vÒ d÷ liÖu
LÖnh DataSocket Write: ViÕt d÷ liÖu tíi kÕt nèi DataSocket ®îc chØ bëi URL
C¸c lÖnh gép d÷ liÖu vµ t¸ch d÷ liÖu ®Ó truyÒn qua m¹ng. D÷ liÖu qua m¹ng lµ lo¹i d÷ liÖu kh«ng ®Þnh kiÓu Variant.
LÊy thuéc tÝnh vµ gi¸ trÞ g½n víi d÷ liÖu kiÓu Variant
Thay ®æi hoÆc t¹o thuéc tÝnh vµ gi¸ trÞ ®èi víi kiÓu d÷ liÖu
Variant
Ch¬ng tr×nh sö dông giao thøc DSTP ®Ó ph¸t t¸n d÷ liÖu qua m¹ng.
Ch¬ng tr×nh cµi trªn m¸y chñ Datasocket: Ch¬ng tr×nh nµy gåm cã c¸c modul:
+ Modul nhËn tÝn hiÖu vµo Analog
+ Modul nhËn tÝn hiÖu vµo sè
+ Modul ®a tÝn hiÖu ra Analog
+ Modul ®a tÝn hiÖu ra sè
+ Modul truyÒn ph¸t t¸n d÷ liÖu ®o lêng qua m¹ng Internet
PhÇn mÒm nµy thùc hiÖn c¸c chøc n¨ng sau:
+ Khëi t¹o c¸c cæng, card AT-MIO-16XE-10
+ Khëi t¹o DataSocket Server
+ §Æt server ë tr¹ng th¸i nghe
+ NhËn tÝn hiÖu t¬ng tù tõ c¸c sensor, c¸c thuéc tÝnh cña d÷ liÖu ®o vµ chuyÓn qua m¹ng
+ NhËn tÝn hiÖu sè tõ c¸c m¹ch logic ®Çu vµo vµ chuyÓn qua m¹ng
+ NhËn c¸c tÝn hiÖu ®iÒu khiÓn t¬ng tù vµ sè tõ c¸c client trªn m¹ng vµ ®a ra chØ thÞ hoÆc ®iÒu khiÓn
+ Cho phÐp chuyÓn ®æi gi÷a 2 chÕ ®é Remote/Local
+ T¹o giao diÖn dÏ dµng sö dông
+ Cho phÐp dÔ dµng chän kªnh vµ chän thiÕt bÞ
H×nh 13 lµ giao diÖn ngêi sö dông ®Ó nhËn d÷ liÖu tõ xa vµ ®a ra ®iÒu khiÓn thiÕt bÞ qua card AT- MIO-16XE-10. Nã cã 2 mode thùc hiÖn:
Mode côc bé cho phÐp ®a ra tÝn hiÖu ®iÒu khiÓn tõ m¸y côc bé
Mode tõ xa cho phÐp nhËn tÝn hiÖu ®iÒu khiÓn tõ c¸c client vµ ®a ra ®iÒu khiÓn thiÕt bÞ.
Trong giao diÖn nµy cã c¸c trêng:
§Þa chØ URL ®Ó ®äc d÷ liÖu
HiÓn thÞ tr¹ng th¸i kÕt nèi
HiÓn thÞ ®å ho¹ tÝn hiÖu truÒn ®Õn tõ xa víi c¸c thuéc tÝnh tõ xa
Trêng chän kªnh tÝn hiÖu t¬ng tù, cho phÐp ®Õn 2 kªnh ®a tÝn hiÖu ra
Trêng chän thiÕt bÞ sè
Trêng chän kªnh sè
C¸c nót ®iÒu khiÓn sè ®Ó ®a ra tÝn hiÖu sè côc bé trong mode côc bé
C¸c led chØ thÞ tÝn hiÖu sè tõ xa göi tíi trong mode tõ xa
§ång hå chØ thÞ ®iÖn ¸p ®a ra ®iÒu khiÓn trong mode côc bé hoÆc tõ xa
H×nh 11 - 12 lµ m· cña2 modul ch¬ng tr×nh chÝnh server vµ client
Hinh 11. Modul cña ch¬ng tr×nh Client
Hinh 12. Modul ch¬ng tr×nh Server
H×nh 14 lµ s¬ ®å ph©n cÊp cña ch¬ng tr×nh nhËn d÷ liÖu ®iÒu khiÓn tõ xa vµ ®a ra ®iÒu khiÓn thiÕt bÞ.
H×nh 15, 16 lµ giao diÖn vµ s¬ ®å ph©n cÊp cña phÇn ch¬ng tr×nh nhËn d÷ liÖu ®Çu vµo tõ thiÕt bÞ vµ chuyÓn ph¸t t¸n qua m¹ng Internet nhê c«ng nghÖ truyÒn tèc ®é cao DataSocket. Giao diÖn cña phÇn ch¬ng tr×nh nµy cã c¸c trêng sau:
Trêng chän thiÕt bÞ
Trêng chän kªnh
Trêng ®Æt d¶i tÝn hiÖu ®îc phÐp nhËn
Trêng chuyÓn ®æi mode nhËn tÝn hiÖu tõ thiÕt bÞ ngoµi ®a vµo hoÆc m« pháng(AI/Sample)
Trêng Target ®Ó nhËp ®Þa chØ URL cña ®Ých sÏ viÕt d÷ liÖu ph¸t t¸n.
Trêng Timestam ®Ó chØ thÞ thuéc tÝnh thêi gian cña dù liÖu
Trêng ph¸t sinh tÝn hiÖu sè ®Ó ph¸t t¸n qua m¹ng...
Ch¬ng tr×nh cµi trªn m¸y chñ Datasocket: Ch¬ng tr×nh nµy gåm cã c¸c modul:
+ Modul nhËn tÝn hiÖu vµo Analog
+ Modul nhËn tÝn hiÖu vµo sè
+ Modul ®a tÝn hiÖu ra Analog
+ Modul ®a tÝn hiÖu ra sè
+ Modul truyÒn ph¸t t¸n d÷ liÖu ®o lêng qua m¹ng Internet
H×nh 13. Giao diÖn phÇn ®iÒu khiÓn Local/Remote
H×nh 14. Lîc ®å ph©n cÊp cña phÇn ®iÒu khiÓn Local/Remote
H×nh 15. Giao diÖn phÇn ph¸t t¸n d÷ liÖu ®o lêng qua Internet
H×nh 16. S¬ ®å ph©n cÊp cña phÇn ph¸t t¸n d÷ liÖu ®o lêng qua m¹ng Internet
Ch¬ng tr×nh client: Ch¬ng tr×nh client cµi ®Æt trªn c¸c m¸y trªn m¹ng, nã gåm c¸c modul sau:
+ Modul nhËn tÝn hiÖu ®iÒu khiÓn
+ Modul gØ tÝn hiÖu ®iÒu khiÓn ®Õn server
+ Modul nhËn d÷ liÖu ®o lêng göi ®Õn tõ server
+ Modul nhËn tÝn hiÖu ®iÒu khiÓn tõ ngêi dïng vµ chuyÓn qua m¹ng tíi server ®Ó ®iÒu khiÓn thiÕt bÞ trªn m¸y tõ xa
+ HiÓn thÞ d÷ liÖu ®å ho¹.
Giao diÖn cña ch¬ng tr×nh phÇn nhËn tÝn hiÖu ph¸t t¸n vµ phÇn ®iÒu khiÓn tõ xa thÓ hiÖn nh h×nh 15, 16.
H×nh 17. Giao diÖn ch¬ng tr×nh trªn m¸y client
C¶ 2 phÇn mÒm ®Òu ®îc viÕt b»ng ng«n ng÷ LABVIEW
Thö nghiÖm vµ kÕt qu¶
Trªn s¬ ®å thö nghiÖm, m¸y chñ server cã cµi ®Æt modul phÇn mÒm DataSocket Server, tr×nh qu¶n trÞ DataSocket Server, tr×nh øng dông ®îc x©y dùng trong m«i trêng LabVIEW.
HÖ thèng thö nghiÖm gåm:
M¸y server cµi Datasocket Server, Client 1 nèi m¹ng côc bé NT víi m¸y Server
PhÇn mÒm LabVIEW ®îc cµi trªn c¸c m¸y tÝnh.
Tr×nh øng dông Server.VI vµ Client.VI ®îc ph¸t triÓn trong m«i trêng LabVIEW.
3.2.1. Cµi ®Æt hÖ thèng
Cµi ®Æt LabView trªn c¸c hÖ m¸y tÝnh.
Dïng tr×nh Measurement & Automation ®Ó kh¸i b¸o thiÕt bÞ card AT-MIO-16XE-10 lµ lo¹i card vµo/ra ®a chøc n¨ng víi ®é ph©n gi¶i cao.
H×nh 18. Tr×nh Measurement & Automation
Sö dông tr×nh DataSocket Server manager ®Ó khai b¸o c¸c nhãm lµm viÖc vµ ®Þnh nghÜa c¸c môc d÷ liÖu, tªn c¸c kÕt nèi viÕt, ®äc d÷ liÖu, sè kÕt nèi cùc ®¹i. Tr×nh qu¶n trÞ DataSocket Server cho phÐp tíi hµng ngh×n kÕt nèi thùc hiÖn ®ång thêi.
H×nh 19. Tr×nh qu¶n trÞ DataSocket Server
Khëi t¹o DataSocket Server, mµn h×nh cã d¹ng sau:
H×nh 20. Mµn h×nh kiÓm thÞ DataSocket Server
Khëi t¹o ch¬ng tr×nh øng dông ph¸t triÓn trong m«i trêng LabVIEW Server.VI vµ client.VI ®Ó thu thËp d÷ liÖu qua card ADC/DAC, ®ång thêi ®îc viÕt qua kÕt nèi DataSocket Server.
Thùc nghiÖm ®· thùc hiÖn c¸c c«ng viÖc sau:
Ph¸t t¸n d÷ liÖu ®äc ®Çu vµo hoÆc d÷ liÖu mÉu c¶ lo¹i t¬ng tù víi c¸c thîc tÝnh cña d÷ liÖu vµ sè qua m¹ng Internet vµ chØ thÞ c¸c kÕt qu¶ trªn m¸y tÝnh tõ xa.
Thùc hiÖn göi tÝn hiÖu ®iÒu khiÓn tõ xa tíi m¸y ®Ó ®a ra ®iÒu khiÓn thiÕt bÞ c¶ lo¹i sè vµ t¬ng tù.
Thö nghiÖm c¸c vÊn ®Ò qu¶n trÞ hÖ thèng ph¸t t¸n d÷ liÖu qua m¹ng víi tr×nh qu¶n trÞ DataSocket Server.
3.2.2. KÕt qu¶
HÖ thèng thö nghiÖm c¶ phÇn cøng vµ phÇn mÒm ®· lµm viÖc tèt, tin cËy vµ ®¸p øng ®ù«c yªu cÇu ®Æt ra cña bµi to¸n. Qua thö nghiÖm hÖ thèng hoµn toµn cã thÓ triÓ khai ra diÖn réng trong thùc tÕ, nhÊt lµ trong lÜnh vùc gi¸o dôc ®µo t¹o vµ s¶n xuÊt.
Ch¬ng 4
Mét sè kÕt luËn ®èi víi viÖc khai th¸c c«ng nghÖ DataSocket
Trong ®å ¸n nµy, chóng t«i ®· tiÕn hµnh thö nghiÖm viÖc thu thËp vµ ph¸t t¸n d÷ liÖu ®o lêng vµ ®iÒu khiÓn qua m¹ng Internet víi tèc ®é cao vµ sö dông hÖ thèng thiÕt bÞ ®o lêng ¶o. §©y lµ mét hÖ thèng kÕt hîp kh«ng chÆt chÏ, nã cho phÐp thùc hiÖn c¸c phÐp ®o vµ cÊu h×nh hÖ thèng ®o lêng ph©n tan mét c¸ch mÒm dÎo.
§å ¸n ®· x©y dùng hÖ thö nghiÖm, x©y dùng phÇn mÒm lµm viÖc trong m«i trêng LabVIEW ®· cho kÕt qu¶ thö nghiÖm tèt vµ cã thÓ triÓn khai ®îc trong thùc tÕ.
§å ¸n sÏ ®îc tiÕp tôc ph¸t triÓn vµ thö nghiÖm víi c¸c lo¹i d÷ liÖu h×nh ¶nh, ©m thanh vµ thö nghiÖm víi m«i trêng WEB. HÖ thèng ®o lêng sÏ cho phÐp bÊt kÓ ngêi sö dông nµo thao t¸c trªn m¹ng truy cËp lÊy d÷ liÖu ®o lêng vµ quan s¸t kh«ng kh¸c g× truy cËp trang WEB b×nh thêng víi sù tÝch hîp cña c¸c dÞch vô kh¸c nhau vµ ®a ph¬ng tiÖn.
KÕt qu¶ thö nghiÖm thu ®îc cho phÐp ®¸nh gi¸ viÖc sö dông c«ng nghÖ DataSocket cña h·ng National Instruments, lµ mét h·ng næi tiªng thÕ giíi vÒ c¸c thiÕt bÞ vµ c¸c hÖ thèng ®o lêng ®iÒu khiÓn, cho phÐp ph¸t triÓn c¸c phÇn mÒm hoµn chØnh ®Ó øng dông trong d¹y häc, øng dông trong liªn kÕt c¸c trung t©m thÝ nghiÖm, c¸c phßng thÝ nghiÖm nãi riªng vµ cho c¸c øng dông truyÒn d÷ liÖu qua m¹ng Internet víi tèc ®é cao nãi chung, nh»m t¨ng cêng hîp t¸c nghiªn cøu khoa häc, chia sÎ d÷ liÖu, chia sÎ thiÕt bÞ thÝ nghiÖm, më c¸c dÞch vô tiÕn hµnh cho thuª thiÕt bÞ thÝ nghiÖm tõ xa vµ kh¶ n¨ng tiÕn hµnh thÝ nghiªm tõ xa. Trªn c¬ së ®ã gi¶m ®îc chi phÝ thiÕt bÞ, n©ng cao hiÖu suÊt sö dông thiÕt bÞ. NhÊt lµ ë ®iÒu kiÖn ViÖt nam chóng ta, kinh phÝ ®Çu t thiÕt bÞ khoa häc cho nghiªn cøu khoa häc, cho c¸c trêng §¹i häc , c¸c trung t©m d¹y nghÒ cßn h¹n chÕ mµ c¸c trung t©m ®ã l¹i c¸ch xa nhau vÒ ®Þa lý.
Kh«ng nh÷ng vËy, c«ng nghÖ DataSocket cßn cho phÐp ph¸t triÓn c¸c hÖ thèng ®o lêng vµ ®iÒu khiÓn tõ xa trong c«ng nghiÖp qua m¹ng víi giao thøc TCP/IP mét c¸ch dÔ dµng, thuËn tiÖn víi mét sù ®a d¹ng c¸c kiÓu d÷ liÖu, kÓ c¶ d¹ng d÷ liÖu ¶nh vµ ©m thanh. §iÒu nµy cho phÐp nhiÒu ngêi, nhiÒu lÜnh vùc kh«ng chuyªn nghiÖp tin häc vÉn cã thÓ dÏ dµng ph¸t triÓn ®îc øng dông cña riªng m×nh qua m¹ng.
Víi c«ng nghÖ nµy, t¬ng lai gÇn ®©y chóng t«i sÏ tiÕn hµnh thö nghiÖm chuyªn s©u vµ hoµn chØnh hÖ thèng liªn kÕt gi÷a mét sè phßng thÝ nghiÖm thuéc c¸c trung t©m khoa häc, vµ c¸c trung t©m thÝ nghiÖm cña c¸c Trêng §¹i häc còng nh øng dông réng r·i trong gi¶ng d¹y víi hÖ thèng trî gióp c«ng nghÖ ®a ph¬ng tiÖn(MultiMedia).
Tµi liÖu tham kh¶o
[1] DataSocket Technical Overview, National Instrument Corparation, 1998
[2]CWDataSocket Overview, National Instrument Corparation,2000
[3]Using LabVIEW with TCP /IP and UDP, National Instrument Corparation,2000
[4] Using DDE in LabVIEW, National Instrument Corparation,2000
[5] LabVIEW User Manual , National Instruments Corparation,2000
[6] LabVIEW Measurements Manual, National Instruments Corparation,2000
[7] Gary –Johnson, LabVIEW Graphical Programming(Practical Application in Instrumentation and Control ), McGraw-Hill Companies, Inc, 1997
Các file đính kèm theo tài liệu này:
- Công nghệ DataSocket.doc