Chúng ta áp dụng 5 gói chính được áp dụng theo quy tắc ở trên để thi hành Automate lai của hệ thống điều khiển : gói phần liên tục, gói phần rời rạc, gói giao diện bên trong, gói giao diện bên ngoài và gói ứng xử liên tục toàn cục hiện thời (IGCB). Kết nối truyền đạt giữa các gói chính bởi các cổng và giao thức, được mô tả
trong sơđồ cấu trúc gói Hình 3.6.
Hình 3.6 Sơ đồ cấu trúc gói của HDS công nghiệp 3.3.2Tiến trình thực thi Automate lai
Các giả thuyết [16], [18] mà chúng ta áp dụng cho tính thực thi của gói cơ bản (Main capsules) của Automate lai như sau:
- Nếu cuối tiến trình của phần rời rạc được xác định trước hoặc ngay khi khoảng chu kỳ lấy mẫu (T) của gói IGCB, thì mô hình liên tục IGCB hiện thời sẽ
chuyển sang mô hình IGCB mới tương ứng với tiến trình này,
- Nếu cuối tiến trình của phần rời rạc được xác định sau khi khoảng chu kỳ lấy mẫu (T), thì ICCB hiện thời không được chuyển đổi,
48
- Nếu có một sự kiện xuất hiện trong suốt tiến trình trong máy trạng thái ứng dụng, thì sự kiên này được ghi nhớ và được xử lý sau đó,
- Các sự kiện bên trong và bên ngoài xuất hiện sẽ có quá trình xử lý theo ứng xử
như gói phần rời rạc,
- Trong suốt chu kỳ lấy mẫu của gói IGCB, gói phần liên tục, gói giao diện bên trong và gói phần rời rạc, tiến trình riêng được tạo ra để có thể kết nối với chế độ hoạt động của IGCB; mô hình liên tục IGCB gợi lại trạng thái hiện thời của nó trong khoảng chu kỳ này,
- Trong suốt chu kỳ của gói IGCB, mô hình liên tục IGCB hiện thời đã phát hiện một vài trạng thái xuất hiện, thì khi đó ở cuối giai đoạn này, gói IGCB
đồng bộ với tất cả trạng thái này với khoảng thời gian trống, sau đó, mô hình liên tục IGCB hiện thời chuyển qua một chếđộ hoạt động mới tương ứng với trạng thái xuất hiện gần nhất trong suốt chu kỳ này.
Chúng ta đưa ra một ví dụ để giải thích giả thuyết này qua Automate lai, thể
hiện Hình 3.7, trong đó Fi là dòng liên tục, Ee1, Ee2, Ee3… là sự kiện bên ngoài.
Hình 3.7 Ví dụ về Automate lai
Chúng ta chuyển đổi Automate này thành Automate lai khác Hình 3.8, nó bao gồm sự kiện bên trong tạo ra trong gói giao diện bên ngoài và sẽ là máy trạng thái
ứng dụng.
Hình 3.8 Chuyển đổi Automate lai với sự kiện bên trong Ei
Khi xqinv(q4) và Guard_4_5=True; trong đó: qi là vị trí i, tiến trình này được thực hiện bởi máy trạng thái ứng dụng.
49
Sơđồ cạnh tranh thời gian để đưa ra các tiến trình của Automate lai này thể hiện bởi Hình 3.9.
Trong đó:
- Ee1, Ee2, Ee3…: các sự kiện bên ngoài,
- Ei1, Ei2 …: các sự kiện bên trong,
- q1, q2, …: các vị trí của amtomate lai,
- ec1, ec2, …, ecn: thể hiện các tiến trình của các phần tử liên tục trong phần liên tục của gói,
- T: chu kỳ lấy mẫu của gói IGCB.
Hình 3.9 Sơđồ cạnh tranh thời gian toàn cục của các gói cơ bản 3.3.3Đặc tả các gói cơ bản của HDS công nghiệp
Để giải thích chi tiết cấu trúc tĩnh và động của các gói cơ bản, chúng tôi sử
50
Hình 3.10thể hiện tiến trình trong khoảng thời gian cụ thể giữa các gói cơ bản của Automate lai đã nêu ở trên. Trong hình vẽ này, tất cả các thông điệp mà trao đổi giữa các gói cơ bản là không đồng bộ, khoảng thời gian giữa hai thông điệp “Timeout” gần nhau cho biết chu kỳ lấy mẫu của gói IGCB. Gói giao diện bên ngoài nhận các tín hiệu chu kỳ đến từ các thành phần thiết bị bên ngoài. Nó gửi thông điệp ‘ContinuosElement’ của phần tử liên tục tới gói IGCB để gói IGCB có thể gọi tất cả
các phần tử liên tục tương ứng với IGCB hiện tại là IGCB2. Trong suốt quá trình gợi lại chương trình của gói IGCB, gói giao diện bên ngoài nhận một sự kiện Ee3 từ các tác nhân của hệ thống phát triển, và gửi sự kiện này tới gói phần rời rạc. Khi đó, gói phần rời rạc ghi nhớ và sẽ xử lý sự kiện này. Nếu gói IGCB nhận thông điệp phần tử liên tục cuối (LastContinuousElement) từ gói phần tử liên tục, khi đó nó gửi thông
điệp tiến trình liên tục (ContinuosEvolution) tới gói phần liên tục để cho gói giao diện bên trong có thể nhận tất cả các biến số cập nhật. Gói giao diện bên trong xác định giá trị của vị trí q3, trong trường hợp này có một sự kiện bên trong được sinh ra. Khi
đó gói giao diện bên trong gửi những sự kiện này tới gói của phần rời rạc. Gói của phần rời rạc ghi nhớ và sẽ xử lý sự kiện này. Trong khoảng thời gian này, sự kiện Ee2
đã được xử lý bởi gói phần rời rạc. Gói IGCB xác định được IGCB3 cụ thể và truyền tín hiệu đầu ra tới gói giao diện bên ngoài. Cuối chu kỳ này, gói giao diện ngoài truyền sự kiện đầu ra và tín hiệu điều khiển tới môi trường ngoài của hệ thống phát triển, hệ thống này hoạt động với IGCB3 cụ thể.
51
Hình 3.10 Sơđồ diễn tiến của Automate lai đưa ra cho chu kỳ cụ thể [2T - 3T] tương ứng với Hình 3.9
3.3.4Mô tả chi tiết đặc tính các gói cơ bản
Gói phần rời rạc: gói phần rời rạc bao gồm tập hợp vị trí Q và tập dịch chuyển trạng thái A của Automate lai. Những gói này cũng bao gồm máy trạng thái
để nó tự tạo ra sự tiến trình với các gói khác như là các gói giao diện bên trong và các gói IGCB và để xử lý sự kiện phát sinh bên trong.
Gói phần liên tục: gói phần liên tục đặc tả các thực thi bởi các phần tử liên tục của HDS. Tiến trình của phần tử liên tục được thực hiện bởi các mẫu đồng bộ
(RendezVous-Semaphore) [5]. Gói phần liên tục cũng có một máy trạng thái để tạo nên tiến trình riêng với các gói như là gói IGCB và gói giao diện bên trong.
Gói IGCB: gói IGCB bao gồm dòng liên tục cụ thể của hệ thống điều khiển phát triển tại mọi thời điểm đưa ra trong Automate lai, ký hiệu là F. Mỗi dòng tương
52
ứng với một trạng thái của Automate lai này. Gói IGCB có một máy trạng thái để
tạo nên tiến trình riêng với các gói khác như là gói các phần rời rạc và gói giao diện bên ngoài. Trong tiến trình này gói IGCB thay đổi các tín hiệu theo chu kỳ.
Gói giao diện bên trong: gói giao diên bên trong sinh ra các sự kiện bên trong của HDS, từđó gói phần rời rạc đó có thể tạo nên tiến trình riêng theo những sự kiện đó. Nó có một máy trạng thái để tạo nên tiến trình riêng với các gói khác như là gói phần liên tục và gói phần rời rạc.
Gói giao diện bên ngoài: gói giao diện bên ngoài là gói trung gian dùng để
nhận và gửi các sự kiện rời rạc và tín hiệu tuần hoàn giữa hệ thống phát triển và các hệ thống tương tác giữa chúng. Gói giao diện bên ngoài có một máy trạng thái để
tạo nên tiến trình riêng với các gói khác như là gói phần rời rạc và gói IGCB. 3.3.5Kiểm tra mô hình thiết kế
Hiện nay không có tại các công cụ chuẩn nào dùng cho quá trình kiểm tra trực tiếp sự cộng tác các gói, nhưng có các phần mềm ứng dụng như là phần mềm kiểm tra “Rational Real-Time Test” [23]; nó có thể kiểm tra một tập hợp chuỗi đầu vào và
đối tượng đã xác định đểđảm bảo sự hoạt động của HDS phát triển.
Hơn nữa, chúng ta có thể sử dụng công cụ “B STERIA” [9] thư viện đối tượng B, nó có thể dùng để hỗ trợ tính tái sử dụng và để áp dụng cho các yêu cầu kiểm tra của các hệ thống phát triển. Cũng có các công cụ HYTECH [11] để kiểm tra mô hình phân tích với Automate lai của HDS.
3.3.6Nguyên tắc tái sử dụng các gói
Tính tái sử dụng rất quan trọng để phát triển hệ thống điều khiển công nghiệp, bởi vì nó có thể làm giảm về mặt thời gian và giảm giá thành. Chúng ta thấy các khung nhìn tái sử dụng khác nhau trong sự phát triển của HDS công nghiệp [16], [19], [24] như là:
- Khung nhìn tái sử dụng dựa trên cơ chếảo của các đối tượng, các lớp hoặc lớp phân cấp.
53
- Khung nhìn tái sử dụng dựa trên sự cộng tác các gói. Ví dụ, máy trạng thái tổng quan của gói chính được xác định, các điều kiện ràng buộc trong công nghiệp có thểđược thích ứng để phát triển ứng dụng trong công nghiệp.
Để cụ thể hóa, chúng ta có thể đưa ra nguyên tắc để tái sử dụng các gói hợp tác của một HDS công nghiệp đã phát triển trong áp dụng mới, được thể hiện
ở bảng sau:
Bảng 3.1 Nguyên tắc tái sử dụng của các gói.
Các gói của hệ thống động lực lai công nghiệp
Mô tả đặc trưng
Gói phần rời rạc
Phần đặc trưng gói của các phần rời rạc được thực hiện bằng việc thêm vào hoặc loại bỏ các vị trí mà được mô tả ở tiến trình trạng thái của máy trạng thái. Cổng và giao thức của gói này giữ nguyên cùng mức độ tổng quan cho ứng dụng HDS công nghiệp khác nhau.
Gói phần liên tục
Gói của phần liên tục được thực hiện bởi sự thêm vào hoặc loại bỏ phần tử liên tục cụ thể. Xuất phát từ các phần tử liên tục thêm vào hoặc loại bỏ, các trạng thái cũng được thêm vào hoặc loại bỏ trong máy trạng thái của gói này. Những cổng và giao thức của gói này giữ
nguyên cùng mức độ tổng quan cho ứng dụng HDS công nghiệp khác nhau.
Gói IGCB
Đặc trưng của gói IGCB thể hiện ứng xử liên tục toàn cục tức thời mới, được hình thành bởi cấu trúc phần tử
liên tục mới trong gói phần liên tục. Bước nhảy (Jump) xuất hiện trong giá trị ban đầu của mỗi ứng xử liên tục phải được đồng nhất hóa. Máy trạng thái và các cổng của gói này giữ nguyên cùng mức độ tổng quan cho các
54
giao thức cho gói, các thông điệp của nó có thể được xác định từ các trạng thái thêm vào hoặc loại bỏ của gói phần rời rạc.
Gói giao diện bên ngoài
Gói giao diện bên ngoài được cụ thể hóa bởi sự thêm hoặc loại bỏ các sự kiện đầu vào hoặc đầu ra. Tiếp theo, chúng ta ta thêm hoặc bớt những sự kiện này trong giao thức của gói. Máy trạng thái và các cổng của những gói này giữ nguyên cùng mức độ tổng quan cho các ứng dụng HDS công nghiệp khác nhau.
Gói giao diện bên trong
Đặc trưng của gói giao diện bên trong được tiến hành bởi thêm vào hoặc loại bỏ các đại lượng bất biến mới và
điều kiện mới. Máy trạng thái và các cổng của những gói này giữ nguyên cùng mức độ tổng quan cho ứng dụng HDS công nghiệp khác nhau.
Sơ đồ cấu trúc gói được giới thiệu Hình 3.6 trên thể hiện sự kết nối giữa các gói chính được thực thi bởi các cổng và giao thức. Những kết nối này giữ nguyên cùng mức độ chung cho ứng dụng HDS công nghiệp khác nhau.
3.3.7Lựa chọn ngôn ngữ công nghiệp để thực thi HDS công nghiệp
Để tiến hành triển khai một HDS, chúng ta có thể sử dụng các ngôn ngữ lập trình khác nhau như là: B, C++, Java, LabVIEW, IEC1131, IEC61499.v.v… nhằm thực thi mô hình thiết kế của nó. Nhưng chúng ta quan tâm đến qui trình thực thi một HDS công nghiệp; do đó, chúng ta có thể lựa chọn một ngôn ngữ công nghiệp như là: IEC1131 và IEC61499 [2], [3] để thực thi mô hình thiết kế của HDS này. Trong giới hạn luận văn, chúng tôi chỉ đề cập đến mô hình hóa, phân tích, thiết kế và mô phỏng các HDS công nghiệp không đề cập tới bước triển khai mô hình HDS thực tế. Một số kết quả ví dụ của phương pháp này có thể tham khảo trong [16], [23], [27].
55
Chương tiếp theo, chúng tôi sẽ áp dụng toàn bộ lý thuyết được trình bày ở
trên để mô hình hóa, phân tích, thiết kế và mô phỏng đối với một hệ thống động lực lai công nghiệp cụ thể.
56
Chương 4- ÁP DỤNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG ĐIỀU TỐC ĐIỆN TỬ THỦY LỰC VỚI REALTIME UML
Có rất nhiều nơi trên thế giới, mạng lưới cung cấp điện quốc gia rất xa với vùng dân cư sinh sống, trong đó có Việt Nam. Các nhà máy thủy điện nhỏđược xây dựng để đảm bảo cuộc sống dân sinh những vùng xa xôi này. Chất lượng của các nhà máy thủy điện nhỏ theo các chỉ số: sựổn định và chính xác của tần số, ổn định
điện áp trong quá trình hoạt động và cung cấp năng lượng tốt của nhà máy thủy điện nhỏ. Chúng tôi áp dụng phương pháp được mô tả trong các mục trước đểđưa ra mô hình phân tích, thiết kế và mô phỏng cho hệ thống “Điều tốc Điện tử - Thủy lực” EHG (Electro-Hydraulic Governor). Hệ thống này cho phép tần số máy phát điện
ổn định cho trạm thủy điện có công suất thấp hơn 10.000 kW. Hệ thống này đã
được phát triển bởi nhóm nghiên cứu tại Trung tâm Năng lượng mới, Trường Đại học Bách Khoa vào thập kỷ 90 của thế kỷ 20. Hệ thống đã được phát triển với công nghệ liên tục (Analog technology). Vì vậy, trong luận văn này chúng tôi không đặc tả chi tiết các chức năng của EHG; chức năng chính của EHG như sau:
- Cho phép ổn định tần số của máy phát điện khi tải thay đổi,
- Đóng nhanh trạm thủy điện trong các trường hợp nguy hiểm (ví dụ: quá tải, lồng tốc, các sự cố của các hệ thống con trong trạm thủy điện v.v…),
- Hòa đồng bộ với EHG khác để phân chia khả năng chịu tải khi nguồn tiêu thụ lớn.
Với chức năng hoạt động của EHG, ta thấy rằng EHG là một hệ thống động lực lai công nghiệp. Hơn thế nữa, EHG bao gồm các sự kiện bên ngoài như là nối hoặc không kết nối với hệ thống tiêu thụ điện năng và các sự kiện bên trong được
định rõ bằng các thành phần như là bộ giới hạn (Limiter) của phần điều khiển.
Chúng ta áp dụng phương pháp luận đã được mô tả trong chương 3 để phân tích, thiết kế và mô phỏng EHG:
57
- Xác định sơ đồ khối chức năng mở rộng của EHG; thêm vào bộ giới hạn để
cải thiện chất lượng của hệ thống này trong hai trường hợp: trường hợp hòa
đồng bộ EHG và trường hợp EHG hoạt động độc lập,
- Xác định Automate lai của EHG,
- Xác định gói điều khiển chính của EHG kèm theo cổng và các giao thức. Việc mô phỏng chất lượng điều chỉnh EHG có thể chọn công cụ Matlab- Simulink để thực hiện kèm theo các luật chuyển đổi từ bản thiết kế sang các thành phần mô phỏng của công cụ này.
4.1 Mô hình phân tích của EHG
4.1.1 Mô hình trường hợp sử dụng của EHG
- Các tác nhân (Actors) tham gia vào EHG bao gồm: hệ thống đo lường thiết bị điện (EMS - Electric Measurement System), hệ thống tiêu thụ điện năng (ECS - Electric Consumtion System) và người bảo trì hệ thống (Maintainer);
- Các trường hợp sử dụng của EHG bao gồm: vận hành (Drive), an toàn (Security), bảo trì (Maintain) và cấu hình (Configure).
Mô hình trường hợp sử dụng của EHG được giới thiệu theo Hình 4.1 sau:
58
4.1.2Ứng xửđộng của các trường hợp sử dụng
Các ứng xử trong trường hợp sử dụng “Cấu hình” thể hiện trong Hình 4.2:
Hình 4.2 Sơđồ diễn tiến trong trường hợp sử dụng: “Cấu hình”
59
Một trong các trường hợp sử dụng quan trọng nhất trong EHG là “Vận