Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG CƠ KHÍ
----------

Báo cáo cuối kỳ

HỆ THỐNG GIÁM SÁT VÀ


ĐIỀU KHIỂN THỜI GIAN THỰC

Giảng viên hướng dẫn: TS. Vũ Văn Hà

Học viên thực hiện Lê Đình Nam


Mã học viên 20222230M
Khoa Cơ Điện Tử

Hà Nội, năm 2024


Mục lục

Mục lục........................................................................................................ 0
1. Hệ thống giám sát .................................................................................... 2
1.1 Khái niệm hệ thống giám sát .............................................................. 2
1.2 Phân loại hệ thống giám sát ................................................................ 3
1.3 Cơ sở dữ liệu ...................................................................................... 4
2. Mạng truyền thông và giao thức truyền dữ liệu ........................................ 5
2.1 Mạng truyền thông trong công nghiệp ................................................ 5
2.1.1 Khái niệm .................................................................................... 5
2.1.2 Cơ chế truyền thông nối tiếp trong công nghiệp .......................... 6
2.2 Giao thức truyền thông chính trong công nghiệp ................................ 7
2.2.1 Tổng quan ................................................................................... 7
2.2.3 Giao thức truyền thông modbus................................................... 8
2.2.4 Một số phương thức truyền thông nối tiếp khác......................... 10
3. Tìm hiểu về truyền thông công nghiệp Modbus................................... 10
Ứng dụng của Modbus RTU .............................................................. 11
Cách thức hoạt động của Modbus ...................................................... 12
Hệ thập lục phân (Hexadecimal) ........................................................ 12
Khung dữ liệu truyền của Modbus ..................................................... 13
Phân biệt RS232 và RS485. ............................................................... 14
Sử dụng Modbus RTU. ...................................................................... 16
Ưu nhược điểm của việc sử dụng Modbus RTU. ................................ 17
Các kiểu truyền nhận dữ liệu trong Modbus RTU .............................. 17
Tài liệu tham khảo ..................................................................................... 27

1
1. Hệ thống giám sát
1.1 Khái niệm hệ thống giám sát
Hệ thống giám sát (Monitor System) là một hệ thống được sử dụng để theo dõi,
giám sát và quản lý các thông số hoặc hoạt động của một quy trình sản xuất. Mục tiêu của
hệ thống giám sát là thu thập thông tin và cung cấp hiểu biết về trạng thái hoạt động, hiệu
suất và sự an toàn của hệ thống. Mục tiêu của hệ thống giám sát là đảm bảo rằng hoạt động
được thực hiện đúng theo kế hoạch, tuân thủ các quy tắc và tiêu chuẩn, và phát hiện và giải
quyết các vấn đề và rủi ro nếu có.

Hình 1. Sơ đồ khối một hệ thống giám sát trong nhà máy


Hệ thống giám sát trong công nghiệp sử dụng các cảm biến, thiết bị đo lường, và hệ
thống điều khiển để thu thập dữ liệu từ các quy trình và thiết bị trong môi trường sản xuất.
Dữ liệu này sau đó được truyền về cho các trung tâm điều khiển, nơi nó được xử lý và phân
tích để đảm bảo hiệu suất và an toàn của hệ thống.
Các chức năng chính của hệ thống giám sát trong công nghiệp bao gồm:
1. Giám sát hoạt động: Hệ thống giám sát theo dõi các thông số như nhiệt độ, áp suất,
lưu lượng, mức nước, điện áp và các thông số quan trọng khác của các thiết bị và
quy trình sản xuất. Nó cung cấp thông tin thời gian thực về tình trạng hoạt động của
hệ thống và cảnh báo về các sự cố hoặc sai sót có thể xảy ra.
2. Điều khiển quy trình: Hệ thống giám sát có khả năng điều khiển và điều chỉnh quy
trình sản xuất thông qua các thiết bị điều khiển. Khi hệ thống phát hiện các sai lệch
hoặc tình huống bất thường, nó có thể tự động thực hiện các hành động như điều
chỉnh tham số hoặc ngừng quy trình để đảm bảo an toàn và chất lượng sản phẩm.

2
3. Phân tích và báo cáo: Dữ liệu từ hệ thống giám sát được phân tích để tạo ra các báo
cáo, biểu đồ và chỉ số hiệu suất. Các thông tin này giúp các nhà quản lý và kỹ sư
đánh giá hiệu quả sản xuất, tìm ra các vấn đề tiềm ẩn và đưa ra các cải tiến cho quy
trình.
4. Bảo mật và an toàn: Hệ thống giám sát trong công nghiệp phải đảm bảo an toàn và
bảo mật dữ liệu. Các biện pháp bảo mật như xác thực người dùng, mã hóa dữ liệu
và kiểm tra định kỳ được sử dụng để bảo vệ thông tin quan trọng và ngăn chặn các
tác động xấu từ bên ngoài.
5. Tích hợp và mở rộng: Hệ thống giám sát trong công nghiệp có khả năng tích hợp
với các hệ thống khác như hệ thống SCADA (Supervisory Control and Data
Acquisition), hệ thống quản lý cảm biến, và các hệ thống quản lý nhà máy khác. Nó
cũng có khả năng mở rộng để đáp ứng nhu cầu mở rộng và thay đổi trong quá trình
sản xuất.
Hệ thống giám sát đóng vai trò quan trọng trong việc duy trì hiệu suất, an toàn và
bảo mật của các quy trình và hệ thống. Nó giúp đảm bảo sự liên tục và ổn định của các
hoạt động, giảm thiểu sự cố và nguy cơ, cải thiện hiệu suất và tăng cường khả năng phản
ứng nhanh chóng đối với các sự kiện bất thường.
1.2 Phân loại hệ thống giám sát
Hệ thống giám sát trong công nghiệp có thể được phân loại theo các tiêu chí khác
nhau. Dưới đây là một phân loại chung dựa trên các khía cạnh quan trọng:
1. Hệ thống giám sát cục bộ (Local Monitoring Systems): Đây là các hệ thống giám
sát được triển khai tại một vị trí cụ thể trong một phân xưởng hoặc nhà máy. Chúng
giám sát các thiết bị và quy trình trong phạm vi hạn chế, như một dây chuyền sản
xuất cụ thể hoặc một hệ thống điều hòa không khí. Hệ thống giám sát cục bộ thường
cung cấp các thông tin cần thiết để kiểm soát và điều chỉnh các thiết bị và quy trình
tại một điểm cụ thể.
2. Hệ thống giám sát mở rộng (Enterprise Monitoring Systems): Đây là các hệ thống
giám sát được triển khai trên toàn bộ doanh nghiệp hoặc tập đoàn công nghiệp.
Chúng tích hợp và giám sát các hệ thống và quy trình khác nhau trong nhiều vị trí
và cơ sở khác nhau. Hệ thống giám sát mở rộng cung cấp cái nhìn toàn diện về hiệu
suất, an toàn và chất lượng trong toàn bộ doanh nghiệp.
3. Hệ thống giám sát theo thời gian thực (Real-time Monitoring Systems): Đây là các
hệ thống giám sát đáp ứng nhanh chóng và cung cấp thông tin theo thời gian thực
về tình trạng hoạt động và các sự cố. Chúng giúp nhà quản lý và nhân viên kiểm
soát và phản ứng kịp thời đối với các vấn đề và tình huống cần xử lý ngay lập tức.
4. Hệ thống giám sát từ xa (Remote Monitoring Systems): Đây là các hệ thống giám
sát cho phép theo dõi và kiểm soát từ xa các thiết bị và quy trình sản xuất. Chúng
sử dụng công nghệ mạng và kết nối trực tuyến để thu thập dữ liệu và cung cấp thông
3
tin qua mạng internet hoặc mạng nội bộ của doanh nghiệp. Hệ thống giám sát từ xa
cho phép giám sát và quản lý từ xa, giảm thiểu thời gian dừng máy và tiết kiệm chi
phí duy trì.
5. Hệ thống giám sát phân tán (Distributed Monitoring Systems): Đây là các hệ thống
giám sát được triển khai trên nhiều vị trí và mạng lưới trong một môi trường công
nghiệp phân tán. Chúng tích hợp và giám sát các điểm khác nhau trong hệ thống và
truyền thông tin giám sát đến trung tâm điều khiển chính.
6. Hệ thống giám sát dựa trên mạng (Network-based Monitoring Systems): Đây là các
hệ thống giám sát sử dụng mạng để thu thập dữ liệu và truyền thông tin giám sát.
Chúng sử dụng các giao thức mạng như TCP/IP và các công nghệ liên quan để kết
nối và giao tiếp với các thiết bị và hệ thống khác nhau trong môi trường công nghiệp.
1.3 Cơ sở dữ liệu
Cơ sở dữ liệu của các hệ thống giám sát trong công nghiệp thường được thiết kế để
lưu trữ và quản lý dữ liệu thu thập từ các cảm biến, thiết bị và quy trình trong quá trình sản
xuất. Cơ sở dữ liệu này giữ vai trò quan trọng trong việc lưu trữ thông tin, phân tích dữ liệu
và cung cấp thông tin thời gian thực cho hệ thống giám sát.
Các hệ thống giám sát trong công nghiệp có thể sử dụng các loại cơ sở dữ liệu khác
nhau, bao gồm:
1. Cơ sở dữ liệu quan hệ (Relational Database): Đây là loại cơ sở dữ liệu phổ biến
được sử dụng trong các hệ thống giám sát công nghiệp. Cơ sở dữ liệu quan hệ sử
dụng bảng để lưu trữ và tổ chức dữ liệu theo các quan hệ giữa các bảng. Các truy
vấn SQL (Structured Query Language) được sử dụng để truy xuất và xử lý dữ liệu
trong cơ sở dữ liệu quan hệ.
2. Cơ sở dữ liệu không quan hệ (Non-relational Database): Còn được gọi là cơ sở dữ
liệu NoSQL, loại cơ sở dữ liệu này thường được sử dụng khi cần lưu trữ và xử lý
dữ liệu phi cấu trúc hoặc dữ liệu có cấu trúc linh hoạt. Các loại cơ sở dữ liệu NoSQL
như cơ sở dữ liệu key-value, cơ sở dữ liệu cột, cơ sở dữ liệu tài liệu và cơ sở dữ liệu
đồ thị có thể được sử dụng trong các hệ thống giám sát công nghiệp.
3. Cơ sở dữ liệu thời gian thực (Time-Series Database): Đây là loại cơ sở dữ liệu được
thiết kế đặc biệt để lưu trữ và truy xuất dữ liệu theo thời gian. Cơ sở dữ liệu thời
gian thực giúp lưu trữ dữ liệu đo lường thời gian thực và cung cấp khả năng truy
vấn nhanh chóng và hiệu quả. Nó thường được sử dụng trong hệ thống giám sát
công nghiệp để lưu trữ dữ liệu từ các cảm biến và thiết bị theo dõi.
4. Cơ sở dữ liệu phân tán (Distributed Database): Cơ sở dữ liệu phân tán được sử dụng
khi dữ liệu phải được lưu trữ và quản lý trên nhiều nút hoặc vị trí khác nhau trong
một mạng lưới. Cơ sở dữ liệu phân tán cho phép lưu trữ và truy xuất dữ liệu từ nhiều
địa điểm và hỗ trợ khả năng mở rộng và bảo đảm tính sẵn sàng cao.

4
Cơ sở dữ liệu được chọn cho hệ thống giám sát trong công nghiệp thường phụ thuộc
vào yêu cầu cụ thể của ứng dụng, khả năng mở rộng, tốc độ truy xuất dữ liệu và khả năng
xử lý dữ liệu trong thời gian thực.
2. Mạng truyền thông và giao thức truyền dữ liệu
2.1 Mạng truyền thông trong công nghiệp
2.1.1 Khái niệm
Mạng truyền thông trong công nghiệp, còn được gọi là mạng công nghiệp, là một
hệ thống mạng sử dụng trong môi trường công nghiệp để kết nối và truyền dữ liệu giữa các
thiết bị, máy móc và hệ thống trong quá trình sản xuất và quản lý.
Mạng truyền thông trong công nghiệp có những đặc điểm và yêu cầu đặc biệt so với
mạng truyền thông thông thường. Dưới đây là một số khía cạnh quan trọng của mạng truyền
thông trong công nghiệp:
Độ tin cậy cao: Mạng công nghiệp phải đảm bảo sự tin cậy và liên tục hoạt động
trong môi trường công nghiệp khắc nghiệt. Môi trường công nghiệp thường có nhiều yếu
tố có thể gây nhiễu, rung động, bụi bẩn và biến động nhiệt độ cao. Mạng công nghiệp cần
được thiết kế để chịu được những điều kiện khắc nghiệt này và duy trì hoạt động ổn định.
• Thời gian thực: Trong nhiều ứng dụng công nghiệp, yêu cầu truyền thông dữ
liệu trong thời gian thực là cần thiết. Các thiết bị và hệ thống trong môi trường
công nghiệp thường cần phải truyền dữ liệu một cách chính xác và trong thời
gian ngắn để đảm bảo sự đồng bộ và phản ứng nhanh.
• Khả năng mở rộng: Mạng công nghiệp thường phải mở rộng để kết nối và
quản lý một lượng lớn các thiết bị và hệ thống. Khả năng mở rộng của mạng
công nghiệp là quan trọng để có thể đáp ứng nhu cầu mở rộng trong quá trình
phát triển và mở rộng các dây chuyền sản xuất.
• Bảo mật: Trong môi trường công nghiệp, bảo mật thông tin là một yêu cầu
quan trọng. Mạng công nghiệp cần có các cơ chế bảo mật mạnh mẽ để ngăn
chặn các cuộc tấn công, truy cập trái phép và bảo vệ dữ liệu quan trọng.
• Chịu được môi trường khắc nghiệt: Môi trường công nghiệp thường gặp phải
các yếu tố khắc nghiệt như nhiệt độ cao, bụi bẩn, độ rung, nhiễu điện từ.
Mạng truyền thông trong công nghiệp cần thiết kế và chịu được các yếu tố
này để đảm bảo hoạt động ổn định.
Các công nghệ mạng công nghiệp phổ biến bao gồm Ethernet công nghiệp
(Industrial Ethernet), giao thức truyền thông Modbus, giao thức truyền thông PROFIBUS
và giao thức truyền thông PROFINET. Các công nghệ này được thiết kế đặc biệt để đáp
ứng các yêu cầu và đảm bảo hiệu suất cao trong môi trường công nghiệp.

5
2.1.2 Cơ chế truyền thông nối tiếp trong công nghiệp
Cơ chế truyền thông song song (Parallel Communication) và truyền thông nối tiếp
(Serial Communication) là hai phương thức truyền thông dữ liệu khác nhau trong mạng
truyền thông và hệ thống giao tiếp.

Hình 2. Cơ chế truyền thông song song và truyền thông nối tiếp
1. Truyền thông song song: Truyền thông song song là cơ chế truyền dữ liệu mà các
bit của dữ liệu được truyền đi đồng thời trên nhiều dây truyền. Mỗi bit của dữ liệu
được đại diện bằng một dây tín hiệu riêng biệt. Do đó, cần có số lượng dây tín hiệu
tương đương với số bit của dữ liệu để truyền thông song song. Ví dụ, truyền thông

6
song song 8-bit (Parallel 8-bit) sử dụng 8 dây tín hiệu riêng biệt để truyền 8 bit dữ
liệu cùng một lúc.
Các đặc điểm của truyền thông song song:
• Tốc độ truyền dữ liệu cao.
• Cần nhiều dây tín hiệu, do đó yêu cầu dây cáp và cấu trúc vật lý phức tạp hơn.
• Khoảng cách truyền thông hạn chế do tín hiệu truyền qua nhiều dây.
• Độ tin cậy cao hơn truyền thông nối tiếp vì dữ liệu được truyền đồng thời.
2. Truyền thông nối tiếp: Truyền thông nối tiếp là cơ chế truyền dữ liệu mà các bit của
dữ liệu được truyền qua một dây truyền duy nhất theo thứ tự tuần tự. Mỗi bit được
truyền liên tiếp sau bit trước đó. Các bit dữ liệu cùng với các bit kiểm tra và điều
khiển được gói thành các khung truyền và truyền qua dây truyền nối tiếp.
Các đặc điểm của truyền thông nối tiếp:
• Tốc độ truyền dữ liệu thấp hơn so với truyền thông song song.
• Sử dụng ít dây tín hiệu hơn, do đó cấu trúc vật lý đơn giản hơn.
• Khoảng cách truyền thông xa hơn do dữ liệu được truyền qua một dây duy
nhất.
• Độ tin cậy thấp hơn truyền thông song song vì dữ liệu được truyền tuần tự.
Truyền thông song song và truyền thông nối tiếp có ứng dụng khác nhau tùy thuộc
vào yêu cầu của hệ thống. Truyền thông song song thích hợp cho các ứng dụng yêu cầu tốc
độ cao và độ tin cậy, trong khi truyền thông nối tiếp thường được sử dụng cho các ứng
dụng có tốc độ truyền dữ liệu thấp và đơn giản hóa cấu trúc vật lý.
2.2 Giao thức truyền thông chính trong công nghiệp
2.2.1 Tổng quan
Có nhiều giao thức truyền thông nối tiếp phổ biến được sử dụng trong công nghiệp.
Dưới đây là một số giao thức quan trọng trong truyền thông nối tiếp trong công nghiệp:
1. RS-232 (Recommended Standard 232): Giao thức RS-232 là một giao thức truyền
thông nối tiếp phổ biến trong công nghiệp. Nó sử dụng dây truyền đơn để truyền dữ
liệu tuần tự. RS-232 hỗ trợ tốc độ truyền dữ liệu thấp và thường được sử dụng để
kết nối các thiết bị điều khiển, máy móc, và cảm biến.
2. RS-485 (Recommended Standard 485): Giao thức RS-485 cũng là một giao thức
truyền thông nối tiếp tuần tự, nhưng có khả năng truyền dữ liệu trên các dây truyền
cân bằng. RS-485 hỗ trợ tốc độ truyền dữ liệu cao hơn so với RS-232 và được sử
dụng phổ biến trong các ứng dụng công nghiệp yêu cầu khoảng cách truyền thông
xa và nhiều thiết bị kết nối.
7
3. Modbus: Modbus là một giao thức truyền thông nối tiếp phổ biến trong công nghiệp,
được sử dụng để truyền dữ liệu giữa các thiết bị điều khiển và thiết bị ngoại vi.
Modbus có hai phiên bản chính là Modbus RTU (dựa trên RS-485) và Modbus TCP
(dựa trên Ethernet). Giao thức này đơn giản, linh hoạt và rộng rãi được hỗ trợ bởi
nhiều nhà sản xuất thiết bị công nghiệp.
4. PROFIBUS: PROFIBUS là một giao thức truyền thông nối tiếp phổ biến trong công
nghiệp, được sử dụng để truyền dữ liệu giữa các thiết bị điều khiển và thiết bị ngoại
vi. Nó hỗ trợ cả truyền thông nối tiếp (PROFIBUS DP) và truyền thông trên mạng
Ethernet (PROFIBUS PA). PROFIBUS được sử dụng rộng rãi trong các ứng dụng
công nghiệp và quy trình tự động hóa.
5. DeviceNet: DeviceNet là một giao thức truyền thông nối tiếp phát triển bởi công ty
Rockwell Automation, được sử dụng để kết nối và truyền dữ liệu giữa các thiết bị
điều khiển và thiết bị ngoại vi trong môi trường công nghiệp. DeviceNet sử dụng
giao thức truyền thông nối tiếp CAN (Controller Area Network) và hỗ trợ tốc độ
truyền dữ liệu cao và độ tin cậy.
Các giao thức truyền thông nối tiếp khác nhau có ưu điểm và hạn chế riêng, và sự
lựa chọn phụ thuộc vào yêu cầu và tính chất của từng ứng dụng trong công nghiệp.
2.2.3 Giao thức truyền thông modbus
Giao thức truyền thông Modbus là một giao thức truyền thông nối tiếp phổ biến
trong công nghiệp, được sử dụng để truyền dữ liệu giữa các thiết bị điều khiển và thiết bị
ngoại vi. Modbus được phát triển vào những năm 1970 và đã trở thành một giao thức tiêu
chuẩn cho truyền thông công nghiệp.
Giao thức truyền thông Modbus là một giao thức truyền thông nối tiếp dựa trên mô
hình máy chủ/điều khiển (server/client). Nó cho phép các thiết bị điều khiển (Modbus
server) và thiết bị ngoại vi (Modbus client) giao tiếp với nhau để truyền dữ liệu và điều
khiển.

8
Hình 3. Mô hình kết nối thiết bị theo giao thức Modbus
Modbus RTU:
• Modbus RTU sử dụng mô hình truyền thông tuần tự, dựa trên một liên kết
vật lý RS-485 hoặc RS-232.
• Dữ liệu được truyền dưới dạng các khung truyền thông. Mỗi khung bao gồm
một địa chỉ thiết bị, mã lệnh, dữ liệu và kiểm tra lỗi CRC (Cyclic Redundancy
Check).
• Modbus RTU hỗ trợ các chức năng chính bao gồm: đọc và ghi các giá trị từ
các thanh ghi (register) của thiết bị, điều khiển các thiết bị và truyền thông
đa điểm.
• Tốc độ truyền dữ liệu của Modbus RTU thường từ 1200bps đến 115200bps
và khoảng cách truyền thông lên đến một vài kilômét.
Modbus TCP:
• Modbus TCP sử dụng mô hình truyền thông Ethernet và giao thức TCP/IP
để truyền dữ liệu qua mạng LAN hoặc WAN.
• Dữ liệu được đóng gói vào các gói tin TCP/IP. Mỗi gói tin bao gồm một địa
chỉ IP, cổng, mã lệnh, dữ liệu và kiểm tra lỗi CRC.
• Modbus TCP hỗ trợ các chức năng tương tự như Modbus RTU, bao gồm
đọc/ghi giá trị, điều khiển thiết bị và truyền thông đa điểm.
• Với Modbus TCP, tốc độ truyền dữ liệu có thể lên đến một số Mbps, tuỳ
thuộc vào tốc độ mạng Ethernet.

9
Cả Modbus RTU và Modbus TCP đều sử dụng mô hình truyền thông yêu cầu/đáp
ứng (request/response), trong đó thiết bị client gửi yêu cầu đến thiết bị server và server trả
lời với dữ liệu tương ứng. Yêu cầu và phản hồi được xác định bởi mã lệnh trong khung
truyền thông.
Giao thức Modbus rất linh hoạt và dễ sử dụng, với khả năng kết nối và truyền dữ
liệu giữa các thiết bị từ các nhà cung cấp khác nhau. Nó đã trở thành một tiêu chuẩn trong
ngành công nghiệp và được sử dụng rộng rãi trong các ứng dụng điều khiển và quy trình
tự động hóa.
2.2.4 Một số phương thức truyền thông nối tiếp khác
+) Profibus: Profibus (Process Field Bus) là một giao thức truyền thông nối tiếp phổ
biến trong công nghiệp. Nó được sử dụng để truyền dữ liệu giữa các thiết bị điều khiển và
thiết bị ngoại vi trong môi trường công nghiệp. Profibus hỗ trợ nhiều biến thể, bao gồm
Profibus DP (truyền thông nối tiếp) và Profibus PA (truyền thông trên mạng Ethernet).
Giao thức này có tốc độ truyền dữ liệu cao và được sử dụng rộng rãi trong các ứng dụng
tự động hóa công nghiệp.
+) DeviceNet: DeviceNet là một giao thức truyền thông nối tiếp phát triển bởi công
ty Rockwell Automation. Nó được sử dụng để kết nối và truyền dữ liệu giữa các thiết bị
điều khiển và thiết bị ngoại vi trong môi trường công nghiệp. DeviceNet sử dụng giao thức
truyền thông nối tiếp CAN (Controller Area Network) và hỗ trợ tốc độ truyền dữ liệu cao
và độ tin cậy.
+) CANopen: CANopen là một giao thức truyền thông nối tiếp phát triển từ giao
thức CAN (Controller Area Network). Nó được sử dụng trong các ứng dụng công nghiệp
để truyền dữ liệu và điều khiển giữa các thiết bị trong mạng CAN. CANopen cung cấp một
cấu trúc dữ liệu linh hoạt và hỗ trợ các chức năng như đọc/ghi giá trị, điều khiển thiết bị và
truyền thông đa điểm.
+) Ethernet/IP: Ethernet/IP là một giao thức truyền thông nối tiếp dựa trên mạng
Ethernet. Nó cho phép truyền dữ liệu và điều khiển giữa các thiết bị trong mạng Ethernet.
Ethernet/IP hỗ trợ tốc độ truyền dữ liệu cao và hỗ trợ các giao thức truyền thông công
nghiệp khác như CIP (Common Industrial Protocol).
3. Tìm hiểu về truyền thông công nghiệp Modbus
Modbus được hiểu đơn giản là một giao thức truyền thông nối tiếp ban đầu được
Modicon (nay là Schneider Electric) xuất bản năm 1979 để sử dụng với các bộ điều khiển
logic lập trình (PLC). Modbus đã trở thành một giao thức truyền thông tiêu chuẩn và hiện
là phương tiện phổ biến để kết nối các thiết bị điện tử công nghiệp. Modbus được sử dụng
khá phổ biến trong môi trường công nghiệp vì nó được xuất bản công khai và miễn phí bản
quyền. Nó được phát triển cho các ứng dụng công nghiệp, tương đối dễ triển khai và bảo
trì so với các tiêu chuẩn khác và đặt ra một vài hạn chế ngoài kích thước trên định dạng

10
của dữ liệu được truyền. Giao thức Modbus RTU là một giao thức mở, sử dụng đường
truyền vật lý RS-232 hoặc RS-485 và mô hình dạng Master-Slave.

Hình 4: Mô hình kết nối tín hiệu Modbus RTU lên Internet
Modbus trở thành một chuẩn truyền thông công nghiệp tiêu chuẩn bởi nó: ổn định
– đơn giản – dể sử dụng và miễn phí. Điều này có nghĩa rằng các nhà sản xuất có thể tự
tích hợp chuẩn Modbus vào sản phẩm của họ mà không cần trả tiền bản quyền.
Chỉ cẩn các thiết bị cùng chung một chuẩn với nhau thì có thể giao tiếp với nhau mà
không cần quan tâm nó là thiết bị gì của hãng nào sản xuất. Đây chính là ưu điểm vượt trội
so với các chuẩn truyền thông khác như: Profibus, Canopen, Manchester.
Modbus được sử dụng để kết nối với máy tính với các thiết bị đầu cuối (RTU) hay
hệ thống (SCADA). Có nhiều loại Modbus: Modbus RTU, Modbus ASCII, Modbus
TCP/IP.
Ứng dụng của Modbus RTU
Sử dụng chuẩn truyền thông Modbus RTU giúp kết nối tất cả các thiết bị (tối đa 128
thiết bị) trên 2 dây tín hiệu RS485.

11
Hình 5: Modbus Slave nhận dữ luyện truyền về Master
Với mỗi Modbus Slave tương ứng với một từ 4-8 tín hiệu Analog đầu vào hoặc
nhiều hơn với 10 Digital. Các tín hiệu mắc song song nhau truyền vào Gateway để truyền
lên internet thông qua Modul R-Key hoặc Z-key.
Như vậy tất cả các tín hiệu chỉ truyền đi trên 2 dây cho rất nhiều loại tín hiệu khác
nhau thông qua các Modul Modbus RTU. PLC hay các thiết bị có chuẩn Moddbus có thể
giao tiếp với các thiết bị đó tại bất kỳ nơi nào thông qua Modbus TCP hay còn gọi là
Modbus IP.
Cách thức hoạt động của Modbus
Modbus RTU hoạt động dựa trên nguyên tắc Master – Slave tức là một bên nhận
(Master) và một bên truyền tín hiệu (Slave) thông qua địa chỉ thanh ghi. Phương thức truyền
của Modbus RTU bằng đường truyền vật lý RS232 hoặc RS485, Modbus TCP/IP thì truyền
trên địa chỉ IP thông qua Internet.
Hệ thập lục phân (Hexadecimal)
Trong lập trình lại tồn tại nhiều hệ số khác nhau như: hệ nhị phân (Binary), hệ 8
(Octal) ngoài ra còn có hệ 16 (Hex) hay còn gọi là thập lục phân.
Modbus RTU sử dụng hệ Hexa có cách quy đổi trong bảng sau:

12
Hình 6: Hệ số đếm Hexadecimal
Hệ Hexa được quy định từ 0→F tương ứng với 0→15 trong hệ thập phân chúng ta
thường hay sử dụng. Bốn bit được biểu thị trong 16 ký tự từ 0→F tương ứng 0000→1111
trong hệ nhị phân.
Khung dữ liệu truyền của Modbus
Dữ liệu được lưu trữ trong Slave trong 4 bảng khác nhau với hai bảng lưu trữ
ON/OFF các giá trị Coil và hai thanh ghi lưu trữ. Các thanh ghi này đều có khả năng đọc
và ghi. Mỗi thanh ghi có 1 Word = 16 bit = 2 bytes có địa chỉ từ 0000 đến 260E.

13
Hình 7: Cách truyền dữ liệu trên Modbus RTU RS485
Phân biệt RS232 và RS485.
• RS232
RS232 còn được gọi là cổng COM thường được thấy trong các máy tính bàn và tất
cả đều có công truyền thông theo chuẩn RS232 để giao tiếp các thiết bị khác như máy in,
máy fax, ….
RS232 sử dụng 3 dây Tx (truyền), Rx (nhận tín hiệu) và GND (đất). RS232 hoạt
động dựa trên sự chênh lệch áp giữa TX, Rx và GND.
Nhược điểm của chuẩn truyền RS232 là tín hiệu không thể truyền đi xa, do việc mất
mát tín hiệu không thể phục hồi được, và việc kết nối theo chuẩn RS232 chỉ được thực hiện
giao tiếp giữa 2 thiết bị (point – to – point) nên hạn chế số lượng thiết bị có trong mạng.
Một số đặc điểm của chuẩn truyền RS232 là: khoảng cách truyền tối đa là 15m, tốc
độ truyền là 20Kbps, hỗ trợ kết nối điểm – điểm trên một mạng.

Hình 8: Kết nối PLC với máy tính qua cổng RS232

14
Chuẩn RS485 chỉ truyền trên 2 dây A và B sử dụng sự chênh lệch áp giữa A và B
theo logic 0 hoặc 1 chứ không hề so sánh với đất. Điều này đảm bảo tín hiệu truyền đi xa
bởi khi nếu có trường hợp sụt áp thì đồng thời hai dây đều sụt áp nên tín hiệu vẫn đảm bảo
logic 1 hoặc 0.

Hình 9: Mô hình giao tiếp RS485


Giả sử A=1, B=0 thì thì dữ liệu nhận biết Data=1 và khi A=0, B=1 thì dữ liệu nhận
biết là Data=0. Do cách so sánh trên thì khi bị suy giảm thì sữ chênh lệch điện áp vẫn không
đổi chính vì thế mà tín hiệu truyền trên RS485 đi rất xa mà vẩn đảm bảo chính xác.
Khi sự chênh lệch điện áp giữa A và B nằm trong khoảng -1,6V đến -6V thì dữ liệu
được nhận tương ứng với mức 1.
Khi sự chênh lệch điện áp giữa A và B nằm trong khoảng +1,5 đến +6V thì dữ liệu
được nhận tương ứng với mức 0.
Ưu điểm lớn nhất của chuẩn RS485 chính là truyền đi xa tới 1200m và có thể kết
nối nhiều thiết bị trên cùng một mạng chuẩn RS485 và kết nối tối đa 32 thiết bị cùng lúc.
• Sự khác nhau giữa RS232 và RS485.

15
RS232 chỉ cho phép truyền theo phương thức điểm (point) – điểm (point) trong khi
RS485 truyền theo phương thức đa điểm. Tức là có thể truyền nhiều tín hiệu khác nhau
trong cùng một mạng (tối đa 32 thiết bị).

Tốc độ truyền của RS232 (20 Mbits/s) nhanh nhưng khoảng cách truyền ngắn (tối
đa 15m). Ngược lại, RS485 (10Mbit/s) có thể truyền đi xa (tối đa 1200m) nhưng với tốc
độ chậm hơn RS232.
Sử dụng Modbus RTU.
• Cách kết nối Master – Slave Modbus RTU

Hình 10: Cách kết nối Modbus RTU Master – Slave đúng
Tất cả các tín hiệu chuẩn Modbus RTU được mắc song song nhau trên hai dây truyền
về Master qua chuẩn RS485.

16
Hình 11: Cách kết nối Modbus RTU Master – Slave sai
Ưu nhược điểm của việc sử dụng Modbus RTU.
• Ưu điểm của Modbus RTU
o Tất cả các tín hiệu truyền trên 2 dây tín hiệu RS485 với khoảng cách truyền xa 1200m.
o Giảm tối thiếu dây kết nối.
o Độ ổn định và ít nhiễu so với tín hiệu Analog 4-20mA.
o Các modul độc lập nhau nên quản lý dễ dàng.
o Có thể dùng chung các hãng khác nhau có chuẩn Modbus RTU.
• Nhược điểm của Modbus RTU
o Tín hiệu không nhanh bằng việc dùng trực tiếp như Analog hay Digital.
o Chỉ phù hợp cho điều khiển có thời gian đáp ứng 1s trở xuống.
o Cần PLC hay SCADA có cấu hình đủ mạnh để đọc tất cả các thanh ghi khi dùng nhiều
bộ chuyển đổi Modbus RTU.
Các kiểu truyền nhận dữ liệu trong Modbus RTU
Đọc trạng thái COIL (FC01)
Đọc trạng thái ON/OFF của các COIL rời rạc trong Slave
• Yêu cầu
Thông báo yêu cầu chỉ định địa chỉ bắt đầu và số lượng COIL được đọc
Ví dụ về yêu cầu đọc 10→22 (COIL 11→23) từ Slave có địa chỉ 04

Bảng 3.1 Ví dụ yêu cầu đọc trạng thái thanh ghi COIL (FC01)
Field Name RTU (hex)

17
Header None
Slave Address 04
Function 01
Starting Address Hi 00
Starting Address Lo 0A
Quantity of Coils Hi 00
Quantity of Coils Lo 0D
Error Check Lo DD
Error Check Hi 98
Trailer None
Total Bytes 8

• Phản hồi
Bảng 3.2 Phản hồi FC01
Field Name RTU (hex)
Header None
Slave Address 04
Function 01
Byte Count 02
Data (Coils 7→10) 87
Data (Coils 27→20) 02
Error Check Lo 97
Error Check Hi CD
Trailer None
Total Bytes 7
Đọc trạng thái đầu vào (FC02)
Đọc trạng thái ON/OFF của đầu vào rời rạc trong Slave
• Yêu cầu
Thông báo yêu cầu địa chỉ bắt đầu và số lượng đầu vào cần đọc
Ví dụ yêu cầu đọc 10→22 (input 10011→10023) từ Slave có địa chỉ 04.

18
Bảng 3.3 Ví dụ yêu cầu đọc trạng thái đầu vào (FC02)
Field Name RTU (hex)
Header None
Slave Address 04
Function 02
Starting Address Hi 00
Starting Address Lo 0A
Quantity of Coils Hi 00
Quantity of Coils Lo 0D
Error Check Lo 99
Error Check Hi 98
Trailer None
Total Bytes 8
• Phản hồi

Bảng 3.4 Phản hồi FC02


Field Name RTU (hex)
Header None
Slave Address 04
Function 02
Byte Count 02
Data (Inputs 17→10) 53
Data (Inputs 27→20) 1E
Error Check Lo C9
Error Check Hi 40
Trailer None
Total Bytes 7
Đọc giá trị thanh ghi trong Slave (FC03)
Đọc nội dung nhị phân của thanh ghi lưu giữ trong Slave
• Yêu cầu
Thông báo yêu cầu địa chỉ bắt đầu và số lượng thanh ghi cần đọc
19
Ví dụ yêu cầu đọc 0→1 (thanh ghi 40001→40002) từ Slave 01.

Bảng 3.5 Ví dụ yêu cầu đọc trạng thái thanh ghi trong Slave (FC03)
Field Name RTU (hex)
Header None
Slave Address 01
Function 03
Starting Address Hi 00
Starting Address Lo 00
Quantity of Registers Hi 00
Quantity of Registers Lo 02
Error Check Lo C4
Error Check Hi 98
Trailer None
Total Bytes 8

• Phản hồi:

Dữ liệu thanh ghi trong thông báo phản hồi được đóng gói dưới dạng hai byte trên
mỗi thanh ghi, với nội dung nhị phân được căn chỉnh bên trong mỗi byte. Đối với mỗi
thanh ghi, byte đầu tiên chứa các bit bậc cao và byte thứ hai chứa các bit bậc thấp.

Bảng 3.6 Phản hồi FC03


Field Name RTU (hex)
Header None
Slave Address 01
Function 03

20
Byte Count 04
Data Hi 04
Data Lo B0
Data Hi 07
Data Lo BF
Error Check Lo B9
Error Check Hi 64
Trailer None
Total Bytes 8
Đọc giá trị thanh ghi đầu vào (FC04)
• Yêu cầu
Yêu cầu đọc 0→1 (thanh ghi 30001→30002) trong Slave 01.

Bảng 3.7 Ví dụ yêu cầu đọc trạng thái thanh ghi đầu vào (FC04)
Field Name RTU (hex)
Header None
Slave Address 01
Function 04
Starting Address Hi 00
Starting Address Lo 00
Quantity of Registers Hi 00
Quantity of Registers Lo 02
Error Check Lo 71
Error Check Hi CB
Trailer None
Total Bytes 8
• Phản hồi

Dữ liệu thanh ghi trong thông báo phản hồi được đóng gói dưới dạng hai byte trên
mỗi thanh ghi, với nội dung nhị phân được căn chỉnh bên trong mỗi byte. Đối với mỗi
thanh ghi, byte đầu tiên chứa các bit bậc cao và byte thứ hai chứa các bit bậc thấp.

21
Bảng 3.8 Phản hồi FC04
Field Name RTU (hex)
Header None
Slave Address 01
Function 04
Byte Count 04
Data Hi 07
Data Lo C9
Data Hi 07
Data Lo DD
Error Check Lo E8
Error Check Hi A7
Trailer None
Total Bytes 8
Ghi một giá trị COIL (FC05)
Ghi một giá trị COIL là ON hoặc OFF
• Yêu cầu
Địa chỉ COIL bắt đầu sẽ được đánh số từ 0 (tương ứng với COIL đầu tiên)
Ví dụ yêu cầu ghi trạng thái ON vào COIL 0 trong Slave 01

Bảng 3.9 Ví dụ yêu cầu ghi giá trị thanh ghi COIL (FC05)
Field Name RTU (hex)
Header None
Slave Address 01
Function 05

22
Coil Address Hi 00
Coil Address Lo 00
Write Data Hi FF
Write Data Lo 00
Error Check Lo 8C
Error Check Hi 3A
Trailer None
Total Bytes 8
• Phản hồi

Bảng 3.10 Phản hồi FC05


Field Name RTU (hex)
Header None
Slave Address 01
Function 05
Coil Address Hi 00
Coil Address Lo 00
Write Data Hi FF
Write Data Lo 00
Error Check Lo 8C
Error Check Hi 3A
Trailer None
Total Bytes 8
Trạng thái BẬT / TẮT được yêu cầu được chỉ định bởi một hằng số trong
trường dữ liệu yêu cầu. Giá trị của FF 00 hex yêu cầu COIL được BẬT. Giá trị 00 00 yêu
cầu nó TẮT. Tất cả các giá trị khác sẽ không ảnh hưởng đến COIL.
Ghi giá trị một thanh ghi (FC06)
Ghi giá trị vào một thanh ghi lưu trữ trong Slave
• Yêu cầu

Bảng 3.11 Ví dụ yêu cầu ghi giá trị một thanh ghi (FC06)
Field Name RTU (hex)
Header None

23
Slave Address 01
Function 06
Register Address Hi 9C
Register Address Lo 42
Write Data Hi 07
Write Data Lo BF
Error Check Lo 44
Error Check Hi 0E
Trailer None
Total Bytes 8
• Phản hồi
Bảng 3.12 Phản hồi FC06
Field Name RTU (hex)
Header None
Slave Address 01
Function 06
Coil Address Hi 9C
Coil Address Lo 42
Write Data Hi 07
Write Data Lo BF
Error Check Lo 44
Error Check Hi 0E
Trailer None
Total Bytes 8
Thông báo yêu cầu chỉ định tham chiếu thanh ghi được viết. Các thanh ghi được
đánh địa chỉ bắt đầu từ 0 (thanh ghi 1) được đánh địa chỉ là 0.
Giá trị ghi được yêu cầu được chỉ định trong trường dữ liệu yêu cầu. Đây là một ví
dụ về yêu cầu ghi thanh ghi 40002 giá trị 07 BF hex trong Slave 01.
Ghi nhiều giá trị COIL (FC15)
Ghi xuống từng giá trị COIL trong 1 chuỗi trạng thái ON hoặc OFF
• Yêu cầu

24
Thông báo yêu cầu chỉ định các tham chiếu COIL sẽ được ghi. Các COIL được đánh
địa chỉ bắt đầu từ 0.
Các trạng thái ON / OFF được yêu cầu được chỉ định bởi nội dung của trường dữ
liệu yêu cầu. Số 1 tương ứng với trạng thái ON. Số 0 tương ứng với trạng thái OFF.
Dưới đây là ví dụ về yêu cầu viết một chuỗi mười COIL bắt đầu từ COIL 20 (có địa
chỉ là 19 hoặc 13 hex) trong Slave 01.
Nội dung dữ liệu yêu cầu là hai byte: 00 50 hex
Bảng 3.13 Ví dụ yêu cầu ghi nhiều giá trị thanh ghi COIL (FC15)
Field Name RTU (hex)
Header None
Slave Address 01
Function 0F
Coil Address Hi 00
Coil Address Lo 13
Quantity of Coils Hi 00
Quantity of Coils Lo 10
Byte Count 02
Write Data Hi 00
Write Data Lo 50
Error Check Lo E0
Error Check Hi BF
Trailer None
Total Bytes 11
• Phản hồi
Phản hồi bình thường trả về địa chỉ phụ, mã chức năng, địa chỉ bắt đầu và số lượng
COIL được viết. Đây là một ví dụ về phản hồi cho yêu cầu được hiển thị ở trên.
Bảng 3.14 Phản hồi FC15
Field Name RTU (hex)
Header None
Slave Address 01
Function 0F

25
Coil Address Hi 00
Coil Address Lo 13
Quantity of Coils Hi 00
Quantity of Coils Lo 10
Error Check Lo A5
Error Check Hi C2
Trailer None
Total Bytes 8
Ghi xuống nhiều thanh ghi (FC16)
Ghi giá trị xuống một chuỗi các thanh ghi lưu trữ trong Slave
• Yêu cầu
Thông báo yêu cầu chỉ định các tham chiếu thanh ghi sẽ được ghi. Các thanh ghi
được đánh địa chỉ bắt đầu từ 0.
Các giá trị ghi được yêu cầu được chỉ định trong trường dữ liệu yêu cầu. Dữ liệu
được đóng gói dưới dạng hai byte trên mỗi thanh ghi.
Dưới đây là một ví dụ về yêu cầu ghi hai thanh ghi bắt đầu từ 40002 với hai giá trị
tương ứng là 07 BF và 07 C9 hex trong Slave 01.

Bảng 3.15 Ví dụ yêu cầu ghi nhiều giá trị thanh ghi (FC16)
Field Name RTU (hex)
Header None
Slave Address 01
Function 10
Starting Address Hi 9C
Starting Address Lo 42

26
Quantity of Registers Hi 00
Quantity of Registers Lo 02
Byte Count 04
Data Hi 07
Data Lo BF
Data Hi 07
Data Lo C9
Error Check Lo 7D
Error Check Hi B6
Trailer None
• Phản hồi
Bảng 3.16 Phản hồi FC16
Field Name RTU (hex)
Header None
Slave Address 01
Function 10
Starting Address Hi 9C
Starting Address Lo 42
Quantity of Registers Hi 00
Quantity of Registers Lo 02
Error Check Lo CF
Error Check Hi 8C
Trailer None
Total Bytes 8
Tài liệu tham khảo
[1] Giáo trình “Hệ thống điều khiển phân tán”, TS. Hoàng Minh Sơn, 2023.
[2] Bài giảng “Hệ thống điều khiển và giám sát thời gian thực”, TS. Vũ Vân Hà.
[3] Giao thức Modbus, tham khảo tại: https://vi.wikipedia.org/wiki/Modbus
[4] Modbus Protocal, tham khảo tại:
https://www.modbustools.com/modbus.html#function05

27

You might also like