29590 ban_at_semiconductor_540x150

Nghiên cứu ứng dụng phần mềm FUZZYTECH

Email In PDF.

fuzzy0103073.2Để đáp ứng yêu cầu cho công tác nghiên cứu khoa học và giảng dạy chuyên ngành Tự động hoá. Việc lựa chọn công cụ phần mềm để triển khai thí nghiệm, thực hành cũng như cập nhật kiến thức dựa vào thành tựu khoa học mới là hết sức cần thiết và cấp bách. Trong bối cảnh các phần mềm hỗ trợ cho sinh viên, học viên cao học có thể triển khai thành các sản phẩm trí tuệ còn gặp nhiều khó khăn. Phần mềm Fuzzy Tech là một trong các phần mềm mạnh của lĩnh vực điều khiển mờ. Fuzzy Tech là một trong những lĩnh vực khoa học mới có thể đáp ứng được các đòi hỏi thực tế đó.

Điểm mạnh của phần mềm này đã được thể hiện trong nhiều sản phẩm thương mại của các hãng danh tiếng của nhiều nước phát triển như Nhật Bản, Cộng hoà Liên bang Đức, Vương quốc Anh...Phần mềm này khi được sinh viên, học viên cao học tiếp thu sẽ rút ngắn được thời gian khi họ tiếp xúc với những sản phẩm công nghiệp của thế giới đang và sẽ được ứng dụng tại Việt Nam. Đồng thời cũng cung cấp cho các đối tượng hoạt động trong lĩnh vực tự động hoá khả năng sử dụng kỹ thuật điều khiển mờ để thiết kế các bộ điều khiển hiện đại trong nhiều lĩnh vực công nghiệp.

Những nội dung nghiên cứu của nhóm tác giả nhằm hướng tới cấu trúc của phần mềm Fuzzy Tech, phương pháp liên kết động (DLL) của phần mềm để liên kết nó với các phần mềm khác như Matlab, Visual C, Visual Basic, LabVIEW ...nhằm cung cấp những dịch vụ cho các đối t ượng có những thế mạnh khác nhau về kỹ thuật phần mềm.

Trong nghiên cứu ứng dụng Fuzzy Tech, nhằm mục đích triển khai các kết quả nghiên cứu về điều khiển mờ thành các sản phẩm phần mềm điều khiển trong miền thời gian thực, đáp ứng đòi hỏi hiện nay của công tác giảng dạy và nghiên cứu khoa học.

Cấu trúc cơ bản của Fuzzy Tech

FuzzyTech là phần mềm kỹ thuật hỗ trợ thiết kế các hệ thống điều khiển mờ, nó giúp tăng cường thiết kế hệ thống điều khiển hiện đại. Sử dụng bộ điều khiển mờ cho hệ điều khiển, sẽ không cần có một mô hình toán học đầy đủ về đối tượng. Những nhân tố không quan trọng trong hệ thống điều khiển sẽ được thay thế bằng một ngôn ngữ tự giải thích mô tả chiến lược điều khiển.

Dựa trên cơ sở xây dựng một hệ điều khiển mờ, cấu trúc cơ bản của phần mềm FuzzyTech được chia thành các phần như sau:

Thiết kế hệ thống điều khiển mờ

Thuật thiết kế Mờ (FDW) khởi động một chuỗi những hộp thoại để hướng dẫn tạo ra một nguyên mẫu lôgic Mờ đầy đủ. FDW cũng có thể sử dụng để sửa đổi một dự án mờ hiện hữu. Thuật thiết kế mờ trợ giúp giải quyết những công việc sau:Trên hình 1, xác định số lượng biến trong dự án, định nghĩa biến, định nghĩa các phương pháp giải mờ cho mỗi biến đầu ra, xây ựng các khối luật. Đối với mỗi bước, giá trị mặc định hợp lý được hiển thị khi hộp thoại được mở. Giá trị mặc định có thể được thay đổi cho phù hợp với thuật toán điều khiển.

fuzzy010307

fuzzy0103071

Hình 1: Cửa sổ biên soạn hệ mờ

Hình 2: Modul đầu vào khối mờ

Cửa sổ biên soạn hệ điều khiển mờ như hình 1. Cấu trúc một hệ được chia thành 3 phần: Khối các đầu vào: mỗi modul đầu vào đại diện cho một biến vào khác nhau. Khâu tạo mờ cho mỗi biến được thể hiện ngay trong từng modul, FuzzyTech hỗ trợ 2 kiểu tạo mờ cơ bản, hàm thuộc hình L và hàm thuộc hình S. Ngoài ra còn cho phép tạo lập hàm thuộc tổng quát hơn cho phù hợp với các bài toán thích nghi. Hình 2 biểu diễn modul tạo mờ cho 1 biến dùng hàm thuộc hình L.

Khối luật hợp thành: về nguyên tắc một hệ thống điều khiển mờ có thể xây dựng nhiều khối luật, số lượng khối luật được phép xây dựng trong FuzzyTech phụ thuộc vào từng phiên bản của phần mềm. Các luật được xây dựng dựa trên các phát biểu If...Then. Trong FuzzyTech có 3 toán tử bù sẵn cho việc tính toán mờ. Khi modul Neuro fuzzy được kết nối với FuzzyTech các luật logic mờ có thể được điều chỉnh bởi thuật giải của Neuro fuzzy. Trên hình 3, thể hiện cửa sổ soạn thảo khối luật.

Khối các đầu ra: Có thể có nhiều đầu ra khác nhau, mỗi đầu ra được đặt trong một modul riêng, modul này thể hiện thuật giải mờ của chính biến đầu ra đó. FuzzyTech hỗ trợ nhiều phương pháp giải mờ khác nhau như CoM, FastCoA, Hyper CoM...

fuzzy0103072

fuzzy0103073

Hình 3: Khối xây dựng luật hợp thành

Hình 4: Đồ thị vào ra 3D của bộ điều khiển FLC

Tối ưu hóa ngoại tuyến

Trong bước phát triển thứ hai, khi cần mô phỏng và kiểm tra nguyên mẫu được thiết kế trong bước đầu tiên. Những kỹ thuật sử dụng ở đây phụ thuộc rất nhiều vào kiểu ứng dụng. Bước tối ưu hóa ngoại tuyến hoàn toàn được hỗ trợ bởi những công cụ phát triển phần mềm. Có thể sử dụng dữ liệu đã được ghi trước từ quá trình hoặc mô phỏng quá trình bằng một ngôn ngữ lập trình. Trong bước này, có thể kết hợp sử dụng kỹ thuật NeuroFuzzy để tối ưu hóa hệ thống. Tất cả kỹ thuật sử dụng trong bước phát triển thứ hai đều ngoại tuyến, nghĩa là làm việc trên PC không kết nối với quá trình trong thời gian thực. Ở bước này sử dụng công cụ Debug, 3D Plot, Time plot.. để quan sát và gỡ rối. Hình 4, thể hiện đặc tính vào ra của một bộ điều khiển mờ

Tối ưu hóa trực tuyến

Đối với nhiều hệ thống điều khiển chu trình kín, sử dụng kỹ thuật mô phỏng là không thể vì không có mô hình toán học chuẩn nào cho quá trình tồn tại. Việc sử dụng dữ liệu ghi trước từ quá trình có giới hạn, bởi vì phản ứng của hệ thống trong thời gian thực đưa tới đầu ra của bộ điều khiển lôgic mờ chưa được phản hồi lại từ quá trình. Trong trường hợp này, kỹ thuật tối ưu hóa trực tuyến sẽ trợ giúp các thay đổi trực tuyến trên một hệ thống đang chạy. Hay nói cách khác việc thiết kế bộ điều khiển được tiến hành song song vói bộ điều khiển đang hoạt động.

Thi hành

Sau khi hoàn thành chương trình điều khiển mờ, cần thực thi hệ thống điều khiển lôgic mờ trên nền tảng phần cứng đích. Công cụ Complie giúp biên dịch chương trình ra những ngôn ngữ thích hợp. Những phiên bản FuzzyTech_MCU cung cấp mã Assembly đã được tối ưu hoá cho các vi điều khiển thông dụng như MCU-51 cho các họ vi điều khiển 80C51, MCU-MP cho họ vi điều khiển PIC 16XX... Với các bộ điều khiển lôgic khả trình (PLC) và các hệ thống điều khiển phân tán (DCS), một vài phiên bản FuzzyTech cung cấp những khối hàm lôgic mờ đặc biệt. Đối với tất cả các nền tảng phần cứng đích khác, FuzzyTech cung cấp dưới dạng mã nguồn C (ngôn ngữ lập trình C).

Các công cụ hỗ trợ:

Tạo lập mẫu: công cụ tạo lập mẫu cho phép tự động tạo một mẫu đầu vào cho hệ thống lôgic mờ hiện thời để phân tích quá trình thực thi vào/ra. Tệp tin mẫu được tạo có thể được khối ghi tệp tin và khối gỡ lỗi sử dụng

Khởi tạo khối luật: Cho phép khởi tạo khối luật mới hay sửa chữa thay đổi khối luật hiện hành.

Gỡ lỗi: FuzzyTech hỗ trợ các kiểu gỡ lỗi ngoại tuyến và trực tuyến khác nhau để gỡ lỗi, xác minh và tối ưu hóa hệ thống lôgic mờ cơ sở. Tất cả các kiểu gỡ lỗi đều độc lập với nhau, mọi sự thay đổi về cấu trúc và tham số của bộ điều khiển đều ngay lập tức được thực hiện. Việc này cho phép thử ngay các thay đổi gây ra cho bộ điều khiển từ các dữ liệu đầu vào để nhận được những đáp ứng từ đầu ra.

Giám sát, sửa đổi: Trong chế độ gỡ lỗi giám sát & sửa đổi, hệ thống mờ chạy trên một phần cứng đích riêng có thể được giám sát và sửa đổi trong mục biên soạn và phân tích của FuzzyTech.

Biểu đồ: FuzzyTech hỗ trợ đồ thị 3 chiều, đồ thị quá trình theo thời gian.. dùng để phân tích những đặc tính vào ra của hệ thống logic mờ theo thời gian.

Neuro (nơron): Mô đun cho phép cải tiến và tối ưu hóa một hệ thống lôgic mờ bằng việc huấn luyện các thành phần của hệ thống lôgic mờ sử dụng một thuật giải dựa vào dữ liệu mẫu. Nếu dữ liệu này được dò theo trực tiếp từ một quá trình thì một thuật giải nhóm có thể sử dụng để kiểm tra độ ổn định của dữ liệu và giảm bớt số lượng dữ liệu.

Kết nối cổng nối tiếp: là một ứng dụng giúp liên kết máy tính với các thành phần điều khiển khác qua giao diện nối tiếp.

Ghi Tệp tin: Chức năng này giúp xử lý dữ liệu từ một tệp tin và trình bày quá trình suy diễn bằng đồ thị. Kiểu gỡ lỗi bản ghi tệp tin cho phép phân tích hành vi hệ thống tương tác theo dữ liệu đầu vào hệ thống được ghi lại.

Thư viện trợ giúp: FuzzyTech có hệ thống thư viện trợ giúp phong phú và chi tiết, đặc biệt hệ thống trợ giúp trực tuyến.

Thư viện liên kết động thời gian thực (FTRUN Runtime DLL): Thư viện liên kết động thời gian thực FTRUN của FuzzyTech tạo ra sự đa dạng, linh hoạt và tối ưu hoá cho hệ điều hành sử dụng trong các chương trình đích.Thư viện liên kết động hoạt động độc lập với hệ thống logic mờ mà nó tính toán. FTRUN có thể dùng được cho nhiều hệ thống. Điều đó có nghĩa là một chương trình đích có thể sử dụng FTRUN để cùng một lúc tính toán các nhiều trường hợp phức tạp của một hệ thống logic mờ như là với các hệ thống logic mờ khác nhau tại cùng một thời điểm.

FTRUN có thể dùng được cho nhiều chương trình. FTRUN hỗ trợ quá trình phát triển trực tuyến với FuzzyTech. Tất cả các kênh truyền thông đều được hỗ trợ: giao diện kiểu nối tiếp (Serial Interface), hệ thống các file dùng chung, trao đổi dữ liệu động DDE và trao đổi gói tin liên mạng /trao đổi gói tin tuần tự ( IPX/SPX) .

Tích hợp các modul điều khiển mờ vào các hệ thống điều khiển, giám sát là một lợi thế của FuzzyTech. Các phần mềm có thể tích hợp như Visual Basic, Matlab, WinCC....

Một số ứng dụng của FuzzyTech

Những ứng dụng sau sẽ minh chứng cho sự tin cậy và ưu việt hơn của phần mềm FuzzyTech so với một số phần mềm khác trong qúa trình điều khiển đối tượng bằng cách sử dụng các công nghệ khác nhau như sử dụng khối điều khiển từ xa của FuzzyTech (Remote Control Unit), thư viện liên kết động thời gian chạy (Runtime DLL), áp dụng các công nghệ nơron (Neurouzy techniques)…

Mô phỏng điều khiển cần trục

Ứng dụng điều khiển cần trục biểu diễn trên hình 5, cho chúng ta thấy một trong các ưu thế của FuzzyTech trong quá trình đưa các kinh nghiệm điều khiển, vận hành của con người vào trong quá trình điều khiển đối tượng sử dụng logic mờ. Chương trình mô phỏng này sử dụng khối điều khiển từ xa của FuzzyTech (FTRCU). Khối điều khiển từ xa của FuzzyTech là một giao diện cho phép các chương trình phần mềm khác có thể truy cập từ xa tới hầu hết các chức năng của fuzzyTech bằng cách gọi các hàm có sẵn trong thư viện liên kết động của FuzzyTech.

Trong ứng dụng mô phỏng một cần trục Container. Cần trục Continer được dùng để bốc xếp Container lên hoặc xuống tàu ở hầu hết các bến cảng. Chúng sẽ nâng từng container bằng các cáp mềm có giá đỡ ở đầu cần. Đầu cần sẽ chuyển động theo phương nằm ngang. Khi container được nâng lên và đầu cần bắt đầu chuyển động thì container cũng bắt đầu dao động. Trong khi mà sự dao động chưa được giải quyết thì container còn dao động sẽ không được hạ xuống.

Có hai cách thông thường để giải quyết vấn đề này. Cách thứ nhất là cho đầu cần di chuyển chính xác qua vị trí đích (target position) và chờ cho dao động suy giảm đến mức có thể chấp nhận được. Trong những ngày lặng gió điều này sẽ xảy ra nhưng nó mất rất nhiều thời gian. Do những lý do về giá thành mà những con tàu cần phải bốc xếp trong thời gian ngắn nhất. Một phương pháp khác là nâng container lên và di chuyển nó đủ chậm để tránh dao động. Cách này cũng chỉ thực hiện trong những ngày lặng gió và nó cũng tốn rất nhiều thời gian. Có một sự lựa chọn là thiết kế cần trục container có cáp phụ để cố định vị trí của container trong suốt quá trình vận hành. Rất ít cần trục được thiết kế theo phương pháp này do giá thành khá cao của giải pháp này. Do những lý do này hầu hết các cần trục container vẫn cần người điêu khiển để điều khiển tốc độ của các động cơ. Người điều khiển phải cùng một lúc khử dao động và đưa đến điểm hạ hàng một cách nhanh chóng. Đây không phải là một nhiệm vụ dễ dàng, tuy nhiên một người điều khiển có tay nghề có khả năng đạt được những kết quả tốt.

Điều này có thể giải quyết được bằng cách sử dụng các bộ điều khiển mờ. Vì điều khiển mờ sử dụng thuật điều khiển dạng ngôn ngữ. Những thuật điều khiển này dựa trên những kinh nghiệm của con người chứ không phải là dựa trên mô hình toán học

Cửa sổ mô phỏng cần trục trực quan hóa quá trình di chuyển của cần trục bằng các hình ảnh. Có thể trực tiếp điều khiển cần trục bằng tay bằng cách ấn nút Manual và sử dụng các nút [+],[0],[-].

Để bắt đầu quá trình mô phỏng với bộ điều khiển logic mờ, ta ấn nút [Fuzzy]. Điều này sẽ khởi động FuzzyTECH, mở bộ điều khiển mờ trong file CRANE.FTL và kích hoạt chế độ gỡ rối sử dụng khối điều khiển từ xa của FuzzyTECH (FTRCU). Chú ý rằng khi mô phỏng cần trục sử dụng FuzzyTECH để điều khiển hoạt động của cần trục không thể thay đổi chế độ gỡ rối trong FuzzyTECH. Muốn thay đổi chế độ gỡ rối trong FuzzyTECH phải đóng cửa sổ mô phỏng bộ điều khiển cần trục.

Mô phỏng nồi hơi

Mô phỏng quá trình khởi động nồi hơi được điều khiển bằng logic mờ thư viện liên kết động thời gian chạy DLL của fuzzyTECH biểu diễn trên hình 6.

Bộ điều khiển lôgic mờ cho qúa trình khởi động của một nồi hơi ứng dụng mô phỏng này sử dụng bộ điều khiển lôgic mờ để khởi động nồi hơi một nhà máy năng lượng. Ở hầu hết các nhà máy năng lượng, quá trình khởi động được thực hiện bằng tay bởi người vận hành. Quá trình khởi động bằng tay được sử dụng bởi vì nó liên quan đến một số lớn các biến quá trình có những quan hệ tác động qua lại lẫn nhau, có tính phi tuyến, do đó việc ứng dụng kỹ thuật tự động điều khiển thông thường không thực hiện được. Cũng trong nhiều ứng dụng tương tự, lôgic mờ đã tạo ra một giải pháp tự động hóa khả thi vì những kinh nghiệm vận hành của con người có thể được áp dụng trực tiếp vào trong một giải pháp. Quá trình mô phỏng được thực hiện bởi hai mô đun điều khiển lôgic mờ. Một môđun áp dụng bộ điều khiển vòng điều khiển vòng đơn với bộ PID để nâng cao chất lượng điều khiển đối với áp suất hơi nước, môđun kia áp dụng chiến lược điều khiển giám sát đa biến mà bao gồm cả những quyết định điều khiển liên tục lẫn những quyết định điều khiển rời rạc.

Giao diện màn hình mô phỏng nồi hơi được miêu tả bằng đồ họa quá trình đưa nồi hơi vào hoạt động.

fuzzy0103074

fuzzy0103075

Hình 5: Giao diện điều khiển cần trục

Hình 6: Giao diện điều khiển nồi hơi

Để bắt đầu quá trình mô phỏng với bộ điều khiển lôgic mờ, ấn nút [Start] trên giao diện mô phỏng. Việc này khởi động thư viện liên kết động thời gian chạy DLL của fuzzyTECH, mở file START.FTR và PRESS.FTR của bộ điều khiển lôgic mờ, và bắt đầu thủ tục khởi động máy. Quá trình mô phỏng không hiển thị quá trình khởi động bằng tay.

Thủ tục khởi động nồi hơi bao gồm cả biến lệnh liên tục, như những giá trị lệnh đặt điểm đặt cho các van cung cấp và các van xả, cũng như các biến điều khiển gián đoạn, như các tín hiệu bật bơm và đánh lửa...

Bộ điều khiển lôgic mờ đầu tiên (Start) tạo ra bốn biến lệnh ở trên từ một số biến đầu vào như: mức nước trong nồi (WaterLevel), vi phân theo thời gian của nó (dt_Level), áp suất hiện thời trong nồi hơi (Pressure), và tín hiệu phản hồi chỉ báo điều kiện bơm lưu thông và đánh lửa ( FireOn, PumpOn).

Bộ điều khiển lôgic mờ thứ hai (Press) làm ổn định áp suất hơi nước đi từ tua-bin. Nó sử dụng hai biến đầu vào là: Lỗi áp suất ( delta_Press) và vi phân theo thời gian của nó (dt_Pressure). Đầu ra của bộ điều khiển Press (SteamValve) tăng hoặc giảm góc mở của các van hơi (SteamValve).

Kết luận

Fuzzy Tech cho phép sử dụng những kinh nghiệm và những kết quả thực nghiệm bằng mô hình để tìm ra những giải pháp hiệu quả trong việc thiết kế hệ thống. Việc thiết kế hệ thống điều khiển công nghệ trên Fuzzy Tech cho phép thực hiện với cả hai nhóm biến lệnh ( biến ON — OFF) và biến quá trình (biến bậc nhất, bậc 2...). Vì thế Fuzzy Tech mở ra một hướng trong công nghệ điều khiển tự động sử dụng cho những ứng dụng thực tế bằng việc tích hợp thêm khả năng điều khiển và giám sát.

TÀI LIỆU THAM KHẢO:

[1]. TS. Hoàng Xuân Bình (2005), Sử dụng thư viện liên kết động cho hệ thống thực của Fuzzy Tech. Tạp chí Khoa học — Công nghệ hàng hải, Số 2, Tr33 - 37

[2]. User Guider Fuzzy Tech 5.3.

[3]. Tham khảo theo http://www.fuzzylogic.be/

http://www.fuzzytech.com

---------------------

Tác giả:

TS. HOÀNG XUÂN BÌNH

KS. VŨ NGỌC MINH

KS. NGUYỄN ĐÌNH THẬT

Khoa Điện - Điện tử tàu biển

Trường Đại học Hàng hải

 


Tin mới hơn:
Tin cũ hơn: