免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

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

來源:互聯(lián)網(wǎng)

點擊:1948

A+ A-

所屬頻道:新聞中心

關鍵詞:RT-Linux 嵌入式 PLC

    引言

      在數(shù)控機床中,通常用可編程控制器(PLC)對機床開關量信號進行控制。PLC可靠性高,使用方便。但在大多數(shù)數(shù)控機床,特別是經濟型數(shù)控機床中,要求的輸入輸出點數(shù)并不多,通常在60點以下,因此,為了降低數(shù)控機床成本,在基于工業(yè)PC機的數(shù)控系統(tǒng)中,可以采用開關量I/O板加外接繼電器,配合主機的軟件對機床開關進行控制。但如果PC機采用單任務操作系統(tǒng)(如DOS),數(shù)控系統(tǒng)的所有任務運行都置于一個總體的消息循環(huán)中,軟件的模塊化和可維護性較差,系統(tǒng)故障的風險相對集中,而且不能充分利用PC機系統(tǒng)資源。而采用非實時多任務操作系統(tǒng)(如Windows)時,Win32API的設計沒有考慮到實時環(huán)境的開發(fā)用途,其系統(tǒng)調用的效率不高,不能滿足數(shù)控系統(tǒng)PLC控制的實時性要求。

      為此,本文提出一種基于RT-Linux操作系統(tǒng)的嵌入式PLC,利用RT-Linux的開放性、模塊化和可擴展性的系統(tǒng)結構特性和多線程/多任務的系統(tǒng)環(huán)境,在保證實時性的同時,使故障風險相對分散。

    數(shù)控系統(tǒng)嵌入式PLC的硬件結構

      數(shù)控系統(tǒng)硬件建立在通用工業(yè)PC的開放體系之上,數(shù)控系統(tǒng)嵌入式PLC硬件包括:工控機及其外圍設備,基于ISA總線的開關量輸入輸出接口卡,光電隔離模塊,繼電器輸出模塊。

      工控機采用RedHatLinux810+RTLinux311操作系統(tǒng),數(shù)控系統(tǒng)的人機界面、數(shù)控代碼處理、軌跡規(guī)劃、參數(shù)管理以及PLC控制都通過工控機由軟件來實現(xiàn),不需要獨立的PLC控制器,減少了數(shù)控系統(tǒng)對硬件的依賴,有利于提高系統(tǒng)的開放性。

      I/O輸入輸出信息通過PC機I/O接口卡實現(xiàn)主機與伺服接口模塊和I/O接口模塊之間的信息交換,PC機I/O接口卡基于ISA或者PCI總線。

    RT-Linux的體系結構

      RT-Linux是基于Linux系統(tǒng)并可運行于多種硬件平臺的32位硬實時操作系統(tǒng)(hardreal-timeoperatingsystem)。

      它繼承了MERT系統(tǒng)的設計思想,即以通用操作系統(tǒng)為基礎,在同一操作系統(tǒng)中既提供嚴格意義上的實時服務,又提供所有的標準POSIX服務。RT-Linux源代碼公開,易于修改,使系統(tǒng)成本降低,源代碼的公開使數(shù)控系統(tǒng)的開發(fā)擺脫了對國外軟件公司的依賴,有利于提高數(shù)控軟件國產化程度。

      RT-Linux是基于Linux并可運行于多種硬件平臺的多任務實時操作系統(tǒng)。通過修改Linux內核的硬件層,采用中斷仿真技術,在內核和硬件之間實現(xiàn)了一個小而高效的實時內核,并在實時內核的基礎上形成了小型的實時系統(tǒng),而Linux內核僅作為實時系統(tǒng)最低優(yōu)先級的任務運行。對于普通X86的硬件結構,RT-Linux擁有出色的實時性和穩(wěn)定性,其最大中斷延遲時間不超過15μs,最大任務切換誤差不超過35μs。這些實時參數(shù)與系統(tǒng)負載無關,而取決于計算機的硬件,如在PII350,64M內存的普通PC機上,系統(tǒng)最大延遲時間不超過1μs。RT-Linux按實時性不同分為實時域和非實時域。

      實時域在設計上遵循實時操作系統(tǒng)的設計原則,即系統(tǒng)具有透明性、模塊化和可擴展性。RT-Linux的實時內核由一個核心部分和多個可選部分組成,核心部分只負責高速中斷處理,支持SMP操作且不會被底層同步或中斷例程延遲或重入。其它功能則由可動態(tài)加載的模塊擴充。RT-Linux把不影響系統(tǒng)實時性的操作(即非實時域的操作)都留給了非實時的Linux系統(tǒng)完成。基于多任務環(huán)境的Linux為軟件開發(fā)提供了豐富的系統(tǒng)資源,如多種進程間通訊機制,靈活的內存管理機制。

    嵌入式PLC的設計及實現(xiàn)

      嵌入式PLC的模塊組成

      數(shù)控系統(tǒng)的PLC控制模塊實時性要求較高,因而必須在系統(tǒng)的實時域內運行。根據(jù)通用數(shù)控系統(tǒng)的PLC控制以及數(shù)控系統(tǒng)軟件模塊化設計的要求,將數(shù)控系統(tǒng)的PLC控制模塊作為RT-Linux系統(tǒng)的實時任務之一,其優(yōu)先級和調用周期取決于數(shù)控系統(tǒng)各任務的實時性要求以及控制要求的響應時間。PLC控制模塊主要完成數(shù)控系統(tǒng)的邏輯控制,而被控制的輸入輸出也就是I/O的輸入輸出由PC機I/O接口卡輸入輸出模塊來完成,即完成數(shù)控系統(tǒng)的PLC控制需要兩個RT-Linux實時任務,如圖3所示,這兩個任務分別為RT-Task1(以下稱“適配卡輸入輸出”)、RT-Task2(以下稱“PLC控制”)。

    其中適配卡輸入輸出主要是完成數(shù)控系統(tǒng)的輸入輸出,即各軸位置控制命令的輸出、I/O的輸出、I/O輸入以及位置反饋輸入,它實際上是數(shù)控系統(tǒng)控制卡的設備驅動模塊,其優(yōu)先級在數(shù)控系統(tǒng)的各實時任務中為最高級。根據(jù)其硬件特征以及運動控制要求,其響應周期為100μs,響應時鐘周期由PC機I/O接口卡上的硬件定時器產生。根據(jù)RT-Linux系統(tǒng)對硬件中斷的響應機制,輸入輸出控制任務的實時性是可以保證的,這一點在我們的數(shù)控系統(tǒng)已經得到驗證。

      圖3中PLC控制主要是完成數(shù)控系統(tǒng)的PLC控制功能,其任務優(yōu)先級低于適配卡輸入輸出,同時也低于數(shù)控系統(tǒng)的精插補實時任務和位置伺服實時任務。根據(jù)通用數(shù)控系統(tǒng)的PLC控制要求,確定其響應周期為5ms,響應周期由RT-Linux的軟件定時器產生,根據(jù)RT-Linux系統(tǒng)的實時多任務調度機制,PLC控制任務的實時性是可以保證的。在實際應用中也得到驗證。

      嵌入式PLC的實時任務模塊數(shù)據(jù)通訊

      完成數(shù)控系統(tǒng)PLC控制的兩個實時任務之間由于需要輸入輸出的數(shù)據(jù)量(一般情況下為64輸入,64輸出,但輸入輸出根據(jù)需要還可以擴展)不太大,因而采用共享內存的通訊方式,在適配卡輸入輸出和PLC控制

    兩個實時任務之間開兩塊共享內存,一塊用于適配卡向PLC控制傳輸I/O口狀態(tài)信息,另一塊用于PLC控制向適配卡輸入輸出任務傳輸經PLC邏輯處理后的控制信息。
     
      在這里,兩個實時任務間不采用RT-FIFO進行通訊的原因在于這兩個實時任務間通訊的數(shù)據(jù)量不是很大,而這兩個實時任務運行周期差別較大,采用RT-FIFO傳輸數(shù)據(jù),為了避免FIFO的阻塞,相應地要增加兩個任務間的協(xié)調機制,這樣的通訊效果未必比采用共享內存好,而且共享內存的讀寫速度比FIFO相對較快。

      嵌入式PLC的實時任務的實現(xiàn)

      適配卡輸入輸出為動態(tài)可加載模塊,適配卡輸入輸出模塊(任務)以100μs為周期的硬件定時中斷,完成各軸位置控制指令和I/O的輸出、各軸位置反饋值和I/O的輸入,適配卡輸出值來自于位置伺服任務和PLC控制任務,輸入值來自于適配卡的輸入接口。PLC控制模塊(任務)同樣也是一個動態(tài)可加載模塊,它以5ms的軟定時,周期性地從它與總控模塊通訊的RT-FIFO讀取控制信息(如M指令,S指令及T指令),同時從它與適配卡輸入輸出模塊通訊的共享內存中讀取I/O信息,然后進行邏輯處理,最后將結果寫入共享內存供適配卡輸入輸出模塊讀取并輸出。

    結論

      目前該嵌入式PLC模塊已成功應用于清華大學精儀系制造工程研究所THHP-III數(shù)控系統(tǒng)(基于RedHatLinux8.0+RTLinux3.1)中,該模塊可以滿足對普通數(shù)控系統(tǒng)和加工中心PLC控制要求。

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內容及圖片均來自網(wǎng)絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯(lián)系我們刪除。