M¹ng m¸y tÝnh & HÖ thèng th«ng tin c«ng nghiÖ
§µo §øc ThÞnh BM Kü thuËt ®o & THCN
2.1 Kh¸i niÖm vÒ giao thøc:
- Giao thøc ? - C¸c ®Æc ®iÓm quan träng cña giao thøc.
2.2 C¸c yªu cÇu riªng cho giao thøc CN.
Ch−¬ng 2: C¸c giao thøc c«ng nghiÖp
2.3 ModBus:
- M« t¶ chung vÒ giao thøc. - Hai chÕ ®é truyÒn ASCII vµ RTU. - Khung b¶n tin cña ModBus. - C¸c ph−¬ng ph¸p kiÓm tra lçi. - D÷ liÖu vµ c¸c chøc n¨ng ®iÒu khiÓn. - C¸c hµm phô chuÈn ®o¸n trong m¹ng. - B¸o lçi.
Ch−¬ng 2: C¸c giao thøc c«ng nghiÖp
- Giao thøc thiÕt lËp mét tiªu chuÈn chung cho viÖc trao d÷ liÖu gi÷a phÇn thu vµ ph¸t trªn m¹ng. - Nã th−êng kÕt hîp víi gãi tin. - Giao thøc ®iÒu khiÓn mét khung b¶n tin chung cho tÊt c¶ c¸c thiÕt bÞ trªn m¹ng. - Giao thøc thiÕt lËp ho¹t ®éng ®óng cho hÖ th«ng tin
Giao thøc (Protocol)
C¸c ®Æc ®iÓm cña giao thøc:
- Khëi ®éng: Khëi ®éng c¸c th«ng sè cña giao thøc ®Ó b¾t ®Çu truyÒn sè liÖu qua kªnh liªn l¹c. - T¹o khung vµ ®ång bé khung. - §iÒu khiÓn luång d÷ liÖu. - §iÒu khiÓn truy nhËp ®−êng truyÒn. - Ph¸t hiÖn vµ söa lçi. - KiÓm so¸t Time-out.
Giao thøc (Protocol)
- §¬n gi¶n nhÊt cã thÓ ®Ó dÔ kh¾c phôc sù cè:
+ CN lµ n¬i cã sù hiÓu biÕt vÒ m¹ng th«ng tin CN Ýt. + §ßi hái ho¹t ®éng liªn tôc. + Cã ý thøc lùa chän giao thøc ®¬n gi¶n nhÊt cã thÓ.
- §é ®¶m b¶o d÷ liÖu truyÒn cao:
+ Ho¹t ®éng trong m«i tr−êng cã nhiÔu ®iÖn lín. + C¸c thiÕt bÞ c«ng suÊt lín tËp trung víi mËt ®é cao. + §ßi hái kh«ng cã lçi khi truyÒn. + Chän giao thøc cã møc ®é cao cña viÖc kiÓm tra lçi.
C¸c yªu cÇu riªng cho giao thøc CN
- ChuÈn ho¸ giao thøc:
+ Cã thÓ cã nhu cÇu cho viÖc kÕt nèi gi÷a c¸c thiÕt bÞ cña
c¸c nhµ SX kh¸c nhau hay c¸c hÖ kh¸c nhau.
+ CÇn ph¶i chuÈn ho¸ giao thøc.
- Tèc ®é cËp nhËt th«ng sè cao:
+ Kh«ng ®ßi hái sè l−îng th«ng sè lín. + Yªu cÇu cËp nhËt mét lo¹t c¸c setpoint cho mét lo¹t c¸c
thiÕt bÞ gÇn nh− ®ång thêi.
+ Mé sè giao thøc Field Bus míi cã thÓ ®¸p øng yªu cÇu
nµy.
C¸c yªu cÇu riªng cho giao thøc CN
M« t¶ chung vÒ Modbus:
+ Modbus ®−îc ph¸t triÓn bëi Modicon (AEG) cho hÖ
thèng ®iÒu khiÓn c¸c qu¸ tr×nh
Modbus
ModBus
+ Modbus chuÈn cña bé ®iÒu khiÓn Modicon sö dông cæng RS- 232. Bé ®iÒu khiÓn cã thÓ nèi m¹ng trùc tiÕp hay qua Modem. + Ng−êi dïng cã thÓ lùa chän c¸c chuÈn RS-422, RS-485, 20mA Current loop, tÊt c¶ c¸c chuÈn trªn ®Òu t−¬ng thÝch víi tèc ®é truyÒn cña giao thøc. + Th«ng tin gi÷a c¸c bé ®iÒu khiÓn sö dông kü thuËt Master- Slave. ChØ cã Master míi cã quyÒn khëi ®éng viÖc truyÒn d÷ liÖu, c¸c thiÕt bÞ kh¸c lµ Slave tr¶ lêi b»ng c¸ch cung cÊp c¸c d÷ liÖu ®−îc yªu cÇu tõ Master hoÆc ®¸p l¹i c¸c ho¹t ®éng. + Master cã thÓ lµ c¸c m¸y chñ, PC hay c¸c Panel lËp tr×nh. + Slave lµ c¸c bé ®iÒu khiÓn cã tèi ®a 247 Slave.
ModBus
+ Master cã thÓ ®Þa chØ tõng Slave riªng hay göi mét b¶n tin qu¶ng b¸ tíi tÊt c¶ c¸c Slave. + Khi cã yªu cÇu bëi ®Þa chØ riªng th× sÏ cã b¶n tin tr¶ lêi. Kh«ng cã b¶n tin tr¶ lêi víi yªu cÇu qu¶ng b¸. + Modbus cung cÊp mét ®Þnh d¹ng khung b¶n tin chung cho c¸c b¶n tin truyÒn gi÷a Master vµ Slave. B¶n tin bao gåm ®Þa chØ cña thiÕt bÞ, m· chøc n¨ng ®Þnh nghÜa c¸c ho¹t ®éng yªu cÇu, sè liÖu cÇn göi vµ tr−êng kiÓm tra lçi. + Slave tr¶ lêi b»ng mét b¶n tin nã chÝnh lµ kÕt qu¶ cña ho¹t ®éng. NÕu cã lçi th× nã còng b¸o lçi nµo ®· x¶y ra.
ModBus
+ Ngoµi ra c¸c bé ®iÒu khiÓn Modbus cã thÓ th«ng tin trªn Modbus Plus sö dông cæng th«ng tin cã s½n hay céng m¹ng vµ truyÒn trªn MAP. + ë ®ay th«ng tin gi÷a c¸c bé ®iÒu khiÓn dïng kü thuËt Pear- Pear.( øng dông vÉn lµ Master-Slave).
ModBus
ModBus
+ Bé ®iÒu khiÓn trªn m¹ng Modbus cã thÓ truyÒn ë hai chÕ ®é: ASCII vµ RTU. + Ta cã thÓ chän chÕ ®é truyÒn còng nh− c¸c th«ng sè cña cæng th«ng tin nh−ng nã ph¶i nh− nhau ë tÊt c¶ c¸c bé ®iÒu khiÓn.
ModBus - Hai chÕ ®é truyÒn
+ Khi c¸c bé ®iÒu khiÓn sö dông chÕ ®é ASCII mçi mét byte- 8bits truyÒn nh− lµ 2 ký tù ASCII. + ¦u ®iÓm chÝnh lµ cho thêi gian truyÒn gi÷a c¸c ký tù lªn ®Õn 1s mµ kh«ng g©y ra lçi + M·: Hexadecimal, ASCII 0-9,A-F. 1 Hexa ->ASCII + Bit trªn ký tù: 1 Start bit; 7 data bit; 1,0 Parity bit; 1,2 Stop bit (10 bit). + KiÓm tra lçi: LRC
ModBus - ASCII Mode
+ Khi c¸c bé ®iÒu khiÓn ho¹t ®éng ë chÕ ®ä RTU mçi mét Byte- 8bit göi nh− lµ hai sè Hexadecimal -4 bit. + ¦u ®iÓm cña ph−¬ng ph¸p nµy lµ cã mËt ®é ký tù lín cho phÐp truyÒn tèt h¬n chÕ ®é ASCII víi cïng mét tèc ®é bit. + Mçi mét b¶n tin cÇn ph¶i truyÒn thµnh mét chuçi liªn tôc. + M·: 8 bit, Hexa 0-9,A-F. Hai sè Hexa chøa trong mét tr−êng 8 bit. + Sè bit trªn Byte: 1 Start bit; 8 data bit; 1,0 Parity bit; 1,2 Stop bit ( 11 bit). + KiÓm tra lçi: CRC
ModBus - RTU Mode
+ Trong c¶ hai chÕ ®é truyÒn b¶n tin Modbus ®−îc bªn ph¸t ®Æt trong mét khung cã ®iÓm b¾t ®Çu, kÕt thóc. + Bªn thu nhËn b¶n tin ®Þng vÞ c¸c tr−êng kh¸c vµ ph¸t hiÖn ra lçi cã trong b¶n tin. + Cã hai chÕ ®é truyÒn cã hai kiÓu khung b¶n tin
ModBus - CÊu tróc khung b¶n tin
ModBus - ASCII Frame
+ TÊt c¶ c¸c thiÕt bÞ nèi vµo m¹ng sÏ kiÓm tra bus liªn tôc cho ®Õn khi nhËn ®−îc ký tù ':' . Nã sÏ gi¶i m· tr−êng ®Þa chØ. NÕu göi cho nã th× nã nhËn vµ xö lý c¸c tr−êng tiÕt theo. + Thêi gian cho phÐp gi÷a c¸c ký tù cã thÓ lªn ®Õn 1 s-> kh«ng g©y ra lçi.
ModBus - ASCII Frame
ModBus - RTU Frame
+ C¸c thiÕt bÞ nèi vµo m¹ng sÏ kiÓm tra bus trong suèt qu¸ tr×nh rçi cña bus. Tr−êng ®Çu tiªn nhËn ®−îc sÏ lµ tr−êng ®Þa chØ vµ nã sÏ so s¸nh víi ®Þa chØ cña nã. + NÕu thêi gian nghØ > 3.5 lÇn th−êi gian truyÒn 1 byte th× kÕt thóc b¶n tin.
ModBus - RTU Frame
Tr−êng ®Þa chØ: + Chøa 2 ký tù ASCII hay 8 bit. + Gi¸ trÞ tõ 0-247. + Tõng Slave ®Þa chØ ho¸ tõ 1-247. + Master ®Þa chØ ho¸ Slave b»ng c¸ch ®Æt ®Þa chØ cña nã vµo tr−êng ®Þa chØ. + Slave tr¶ lêi b¸o cho Master biÕt Slave nµo ®· tr¶ lêi. + §Þa chØ 0 sö dông ë chÕ ®é qu¶ng b¸.
ModBus - CÊu tróc khung b¶n tin
Tr−êng chøc n¨ng: + Bao gåm 2 ký tù ASCII hay 1 byte. + Gi¸ trÞ tõ 1-255. + Mét vµi m· ¸p dông cho c¸c bé ®iÒu khiÓn. Mét vµi m· chØ ¸p dông cho mét m« h×nh nµo ®ã. Mét sè dµnh cho t−¬ng lai. + Master->Slave chØ ra Slave ph¶i lµm g×? + Slave->Master b¸o lµ ho¹t ®éng b×nh th−êng hay b¸o lçi. NÕu b×nh th−êng th× ph¶n håi vÒ m· chøc n¨ng ban ®Çu. NÕu cã lçi th× ph¶n håi vÒ m· chøc n¨ng ban ®Çu víi bÝt cao nhÊt b»ng 1.
ModBus - CÊu tróc khung b¶n tin
Tr−êng d÷ liÖu: - Master->Slave c¸c d÷ liÖu cÇn cho ho¹t ®éng ®−îc ®Þnh nghÜa bìi m· chøc n¨ng. - Slave->Master nÕu kh«ng cã lçi nã chøc c¸c d÷ liÖu tr¶ vÒ. NÕu cã lçi nã chøa m· lçi. - Tr−êng d÷ liÖu cã thÓ kh«ng cã trong mét sè b¶n tin.
ModBus - CÊu tróc khung b¶n tin
KiÓm tra lçi: + ASCII mode: kÕt qu¶ kiÓm tra theo LRC -> 1byte -> 2 ký tù ASCII. + RTU mode: kiÓm tra theo PP CRC néi dung b¶n tin. 16 bit -> 2 byte
ModBus - CÊu tróc khung b¶n tin
- Khi truyÒn ë chÕ ®é Modbus chuÈn c¸c ký tù hay c¸c byte ®−îc truyÒn c¸c bÝt thÊp tr−íc, cao sau.
ModBus - CÊu tróc khung b¶n tin
ModBus - CÊu tróc khung b¶n tin
- Modbus chuÈn ®−îc ¸p dông hai ph−¬ng ph¸p kiÓm tra lçi. KiÓm tra ch½n lÎ ¸p dông cho tõng ký tù. KiÓm tra khung ( LRC, CRC) ®−îc ¸p dông cho toµn bé khung b¶n tin. - C¶ hai ph−¬ng ph¸p nµy sÏ ®−îc Master thùc hiÖn tr−íc khi truyÒn khung b¶n tin vµ ®−îc Slave kiÓm tra trong qu¸ tr×nh nhËn b¶n tin. - NÕu Slave ph¸t hiÖn ra lçi trong b¶n tin th× b¶n tin sÏ bÞ bá ®i, kh«ng cã ®¸p øng cho Master. Master ®îi qu¸ thêi gian Time- out ®Ó bá qu¸ tr×nh truyÒn. Thêi gian Time-out ®ñ lín ®Ó cho bÊt kú Slave nµo cã thÓ tr¶ lêi b×nh th−êng ®−îc. Nh− vËy khi Time- out ch−¬ng tr×nh øng dông trªn Master biÕt cã mét lçi x¶y ra.
ModBus - C¸c ph−¬ng ph¸p kiÓm tra lçi
KiÓm tra ch½n lÎ: - Ta cã thÓ ®Æt lµ kiÓm tra ch½n, kiÓm tra lÎ hay kh«ng kiÓm tra ch½n lÎ. - Khi truyÒn c¸c bit ch½n lÎ sÏ ®−îc tÝnh to¸n vµ truyÒn cïng víi ký tù. Bªn thu sÏ kiÓm tra l¹i. TÊt c¶ c¸c thiÕt bÞ ph¶i dïng chung mét ph−¬ng ph¸p.
ModBus - C¸c ph−¬ng ph¸p kiÓm tra lçi
KiÓm tra LRC: KiÓm tra CRC:
ModBus - C¸c ph−¬ng ph¸p kiÓm tra lçi
Modbus cung cÊp mét lo¹t c¸c chøc n¨ng sau:
ModBus -C¸c chøc n¨ng cña Modbus
ModBus -C¸c chøc n¨ng cña Modbus
ModBus -C¸c chøc n¨ng cña Modbus
ModBus -C¸c chøc n¨ng cña Modbus
ModBus -C¸c chøc n¨ng cña Modbus
- Modbus sö dông 4 kiÓu d÷ liÖu kh¸c nhau:
+ §Çu vµo sè. + §Çu ra sè (Coil). + Thanh ghi vµo (Input Register). + Thanh ghi gi÷ (Holding Register)
- C¸c biÕn ®Çu vµo vµ ra s« lµ 1 bit. - C¸c biÕn thanh ghi lµ 2 byte. - Mçi mét chøc n¨ng g¾n liÒn víi mét kiÓu d÷ liÖu. - §Þa chØ mµ khung b¶n tin sö dông lµ ®Þa chØ offset t−¬ng ®èi víi ®Þa chØ thÊp nhÊt cña kiÓu d÷ liÖu.
ModBus -C¸c kiÓu d÷ liÖu cña Modbus
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -M« t¶ chi tiÕt c¸c m· chøc n¨ng
ModBus -Function 08 Diagnostics
ModBus -Function 08 Diagnostics
ModBus -Function 08 Diagnostics
ModBus -Function 08 Diagnostics
Ngo¹i trõ b¶n tin qu¶ng b¸. Khi Master göi mét b¶n tin tíi hái Slave th× cã 4 tr−êng hîp cã thÓ x¶y ra:
+ Slave nhËn b¶n tin kh«ng cã lçi vµ cã thÓ tr¶ lêi b¶n tin.
Tr¶ lêi th−êng.
+ NÕu Slave kh«ng nhËn ®−îc b¶n tin hái v× lçi th«ng tin,
sÏ kh«ng cã b¶n tin tr¶ lêi.Master sö lý sù kiÖn Time-out.
+ NÕu Slave nhËn ®−îc b¶n tin hái nh−ng cã lçi th«ng tin (Parity, LRC,CRC), sÏ kh«ng cã b¶n tin tr¶ lêi.Master sö lý sù kiÖn Time-out.
+NÕu Slave nhËn ®−îc b¶n tin kh«ng bÞ lçi th«ng tin nh−ng kh«ng thÓ thùc hiÖn ®−îc th× nã sÏ tr¶ lêi b¶n tin b¸o lçi. Nã b¸o cho Master lçi nµo ®· x¶y ra.
ModBus -Tr¶ lêi b¸o lçi
B¶n tin b¸o lçi bao gåm: + Tr−êng ®Þa chØ b¸o thiÕt bÞ nµo tr¶ lêi. + Tr−êng chøc n¨ng víi bit cao nhÊt b»ng 1. + Tr−êng d÷ liÖu b¸o lçi nµo ®· x¶y ra. + Tr−êng kiÓm tra lçi.
ModBus -Tr¶ lêi b¸o lçi
ModBus -Tr¶ lêi b¸o lçi
ModBus -Tr¶ lêi b¸o lçi
ModBus -Tr¶ lêi b¸o lçi
ModBus -Tr¶ lêi b¸o lçi
- Lµ mét hÖ thèng Bus dùa trªn Modbus nh−ng cã gi¸ thµnh thÊp, dÔ l¸p ®Æt, cµi ®Æt. - Cho phÐp ®µnh ®Þa chØ 64 nót trªn m¹ng, tèc ®é truyÒn 1 Mbps. - M¹ng Peer-to-peer, sö dung MAC lµ Token passing.
ModBus Plus
ModBus Plus
- Output Path (1 byte):§−êng dÉn ®Çu ra chØ mét kªnh logic cña tr¹m chñ, cã vai trß trong viÖc dån kªnh/ph©n kªnh. - Router counter (1 byte): ®Õm sè router mµ khung b¶n tin ®· ®i qua. - Transaction Sequence Number: M· sè giao dÞch - Routing Path (5 byte): M· sè ®−êng dÉn chøc th«ng tin chän ®−êng tèi −u trong liªn m¹ng. - DA (1 byte): ®Þa chit tr¹m ®Ých. - SA (1 byte): §Þa chØ tr¹m nguån. - MAC Function (1 byte): m· hµm ®iÒu khiÓn truy nhËp ®−êng truyÒn.
ModBus Plus
- Byte Count (2 byte) sè l−îng byte trong phÇn LLC ®−îc truyÒn. - Preamble (1 byte): d·y bit b¸o hiÖu ®Çu khung. - Opening Flag (1 byte): Cê më ®Çu khung. - Broadcast Address (1 byte): ®Þa chØ göi ®ång lo¹t. - CRC (2 byte): kiÓm tra lçi CRC. - Closing Flag (1 byte): cê b¸o kÕt thóc
ModBus Plus