Chế độ truyền

Một phần của tài liệu Đề cương môn học Mạng truyền thông công nghiệp (Trang 128 - 133)

C phát hiện xung đột, hủy bỏ bức đIện hờ một thời gian ngẫu nhiên và lặp lạ

4.2.2Chế độ truyền

Chương 4: Cỏc hệ thống bus tiờu biểu

4.2.2Chế độ truyền

Khi thực hiện Modbus trờn cỏc mạng khỏc như Modbus Plus hoặc MAP, cỏc thụng bỏo Modbus được đưa vào cỏc khung theo giao thức vận chuyển/liờn kết dữ liệu cụ thể. Vớ dụ, một lệnh yờu cầu đọc nội dung cỏc thanh ghi cú thể được thực hiện giữa hai bộ

điều khiển ghộp nối qua Mobus Plus.

Đối với cỏc thiết bị ghộp nối qua mạng Modbus chuẩn, cú thể sử dụng một trong hai

chế độ truyền là ASCII hoặc RTU. Người sử dụng lựa chọn chế độ theo ý muốn, cựng với cỏc tham số truyền thụng qua cổng nối tiếp như tốc độ truyền, parity chẵn/lẻ, v.v... Chế độ truyền cũng như cỏc tham số phải giống nhau đối với tất cả cỏc thành viờn của một mạng Modbus.

Chế độ ASCII

Khi cỏc thiết bị trong một mạng Modbus chuẩn giao tiếp với chế độ ASCII

(American Standard Code for Information Interchange), mỗi byte trong thụng bỏo được gửi thành hai ký tự ASCII 7 bit, trong đú mỗi ký tự biểu diễn một chữ số hex. Ưu điểm của chế độ truyền này là nú cho phộp một khoảng thời gian trống tối đa một giõy giữa hai ký tự mà khụng gõy ra lỗi. Cấu trỳc một ký tự khung gửi đi được thể hiện như sau:

Start 0 1 2 3 4 5 6 P Stop

Mỗi ký tự khung bao gồm

• 1 bit khởi đầu (Startbit)

• 7 bit biểu diễn một chữ số hex của byte cầ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 hoặc 2 bit kết thỳc nếu khụng sử dụng parity

Chế độ RTU

Khi cỏc thiết bị trong một mạng Modbus chuẩn được đặt chế độ RTU (Remote

Terminal Unit), mỗi byte trong thụng bỏo được gửi thành một ký tự 8 bit. Ưu điểm

chớnh của chế độ truyền này so với chế độ ASCII là hiệu suất cao hơn. Tuy nhiờn, mỗi thụng bỏo phải được truyền thành một dũng liờn tục. Cấu trỳc một ký tự khung gửi đi

được thể hiện như sau:

Start 0 1 2 3 4 5 6 7 P Stop

• 1 bit khởi đầu (start bit)

• 8 bit của byte thụng bỏo cầ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 (stop bit) nếu sử dụng parity hoặc 2 bit kết thỳc nếu khụng sử dụng parity.

4.2.3 Cấu trỳc bức điện

Một thụng bỏo Modbus bao gồm nhiều thành phần và cú chiều dài cú thể khỏc nhau. Trong một mạng Modbus chuẩn, nếu một trong hai chế độ truyền (ASCII hoặc RTU) được chọn, một thụng bỏo sẽ được đúng khung. Mỗi khung bao gồm nhiều ký tự khung

cú cấu trỳc như được mụ tả ở phần trờn. Cỏc ký tự này sẽ được truyền đi liờn tục thành dũng ở chế độ RTU, hoặc cú thể giỏn đoạn với khoảng cỏch thời gian tối đa một giõy ở chế độ ASCII. Mục đớch của việc đúng khung là để đỏnh dấu khởi điểm và kết thỳc của một thụng bỏo, cũng như bổ sung thụng tin kiểm lỗi. Trường hợp thụng bỏo khụng được truyền trọn vẹn cú thể phỏt hiện được và bỏo lỗi.

Hai chế độ truyền ASCII và RTU khụng những chỉ khỏc nhau ở cỏch mó húa thụng tin gửi đi và cấu trỳc ký tự khung, mà cũn khỏc nhau ở cấu trỳc một bức điện gửi đi - hay núi cỏch khỏc là cấu trỳc khung thụng bỏo, cũng như biện phỏp kiểm lỗi.

Trong một mạng khỏc như MAP hay Modbus Plus, giao thức mạng cú qui định riờng về cấu trỳc khung thụng bỏo. Hỡnh thức định địa chỉ và phương thức truyền cũng hoàn toàn do giao thức mạng cụ thể định nghĩa, vỡ vậy phần địa chỉ nằm trong một thụng bỏo Modbus cú thể trở nờn khụng cần thiết trong quỏ trỡnh truyền dẫn. Tuy nhiờn, một địa chỉ Modbus sẽ được chuyển đổi thành một địa chỉ trạm tương ứng của mạng phớa dưới.

Khung ASCII

Trong chế độ ASCII, một thụng bỏo bắt đầu với dấu hai chấm (:), tức ký tự ASCII 3A, và kết thỳc bằng hai dấu quay lại-xuống dũng (CRLF), tức hai ký tự ASCII 0D và 0A (Hỡnh 4.10). Mỗi byte trong thụng bỏo được truyền đi bằng hai ký tự ASCII, vỡ vậy cỏc ký tự được phộp xuất hiện trong cỏc phần cũn lại của khung là 0-9 và A-F.

Khởi đầu Địa chỉ Mó hàm Dữ liệu Mó LCR Kết thỳc (adsbygoogle = window.adsbygoogle || []).push({});

1 Ký tự : :

2 Ký tự 2 Ký tự n Ký tự 2 Ký tự 2 Ký tự

CR + LF

Hỡnh 4.10: Khung thụng bỏo Modbus chế độ ASCII

Mỗi thiết bị tham gia mạng cú trỏch nhiệm liờn tục theo dừi đường truyền và phỏt hiện sự xuất hiện của dấu hai chấm. Khi dấu hai chấm nhận được thỡ hai ký tự tiếp theo sẽ mang địa chỉ của thiết bị được yờu cầu nhận thụng bỏo hoặc thiết bị đó gửi thụng bỏo

đỏp ứng. Khoảng cỏch thời gian tối đa cho phộp giữa hai ký tự trong một thụng bỏo là

Khung ASCII sử dụng phương phỏp LRC (Longitudinal Redundancy Check) để cho việc kiểm lỗi. Chi tiết về phương phỏp này sẽ được mụ tả trong chương mục tiếp theo (Bảo toàn dữ liệu).

Khung RTU

Trong chế độ RTU, một thụng bỏo bắt đầu với một khoảng trống yờn lặng tối thiểu là 3.5 thời gian ký tự. Thực tế, người ta chọn thời gian đú bằng một số nguyờn lần thời gian ký tự, như được biểu thị bằng dóy (- - - -) trờn Hỡnh 4.11. ễ đầu tiờn được truyền sẽ là 8 bit địa chỉ, sau đú đến 8 bit mó hàm, một số byte tựy ý dữ liệu và cuối cựng là thụng tin kiểm lỗi CRC. Sau khi truyền ký tự cuối của mó CRC, khung thụng bỏo cũng phải

được kết thỳc bằng một khoảng trống yờn lặng tối thiểu là 3.5 thời gian ký tự, trước khi

bắt đầu một thụng bỏo mới. Thực chất, khoảng trống kết thỳc của một thụng bỏo cũng cú thể chớnh là phần khởi đầu bắt buộc của thụng bỏo tiếp theo.

Khởi đầu Địa chỉ Mó hàm Dữ liệu Mó CRC Kết thỳc

(- - - -) 8 bit 8 bit n x 8 bit 16 bit (- - - -)

Hỡnh 4.11: Khung thụng bỏo Modbus chế độ RTU

Khỏc với chế độ ASCII, toàn bộ khung thụng bỏo RTU phải được truyền thành một dũng liờn tục. Nếu một khoảng trống yờn lặng lớn hơn 1.5 thời gian ký tự xuất hiện trước khi truyền xong toàn bộ khung, thiết bị nhận sẽ hủy bỏ thụng bỏo chưa đầy đủ đú và cho rằng byte tiếp theo sẽ là địa chỉ của một thụng bỏo mới.

Địa chỉ

Phần địa chỉ trong một khung thụng bỏo bao gồm hai ký tự (ASCII) hoặc tỏm bit

(RTU). Cỏc giỏ trị địa chỉ hợp lệ nằm trong khoảng 0-247, trong đú địa chỉ 0 dành riờng cho cỏc thụng bỏo gửi đồng loạt tới tất cả cỏc trạm tớ. Nếu Modbus được sử dụng trờn một mạng khỏc, cú thể phương thức gửi đồng loạt khụng được hỗ trợ, hoặc được thay thế bằng một phương phỏp khỏc. Vớ dụ, Modbus Plus sử dụng một cơ sở dữ liệu toàn cục, được cập nhật trong mỗi chu kỳ quay vũng token.

Một thiết bị chủ sử dụng ụ địa chỉ để chỉ định thiết bị tớ nhận thụng bỏo yờu cầu. Sau khi thực hiện yờu cầu, thiết bị tớ đưa địa chỉ của mỡnh vào khung thụng bỏo đỏp ứng, nhờ vậy thiết bị chủ cú thể xỏc định thiết bị tớ nào đó trả lời. Trong một mạng Modbus chuẩn chỉ cú một trạm chủ duy nhất, vỡ thế ụ địa chỉ khụng cần thiết phải chứa cả địa chỉ trạm gửi và trạm nhận.

Mó hàm

Giống như địa chỉ, phần mó hàm trong một khung thụng bỏo bao gồm hai ký tự

(ASCII) hoặc tỏm bit (RTU). Cỏc giỏ trị hợp lệ nằm trong khoảng từ 1-255, trong đú cỏc mó hàm trong thụng bỏo yờu cầu chỉ được phộp từ 1-127. Tuy nhiờn, hầu hết cỏc thiết bị chỉ hỗ trợ một phần nhỏ số hàm trờn và một số mó hàm được dữ trữ cho sau này. Một số hàm tiờu biểu được liệt kờ trong bảng 4.8.

Khi một thụng bỏo gửi từ thiết bị chủ tới một thiết bị tớ, mó hàm chỉ địn hành động mà thiết bị tớ cần thực hiện. Khi thiết bị tớ trả lời, nú cũng dựng chớnh mó hàm đú trong

thụng bỏo đỏp ứng bỡnh thường. Trong trường hợp xảy ra lỗi, mó hàm trả lại sẽ là mó hàm trong yờu cầu với bit cao nhất được đặt bằng 1 và phần dữ liệu sẽ chứa thụng tin chi tiết về lỗi đó xảy ra.

Dữ liệu

Trong một thụng bỏo yờu cầu, nội dung phần dữ liệu núi lờn chi tiết hành động mà bờn nhận cần thực hiện.Vớ dụ trong một yờu cầu đọc cỏc thanh ghi thỡ phần dữ liệu chứa thụng tin về địa chỉ thanh ghi đầu tiờn, số lượng cỏc thanh ghi cần đọc và chiều dài thực tế của chớnh phần dữ liệu.

Trong trường hợp bỡnh thường, phần dữ liệu trong thụng bỏo đỏp ứng sẽ chứa kết quả của hành động đó thực hiện, vớ dụ nội dung cỏc thanh ghi đó đọc. Nếu xảy ra lỗi, phần dữ liệu chứa mó ngoại lệ, nhờ đú mà thiết bị chủ xỏc định hành động tiếp theo cần thực hiện. Lưu ý rằng, một số hàm khụng đũi hỏi tham số, vỡ vậy phần dữ liệu cú thể trống.

4.2.4 Bảo toàn dữ liệu

Mạng Modbus chuẩn sử dụng hai biện phỏp bảo toàn dữ liệu ở hai mức: kiểm soỏt khung thụng bỏo và kiểm soỏt ký tự khung. Đối với hai chế độ truyền ASCII hay RTU, cú thể lựa chọn kiểm tra bit chẵn/lẻ cho từng ký tự khung. Hơn thế nữa, cả khung thụng bỏo lại được kiểm soỏt một lần nữa bằng mó LRC (chế độ ASCII) hoặc mó CRC (chế

độ RTU). (adsbygoogle = window.adsbygoogle || []).push({});

Khi đặt cấu hỡnh cho một thiết bị chủ, cú thể chọn một khoảng thời gian timeout mà nú cú thể chờ đợi đỏp ứng từ trạm tớ. Khoảng thời gian này cần phải đủ lớn để bất cứ thiết bị tớ nào cũng cú thể trả lời trong điều kiện bỡnh thường. Trường hợp thiết bị tớ phỏt hiện lỗi ở thụng bỏo yờu cầu, nú sẽ khụng trả lời. Vỡ thế thiết bị chủ cũng tự động

nhận biết lỗi và chương trỡnh chủ sẽ cú trỏch nhiệm thực hiện cỏc hành động cần thiết. Lưu ý rằng, một thụng bỏo gửi tới địa chỉ một trạm khụng tồn tại cũng sẽ gõy ra

timeout.

Cỏc mạng khỏc như MAP hoặc Modbus Plus sử dụng biện phỏp kiểm lỗi riờng cho cả khung (bao gồm cả nội dung thụng bỏo Modbus), vỡ vậy cỏc ụ CRC hoặc LRC khụng

được đưa vào trong khung thụng bỏo Modbus nguyờn bản. Trong trường hợp xảy ra lỗi

truyền, giao thức mạng cụ thể sẽ bỏo với thiết bị gửi và cho phộp thực hiện gửi lại. Nếu thụng bỏo được gửi tới đớch nhưng trạm tớ khụng thể trả lời, lỗi timeout cũng sẽ được chương trỡnh chủ phỏt hiện.

Kiểm soỏt LRC

Trong chế độ ASCII, phần thụng tin kiểm lỗi của khung thụng bỏo dựa trờn phương phỏp LRC (Longitudinal Redundancy Check). Dóy bit nguồn được ỏp dụng để tớnh mó LRC bao gồm phần địa chỉ, mó hàm và phần dữ liệu. Cỏc ụ khởi đầu cũng như kết thỳc khung khụng tham gia vào tớnh toỏn. Mó LRC ở đõy dài 8 bit (truyền hai ký tự ASCII),

được tớnh bằng cỏch cộng đại số toàn bộ cỏc byte của dóy bit nguồn (khụng để ý tới

Kiểm soỏt CRC

Mó CRC được ỏp dụng trong chế độ RTU dài 16 bit. Đa thức phỏt được sử dụng G = 1010 0000 0000 0001. Khi đưa vào khung thụng bỏo, byte thấp của mó CRC được gửi

đi trước, tiếp sau là byte cao.

4.2.5 Tài liệu tham khảo

[1] Modicon Modbus Protocol Reference Guide PI-MBUS-300, Rev. J. Modicon, Inc.

Một phần của tài liệu Đề cương môn học Mạng truyền thông công nghiệp (Trang 128 - 133)