1
thống
Hệ thông tin công nghiệp
g n ơ ư h C
Chương
thời gian thực
Vấn ₫ề 3:
N Ơ S H N I M G N À O H
08.01.07
, 4 0 0 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Chương 3: Nội dung
thời gian thực”
lý thời gian thực
1. 2. 3. 4. 5.
Khái niệm “hệ Xử Hệ điều hành thời gian thực Giao tiếp thời gian thực Lập trình thời gian thực
I
N Ơ S H N M G N À O H
2
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
3.1 Hệ
thời gian thực là
gì?
real-time system is one in which the correctness of the system
“A depends not only on the logical results, but also on the time at which the results are produced,...”
sự
không chỉ thời gian thực là phụ một hệ thuộc vào sự hoạt ₫ộng tin cậy của còn phụ thống mà chính xác của kết quả, mà phản ứng với sự kiện bên
Một hệ nó thuộc vào thời ₫iểm ₫ưa ra kết quả ₫ể ngoài. Hệ thống có lỗi khi thời gian yêu cầu không ₫ược thoả mãn.
STANKOVIC
JOHN A. Systems. ACM Computing Surveys, Vol. 28, No. 4, December 1996
thời gian tuyệt đối
ET AL.: Strategic Directions in Real-Time and Embedded
I
N Ơ S H N M G N À O H
Thời gian thực không phải là 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
3
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt 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
Thời gian
Thời gian
tp1
tp2
tp
ts
ts
≤
t ≤
a)
Chính xác tại ... (t
b) Trong khoảng ... (tp2
tp2 )
) = tp
Sự
kiện Phản ứng
Sự
kiện Phản ứng
T
T
Thời gian
Thời gian
I
ts
tp
ts
tp
c) Chậm nhất là
... (t
d) Sớm nhất là
... (t
≥
≥
) tp
) tp
N Ơ S H N M G N À O H
4
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
HT ₫iều khiển có
phải là
TGT? hệ thời gian thực
Mỗi hệ
một hệ
thuộc vào khả năng phản
phụ thuộc vào thuật
còn phụ
thống, thời điểm đọc tín hiệu đầu vào (tín thời
thống điều khiển là Chất lượng điều khiển không chỉ toán điều khiển, mà ứng của hệ hiệu đo), vào thời gian tính toán luật điều khiển và đ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ụ vào phần cứng và
(cid:131) 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ị
(cid:131) 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
thuộc cả thống phần mềm và vào kiến trúc hệ
I
thời gian thực là
các hệ
thống điều
Tính năng TGT của một HTĐK liên quan tới tính mạng con người
N Ơ S H N M G N À O H
Phần lớn các hệ khiển
5
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Hai dạng
TGT tiêu biểu
thống (Embedded Systems)
1. Hệ —
cho chuyên dụng, đặc chủng
đơn lẻ
điều khiển móc — không tách rời của
— lý, nhân thời gian thực, hệ điều hành
— dụng: công nghiệp hàng không-vũ trụ, robot
2. Hệ
điều khiển
hệ nhúng thống thống hệ Các thiết bị, máy các điều khiển là một phần tính Máy thiết bị được điều khiển trên nền vi xử Dựa thời gian thực dụ ứng Ví công nghiệp, phương tiện giao thông, ... công nghiệp (Industrial Control thống Systems) —
I
điều khiển phân cấp, phân tán thống
— — biến, CN chế tạo trong CN chế
N Ơ S H N M G N À O H
6
Distributed Control Systems (DCS), Programmable Logic Controllers (PLC), Soft-PLCs Các Ứng hệ dụng
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Chiếc xe hơi có là một hệ
TGT?
bên
trong
(μP) nối mạng
tìm
lý
hoạt
động
của
máy có ta
hiểu
nguyên
50 Hơn Chúng chúng?
vi tính nên
I
N Ơ S H N M G N À O H
7
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Bus trường có
phải là
một hệ
TGT?
Controller
Tc
Bus trường
Tbus
Tin
Tout
I/O
I/O
I/O
I/O
Tio
Tad
Tsd
I
Actuator
Actuator
Sensor
Sensor
Ta
Ts
N Ơ S H N M G N À O H
8
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
yêu cầu là thống thông
Tính năng thời gian thực chung của hầu hết các hệ tin công nghiệp!
I
N Ơ S H N M G N À O H
9
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Đặc ₫iểm của một hệ
thời gian thực
(cid:131) 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. (cid:131) 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.
(cid:131) 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.
(cid:131) 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.
I
N Ơ S H N M G N À O H
10
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
3.2 Xử
lý thời gian thực là
gì?
lý thời gian thực là
hình thức xử
lý thông tin trong
thống ₫ể ₫ảm bảo tính năng thời gian thực của
Xử một hệ nó.
kiện bên ngoài
(tính phản
(tính nhanh nhạy) (tính ₫ồng thời)
lý thuyết chặt chẽ
phân tích và
phục vụ
I
Luôn liên quan với các sự ứng) hiệu suất phần mềm Yêu cầu cao về Đòi hỏi xử lý ₫ồng thời nhiều tác vụ Đòi hỏi cơ sở đánh giá
(tính tiền ₫ịnh)
N Ơ S H N M G N À O H
11
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Tại sao phải nghiên cứu về
xử
TGT? lý
(cid:131) 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
(cid:131) 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
(cid:131) 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ố)
I
N Ơ S H N M G N À O H
12
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Các hình thức cơ bản của xử
lý TGT
(cid:131) 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
(cid:131) Đáp ứng yêu cầu về thời gian của nhiều “tác vụ”:
— — — lý song song lý phân tán lý cạnh tranh
Xử Xử Xử
I
N Ơ S H N M G N À O H
13
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Tác
xử lý ₫a nhiệm
vụ
và
(cid:131) Một quá trình tính toán cho một nhiệm vụ cụ thể, có
xử vào/ra
logic
thể được thực hiện đồng thời, ví dụ: lý giá — — — — —
lý biến cố xử
(cid:131) 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 — —
trị Các tác vụ Các tác vụ điều chỉnh Các tác vụ điều khiển Các tác vụ ...
dụ (ví một hàm) được gọi tuần
nhiều tác vụ khác
I
(cid:131) Multitasking (đa nhiệm): khả năng thi hành đồng thời
khác nhau => 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 hoàn với các chu kỳ nhau
N Ơ S H N M G N À O H
nhiều tác vụ
14
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Các
của một tác
trạng
thái
vụ
(cid:131) 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ý.
DORMANT
READY
(cid:131) Trạng thái sẵn sàng (Ready state): Khi nó có thể được điều hoạt nhưng hiện đang có một Task khác có mức ưu tiên cao hơn đang được thực hiện.
(cid:131) Trạng thái chạy (Running state): Khi nó
đang được điều khiển bởi CPU
RUNNING
WAITING
I
(cid:131) 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 tài nguyên chung có thể sử dụng hay là khi có các ngắt thời gian.
N Ơ S H N M G N À O H
15
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Phân loại tác vụ
61131-3)
(IEC
Chờ
sự
kiện
Chờ
tới chu kỳ
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
dụ:
dụ:
dụ:
logic
I
Ví - Điều khiển Kiểm tra lỗi -
Ví - Điều chỉnh vòng kín - Xử
lý truyền thông
Ví - Điều khiển trình tự - Xử
lý sự
cố
N Ơ S H N M G N À O H
16
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Các hình thức xử lý ₫ồng thời
(cid:131) 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ý
(cid:131) Xử lý cạnh tranh: Nhiều tác vụ chia sẻ thời gian của
một bộ xử lý.
(cid:131) 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).
lý cạnh tranh là
hình thức quan trọng nhất trong
I
thống điều khiển (có thể
kết hợp với xử
lý
Xử các hệ phân tán)
N Ơ S H N M G N À O H
17
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Xử
lý
cạnh
tranh
— chức, lập lịch
phân nguyên cho các
(cid:131) Các vấn đề: Tổ chia tài tác vụ Giao tiếp giữa các tác vụ tác hóa giữa Đồng vụ
— — bộ các
I
N Ơ S H N M G N À O H
18
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Phương pháp lập lịch
(cid:131) Vấn đề:
—
ảnh hưởng lớn tới tính năng
thống
—
thỏa hiệp giữa tính năng thời gian thực và
dụng tài nguyên máy tính
thứ
thực hiện các tác vụ được xác định tự —
thống đi vào hoạt động.
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ó thời gian thực của hệ Cần sự hiệu suất sử (cid:131) Cơ chế lập lịch Lập lệnh tĩnh: trước khi hệ Lập lệnh động: trong khi hệ
— thực hiện các tác vụ được xác định tự thứ
thống đang hoạt động.
I
N Ơ S H N M G N À O H
19
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Phương pháp lập lịch (cid:131) Sách lược lập lịch
— —
— thực hiện
— có mức ưu tiên như
“lát thời gian”
—
(cid:131) Thuật toán 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ụ để trước các tác vụ khác. Round-robin/Time-slicing: Mỗi tác vụ nhau được thực hiện một số 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.
I
càng thường xuyên càng được ưu tiên. càng gấp càng được ưu tiên.
— — — tỷ lệ thời gian tính toán/thời hạn cuối cùng
N Ơ S H N M G N À O H
20
© 2005 - HMS
Rate monotonic: Deadline monotonic: Least laxity: (deadline) càng lớn càng được ưu tiên.
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
Khái niệm “tiến trình tính toán”
(cid:131) 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)
(cid:131) Hai loại tiến trình:
—
dụng an toàn hơn
— cân (lightweight process, thread): Thường
một không gian địa chỉ
I
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 một chương trình => sử với thực thi cả nhưng giao tiếp giữa các process phức tạp Tiến trình nhẹ thuộc một process, các thread của một process cùng => giao tiếp đơn giản chia sẻ thông qua các biến toàn cục, nhưng cần thận trọng
N Ơ S H N M G N À O H
21
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
3.3
Hệ ₫iều hành thời gian thực
(cid:131) 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 (cid:131) 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)
(cid:131) 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
(cid:131) 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.
I
N Ơ S H N M G N À O H
22
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
của RTOS
trong bộ ₫iều khiển
Vai trò
(cid:131) Nạp chương trình, hỗ trợ thử nghiệm, gỡ rối chương
trình
(cid:131) Quản lý dữ liệu vào/ra và quản lý truyền thông
— liệu
không cần quan tâm tới cơ chế dàng truy cập dữ thể phần cứng cụ Giúp các chương trình ứng dụng dễ mà
Phân chia thời gian CPU cho thi hành các tác vụ —
lý cạnh tranh) (trong xử
trợ ₫ồng bộ — chia sẻ tài
— thực hiện hóa tiến dụng chung giao tiếp liên tiến Giúp các tác vụ nhớ, cổng vào/ra,..) Giúp các tác vụ
I
(cid:131) Quản lý tác vụ: Lập lịch: khác nhau Hỗ nguyên sử trợ Hỗ giao tiếp, trao đổi dữ
(cid:131) Các chức năng kiểm tra, chẩn đoán lỗi
liệu hoặc phối hợp hoạt động trình: (bộ trình:
N Ơ S H N M G N À O H
23
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
RTOS trong các
₫iều khiển
hệ
thống
lập trình
— — — với một sự kiện (ví dụ khi xuất hiện
vào/ra,...) đủ ngắn
— tuần hoàn, đảm bảo chính chu kỳ (jitter)
(cid:131) Yêu cầu đặc biệt Mã rất nhỏ, gọn sử Đơn giản, dễ gian phản Thời ngắt truyền Quản lý hiệu quả xác về Quản lý vào/ra hiệu quả, đơn giản (cid:131) Hai dạng thực hiện:
dụng, dễ ứng thông, ngắt các tác vụ rung nhỏ thời gian, độ —
— liên kết
—
I
Mã nguồn: Nhân thời gian thực, được dịch và 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. 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.
N Ơ S H N M G N À O H
24
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
₫iều hành
Cấu trúc tiêu biểu của một hệ 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
XỬ
LÝ
QUẢN LÝ NHỚ BỘ
QUẢN LÝ TASK
QUẢN LÝ VÀO/RA
QUẢN LÝ KIỆN SỰ
GIAO TIẾP
GIAO DIỆN PHẦN CỨNG
I
PHẦN CỨNG
MÁY
TÍNH
N Ơ S H N M G N À O H
25
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Ví
triển: MicroC/OS-II
dụ
phát
CHƯƠNG TRÌNH ỨNG DỤNG
MÃ XMÃ XỬỬ LÝ Đ
LÝ ĐỘỘC LC LẬẬPP
CCẤẤU HÌNH
U HÌNH µµC/OSC/OS--IIII
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Ã CHUY
N MÃ µµC/OSC/OS--IIII
OS_CPU.H
OS_CPU_A. ASM
PHẦN MỀM
OS_CPU_C.C
I
TIMER
CPU
PHẦN CỨNG
N Ơ S H N M G N À O H
26
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
3.4 Giao tiếp thời gian thực
(cid:131) 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
(cid:131) 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!
(cid:131) Tính năng thời gian thực của hệ thống truyền thông
truyền?
I
phụ thuộc vào những yếu tố gì? — — — —
Tốc độ Cấu trúc mạng? Phương pháp kiểm soát truy nhập bus? ...
N Ơ S H N M G N À O H
27
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Ví
minh họa: Hệ ĐK qua mạng
(cid:137) Không đồng bộ trong các chu kỳ hoạt động của các
dụ thiết bị
Controller
(cid:137) Đặc tính khác nhau của các hệ bus
Tc
(cid:137) Thời gian trễ bất định (cid:137) Chù kỳ trích mẫu biến thiên
Bus trường
Tbus
Tout
Tin
I/O
I/O
I/O
I/O
Tio
Tad
I
Tsd
Actuator
Actuator
Sensor
Sensor
Ta
Ts
N Ơ S H N M G N À O H
28
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Các thông số ₫ặc trưng
(cid:131) 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ỳ) (cid:131) 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
(cid:131) Độ 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?)!
I
N Ơ S H N M G N À O H
29
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Các kiến trúc giao tiếp
(cid:131) Kiến trúc Master/Slave
giao tiếp trực tiếp, hoặc không
— — — — Một trạm chủ có Các trạm tớ có Các trạm tớ Vai trò chủ động thuộc về Master phối hợp hoạt động của nhiều trạm tớ nhiệm vụ tương tự như nhau vai trò, thể
dụ: Bộ điều khiển
Master
Slave
Slave
Slave
Ví
I
Ví
dụ:
Các vào/ra phân tán,
các thiết bị trường
N Ơ S H N M G N À O H
30
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
(cid:131) Kiến trúc Client/Server
chung, phục vụ các client.
không cần thiết có client
Ví
dụ: Các trạm vận hành
Client
Client
Client
Server
Server
— — — Server thực hiện các dịch vụ Giữa các Vai trò chủ động trong giao tiếp thuộc về giao tiếp trực tiếp client
I
Ví
dụ: Các bộ điều khiển hoặc các trạm quản lý dữ
liệu
N Ơ S H N M G N À O H
31
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
—
(cid:131) Kiến trúc bình đẳng Các trạm có vai trò bình đẳng, hình thức giao tiếp trực tiếp với nhau không gian
A
A
A
A
A
phải phối hợp hoạt động, trung qua
I
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
N Ơ S H N M G N À O H
32
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
(cid:131) Kiến trúc tự trị
— vai trò bình đẳng, có thể hoạt động hoàn
phối hợp hoạt động tạo hiệu quả
A
A
A
A
A
Các trạm có toàn độc lập nhưng sự cao nhất
I
Ví
dụ: Các hệ
thống xây dựng theo công nghệ
Agent, Multi-Agent
N Ơ S H N M G N À O H
33
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
cơ chế
giao tiếp
chung
— — liệu toàn cục,
liệu cần trao đổi của tất cả các
liệu của nó — tới tất cả các trạm,
cập nhật ảnh của bảng dữ liệu toàn cục
— — liệu nhỏ, tuần hoàn (ví dụ giữa
Các (cid:131) Dữ liệu toàn cục (Global Data) Giống như một vùng nhớ Mỗi trạm đều chứa một ảnh của bảng dữ trong đó có toàn bộ dữ trạm khác Mỗi trạm gửi phần dữ mỗi trạm tự Đơn giản, tiền định nhưng kém hiệu quả Áp dụng cho lượng dữ các trạm điều khiển).
I
N Ơ S H N M G N À O H
34
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
(cid:131) Hỏi tuần tự (Polling, Scanning)
Master
theo trình tự đặt trước
hỏi/đáp tuần tự tiền định
— — — — liệu tuần hoàn
Master
Slave1
Slave2
Slave3
Message1
Response1
Message2
Response2
Message3
Một trạm đóng vai trò Cơ chế Đơn giản, Áp dụng cho trao đổi dữ
I
Response3
N Ơ S H N M G N À O H
35
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
— liên kết hoặc không liên kết,
cấu hình trước xác nhận hoặc không xác có
có
yêu cầu hoặc không có thể tục có yêu cầu phức tạp
— — liệu tuần hoàn hoặc không tuần
(cid:131) Tay đôi (Peer-To-Peer) Hình thức có hoặc không cấu hình trước, nhận, Linh hoạt nhưng thủ Áp dụng cho trao đổi dữ hoàn,
các kiến trúc khác nhau.
thích hợp cho tất cả (cid:131) Chào/đặt hàng (Subscriber/Publisher) thông báo được một trạm chủ — chào và dung các trạm
tuần hoàn hoặc theo sự kiện
— gửi riêng
hiệu suất cao tiền định,
— — liệu tuần hoàn hoặc không tuần
I
thích hợp cho kiến trúc Client/Server hoặc kiến trúc
Nội client đặt theo cơ chế Thông báo chỉ được gửi tới các trạm đặt (có thể hoặc gửi đồng loạt) Linh hoạt, Áp dụng cho trao đổi dữ hoàn, bình đẳng.
N Ơ S H N M G N À O H
36
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
—
server files, khác để
— liệu và mã căn cước (nội dung thư dụng một môi trường trung gian như liệu hoặc một chương trình liệu
diễn ra tại bất cứ thời điểm nào nhận thư có thể
— —
(cid:131) Hộp thư (Mailbox) Các trạm sử dữ một cơ sở ghi và đọc dữ Mỗi bức thư mang dữ hoặc/và người nhận) Gửi và 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ữ thích hợp cho kiến trúc
—
Mailbox
3
1
tính chất ít quan trọng, hoặc kiến trúc tự liệu có Client/Server trị.
I
1-3
xxxxx yy
2-4
4
xxxxx zz
N Ơ S H N M G N À O H
2
37
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt
Tài liệu tham khảo
(cid:131) 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)
I
N Ơ S H N M G N À O H
38
© 2005 - HMS
, 4 0 0 Chương 3: Vấn đề thời gian thực 2 ©
CuuDuongThanCong.com CuuDuongThanCong.com
https://fb.com/tailieudientucntt https://fb.com/tailieudientucntt