基于VxWorks實(shí)時嵌入式PLC設(shè)計
前言
可編程控制器(PLC)對機(jī)床開關(guān)量信號進(jìn)行控制時可靠性高,使用方便,在大多數(shù)數(shù)控機(jī)床,特別是經(jīng)濟(jì)型數(shù)控機(jī)床中,要求的輸入輸出點(diǎn)數(shù)不多的情況下得到廣泛應(yīng)用。在兼用PC 機(jī)系統(tǒng)資源的情況下,采用Windows 的分時性,沒有考慮到實(shí)時環(huán)境的開發(fā)用途,其系統(tǒng)調(diào)用的效率不高,不能滿足數(shù)控系統(tǒng)高實(shí)時場合PLC 控制的實(shí)時性要求。
VxWorks 作為一運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式實(shí)時操作系統(tǒng),目前以其良好的可靠性和卓越的實(shí)時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時性要求極高的領(lǐng)域。
本文基于 VxWorks 操作系統(tǒng),提出了基于VxWorks 的嵌入式實(shí)時PLC 設(shè)計的方法與應(yīng)用,利用VxWorks 的開放性、模塊化和可擴(kuò)展性的系統(tǒng)結(jié)構(gòu)特性以及多線程/多任務(wù)的系統(tǒng)環(huán)境來達(dá)到高實(shí)時要求的PLC 控制,在保證實(shí)時性的同時,實(shí)現(xiàn)多點(diǎn)位、復(fù)雜功能的PLC系統(tǒng)控制目標(biāo)。
1、傳統(tǒng) PLC 系統(tǒng)的結(jié)構(gòu)
相比較傳統(tǒng)的的基于通用工業(yè) PC 的工業(yè)PLC,其數(shù)控系統(tǒng)嵌入式PLC 硬件包括:工控機(jī)及其外圍設(shè)備,基于ISA 總線的開關(guān)量輸入輸出接口卡,光電隔離模塊,繼電器輸出模塊。其結(jié)構(gòu)如圖1 所示。
工控機(jī)采用 Windows 等非實(shí)時操作系統(tǒng),數(shù)控系統(tǒng)的人機(jī)界面、數(shù)控代碼處理、軌跡劃、參數(shù)管理以及PLC 控制都通過工控機(jī)由軟件來實(shí)現(xiàn),不需要獨(dú)立的NC 控制器,減少了數(shù)控系統(tǒng)對硬件的依賴,有利于提高系統(tǒng)的開放性。I/O 輸入輸出信息通過PC 機(jī)I/O 接口卡實(shí)現(xiàn)主機(jī)與伺服接口模塊和I/O 接口模塊之間的信息交換,PC 機(jī)I/O 接口卡基于ISA或PCI的總線。雖然其相較最初的單片機(jī)的控制加入了工業(yè)PC 來拓展其開放性,但是由于沒有充分利用PC 機(jī)系統(tǒng)資源,而開發(fā)和運(yùn)行都采用的非實(shí)時多任務(wù)操作系統(tǒng)(如Windows,Linux)時,其設(shè)計沒有考慮到實(shí)時環(huán)境的開發(fā)用途,其系統(tǒng)調(diào)用的效率不高,數(shù)控系統(tǒng)PLC控制不能滿足一些高精度場合的實(shí)時性要求。
2、基于嵌入式系統(tǒng)的實(shí)時PLC 系統(tǒng)結(jié)構(gòu)
嵌入式實(shí)時 PLC 系統(tǒng),一般由開發(fā)系統(tǒng)和實(shí)時運(yùn)行系統(tǒng)兩部分組成,是相互獨(dú)立而又密不可分的兩個系統(tǒng),可以分別單獨(dú)運(yùn)行。開發(fā)系統(tǒng)基于PC 機(jī),建立在Windows 操作系統(tǒng)平臺之上,提供了PLC 應(yīng)用程序的編寫及其編譯調(diào)試環(huán)境。開發(fā)系統(tǒng)與實(shí)時運(yùn)行系統(tǒng)的通訊一般通過RS232 接口來實(shí)現(xiàn)。如果嵌入式操作系統(tǒng)提供網(wǎng)絡(luò)服務(wù),也可以通過以太網(wǎng)、Modbus 或CAN 總線進(jìn)行通訊。應(yīng)用程序編寫完并編譯調(diào)試無誤后通過RS232 或TCP/IP 通信協(xié)議下載到嵌入式系統(tǒng)。實(shí)時運(yùn)行系統(tǒng)則用于完成系統(tǒng)配置、輸入信號處理、循環(huán)調(diào)用PLC 程序及控制信號輸出等操作,并且可以通過現(xiàn)場總線或TCP/IP 通信協(xié)議與硬件層(I/O)實(shí)現(xiàn)通信。
為了更好地支持實(shí)時運(yùn)行系統(tǒng),嵌入式系統(tǒng)一般要引入操作系統(tǒng),嵌入式操作系統(tǒng)(如Windows CE,VxWorks 等)為實(shí)時運(yùn)行系統(tǒng)提供了啟動代碼、串行通訊接口、內(nèi)存操作(malloc/free)、ANSI 標(biāo)準(zhǔn)庫、1ms 的時鐘滴答、調(diào)試接口等服務(wù)。如果實(shí)時運(yùn)行系統(tǒng)整合了相應(yīng)的功能,系統(tǒng)也可以不引入操作系統(tǒng)。我們所采用的嵌入式實(shí)時系統(tǒng)體系結(jié)構(gòu)如圖2所示,其實(shí)時操作系統(tǒng)采用VxWorks。
了其通信性能,實(shí)時能力大大提高,同時此結(jié)構(gòu)具有完全開放性,高度兼容性,極佳的可擴(kuò)展性,使得自動控制系統(tǒng)的設(shè)計不受硬件的限制,可以有效地提高PLC 的運(yùn)行速度和可靠性,并且支持多任務(wù)的控制策略。另外相應(yīng)的從嵌入式處理的設(shè)計與和BSP 改造方面,也做了相應(yīng)的優(yōu)化處理。
3、基于PPC 的嵌入式處理器設(shè)計
VxWorks 系統(tǒng)運(yùn)行在基于PPC 的MPC860 處理器上,并作了一些有關(guān)改造以適應(yīng)實(shí)時PLC 的現(xiàn)場總線的通信要求。主要包括4 個主要模塊(如圖3):PowerPC 核心,系統(tǒng)接口單元(SIU),通信處理模塊(CPM)和快速以太網(wǎng)控制器(FEC)。
系統(tǒng)接口單元(SIU)集成幾乎所有32-bit 處理器系統(tǒng)的常用功能。MPC860 采用32 位內(nèi)部總線,可以支持8,16 或32 位的外設(shè)和存儲器,同時SIU 提供功耗管理、復(fù)位控制、PowerPC減法器、PowerPC 時鐘基準(zhǔn)以及實(shí)時時鐘等功能。其內(nèi)存控制器可以控制多達(dá)8 個存儲體,
免責(zé)聲明:本文僅代表作者個人觀點(diǎn),與自動化網(wǎng)無關(guān)。對本文及其中內(nèi)容、文字的真實(shí)性、完整性、及時性,本站不作任何保證或承諾。請讀者僅供參考。
微信聯(lián)盟:,各細(xì)分行業(yè)微信群:點(diǎn)擊這里進(jìn)入。
鴻達(dá)安視:水文水利在線監(jiān)測儀器、智慧農(nóng)業(yè)在線監(jiān)測儀器 金葉儀器: 氣體/顆粒物/煙塵在線監(jiān)測解決方案
西凱昂:SMC氣動元件、力士樂液壓元件、倍加福光電產(chǎn)品等 山東諾方: 顆粒物傳感器、粉塵濃度傳感器
深圳金瑞銘:RFID射頻識別、智能傳感器等物聯(lián)網(wǎng)解決方案 北京英諾艾智: 容錯服務(wù)器、邊緣計算解決方案
評論排行