技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于RT-Linux的嵌入式PLC設(shè)計(jì)及實(shí)現(xiàn)

基于RT-Linux的嵌入式PLC設(shè)計(jì)及實(shí)現(xiàn)

時(shí)間:2008-01-18 09:15:00來源:shixi

導(dǎo)語:?本文提出一種基于RT-Linux操作系統(tǒng)的嵌入式PLC,利用RT-Linux的開放性、模塊化和可擴(kuò)展性的系統(tǒng)結(jié)構(gòu)特性和多線程/多任務(wù)的系統(tǒng)環(huán)境,在保證實(shí)時(shí)性的同時(shí),使故障風(fēng)險(xiǎn)相對(duì)分散。
引言 在數(shù)控機(jī)床中,通常用可編程控制器(PLC)對(duì)機(jī)床開關(guān)量信號(hào)進(jìn)行控制。PLC可靠性高,使用方便。但在大多數(shù)數(shù)控機(jī)床,特別是經(jīng)濟(jì)型數(shù)控機(jī)床中,要求的輸入輸出點(diǎn)數(shù)并不多,通常在60點(diǎn)以下,因此,為了降低數(shù)控機(jī)床成本,在基于工業(yè)PC機(jī)的數(shù)控系統(tǒng)中,可以采用開關(guān)量I/O板加外接繼電器,配合主機(jī)的軟件對(duì)機(jī)床開關(guān)進(jìn)行控制。但如果PC機(jī)采用單任務(wù)操作系統(tǒng)(如DOS),數(shù)控系統(tǒng)的所有任務(wù)運(yùn)行都置于一個(gè)總體的消息循環(huán)中,軟件的模塊化和可維護(hù)性較差,系統(tǒng)故障的風(fēng)險(xiǎn)相對(duì)集中,而且不能充分利用PC機(jī)系統(tǒng)資源。而采用非實(shí)時(shí)多任務(wù)操作系統(tǒng)(如Windows)時(shí),Win32API的設(shè)計(jì)沒有考慮到實(shí)時(shí)環(huán)境的開發(fā)用途,其系統(tǒng)調(diào)用的效率不高,不能滿足數(shù)控系統(tǒng)PLC控制的實(shí)時(shí)性要求。 為此,本文提出一種基于RT-Linux操作系統(tǒng)的嵌入式PLC,利用RT-Linux的開放性、模塊化和可擴(kuò)展性的系統(tǒng)結(jié)構(gòu)特性和多線程/多任務(wù)的系統(tǒng)環(huán)境,在保證實(shí)時(shí)性的同時(shí),使故障風(fēng)險(xiǎn)相對(duì)分散。 數(shù)控系統(tǒng)嵌入式PLC的硬件結(jié)構(gòu) 數(shù)控系統(tǒng)硬件建立在通用工業(yè)PC的開放體系之上,數(shù)控系統(tǒng)嵌入式PLC硬件包括:工控機(jī)及其外圍設(shè)備,基于ISA總線的開關(guān)量輸入輸出接口卡,光電隔離模塊,繼電器輸出模塊。其結(jié)構(gòu)如圖1所示。
工控機(jī)采用RedHatLinux810+RTLinux311操作系統(tǒng),數(shù)控系統(tǒng)的人機(jī)界面、數(shù)控代碼處理、軌跡規(guī)劃、參數(shù)管理以及PLC控制都通過工控機(jī)由軟件來實(shí)現(xiàn),不需要獨(dú)立的PLC控制器,減少了數(shù)控系統(tǒng)對(duì)硬件的依賴,有利于提高系統(tǒng)的開放性。 I/O輸入輸出信息通過PC機(jī)I/O接口卡實(shí)現(xiàn)主機(jī)與伺服接口模塊和I/O接口模塊之間的信息交換,PC機(jī)I/O接口卡基于ISA或者PCI總線。 RT-Linux的體系結(jié)構(gòu) RT-Linux是基于Linux系統(tǒng)并可運(yùn)行于多種硬件平臺(tái)的32位硬實(shí)時(shí)操作系統(tǒng)(hardreal-timeoperatingsystem)。 它繼承了MERT系統(tǒng)的設(shè)計(jì)思想,即以通用操作系統(tǒng)為基礎(chǔ),在同一操作系統(tǒng)中既提供嚴(yán)格意義上的實(shí)時(shí)服務(wù),又提供所有的標(biāo)準(zhǔn)POSIX服務(wù)。RT-Linux源代碼公開,易于修改,使系統(tǒng)成本降低,源代碼的公開使數(shù)控系統(tǒng)的開發(fā)擺脫了對(duì)國外軟件公司的依賴,有利于提高數(shù)控軟件國產(chǎn)化程度。 RT-Linux是基于Linux并可運(yùn)行于多種硬件平臺(tái)的多任務(wù)實(shí)時(shí)操作系統(tǒng)。通過修改Linux內(nèi)核的硬件層,采用中斷仿真技術(shù),在內(nèi)核和硬件之間實(shí)現(xiàn)了一個(gè)小而高效的實(shí)時(shí)內(nèi)核,并在實(shí)時(shí)內(nèi)核的基礎(chǔ)上形成了小型的實(shí)時(shí)系統(tǒng),而Linux內(nèi)核僅作為實(shí)時(shí)系統(tǒng)最低優(yōu)先級(jí)的任務(wù)運(yùn)行。對(duì)于普通X86的硬件結(jié)構(gòu),RT-Linux擁有出色的實(shí)時(shí)性和穩(wěn)定性,其最大中斷延遲時(shí)間不超過15μs,最大任務(wù)切換誤差不超過35μs。這些實(shí)時(shí)參數(shù)與系統(tǒng)負(fù)載無關(guān),而取決于計(jì)算機(jī)的硬件,如在PII350,64M內(nèi)存的普通PC機(jī)上,系統(tǒng)最大延遲時(shí)間不超過1μs。RT-Linux按實(shí)時(shí)性不同分為實(shí)時(shí)域和非實(shí)時(shí)域,其結(jié)構(gòu)如圖2所示。
實(shí)時(shí)域在設(shè)計(jì)上遵循實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)原則,即系統(tǒng)具有透明性、模塊化和可擴(kuò)展性。RT-Linux的實(shí)時(shí)內(nèi)核由一個(gè)核心部分和多個(gè)可選部分組成,核心部分只負(fù)責(zé)高速中斷處理,支持SMP操作且不會(huì)被底層同步或中斷例程延遲或重入。其它功能則由可動(dòng)態(tài)加載的模塊擴(kuò)充。RT-Linux把不影響系統(tǒng)實(shí)時(shí)性的操作(即非實(shí)時(shí)域的操作)都留給了非實(shí)時(shí)的Linux系統(tǒng)完成?;诙嗳蝿?wù)環(huán)境的Linux為軟件開發(fā)提供了豐富的系統(tǒng)資源,如多種進(jìn)程間通訊機(jī)制,靈活的內(nèi)存管理機(jī)制。 嵌入式PLC的設(shè)計(jì)及實(shí)現(xiàn) 嵌入式PLC的模塊組成 數(shù)控系統(tǒng)的PLC控制模塊實(shí)時(shí)性要求較高,因而必須在系統(tǒng)的實(shí)時(shí)域內(nèi)運(yùn)行。根據(jù)通用數(shù)控系統(tǒng)的PLC控制以及數(shù)控系統(tǒng)軟件模塊化設(shè)計(jì)的要求,將數(shù)控系統(tǒng)的PLC控制模塊作為RT-Linux系統(tǒng)的實(shí)時(shí)任務(wù)之一,其優(yōu)先級(jí)和調(diào)用周期取決于數(shù)控系統(tǒng)各任務(wù)的實(shí)時(shí)性要求以及控制要求的響應(yīng)時(shí)間。PLC控制模塊主要完成數(shù)控系統(tǒng)的邏輯控制,而被控制的輸入輸出也就是I/O的輸入輸出由PC機(jī)I/O接口卡輸入輸出模塊來完成,即完成數(shù)控系統(tǒng)的PLC控制需要兩個(gè)RT-Linux實(shí)時(shí)任務(wù),如圖3所示,這兩個(gè)任務(wù)分別為RT-Task1(以下稱“適配卡輸入輸出”)、RT-Task2(以下稱“PLC控制”)。 圖3是基于RT-Linux系統(tǒng)的嵌入式PLC實(shí)時(shí)任務(wù)關(guān)系圖,其中適配卡輸入輸出主要是完成數(shù)控系統(tǒng)的輸入輸出,即各軸位置控制命令的輸出、I/O的輸出、I/O輸入以及位置反饋輸入,它實(shí)際上是數(shù)控系統(tǒng)控制卡的設(shè)備驅(qū)動(dòng)模塊,其優(yōu)先級(jí)在數(shù)控系統(tǒng)的各實(shí)時(shí)任務(wù)中為最高級(jí)。根據(jù)其硬件特征以及運(yùn)動(dòng)控制要求,其響應(yīng)周期為100μs,響應(yīng)時(shí)鐘周期由PC機(jī)I/O接口卡上的硬件定時(shí)器產(chǎn)生。根據(jù)RT-Linux系統(tǒng)對(duì)硬件中斷的響應(yīng)機(jī)制,輸入輸出控制任務(wù)的實(shí)時(shí)性是可以保證的,這一點(diǎn)在我們的數(shù)控系統(tǒng)已經(jīng)得到驗(yàn)證。
圖3中PLC控制主要是完成數(shù)控系統(tǒng)的PLC控制功能,其任務(wù)優(yōu)先級(jí)低于適配卡輸入輸出,同時(shí)也低于數(shù)控系統(tǒng)的精插補(bǔ)實(shí)時(shí)任務(wù)和位置伺服實(shí)時(shí)任務(wù)。根據(jù)通用數(shù)控系統(tǒng)的PLC控制要求,確定其響應(yīng)周期為5ms,響應(yīng)周期由RT-Linux的軟件定時(shí)器產(chǎn)生,根據(jù)RT-Linux系統(tǒng)的實(shí)時(shí)多任務(wù)調(diào)度機(jī)制,PLC控制任務(wù)的實(shí)時(shí)性是可以保證的。在實(shí)際應(yīng)用中也得到驗(yàn)證。 嵌入式PLC的實(shí)時(shí)任務(wù)模塊數(shù)據(jù)通訊 完成數(shù)控系統(tǒng)PLC控制的兩個(gè)實(shí)時(shí)任務(wù)之間由于需要輸入輸出的數(shù)據(jù)量(一般情況下為64輸入,64輸出,但輸入輸出根據(jù)需要還可以擴(kuò)展)不太大,因而采用共享內(nèi)存的通訊方式,在適配卡輸入輸出和PLC控制 兩個(gè)實(shí)時(shí)任務(wù)之間開兩塊共享內(nèi)存,一塊用于適配卡向PLC控制傳輸I/O口狀態(tài)信息,另一塊用于PLC控制向適配卡輸入輸出任務(wù)傳輸經(jīng)PLC邏輯處理后的控制信息。 在這里,兩個(gè)實(shí)時(shí)任務(wù)間不采用RT-FIFO進(jìn)行通訊的原因在于這兩個(gè)實(shí)時(shí)任務(wù)間通訊的數(shù)據(jù)量不是很大,而這兩個(gè)實(shí)時(shí)任務(wù)運(yùn)行周期差別較大,采用RT-FIFO傳輸數(shù)據(jù),為了避免FIFO的阻塞,相應(yīng)地要增加兩個(gè)任務(wù)間的協(xié)調(diào)機(jī)制,這樣的通訊效果未必比采用共享內(nèi)存好,而且共享內(nèi)存的讀寫速度比FIFO相對(duì)較快。 嵌入式PLC的實(shí)時(shí)任務(wù)的實(shí)現(xiàn) 適配卡輸入輸出為動(dòng)態(tài)可加載模塊,適配卡輸入輸出模塊(任務(wù))以100μs為周期的硬件定時(shí)中斷,完成各軸位置控制指令和I/O的輸出、各軸位置反饋值和I/O的輸入,適配卡輸出值來自于位置伺服任務(wù)和PLC控制任務(wù),輸入值來自于適配卡的輸入接口。PLC控制模塊(任務(wù))同樣也是一個(gè)動(dòng)態(tài)可加載模塊,它以5ms的軟定時(shí),周期性地從它與總控模塊通訊的RT-FIFO讀取控制信息(如M指令,S指令及T指令),同時(shí)從它與適配卡輸入輸出模塊通訊的共享內(nèi)存中讀取I/O信息,然后進(jìn)行邏輯處理,最后將結(jié)果寫入共享內(nèi)存供適配卡輸入輸出模塊讀取并輸出。 結(jié)論 目前該嵌入式PLC模塊已成功應(yīng)用于清華大學(xué)精儀系制造工程研究所THHP-III數(shù)控系統(tǒng)(基于RedHatLinux8.0+RTLinux3.1)中,該模塊可以滿足對(duì)普通數(shù)控系統(tǒng)和加工中心PLC控制要求。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:制造執(zhí)行系統(tǒng)(MES)的應(yīng)用與...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)