1 Xây dựng chương trình điều khiển hệ thống
cân trong dây chuyền Saphir bằng mạng Petri
Sinh viên: Trương Quốc Dũng, Hồ Văn Quảng Phú - CBHD: TS Trần Đình Khôi Quốc – Dự án đào
tạo kĩ sư chất lượng cao PFIEV
Tóm tắt: Hệ thống mâm cân trên dây chuyền Saphir được điều khiển bằng hệ điều hành thời gian
thực với sự hỗ trợ của phần mềm Tornado 2.2. Đề tài tập trung nghiên cứu vào cơ chế điều khiển, phối
h
ợp tác vụ của VxWorks và ứng dụng của nó trên hệ thống Saphir. Để tạo điều kiện cho người sử dụng
có thể làm chủ được hệ thống, có thể giám sát và điều khiển được dễ dàng hơn, những người thiết kế
dây chuyền Saphir đã đưa vào đó cơ chế điều khiển bằng mạng Petri trên nền VxWorks. Đây là một
công cụ đồ hình lý thuyết cho phép phân tích, giám sát h
ệ thống rất hiệu quả. Dựa trên nền mạng Petri
sẵn có đó, đề tài sẽ tiến hành xây dựng chương trình điều khiển hệ thống cân trong dây chuyền Saphir
bằng mạng Petri.
Abstract: The tray- balance system of Saphir Demo is controled by the real-time operating system
VxWorks, using Tornado 2.2. This theme focus on researching about the mechanism of controling
system and how to co-ordinate the intertask by VxWorks. Then, research about VxWorks in Saphir
Demo. Because VxWorks is fairly complex, so, the designer of Saphir Demo applied PetriNets on
Saphir, to help user can be the master of Saphir system. PetriNets is a graph theoretic tool, that is very
useful for modeling and analyzing system. Based on the ready foundation of PetriNets in Saphir, this
theme will construct a program to control the tray-balance system of Saphir Demo by PetriNets.
I. Mở đầu
Nếu như trước đây, các hệ thống thường được thiết kế theo kiểu tuần tự, nối tiếp thì các hệ
thống sản xuất hiện đại ngày nay đòi hỏi tính đồng thời, tương tác lẫn nhau, nghĩa là nhiều tác
vụ, nhiều hệ thống cùng điều khiển, cùng chia sẻ tài nguyên… Điều này đặt ra các yêu cầu về
phân tích hệ thống cả về định tính lẫn định lượng. Do đó, đòi hỏi phải có một mô hình hoàn
thiện và mạnh mẽ để hỗ trợ cho việc nghiên cứu và phân tích hệ thống.
được chính xác; trước mỗi lần cân cần có 1s để cân xác lập trạng
thái ban đầu; khi có chi tiết được cân, cần 0.5s để cân ổn định
giá trị cân được. Như vậy toàn bộ quá trình cân mất 1.5s.
Chương trình điều khiển sẽ lấy giá trị này và tiến hành phân loại.
Từ những quan sát nêu trên, với mục tiêu đặt ra nghiên cứu hệ thống điều khiển và xây dựng
chương trình điều khiển có khả năng giám sát sự hoạt động của hệ thống, đề tài đặt ra các
nhiệm vụ cần giải quyết: Nghiên cứu về hệ điều hành thời gian thực VxWorks và ứng dụng
của nó trong hệ thống cân của dây chuyền Saphir; xây dựng mạng Petri để giám sát điều khiển
hệ thống cân trên nền VxWorks sẵn có
III. Nội dung chính của đề tài
1.Cơ chế điều khiển của VxWorks và ứng dụng của nó trên hệ thống cân SAPHIR
VxWorks là một hệ điều hành thời gian thực với cấu trúc tổng quát gồm hai cấp độ: hệ thống
chủ và hệ thống đích. Cấp độ đầu tiên, cấp độ chủ, cung cấp cho chúng ta các công cụ để xây
dựng nên các trình ứng dụng (bao gồm các dự án, các trình soạn thảo, các máy con giả lập, các
bộ gỡ rối, phân tích mã lệnh và mô phỏng). Cấp độ thứ hai cung cấp một cấu trúc cơ sở, làm
nền cho các hệ thống khai thác VxWorks cũng như các tác vụ thời gian thực phát triển bởi
người sử dụng. Việc giao tiếp giữa máy con và máy chủ được thực hiện thông qua một trạm
đích nằm trên máy chủ gọi là Target-Server.
Như đã nói ở trên, VxWorks là một hệ điều hành đa nhiệm thời gian thực. Một trong những
yêu cầu quan trọng của hệ thống thời gian thực là thời gian đáp ứng, làm sao để hệ thống có
Trình duyệt
semB_Piece_a_Peser
semB_Demarrer_Plateau
semB_Petite_Piece_a_Pousser_V2
semB_Grande_Piece_a_Pousser_V2
semB_Piece_a_Pousser_V2
magasinDemo_GestionVerin2 (90)
semB_Piece_a_Pousser_V2
semB_Petite_Piece_a_Pousser_V2
semB_Grande_Piece_a_Pousser_V2
semB_Poste_Peser_Libre
Tên của tác vụ (cấp ưu tiên)
Lấy cờ semTake ( )
Trả cờ semGive ( )
Thể hiện mối liên hệ giữa việc lấy
cờ và trả cờ của cùng một cờ.
Đường mũi tên này sẽ bắt đầu từ
hàm semGive và kết thúc tại hàm
semTake của cờ đó
Chú thích
Để giải quyết vấn đề này, VxWorks đã đưa ra các cơ chế sau:
_Các tác vụ trong VxWorks hoàn toàn độc lập với nhau. Mỗi tác vụ được đặt một cấp độ ưu
tiên khác nhau. Các tác vụ sẽ chiếm quyền ưu tiên thực hiện trên CPU dựa trên cấp ưu tiên, tác
vụ nào có quyền ưu tiên cao hơn sẽ được thực hiện trước. Chỉ khi nào tác vụ có cấp ưu tiên
4 cao thực hiện xong thì các tác vụ thấp hơn mới được thực hiện. Các tác vụ có cùng cấp ưu tiên
sẽ được lập kế hoạch thực hiện một cách luân phiên.
Các token sẽ được chuyển từ vị trí này sang vị trí khác thông
qua quá trình thông của các chuyển tiếp. Các chuyển tiếp
thường được liên kết với một điều kiện bên ngoài, các vị trí
thì được liên kết với một hoạt động cụ thể của hệ. Vị trí nào
chứa token thì hoạt động liên kết với vị trí đó mới được thực
hiện. Và token chỉ có thể chuyển từ vị trí này sang vị trí khác
khi điều kiện liên kết với chuyển tiếp ở giữa chúng được thỏa
mãn. Với ví dụ như hình bên, vị trí P1 đang có token, nên tại
đây action1 được thực hiện. Khi điều kiện condition1 đúng thì
chuyển tiếp T1 thông, token được chuyển từ vị trí P1 sang vị
trí P2, và lúc này action2 được thực hiện.
●
Vị trí
token
Chuyển tiếp
action 1
P1
P2
P3
action 2
action 3
condition1
condition2
T1
T2
T3
Điều kiện
liên kết
chuyển tiếp
Hoạt động
IV. Đánh giá kết quả
Chúng tôi đã thực hiện tìm hiểu cơ chế điều khiển của VxWorks, nắm được một số kĩ thuật cơ
bản để tiến hành xây dựng một ứng dụng cụ thể điều khiển dựa trên nền VxWorks, mà cụ thể
là th
ực hiện điều khiển card FASTLAB (xuất xung độc lập, xuất, nhận dữ liệu analog).
Đồng thời, dựa trên nền có sẵn của mạng Petri, chúng tôi đã tiến hành xây dựng cấu trúc mạng
Petri để điều khiển cho toàn bộ hệ thống mâm –cân của dây chuyền Saphir.
●
T1
P1
P2
T3
P3
P4
Req_PositionerPiece
T2
Req_SortirVerin1
CR_SortirVerin1
Req_RentrerVerin1
CR_RentrerVerin1
Req_IdentifierPieces
CR_DemarrerPlateau
Req_DemarrerPlateau
Req_ArreterPlateau
i = 0
P4
P5
P6
P7
T4
T6
T5
T7
Một số vi dụ về mạng Petri
trên mô hình Saphir
6 Với cách thức xây dựng mạng Petri như vậy, người dùng hoàn toàn có thể giám sát toàn bộ
hoạt động của dây chuyền Saphir. Nếu muốn thay đổi qui luật điều khiển của dây chuyền chỉ
đơn giản là thay đổi vị trí của các vị trí và các chuyển tiếp.
Như vậy ta có thể thấy rằng, mạng Petri không chỉ là một công cụ phân tích hệ thống mà việc
ứng dụng mạng Petri vào điề
u khiển cũng đem lại nhiều tiện lợi cho người sử dụng.
V. Kết luận
Với những gì đã đạt được, chúng tôi thiết nghĩ, đó mới chỉ là những ứng dụng cơ bản nhất,
chỉ khai thác được một phần rất nhỏ khả năng của hai công cụ VxWorks và mạng Petri. Đây là
hai công cụ còn rất mới ở Việt Nam, trong khi đó phạm vi ứng dụng của hai công cụ này là rất
rộng lớn.
Tài liệu tham khảo