Chế độ truyền

Một phần của tài liệu Giáo trình mạng truyền thông công nghiệp (Trang 128 - 131)

1 2 N Chu kỳ bus (chu kỳ TDMA)

4.2.2 Chế độ 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:

Sta rt

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

129

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:

Sta

rt 0 1 2 3 4 5 6 7 P Stop

Mỗi ký tự khung bao gồm • 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

130

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

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à một giõy. Nếu vượt quỏ giỏ trị này, bờn nhận sẽ coi là lỗi.

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

131

đượ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.

Một phần của tài liệu Giáo trình mạng truyền thông công nghiệp (Trang 128 - 131)