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
lượt xem 114
download
SAPHIR là mô hình của một dây chuyền phân loại và lắp ráp tự động trong một nhà máy sản xuất, được lắp đặt tại phòng thí nghiệm CRePA của PFIEV. SAPHIR có 3 phần: mâm quay cân, băng chuyền, cánh tay rôbôt. Hệ thống cân (ảnh minh họa), được điều khiển bằng VxWorks, thực hiện phân loại và cấp chi tiết vào băng chuyền. Băng chuyền (điều khiển bằng PLC TSX Premium) sẽ vận chuyển các chi tiết đến cánh tay rôbôt. Giống như mâm – cân,cánh tay rôbôt cũng được điều khiển bằng VxWorks, nó sẽ thực hiện...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: 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
- 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. Phương pháp mạng Petri (PetriNets) là một công cụ cho phép phân tích trực tiếp và giám sát có hiệu quả một hệ thống sản xuất thông qua các đồ hình điều khiển. Lý thuyết về mạng Petri được C.A.Petri xây dựng vào đầu thập niên 60. Mạng Petri không những giúp cho việc phân tích hệ thống được thuận lợi mà còn tạo điều kiện trao đổi dễ dàng hơn giữa người thiết kế và người sử dụng. Hệ thống mâm – cân trong dây chuyền Saphir tại Chương trình Đào tạo Kỹ sư chất lượng cao Đà Nẵng hiện đang được điều khiển bằng hệ điều hành thời gian thực VxWorks rất phức tạp. Do số lượng các tín hiệu điều khiển, các điều kiện ràng buộc trong điều khiển rất lớn nên việc giám sát quá trình điều khiển cũng như việc gỡ rối chương trình gặp nhiều khó khăn. Trên cơ sở nghiên cứu hệ điều hành đa nhiệm thời gian thực VxWorks, nhiệm vụ đề tài đặt ra là xây dựng chương trình điều khiển và giám sát hệ mâm – quay của SAPHIR bằng mạng Petri. II. Tổng quan về đề tài SAPHIR là mô hình của một dây chuyền phân loại và lắp ráp tự động trong một nhà máy sản xuất, được lắp đặt tại phòng thí nghiệm CRePA của PFIEV. SAPHIR có 3 phần: mâm quay- 1
- cân, băng chuyền, cánh tay rôbôt. Hệ thống cân (ảnh minh họa), được điều khiển bằng VxWorks, thực hiện phân loại và cấp chi tiết vào băng chuyền. Băng chuyền (điều khiển bằng PLC TSX Premium) sẽ vận chuyển các chi tiết đến cánh tay rôbôt. Giống như mâm – cân, cánh tay rôbôt cũng được điều khiển bằng VxWorks, nó sẽ thực hiện việc lắp ráp các chi tiết thành sản phẩm hoàn chỉnh. Trong dây chuyền SAPHIR sử dụng 8 đầu vào số, 5 đầu ra số và 1 đầu vào analog. Toàn bộ các tín hiệu điều khiển, cũng như giá trị điện áp qui đổi của khối lượng đều được đưa vào PC thông qua card giao tiếp ax5020p, gắn trực tiếp trên mainboard của PC điều khiển. Để đảm bảo cân khối lượng chi tiết được chi tiết đượ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. Máy chủ Máy con Trình soạn thảo Shell Máy con mô phỏng Trình ứng dụng Trình duyệt Các project Gỡ rối VxWorks Target-Server Windview 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ó 2
- thể phản ứng kịp thời với những thay đổi ở bên ngoài tác động đến hệ thống. Đối với các hệ thống điều khiển thông thường, điều này được giải quyết bằng cách sử dụng ngắt. Tuy nhiên, ta thấy rằng việc xử lý các chương trình ngắt không phải đơn giản. Hơn nữa, số ngắt dành cho một hệ thống thông thường bao giờ cũng bị hạn chế. magasinDemo_GestionPlateau (70) magasinDemo_GestionVerin1 (100) semB_Demarrer_Plateau semB_Piece_a_Pousser_V1 semB_Piece_a_Pousser_V1 semB_Poste_Peser_Libre magasinDemo_GestionBalance (80) semB_Piece_a_Peser semB_Piece_a_Peser semB_Demarrer_Plateau magasinDemo_GestionVerin2 (90) semB_Petite_Piece_a_Pousser_V2 semB_Piece_a_Pousser_V2 semB_Grande_Piece_a_Pousser_V2 semB_Petite_Piece_a_Pousser_V2 semB_Piece_a_Pousser_V2 semB_Grande_Piece_a_Pousser_V2 semB_Poste_Peser_Libre Chú thích Tên của tác vụ (cấp ưu tiên) Thể hiện mối liên hệ giữa việc lấy Lấy cờ semTake ( ) 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 Trả cờ semGive ( ) semTake của cờ đó Để 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 3
- 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. _Để đảm bảo phản ứng kịp thời với các tác động bên ngoài, VxWorks cung cấp một hệ thống các cờ. Các tác vụ có quyền ưu tiên thấp hơn có thể giành được quyền thực hiện nếu nó lấy được cờ tương ứng. _Ngoài cấp ưu tiên và cờ, các tác vụ trong VxWorks còn có thể được phối hợp với nhau thông qua hàng đợi tin nhắn, hoặc qua signal. Đây là hai phương pháp ít phổ biến hơn để phối hợp tác vụ. Các tác vụ trong dây chuyền Saphir được phối hợp theo nhiều kĩ thuật khác nhau, trong đó việc sử dụng cờ để phối hợp là chủ yếu. Sự phối hợp các tác vụ điều khiển trong hệ thống cân của Saphir có thể được minh họa trong hình vẽ ở trên. 2.Xây dựng chương trình điều khiển bằng mạng Petri Có thể nhận thấy rằng, việc xây dựng được một Vị trí token chương trình điều khiển bằng VxWorks không Hoạt động phải là đơn giản. Như trong hệ thống mâm cân liên kết vị của dây chuyền Saphir, đối tượng điều khiển ở P1 trí đây là mâm quay, hai pittông và cân, chương ● action 1 trình điều khiển và cơ chế phối hợp các tác vụ T1 condition1 trong dây chuyền rất phức tạp. Do đó, sẽ rất khó Điều kiện T3 liên kết khăn cho người sử dụng khi muốn thay đổi hoặc action 2 chuyển tiếp điều khiển hệ thống theo một qui luật khác. Để P2 giải quyết vấn condition2 T2 đề này, người thiết kế đã chọn action 3 giải pháp ứng P3 Chuyển tiếp dụng mạng Petri để điều khiển dây chuyền. Mạng Petri là một công cụ đồ hình lý thuyết, một mạng Petri bao gồm các vị trí, các chuyển tiếp, các cung nối và các token. Hình bên thể hiện một mạng Petri đơn giả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. 4
- Trong dây chuyền Saphir, mạng Petri được mô tả bằng file *.XML, file XML này phải được viết theo đúng cú pháp do người thiết kế đặt ra. Mỗi vị trí, hay chuyển tiếp phải được khai báo trong một cặp thẻ lệnh. Ví dụ: để khai báo vị trí, toàn bộ các thuộc tính của vị trí phải được đặt trong cặp , . Để VxWorks có thể hiểu được mạng Petri này, người thiết kế phải viết chương trình đọc file XML, xử lý các yêu cầu và các điều kiện liên kết. Bên cạnh đó, người thiết kế cũng phải xây dựng thêm các tác vụ điều khiển (trong mã nguồn của chương trình, tác vụ này bắt đầu bằng chuỗi ‘RdP’) và tạo thêm các cờ để thực hiện phối hợp với mô hình mạng Petri do người dùng thiết kế. Người dùng chỉ được phép sử dụng các yêu cầu và các điều kiện đã được định sẵn. Trên cơ sở những điều đã nghiên cứu được, đề tài đã xây dựng được mạng Petri (hình bên) điều khiển hệ thống cân với qui luật tương tự như qui luật điều khiển ở chế độ tự động. Khi đã thể hiện được mạng Petri này bằng XML; file XML sẽ được tải xuống máy con bằng một phần mềm truyền file theo phương thức FTP (ở đây sử dụng phần mềm FileZilla). Khi điều khiển bằng mạng Petri, SAPHIR sẽ yêu cầu người dùng nhập vào tên file XML cần thực thi. Toàn bộ file XML đó sẽ được đọc, các yêu cầu và các điều kiện sẽ được chuyển thành các cờ tương ứng. Ví dụ: yêu cầu Req_PositionerPiece (thực hiện định vị chi tiết) sẽ được chuyển thành cờ semB_ Req_ PositionerPiece. Chương trình điều khiển thực hiện việc định vị chi tiết sẽ lấy cờ này để thực thi. P1 ● Req_PositionerPiece T1 CR_PositionerPiece P2 Req_SortirVerin1 P1 ● CR_SortirVerin1 i != 0 T2 T1 T4 CR_IdentifierPieces; VEi=600 i=0 Req_SortirVerin2 i >= 2 T6 P7 Req_ArreterPlateau i
- 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 [1] Du Gracef aux réseax de Petri, René David, Hassane Alla [2] Tornado User Guide [3] VxWorks5.5 programer guide [4] Edifac software User Manual 6
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập trình hệ thống
17 p | 317 | 121
-
ĐỀ TAI: Ứng dụng giao thức ICMP để xây dựng chương trình Scan IP
28 p | 402 | 86
-
Tài liệu Hướng dẫn giảng dạy kỹ thuật viên về Lập trình ứng dụng Web với ASP.NET
175 p | 312 | 86
-
Cấu trúc máy tính chương 5 : Đường đi dữ liệu - điều khiển
24 p | 356 | 51
-
CHƯƠNG 6: MATLAB VÀ ĐIỀU KHIỂN TỰ ĐỘNG
21 p | 211 | 45
-
Xây dựng mạng máy tính và tự học thiết kế mạng: Phần 1
187 p | 137 | 27
-
Chương 3: Điều khiển Wed
27 p | 111 | 23
-
Bài giảng Mạng công nghiệp và SCADA - ĐH Quy Nhơn
112 p | 49 | 14
-
Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin - Trình độ cao đẳng) – CĐ Kỹ thuật Công nghệ BR–VT
232 p | 58 | 10
-
Giáo trình hướng dẫn giảng dạy chương trình kỹ thuật viên - Học phần 3: Lập trình ứng dụng web với ASP.NET
175 p | 43 | 9
-
Giáo trình Lắp ráp và cài đặt máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 2 - Trường Cao đẳng Cơ điện Xây dựng Việt Xô
74 p | 23 | 7
-
Triển khai hệ điều hành nhúng thời gian thực Freertos trên vi điều khiển ARM AT91SAM7S256
6 p | 118 | 7
-
Giáo trình Lắp ráp và cài đặt máy tính (Nghề: Tin học văn phòng - Trung cấp): Phần 2 - Trường Cao đẳng Cơ điện Xây dựng Việt Xô
70 p | 21 | 6
-
Visual Basic 6 và kỹ thuật lập trình cơ sở dữ liệu: Phần 1
338 p | 16 | 6
-
Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin - Trình độ trung cấp) – CĐ Kỹ thuật Công nghệ BR–VT
226 p | 46 | 5
-
Bài giảng Lập trình hướng đối tượng – Bài 02: Cơ bản về Java và UML
161 p | 37 | 5
-
Bài giảng PHP và MySQL - Chương 3: Các cấu trúc điều khiển, Vòng lặp, Hàm tự tạo, Mảng
45 p | 30 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn