Kỹ thuật

Góc kỹ thuật

2020.10.16
Truyền thông CN

Modbus - Phần 3: Các chuẩn Modbus đang phổ biến - Modbus RTU

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

1.1. Định nghĩa Modbus RTU         Modbus RTU là một giao thức mở, dựa trên kiến trúc Client/Server được phát triển bởi Modicon (ngày nay là Schneider Electric). Hiện nay, Modbus RTU được sử dụng rộng rãi trong lĩnh vực Xây dựng hệ thống quản lý (Building Management System - BMS) và Hệ thống tự động hóa trong công nghiệp (Industrial Automation System - IAS).         Trên thế giới, Modbus RTU đa số được sử dụng với chuẩn vật lý Serial (Nối tiếp) như RS-232, RS-485 hay RS-422 (RS-232 và RS-485 sẽ được giải thích ở phần dưới). Nhưng hiện nay, do nhu cầu tích hợp hệ thống với các thiết bị hỗ trợ kết nối Ethernet được tăng cao nên người dùng đã dần sử dụng Modbus RTU qua Ethernet.

Hình 1. Cấu trúc tin nhắn của Modbus RTU

        Như đã đề cập ở phần 2, cấu trúc của Modbus Message (ADU) gồm 3 phần chính là phần Địa chỉ server, PDU và Kiểm tra lỗi. RS-232/RS-485 ADU có tổng kích thước là 256 bytes gồm 253 bytes mặc định cho PDU (1 byte Mã chức năng và 252 bytes cho Trường dữ liệu), 1 byte địa chỉ Server và 2 bytes Kiểm tra lỗi. Vai trò cụ thể của từng phần trong RS-232/RS-485 như sau:

- Địa chỉ Server: Xác định địa chỉ nơi dữ liệu thực hiện giao tiếp (Có thể là Client hoặc Server tùy trường hợp). Địa chỉ này được quy định trong phạm vi từ 0 đến 255.

- Mã chức năng: Xác định chức năng Client yêu cầu. Phạm vi từ 0 - 255 ( Giá trị từ 128 - 255 được dành riêng và sử dụng cho các phản hồi ngoại lệ). Bài viết ở phần 2 đã có giới thiệu về 1 số chức năng chính như 01: đọc Coils, 03: đọc Holding Register,…

- Trường dữ liệu: Nơi chứa thông tin dữ liệu truyền nhận giữa Client và Server.

- Kiểm tra lỗi (CRC): 2 byte kiểm tra lỗi của dữ liệu.

1.2. Cách thức hoạt động của Modbus RTU        Modbus RTU hoạt động dựa trên mô hình Client/Server,tức là một bên truyền các yêu cầu đọc hoặc ghi dữ liệu (Client) và phía còn lại truyền dữ liệu cho Client (Server) thông qua địa chỉ thanh ghi trên bộ nhớ của thiết bị. Phương thức truyền của Modbus RTU được sử dụng nhiều trong những thiết bị có chuẩn giao tiếp vật lý là RS-232 hay RS-485. 1.3. Ứng dụng của Modbus RTU        Việc sử dụng Modbus RTU trong các hệ thống công nghiệp đã rất phổ biến. Modbus RTU giúp việc kết nối tất cả các thiết bị trong hệ thống trở nên đơn giản chỉ với 2-3 dây tín hiệu. Dưới đây là ví dụ tổng quan một mô hình hệ thống sử dụng Modbus RTU (chuẩn vật lý RS-485).

Hình 2. Hệ thống công nghiệp sử dụng Modbus RTU

        Về cơ bản, mô hình kết nối trong hình 2 sẽ được triển khai như sau:

- Các tín hiệu Analog (tín hiệu tương tự) và các tín hiệu Digital sẽ được các thiết bị của Modbus Server thu thập (Server 1, 2, 3, 4, 5...).

- PLC lúc này đóng vai trò như một Client được kết nối với các thiết bị có vai trò như các Server thông qua chuẩn vật lý RS-485. Client sẽ yêu cầu các Server thực hiện truyền, nhận dữ liệu để lấy thông tin và Client dùng những thông tin đó để điều khiển các Server khác trong hệ thống (lúc này PLC sẽ đóng vai trò là Server).

- Kết nối giữa Client và các Server trong hệ thống thông qua chuẩn vật lý RS-485. (Ở những mô hình ứng dụng khác, người dùng có thể sử dụng chuẩn vật lý RS-232 tùy theo nhu cầu sử dụng)

        Như vậy, thông qua hệ thống sử dụng Modbus RTU, một thiết bị có thể đóng vai trò vừa là Client để lấy thông tin từ những thiết bị khác, và cũng vừa là Server để điều khiển, nhờ vậy người sử dụng có thể giám sát, điều khiển, quản lý tất cả các thiết bị để thu thập thông tin như nhiệt độ, áp suất, các loại van, cảm biến có trong hệ thống...

2. Phân biệt RS-232 và RS-485 trong Modbus RTU

        Modbus RTU đa số vẫn còn sử dụng với các chuẩn vật lý Serial (Nối tiếp) như RS-232, RS-485 hay RS-422, mục 5.1.2 sẽ đề cập chi tiết đến chuẩn vật lý Serial (nối tiếp) và phân biệt giữa RS-232 và RS-485.

Chuẩn vật lý Serial (Có thể gọi vắn tắt là giao tiếp Serial)

- Trong các phương thức truyền nhận dữ liệu, quá trình gửi dữ liệu một cách tuần tự qua bus máy tính giữa hai hay nhiều máy tính với nhau được gọi là giao tiếp Serial, tức là dữ liệu sẽ được truyền từng bit một.

Hình 3. Giao tiếp Serial

- Bên cạnh đó, có một kiểu giao tiếp khác là Parallel, dữ liệu được truyền 8 bit cùng lúc như hình 4.

Hình 4. Giao tiếp Parallel

Ưu điểm giao tiếp Serial:

- Chi phí thấp hơn so với giao tiếp Parallel.

- Có thể truyền song công hoặc bán song công.

- Giao tiếp Serial đáng tin cậy và đơn giản hơn so với giao tiếp Parallel.

Nhược điểm giao tiếp Serial:

- Tốc độ chậm hơn giao tiếp Parallel.

Các phương thức truyền dữ liệu trong giao tiếp Serial:

- Dữ liệu được truyền đồng bộ: Sử dụng xung clock (Clock Pulse) để đồng bộ quá trình truyền nhận giữa bên thu và bên phát. Dữ liệu sẽ được gửi đi hoặc nhận lại ở những thời điểm xuất hiện cạnh lên của xung clock. (Hình 3) (Xung clock là 1 chuỗi các xung vuông được truyền liên tục cách nhau bằng 1 khoảng thời gian cố định. Với cứ mỗi thời điểm xung thay đổi mức từ 0 -> 1 thì dữ liệu được truyền/nhận).

- Dữ liệu được truyền bất đồng bộ: Không sử dụng clock để đồng bộ mà sử dụng bit chẵn lẻ (Parity bit) hoặc những quy ước về phần cứng giữa 2 bên thu phát để đảm bảo dữ liệu được toàn vẹn. Ví dụ: phía phát quy định cứ mỗi 1 mili giây sẽ gửi 1 bit dữ liệu và phía nhận cũng quy định là cứ 1 mili giây sẽ nhận 1 bit dữ liệu.

Các thông số cài đặt chính trong giao tiếp Serial:

Baud rate: Dùng để đo tốc độ truyền nhận dữ liệu, là số bit được truyền trong một giây.

Stop bits: Được dùng để dừng việc truyền dữ liệu. Các giá trị thông dụng là 1, 1.5 và 2

Parity bit: Là bit dùng để báo số lượng bit có giá trị bằng 1 trong một nhóm bit đã biết và được sử dụng để kiểm tra lỗi. Có 4 loại parity bit thông dụng là even, odd, marked và spaced.

Các chuẩn vật lý Serial:

- Đối với Modbus RTU hiện nay, đa số các thiết bị giao tiếp qua chuẩn Serial có 2 dạng thường gặp là chuẩn vật lý RS-232 và RS-485.

2.1. RS-232 là gì?         RS-232 là 1 dạng đầu nối vật lý có 9 chân (pin) (còn được gọi là cổng COM), thường được sử dụng trong các máy tính bàn để giao tiếp với các thiết bị khác như máy in, fax, (và còn được gọi là chuẩn RS-232).         RS-232 sử dụng 3 dây chính, đó là dây truyền dữ liệu (Tx), dây nhận dữ liệu (Rx) và dây nối đất (GND). RS-232 hoạt động dựa trên sự chênh lệch điện áp giữa Tx, Rx so với GND.         Hiện nay, có 2 loại kết nối theo chuẩn vật lý RS-232 được sử dụng nhiều là DB-9 và DB-25.         DB-25 có 25 chân, nhưng trong một số ứng dụng không cần thiết sử dụng toàn bộ 25 chân. Vì vậy, DB-9 được tạo ra để tăng tính tiện dụng cho việc kết nối.

Hình 4. Sơ đồ chân (pin) của DB-9

– Nhược điểm của chuẩn vật lý RS-232 là không thể truyền tín hiệu đi xa, nếu xảy ra trường hợp mất mát tín hiệu thì không thể phục hồi được. Bên cạnh đó việc kết nối theo chuẩn RS-232 chỉ có thể thực hiện giữa 2 thiết bị (point – to – point) nên số lượng thiết bị kết nối sẽ bị hạn chế.

– Một số đặc điểm khác của chuẩn vật lý RS-232 là:

+ Khoảng cách truyền tối đa là 15m.

+ Tốc độ truyền là 20Kbps.

2.2. RS-485 là gì?         Khác với chuẩn vật lý RS-232, chuẩn vật lý RS-485 chỉ truyền trên 2 dây tín hiệu gồm dây truyền dữ liệu (Tx) và dây nhận dữ liệu (Rx).         Ngoài ra, RS-485 hoạt động dựa trên sự chênh lệch điện áp giữa 2 dây tín hiệu trên theo mức logic 0 và 1 chứ không so sánh với dây GND như RS-232. Điều này giúp đảm bảo việc truyền tín hiệu đi xa hơn so với RS-232, giảm thiểu khả năng bị ảnh hưởng bởi nhiễu.         Ưu điểm lớn nhất của chuẩn RS-485 chính là khả năng truyền tín hiệu đi xa, tối đa lên đến 1200m và có thể kết nối nhiều thiết bị trên cùng một mạng sử dụng chuẩn RS-485, tối đa lên đến 32 thiết bị cùng lúc. 2.3. Kết luận

Một số điểm khác biệt của chuẩn vật lý RS-232 và RS-485

 

RS-232

RS-485

Cấu hình Nối chung GND (Single-end) Nối vi sai (Differential)
Số lượng thiết bị tối đa có thể kết nối cùng lúc 1 32
Số lượng nút giao tối đa có thể kết nối 1 32
Mạng Điểm - Điểm Đa điểm
Khoảng cách truyền nhận tối đa 15m 1200m
Tốc độ truyền nhận (khi truyền ở khoảng cách tối đa) 20KBit/s 10MBit/s
Các mức điện áp điển hình ± 5V đến ± 15V ± 1.5V đến 6V
Điện trở đầu vào máy thu 3 đến 7 kΩ 12 kΩ
Độ nhạy ± 3V ± 200mV

Số lượng thiết bị có thể kết nối

- Với RS-485, 1 thiết bị có thể kết nối với nhiều thiết bị khác (Tối đa lên đến 32 thiết bị). RS-485 sử dụng kiểu kết nối multi-point network.

- Với RS-232, 1 thiết bị chỉ có thể liên kết trực tiếp với 1 thiết bị khác hoặc thông qua thiết bị chuyển đổi trung gian. RS-232 sử dụng kiểu kết nối Point - to - Point.

Khoảng cách kết nối và Tốc độ truyền nhận dữ liệu

- Dựa theo thông tin ở bảng trên, RS-485 có thể giao tiếp với khoảng cách xa hơn rất nhiều so với RS-232 (1200 mét so với 15 mét) Đồng thời chuẩn RS-485 có tốc độ truyền cao hơn so với chuẩn RS-232 (10MBit/s so với 20KBit/s).

- RS-485 với việc chỉ hoạt động trên dây Tx và Rx nên sẽ ít xảy ra nhiễu và không làm gián đoạn việc giao tiếp. Vì vậy, RS-485 được truyền với tốc độ cao và xa hơn.

Các thông tin liên quan