久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

如何提高window實(shí)時(shí)性能

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2011年02月24日   【字體:

1 概述
此文是在實(shí)現(xiàn)modbus-RTU通訊的基礎(chǔ)上總結(jié)而來的,主要講述了如何提高window做工業(yè)控制時(shí)的實(shí)時(shí)性能。

PC機(jī)上做控制系統(tǒng),一般就是在window或者linux操作系統(tǒng)上做控制系統(tǒng)軟件開發(fā),window上做控制系統(tǒng),有如下優(yōu)勢(shì):

1)現(xiàn)有的設(shè)備驅(qū)動(dòng)支持

2)各類廠家提供的現(xiàn)成的卡板

3)以及比較平民化的開發(fā)平臺(tái)

4)數(shù)量眾多的開發(fā)人員。

 

2 提高實(shí)時(shí)性手段
window是一個(gè)非實(shí)時(shí)操作系統(tǒng),如果要做實(shí)時(shí)任務(wù)的話,有必要用些特別的手段,來提高其實(shí)時(shí)控制的能力。

 

1)  語言最好選擇C語言,之所以選擇C語言,因?yàn)楣I(yè)控制主要基于window API編程,使用很多window內(nèi)核的服務(wù)。

2)  多任務(wù)一般采用多線程來實(shí)現(xiàn),根據(jù)任務(wù)的緊要程度,設(shè)置線程的優(yōu)先級(jí)別,一定要設(shè)置優(yōu)先級(jí)。

3)  如果在一個(gè)線程中有多個(gè)任務(wù)的話,建議采用協(xié)程的方式實(shí)現(xiàn)多任務(wù),任務(wù)內(nèi)部最好不要調(diào)用Sleep()等休眠函數(shù)

4)  為了提高內(nèi)核的時(shí)鐘的調(diào)度精度,必須使用多媒體定時(shí)器并且將其精度設(shè)置為1ms,這樣內(nèi)核任務(wù)調(diào)度精度也提高為1ms,這估計(jì)是微軟的內(nèi)部耦合。如果不使用多媒體定時(shí)器的話,內(nèi)核定時(shí)器時(shí)鐘精度一般只有15ms左右。

5)  每個(gè)線程的一個(gè)循環(huán)必須釋放一次CPU,采用Sleep(1),這樣才能保證機(jī)器的CPU不被耗光,否則低優(yōu)先級(jí)的任務(wù)就沒有機(jī)會(huì)得到執(zhí)行了。

6)計(jì)時(shí)采用QueryPerformanceFrequency()和 QueryPerformanceCounter()函數(shù)來計(jì)時(shí),可以達(dá)到ns級(jí)別。

上面手段都是用戶空間的手段,在內(nèi)核空間應(yīng)該也有手段(應(yīng)用程序作為驅(qū)動(dòng)跑),但是我不熟,就不說了。

3 效果
使用以上幾種方式實(shí)現(xiàn)的控制程序,時(shí)間關(guān)鍵優(yōu)先級(jí)別多線程任務(wù)調(diào)度精度可以達(dá)到2-5ms級(jí)別,計(jì)時(shí)精度可以達(dá)到ns級(jí)別。這對(duì)于很多(大部分)要求不高的控制來說,基本是夠用的。

至于驅(qū)動(dòng)部分,window的驅(qū)動(dòng)的反應(yīng)速度還是挺快的(CPU占用率不過高的情況下面達(dá)到us級(jí)別的反應(yīng)),這個(gè)和我們用戶空間的程序不一樣,例如window的串口驅(qū)動(dòng),可以將接收FIFO設(shè)置為1,采用事件方式讀串口,即使波特率為115200bps,也不會(huì)丟失數(shù)據(jù)。

使用上面的方法,我在PC機(jī)上實(shí)現(xiàn)了modbus-RTU客戶端,其3.5T設(shè)置為5ms,可以很穩(wěn)定地和PLC主設(shè)備通訊。

 

4 硬實(shí)時(shí)
如果在PC機(jī)上追求真正的硬實(shí)時(shí),那么一般是在window或者linux系統(tǒng)中加入硬實(shí)時(shí)內(nèi)核,形成雙內(nèi)核系統(tǒng),例如RTX或者RTAI,這些都有成功的案例,例如西門子的基于RTX的數(shù)控系統(tǒng),基于RTAI的實(shí)時(shí)控制系統(tǒng),這些實(shí)時(shí)系統(tǒng)都是用于100us級(jí)別的硬實(shí)時(shí)系統(tǒng)中,需要開發(fā)者自己寫驅(qū)動(dòng),其架構(gòu)是實(shí)時(shí)內(nèi)核上跑實(shí)時(shí)任務(wù),普通內(nèi)核上跑一般任務(wù),實(shí)時(shí)任務(wù)和一般任務(wù)間通過通訊的方式溝通。由于我還沒有在這些實(shí)時(shí)系統(tǒng)上做過開發(fā),所以暫時(shí)不寫。
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产精品一级 | 狠狠热视频 | 国产资源在线播放 | 在线日韩av电影 | 韩日有码 | 日本一区二区三区免费观看 | 麻豆精品国产91久久久久久 | 中文字幕高清一区 | 亚洲精品天堂 | 99精品视频在线观看 | 亚洲第一成人影院 | 中文字幕一区二区三区在线观看 | 少妇一级淫片免费放播放 | 国产日韩精品一区二区三区 | 精品国产精品三级精品av网址 | 欧美一级全黄 | 日韩a级片| 国产精彩视频 | 久久99蜜桃综合影院免费观看 | 国产成人精品一区二区三区在线 | 国产免费播放视频 | 亚洲国产一区在线 | 日韩免费在线 | 在线一区二区三区 | 久久久人成影片免费观看 | 在线亚洲电影 | 亚洲一二三在线 | 天天操人人干 | 亚洲国产成人精品女人久久久 | 日韩毛片免费视频 | 国产精品1区2区 | 一区二区三区在线观看免费视频 | 一区二区三区免费 | 一区二区精品 | 色视频www在线播放国产人成 | 国产日韩欧美激情 | 日本一区二区高清视频 | 欧美日韩综合一区 | 国产a级黄色录像 | 久久99精品久久久久久青青日本 | 国产成人网 |