下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于嵌入式linux的無紙記錄儀通信設(shè)計(jì)在工業(yè)控制系統(tǒng)中,記錄儀起著非常重要的作用,它可以實(shí)時采集、監(jiān)測和記錄一些影響工藝過程和產(chǎn)品質(zhì)量的重要參數(shù),被廣泛應(yīng)用于石化、冶金、電力、機(jī)械、醫(yī)藥、輕工業(yè)等行業(yè)。隨著技術(shù)的不斷進(jìn)展,記錄儀已從傳統(tǒng)的有紙模擬式進(jìn)展到如今的無紙數(shù)字式1。與傳統(tǒng)的有紙記錄儀相比,無紙記錄儀無機(jī)械磨損、顯示直觀、用法便利、故障率低和設(shè)備耗材少,因此被越來越多的應(yīng)用于工業(yè)控制領(lǐng)域。隨著工業(yè)過程自動化的高速進(jìn)展,企業(yè)對無紙記錄儀提出了越來越高的要求,基于8位的無紙記錄儀的功能已遠(yuǎn)遠(yuǎn)達(dá)不到用戶的要求。微處理核的32位risc處理器以其強(qiáng)大的性能豐盛的接口以及優(yōu)異的性價比等諸多優(yōu)勢,
2、而被越來越多的應(yīng)用于無紙記錄儀,隨著硬件的改進(jìn),傳統(tǒng)的串行通訊辦法也迫切需要改進(jìn),因此本文提出了基于嵌入式的串口通信計(jì)劃。嵌入式linux操作系統(tǒng)是在標(biāo)準(zhǔn)linux的基礎(chǔ)上針對嵌入式系統(tǒng)舉行內(nèi)核裁剪和優(yōu)化后形成2,它繼承了linux的開放源代碼、多任務(wù)、穩(wěn)定性高,內(nèi)核可裁剪等諸多優(yōu)點(diǎn),其內(nèi)核精簡而高效,具有十分好的網(wǎng)絡(luò)性能。本文將用法嵌入式linux作為無紙記錄儀上位機(jī)操作系統(tǒng),并利用其多線程編程技術(shù)實(shí)現(xiàn)上位機(jī)與下位機(jī)的串口通信。1 記錄儀中的通信協(xié)議因?yàn)闊o紙記錄儀主要在過程控制現(xiàn)場或監(jiān)控室中用法,與之舉行通信的現(xiàn)場設(shè)備接口以串口居多,因此在該裝置的開發(fā)過程中采納非常通用的modbus協(xié)議作為
3、串口通信協(xié)議。 modbus協(xié)議是modicon公司于1979年為建立智能設(shè)備間的主從式通信而開發(fā)的一種通信協(xié)議,它規(guī)定在一個系統(tǒng)中,每次指令應(yīng)由系統(tǒng)中主設(shè)備發(fā)起,從設(shè)備通過解析地址位打算是否應(yīng)答3。該協(xié)議具有兩種報(bào)文傳送幀格式,ascii和rtu報(bào)文幀格式,分離1和圖2所示。將兩種報(bào)文傳送幀格式異同總結(jié)如表1。由表1可知,兩種報(bào)文幀格式各有優(yōu)劣:ascii格式用法的字符是rtu格式的兩倍,但ascii格式數(shù)據(jù)的譯碼和處理更為簡單一些;用法rtu報(bào)文幀格式傳輸數(shù)據(jù)時,報(bào)文字符必需以延續(xù)數(shù)據(jù)流的形式傳送,而用法ascii格式,字符之間允許長達(dá)1s的時光間隔。表1 ascii與rtu報(bào)文幀格式比較
4、通常狀況下,在一個modbus網(wǎng)絡(luò)中只采納一種報(bào)文幀格式舉行數(shù)據(jù)交換。但在一些特別狀況下,同一系統(tǒng)中需要用到不同傳輸模式的控制器,即同時采納兩種報(bào)文幀傳輸格式。為了使無紙記錄儀具有更強(qiáng)的通用性,本文提出了一種新的可同時用法兩種報(bào)文幀格式的串口通信計(jì)劃。在以下闡述過程中, 以ascii和rtu報(bào)文幀格式傳輸?shù)臄?shù)據(jù)將分離簡稱為ascii和rtu數(shù)據(jù)。2 記錄儀的通信實(shí)現(xiàn)2.1 整體設(shè)計(jì)無紙記錄儀主要通信對象為工業(yè)現(xiàn)場設(shè)備,因此通信過程中數(shù)據(jù)交換應(yīng)迅速、精確無誤。在modbus協(xié)議中,ascii與rtu數(shù)據(jù)打包與解碼均不相同,數(shù)據(jù)讀寫方面需要自立起來。串口通信功能框架3所示。圖3 串口通信功能框架圖
5、設(shè)備注冊掃描模塊主要負(fù)責(zé)設(shè)備地址表的維護(hù),每間隔一定時光掃描在線設(shè)備,并記錄下設(shè)備地址和用法的報(bào)文幀格式,同時按照掃描得到信息動態(tài)開拓ascii和rtu數(shù)據(jù)緩存區(qū)。ascii數(shù)據(jù)讀寫模塊負(fù)責(zé)打包和解碼ascii數(shù)據(jù),rtu數(shù)據(jù)讀寫模塊負(fù)責(zé)打包和解碼rtu數(shù)據(jù)。數(shù)據(jù)發(fā)送模塊按照優(yōu)先級羅列好打包好的數(shù)據(jù)依次發(fā)送。數(shù)據(jù)接收模塊僅解碼下位機(jī)儀表每次傳回?cái)?shù)據(jù)的首位,推斷是rtu數(shù)據(jù)還是ascii數(shù)據(jù),存入rtu或ascii數(shù)據(jù)緩存區(qū),以待處理。為了實(shí)現(xiàn)ascii與rtu數(shù)據(jù)的共存,首要問題是每次設(shè)備掃描注冊時對用法ascii和用法rtu數(shù)據(jù)的設(shè)備加以區(qū)別。由ascii和rtu的報(bào)文幀格式可知,傳輸數(shù)據(jù)首
6、位是推斷數(shù)據(jù)類型的關(guān)鍵,所以用法rtu報(bào)文幀格式的設(shè)備地址需避免ascii數(shù)據(jù)的起始位和結(jié)束符。在未知在線設(shè)備狀況下,上位機(jī)將全部設(shè)備地址輪詢一遍,解析接收數(shù)據(jù)首位,假如是ascii的起始位,則ascii設(shè)備注冊,反之,則rtu設(shè)備注冊。2.2 編程實(shí)現(xiàn)軟件實(shí)現(xiàn)上,采納linux的多線程編程技術(shù),可以更好的滿足工業(yè)現(xiàn)場的實(shí)時性要求。多線程程序采納多任務(wù)、并發(fā)的工作方式4,可以提高應(yīng)用程序響應(yīng)時光并且充實(shí)程序結(jié)構(gòu)。linux操作系統(tǒng)中提供了linuxthread 庫5,它實(shí)現(xiàn)了符合posix1003.1c標(biāo)準(zhǔn)的多線程支持,而且是內(nèi)核級方式。串口通信通過三個線程來實(shí)現(xiàn),主線程、發(fā)送子線程和接收數(shù)據(jù)
7、處理子線程,4所示。同時,為了使收發(fā)數(shù)據(jù)管理越發(fā)便利,建立了四個數(shù)據(jù)緩存區(qū): 發(fā)送緩存區(qū),存放預(yù)備發(fā)送的指令; 已發(fā)送緩存區(qū),存放已發(fā)送好但未經(jīng)接收確認(rèn)的指令; rtu接收緩存區(qū),存放接收到的rtu數(shù)據(jù); ascii接收緩存區(qū),存放接收到的ascii數(shù)據(jù)。全部線程分享上述四個數(shù)據(jù)緩存區(qū)的數(shù)據(jù),并設(shè)置互斥鎖用來確保一個時光段內(nèi)惟獨(dú)一個任務(wù)在拜訪分享數(shù)據(jù)。圖4 串口通信多線程程序流程圖主線程主要負(fù)責(zé)設(shè)備的注冊,掃描是否有數(shù)據(jù)發(fā)送,假如有發(fā)送數(shù)據(jù),舉行優(yōu)先級設(shè)置,將發(fā)送數(shù)據(jù)轉(zhuǎn)為發(fā)送所需的ascii和rtu格式,存入發(fā)送緩存區(qū)以待發(fā)送。串口初始化主要功能為設(shè)置串口通信屬性,如波特率、數(shù)據(jù)位、校驗(yàn)位和流
8、控制等。串口通信采納異步通信模式,并以全局變量作為接收標(biāo)記。解析數(shù)據(jù)時應(yīng)將已收到數(shù)據(jù)和已發(fā)送數(shù)據(jù)舉行匹配,按照發(fā)送的數(shù)據(jù)分析接收數(shù)據(jù)是否正確,假如接收數(shù)據(jù)正確則丟棄已發(fā)送指令,否則重發(fā)。3 迅速數(shù)據(jù)轉(zhuǎn)換算法因?yàn)樯衔粰C(jī)與下位機(jī)的個別數(shù)據(jù)存儲格式不同,需要轉(zhuǎn)換為對方能夠識別的數(shù)據(jù)。下面以浮點(diǎn)數(shù)為例,解釋本次設(shè)計(jì)中的數(shù)據(jù)轉(zhuǎn)換機(jī)制。上位機(jī)采納linux操作系統(tǒng),浮點(diǎn)數(shù)采納ieee-754數(shù)據(jù)存儲格式。ieee規(guī)定一個浮點(diǎn)數(shù)在內(nèi)存中占四字節(jié),其數(shù)據(jù)格式5所示。圖5 ieee浮點(diǎn)數(shù)數(shù)據(jù)格式在ieee浮點(diǎn)數(shù)數(shù)據(jù)存儲格式下,第1位為符號位,指示浮點(diǎn)數(shù)的正負(fù)。指數(shù)部分共8位,第一個字節(jié)的后7位和其次個字節(jié)的第1
9、位,表示范圍是0 255。事實(shí)上的指數(shù)值應(yīng)是-128 127的有符號整數(shù),為了存儲便利,指數(shù)值都加127轉(zhuǎn)為0 255存儲,即實(shí)際指數(shù)值是e-127。最后23位為小數(shù)部分,需要注重的是,在計(jì)算時,要將小數(shù)部分最高位補(bǔ)1。因此,實(shí)際的浮點(diǎn)數(shù)值可以通過下面的公式計(jì)算:real =(-1)*sign*(d/224)*2e-126下位機(jī)浮點(diǎn)數(shù)在內(nèi)存中同樣占四字節(jié),其數(shù)據(jù)格式6所示。圖6 下位機(jī)浮點(diǎn)數(shù)數(shù)據(jù)格式下位機(jī)浮點(diǎn)數(shù)數(shù)據(jù)格式中,數(shù)符用來指示浮點(diǎn)數(shù)的正負(fù),階符用于指示指數(shù)的正負(fù),階碼有6位,即指數(shù)范圍是064,小數(shù)部分比ieee浮點(diǎn)數(shù)數(shù)據(jù)格式中多1位,因此在計(jì)算時高位無需補(bǔ)1。實(shí)際的浮點(diǎn)數(shù)數(shù)值可以通過
10、下面公式計(jì)算:real =(-1)*sign*(d/224)*2(-1)*signe*e實(shí)際傳輸過程中,從下位機(jī)傳來的浮點(diǎn)數(shù),需要先轉(zhuǎn)為ieee標(biāo)準(zhǔn)格式,傳給下位機(jī)的數(shù)據(jù)同樣需要轉(zhuǎn)為下位機(jī)能夠識別的格式。因?yàn)楦↑c(diǎn)數(shù)存儲格式復(fù)雜,在轉(zhuǎn)換數(shù)據(jù)時應(yīng)盡量避開用法浮點(diǎn)數(shù)運(yùn)算。通過比較圖5和圖6可知,兩種存儲格式的最后23位相同,可以共用。因此,在編程時,采納共同體能夠更快的解決兩者之間的轉(zhuǎn)換。編寫共同體如下:union float fdata;unsigned char byte4;data_change;fdata中存放轉(zhuǎn)換前得浮點(diǎn)數(shù),而字符型數(shù)組byte挺直對應(yīng)浮點(diǎn)數(shù)在計(jì)算機(jī)中以二進(jìn)制存儲的四個字節(jié)。通過對字符型數(shù)組的容易的加減法及移位計(jì)算就可以迅速在兩種存儲格式之間轉(zhuǎn)換。 實(shí)際測試時,采納共同體的數(shù)據(jù)轉(zhuǎn)換在響應(yīng)時光上要顯然優(yōu)于未采納共同體的數(shù)制轉(zhuǎn)換,提高了串口通信的實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)金融風(fēng)險(xiǎn)評估模型構(gòu)建-深度研究
- 大數(shù)據(jù)與城市智能化規(guī)劃-深度研究
- 智能家居安全防護(hù)-第1篇-深度研究
- 人工智能與傳統(tǒng)文化藝術(shù)傳承-深度研究
- 實(shí)時監(jiān)測技術(shù)升級-深度研究
- 地球資源可持續(xù)利用-深度研究
- 智能貨架技術(shù)應(yīng)用分析-深度研究
- 大跨徑拱橋結(jié)構(gòu)設(shè)計(jì)與優(yōu)化-深度研究
- 并行存儲系統(tǒng)-深度研究
- 2025年廣州民航職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 四川省成都市武侯區(qū)2023-2024學(xué)年九年級上學(xué)期期末考試化學(xué)試題
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識培訓(xùn)
- 初一到初三英語單詞表2182個帶音標(biāo)打印版
- 2024年秋季人教版七年級上冊生物全冊教學(xué)課件(2024年秋季新版教材)
- 環(huán)境衛(wèi)生學(xué)及消毒滅菌效果監(jiān)測
- 2024年共青團(tuán)入團(tuán)積極分子考試題庫(含答案)
- 碎屑巖油藏注水水質(zhì)指標(biāo)及分析方法
- 【S洲際酒店婚禮策劃方案設(shè)計(jì)6800字(論文)】
- 鐵路項(xiàng)目征地拆遷工作體會課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
- 中國教育史(第四版)全套教學(xué)課件
評論
0/150
提交評論