Tài liệu Bài 1: Tổng quan về hệ điều khiển doc - Pdf 97

1
Các h thigianthc–Giithiu
Ngô Khánh Hiu
Các h thigianthc–Giithiu
Ngô Khánh Hiu
1
Tng quan v h tin hcthigianthc (1/5)
-H tin hcthigianthcnhn các thông tin v trng thái ca quá trình bên ngoài, x
lý các d liu, và tùy thucvàokt qu mà đa ra "quyt đnh" tác đng đn môi
trng bên ngoài trong điukin các ràng buc nghiêm ngt v thigiannhm bo
đm trng thái n đnh ca quá trình.
-Mtchng trình thigianthc không có các đc tính thng thy  các chng
trình tun t:
⇒ không có s ràng buc nào giaktqu tính toán vithi gian tính toán,
⇒ có kh nng tái s dng (comportement reproductible).
H thigianthclà h môi trng
song song
2
Các h thigianthc–Giithiu
Ngô Khánh Hiu
2
Tng quan v h tin hcthigianthc (2/5)
- Khái nim"song song" (Parallélisme) trong h tin hccóth đchiu đn gin
theo các cách sau:
(1) H tin hc hình thành t nhiu máy tính
(2) H tin hcch gmmt máy tính nhng có nhiuvix lý (processeurs)
(3) H tin hcch gmmtmáytínhvimtvix lý (mono-processeur)
nhng có kh nng qun lý thi gian tính toán theo "khong thi gian"
xác đnh (tranches de temps). Khái nim "song song" nu đchiu
theo ngha này còn đcgi là "pseudo-parallélisme".
- Mt vòng lp: ng mi ln lp s thchinvic tính toán mtítca "tâche 1", mtítca

đcto ra bis tác đng vi"môi trng" bng nhiuhínhthc khác nhau
nh: bàn phím, file d liu, mng, chut, c tính v thi gian trong trng
hp này không có nh hng nào khác ngoài cm giác không thoi mái khi làm
vic (aspect confort de travail) hay cht lng phcv (qualité de service).
(1) Các h bin đi (Systèmes transformationnels): là các h s dng các d liu
đu vào (input) đc cung cp lúc khai báo ban đu, sau đó x lý các d liu
đó đ xut ra các d liu đu ra (output) mà không có bt c ràng buc nào v
thi gian.
(3) Các hđiukhin hay phn ng (Systèmes de contrôle-commande ou réactifs):
là các h có mi quan h vi môi trng thct thông qua các d liu đu vào,
tuy nhiên khác vih tng tác, h điukhinhayphn ng có s ràng buc
bt bucv thigian di c ác hình thcnh: thigianphn ng (temps de
réaction), hn thigianphn hoàn thành (temps d’une échéance à respecter),
Các h thigianthc–Giithiu
Ngô Khánh Hiu
5
Tng quan v h tin hcthigianthc (5/5)
4
Các h thigianthc–Giithiu
Ngô Khánh Hiu
6
Phân loi h điukhin (Système de contrôle-commande ou réactif) (1/2)
T đnh ngha h điukhinta cóth phân loi h điukhinda theo các yêu cu
(specifications) riêng cah nh sau:
(1) Các h thigianthc (Systèmes temps réel): là h điukhinmàyêucu ng
x "đúng/chính xác" (exactitude) cacácng dng ca nó không nhng ch
ph thucvàokt qu (résultat), mà còn ph thucvàothigianmàkt qu đó
đcto ra. Và nu các ràng bucv thi gian (contraintes temporelles) ca
ng dng không đc tuân th, ta nói h b sai sót/li (défaillance du système).
Da vào các ràng bucthi gian này ta có th chia h thigianthc làm 2 loi:

ngoài mà nó điukhincóth
phân chia thành hai phn sau:
 phn "quan sát" (observations) thông qua các cm bin (sensors), cho phép thu
nhn các thông tin dihìnhthc các ngt (interruptions, information tout ou
rien), hoc các giá tr đo (mesures, information continue) t quá trình thct mà
h điukhin.
 phn "hành đng" (actions) đcthchinnh các c cu chp hành
(actuators), cho phép phn ng li quá trình th
ct mà h điukhin dihình
thccáclnh (commandes) làm thay đitrng thái hinhànhcah thng, hoc
đn gin là dihìnhthc các hinth (affichage) nh diodes, bóng đèn, màn
hình hinth, thit b hinth,…
Các h thigianthc–Giithiu
Ngô Khánh Hiu
9
Các đc tính c bn cah điukhin (2/6)
Mt ng dng cah điukhin trong điukhin quá trình đtcháyca đng c
6
Các h thigianthc–Giithiu
Ngô Khánh Hiu
10
Các đc tính c bn cah điukhin (3/6)
Các đc tính c bn cah điukhinlà:
(1) rt đa dng các thit b đu vào và đu ra (dispositifs d’entrées/sorties):
d liu đu vào yêu cu, đc cung cp bicáccm bin, và các d liu
đu ra cung cp cho các c cu chp hành có các kiud liu (types) rt
đa dng (liên tc, rirc, "tout ou rien", hoc "analogique").
(2) có kh nng tính toán song song (comportements concurrents): tphp
tt c các d liuthct t bên ngoài, và "mng" (le réseau) cho phép
nhpcácd liudng tin nhn (messages) không đc đng b (ne sont

13
Mtvàing dng cah điukhin (6/6)
 Robot sn xut
: mt robot, thchinmthot đng c th trong mtchui sn
xut, phi hoàn thành công viccanótrongkhong thigianc đnh xác đnh
bi dây chuynch to. Nu thi gian này quá smhoc quá tr sn phm ch
to s b phá hyhoc làm h hng dn đn các thithi v kinh t hoc con
nginghiêmtrng.
 Robot thm dò/thám him
: robot này phi có kh nng t dch chuyntrongmt
phm vi mà v c bn là không bit rõ trc(nh vùng nhim phóng x gn mt
ti nn v phóng x, hành tinh,…). iu quan trng đivi các robot loi này là
chúng phi có th phn ng li các chng ngi vtc đnh hoc di đng đ tránh
b mt lái hay b kt.
inthoi di đng
: h thng điukhinphi có kh nng hoàn thành nhiuchc
nng mà trong đó mts có ràng bucv thi gian cao đ có cht lng phcv
tt (QoS, Quality of Service). Chc nng đu tiên là truynvànhn tín hiuging
nói (577 µs ging nói đcphátchomi 4.6 ms, và 577 µs ging nói đcnhn
cho mi 4.6 ms  các khong cách khác nhau). Vi vycn phi
8
Các h thigianthc–Giithiu
Ngô Khánh Hiu
14
Cu trúc ca các ng dng cah điukhin (1/16)
 Cu trúc phn mm (Architecture logicielle)
(1/14)
ng x đng thica các tín hiu đcth hin didng các "événements" và các
đi lng thc bên ngoài (grandeurs physiques externes) dn đn mô t/th hinmôi
trng điukhinnh là mth thng bt buc song song.

“Operating systems may adopt one of many different scheduling strategies, which
generally fall into the following categories:
- In multiprogramming systems
, the running task keeps running until it performs an
operation that requires waiting for an external event (e.g. reading from a tape) or
until the computer's scheduler forcibly swaps the running task out of the CPU.
Multiprogramming systems are designed to maximize CPU usage.
- In time-sharing systems, the running task is required to relinquish the CPU, either
voluntarily or by an external event such as a hardware interrupt. Time sharing
systems are designed to allow several programs to execute apparently
simultaneously.
- In real-time systems, some waiting tasks are guaranteed to be given the CPU
when an external event occurs. Real time systems are designed to control
mechanical devices such as industrial robots, which require timely processing.”
(Trích ngun Wikipedia)
Các h thigianthc–Giithiu
Ngô Khánh Hiu
17
Cu trúc ca các ng dng cah điukhin (4/16)
 Cu trúc phn mm (Architecture logicielle
) (4/14)
10
Các h thigianthc–Giithiu
Ngô Khánh Hiu
18
Cu trúc ca các ng dng cah điukhin (5/16)
 Cu trúc phn mm (Architecture logicielle
) (5/14)
(1) “tâches" nhp/xut (tâches d’entrées/sorties): đây là các "tâches" cho phép tip
cnvicácd liu bên ngoài thông qua các "cartes" giao tip nhp/xut, và các

11
Các h thigianthc–Giithiu
Ngô Khánh Hiu
20
Cu trúc ca các ng dng cah điukhin (7/16)
 Cu trúc phn mm (Architecture logicielle
) (7/14)
(5) “tâches" lu tr (tâches de sauvegarde): đây là các "tâches" cho phép lu tr
trng thái cah thng (l’état du système)  các thi đimc đnh. Vic lu tr
này có th đcs dng sau đó (a posteriori) đ phân tích vicvnhànhca
ng dng hoc ngay sau mts ly li trng thái vn hành  mtgiai đon
trc đó (une reprise d’exécution à une étape précédente).
Sau giai đon phân tích (l’analyse) và thit k (la conception) ng dng, ta thu
đctph
p các "tâches" hay các "activités" có quan h ln nhau đ thc
hinvic điukhinca quá trình. Các "tâches" này thucv các nhóm khác
nhau nh litkê trên. Cách thc phân chia theo chc nng này có th đc
sa đi trong trng hpápdng phng pháp thit k hng v các đi
tng hoc các "entités" điukhin.
Các h thigianthc–Giithiu
Ngô Khánh Hiu
21
Cu trúc ca các ng dng cah điukhin (8/16)
 Cu trúc phn mm (Architecture logicielle
) (8/14)
S đ th hincu trúc "multitâche" camt ng dng cah điukhin
Các "tâches" cu thành lên ng dng cah điukhin không phi là các thcth
hot đng đclp. Mts "tâches" đckt nivi bên ngoài đ nhp/xut; mts
"tâches" có th đc liên kt vi nhau trong quá trình vn hành ca ng dng.
12

"synchrone" là các "tâches" không th ngt (non interruptibles ou non préemptibles)
Ta có th phân chia mô hình vn hành cacách điukhin thành hai mô hình sau: mô
hình "synchrone" và mô hình "asynchrone".
- Mô hình “asynchrone”:  mô hình này s nhnthcthi đimkíchhot catt c
d kin điukhin (l’occurrence de tout événement) đc ghi nhn ngay lptcbi
h thng đ cân nhc tính cht khn (urgence) hay tính cht quan trng ca chúng.
Hay nói cách khác, các "tâches" ca mô hình "asynchrone" là các "tâches" có th
ngt (interruptibles ou préemptibles)
13
Các h thigianthc–Giithiu
Ngô Khánh Hiu
24
Cu trúc ca các ng dng cah điukhin (11/16)
 Cu trúc phn mm (Architecture logicielle
) (11/14)
Mô hình "synchrone" camt ng dng điukhin
Phng pháp phân tích "ordonnancement" trong mô hình "synchrone" đcgilà
phng pháp phân tích "ordonnancement hors ligne".
Các h thigianthc–Giithiu
Ngô Khánh Hiu
25
Cu trúc ca các ng dng cah điukhin (12/16)
 Cu trúc phn mm (Architecture logicielle
) (12/14)
Mô hình "asynchrone" camt ng dng điukhin
Phng pháp phân tích "ordonnancement" trong mô hình "asynchrone" đcgilà
phng pháp phân tích "ordonnancement en ligne".
14
Các h thigianthc–Giithiu
Ngô Khánh Hiu

) (2/2)
Cu trúc phn cng gi mtvaitròrt quan trng trong các ng dng h điukhin.
Nó liên quan mtmt đn s kt nitrctip vi môi trng thct nh vào các h
thng nhp/xut đa dng (une grande diversité de systèmes d’entrées/sorties); mt
khác đn thit b tin hcphn cng (matériel informatique) chuyên bitvà đc phát
trindànhriêngchomt ng dng nào đó.
Rt nhiu ng dng cah điukhinvn hành datrêncácnnPC truynthng.
Tuy vy, viclp đt các cartes nhp/xut, chúng phi đc đng b hóa (victhu
nhnd liuvàxut lnh đcthchin  các thi đim chính xác), là luôn cn thit.
Vì vy, trong các ng dng tin hcnày, cácphn cng chuyên bitluôntnti và h
tr tính nng v thi gian.
Trong nhiu trng hp, các ng dng cah điukhinthucdng "distribué" mà 
đó chúng vn hành trong môi trng "multitâche", đckt nivi nhau bimthoc
nhiuh thng mng (nh
Erthenet, CAN, FIP…)
16
Các h thigianthc–Giithiu
Ngô Khánh Hiu
30
S phát trinca các ng dng cah điukhin (1/27)
S phát trincacácng dng tin hccóth đc chia thành các giai đon phát trin
chính sau: giai đon mô t đc tính/yêu cu (Spécification); giai đon thit k
(Conception); giai đon xây dng/trin khai (Implémentation/Codage); và giai đon
kim tra (Test/Validation).
Nu nh vickim tra (Test/Validation), gi vai trò quan trng sng còn trong vic đt
đccht lng cah thng, có th đcthchind dàng trong các ng d
ng tin
hctruynthng (nh các programmes tính toán…) thì đivicácng dng cah
điukhinvickimtravn hành thct cah thng rt phctp phát sinh t rt
nhiu nguyên nhân mà ta có th nêu ra sau: vicvn hành là duy nht (v tinh do

?
?
Các h thigianthc–Giithiu
Ngô Khánh Hiu
33
S phát trinca các ng dng cah điukhin (4/27)
Vòng phát trinc đin "Cascade"
(3/5)
(1) Giai đon “Spécification": tìm hiuh thng di cái nhìn tng quát đn tt c
các đc tính canónhm mc đích tr lichocâuhi"H thng làm gì?".
Các khía cnh kho sát  đây không ch đn thun là các yêu cu thucv
chc nng (besoins fonctionnels), mà còn bao hàm c nhng yêu cu không
thucv chc nng (besoins non fonctionnels) nh yêu cu vng x/đáp
ng cah thng (services comportementaux), vtliu (matériaux), yêu c
u
v cht lng (qualités requises), các ràng bucv thigian đivicách
thigianthc…
18
Các h thigianthc–Giithiu
Ngô Khánh Hiu
34
S phát trinca các ng dng cah điukhin (5/27)
Vòng phát trinc đin "Cascade"
(4/5)
(2) Giai đon “Conception": có th phân chia thành hai giai đon, thit k s b
(conception préliminaire) và thit k chi tit (conception détaillée). Mc đích ca
giai đon này là "đnh ngha" cu trúc bên trong cah thng (architecture
interne du système) t các yêu cu đt ra  giai đon trc đó nhm mc đích
tr lichocâuhi"H thng làm nh th nào?".
Thit k s b đa ra cu trúc tng quát cah thng bng cách phân chia nó

(1/3)
Là mtdng thay đica mô hình "Cascade", mô hình V
tptrungvàoquátrìnhkimtra/làmchocóhiulc quá
trình phát trincah điukhin (vérification et validation).
- ng dcxung bên trái là
s th hinli ca các giai
đon phát trincamôhình
"Cascade" t "Spécification"
đn "Conception".
- ng dc lên bên phi là
s th hinca các quá
trình "tests" mà  đó ng vi
mi giai đon ca quá trình
"Analyse" và "Conception" ta
thchinmt quá trình
"Test" và "Validation".
Các h thigianthc–Giithiu
Ngô Khánh Hiu
37
S phát trinca các ng dng cah điukhin (8/27)
Vòng phát trindng "V"
(2/3)
(4) Giai đon “tests unitaires": cho phép kimtras hot đng ca các thành phn
cah thng mt cách đclp đ đm bo mi chúng phi thacácyucu
hot đng riêng, và phi hot đng "đúng" trong mi điukin.
(5) Giai đon “tests d’intégration": là giai đon kimtra đctin hành sau giai đon
"tests unitaires" nhm mc đích kimtras hot đng ca các thành phn ca
h thng trong s vn hành tng th ca nó: mi quan h giacácb phn; s
hot đng ca các "tâches" datrêncácb phn này; các c ch bo đm
"communication/synchronisation" gia các "tâches"…

cu  nhng giai đon tip theo ca vòng phát trin.
Tuy nhiên, đivi các mô hình "dirigés par les documents" thì phn lncác ý
tng ban đu cah đcxác đnh  giai đon "spécification" đu  dng cha
hoàn chnh, nên rt có nhiukh nng nhng "code" hay nhng thit k
(conception) đa ra trong các giai đon tip theo ca vòng phát trin không th s
dng đc/không phù hp (inutilisable). Vicápdng các vòng phát trin da trên
mô hình tuyn tính (Cascade, V) cho các mô hình này là không thts phù hp.
il est favorable d’utiliser d‘autres techniques de prototypage qui permettent de
valider tout ou une partie du cahier des charges et de prendre en considération
le «feed-back» entre le concepteur et l’utilisateur.
21
Các h thigianthc–Giithiu
Ngô Khánh Hiu
40
S phát trinca các ng dng ca
h điukhin (11/27)
Mts vòng phát trin khác
(2/6)
Mô hình "Rapid
Prototype"
Mô hình "Rapid Prototype" là mô hình mà 
đó mctiêucah (objectifs du système)
s đctp trung ngay t nhng giai đon
đu ca vòng phát trin.
-mtthit k (conception) và mt "prototype" đc
hình thành nhanh nhm kimtracácmctiêuca
h trckhi bt đu giai đon "spécification",
-yêucu ít các vòng "feed-back" hn so vimôhình
tuyn tính, điu đó giúp phát hinvàsachakpthi
các li phát sinh  giai đon s dng.

(4/6)
Mô hình "Spiral" là mô hình "dirigé par
les risques" do W. Boehm đa ra.
Mô hình "Sprial"
- la dimension radicale représente le
coût cumulatif,
- la dimension angulaire représente
le progrès atteint à chaque cycle de
spirale (phase),
- une phase commence par
l’identification des objectifs de la
phase, des alternatives pour obtenir
ces objectifs et leurs contraintes
Các h thigianthc–Giithiu
Ngô Khánh Hiu
43
S phát trinca các ng dng ca
h điukhin (14/27)
Mts vòng phát trin khác
(5/6)
Mô hình "Sprial"
"Puis, chaque alternative est analysée
sous un point de vue «risques». Des
prototypes, des simulations, seront
préparés afin de résoudre chacun des
potentiels risques. Si tous les risques
sont résolus, le concepteur peut
poursuivre l’étape suivante. Cette étape
correspond à un modèle de vie classique
(en «Cascade» ou en «V» avec

Ngô Khánh Hiu
45
S phát trinca các ng dng cah điukhin (16/27)
Vòng phát trin "Logiciel/Matériel" c đin
(1/3)
"En informatique industrielle, on parle d’un système temps réel lorsque ce système
informatique contrôle un procédé physique à une vitesse adaptée à l’évolution du
procédé contrôlé. Ce système doit réagir continuellement à des événements en
provenance du procédé contrôlé avec des contraintes temporelles dont le respect est
aussi important que l’exactitude du résultat. Une réaction ne respectant pas son
échéance pourrait causer une catastrophe humaine et financière. Un tel système
comporte deux parties fondamentales: le matériel et le logiciel. Le matériel est la partie
physique (le microprocesseur, la carte d’acquisition, le convertisseur A/D ou D/A, etc.)
permettant de piloter le procédé et de recueillir des informations en provenance de ce
dernier. Le logiciel est un ensemble des éléments informatiques assurant le
fonctionnement du procédé contrôlé. Une part significative du développement d’un
système temps réel consiste à décider des composants matériels et des composants
logiciels du système, ainsi que du choix de quelles parties peuvent être implémentées
comme des logiciels s’exécutant sur des composants programmables et lesquelles
peuvent être implémentées sur des matériels spécifiques."
24
Các h thigianthc–Giithiu
Ngô Khánh Hiu
46
S phát trinca các ng dng cah điukhin (17/27)
Vòng phát trin "Logiciel/Matériel" c đin
(2/3)
Các h thigianthc–Giithiu
Ngô Khánh Hiu
47

Puis, la séparation des composantes
matérielles/logicielles peut être
effectuée de manière la plus
appropriée. L’intégration
«Matériel/Logiciel» est ensuite
complétée par un ensemble des
instructions permettant des tests et
des co-simulations."
Các h thigianthc–Giithiu
Ngô Khánh Hiu
49
S phát trinca các ng dng cah điukhin (19/27)
Vòng phát trin "Logiciel/Matériel en Co-design"
(2/5)
“Logiciel/Matériel en Co-design" thích hp
cho các ng dng mà  đó các yêu cu thit
k có th thay điliêntcvàyu t "time-to-
market" nh hng rt ln đn s thành
công cathit k.
“Logiciel/Matériel en Co-design" phát
trindatrênnn "communication
synchrone dirigée par événements".
S mô t v chc nng cah đcth hin
didng các "graphes orientés", gi là các
CFSMS (Co-design Finite State Machine).
"Un CFSM interprète un ensemble d’entrées en un ensemble de sorties avec un nombre fini
d‘états internes. Mais, contrairement à un FSM traditionnel, un CFSM ne change pas tous ses
états exactement en même temps. La communication entre des CFSMs est réalisée par des
événements unidirectionnels, non zéro et sans bornes de temps (asynchrone globalement)."


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status