Mô hình hóa các hệ thống DEDS bằng mạng Petri 1.5.. - Công cụ hình học graph và toán học để mô hình hóa các hệ thống với các sự kiện gián đoạn DEDS Discrete Event Dynamic Systems - Ứng
Trang 1MÔ HÌNH HÓA
(gián đoạn theo sự kiện)
Trang 2Các hệ thống gián đoạn theo sự kiện
- Bài toán phân bố xác xuất
- Bài toán đường đi ngắn nhất
- Chuỗi Markov
- MOORE, PERT
- Bài toán mô hình hóa DDES
- Bài toán điều khiển
- Mạng Petri, Statefow
- Grafcet
Trang 3NỘI DUNG MÔN HỌC
• Các qui tắc biến đổi
• Lập trình điều khiển bằng Grafcet cho PLC
Chương 3: STATEFLOW
• Các đối tượng trong state flow
• Mô hình hóa hệ thống DEDS bằng stateflow
• Liên kết giữa stateflow và Simulink
Trang 4Chương 1:Mạng Petri
Chương 1: Mạng Petri
1.1 Các khái niệm cơ bản 1.2 Mạng Petri đánh dấu 1.3 Phân tích mạng Petri (cây trạng thái, rút gọn, phương pháp toán)
1.4 Mô hình hóa các hệ thống DEDS bằng mạng Petri 1.5 Mạng Petri và ngôn ngữ PNML
Trang 5Chương 1:Mạng Petri
- Do Carl Adam Petri giới thiệu lần đầu tiên vào năm 1962
trong luận án tiến sỹ tại đại học Darmstadt (Đức).
- Công cụ hình học (graph) và toán học để mô hình hóa các
hệ thống với các sự kiện gián đoạn (DEDS Discrete Event
Dynamic Systems)
- Ứng dụng: Thiết kế, phân tích, giám sát các hệ thống điều
khiển, các mạng trao đổi thông tin, hệ thống sản xuất
1.Các khái niệm cơ bản
Trang 6Chương 1:Mạng Petri
Mạng Petri N (PN) được biểu diễn gồm 4 thành
phần: N = <P, T, Pre, Post>
P là tập hợp các vị trí (place)
T là tập hợp các chuyển tiếp (Transition)
Pre (Input): ma trận trọng lượng các cung từ các vị trí đến chuyển tiếp
Post (Output): ma trận trọng lượng các cung từ các chuyển tiếp đến vị trí
C = Post – Pre: ma trận tiến (incidence matrix)
1 Các khái niệm cơ bản
Trang 7Chương 1:Mạng Petri
1.3 Qui ước
- Cung có trọng lượng bằng 1 thì không ghi trọng lượng cung
- Một PN có trọng lượng tất cả các cung đều bằng 1 -> PN thường (ordinary)
- Một vị trí vừa là nguồn, vừa là đích của một chuyển tiếp -> tự kín (self loop)
- Một PN không có self loop -> thuần nhất (pure net)
1 Các khái niệm cơ bản
Trang 90 0 1 0 0 0
0 1 0 1 0 0
0 0 2 0 0 0
0 0 0 0 1 0
0 0 0 0 0 1
Pr
6 5 4 3 2 1
6 5
4 3
2 1
t t
t t
0 0 0 1 0 0
1 0 0 0 0 1
0 0 0 0 1 0
0 0 0 0 0 2
0 0 1 0 0 0
6 5 4 3 2 1
6 5
4 3
2 1
p p p p p p
t t
t t
t t
Post
Trang 10Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
2.1 Mục đích
- Biểu diễn sự thay đổi trạng thái của mạng
Biểu diễn luật điều khiển, trao đổi thông tin
- Đánh dấu (marking) mạng Petri bằng các token
p1 p2 p3
p4
p5
Trang 12Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
2.4 Luật chuyển đổi trạng thái
QT1) Một chuyển tiếp t i được gọi là tích cực (enable) khi tất cả các vị trí vào có
chứa số token tối thiểu bằng trọng lượng của cung nối giữa vị trí tương ứng với
chuyển tiếp đang xét
QT2) Một chuyển tiếp t i tích cực sẽ thông (firing) Quá trình thông chuyển tiếp lấy
số token đúng bằng trọng lượng cung của các vị trí vào và thêm vào các vị trí ra
số token đúng bằng trọng lượng của cung nối tương ứng
t
2 3
2
t
2 3
2
Trang 13Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
2 2
Trang 14Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
QT3) Tại mỗi thời điểm chỉ có một và chỉ một chuyển tiếp được thông.
2 2
Trang 15- Khi mô hình hóa các bài toán điều khiển, các chuyển tiếp còn gắn
với các điều kiện ngoài Lúc đó, một chuyển tiếp sẽ thông khi:
• Tích cực (enable)
• Các điều kiện ngoài thỏa mãn
Trang 16Chương 1:Mạng Petri
Ví dụ: Xét quá trình phát triển của các mạng Petri sau
Nhận xét những tính chất khác biệt của các sơ đồ
Trang 17Chương 1:Mạng Petri
Trang 18Leurs différences sont :
– la présence ou l’absence d’interblocages (l’existence d’une exécution in nie) – l’existence ou non de concurrence (plusieurs transitions qui s’excluent
mutuellement)
– l’explosion du nombre de jetons
Trang 19Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
2.5 Biểu thức toán học của marking
Gọi Pre (t i ), Post (t i ), C (t i ): các vectơ trọng lượng các cung cột
liên kết với chuyển tiếp t i
(1) Một chuyển tiếp t i được tích cực tại marking Mk nếu Mk ≥ Pre(ti)
(2) Ký hiệu M 1 [t i > M 2: hệ thống chuyển từ marking M1 sang marking M2 khi
chuyển tiếp t i thông Biểu thức toán học của M2:
p1 p2 p3
p4
p5
Trang 20Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
t 1 thông
2 2
Trang 21Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
t 2 thông
2 2
p1 p2 p3
5
Trang 22k k
t C M
M
e: vectơ đặc tính chuyển tiếp
1
C M
M
k k
ti
TỔNG QUÁT
Trang 23Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Gọi Mk là trạng thái đạt được từ trạng thái M0 sau chuỗi các chuyển
tiếp = titj… Khi đó có thế viết:
Phương trình cơ bản
mạng Petri
0
, 0
(t): số lần chuyển tiếp t thông
Trang 25010100
002000
000010
000001
000100
100001
000010
000002
001000
6 5 4 3 2 1
6 5 4 3 2 1
p p p p p p
t t t t t t
0000
0011
00
110
10
1
0020
10
000012
001001
6 5 4 3 2 1
6 5 4 3 2 1
p p p p p p
t t t t t t
C
C M
Trang 26Chương 1:Mạng Petri
Ví dụ: Cho mô hình mạng Petri sau
1.Xác định ma trận tiến (incidence) ?
2.Giả sử một mạng Petri đánh dấu ban đầu là M0 = [1,0,1,1,0] và một
chuỗi các chuyển tiếp σ = <t2, t1, t3, t3> Xác định mạng Petri sau khi thực hiện chuỗi chuyển tiếp trên xuất phát từ M0
Trang 27Chương 1:Mạng Petri
i Tính đến được (Reachability)
Một marking Mi được gọi là đến được từ marking ban đầu M0 nếu tồn tại một chuỗi các phép thông chuyển tiếp để chuyển M0 -> Mi
Hệ thống có thể đến được marking Mi từ marking M0?
Một marking Mi được gọi là đến được tức thời từ marking ban đầu M0 nếu có thể chuyển M0 -> Mi
bằng một phép thông chuyển tiếp duy nhất
Ký hiệu
R(M 0 ): tập hợp các marking có thể đến được từ M0L(M 0 ): tập hợp các chuỗi chuyển tiếp thông từ M0
2 Mạng Petri đánh dấu
2.6 Các tính chất
Trang 29Chương 1:Mạng Petri
Bài tập: Tìm R(M0), L(M0) với M0 = [0,3,0]T
Cây trạng thái
2 Mạng Petri đánh dấu
Trang 30Chương 1:Mạng Petri
ii Tính bao (boundedness)
Một mạng Petri được gọi là k-bao (k-bounded) nếu số token tại mọi vị trí
không vượt quá số k trong quá trình hoạt động
Một mạng Petri được gọi là an toàn (safe) nếu k = 1
Ví dụ: Xác định tính bao của mạng Petri sau
Ứng dụng: kiểm tra nguồn tài nguyên bị tràn trong quá trình làm việc
2 Mạng Petri đánh dấu
Trang 31Chương 1:Mạng Petri
Ví dụ: Xác định tính bao của mạng Petri sau
Trang 32Chương 1:Mạng Petri
Một mạng Petri được gọi là bảo toàn (conservativeness) nếu với mỗi marking trong
R(M0) luôn tồn tại vectơ F = [f1,f2,…,fn] (fi số thực) sao cho fim(pi) là hằng số
2 Mạng Petri đánh dấu
Trang 33Chương 1:Mạng Petri
Một mạng Petri được gọi là bảo toàn nghiêm ngặt (strictly conservativeness)
nếu tổng số token là hằng số
Ví dụ: Xác định tính bảo toàn của mạng Petri sau
2 Mạng Petri đánh dấu
Trang 34Chương 1:Mạng Petri
iv Tính sống (live ness )
Một chuyển tiếp ti được gọi là có khả năng sống (quasi-vivante) nếu ti được
thông 1 lần trong chuỗi L(M0)
Chuyển tiếp không sống gọi là chuyển tiếp chết (deadlock)
Một mạng Petri được gọi là sống nếu tất cả các chuyển tiếp đều sống
2 Mạng Petri đánh dấu
Một chuyển tiếp ti được gọi là sống (vivante) nếu và chỉ nếu luôn tìm được chuỗi
chuyển tiếp chứa ti
Trang 35Chương 1:Mạng Petri
iv Tính sống (live ness )
2 Mạng Petri đánh dấu
Trang 36Chương 1:Mạng Petri
iv Tính sống (live ness )
2 Mạng Petri đánh dấu
Trang 37Chương 1:Mạng Petri
Ví dụ: Xác định tính sống của mạng Petri sau
2 Mạng Petri đánh dấu
Trang 39Chương 1:Mạng Petri
v Tính hồi phục (reversibility)
Một mạng Petri được gọi là có tính phục hồi nếu hệ thống có khả năng trở về
trạng thái ban đầu M0 từ bất kỳ trạng thái (marking) nào trong R(M0)
2 Mạng Petri đánh dấu
Ví dụ: Xác định tính hồi phục của 2 mạng Petri sau
Trang 40Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 41Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 42Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 43Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 44Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 45Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
Ví dụ: Xét các tính chất của mạng Petri sau
Trang 46Chương 1:Mạng Petri
2 Mạng Petri đánh dấu
2.7 Phân loại mạng Petri
Mạng Petri thường (OPN)
trọng lượng các cung đều bằng 1
i Theo trọng lượng cung
Trang 47ii Theo khả năng chứa token
Mạng Petri có giới hạn
khả năng chứa token của các vị trí bị giới hạn
Mạng Petri không giới hạn
khả năng chứa token của các vị trí
không giới hạn
Trang 48Chương 1:Mạng Petri
3 Phân tích mạng Petri
3.1 Xây dựng cây trạng thái.
Khối lượng tính toán lớn
Trang 49Chương 1:Mạng Petri
3.2 Các quy tắc rút gọn mạng Petri
a) Gộp các vị trí true
b) Gộp các chuyển tiếp
true
true
true
d) Loại các vị trí giống nhau
c) Loại các chuyển tiếp giống nhau
e) Loại vị trí tự kín
f) Loại chuyển tiếp tự kín
6 Nguy ên tắc này đảm bảo các tính chất: sống; bảo toàn; bao
3 Phân tích mạng Petri
Trang 52Chương 1:Mạng Petri
3.3 Các phương trình bất biến về vị trí
C M
M 0
• Phương trình cơ bản mạng Petri
: số lần chuyển tiếp t thông
Trang 53) ( )
(
Phương trình bất biến của các vị trí
Từ (3), nếu:
- Tất cả các thành phần vi là số nguyên không âm
- Mỗi vị trí xuất hiện ít nhất 1 lần trong các phương trình bất biến
Ta có
0 1
( ) ( )
p
i i
3 Phân tích mạng Petri
Trang 5411
10
000
00110
00
100010
1
10
00110
0000011
7 6 5 4 3 2 1
Ví dụ: phân tích mạng Petri sau
3 Phân tích mạng Petri
Trang 55Chương 1:Mạng Petri
1 ) ( ) ( ) (
1 ) ( ) ( ) (
1 ) ( ) ( ) (
7 6
3 0
3 3
6 5
4 0
2 2
3 2
1 0
1 1
m P
m M
V M V
P m P
m P
m M
V M V
P m P
m P
m M
V M V
T T
T T
T T
Có nhiều nghiệm thỏa mãn phương trình CTX = 0 Trong đó có:
T T
V V V
1100100
0111000
0000111
3 2 1
Kết luận:
- Mạng Petri bao và bao với k = 1.
- P1, P2, P3 là 3 trạng thái loại trừ lẫn nhau vì khi m(P1) = 1 thì m(P2)=m(P3) = 0 Kết luận tương tự cho các phương trình bất biến khác.
- P3 và P6 bảo đảm không tích cực đồng thời.
Không kiểm tra được tất cả các tính chất !
3 Phân tích mạng Petri
Trang 56Chương 1:Mạng Petri
3 Phân tích mạng Petri
3.4 Các phương trình bất biến về chuyển tiếp
Xét chuỗi chuyển tiếp: = cd
Mcd = M0 + C = M0 Tổng quát:
Mk = M0 + C = M0
Trang 57Start of execution
End of execution
Task ended
Executing
A
Executing
B (instant)
Trang 58Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Task waiting
Start of execution
End of execution
Task ended
Trang 59Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Ví dụ (Réseau de Petri – Pierre LADET)
-Ấn nút M và xe đang ở A:
xe chay về phía B (D)
- Chạm B: chạy về A (G)
- Chạm A: chạy về B
Trang 60Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4.2 Các phép biến đổi AND, OR
Hội tụ AND
p4t
Đồng bộ công việc
Phân kỳ AND
Trang 62Chương 1:Mạng Petri
Ví dụ: Mô hình hóa bằng mạng Petri các công việc sau
1 Một chương trình test : nếu điều kiện C xảy ra thì [thực thi C], nếu
không thì [thực thi notC]
2 Một vòng lặp: i = 1:N, thực hiện tác vụ [thực thi]
3 Một vòng lặp: khi điều kiện C còn đúng, thực hiện tác vụ [thực thi]
4 Một vòng lặp: lặp lại tác vụ [thực thi] cho đến khi điều kiện C xảy ra
Trang 63Chương 1:Mạng Petri
Trang 654 Mô hình hóa các hệ thống DEDS bằng PN
A2 và B2 thực hiện đồng thời
khi A1 và B1 hoàn thành
4.3 Cơ chế đợi (mutual synchronisation)
Trang 66Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4.4 Cơ chế hộp thư (mail box)
B1 khi hoàn thành sẽ tạo « tin
nhắn » cho phép A2 thực hiện
Trang 67Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4.5 Cơ chế loại trừ dùng semaphore
Hai tác vụ KHÔNG thực hiện đồng thời
Trang 69Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Ví dụ (Pierre LADET)
- Yêu cầu điều khiển giống bài tập
trên, tuy nhiên khi xe chạm B thì
quay về trái ngay chứ không cần
đồng bộ tại B.
- Chỉ đồng bộ tại A.
Trang 70Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Ví dụ: chia sẻ tài nguyên (Pierre LADET)
Trang 71Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Trang 72Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4.6 Quy trình mô hình hóa hệ thống DEDS bằng mạng Petri
• Khai triển các chuyển tiếp bằng các
đoạn mạng Petri con (bắt đầu và kết thúc
Trang 74Chương 1:Mạng Petri
Two machines need to interact with a database
The machines can read, write or stay idle
Model the situation using Petri nets ensuring that the machines cannot
write at the same time
Trang 75Chương 1:Mạng Petri
Trang 76Create a Petri net illustrating a vending machine where first we have to choose between the two possible products ( little choc and big choc) and then pay for it! Be the price of little choc 10 and the price of big choc 20 coins; and let accept the machine precisely 10 coins at a time!
Trang 77Chương 1:Mạng Petri
Trang 79Cho hệ thống gồm 1 PC, 1 automate và 1 Robot kết nối qua mạng như sau
PC giám sát thực hiện các thuật toán điều khiển cho phép xác định N hành động tiếp theo của Robot (giá trị N cố định) Automate nhận qua mạng N hành động tiếp theo đó của Robot và gởi từng hành động đến Robot để thực thi.
Khi Robot không thực thi 1 hành động nào (hỏng) nó sẽ dự báo cho automate, để dự báo đến PC giám sát, để quyết định dừng hệ thống Khi Robot kết thúc 1 hành động,
nó sẽ báo về automate để gởi hành động tiếp theo.
Khi automate gởi hành động cuối cùng đến Robot, nó sẽ báo về PC giám sát và yêu cầu N hành động tiếp theo Automate và PC giám sát điều khiển sự trao đổi thông tin qua mạng hoạt động tốt.
Ở trạng thái ban đầu, hệ thống ở trạng thái chờ Để dừng hệ thống, một tin nhắn được gởi đến từ PC giám sát để thay thế N hành động tiếp theo Khi automate nhận tin nhắn này thì sẽ gởi tín hiệu chuyển Robot sang trạng thái chờ sau khi kết thúc chuỗi N hành động đang thực thi.
Xây dựng mạng Petri diễn tả hoạt động của các phần tử : Robot, Automate, PC giám sát
Trang 80Chương 1:Mạng Petri
Trang 824 Mô hình hóa các hệ thống DEDS bằng PN
1 Stock giữa 1 nhà sản xuất và 1 nhà tiêu dùng
Trang 84Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
2 Stock giữa n nhà sản xuất và m nhà tiêu dùng
P1
Pn
C1
CmStock không giới hạn
Trang 85Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
3 Stock kiểu FIFO
Trang 86Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4 Stock kiểu FIFO dùng chung
C2
Trang 87Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Một nhà máy sản xuất 3 loại sản phẩm được mô tả như sau:
G1: M1 -> M2 G2: M3 -> M2 G3: M3 -> M4
Hãy mô hình hóa bằng mạng Petri trong 2 trường hợp:
a) Các stock không giới hạnb) Các stock có giới hạn bằng N1 và N2
Bài tập
Trang 88Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Stock S1 không giới hạn
M1 free
Trang 89Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
S1 free M1 free
S2 free
Stock S1 có giới hạn
Trang 90Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
4.8 Mô hình hóa các tác động có thời gian trễ
Trang 91Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
* Đánh giá thời gian của mạng Petri (t-TPN và p-TPN)
-> Thời gian trễ trung bình của vòng kín thứ i
i i
i
D N
Di: Tổng thời gian trễ của vòng thứ i
Trang 92Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Ví dụ:
Biết:
- Robot 1 có nhiệm vụ nạp (load) và lấy chi tiết (unload) ra khỏi máy 1
- Robot 2 có nhiệm vụ nạp (load) và lấy chi tiết (unload) ra khỏi máy 2
- Băng chuyền trên có khả năng chứa tối đa 2 pallet mang chi tiết gia công
- Băng chuyền dưới có khả năng chứa tối đa 3 pallet rỗng
Trang 93Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Mô hình hóa hoạt động của dây chuyền bằng mạng Petri
Trang 94- Tăng khả năng chứa pallet rỗng trên băng chuyền dưới ?
- Tăng khả năng mang pallet chứa chi tiết gia công ?
- Tăng 2 máy M2/R2 ?
Trang 95Chương 1:Mạng Petri
4 Mô hình hóa các hệ thống DEDS bằng PN
Mâm quay chứa thành phẩm
A1 : các chi tiết IIa, IIb, IIc A2 : các chi tiết Ia, Ib, III
Mô hình SAPHIR