



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于RT-Linux的嵌入式PLC設計及實現(xiàn)引言 在數(shù)控機床中, 通常用可編程控制器( PLC) 對機床開關(guān)量信號進行控制。PLC可靠性高, 使用方便。但在大多數(shù)數(shù)控機床, 特別是經(jīng)濟型數(shù)控機床中, 要求的輸入輸出點數(shù)并不多, 通常在60點以下,因此, 為了降低數(shù)控機床成本, 在基于工業(yè)PC機的數(shù)控系統(tǒng)中, 可以采用開關(guān)量I/O板加外接繼電器,配合主機的軟件對機床開關(guān)進行控制。但如果PC機采用單任務操作系統(tǒng)(如DOS) , 數(shù)控系統(tǒng)的所有任務運行都置于一個總體的消息循環(huán)中, 軟件的模塊化和可維護性較差, 系統(tǒng)故障的風險相對集中, 而且不能充分利用PC機系統(tǒng)資源。而采用非實時多任務操作系統(tǒng)(如W
2、indows) 時, Win32 API的設計沒有考慮到實時環(huán)境的開發(fā)用途, 其系統(tǒng)調(diào)用的效率不高,不能滿足數(shù)控系統(tǒng)PLC控制的實時性要求。為此, 本文提出一種基于RT - Linux操作系統(tǒng)的嵌入式PLC, 利用RT - Linux的開放性、模塊化和可擴展性的系統(tǒng)結(jié)構(gòu)特性和多線程/多任務的系統(tǒng)環(huán)境,在保證實時性的同時, 使故障風險相對分散。數(shù)控系統(tǒng)嵌入式PLC的硬件結(jié)構(gòu)數(shù)控系統(tǒng)硬件建立在通用工業(yè)PC的開放體系之上, 數(shù)控系統(tǒng)嵌入式PLC硬件包括: 工控機及其外圍設備, 基于ISA總線的開關(guān)量輸入輸出接口卡, 光電隔離模塊, 繼電器輸出模塊。其結(jié)構(gòu)如圖1所示。 工控機采用RedHatLinux
3、810 + 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的體系結(jié)構(gòu)RT - Linux是基于Linux系統(tǒng)并可運行于多種硬件平臺的32位硬實時操作系統(tǒng)( hard real - time operating system) 。 它繼承了MERT系統(tǒng)的設計思想, 即以通用操作系
4、統(tǒng)為基礎, 在同一操作系統(tǒng)中既提供嚴格意義上的實時服務, 又提供所有的標準POSIX服務。RT - Linux源代碼公開, 易于修改, 使系統(tǒng)成本降低, 源代碼的公開使數(shù)控系統(tǒng)的開發(fā)擺脫了對國外軟件公司的依賴, 有利于提高數(shù)控軟件國產(chǎn)化程度。 RT - Linux是基于Linux并可運行于多種硬件平臺的多任務實時操作系統(tǒng)。通過修改Linux內(nèi)核的硬件層, 采用中斷仿真技術(shù), 在內(nèi)核和硬件之間實現(xiàn)了一個小而高效的實時內(nèi)核, 并在實時內(nèi)核的基礎上形成了小型的實時系統(tǒng), 而Linux內(nèi)核僅作為實時系統(tǒng)最低優(yōu)先級的任務運行。對于普通X86的硬件結(jié)構(gòu),RT - Linux擁有出色的實時性和穩(wěn)定性, 其最
5、大中斷延遲時間不超過15s, 最大任務切換誤差不超過35s。這些實時參數(shù)與系統(tǒng)負載無關(guān), 而取決于計算機的硬件, 如在PII350, 64M內(nèi)存的普通PC機上,系統(tǒng)最大延遲時間不超過1s。RT - Linux按實時性不同分為實時域和非實時域, 其結(jié)構(gòu)如圖2所示。 實時域在設計上遵循實時操作系統(tǒng)的設計原則,即系統(tǒng)具有透明性、模塊化和可擴展性。RT - Linux的實時內(nèi)核由一個核心部分和多個可選部分組成, 核心部分只負責高速中斷處理, 支持SMP操作且不會被底層同步或中斷例程延遲或重入。其它功能則由可動態(tài)加載的模塊擴充。RT - Linux把不影響系統(tǒng)實時性的操作(即非實時域的操作) 都留給了非
6、實時的Linux系統(tǒng)完成?;诙嗳蝿窄h(huán)境的Linux為軟件開發(fā)提供了豐富的系統(tǒng)資源, 如多種進程間通訊機制,靈活的內(nèi)存管理機制。嵌入式PLC的設計及實現(xiàn)嵌入式PLC的模塊組成數(shù)控系統(tǒng)的PLC控制模塊實時性要求較高, 因而必須在系統(tǒng)的實時域內(nèi)運行。根據(jù)通用數(shù)控系統(tǒng)的PLC控制以及數(shù)控系統(tǒng)軟件模塊化設計的要求, 將數(shù)控系統(tǒng)的PLC控制模塊作為RT - Linux系統(tǒng)的實時任務之一, 其優(yōu)先級和調(diào)用周期取決于數(shù)控系統(tǒng)各任務的實時性要求以及控制要求的響應時間。PLC控制模塊主要完成數(shù)控系統(tǒng)的邏輯控制, 而被控制的輸入輸出也就是I/O的輸入輸出由PC機I/O接口卡輸入輸出模塊來完成, 即完成數(shù)控系統(tǒng)的P
7、LC控制需要兩個RT - Linux實時任務, 如圖3所示, 這兩個任務分別為RT - Task1 (以下稱“適配卡輸入輸出”) 、RT - Task2 (以下稱“PLC控制”) 。 圖3是基于RT - Linux系統(tǒng)的嵌入式PLC實時任務關(guān)系圖, 其中適配卡輸入輸出主要是完成數(shù)控系統(tǒng)的輸入輸出, 即各軸位置控制命令的輸出、I/O的輸出、I/O輸入以及位置反饋輸入, 它實際上是數(shù)控系統(tǒng)控制卡的設備驅(qū)動模塊, 其優(yōu)先級在數(shù)控系統(tǒng)的各實時任務中為最高級。根據(jù)其硬件特征以及運動控制要求, 其響應周期為100s, 響應時鐘周期由PC機I/O接口卡上的硬件定時器產(chǎn)生。
8、根據(jù)RT - Linux系統(tǒng)對硬件中斷的響應機制, 輸入輸出控制任務的實時性是可以保證的, 這一點在我們的數(shù)控系統(tǒng)已經(jīng)得到驗證。 圖3中PLC控制主要是完成數(shù)控系統(tǒng)的PLC控制功能, 其任務優(yōu)先級低于適配卡輸入輸出, 同時也低于數(shù)控系統(tǒng)的精插補實時任務和位置伺服實時任務。根據(jù)通用數(shù)控系統(tǒng)的PLC控制要求, 確定其響應周期為5ms, 響應周期由RT - Linux的軟件定時器產(chǎn)生, 根據(jù)RT - Linux系統(tǒng)的實時多任務調(diào)度機制,PLC控制任務的實時性是可以保證的。在實際應用中也得到驗證。嵌入式PLC的實時任務模塊數(shù)據(jù)通訊完成數(shù)控系統(tǒng)PLC控制的兩個實時任務之間由于需要輸入輸出的數(shù)據(jù)量(一般情
9、況下為64 輸入,64輸出, 但輸入輸出根據(jù)需要還可以擴展) 不太大,因而采用共享內(nèi)存的通訊方式, 在適配卡輸入輸出和PLC控制 兩個實時任務之間開兩塊共享內(nèi)存, 一塊用于適配卡向PLC控制傳輸I/O 口狀態(tài)信息, 另一塊用于PLC控制向適配卡輸入輸出任務傳輸經(jīng)PLC邏輯處理后的控制信息。 在這里, 兩個實時任務間不采用RT - FIFO進行通訊的原因在于這兩個實時任務間通訊的數(shù)據(jù)量不是很大, 而這兩個實時任務運行周期差別較大, 采用RT - FIFO傳輸數(shù)據(jù), 為了避免FIFO的阻塞, 相應地要增加兩個任務間的協(xié)調(diào)機制, 這樣的通訊效果未必比采用共享內(nèi)存好, 而且共享內(nèi)存的讀寫速度比FIFO相對較快。嵌入式PLC的實時任務的實現(xiàn)適配卡輸入輸出為動態(tài)可加載模塊, 適配卡輸入輸出模塊(任務) 以100s為周期的硬件定時中斷,完成各軸位置控制指令和I/O的輸出、各軸位置反饋值和I/O的輸入, 適配卡輸出值來自于位置伺服任務和PLC控制任務, 輸入值來自于適配卡的輸入接口。PLC控制模塊(任務) 同樣也是一個動態(tài)可加載模塊, 它以5ms的軟定時, 周期性地從它與總控模塊通訊的RT - FIFO讀取控制信息(如M指令, S指令及T指令) , 同時從它與適配卡輸入輸出模塊通訊的共享內(nèi)存中讀取
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司內(nèi)部人員借款合同
- 2025電力工程施工質(zhì)量檢查、驗收及評定管理辦法
- 2025全國數(shù)據(jù)資源統(tǒng)計調(diào)查制度
- 押金合同增補協(xié)議
- 農(nóng)民合作社聘用合同
- 2025年遼寧貨運從業(yè)資格證結(jié)業(yè)考試答案
- 發(fā)動機推進控制系統(tǒng)戰(zhàn)略市場規(guī)劃報告
- 光電電視測斜儀戰(zhàn)略市場規(guī)劃報告
- 豆腐乳戰(zhàn)略市場規(guī)劃報告
- 化肥使用賠償合同范本
- 10-化學動力學基礎-1-考研試題資料系列
- 工傷保險待遇核定表(樣表)
- DB33- 1015-2021《居住建筑節(jié)能設計標準》
- DB1310T 225-2020 木本植物滯納空氣顆粒物能力測定方法
- (高職)國際金融(第四版)電子課件(全套)
- 《飲料工藝學》課件第一章-緒論
- 中外合作辦學的可行性報告
- 母嬰保健課程標準
- 《農(nóng)民專業(yè)合作社登記管理條例》條文解讀(一
- 一年級的小豌豆我喜歡的一本書(課堂PPT)
- 電廠機組深度調(diào)峰摸底試驗方案
評論
0/150
提交評論