Matlab & Simulink 29

Một phần của tài liệu Phương pháp công nghiệp để thiết kế theo hướng đối tượng phần điều khiển cho các hệ thống động lực lai (Trang 29)

MATLAB [14] là một bộ chương trình phần mềm lớn của lĩnh vực toán số,

được viết tắt từ MATrix LABoratory. Định hướng chương trình là các phép tính vector và ma trận. Phần cốt lõi của chương trình bao gồm một số hàm toán, các chức năng nhập/xuất cũng như các khả năng điều khiển chu trình mà nhờ đó ta có

30

thể dựng nên các kịch bản (Scripts). Thêm vào phần cốt lõi, có thể bổ sung các bộ

công cụ (Toolbox) với phạm vi chức năng chuyên dụng mà người sử dụng cần. Một số các Toolbox liên quan tới Điều khiển - Tự động hóa như: Control System Toolbox, Signal Processing Toolbox, Optimization Toolbox, Stateflow Blockset, Power System Blockset, Real-Time Workshop và SIMULINK. SIMULINK là một Toolbox có vai trò đặc biệt quan trọng: vai trò của một công cụ mạnh phục vụ mô

hình hóa và mô phỏng các hệ thống Kỹ thuật - Vật lý trên cơ sở sơđồ cấu trúc dạng khối. Cùng với SIMULINK, Stateflow Blockset tạo cho ta khả năng mô hình hóa và mô phỏng các Automate trạng thái hữu hạn.

Công cụ khảo sát - thiết kế hệ thống điều khiển CST (Control System

Toolbox) là một bộ công cụ cực kỳ có ý nghĩa và tiện lợi để nghiên cứu lý thuyết hệ

thống. Với CST ta có thể thực hiện tất cả các bước cần thiết để khảo sát - thiết kế hệ

thống, đặc biệt là các hệ thống điều khiển:

- Mô tả các hệ tuyến tính - dừng (hệ số tham số hằng) dưới dạng liên tục hay gián đoạn (hàm truyền đạt), sơ đồ phân bố điểm không - điểm cực, mô hình trạng thái, mô hình đặc tính tần số;

- Chuyển đổi hoặc xử lý hệ, phân tích đặc tính hệ thống động học, đáp ứng bước nhẩy, giảm bậc;

- Thiết kế và tính tối ưu các khâu điều chỉnh: quỹđạo cực, gán cực, tối ưu LQ (Linear – quadratic optimal control).

Ngoài ra, CST còn cung cấp một số thuật toán cho phép đánh giá độ tin cậy của các phép toán số sử dụng khi khảo sát hệ thống. Phần lớn các thuật toán sốđược cất dưới dạng m-Files (Scripts).

2.3.2.2Simulink

SIMULINK là phần chương trình mở rộng của MATLAB nhằm mục đích mô hình hóa, mô phỏng và khảo sát các hệ thống động học.

Giao diện đồ họa trên màn hình của SIMULINK cho phép thể hiện hệ thống dưới dạng sơ đồ tín hiệu với các khối chức năng quen thuộc. SIMULINK cung cấp cho người sử dụng một thư viện rất phong phú, có sẵn với các số lượng lớn các khối

31

chức năng cho các hệ tuyến tính, phi tuyến và gián đoạn. Hơn thế, người sử dụng cũng có thể tạo nên các khối riêng của mình. Sau khi đã xây dựng mô hình của hệ

thống cần nghiên cứu, bằng cách ghép các khối cần thiết thành sơ đồ cấu trúc của hệ, ta có thể khởi động quá trình mô phỏng. Trong quá trình mô phỏng ta có thể

trích tín hiệu tại vị trí bất kỳ của sơ đồ cấu trúc và hiển thị đặc tính của tín hiệu đó trên màn hình. Hơn thế nữa, nếu có nhu cầu ta còn có thể cất giữ các đặc tính đó vào môi trường nhớ (ví dụ: cất lên đĩa cứng). Việc nhập hoặc thay đổi tham số của tất cả các khối cũng có thểđược thực hiện rất đơn giản bằng cách nhập trực tiếp hay thông qua MATLAB. Để khảo sát hệ thống, ta có thể sử dụng thêm các hộp công cụ

(Toolbox) như xử lý tín hiệu (Signal Processing), tối ưu (Optimization) hay hệ

thống điều khiển (Control System) .

Việc lập trình trên SIMULINK sử dụng các đối tượng đồ họa. Nó được xây dựng trên cơ sở của các ngôn ngữ lập trình hướng đối tượng, tạo điều kiện hết sức thuận lợi cho việc thay đổi giá trị các thuộc tính trong những khối thành phần. Thư viện của SIMULINK bao gồm: các thư viện con các khối nguồn tín hiệu (Sources), các khối xuất tín hiệu (Sinks), các khối ghép toán học (Math) và các khối tín hiệu và hệ thống con (Signal & Sub-Systems). Các nhóm các khối liên tục (Continuous), các khối phi tuyến (Nonlinear) và các khối chức năng và bảng (Function & Tables). Các khối thuộc nhóm các khối gián đoạn (Discrete). Tất cả

các khối chức năng đều được xây dựng theo một mẫu giống nhau: mỗi khối có một hay nhiều đầu vào/ra (trừ trường hợp ngoại lệ: các khối thuộc hai thư viện con

Sources và Sinks), có tên và ở trung tâm của hình khối chữ nhật có biểu tượng hình hàm truyền đạt, đồ thị đặc tính hay tên (File) thể hiện đặc điểm riêng của khối. SIMULINK phân biệt (không phụ thuộc vào thư viện con) hai loại khối chức năng: Khối ảo (Virtual) và khối thực (Not virtual). Các khối thực đóng vai trò quyết định khi chạy mô phỏng mô hình SIMULINK. Việc thêm hay bớt một khối thực sẽ thay

đổi đặc tính động học của hệ thống đang được mô hình SIMULINK mô tả. Ví dụ về

khối thực: Khối tích phân (Integrator) hay khối hàm truyền đạt (Transfer Fcn) của thư viện con Continuous, khối Sum hay khối Product của thư viên con Math. Ngược

32

lại, các khối ảo không có khả năng thay đổi đặc tính của hệ thống, chúng chỉ có nhiệm vụ thay đổi đặc tính của hệ thống, chúng chỉ có nhiệm vụ thay đổi diện mạo

đồ họa của mô hình SIMULINK. Đó chính là các khối như Mux, Demux hay Enable thuộc thư viện con Signal & System. Một số khối chức năng mang đặc tính ảo hay thực tùy thuộc theo vị trí hay cách thức sử dụng chúng trong mô hình SIMULINK, các mô hình đó được xếp vào loại ảo có điều kiện. (adsbygoogle = window.adsbygoogle || []).push({});

Sau khi tạo lập được một mô hình, người sử dụng có thể mô phỏng nó trong SIMULINK bằng cách nhập lệnh trong cửa sổ lệnh của Matlab hay sử dụng các menu có sẵn. Việc sử dụng các Menu đặc biệt thích hợp cho các công việc có sự tác

động qua lại lẫn nhau, còn sử dụng dòng lệnh thường hay được dùng khi chạy một loạt các mô phỏng. Hơn nữa, người sử dụng có thể thay đổi thông số một cách trực tiếp và nhận biết được các ảnh hưởng đến mô hình.

Đánh giá giữa Modelica và Matlab:

Phương pháp sử dụng các ngôn ngữ mô hình hóa và mô phỏng chuyên dụng Modelica có nhiều ưu điểm vượt trội và thích hợp cho mô phỏng các quá trình công nghiệp phục vụ mục đích nghiên cứu và thiết kế sản phẩm có yêu cầu hiệu năng tính toán cao. Phương pháp sử dụng các ngôn ngữ lập trình đa năng thường rất phức tạp và khó.

Nếu mục đích mô phỏng chủ yếu phục vụ đào tạo và nghiên cứu thì một phần mềm tính toán và mô phỏng kỹ thuật thông dụng như Matlab - Simulink tỏ ra phù hợp hơn cả. Hiện nay, phiên bản mới nhất của Matlab – Simulink cũng đã được bổ sung các khối mô phỏng đối tượng công nghiệp thông dụng kết hợp giao diện đồ

họa trực quan để tăng khả năng tương tác và tính thực tế. 2.3.3Mô hình khối chức năng

Trong thực tế, để thực thi hệ thống điều khiển công nghiệp sau khi được mô phỏng, người ta thường sử dụng kiến trúc IEC (International Electrotechnical

Commission) [2], [3]. Kiến trúc này cho phép đặc tả cấu trúc của các hệ thống điều khiển có ứng xử phức tạp và đảm bảo được độ an toàn cao, cũng như nó hỗ trợ kết

33

nối với các ngôn ngữ mô hình hóa. Dưới đây, chúng ta mô tả một sốđặc điểm chính của kiến trúc IEC.

2.3.3.1Các đặc tính của khối chức năng

Mỗi khối chức năng thực ra là một biến thể hiện (Function block instance) của một kiểu khối chức năng nào đó (Function block type) cũng tương tự như mỗi

đối tượng là một biến thể hiện của một lớp nào đó. Hình 2.4 thể hiện các đặc tính của khối chức năng ở dưới dạng sơđồ khối.

Hình 2.4 Đặc tính khối chức năng Các đặc tính của khối chức năng:

- Tên biến (là tên của khối chức năng đó) và tên kiểu (là tên của kiểu khối chức năng mà nó phụ thuộc vào),

- Một tập các đầu vào sự kiện, dùng để nhận các sự kiện đến từ các liên kết sự

kiện với bên ngoài. Các sự kiện đầu vào sẽ ảnh hưởng tới việc thực thi thuật toán bên trong khối chức năng,

- Một tổ hợp các đầu ra sự kiện, dùng để đẩy các sự kiện ra các liên kết sự

kiện với bên ngoài tùy thuộc và sự thực thi của thuật toán và một số yếu tố

34

- Một tổ hợp các đầu vào dữ liệu, chúng được ánh xạ tới các biến đầu vào tương ứng, - Một tổ hợp các đầu ra dữ liệu, chúng được ánh xạ tới các biến đầu ra tương ứng, - Dữ liệu nội bộ, chúng được ánh xạ tới tập các biến nội bộ, - Các đặc trưng của khối chức năng, được xác định bằng cách kết hợp giữa dữ liệu nội bộ với thuật toán của khối chức năng.

Thuật toán bên trong khối hàm, về nguyên tắc không nhìn thấy được từ bên ngoài, trừ khi được người cung cấp khối hàm mô tả theo một cách nào đó. Hơn nữa, khối hàm có thể chứa bên trong nó các biến nội bộ hay các thông tin về trạng thái tồn tại không đổi giữa những lần gọi thuật toán của khối hàm nhưng chúng cũng không truy cập được từ bên ngoài.

Đặc tả kiểu khối chức năng, ngoài phần chung kể trên còn có thêm phần định nghĩa chức năng đặc trưng của khối phụ thuộc vào từng loại khối cụ thể. Có 3 loại khối chức năng:

- Khối chức năng cơ bản là đơn vị chức năng nhỏ nhất, không thể phân chia hơn được nữa.

- Khối chức năng kết hợp (siêu khối) là loại khối chức năng hợp thành từ

nhiều khối chức năng khác nhỏ hơn.

- Khối chức năng dịch vụ giao tiếp là loại khối chức năng cung cấp các dịch vụ giao diện giữa các khối chức năng khác với nhau hoặc giữa tài nguyên và mạng truyền thông và giữa tài nguyên và quá trình công nghệ được điều khiển.

Đối với kiểu khối chức năng cơ bản, chức năng đặc trưng của nó được diễn

đạt bằng cách mô tả thuật toán bên trong khối đó hoạt động dựa trên giá trị của các biến đầu vào, biến đầu ra, biến nội bộ để tạo ra giá trị mới cho các biến đầu ra và biến nội bộ như thế nào, cũng như mối liên hệ giữa sự khởi động, thực thi và kết thúc của thuật toán với sự xuất hiện của các sự kiện tại đầu vào sự kiện đầu ra của khối.

35 (adsbygoogle = window.adsbygoogle || []).push({});

Đối với kiểu khối chức năng phục vụ giao tiếp, chức năng đặc trưng được mô tả bằng cách ánh xạ các dịch vụ cơ bản mà nó cung cấp thành các thành các đầu vào sự kiện, đầu ra sự kiện, đầu vào dữ liệu, đầu ra dữ liệu của nó.

2.3.3.2Mô hình thực thi theo khối chức năng

Việc thực hiện các thuật toán (Hình 2.5) được gợi nhớ bởi các sự kiện đầu vào, nó đi tới phần điều khiển cụ thể của khối chức năng. Việc gợi nhớ này kéo theo một hàm điều khiển cụ thể của thuật toán tương ứng.

Kết thúc thực hiện một thuật toán thì bộ điều khiển thực thi sẽ sinh ra một hoặc hay nhiều sự kiện đầu ra.

Hình 2.5 Mô hình thực thi khối chức năng

36

Hình 2.6 mô tả thứ tự thực hiện các thuật toán với một sự kiện đầu vào, một thuật toán và một sự kiện đầu ra, thời điểm mà các sự kiện xuất hiện trong trường hợp này được mô tả hình vẽ sau:

- T1: biến đầu vào sẵn sàng,

- T2 : biến đầu ra xuất hiện,

- T3 : bộđiều khiển thực thi gắn một hàm điều khiển đã xác định vào một thuật toán cụ thể,

- T4 : bắt đầu thực hiện thuật toán,

- T5 : thuật toán được thực thi hoàn thành và xây dựng giá trị các biến đầu ra,

- T6 : thời gian thực thi thuật toán kết thúc,

- T7 : bộđiều khiển thực thi được gợi nhớ,

- T8 : bộđiều khiển thực thi sinh ra sự kiện đầu ra

Trong đó: TĐầu vào = T4 - T2 ; TThuật toán = T6 – T4 và TĐầu ra = T8 – T6

Ngoài ra, IEC còn đặc tả chi tiếp về cấu trúc và ứng xử truyền thông, chúng ta có thể tham khảo trong tài liệu [2], [3].

Như vậy, trong chương này chúng tôi đưa ra một số mô hình dùng để đặc tả ứng xử hệ thống động lực lai như: Automate lai, Grafcet, Petri net. Một số phương pháp mô phỏng và thực thi hệ thống như: Modelica, Matlab & Simulink, mô hình khối chức năng (IEC). Ngoài ra, chúng tôi cũng đã giới thiệu công nghệ hướng đối tượng để phát triển các HDS, sử dụng ngôn ngữ mô hình hóa trong thời gian thực

đểđặc tả, trực quan, xây dựng hệ thống công nghiệp có đặc tảứng xử bởi Automate lai.

37

Chương 3- QUY TRÌNH PHẦN TÍCH VÀ THIẾT KẾ HDS VỚI REAL TIME UML

Trong chương này, chúng tôi giới thiệu một phương pháp mà được dựa trên sự cộng tác các đối tượng, các gói, cổng, giao thức và lớp thực thể để thực thi Automate lai với sự kiện, tín hiệu đầu vào và đầu ra để xác định nhanh chóng cấu trúc và sự thực thi các đối tượng điều khiển của hệ thống điều khiển công nghiệp. Phương pháp này cũng cho phép các hệ thống điều khiển có thểđược tái sử dụng lại trong giai đoạn thiết kế ứng dụng mới. Chúng tôi giới thiệu từng bước các đặc tả

của Automate lai như là: xác định của các trường hợp sử dụng (Use cases) và các máy trạng thái cục bộ, cấu trúc của máy trạng thái toàn cục của hệ thống phát triển, xác định các dịch chuyển của nó. Tiếp theo, chúng tôi đưa ra phân tích về mặt lý thuyết, xác định của cộng tác các đối tượng của hệ thống điều khiển, xác định của các gói điều khiển cơ bản, cổng và giao thức truyền thông, với các kết nối tĩnh và

động được hợp nhất giữa chúng. Sau đó, chúng tôi giới thiệu các giả thuyết quan trọng mà cho phép tất cả các gói đã được xác định của hệ thống này tạo ra các tiến trình của chúng. Cuối cùng, chúng tôi đưa ra bản thiết kế với Real time UML và các luật tái sử dụng các phần tử tổng quan của bản thiết kế nhằm phát triển HDS công nghiệp một cách tối ưu và hiệu quả nhất.

3.1 Mô tả Automate lai trong HDS, giả thiết tính thực thi và chu trình phát triển lặp cho HDS

3.1.1Mô tả Automate lai trong HDS

Automate lai [10] là những mô hình đặc biệt được sử dụng cách rộng rãi để

mô hình hóa ứng xử của hệ thống động lực lai (HDS). Một HDS phối hợp với các mẫu chuyển đổi rời rạc với các ứng xử liên tục. Trong luận văn này, chúng tôi xem xét các hệ thống điều khiển công nghiệp đó là các HDS. Vì vậy, hệ thống này có thể được mô hình bởi Automate lai (được giới thiệu trong chương 2, mục 2.1.1).

Để mô tả một hệ thống điều khiển với Automate lai, chúng tôi áp dụng các

38 (adsbygoogle = window.adsbygoogle || []).push({});

- Các sự kiện σ được xem như là sự kiện của đầu vào/đầu ra của hệ thống,

- X bao gồm tính hiệu đầu vào/đầu ra,

- Dòng liên tục toàn cục F xuất phát từ sơ đồ khối chức năng mở rộng. Hình 3.1

đưa ra hoạt động chuyển đổi của hệ thống này với các sự kiện đến từ bên ngoài. Mỗi một hộp chức năng có thể có một hoặc nhiều hơn các ứng xử liên tục được hoạt hóa bởi các sự kiện.

Hình 3.1 Ví dụ về một sơđồ chức năng mở rộng Trong đó:

- E, S: tín hiệu đầu vào và đầu ra của hệ thống điều khiển phát triển,

- Vei, Vsi: đại lượng biến thiên vào và ra, đại lượng này sẽ tương ứng với hộp chức năng thứ i,

- Box 1, Box 2, Box 3: Các khối chức năng của hệ thống. 3.1.2Các giải thuyết thực thi Automate lai với HDS

Chúng tôi áp dụng cho những quy luật được đưa ra dưới đây [16], [18], do đó những đại lượng bất biến và điều khiển guard có thể sinh ra các dữ kiện bên trong:

- Nếu xqinv(q) và Guard(a) = True, aA, thì có một sự kiện bên trong sinh ra; hệ thống thay đổi trạng thái của nó từ q tới q’ được mô tả bởi máy trạng thái của hệ thống, với giá trị ban đầu Jumpq’, được xác định bởi dòng liên tục cụ thể Fq’;

Một phần của tài liệu Phương pháp công nghiệp để thiết kế theo hướng đối tượng phần điều khiển cho các hệ thống động lực lai (Trang 29)