TRUYEĂN BÂT ĐOĂNG BOƠ

Một phần của tài liệu Đo điện năng từ xa qua mạng RS485 (Trang 75 - 85)

MOƠT SÔ GIAO THỨC TRUYEĂN THOĐNG TIEĐU BIEƠU

TRUYEĂN BÂT ĐOĂNG BOƠ

RS232 sử dúng cách truyeăn thođng tin theo kieơu bât đoăng boơ, khung truyeăn baĩt đaău với bit Start và kêt thúc với bit Stop. Tái moơt thời đieơm chư có moơt ký tự được truyeăn đi và có moơt khoạng thời gian phađn cách giữa chúng. Khoạng thời gian trì hoãn này thaơt sự là thời gian khođng hốt đoơng và đường truyeăn đựơc đaịt ở mức cao (logic 1). Beđn truyeăn gửi đi moơt bit Start đeơ thođng báo cho beđn nhaơn biêt moơt ký tự sẽ được gửi đên trong laăn truyeăn bit tiêp sau. Bit Start luođn ở mức thâp (logic 0), tiêp theo sau là 5, 6 ,7 hoaịc 8 bit dữ lieơu được gửi đi dưới dáng mã ASCII 7 bit, kê đó là bit Parity (nêu có) và cuôi cùng là 1, 1.5 hoaịc 2 bit Stop. Khoạng thời phađn cách cụa moơt bit đơn quy định tôc đoơ truyeăn dữ lieơu. Tín hieơu giữ nhịp ở cạ hai beđn sẽ thiêt laơp đoơ kéo dài cho khoạng thời gian này. Cạ beđn truyeăn lăn beđn nhaơn caăn phại được đaịt ở cùng tôc đoơ truyeăn (nêu khođng sử dúng các phương thức baĩt tay). Vieơc thiêt laơp đoăng boơ chư mang tính tương đôi đeơ beđn truyeăn và beđn nhaơn có tôc đoơ xâp xư nhau, do tín hieơu mang dữ lieơu chư xuât hieơn trong thời gian tương đôi ngaĩn.

Quá trình kieơm tra loêi khi truyeăn dữ lieơu là boơ sung theđm dữ lieơu vào dòng dữ lieơu được truyeăn đeơ tìm hoaịc sửa chữa moơt loêi trong quá trình truyeăn. Chuaơn RS232 sử dúng moơt kỹ thuaơt đơn giạn là bit Parity đeơ có được khạ naíng phát hieơn loêi. Moơt bit Parity được boơ sung vào dữ lieơu được truyeăn đeơ cho thây sô các sô 1 được gửi trong khung truyeăn là chẵn (Even) hay lẹ (Odd). Đađy là moơt phương pháp đơn giạn đeơ mã hoá loêi và chư caăn đên moơt coơng XOR đeơ táo ra bit Parity.

khi đã đêm xong có bao nhieđu sô 1 được gửiđi . Moơt bit Parity chư có theơ tìm ra moơt sô lẹ các loêi. Nêu như có moơt sô chẵn các loêi thì bit Parity sẽ trùng giá trị với trường hợp khođng maĩc loêi và khođng theơ phát hieơn ra loêi.

Tôc đoơ Baud là moơt trong những đaịc trưng chính trong quá trình truyeăn dữ lieơu qua coơng nôi tiêp RS232 . Trong cách truyeăn bât đoăng boơ , các bit Start và bit Stop được boơ sung vào 7 bit ký tự mã ASCII và bit Parity. Như vaơy phại caăn ít nhât là 10 bit đeơ truyeăn đi moơt ký tự đơn (với 2 bit Stop thì phại caăn 11 bit). Như vaơy ví dú trong moêi gia đy 10 ký tự được truyeăn đi thì tôc đoơ truyeăn sẽ là 100 bit moêi giađy (100bps). Tôc đoơ bit chính là sô các bit được truyeăn đi trong moêi giađy.

Ngoài tôc đoơ bit, còn moơt thuaơt ngữ khác đeơ mođ tạ tôc đoơ truyeăn là tôc đoơ Baud. Tôc đoơ bit phạn ánh tôc đoơ thực tê các bit được truyeăn đi trong khi tôc đoơ baud lieđn quan đên tôc đoơ mà các phaăn tử mã hoá dữ lieơu được sử dúng đeơ dieên tạ các bit được truyeăn. Bởi vì moơt phaăn tử báo hieơu sự mã hoá moơt bit neđn khi đó hai tôc đoơ là đoăng nhât với nhau. Chư trong các Modem có theđm quá trình biên đoơi thì tôc đoơ bit mới khác với tôc đođï baud.

Truyeăn bât đoăng boơ là kieơu truyeăn với các bit Start và bit Stop và các beđn truyeăn cũng như nhaơn phại được thiêt laơp với cùng khoạng thời gian truyeăn moơt bit. Moơt bit Start (luođn luođn ở mức 0) xác định vị trí baĩt đaău cuoơc truyeăn. Tiêp theo bit LSB được gửi đi roăi các bit kê tiêp còn lái cụa ký tự mã ASCII. Sau đó bit Parity được gửi đi và cuôi cùng là bit Stop.

Vieơc truyeăn dữ lieơu có theơ tiên hành theo ba cách : khođng có baĩt tay, baĩt tay phaăn cứng và baĩt tay phaăn meăm. Nêu khođng sử dúng kỹ thuaơt baĩt tay thì beđn nhađïn phại có khạ naíng đĩc các ký tự nhaơn được trước khi beđn truyeăn gửi đên moơt ký tự khác. Beđn nhađïn có theơ đeơm các ký tự này và cât giữ chúng trong moơt ođ nhớ (được gĩi là boơ đeơm nhaơn) trước khi được đĩc. Nêu như boơ đeđïm khođng được làm trông trước khi moơt ký tự khác được nhaơn thì bât kỳ ký tự nào trước đó trong boơ đeơm sẽ bị ghi đè leđn.Nêu như trường hợp này xạy ra thì phại sử dúng các kỹ thuaơt baĩt tay đeơ làm ngừng beđn truyeăn gửi đi các ký tự khác trước khi beđn nhaơn có đụ thời gian đeơ xử lý các ký tự đã nhaơn. Khi sử dúng kỹ thuaơt baĩt tay, beđn truyeăn đòi hỏi beđn nhaơn xem đã sẵn sàng nhaơn dữ lieơu hay chưa. Nêu như boơ đeơm nhaơn đang trông, nó sẽ thođng báo cho beđn truyeăn là nó đã sẵn sàng nhaơn dữ lieơu. Cứ moêi laăn dữ lieơu được truyeăn đi và lưu vào boơ đeđïm nhaơn thì beđn truyeăn lái được thođng báo là khođng được truyeăn bât kỳ ký tự nào khác cho đên khi boơ đeđïm nhaơn đã được đĩc xong.

Khi baĩt tay baỉng phaăn meăm, có hai ký tự mã ASCII cho phép baĩt đaău và làm ngừng vieơc truyeăn dữ lieơu là Xon (Ctrl-S hoaịc mã ASCII 11) và Xoff (Ctrl-Q hoaịc mã ASCII 13). Khi beđn truyeăn nhaơn được ký tự Xoff nó sẽ ngừng quá trình truyeăn cho đên khi nhaơn được ký tự Xon. Kieơu baĩt tay này thường được sử dúng khi cạ hai beđn truyeăn và beđn nhaơn đeău có theơ xử lý dữ lieơu tương đôi nhanh chóng. Khi boơ đeơm nhaơn đaăy , nó sẽ truyeăn đi ký tự Xoff và sau khi đã xử lý hêt các ký tự trong boơ đeơm nhaơn, nó sẽ truyeăn đi ký tự Xon cho phép beđn truyeăn truyeăn đi các ký tự còn lái.

Baĩt tay phaăn cứng sử dúng các đường dăn sau đeơ quạn lý vieơc truyeăn nhaơn dữ lieơu :

ü CTS : Clear to Send

ü RTS : Ready to Send

ü DTR : Data Terminal Ready

ü DSR : Data Set Ready

Các đường dăn này đeău được kích hốt ở mức cao.Khi beđn truyeăn muôn truyeăn dữ lieơu , nó ân định đường dăn RTS ở tráng thái hốt đoơng , có nghĩa là ở mức logic 1, roăi giám sát đường dăn CTS cho đên khi nào đường dăn này chuyeơn sang tráng thái hốt đoơng. Nêu đường dăn CTS ở beđn truyeăn giữ nguyeđn ở tráng thái thâp có nghĩa là beđn nhaơn đang baơn và hieơn tái khođng theơ nhaơn dữ lieơu. Khi boơ đeđïm nhaơn được xử lý xong, đường dăn RTS sẽ tự đoơng chuyeơn sang tráng thái kích hốt đeơ báo cho beđn truyeăn biêt là nó đã sẵn sàng nhaơn dữ lieơu. Vieơc nhaơn dữ lieơu cũng dieên ra tương tự như vieơc rtuyeăn dữ lieơu nhưng các đường dăn DSR và DTR được sử dúng chứ khođng phại là RTS và CTS. Khi DCE muôn truyeăn dữ lieơu đên DTE thì đường dăn DSR cụa beđn nhaơn sẽ chuyeơn sang tráng thái kích hốt. Nêu beđn nhaơn khođng theơ nhaơn dữ lieơu , nó sẽ đaịt đường dăn DTR ở tráng thái khođng hốt đoơng. Khi đã xử lý xong, nó đaịt đường dăn DTR sang tráng thái hốt đoơng và beđn truyeăn sẽ baĩt đaău truyeăn dữ lieơu. Đường dăn DTR sẽ được đaịt ở tráng thái khođng kích hốt cho đên khi ký tự đã được xử lý xong.

Trong cách truyeăn đơn giạn khođng có baĩt tay thì beđn nhaơn phại có khạ naíng xử lý dữ lieơu trong boơ đeơm nhaơn trước khi ký tự khác được nhaơn. Dữ lieơu được gửi từ đường dăn TxD cụa beđn truyeăn và được nhaơn ở đường dăn RxD cụa beđn nhaơn.

MODBUS

Modbus là moơt giao thức do hãng Midicon (sau này thuoơc AEG và Scheider Automation ) phát trieơn. Theo mođ hình ISO/OSI thì Modbus thực chât là moơt chuaơn giao thức và dịch vú thuoơc lớp ứng dúng, vì vaơy có theơ được thực hieơn tređn các cơ chê vaơn chuyeơn câp thâp như TCP/IP, MAP (Manufactoring Message Protocol), Modbus Plus và ngay cạ đường truyeăn nôi tiêp RS232.

Modbus định nghĩa moơt taơp hợp roơng các dịch vú trao đoơi dữ lieơu quá trình, dữ lieơu đieău khieơn và dữ lieơu chaơn đoán. Tât cạ các boơ đieău khieơn cụa Modicon đeău sử dúng Modbus là ngođn ngữ chung. Modbus mođ tạ quá trình giao tiêp giữa moơt boơ đieău khieơn với các thiêt bị khác thođng qua cơ chê yeđu caău/đáp ứng. Vì lý do đơn giạn neđn Modbus có ạnh hưởng tương đôi mánh đôi với các heơ PLC cụa các nhà sạn xuât khác. Cú theơ, trong moêi PLC người ta cũng có theơ tìm thây moơt taơp hơp con các dịch vú đã đưa ra trong Mdbus. Đaịc bieơt trong các heơ thông thu thaơp dữ lieơu và đieău khieơn giám sát (SCADA), Modbus hay được sử dúng tređn các đường truyeăn RS232 ghép nôi giữa các thiêt bị đaău cuôi (PLC, PC, RTU) với các thiêt bị truyeăn dữ lieơu (Modem)

Cơ chê giao tiêp

Cơ chê giao tiêp ở Modbus phú thuoơc vào heơ thông truyeăn thođng câp thâp. Cú theơ, có theơ phađn chia ra hai lối là máng Modbus chuaơn va øModbus tređn các máng khác (ví dú TCP/IP, Modbus Plus, MAP ).

Máng Modbus chuaơn

Các coơng Modbus chuaơn tređn các boơ đieău khieơn cụa Modicon cũng như moơt sô nhà sạn xuât khác sử dúng giao dieơn nôi tiêp RS232C. Các boơ đieău khieơn này có theơ được nôi máng trực tiêp hoaịc qua Modem. Các thiêt bị Modbus giao tiêp với nhau qua cơ chê chụ/tớ (Master/Salve), trong đó chư moơt thiêt bị chụ có theơ chụ đoơng gởi yeđu caău , còn các thiêt bị tớ sẽ đáp ứng baỉng dữ lieơu trạ lái hoaịc thực hieơn moơt hành đoơng nhât định theo yeđu caău. Các thiêt bị chụ thođng thường là các máy tính đieău khieơn trung tađm và các thiêt bị laơp trình, trong khi các thiêt bị tớ có theơ là PLC hoaịc các boơ đieău khieơn sô thođng dúng khác.

Moơt thiêt bị chụ có theơ gửi thođng báo yeđu caău tới rieđng moơt thiêt bị tớ nhât định, hoaịc gửi thođng báo hàng lốt (Broadcast) tới tât cạ các thiêt bị tớ. Chư trong trường hợp nhaơn được yeđu caău rie đng, các thiêt bị tớ mới gửi thođng báo đáp ứng trạ lái thiêt bị chụ. Trong moơt thođng báo yeđu caău có chứa địa chư thiêt bị nhaơn, mã hàm dịch vú beđn nhaơn caăn thực hieơn, dữ lieơu đi kèm thođng tin kieơm loêi.

Modbus tređn các máng khác

Với moơt sô máng như Modbus Plus và MAP sử dúng Modbus là giao thức cho lớp ứng dúng, các thiêt bị có theơ giao tiêp theo cơ chê rieđng cụa máng đó. Ví dú trong giao tiêp tay đođi (Peer to Peer ), moêi boơ đieău khieơn đón g vai trò là chụ hoaịc tớ trong các laăn giao dịch (moơt chu kỳ yeđu caău – đáp ứng) khác nhau. Moơt thiêt bị có theơ có nhieău quan heơ logic với nhieău đôi tác, vì vaơy nó có theơ đóng vai trò là chụ hoaịc tớ trong các giao dịch khác nhau.

Nhìn nhaơn ở mức đoơ giao tiêp thođng báo, giao thức Modbus văn tuađn theo nguyeđn taĩc chụ/tớ maịc dù phương pháp giao tiêp máng câp thâp có theơ là tay đođi. Khi moơt boơ đieău khieơn gửi moơt yeđu caău thođng báo thì nó đóng vai trò là chụ và chờ đợi đáp ứng từ moơt thiêt bị tớ. Ngược lái, moơt boơ đieău khieơn sẽ đóng vai trò là tớ nêu nó nhaơn được thođng báo yeđu caău từ moơt thiêt bị khác và phại gửi trạ lái đáp ứng .

Chu trình yeđu caău đáp ứng

Giao thức Modbus định nghĩa khuođn dáng cụa thođng báo yeđu caău cũng như cụa thođng báo đáp ứng, như được minh hĩa tređn hình 3.27

Moơt thođng báo yeđu caău bao goăm các phaăn sau :

ü Địa chư thiêt bị nhaơn yeđu caău (0-247), trong đó 0 là địa chư gửi đoăng lốt.

ü Mã hàm gĩi chư thị hành đoơng thiêt bị tớ caăn thực hieơn theo yeđu caău. Ví dú, mã hàm 03 yeđu caău thiêt bị tớ đĩc noơi dung các thanh ghi lưu trữ và trạ lái kêt quạ.

ü Dữ lieơu chứa các thođng tin boơ sung mà thiêt bị tớ caăn cho vieơc thực hieơn hàm được gĩi. Trong trường hợp đĩc thanh ghi, dữ lieơu này chư rõ thanh ghi đaău tieđn và sô luợng các thanh ghi caăn đĩc.

ü Thođng tin kieơm loêi giúp thiêt bị tớ kieơm tra đoơ vén tòan cụa noơi dung thođng báo nhaơn được.

Thođng báo đáp ứng cũng bao goăm các thành phaăn giông như thođng báo yeđu caău. Địa chư ở đađy là cụa chính thiêt bị tớ đã thực hieơn yeđu caău và gửi lái đáp ứng. Trong trường hợp bình thường, mã hàm được giữ nguyeđn như trong thođng báo yeđu caău và dữ lieơu chứa kêt quạ hành đoơng, ví dú noơi dung hoaịc tráng thái các thanh ghi. Nêu xạy ra loêi, mã hàm quay lái được sửa đeơ chư thị đáp ứng là moơt thođng báo loêi, còn dữ lieơu mođ tạ chi tiêt đã xạy ra. Phaăn kieơm loêi giúp thiêt

Chê đoơ truyeăn

Khi thực hieơn Modbus tređn các máng khác như Modbus Plus hoaịc MAP, các thođng báo Modbus được đưa vào các khung theo giao thức vaơn chuyeơn/ lieđn kêt dữ lieơu cú theơ. Ví dú, moơt leơnh yeđu caău đĩc noơi dung các thanh ghi có theơ được thực hieơn giữa hai boơ đieău khieơn ghép nôi qua Modbus.

Đôi với các thiêt bị ghép nôi qua máng Modbus chuaơn, có theơ sử dúng moơt trong hai chê đoơ truyeăn là ASCII hoaịc RTU. Người sử dúng chĩn lựa chê đoơ theo ý muôn, cùng với các tham sô truyeăn thođng qua coơng nôi tiêp như tôc đoơ truyeăn, Parity chẵn/lẹ… Chê đoơ truyeăn cũng như các tham sô phại giông nhau đôi với tât cạ các thành vieđn cụa moơt máng Modbus.

Chê đoơ ASCII

Khi các thiêt bị trong moơt máng Modbus chuaơn giao tiêp với chê đoơ ASCII (American Standard Code for Information Interchange), moêi byte trong thođng báo được gửi thành hai ký tự ASCII 7 bit, trong đó moơi ký tự bieơu dieên moơt chữ sô hex. Ưu đieơm cụa chê đoơ truyeăn này là nó cho phép moơt khoạng thời gian trông tôi đa moơt giađy giữa hai ký tự mà khođng gađy ra loêi. Câu trúc moơt ký tự khung gửi đi được theơ hieơn như sau :

Start 0 1 2 3 4 5 6 P Stop

Moêi ký tự khung bao goăm :

ü 1 bit khởi đaău (Startbit)

ü 7 bit bieơu dieên moơt chữ sô hex cụa byte caăn gửi dưới dáng ký tự ASCII (0-9 và A-F), trong đó bit thâp nhât được gửi đi trước

ü 1 bit Parity chẵn / lẹ, nêu sử dúng Parity

ü 1 bit kêt thúc (Stopbit) nêu sử dúng Parity hoaịc 2 bit kêt thúc nêu khođng sử dúng Parity

Chê đoơ RTU

Khi các thiêt bị trong moơt máng Modbus chuaơn được đaịt chê đoơ RTU (Remote Terminal Unit), moêi byte trong thođng báo được gửi thành chê đoơ 8 bit. Ưu đieơm cụa chê đoơ truyeăn này so với chê đoơ ASCII là hieơu suât cao hơn. Tuy nhieđn moêi thođng báo phại được truyeăn thành moơt dòng lieđn túc . Câu trúc moơt ký tự khung gửi đi được theơ hieơn như sau :

Moêi ký tự khung bao goăm :

ü 1 bit khởi đaău (Startbit)

ü 8 bit cụa byte thođng báo caăn gửi, trong đó bit thâp nhât được gửi đi trước

ü 1 bit Parity chẵn / lẹ nêu sử dúng Parity, và

ü 1 bit kêt thúc (Stopbit) nêu sử dúng 2 Parity hoaịc 2 bit kêt thúc nêu khođng sử dúng Parity

Câu trúc bức đieơn

Moơt thođng báo Modbus bao goăm nhieău thành phaăn và có chieău dài có theơ khác nhau . Trong moơt máng Modbus chuaơn, nêu moơt trong hai chê đoơ truyeăn (ASCII hoaịc RTU) được chĩn, moơt thođng báo sẽ được đóng khung. Moêi khung bao goăm nhieău ký tự khung có câu trúc như được mođ tạ ở phaăn tređn. Các ký tự này sẽ được truyeăn đi lieđn túc thành dòng ở chê đoơ RTU, hoaịc có theơ gián đốn với khoạng cách thời gian tôi đa moơt giađy ở chê đoơ ASCII. Múc đích cụa vieơc đóng khung là đeơ đánh dâu khởi đieơm và kêt thúc cụa moơt thođng báo, cũng như boơ sung thođng tin kieơm loêi. Trường hợp thođng báo khođng được truyeăn trĩn vén có theơ phát hieơn được và báo loêi.

Hai chê đoơ truyeăn ASCII và RTU khođng những chư khác nhau ở cách mã hoá thođng tin gửi đi và câu trúc ký tự khung, mà còn khác nhau ở câu trúc moơt bức đieơn gửi đi hay nói cách khác là câu trúc khung thođng báo, cũng như bieơn pháp kieơm loêi.

Trong moơt máng khác như MAP hay Modbus Plus, giao thức máng có qui định rieđng veă câu trúc khung thođng báo. Hình thức định địa chư và phương thức truyeăn cũng hoàn toàn do giao thức máng cú theơ định nghĩa, vì vaơy phaăn địa chư naỉm trong moơt thođng báo Modbus có theơ trở neđn khođng caăn thiêt trong quá trình

Một phần của tài liệu Đo điện năng từ xa qua mạng RS485 (Trang 75 - 85)