曹立峰,柴君飛,曹廣志
(徐州重型機械有限公司,江蘇 徐州 221004)
電子信息產業的迅猛發展,為工程機械領域帶來了新一輪的革命。PLC、嵌入式系統、智能化控制、分布式控制等技術在工程機械領域的應用,引領著工程機械逐步走向高端化、智能化。
工程機械領域內對于控制系統的應用并不算高端,現有工程機械領域,比較主流的是采用16 位CPU的控制器,存儲系統為1~2M的ROM、2~16M的RAM,外部接口資源以開關量、PWM(脈寬調制) 以及通訊(CAN、RS232)等為主,個別簡單的工程機械產品的控制系統還停留在8 位的單片機上。
這些控制器多有一個特點,即由于CPU、存儲系統的限制,一般無操作系統。

圖1
由圖1 可以看出,控制程序直接運行在硬件之上,由于缺少操作系統的支持,控制程序一般都是以單任務的形式運行。
不可否認,針對于某一項應用,精細推敲的應用程序也許效率非常高,但對于一般開發人員而言,帶有操作系統的控制器無疑可以提高資源的利用率,尤其在外部資源不斷增長、產品可靠性和進入市場時間更重要的今天,如果每個應用項目都要從最底層開始做起,顯然效率非常低。
RTOS(Real-Time Operating System)即“實時操作系統”,簡單地說,實時系統定義為:在指定或確定的時間內可以完成系統功能和外部或內部、同步或異步時間做出相應的操作系統。
一般RTOS的結構如圖2 所示。

圖2
一般支持操作系統的控制器硬件都具有以下特點:強大高速的CPU、大容量的存儲系統、豐富的外圍接口資源等。這類控制器多是屬于高端控制器,在運算、處理等方面具有非常大的優勢。

圖3
對比圖1、圖3,帶有RTOS的控制器硬件與應用程序之間多了一層系統層將應用程序與硬件隔離開,同時支持多個應用程序并行。
由于RTOS 將硬件層隔開,使得應用程序的設計和擴展變得容易,不需要大的改動就可以增加一些新功能;同時,將單個應用程序分割成多個獨立的任務模塊,使得開發、管理變得更容易,設計過程被大大簡化;而且,由于實時系統對實時性要求苛刻的時間都可以快速、可靠地響應,極大地提高了系統的可靠性。
雖然RTOS的運行需要額外的存儲系統和占用一部分CPU 資源,但在電子技術飛速發展的今天,半導體器件越來越便宜,這些額外開銷與系統整體性能的提升相比無疑是值得的。
下面以大噸位汽車起重機為例,通過對比來體驗RTOS在系統性能、安全性及可靠性方面帶來的提升。
3.3.1 大噸位起重機基本控制策略的介紹及分析
大噸位起重機控制系統基本分為兩大塊:一是力矩限制器功能;二是動作控制功能。
由于力矩限制程序的計算量非常大,因而需要專用控制器,另外,動作控制一個單獨的控制器。基本控制過程如下:首先動作控制程序采集輸入信號;然后通過輸入信號判斷動作的執行情況;確定了將要動作但不能馬上輸出,還要通過各種檢測裝置判斷是否允許輸出,即執行安全策略;最后將沒有危險的動作控制輸出(如圖4)。

圖4
假如力矩限制器與動作控制器之間采用總線連接,忽略總線傳輸數據的時間,那么整個控制流程中時間占用最多的是:力矩限制器計算程序、動作控制程序及安全策略三個部分。其中,由于采用獨立的力矩限制器,動作控制所占的時間和力矩限制器計算程序幾乎決定了系統的相應速度。
依據實際應用情況,進一步分析各個部分所占用的時間:力矩限制器程序執行時間約為200ms;輸入信號采集及輸出調節約各占50ms;安全策略約占100ms;動作控制是程序的主體部分,依據動作控制的細化程度及硬件設備,執行一個周期的時間不同,如果動作控制的精細化程度很高(具有復雜的數學運算),執行周期約為200ms,最壞情況可能達到1000ms。
3.3.2 支持RTOS的控制器與普通控制器在應用上的對比
(1)依據上述程序的執行時間,模擬程序在普通PLC控制器上的執行情況(模擬最好情況),如圖5。
由圖5 時序圖中可以看出,即便是力矩限制器計算程序與傳輸過程配合得正好,也需要400~1300ms。正常的程序執行過程中也是可以接受的,但是如果出現危急情況,控制程序也需要同樣的時間(600~1500ms)相應。在最極端惡劣的情況下,如果復雜的動作控制程序模塊有缺陷,恰好動作控制出現無響應,那么安全策略不會得到執行,輸出模塊一直維持上一個循環周期的輸出。此時將嚴重危及設備及人員的安全。

圖5
(2)如果采用支持RTOS的控制器進行模擬,我們設定安全策略及輸入輸出模塊必須在100ms的時間內予以相應,此時的時序圖(模擬最壞情況)如圖6 所示。

圖6
由圖6 可以看出,我們設定了幾個模塊的最長響應時間,即使動作控制模塊不響應,由于有實時系統的調度,輸入、輸出、安全策略三個模塊依然會每隔100ms 響應一次,圖6 模擬了最壞的時序情況(灰色部分標識)。
最壞的情況:力矩限制器計算出當前工況后,輸入模塊100ms 后響應,此時不論動作控制模塊是否完成,再過100ms 安全策略模塊也一定得到響應,再過100ms 后輸出模塊也得到響應。所以在最壞的情況下,一旦力矩限制器或其它輸入情況檢測到有危險情況,程序最壞也能在500ms 內得到響應并停止危險動作。
(3)通過對比可以看出,支持RTOS的控制器在最壞的情況下,也能夠在500ms 內得到響應;而普通PLC 控制器在正常情況下也需要600~1500ms 得到響應,在最壞情況下可能不響應。因而,支持RTOS的控制器的優勢非常明顯。
由于RTOS 可以使實時性要求非常苛刻的時間都得到快速、可靠的處理,可以調度硬件資源盡最大可能滿足功能的要求,因而可以極大地提高系統的可靠性和效率。在RTOS 環境下開發一個復雜的應用程序,可以依照軟件工程中低耦合的原則,將程序分解成若干個任務模塊并行開發,各個模塊的修改升級對其它的模塊影響很小,可以極大地提高開發效率,縮短開發周期。
在硬件方面,由于電子技術的飛速發展,CPU、存儲等半導體器件越來越便宜,硬件成本也在降低。所以,支持RTOS的控制器正在成為市場的新寵,受到越來越多的青睞。
[1]LIQ,et al.Real-Time Concepts for Embedded Systems[M].CMP Books,2003.
[2]王學龍.嵌入式VxWorks 系統開發與應用[M].北京:人民郵電出版社,2003.
[3]杜春雷.ARM 體系結構與編程[M].北京:清華大學出版社,2003.