控制程序檢視原始碼討論檢視歷史
控制程序就是事先編製程序實現的自動控制。 理論和實踐證明,無論多複雜的算法均可通過順序、選擇、循環3種基本控制結構構造出來。每種結構僅有一個入口和出口。由這3種基本結構組成的多層嵌套程序稱為結構化程序。所謂順序結構程序就是指按語句出現的先後順序執行的程序結構,是結構化程序中最簡單的結構。[1]
方式方法
程序控制方式是指在程序控制下進行的數據傳遞方式。 在完成外設數據的輸入輸出中,整個輸入輸出過程是在CPU執行程序的控制下完成的。這種方式分為以下兩種情況: 無條件傳送方式 無條件傳送方式是在假定外設已經準備好的情況下,直接利用輸入指令(IN指令)或輸出指令(OUT指令)與外設傳送數據,而不去檢查(查詢)外設的工作狀態。這種傳送方式的優點是控制程序簡單。但它必須是在外設已經準備好的情況下才能使用,否則傳送就會出錯。所以在實際應用中無條件傳送方式使用較少,只用於一些較簡單外設的操作,如對開關信號的輸入,對LED顯示器的輸出等。 在此情況下,外設總是準備好的,它可以無條件地隨時接收CPU發來的輸出數據,也能夠無條件地隨時向CPU提供需要輸入 的數據。 程序查詢傳送方式 程序查詢傳送方式也稱為條件傳送方式。在這種方式下,利用查詢方式進行輸入輸出,就是CPU通過執行程序查詢外設的狀態,判斷外設是否準備好接收數據或準備好了向CPU輸入的數據。根據這種狀態,CPU有針對性地為外設的輸入輸出服務。 一個用戶程序的執行自始至終是在操作系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序後就將該程序連同對它執行的要求輸入到計算機內,操作系統就根據要求控制這個用戶程序的執行直到結束。操作系統控制用戶的執行主要有以下一些內容:調入相應的編譯程序,將用某種程序設計語言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啟動,按用戶指定的要求處理執行中出現的各種事件以及與操作員聯繫請示有關意外事件的處理等。 對於程序查詢傳送方式來說,一個數據傳送可由3步完成: (1)CPU從接口中讀取狀態信息; (2)CPU檢測狀態字的對應位是否滿足「就緒」條件,如果不滿足,則回到前一步繼續讀取狀態信息; (3)如果狀態字表明外設已處於「就緒」狀態,則傳送數據。
舉例
例如利用加熱器調節房間的溫度即可視為一個過程,因為其目的是要使一輸出量(在此例中是溫度)到達一理想值內(例如20度),且此輸出量不隨時間變化。在此例中溫度是一個控制變量,不過若用溫度計量測溫度,決定是否加熱,溫度也同時是輸入變量,。理想的溫度(20度)為目標值,加熱器的狀態(如加熱器控制熱水流量的閥門)會隨控制而改變,則是受控變量。過程控制的控制變量通常是溫度T、壓力P、流量F、液位L、成分A、PH值之等的過程變量。 常見的控制設備是可程序邏輯控制器,簡稱 PLC。PLC讀取許多模擬或數字的輸入,內部程序會根據輸入產生模擬或數位的輸出。若以上一段的例子延伸,房間的溫度是 PLC 的輸入,內部程序會比較輸入變量及目標值的差異,再決定是否加熱量要增加或是減少。PLC 的輸出會用來改變加熱器閥門開啟的大小。更大(或更複雜)的系統可能會由分布式控制系統(Distributed Control System, DCS)或SCADA來加以控制。