Mô hình vòng điều khiển áp dụng cho vấn đề thường thấy trong cách nhìn OO
Kiến trúc vòng điều khiển làm rõ các khía cạnh kiến trúc của vấn đề
Trước đây được sử dụng để khám phá sự khác biệt giữa OO và lập trình theo thủ tục
Kiểm soát hành trình tiếp tục
Hệ thống kiểm soát hành trình duy trì tốc độ của ô tô, ngay cả trên các địa hình khác nhau.
Đầu vào:
Hệ thống bật / tắt
Bật / tắt động cơ
Xung từ bánh xe
Máy gia tốc
Phanh
Tăng / giảm tốc độ
Tiếp tục tốc độ
Xung đồng hồ
Đầu ra
Van tiết lưu
Kiểm soát hành trình tiếp tục
Làm thế nào để lấy đầu ra từ các đầu vào?
Đầu vào cung cấp hai loại thông tin:
Điều khiển hành trình có được bật không?
Nếu có, tốc độ nào nên được duy trì?
Đầu ra là một giá trị để điều chỉnh van tiết lưu động cơ
Tín hiệu tương ứng sẽ thay đổi cài đặt bướm ga
Một điều khiển hành trình thông thường hơn sẽ chỉ định kiểm soát tốc độ hiện tại
Tốc độ hiện tại ở đây chỉ ngầm định là tốc độ duy trì
Kiểm soát hành trình tiếp tục
Xung đồng hồ mili giây
Được sử dụng kết hợp với xung bánh xe để xác định tốc độ hiện tại
Quá trình tính toán tốc độ sẽ đếm số xung đồng hồ giữa các xung bánh xe
Vấn đề đã được chỉ định quá mức
Không yêu cầu một xung đồng hồ hệ thống duy nhất
Kiểm soát hành trình tiếp tục
Trình bày lại vấn đề:
Bất cứ khi nào hệ thống hoạt động, hãy xác định tốc độ mong muốn và điều khiển việc điều chỉnh van tiết lưu động cơ để duy trì tốc độ đó
Giải pháp 1: Cách nhìn OO
Phân rã OO được tổ chức xung quanh các đối tượng tồn tại trong mô tả nhiệm vụ
Tương ứng với số lượng và các thực thể vật lý trong hệ thống
Giọt – đối tượng
Đường – sự phụ thuộc giữa các đối tượng
Tốc độ mong muốn xuất hiện ở đây dưới dạng tốc độ mục tiêu
Không xuất hiện rõ ràng trong phát biểu vấn đề ban đầu
Mô hình kiểm soát quá trình
Quá trình liên tục chuyển đổi nguyên liệu đầu vào thành sản phẩm
Giá trị của các thuộc tính có thể đo lường của trạng thái hệ thống tạo thành các biến của quá trình
Không bị nhầm lẫn với các biến chương trình
Các biến số của quá trình đo lường nguyên liệu đầu ra được gọi là các biến số có kiểm soát của quá trình
Các biến được điều khiển được liên kết với những thứ có thể được thay đổi bởi hệ thống điều khiển để điều chỉnh quá trình
Mô hình kiểm soát quá trình tiếp tục
Các định nghĩa
Biến quá trình (Process variables)
Biến được kiểm soát (Controlled variables)
Biến đầu vào (Input variables)
Biến được điều khiển (Manipulated variables)
Điểm đặt (Set point)
Vòng lặp mở (Open-loop)
Vòng kín (Closed-loop)
Hệ thống kiểm soát phản hồi (Feedback control system)
Hệ thống điều khiển nạp liệu (Feedforward control system)
Mô hình kiểm soát quá trình tiếp tục
Mục đích của hệ thống điều khiển là duy trì các thuộc tính cụ thể của đầu ra của quá trình tại các giá trị tham chiếu đã cho được gọi là điểm đặt
Mô hình phần mềm cho hệ thống điều khiển
Một kiểu kiến trúc kiểm soát các quá trình liên tục có thể dựa trên vòng lặp kiểm soát quá trình:
Các phần tử tính toán:
Định nghĩa quá trình
Thuật toán điều khiển
Phần tử dữ liệu
Các biến quá trình
Điểm đặt
Cảm biến
Mô hình vòng điều khiển
Mô hình phần mềm cho hệ thống điều khiển tiếp tục
Kết quả trong một loại kiến trúc luồng dữ liệu cụ thể
Ngoài việc cung cấp dữ liệu cho nhau, mô hình giả định rằng dữ liệu được cập nhật liên tục
Yêu cầu cấu trúc liên kết tuần hoàn
Sự bất đối xứng giữa phần tử điều khiển và phần tử quá trình
Giải pháp 2: Cách nhìn kiểm soát quá trình
Kiến trúc cách nhìn điều khiển có thể phù hợp khi phần mềm được nhúng liên quan đến hoạt động liên tục
Hệ thống điều khiển hành trình được cho là duy trì tốc độ không đổi trong xe ô tô mặc dù có sự thay đổi về địa hình, tải trọng, lực cản không khí, chất lượng nhiên liệu,…
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Xác định các phần tử hệ thống thiết yếu
Các phần tử tính toán
Định nghĩa quá trình: quá trình nhận cài đặt van tiết lưu và quay bánh xe
Quá trình này lấy cài đặt bướm ga làm đầu vào và kiểm soát tốc độ của xe
Thuật toán điều khiển: thuật toán mô hình hóa tốc độ hiện tại từ các xung bánh xe, so sánh nó với tốc độ mong muốn và thay đổi thiết lập van tiết lưu
Đầu vào xung đồng hồ cần thiết
Cài đặt van tiết lưu hiện tại phải được duy trì
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Xác định các phần tử hệ thống thiết yếu
Phần tử dữ liệu
Biến được điều khiển: tốc độ hiện tại của xe
Biến được thao tác: cài đặt van tiết lưu
Điểm đặt: tốc độ mong muốn, một số đầu vào
Cảm biến cho biến được điều khiển: tốc độ hiện tại
Được mô hình hóa dựa trên dữ liệu từ các xung bánh xe bằng cách sử dụng xung đồng hồ
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Hai bài toán con:
Bất cứ khi nào hệ thống hoạt động, hãy xác định tốc độ mong muốn
Kiểm soát cài đặt bướm ga động cơ để duy trì tốc độ mong muốn
Đây là vấn đề kiểm soát thực tế
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Kiến trúc điều khiển cho hệ thống điều khiển:
Mô hình hóa tốc độ hiện tại từ các xung bánh xe
Xung bánh xe nên được lấy từ đâu?
Người kiểm soát có toàn quyền kiểm soát quá trình không?
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Tính toán điểm đặt:
Hai đầu vào đại diện cho luồng dữ liệu
Hoạt động/ không hoạt động
Tốc độ mong muốn
Bộ điều khiển là một chức năng đánh giá liên tục phù hợp với đặc tính luồng dữ liệu của các đầu vào và đầu ra
Hai phần:
Hệ thống có hoạt động không?
Xác định tốc độ mong muốn
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Bản tóm tắt
Các đối tượng trong khung nhìn OO có vai trò trong hệ thống kết quả
Sử dụng kiến trúc vòng điều khiển cho toàn bộ hệ thống
Các kiến trúc khác để xây dựng các phần tử
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Phân tích và thảo luận
Việc lựa chọn một kiến trúc cam kết nhà thiết kế đến một cái nhìn cụ thể của vấn đề
Các kiến trúc OO được hỗ trợ bởi các phương pháp luận
Phương pháp luận cho vòng điều khiển?
Giải pháp 2: Cách nhìn kiểm soát quá trình tiếp tục
Một phương pháp luận sẽ giúp nhà thiết kế quyết định khi nào kiến trúc phù hợp
Một phương pháp luận phải giúp nhà thiết kế xác định các phần tử của thiết kế và các tương tác của chúng
Tìm các đối tượng trong oo
Một phương pháp luận sẽ giúp nhà thiết kế xác định các quyết định thiết kế quan trọng