Kỹ thuật

Góc kỹ thuật

2020.11.04
Công nghiệp

Modbus - Phần 4: Các chuẩn Modbus đang phổ biến - Modbus TCP/IP

1. Định nghĩa Modbus TCP/IP và cách thức hoạt động

1.1. Định nghĩa Modbus TCP/IP

        Modbus TCP/IP (Hay có thể gọi là Modbus-TCP) là giao thức Modbus thuộc lớp ứng dụng, có các thông tin dữ liệu đã được đóng gói, sau đó gói dữ liệu được định tuyến bằng cách gắn thêm địa chỉ IP của thiết bị ở nơi cần gửi đến và TCP là lớp vận chuyển, đảm bảo việc truyền nhận dữ liệu chính xác và đến đúng địa điểm.

        Tóm lại, Modbus TCP/IP sử dụng TCP/IP và Ethernet để truyền nhận dữ liệu giữa các thiết bị có hỗ trợ TCP/IP, tin nhắn Modbus TCP/IP chỉ đơn giản là lượng thông tin dữ liệu Modbus được đóng gói trong gói Ethernet TCP/IP.

Hình 1. Cấu trúc tin nhắn Modbus TCP/IP

        Cấu trúc gói dữ liệu Modbus TCP/IP có chút khác biệt so với cấu trúc gói dữ liệu Modbus RTU ở bài viết về Modbus RTU.

- Phần Address (địa chỉ): Modbus RTU chỉ có 1 byte định địa chỉ Server (Phần Server Address). Đối với Modbus TCP/IP, phần địa chỉ (MBAP - Modbus Application Protocol head) gồm 7 bytes:

+ Transaction/invocation Identification (2 bytes)

+ Protocol Identifier (2 bytes)

+ Length (2 bytes)

+ Unit Identifier (1 bytes)

- Phần Check Sum: Modbus RTU có 2 bytes CRC để kiểm tra lỗi của dữ liệu. Đối với Modbus TCP/IP, sẽ không có phần CRC.

- Phần PDU: Đối với gói PDU, không có sự khác biệt giữa Modbus TCP/IP và Modbus RTU.

1.2. Tại sao phải kết hợp Modbus với Ethernet?

- Bộ giao thức TCP/IP là một trong những bộ giao thức mạng lâu đời, được sử dụng rất phổ biến hiện nay. Nó cũng là một tiêu chuẩn mở được hỗ trợ bởi nhiều nhà sản xuất và số lượng các cơ sở hạ tầng đáp ứng được với TCP/IP là rất lớn. Do đó, bộ giao thức TCP/IP được sử dụng trên toàn thế giới và thậm chí nó đóng vai trò là nền tảng để truy cập vào World Wide Web.

- Vì nhiều thiết bị hiện nay do nhu cầu sử dụng mà hỗ trợ thêm chuẩn Ethernet nên việc Modbus TCP/IP sinh ra để mở rộng việc sử dụng Modbus trong các ứng dụng công nghiệp là điều đương nhiên.

- Ngoài ra, Modbus TCP/IP cũng tương thích hoàn toàn với cơ sở hạ tầng có kết nối Ethernet. Do đó, người dùng có thể sử dụng chung các vật tư có sẵn để kết nối như cáp, đầu nối, card mạng, hub hay switches để tích hợp chung thiết bị sử dụng Modbus TCP/IP trong hệ thống dùng kết nối Ethernet.

2. Mô hình TCP/IP và mô hình OSI

2.1. Mô hình TCP/IP là gì?

        Mô hình TCP/IP được chia thành 4 tầng :

- Tầng ứng dụng: Cung cấp các ứng dụng, trao đổi dữ liệu được chuẩn hóa. Trong tầng ứngdụng này bao gồm nhiều giao thức cụ thể như HTTP, FTP, Modbus … Mỗi giao thức này sẽ có 1 chức năng, nhiệm vụ cụ thể.

- Tầng giao vận: Duy trì đường truyền đầu cuối trên toàn mạng. Tầng này bao gồm giao thức TCPUDP. Trong một số ứng dụng dành cho việc stream dữ liệu, những ứng dụng không quan tâm đến việc dữ liệu bị thất thoát hay các ứng dụng và broadcast dữ liệu thì UDP được dùng nhiều hơn.

- Tầng mạng: đây còn gọi là tầng Internet. Tầng này thực hiện công việc xử lý các gói tin, sau đó kết nối với các mạng độc lập để vận chuyển các gói dữ liệu đã được mã hóa qua các lớp mạng. Tầng này gồm nhiều giao thức như IP, IPMP.

- Tầng vật lý: Các giao thức của tầng này là Ethernet, ARP. Ethernet thường dùng cho mạng cục bộ LAN.

2.2. Ưu điểm của mô hình TCP/IP

       Một số ưu điểm khi sử dụng mô hình TCP/IP:

- Đây là một mô hình mở, không phụ thuộc hay chịu sự kiểm soát của bất kỳ công ty nào.

- Khả năng tương thích với nhiều hệ điều hành và nhiều phần cứng trên thị trường.

- Khả năng mở rộng cao. TCP/IP giống như một mô hình có thể định tuyến, thông qua địa chỉ IP có thể xác định được đường dẫn hiệu quả.

2.3. Các giao thức TCP/IP phổ biến nhất

        Hiện nay, mô hình TCP/IP được sử dụng cho rất nhiều loại giao thức, tuy nhiên có 3 loại được sử dụng phổ biến nhất là HTTP, HTTPS và FTP.

        Song đó, các thiết bị của NI hiện nay cũng cho phép kết nối TCP/IP với những giao thức kể trên như HTTP hay FTP.

2.4. So sánh với mô hình OSI

Hình 2. So sánh mô hình OSI và mô hình TCP/IP

        Khác với mô hình mạng truyền thống OSI (gồm 7 tầng), mô hình TCP/IP chỉ gồm 4 tầng chính.

- Tầng 5,6 và 7 của mô hình OSI tương đương với Tầng ứng dụng của mô hình TCP/IP.

- Tầng giao vận và Tầng mạng giữa 2 mô hình là giống nhau.

- Tầng vật lý và Tầng liên kết dữ liệu của mô hình OSI tương đương với Tầng vật lý và truy cập mạng của mô hình TCP/IP.

        So sánh 2 mô hình:

- Giống nhau:

+ Có kiến trúc phân lớp.

+ Đều có tầng mạng và giao vận.

+ Sử dụng kĩ thuật truyền các gói thông tin.

- Khác nhau:

Nội dung

Mô hình OSI

Mô hình TCP/IP

Độ tin cậy, phổ biến Không được được sử dụng phổ biến. Được chuẩn hóa, nhiều người sử dụng.
Sự kết hợp nhiệm vụ giữa các tầng Mỗi tầng giữ một nhiệm vụ khác nhau. Không có sự kết hợp giữa các tầng với nhau. Các tầng có sự kết hợp nhiệm vụ, chức năng của các tầng với nhau.
Thiết kế Phát triển mô hình trước, sau đó sẽ phát triển giao thức. Các giao thức sẽ được thiết kế trước sau đó mới phát triển mô hình.
Số tầng 7 4
Truyền thông Hỗ trợ cả kết nối có dây và không dây. Hỗ trợ truyền thông không kết nối từ tầng mạng

3. Modbus TCP/IP và TCP/IP

        - Tóm lại ở phần trên, nói một cách đơn giản bộ giao thức TCP/IP cho phép các khối dữ liệu được trao đổi với nhau giữa các máy tính, là sự kết hợp giữa giao thức TCP và giao thức IP. Chức năng chính của giao thức TCP là đảm bảo các gói dữ liệu được truyền nhận một cách chính xác, trong khi giao thức IP đảm bảo các thông điệp được xử lý và định tuyến chính xác bằng địa chỉ IP.

        - Ngoài ra, bộ giao thức TCP/IP không định nghĩa và diễn giải cấu trúc dữ liệu theo bất kì một quy luật nào. Nó chỉ là một giao thức vận chuyển.

        - Trái với bộ giao thức TCP/IP, Modbus TCP/IP là 1 giao thức thuộc tầng ứng dụng. Nó xác định các quy tắc để tổ chức cấu trúc dữ liệu trong các gói thông điệp. Ngoài ra, Modbus TCP/IP cũng miễn phí và có thể được truy cập, sử dụng bởi bất kì ai, dễ hiểu và được hỗ trợ rộng rãi bởi nhiều nhà sản xuất.

        - Modbus TCP/IP sử dụng TCP/IP và Ethernet để truyền nhận dữ liệu giữa các thiết bị có hỗ trợ kết nối Ethernet với nhau. Đối với Modbus TCP/IP, tầng ứng dụng bao gồm Modbus và ADU được nhúng vào trong mảng dữ liệu của TCP. Cấu trúc gói dữ liệu của TCP/IP - Ethernet có thể tham khảo ở hình bên dưới.

Hình 3. Cấu trúc gói dữ liệu TCP/IP - Ethernet.

4. Tầng ứng dụng Modbus TCP/IP

        Các thông tin mô tả chung về giao thức, mã hóa, mô hình dữ liệu cũng như cấu trúc và cách thức hoạt động đã được miêu tả cụ thể ở Phần 2 (Modbus - Phần 2: Mô tả chung về giao thức Modbus).

5. Demo giao tiếp PLC qua Modbus TCP/IP bằng phần mềm LabVIEW

 

Các thông tin liên quan