李雪霞 楊靜

摘 要:當今時期計算機技術取得了高速發展,對社會進步做出巨大貢獻。計算機技術同繼電器控制技術合理結合,直接促進可編程邏輯控制器(PLC)的出現,PLC在現代工業中扮演重要角色,具有非常廣泛的應用前景。但是由于PLC的運行系統、以及開發系統自身存在一些弊端,導致部分高端應用的需求無法得到滿足。文章通過對基于ARM-Linux的可編程自動化控制器的研究分析,希望能夠有效解決上述問題。
關鍵詞:ARM-Linux;編程;自動化控制器
中圖分類號:TM571.61 文獻標識碼:A 文章編號:1006-8937(2016)14-0067-01
與PLC相比較,可編程自動控制器(PAC)更加具有優勢,能夠滿足高端應用對網絡通訊、開放性、以及控制算法等方面的需求,同時PAC性能更加可靠穩定,對工業控制自動化的未來發展具有至關重要的作用。本文通過對PAC運行系統的工作原理、以及各項特征的了解,同時同軟件結構、硬件結構相結合,最終在ARM一Linux軟硬件的架構下,設計一種具有開放性能的可編程自動化控制器通用開發平臺。
1 PAC系統以及技術支持
可編程自動化控制器的出現和發展,對傳統工業自動化控制系統具有至關重要的作用。作為一種全新型控制器,具有取代、擴充可編程控制器的性能。在現代計算機技術和網絡技術的支持下,可編程自動化控制器的數據形式、控制功能、通信模式以及硬件結構更加完整先進。
1.1 PAC開發系統和運行系統
通過將開發系統與運行系統相分離,有利于為以后軟件的開發、升級、維護等工作服務,而且能夠方便移植運行系統到各異的硬件平臺中。作為PAC的核心組成,運行系統通過完成通訊工作、程序的輸入處理、執行處理、輸出處理、以及數據庫等內容,以此幫助系統完成控制管理;開發系統主要處在電腦系統中,在編好程序的基礎上,生成可執行代碼。開發系統能夠在PC機廣闊寬泛的開發環境下,充分提高其開發效率[1]。開發系統主要包括數據庫模塊、界面組成模塊、以及PLC模擬器。從運行系統的執行角度分析,又可以將PAC分成解釋型和編譯型兩個方面。編譯型的用戶程序,提前將指令編譯成代碼,同時保持代碼具有可執行性,有利于避免出現散轉、查找指令的過程;而解釋型PAC主要是PLC虛擬機接受指令、解釋、以及執行等命令,然后進行逐步執行,具有執行效率低、移植性弱等特點。
1.2 PAC的硬件結構
通常情況下,PAC硬件結構主要由繼電器輸出電路、外圍電路、ARM開發板、AD轉換電路、PWM電路、以及光耦輸入等設備組成。在光電隔離的影響下,外部輸入的開關量同ARM的輸入口進行相連接,然后經CPU處理,最后由晶體管電路、或者繼電器進行輸出。
1.3 PAC的軟件結構
PAC運行系統的軟件結構,一般來說由應用程序和系統程序所組成。而系統程序又由PAC系統程序、Linux操作系統。PAC系統程序能夠對功能子函數、以及運行環境起到支撐作用;Linux操作系統能夠將系統的各項任務合理完成,比如說時鐘管理、存儲分配、中斷管理、任務調度、以及為用戶提供數據庫、網絡、界面互換、驅動等功能。用戶程序指令在運行環境的基礎下,將指令傳遞到操作系統,然后操作系統在驅動程序的幫助下實現操作。
2 PAC系統設計及工作模式
2.1 PAC運行系統運行環境設計
編譯型PAC的運行系統主要由系統初始化、加載用戶程序、通訊程序、掃描輸入、掃描輸出、下載程序、以及系統自檢程序所組成。系統運行過程主要流程如下:首先,Linux和Uboot程序的初始化;然后是類似C區、M區、T區、X區、Y區等數據區,或者程序區的申請;其次,運行環境的建立,包括時鐘線程、管理線程、界面線程、任務執行線程等內容。最后,根據PAC工作模式依次進行調試階段、運行階段、以及停止階段。
2.2 軟PLC的寄存器及指令系統設計
軟PLC主要包括C計數器寄存器、M輔助寄存器、X輸入端口寄存器、Y輸出端口寄存器、T定時器寄存器等等。本次系統的指令主要由以下幾部分組成:基本指令、數據類型轉換、數據比較指令、數據移位指令、數據選擇指令、數學運算,以及字符串的處理、通訊、計數器、模數轉換等算法模塊。
2.3 PAC系統運行模式
PAC中的編譯型運行系統存在系統初始化、信號通訊、輸入、程序下載、加載程序、輸出及系統自檢功能等。系統運行的流程圖,如圖1所示。
PAC系統運行中需要進行初始化程序,首先需要進行的是Linux的初始化和Uboot的初始化。完成初始化之后,系統申請數據區間與程序區間,比如系統中的輸出寄存器、輸入寄存器、時間寄存器、計數寄存器和輔助寄存器等。完成程序與數據空間申請,系統將進行線程創建,主要創建的線程包括時鐘線程、任務線程和界面線程等,建立線程后完成軟PLC運行環境的建立。與傳統PLC一樣,PAC同樣存在三種運行模式,即調試模式、運行模式和停止模式。對于PAC來講,調試模式中,系統通過初始化后,進行掃描輸入,并對網口和串口進行掃描,將上位機通訊模塊下載的程序BIN存儲到某個用戶序區,留待加載命令,執行命令。在運行模式中,系統初始化后,掃描輸入,但不在對網口和串口進行掃描,而是直接將用戶序區中的程序加載使用。
與PLC一樣,系統工作運行過程可分成三個部分,分別是輸入部分,執行處理部分和輸出部分,這三個部分合在一起,便是一個掃描周期。當系統運行結束之后,將執行結束進程命令,并發送關閉信息,程序接收到結束指令后,立即停止運行,并將建立的線程全部注銷,釋放出更多的資源,保證PAC系統運行順暢。PAC是在PLC的基礎上發展而來,兼具PLC程序執行的特征,需要一步一步的執行加載的程序,因此,程序邏輯性十分重要,而通常都是由前至后逐步執行,從而得到最終結果,屬于串行工作模式。
通過該模式導致的滯后時間,一般不會超過兩個掃描周期,在無特殊要求的控制系統中,滯后時間帶來的影響無關緊要,而少數控制系統要求高精度,控制過程需要做到“令行靜止”的效果,所以需要采取提升PAC系統的靈敏度,降低滯后時間,更好的實現精密控制。
3 結 語
總的來講,可編程自動控制器(PAC)充分借鑒了PLC以及PC的各項優勢,技術性能得到進一步優化,隨著技術的日漸發展和完善,將會對工業自動化的發展起到直接影響,必將會成為控制系統的關鍵因素。PAC不僅僅對自動化技術起到推進作用,同時對控制器在設計方面,以及集成等方面都具有跨時代的意義。因此,相關研究人員必須做好對PAC的進一步研究,以此推動我國自動化技術跨步發展。
參考文獻:
[1] 鄭誠.基于Linux+Qt的超高絕緣電阻測量系統控制模塊設計與實現[J].工業控制計算機,2015,(5).