You are on page 1of 38

Hệ thống

Chương 1

thông tin công nghiệp


Chương 3: Vấn ₫ề thời gian thực
© 2004, HOÀNG MINH SƠN

08.01.07

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chương 3: Nội dung
1. Khái niệm “hệ thời gian thực”
2. Xử lý thời gian thực
3. Hệ điều hành thời gian thực
4. Giao tiếp thời gian thực
5. Lập trình thời gian thực
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 2

CuuDuongThanCong.com https://fb.com/tailieudientucntt
3.1 Hệ thời gian thực là gì?
“A real-time system is one in which the correctness of the system
depends not only on the logical results, but also on the time at
which the results are produced,...”
Một hệ thời gian thực là một hệ thống mà sự hoạt ₫ộng tin cậy của
nó không chỉ phụ thuộc vào sự chính xác của kết quả, mà còn phụ
thuộc vào thời ₫iểm ₫ưa ra kết quả ₫ể phản ứng với sự kiện bên
ngoài. Hệ thống có lỗi khi thời gian yêu cầu không ₫ược thoả mãn.
JOHN A. STANKOVIC ET AL.: Strategic Directions in Real-Time and Embedded
Systems. ACM Computing Surveys, Vol. 28, No. 4, December 1996

Thời gian thực không phải là thời gian tuyệt đối


© 2004, HOÀNG MINH SƠN

Tính năng thời gian thực không đồng nghĩa với tốc độ
tính toán rất nhanh
Tính năng thời gian thực = tính chính xác + tính kịp
thời
Chương 3: Vấn đề thời gian thực © 2005 - HMS 3

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các dạng của “tính kịp thời”
Sự kiện Phản ứng Sự kiện Phản ứng
T T

ts tp Thời gian ts tp1 tp2 Thời gian

a) Chính xác tại ... (t = tp) b) Trong khoảng ... (tp2 ≤ t ≤ tp2 )

Sự kiện Phản ứng Sự kiện Phản ứng


T T
© 2004, HOÀNG MINH SƠN

ts tp Thời gian ts tp Thời gian

c) Chậm nhất là ... (t ≥ tp) d) Sớm nhất là ... (t ≥ tp)

Chương 3: Vấn đề thời gian thực © 2005 - HMS 4

CuuDuongThanCong.com https://fb.com/tailieudientucntt
HT ₫iều khiển có phải là hệ TGT?
Mỗi hệ thống điều khiển là một hệ thời gian thực
Chất lượng điều khiển không chỉ phụ thuộc vào thuật
toán điều khiển, mà còn phụ thuộc vào khả năng phản
ứng của hệ thống, thời điểm đọc tín hiệu đầu vào (tín
hiệu đo), vào thời gian tính toán luật điều khiển và thời
điểm đưa ra tín hiệu điều khiển
Tính năng thời gian thực của một HTĐK phụ thuộc cả
vào phần cứng và phần mềm và vào kiến trúc hệ thống
ƒ Phần cứng: Tốc độ tính toán của vi xử lý, tốc độ chuyển đổi
DA/AD, cơ chế vào/ra, chậm trễ trong các thiết bị
ƒ Phần mềm: Thuật toán điều khiển, phương pháp lập trình,
tổ chức thực hiện chương trình
© 2004, HOÀNG MINH SƠN

Tính năng TGT của một HTĐK liên quan tới tính mạng
con người
Phần lớn các hệ thời gian thực là các hệ thống điều
khiển
Chương 3: Vấn đề thời gian thực © 2005 - HMS 5

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hai dạng hệ thống TGT tiêu biểu
1. Hệ thống nhúng (Embedded Systems)
— Các hệ thống điều khiển chuyên dụng, đặc chủng cho
các thiết bị, máy móc đơn lẻ
— Máy tính điều khiển là một phần không tách rời của
thiết bị được điều khiển
— Dựa trên nền vi xử lý, nhân thời gian thực, hệ điều hành
thời gian thực
— Ví dụ ứng dụng: công nghiệp hàng không-vũ trụ, robot
công nghiệp, phương tiện giao thông, ...
2. Hệ thống điều khiển công nghiệp (Industrial Control
Systems)
— Distributed Control Systems (DCS), Programmable Logic
© 2004, HOÀNG MINH SƠN

Controllers (PLC), Soft-PLCs


— Các hệ thống điều khiển phân cấp, phân tán
— Ứng dụng trong CN chế biến, CN chế tạo

Chương 3: Vấn đề thời gian thực © 2005 - HMS 6

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chiếc xe hơi có là một hệ TGT?

Hơn 50 máy vi tính bên trong (μP) nối mạng


Chúng ta có nên tìm hiểu nguyên lý hoạt động của
chúng?
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 7

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bus trường có phải là một hệ TGT?
Controller

Tc

Tbus Tin Bus trường Tout

I/O I/O Tio I/O I/O


© 2004, HOÀNG MINH SƠN

Tsd Tad

Sensor Sensor Ts Ta Actuator Actuator

Chương 3: Vấn đề thời gian thực © 2005 - HMS 8

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tính năng thời gian thực là yêu cầu
chung của hầu hết các hệ thống thông
tin công nghiệp!
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 9

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Đặc ₫iểm của một hệ thời gian thực
ƒ Tính phản ứng: Hệ thống phải phản ứng với các sự
kiện xuất hiện vào các thời điểm không biết trước.
ƒ Tính nhanh nhạy: Hệ thống phải xử lý thông tin một
cách nhanh chóng để có thể đưa ra kết quả phản ứng
một cách kịp thời.
ƒ Tính ₫ồng thời: Hệ thống phải có khả năng phản ứng
và xử lý đồng thời nhiều sự kiện diễn ra.
ƒ Tính tiền ₫ịnh: Dự đoán trước được thời gian phản ứng
tiêu biểu, thời gian phản ứng chậm nhất cũng như
trình tự đưa ra các phản ứng.
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 10

CuuDuongThanCong.com https://fb.com/tailieudientucntt
3.2 Xử lý thời gian thực là gì?
Xử lý thời gian thực là hình thức xử lý thông tin trong
một hệ thống ₫ể ₫ảm bảo tính năng thời gian thực của
nó.

Luôn liên quan với các sự kiện bên ngoài (tính phản
ứng)
Yêu cầu cao về hiệu suất phần mềm (tính nhanh nhạy)
Đòi hỏi xử lý ₫ồng thời nhiều tác vụ (tính ₫ồng thời)
© 2004, HOÀNG MINH SƠN

Đòi hỏi cơ sở lý thuyết chặt chẽ phục vụ phân tích và


đánh giá (tính tiền ₫ịnh)

Chương 3: Vấn đề thời gian thực © 2005 - HMS 11

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tại sao phải nghiên cứu về xử lý TGT?
ƒ Xử lý thời gian thực là nguyên lý làm việc cơ bản của
mỗi hệ thống điều khiển và của mỗi hệ thống thông
tin công nghiệp, nhìn từ quan điểm tin học
ƒ Chất lượng điều khiển và độ tin cậy của hệ thống điều
khiển không chỉ phụ thuộc vào thuật toán ₫iều khiển,
công nghệ phần cứng, mà còn phụ thuộc một cách tất
yếu vào phương pháp xử lý thời gian thực
ƒ Chúng ta còn biết quá ít về cơ chế thực hiện các chức
năng phần mềm bên trong một bộ điều khiển (số)
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 12

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các hình thức cơ bản của xử lý TGT
ƒ Khả năng phản ứng đồng thời với các sự kiện bên
ngoài: Xử lý đa nhiệm
ƒ Đáp ứng yêu cầu về thời gian của nhiều “tác vụ”:
— Xử lý song song
— Xử lý phân tán
— Xử lý cạnh tranh
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 13

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tác vụ và xử lý ₫a nhiệm
ƒ Một quá trình tính toán cho một nhiệm vụ cụ thể, có
thể được thực hiện đồng thời, ví dụ:
— Các tác vụ xử lý giá trị vào/ra
— Các tác vụ điều chỉnh
— Các tác vụ điều khiển logic
— Các tác vụ xử lý biến cố
— ...
ƒ Một tác vụ là sự thi hành một chương trình hoặc một
phần chương trình
— Một chương trình chạy nhiều lần => nhiều tác vụ
— Một đoạn mã chương trình (ví dụ một hàm) được gọi tuần
© 2004, HOÀNG MINH SƠN

hoàn với các chu kỳ khác nhau => nhiều tác vụ khác
nhau
ƒ Multitasking (đa nhiệm): khả năng thi hành đồng thời
nhiều tác vụ
Chương 3: Vấn đề thời gian thực © 2005 - HMS 14

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các trạng thái của một tác vụ
ƒ Trạng thái nghỉ, chưa tồn tại (Dormant,
Nonexistence): Task trong bộ nhớ nhưng
hệ điều hành không quản lý.
ƒ Trạng thái sẵn sàng (Ready state): Khi
nó có thể được điều hoạt nhưng hiện
DORMANT READY
đang có một Task khác có mức ưu tiên
cao hơn đang được thực hiện.
ƒ Trạng thái chạy (Running state): Khi nó
đang được điều khiển bởi CPU
WAITING RUNNING ƒ Trạng thái đợi (Waiting state) : Khi nó
đang chờ một sự kiện xảy ra để được
sẵn sàng như một sự kiện vào/ra, khi
© 2004, HOÀNG MINH SƠN

tài nguyên chung có thể sử dụng hay là


khi có các ngắt thời gian.

Chương 3: Vấn đề thời gian thực © 2005 - HMS 15

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phân loại tác vụ (IEC 61131-3)

Chờ tới chu kỳ Chờ sự kiện

Thời gian Sự kiện


Mã thực thi
Mã thực thi Mã thực thi

Tác vụ mặc định Tác vụ tuần hoàn Tác vụ sự kiện

Ví dụ: Ví dụ: Ví dụ:


© 2004, HOÀNG MINH SƠN

- Điều khiển logic - Điều chỉnh vòng kín - Điều khiển trình tự
- Kiểm tra lỗi - Xử lý truyền thông - Xử lý sự cố

Chương 3: Vấn đề thời gian thực © 2005 - HMS 16

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các hình thức xử lý ₫ồng thời
ƒ Xử lý song song: Các tác vụ (task) được phân chia
thực hiện song song trên nhiều bộ xử lý
ƒ Xử lý cạnh tranh: Nhiều tác vụ chia sẻ thời gian của
một bộ xử lý.
ƒ Xử lý phân tán: Mỗi (nhóm) tác vụ được thực hiện
riêng trên một máy tính (trường hợp đặc biệt của xử
lý song song).
© 2004, HOÀNG MINH SƠN

Xử lý cạnh tranh là hình thức quan trọng nhất trong


các hệ thống điều khiển (có thể kết hợp với xử lý
phân tán)
Chương 3: Vấn đề thời gian thực © 2005 - HMS 17

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xử lý cạnh tranh

ƒ Các vấn đề:


— Tổ chức, lập lịch phân
chia tài nguyên cho các
tác vụ
— Giao tiếp giữa các tác vụ
— Đồng bộ hóa giữa các tác
vụ
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 18

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phương pháp lập lịch
ƒ Vấn đề:
— Bên cạnh hiệu năng của phần cứng máy tính, thì
phương pháp lập lịch có ảnh hưởng lớn tới tính năng
thời gian thực của hệ thống
— Cần sự thỏa hiệp giữa tính năng thời gian thực và
hiệu suất sử dụng tài nguyên máy tính
ƒ Cơ chế lập lịch
— Lập lệnh tĩnh: thứ tự thực hiện các tác vụ được xác định
trước khi hệ thống đi vào hoạt động.
— Lập lệnh động: thứ tự thực hiện các tác vụ được xác định
© 2004, HOÀNG MINH SƠN

trong khi hệ thống đang hoạt động.

Chương 3: Vấn đề thời gian thực © 2005 - HMS 19

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phương pháp lập lịch
ƒ Sách lược lập lịch
— FIFO: đến trước sẽ được thực hiện trước.
— Non-preemptive: không chen hàng, các tác vụ được thực
hiện bình thường dựa trên mức ưu tiên của chúng.
— Preemptive: chen hàng, chọn một tác vụ để thực hiện
trước các tác vụ khác.
— Round-robin/Time-slicing: Mỗi tác vụ có mức ưu tiên như
nhau được thực hiện một số “lát thời gian”
— Mức ưu tiên cố định/động: các tác vụ được đặt các mức
ưu tiên cố định hoặc có thể thay đổi nếu cần.
ƒ Thuật toán lập lịch
© 2004, HOÀNG MINH SƠN

— Rate monotonic: càng thường xuyên càng được ưu tiên.


— Deadline monotonic: càng gấp càng được ưu tiên.
— Least laxity: tỷ lệ thời gian tính toán/thời hạn cuối cùng
(deadline) càng lớn càng được ưu tiên.
Chương 3: Vấn đề thời gian thực © 2005 - HMS 20

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Khái niệm “tiến trình tính toán”
ƒ Tiến trình tính toán (process) là một khái niệm tương
đương với “tác vụ”, nhưng nhìn từ phía hệ điều hành
đa nhiệm (khái niệm tác vụ nhìn từ phía người sử
dụng)
ƒ Hai loại tiến trình:
— Tiến trình nặng cân (heavyweight process, process):
Chiếm một không gian địa chỉ riêng, thường tương ứng
với thực thi cả một chương trình => sử dụng an toàn hơn
nhưng giao tiếp giữa các process phức tạp
— Tiến trình nhẹ cân (lightweight process, thread): Thường
thuộc một process, các thread của một process cùng
© 2004, HOÀNG MINH SƠN

chia sẻ một không gian địa chỉ => giao tiếp đơn giản
thông qua các biến toàn cục, nhưng cần thận trọng

Chương 3: Vấn đề thời gian thực © 2005 - HMS 21

CuuDuongThanCong.com https://fb.com/tailieudientucntt
3.3 Hệ ₫iều hành thời gian thực
ƒ Hệ điều hành thời gian thực là một hệ điều hành hỗ
trợ các chương trình ứng dụng xử lý thời gian thực
ƒ Hầu hết các bộ điều khiển công nghiệp (PLC, DCS,...)
đều hoạt động trên nền một hệ điều hành thời gian
thực (RTOS, Real-time Operating System)
ƒ Bản thân hệ điều hành thời gian thực cũng là một hệ
thời gian thực
ƒ Một hệ điều hành thời gian thực bao giờ cũng là một
hệ đa nhiệm (multitasking), hỗ trợ xử lý cạnh trạnh
hoặc/và xử lý song song.
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 22

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Vai trò của RTOS trong bộ ₫iều khiển
ƒ Nạp chương trình, hỗ trợ thử nghiệm, gỡ rối chương
trình
ƒ Quản lý dữ liệu vào/ra và quản lý truyền thông
— Giúp các chương trình ứng dụng dễ dàng truy cập dữ liệu
mà không cần quan tâm tới cơ chế phần cứng cụ thể
ƒ Quản lý tác vụ:
— Lập lịch: Phân chia thời gian CPU cho thi hành các tác vụ
khác nhau (trong xử lý cạnh tranh)
— Hỗ trợ ₫ồng bộ hóa tiến trình: Giúp các tác vụ chia sẻ tài
nguyên sử dụng chung (bộ nhớ, cổng vào/ra,..)
© 2004, HOÀNG MINH SƠN

— Hỗ trợ giao tiếp liên tiến trình: Giúp các tác vụ thực hiện
giao tiếp, trao đổi dữ liệu hoặc phối hợp hoạt động
ƒ Các chức năng kiểm tra, chẩn đoán lỗi

Chương 3: Vấn đề thời gian thực © 2005 - HMS 23

CuuDuongThanCong.com https://fb.com/tailieudientucntt
RTOS trong các hệ thống ₫iều khiển
ƒ Yêu cầu đặc biệt
— Mã rất nhỏ, gọn
— Đơn giản, dễ sử dụng, dễ lập trình
— Thời gian phản ứng với một sự kiện (ví dụ khi xuất hiện
ngắt truyền thông, ngắt vào/ra,...) đủ ngắn
— Quản lý hiệu quả các tác vụ tuần hoàn, đảm bảo chính
xác về chu kỳ thời gian, độ rung nhỏ (jitter)
— Quản lý vào/ra hiệu quả, đơn giản
ƒ Hai dạng thực hiện:
— Mã nguồn: Nhân thời gian thực, được dịch và liên kết
cùng với CTĐK tạo thành một chương trình duy nhất ->
giải pháp vi điều khiển.
© 2004, HOÀNG MINH SƠN

— Mã chạy cài đặt sẵn trên thiết bị: Hệ điều hành thời gian
thực đầy đủ, cung cấp các dịch vụ độc lập với chương
trình điều khiển -> giải pháp PLC và DCS.

Chương 3: Vấn đề thời gian thực © 2005 - HMS 24

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc tiêu biểu của một hệ ₫iều hành
thời gian thực
CHƯƠNG TRÌNH CHƯƠNG TRÌNH CHƯƠNG TRÌNH
ỨNG DỤNG ỨNG DỤNG ỨNG DỤNG

GIAO DIỆN LẬP TRÌNH ỨNG DỤNG

QUẢN LÝ QUẢN LÝ QUẢN LÝ XỬ LÝ QUẢN LÝ


BỘ NHỚ TASK VÀO/RA GIAO TIẾP SỰ KIỆN

GIAO DIỆN PHẦN CỨNG


© 2004, HOÀNG MINH SƠN

PHẦN CỨNG MÁY TÍNH

Chương 3: Vấn đề thời gian thực © 2005 - HMS 25

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ phát triển: MicroC/OS-II
CHƯƠNG TRÌNH ỨNG DỤNG

MÃ XỬ LÝ ĐỘC LẬP CẤU HÌNH µC/OS-II


OS_CORE.C
OS_FLAG.C OS_CFG.H
OS_MBOX.C INCLUDE.H
OS_MEM.C
OS_TASK.C
OS_TIME.C
uCOS_II.C
uCOS_II.H

CHUYỂN MÃ µC/OS-II
OS_CPU.H
© 2004, HOÀNG MINH SƠN

OS_CPU_A. ASM
PHẦN MỀM
OS_CPU_C.C

CPU TIMER PHẦN CỨNG

Chương 3: Vấn đề thời gian thực © 2005 - HMS 26

CuuDuongThanCong.com https://fb.com/tailieudientucntt
3.4 Giao tiếp thời gian thực
ƒ Một hệ thống điều khiển nhà máy bao gồm nhiều
thành phần => nhu cầu giao tiếp
ƒ Tính năng thời gian thực của một hệ thống không chỉ
phụ thuộc vào tính năng thời gian thực của từng
thành phần, mà còn phụ thuộc vào cấu trúc liên kết
và hình thức giao tiếp giữa các thành phần!
ƒ Tính năng thời gian thực của hệ thống truyền thông
phụ thuộc vào những yếu tố gì?
— Tốc độ truyền?
— Cấu trúc mạng?
© 2004, HOÀNG MINH SƠN

— Phương pháp kiểm soát truy nhập bus?


— ...

Chương 3: Vấn đề thời gian thực © 2005 - HMS 27

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ minh họa: Hệ ĐK qua mạng
‰ Không đồng bộ trong các chu kỳ hoạt động của các
thiết bị Controller
‰ Đặc tính khác nhau của cácTchệ bus
‰ Thời gian trễ bất định
‰ Chù kỳ trích mẫu biến thiên
Tbus Tin Bus trường Tout

I/O I/O Tio I/O I/O


© 2004, HOÀNG MINH SƠN

Tsd Tad

Sensor Sensor Ts Ta Actuator Actuator

Chương 3: Vấn đề thời gian thực © 2005 - HMS 28

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các thông số ₫ặc trưng
ƒ Chu kỳ bus: Khoảng thời gian nhỏ nhất mà tất cả các
trạm trong mạng được tham gia giao tiếp một lần
(không phải hệ thống nào cũng hoạt động theo chu kỳ)
ƒ Thời gian phản ứng (tiêu biểu và trường hợp xấu nhất):
Khoảng thời gian từ lúc nhận được yêu cầu tới lúc
hoàn thành nhiệm vụ trao đổi thông tin
ƒ Độ rung (jitter): Khoảng thời gian sai lệch so với thời
điểm lý tưởng
=> Quan trọng: Các thông số trên là tiền định hay bất
định (mức độ bất định như thế nào?)!
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 29

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các kiến trúc giao tiếp
ƒ Kiến trúc Master/Slave
— Một trạm chủ phối hợp hoạt động của nhiều trạm tớ
— Các trạm tớ có vai trò, nhiệm vụ tương tự như nhau
— Các trạm tớ có thể giao tiếp trực tiếp, hoặc không
— Vai trò chủ động thuộc về Master

Ví dụ: Bộ điều khiển


Master
© 2004, HOÀNG MINH SƠN

Slave Slave Slave

Ví dụ: Các vào/ra phân tán, các thiết bị trường

Chương 3: Vấn đề thời gian thực © 2005 - HMS 30

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Kiến trúc Client/Server
— Server thực hiện các dịch vụ chung, phục vụ các client.
— Giữa các client không cần thiết có giao tiếp trực tiếp
— Vai trò chủ động trong giao tiếp thuộc về client

Ví dụ: Các trạm vận hành

Client Client Client

Server Server
© 2004, HOÀNG MINH SƠN

Ví dụ: Các bộ điều khiển hoặc các trạm quản lý dữ liệu

Chương 3: Vấn đề thời gian thực © 2005 - HMS 31

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Kiến trúc bình đẳng
— Các trạm có vai trò bình đẳng, phải phối hợp hoạt động,
hình thức giao tiếp trực tiếp với nhau không qua trung
gian

A A

A A
© 2004, HOÀNG MINH SƠN

Ví dụ: Các trạm điều khiển phân tán


hoặc các thiết bị trường thông minh

Chương 3: Vấn đề thời gian thực © 2005 - HMS 32

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Kiến trúc tự trị
— Các trạm có vai trò bình đẳng, có thể hoạt động hoàn
toàn độc lập nhưng sự phối hợp hoạt động tạo hiệu quả
cao nhất

A A

A A
© 2004, HOÀNG MINH SƠN

Ví dụ: Các hệ thống xây dựng theo công nghệ Agent, Multi-Agent

Chương 3: Vấn đề thời gian thực © 2005 - HMS 33

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các cơ chế giao tiếp
ƒ Dữ liệu toàn cục (Global Data)
— Giống như một vùng nhớ chung
— Mỗi trạm đều chứa một ảnh của bảng dữ liệu toàn cục,
trong đó có toàn bộ dữ liệu cần trao đổi của tất cả các
trạm khác
— Mỗi trạm gửi phần dữ liệu của nó tới tất cả các trạm,
mỗi trạm tự cập nhật ảnh của bảng dữ liệu toàn cục
— Đơn giản, tiền định nhưng kém hiệu quả
— Áp dụng cho lượng dữ liệu nhỏ, tuần hoàn (ví dụ giữa
các trạm điều khiển).
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 34

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Hỏi tuần tự (Polling, Scanning)
— Một trạm đóng vai trò Master
— Cơ chế hỏi/đáp tuần tự theo trình tự đặt trước
— Đơn giản, tiền định
— Áp dụng cho trao đổi dữ liệu tuần hoàn

Master Slave1 Slave2 Slave3

Message1

Response1

Message2

Response2
© 2004, HOÀNG MINH SƠN

Message3

Response3

Chương 3: Vấn đề thời gian thực © 2005 - HMS 35

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Tay đôi (Peer-To-Peer)
— Hình thức có liên kết hoặc không liên kết, cấu hình trước
hoặc không cấu hình trước, có xác nhận hoặc không xác
nhận, có yêu cầu hoặc không có yêu cầu
— Linh hoạt nhưng thủ tục có thể phức tạp
— Áp dụng cho trao đổi dữ liệu tuần hoàn hoặc không tuần
hoàn, thích hợp cho tất cả các kiến trúc khác nhau.
ƒ Chào/đặt hàng (Subscriber/Publisher)
— Nội dung thông báo được một trạm chủ chào và các trạm
client đặt theo cơ chế tuần hoàn hoặc theo sự kiện
— Thông báo chỉ được gửi tới các trạm đặt (có thể gửi riêng
hoặc gửi đồng loạt)
— Linh hoạt, tiền định, hiệu suất cao
© 2004, HOÀNG MINH SƠN

— Áp dụng cho trao đổi dữ liệu tuần hoàn hoặc không tuần
hoàn, thích hợp cho kiến trúc Client/Server hoặc kiến trúc
bình đẳng.

Chương 3: Vấn đề thời gian thực © 2005 - HMS 36

CuuDuongThanCong.com https://fb.com/tailieudientucntt
ƒ Hộp thư (Mailbox)
— Các trạm sử dụng một môi trường trung gian như files,
một cơ sở dữ liệu hoặc một chương trình server khác để
ghi và đọc dữ liệu
— Mỗi bức thư mang dữ liệu và mã căn cước (nội dung thư
hoặc/và người nhận)
— Gửi và nhận thư có thể diễn ra tại bất cứ thời điểm nào
— Linh hoạt nhưng kém hiệu quả, không đảm bảo tính năng
thời gian thực
— Áp dụng cho trao đổi dữ liệu có tính chất ít quan trọng,
thích hợp cho kiến trúc Client/Server hoặc kiến trúc tự trị.

Mailbox
© 2004, HOÀNG MINH SƠN

1 3
1-3 xxxxx yy

2-4 xxxxx zz 4
2

Chương 3: Vấn đề thời gian thực © 2005 - HMS 37

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tài liệu tham khảo
ƒ Hoàng Minh Sơn: “Hệ thời gian thực và điều khiển thời
gian thực”, Tạp chí Tự động hóa ngày nay, số xx/2004.
(file *.pdf có sẵn)
© 2004, HOÀNG MINH SƠN

Chương 3: Vấn đề thời gian thực © 2005 - HMS 38

CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like