Tải bản đầy đủ (.pdf) (38 trang)

Tài liệu Hệ thống thông tin công nghiệp Chương 3 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (814.93 KB, 38 trang )

© 2004, HOÀNG MINH SƠN
Chương 1
Hệ thống
thông tin công nghiệp
1/19/2006
Chương 3: Vấn ₫ề thờigianthực
2
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Chương 3: Nội dung
1. Khái niệm “hệ thờigianthực”
2. Xử lý thờigianthực
3. Hệ điều hành thời gian thực
4. Giao tiếpthờigianthực
5. Lập trình thời gian thực
3
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
3.1 Hệ thờigianthự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ờigianthựclàmộthệ 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ờigianthựckhôngphảilàthờigiantuyệt đối


Tính năng thờigianthựckhôngđồng nghĩavớitốc độ
tính toán rấtnhanh
Tính năng thờigianthực= tínhchínhxác+ tính kịp
thời
4
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Các dạng của“tínhkịpthời”
Thờigian
Sự kiện Phản ứng
t
s
t
p
T
a) Chính xác tại (t = t
p
)
Thờigian
Sự kiện Phản ứng
t
s
t
p2
T
b) Trong khoảng (t
p2
≤ t ≤ t
p2

)
Thờigian
Sự kiện Phản ứng
t
s
t
p
T
c) Chậmnhất là (t ≥ t
p
)
t
p1
Thờigian
Sự kiện Phản ứng
t
s
t
p
T
d) Sớmnhất là (t ≥ t
p
)
5
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
HT ₫iềukhiểncóphảilàhệ TGT?
Mỗihệ thống điềukhiểnlàmộthệ thờigianthực
Chấtlượng điềukhiểnkhôngchỉ phụ thuộcvàothuật

toán điềukhiển, mà còn phụ thuộc vào khả năng phản
ứng củahệ 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ềukhiểnvàthời
điểm đưaratínhiệu điềukhiển
Tính năng thờigianthựccủamộtHTĐKphụ thuộccả
vào phầncứng và phầnmềmvàvàokiến trúc hệ thống
 Phầncứng: Tốc độ tính toán củavi xử lý, tốc độ chuyển đổi
DA/AD, cơ chế vào/ra, chậmtrễ trong các thiếtbị
 Phầnmềm: Thuậttoánđiềukhiển, phương pháp lập trình,
tổ chứcthựchiệnchương trình
Tính năng TGT củamộtHTĐKliênquantớitínhmạng
con người
Phầnlớncáchệ thờigianthựclàcáchệ thống điều
khiển
6
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Hai dạng hệ thống TGT tiêu biểu
1. Hệ thống nhúng (Embedded Systems)
—Cáchệ thống điềukhiển chuyên dụng, đặc chủng cho
các thiếtbị, máy móc đơn lẻ
—Máytínhđiềukhiểnlàmột phần không tách rờicủa
thiếtbịđ
ược điềukhiển
—Dựa trên nềnvi xử lý, nhân thời gian thực, hệđiềuhà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ềukhiển công nghiệp (Industrial Control

Systems)
— Distributed Control Systems (DCS), Programmable Logic
Controllers (PLC), Soft-PLCs
—Cáchệ thống điềukhiểnphân cấp, phân tán
— Ứng dụng trong CN chế biến, CN chế tạo
7
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Chiếcxehơicólàmộthệ TGT?
Hơn 50 máy vi tính bên trong (μP) nốimạng
Chúng ta có nên tìm hiểu nguyên lý hoạt động của
chúng?
8
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Bus trường có phảilàmộthệ TGT?
Sensor
I/O
Controller
I/O
Actuator
Sensor
I/O
Actuator
I/O
Bus trường
T
sd

T
in
T
out
T
ad
T
c
T
s
T
io
T
a
T
bus
9
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Tính năng thờigianthực là yêu cầu
chung củahầuhếtcáchệ thống thông
tin công nghiệp!
10
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Đặc ₫iểmcủamộthệ thờigianthực
 Tính phản ứng: Hệ thống phảiphản ứng vớicácsự
kiệnxuấthiệnvàocácthời điểmkhôngbiếttrước.

 Tính nhanh nhạy: Hệ thống phảixử lý thông tin một
cách nhanh chóng để có thểđưarakếtquả phản ứng
mộtcáchkịpthời.
 Tính ₫ồng thời: Hệ thống phảicókhả năng phản ứng
và xử lý đồng thờinhiềusự kiệndiễnra.
 Tính tiền ₫ịnh: Dựđoán trước đượcthờigianphản ứng
tiêu biểu, thờigianphản ứng chậmnhấtcũng như
trình tựđưaracácphản ứng.
11
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
3.2 Xử lý thờigianthự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ớicácsự kiện bên ngoài (tính phản
ứng)
Yêu cầucaovề hiệusuấtphầnmềm (tính nhanh nhạy)
Đòi hỏi xử lý ₫ồng thời nhiềutácvụ (tính ₫ồng thời)
Đòi hỏicơ sở lý thuyếtchặtchẽ phụcvụ phân tích và
đánh giá (tính tiền ₫ịnh)
12
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Tạisaophảinghiên cứuvề 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ố)
13
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Các hình thứccơ bảncủaxử lý TGT
 Khả năng phản ứng đồng thờivới các sự kiện bên
ngoài: Xử lý đa nhiệm
 Đáp ứng yêu cầuvề thờigiancủa nhiều“tácvụ”:
—Xử lý song song
—Xử lý phân tán
—Xử lý cạnh tranh
14
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Tác vụ và xử lý ₫anhiệm
 Mộtquátrìnhtínhtoánchomột nhiệmvụ cụ thể, có
thểđượcthựchiện đồng thời, ví dụ:
—Cáctácvụ xử lý giá trị vào/ra
—Cáctácvụđiềuchỉnh
—Cáctácvụđiềukhiển logic
—Cáctácvụ xử lý biếncố

 Mộttácvụ là sự thi hành mộtchương trình hoặcmột

phầnchương trình
—Mộtchương trình chạy nhiềulần => nhiềutácvụ
—Một đoạnmãchương trình (ví dụ mộthàm) đượcgọituần
hoàn vớicácchukỳ khác nhau => nhiềutácvụ khác
nhau
 Multitasking (đa nhiệm): khả năng thi hành đồng thời
nhiềutácvụ
15
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Các trạng thái của một tác vụ
 Trạng thái nghỉ, chưa tồntại (Dormant,
Nonexistence): Task trong bộ nhớ nhưng
hệ điều hành không quảnlý.
 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.
 Trạng thái chạy (Running state): Khi nó
đang được điều khiển bởi CPU
 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.
DORMANT
READY
RUNNING
WAITING

16
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Phân loạitácvụ (IEC 61131-3)
Mã thựcthi
Tác vụ mặc định
Ví dụ:
- Điềukhiển logic
-Kiểmtralỗi
Chờ tới chu kỳ
Mã thực thi
Thời gian
Tác vụ tuầnhoàn
Ví dụ:
- Điềuchỉnh vòng kín
-Xử lý truyền thông
Chờ sự kiện
Mã thực thi
Sự kiện
Tác vụ sự kiện
Ví dụ:
- Điềukhiểntrìnhtự
-Xử lý sự cố
17
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Các hình thứcxử lý ₫ồng thời
 Xử lý song song: Các tác vụ (task) được phân chia

thựchiện song song trên nhiềubộ xử lý
 Xử lý cạnh tranh: Nhiềutácvụ chia sẻ thờigiancủa
mộtbộ xử lý.
 Xử lý phân tán: Mỗi (nhóm) tác vụđượcthựchiện
riêng trên mộtmáytính(trường hợp đặcbiệtcủaxử
lý song song).
Xử lý cạnhtranhlàhìnhthức quan trọng nhấttrong
các hệ thống điềukhiển(cóthể kếthợpvớixử lý
phân tán)
18
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
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ếpgiữacáctácvụ
— Đồng bộ hóa giữa các tác
vụ
19
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Phương pháp lậplịch
 Vấn đề:
—Bêncạnh hiệunăng củaphầncứng máy tính, thì
phương pháp lậplịch có ảnh hưởng lớntớitínhnăng
thờigianthựccủahệ thống

—Cầnsự thỏahiệpgiữatínhnăng thờigianthựcvà
hiệusuấtsử dụng tài nguyên máy tính
 Cơ chế lậplịch
—Lậplệnh tĩnh: thứ tự thựchiện các tác vụ đượcxácđịnh
trướckhihệ thống đivàohoạt động.
—Lậplệnh động: thứ tự thựchiệncáctácvụ đượcxácđịnh
trong khi hệ thống đang hoạt động.
20
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Phương pháp lậplịch
 Sách lượclậplịch
— FIFO: đếntrướcsẽ đượcthựchiệntrước.
— Non-preemptive: không chen hàng, các tác vụđượcthực
hiệnbìnhthường dựa trên mức ưutiêncủachúng.
— Preemptive: chen hàng, chọnmộttácvụđểthựchiện
trước các tác vụ khác.
— Round-robin/Time-slicing: Mỗitácvụ có mức ưutiênnhư
nhau đượcthựchiệnmộtsố “lát thời gian”
—Mức ưutiêncốđịnh/động: các tác vụđược đặt các mức
ưutiêncốđịnh hoặccóthể thay đổinếucần.
 Thuật toán lậplịch
— Rate monotonic: càng thường xuyên càng được ưu tiên.
— Deadline monotonic: càng gấpcàngđược ưu tiên.
— Least laxity: tỷ lệ thời gian tính toán/thờihạncuốicùng
(deadline) càng lớncàngđược ưu tiên.
21
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực

© 2005 - HMS
Khái niệm“tiếntrìnhtínhtoán”
 Tiến trình tính toán (process) là mộtkháiniệmtương
đương với“tácvụ”, nhưng nhìn từ phía hệđiềuhành
đanhiệm(kháiniệmtácvụ nhìn từ phía ngườisử
dụng)
 Hai loạitiến trình:
—Tiến trình nặng cân (heavyweight process, process):
Chiếmmột không gian địachỉ riêng, thường tương ứng
vớithựcthicả mộtchương trình => sử dụng an toàn hơn
nhưng giao tiếpgiữa các process phứctạp
—Tiến trình nhẹ cân (lightweight process, thread): Thường
thuộcmột process, các thread củamột process cùng
chia sẻ một không gian địachỉ => giao tiếp đơngiản
thông qua các biếntoàncục, nhưng cầnthậntrọng
22
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
3.3 Hệ₫iềuhànhthờigianthực
 Hệđiềuhànhthờigianthựclàmộthệđiềuhànhhỗ
trợ các chương trình ứng dụng xử lý thờigianthực
 Hầuhếtcácbộđiềukhiểncôngnghiệp (PLC, DCS, )
đềuhoạt động trên nềnmộthệđiềuhànhthờigian
thực(RTOS, Real-time Operating System)
 Bảnthânhệđiềuhànhthờigianthựccũng là mộthệ
thờigianthực
 Mộthệđiềuhànhthờigianthựcbaogiờ 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.

23
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
Vai trò củaRTOStrongbộ₫iềukhiển
 Nạpchương trình, hỗ trợ thử nghiệm, gỡ rốichương
trình
 Quảnlýdữ liệuvào/ravàquảnlýtruyền thông
— Giúp các chương trình ứng dụng dễ dàng truy cậpdữ liệu
mà không cầnquantâmtớicơ chế phầncứng cụ thể
 Quảnlýtácvụ:
— Lậplị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, )
— Hỗ trợ giao tiếp liên tiến trình: Giúp các tác vụ thựchiện
giao tiếp, trao đổidữ liệuhoặcphốihợphoạt động
 Các chứcnăng kiểmtra, chẩn đoán lỗi
24
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
RTOS trong các hệ thống ₫iềukhiể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ớimột sự kiện(vídụ khi xuấthiệ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.
— 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.
25
© 2004, HOÀNG MINH SƠN
Chương 3: Vấn đề thờigianthực
© 2005 - HMS
GIAO DIỆN PHẦNCỨNG
PHẦNCỨNG MÁY TÍNH
QUẢNLÝ
TASK
QUẢNLÝ
BỘ NHỚ
QUẢNLÝ
VÀO/RA
XỬ LÝ
GIAO TIẾP
QUẢNLÝ
SỰ KIỆN
GIAO DIỆN LẬP TRÌNH ỨNG DỤNG
CHƯƠNG TRÌNH
ỨNG DỤNG

CHƯƠNG TRÌNH
ỨNG DỤNG
CHƯƠNG TRÌNH
ỨNG DỤNG
C

u trúc tiêu biểucủamộthệ₫iềuhành
thờigianthực

×