Hệ điều khiển nhúng với Petri net

Mô hình hóa là phương pháp xây dựng mô hình toán học của hệ thống bằng cách phân tích hệ thống thành các khối chức năng, trong đó mô hình toán học của các khối chức năng đã biết hoặc có thể rút ra được dựa vào các quy luật hóa lý. Mô hình hệ thống được xây dựng dựa trên cơ sở liên kết các khối chức năng. Trên cơ sở mô hình hóa có thể kiểm tra, đánh giá kết quả xem hệ thống có phù hợp với yêu cầu hay không. Nên mô hình hóa hệ thống giúp đánh giá tính thực tiễn của các công việc định làm, từ đó đưa ra phương án lựa chọn tốt nhất dành cho hệ thống. Để mô hình hóa hệ thống có thể sử dụng rất nhiều hướng khác nhau như: hướng cấu trúc, hướng dữ liệu, hướng đối tượng, Petri Net (lưới Petri Net).v.v. Trong đó, Petri Net là ngôn ngữ mô hình hóa dùng để đặc tả các hệ thống phân tán rời rạc. Petri Net được phát minh vào năm 1962 bởi Carl Adam Petri nhằm mục đích mô tả các quá trình hóa học. Ngày nay, Petri Net đã được phát triển rất mạnh mẽ, đã được ứng dụng rất rộng rãi trong rất nhiều lĩnh vực khác nhau như: sinh học, hóa học, môi trường, kỹ thuật, truyền thông, điều khiển, hệ thống sản xuất, robot [1],[2].v.v. Trong nội dung bài báo này chúng tôi sẽ giới thiệu Petri Net cơ bản và sử dụng nó để mô hình hóa các hệ điều khiển nhúng cụ thể là hệ thống nhà thông minh.

pdf10 trang | Chia sẻ: tranhoai21 | Lượt xem: 1292 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Hệ điều khiển nhúng với Petri net, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Hệ điều khiển nhúng với PETRI NET I. Mở đầu. Mô hình hóa là phương pháp xây dựng mô hình toán học của hệ thống bằng cách phân tích hệ thống thành các khối chức năng, trong đó mô hình toán học của các khối chức năng đã biết hoặc có thể rút ra được dựa vào các quy luật hóa lý. Mô hình hệ thống được xây dựng dựa trên cơ sở liên kết các khối chức năng. Trên cơ sở mô hình hóa có thể kiểm tra, đánh giá kết quả xem hệ thống có phù hợp với yêu cầu hay không. Nên mô hình hóa hệ thống giúp đánh giá tính thực tiễn của các công việc định làm, từ đó đưa ra phương án lựa chọn tốt nhất dành cho hệ thống. Để mô hình hóa hệ thống có thể sử dụng rất nhiều hướng khác nhau như: hướng cấu trúc, hướng dữ liệu, hướng đối tượng, Petri Net (lưới Petri Net)..v.v. Trong đó, Petri Net là ngôn ngữ mô hình hóa dùng để đặc tả các hệ thống phân tán rời rạc. Petri Net được phát minh vào năm 1962 bởi Carl Adam Petri nhằm mục đích mô tả các quá trình hóa học. Ngày nay, Petri Net đã được phát triển rất mạnh mẽ, đã được ứng dụng rất rộng rãi trong rất nhiều lĩnh vực khác nhau như: sinh học, hóa học, môi trường, kỹ thuật, truyền thông, điều khiển, hệ thống sản xuất, robot [1],[2]..v.v.. Trong nội dung bài báo này chúng tôi sẽ giới thiệu Petri Net cơ bản và sử dụng nó để mô hình hóa các hệ điều khiển nhúng cụ thể là hệ thống nhà thông minh. II. Petri Net Petri Net còn được gọi là Place/Transitions Networks (mạng vị trí/chuyển tiếp) và được hiển thị bằng đồ thị có hướng gồm có 2 loại node: * Transition (chuyển tiếp) có dạng hình chữ nhật hoặc hình vuông - biểu diễn các sự kiện rời rạc có thể xảy ra. * Place (vị trí) có dạng hình tròn - biểu diễn trạng thái các điều kiện. Ví dụ minh họa ở Hình 1, Petri Net có 4 place, 2 transition. Các place và transistion được nối với nhau bằng các đường nối (liên kết). Chỉ có thể nối place với transition, không thể nối giữa hai place hoặc hai transition với nhau. Khi một đường nối đi từ một place đến một transition, thì place đó được gọi là input place của transition đó. Ngược lại, khi có một đường nối đi từ transition tới một place thì place đó được gọi là output place của transition đó. Các place có thể chứa một số lượng các token (thẻ) nào đó. Token trong place được biểu diễn bằng dấu chấm. Transition của Petri Net có thể hoạt động được khi tất cả các input place của nó có ít nhất một token. Sau khi transition hoạt động (bắn), mỗi input place sẽ mất một token và mỗi output place thêm một token. Trong Hình 1, bước 1, place P1 ở trạng thái chứa token tuy nhiên transistion T1 không thể hoạt động và không cho phép token đi qua. Transition T1 yêu cầu cả place P3 và P1 chứa token thì nó mới hoạt động. Bước 2 minh họa những gì sẽ xảy ra khi place P1 và P2 có chứa token do đó T1 có thể hoạt động và cho phép một token chuyển đến place khác, trong trường hợp này là P2. Bước 3 là kết quả từ bước 2 sau khi T1 hoạt động. Token đã được chuyển từ place P1 và P3. Place P1 bị mất token vì Hình 1. Ví dụ minh họa về Petri Net từ P1 có đường nối một chiều (input place). Place P3 có đường nối hai chiều (vừa là input place và vừa là output place) tới T1 vì vậy P3 đã không bị mất token của mình qua transition T1. Đường nối hai hướng trong thực tế là hai đường nối một chiều theo hai chiều ngược nhau như minh họa trên Hình 2. Ở bước 4 Hình 1 là quá trình giống với bước 2 khi cả place P2 và P4 chứa token (đang hoạt động) do đó transition T2 có thể hoạt động và cho phép các token vượt qua tới place P1 . Tại một thời điểm, việc phân bố các token trên các place, được gọi là đánh dấu (marking) của Petri Net. Nó biểu diễn trạng thái hiện tại của hệ thống được mô hình hóa. Một marking của Petri Net với m place được biểu diễn bởi vector M (m x1), trong đó các thành phần của vector là không âm, ký hiệu là M(p), biểu diễn cho số token ở các place P tương ứng [3]. Trong mô hình Petri Net biểu diễn ở bước 1, Hình 1 thì: M = (1,0, 0, 0)T Một cách hình thức, một Petri Net có thể được định nghĩa như sau: PN = (P, T, I, O, M0) Trong đó: 1. P = {p1, p2pm} là tập hữu hạn các place. 2. T = {t1,t2,tn} là tập hữu hạn của transition. P và T là 2 tập tách rời nhau : PT, PT=. 3. I: (P x T)  N là hàm xác định hướng đường nối từ các input place tới các transition, trong đó N là một tập hợp các số nguyên (là 0 hoặc 1). Trong trường hợp tổng quát nó là các số nguyên không âm. Hình 2. Biểu diễn đường nối hai hướng 4. O: (P x T)  N là hàm xác định hướng đường nối từ các transition tới các output place. 5. M0: P  N trạng thái (marking) ban đầu. Ví dụ, Petri Net trên Hình 1 với trạng thái ban đầu là bước 1 được biểu diễn với các thành phần như sau: PN = (P, T, I, O, M0) 1. P = {P1,P2,P3,P4} 2. T = {T1,T2} 3. Input place 4. Output place 5. M0 = (1,0, 0, 0)T III. Sử dụng Petri Net để mô hình hóa hệ thống nhà thông minh. Nhà thông minh (tiếng Anh: smart - home hoặc intelli - home) là kiểu nhà được lắp đặt các thiết bị điện, điện tử có tác dụng tự động hoàn toàn hoặc bán tự động thay thế con người thực hiện một hoặc một số thao tác quản lý, điều khiển. Hệ thống nhà thông minh thường gồm có: * Hệ thống điều khiển cửa vào/ra (access control): Điều khiển cửa vào/ra dùng mã vân tay, mã số, mã điều khiển. * Hệ thống điều khiển âm thanh, ánh sáng: Đảm bảo chất lượng chiếu sáng đúng như yêu cầu dựa vào thông số (lưu lượng, cường độ ánh sáng, độ rọi). * Hệ thống rèm cửa, cửa sổ: điều khiển rèm, cửa sổ theo yêu cầu có sử dụng các loại cảm biến. * Hệ thống nhiệt, thông gió và điều hòa không khí (HVAC): Giám sát và thay đổi tham số hệ thống cho phù hợp với thời gian trong ngày, với các mùa, và các kỳ nghỉ. Đảm bảo chất lượng không khí lưu thông trong tòa nhà. * Hệ thống điều khiển an ninh (security control): Hệ thống đảm bảo an toàn chống xâm nhập, chống cháy nổ, khí độc, ngập úng. Ngày nay, sự phát triển của công nghệ tự động hoá không chỉ làm thay đổi căn bản nền sản xuất công nghiệp mà còn thay đổi cả môi trường sống của chúng ta. Nhu cầu về sự tiện nghi, an toàn của các chủ nhà khác nhau, bởi vậy chúng ta có thể tự quyết định "khả năng" của ngôi nhà khi tương tác với môi trường xung quanh. Để mô phỏng hệ thống nhà thông minh cần mô phỏng toàn bộ các hệ thống thành phần như đã nêu ở trên. Chúng tôi sẽ mô phỏng một hệ thống an ninh với yêu cầu như sau: Khi có xâm nhập trái phép sẽ cảnh báo bằng cách báo đèn sáng, loa kêu, gửi tin nhắn SMS đến số điện thoại được cài đặt trước. Hình 3. Mô hình ngôi nhà thông minh Hoạt động của hệ thống chống xâm nhập: Khi có xâm nhập hệ thống điều khiển sẽ gửi tin nhắn tới số điện thoại di động đặt trước, đồng thời đèn báo sáng, loa phát tiếng kêu. Hệ thống đang báo động ta có thể ấn nút reset hoặc đợi hết thời gian trễ đèn báo và loa sẽ tự tắt. Khi có xâm nhập lần 2 thì hệ thống điều khiển tiếp tục gửi tin nhắn và báo động bằng đèn và loa. Với yêu cầu này ta có mô hình như sau: Hệ thống bao gồm: 4 place XAM NHAP, SMS, DEN BAO, LOA. 4 transittion DIEU KHIEN, DI DONG, THOI GIAN TRE, RESET. Theo phương pháp Petri Net ta có: 1. P ={XAM NHAP, SMS, DEN BAO, LOA } 2. T = {DIEU KHIEN, DI DONG, THOI GIAN TRE, RESET}. 3. Input place 4. Output place 5. M0 = (1, 0, 0, 0)T Hình 4. Mô hình hệ thống cảnh báo xâm nhập Trên Hình 5 biểu diễn một số trạng thái của hệ thống cảnh báo chống xâm nhập sử dụng Petri Net. Ở hình 5a là trạng thái ban đầu. Hình 5b là kết quả của hình 5a khi có xâm nhập, hệ thống điều khiển sẽ gửi tin nhắn SMS tới số điện thoại di động đặt trước đồng thời đèn báo sáng, loa kêu. Quá trình báo động đạng hoạt động ta có thể nhấn nút reset để tắt báo động hoặc hết thời gian trễ thì đèn báo, loa sẽ tắt như hình 5c. Khi tin nhắn SMS được gửi đi thành công thì kết quả giống như hình 5d. Ở hình 5c khi có thêm xâm nhập lần 2 bộ điều khiển sẽ xuất tín hiệu, có 2 tin nhắn, đèn báo lại sáng và loa kêu như hình 5e. Trên thực tết có rất nhiều phần mềm, công cụ để mô phỏng hệ thống. Trong bài báo này, chúng tôi sử dụng phần mềm WorkCraft 1.0 [4] để mô hình hóa hệ thống cảnh báo chống xâm nhập trong nhà thông minh theo phương pháp Petri Net. Lưu ý rằng WorkCraft chỉ chạy được trên nền tảng của Java. Ấn Play chạy mô phỏng thì transitoin “DIEU KHIEN” được kích hoạt sẵn sàng hoạt động như hình hình 5a. Khi ta kích vào transition ‘DIEU KHIEN’ đồng thời 3 place sẽ nhận một token là: DEN BAO, LOA và SMS như hình 5b). Tiếp theo ta có thể ấn vào transistion RESET hoặt đợi hết thời gian đặt thì token ở transition DEN BAO và LOA chuyển tới place XAM NHAP, ta được hình 5c). Từ hình 5b) nếu ta nhấn vào transition DI DONG thì token ở SMS sẽ mất bởi tin nhắn đã được gửi đi tac được hình 5d). Ở hình 5c) ta nhấn vào transition DI DONG ta lại được hình 5a). Từ hình 5c) ta nhấn vào transition DIEU KHIEN lần 2 ở place SMS sẽ có 2 token như hình 5e). Hình 6. Mô phỏng hệ thống an ninh sử dụng WorkCraft IV. Kết luận. Như vậy, quá trình mô hình hóa hệ thống chống xâm nhập bằng Petri Net trong đó dùng WorkCraft 1.0 để mô phỏng trong nhà thông minh tác giả nhận thấy hoàn toàn phù hợp với yêu cầu đặt ra. Ta có thể ở rộng cho các hệ thống khác phức tạp hơn. Có thể làm hướng nghiên cứu phát triển cho các ngành, các lĩnh vực khác, đồng thời có thể thực hiện kiểm tra, đánh giá cho các hệ thống. Hiện nay có rất nhiều công cụ để chuyển mô hình hệ thống từ Petri Net sang chương trình với các ngôn ngữ lập trình thông dụng như C, Javađiều đó giúp ta có thể phát triển hệ thống sau khi mô hình hóa với Petri Net. q