Công nghệ DataSocket

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)

doc49 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3004 | Lượt tải: 0download
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 tr­ng 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 l­u 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 l­u 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 l­u 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 l­u 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 l­u 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 nh­ng l¹i ®Æt ë c¸c trung t©m cã vÞ trÝ xa nhau. C¸c ®Æc tr­ng 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 l­u 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Öu CWDataSocket1.AccessMode = cwdsRead CWDataSocket1.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õ DataSocket Dim v As Variant v = CWDataSocket1.Data.Value v = 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 = cwdsRead CWDataSocket1.URL = "" CWDataSocket1.Connect 'Thuéc tÝnh AccessMode vµ URL còng cã thÓ ®Æt víi ConnectTo CWDataSocket1.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 = cwdsRead CWDataSocket1.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 = cwdsRead CWDataSocket1.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µ nh­ng 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 th­c 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:

  • docCông nghệ DataSocket.doc