




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 金剛石合成控制系統(tǒng)中多串口通信技術(shù)的設(shè)計與實現(xiàn)摘要:通過多串口通信技術(shù)在金剛石合成控制系統(tǒng)中的應(yīng)用,討論了32位Windows操作系統(tǒng)下,VC多串口通信技術(shù)的設(shè)計與實現(xiàn)方法,并運用面向?qū)ο蠓椒ê投嗑€程技術(shù)設(shè)計了一個比較完善的串口通信類。闡述了用VC開發(fā)上位機與PLC之間的串口通信程序設(shè)計方法和實現(xiàn)技術(shù)。 關(guān)鍵詞:串口通信;面向?qū)ο蠓椒ǎ欢嗑€程;PLC引言傳統(tǒng)的金剛石合成機控制系統(tǒng)是由一個和一個可顯示終端構(gòu)成。這種傳統(tǒng)的控制系統(tǒng)一般具有如下缺點:() 系 摘要:通過多串口通信技術(shù)在金剛石合成控制系統(tǒng)中的應(yīng)用,討論了32位Win
2、dows操作系統(tǒng)下,VC多串口通信技術(shù)的設(shè)計與實現(xiàn)方法,并運用面向?qū)ο蠓椒ê投嗑€程技術(shù)設(shè)計了一個比較完善的串口通信類。闡述了用VC開發(fā)上位機與PLC之間的串口通信程序設(shè)計方法和實現(xiàn)技術(shù)。 關(guān)鍵詞:串口通信;面向?qū)ο蠓椒?;多線程;PLC引言傳統(tǒng)的金剛石合成機控制系統(tǒng)是由一個和一個可顯示終端構(gòu)成。這種傳統(tǒng)的控制系統(tǒng)一般具有如下缺點:() 系統(tǒng)所有的工作都由完成,其控制精度較差,致使合成的金剛石質(zhì)量較差;() 顯示終端的平面尺寸過小,這一方面使得操作人員觀察系統(tǒng)的狀態(tài)很不方便,另一方面?也常常會引起誤操作;() 金剛石合成工藝復(fù)雜,需控制的參數(shù)很多,但原控制系統(tǒng)不能
3、對參數(shù)進行保存,這樣在根據(jù)不同產(chǎn)品和工藝要求對部分參數(shù)進行調(diào)整時,每次都必須重新設(shè)置所有的參數(shù),操作非常麻煩;() 界面不友好;()不能通過控制系統(tǒng)自動考核操作人員的工作質(zhì)量。為了提高控制精度、方便操作,開發(fā)新的控制系統(tǒng)迫在眉睫。筆者針對以上問題,將與有機結(jié)合在一起,開發(fā)了一套新的控制系統(tǒng)。通過該系統(tǒng)可在上位機()和之間通過與進行大量串口通信。串口通信分析在位系統(tǒng)下使用開發(fā)串口通信程序通常有如下種方法: ()使用公司提供的名為的通信控件; ()直接使用應(yīng)用程序接口();()自行設(shè)計一個串口通信類;()通過開發(fā)一個控件來實現(xiàn)串口通信功能。在上述幾種方法中,實際上還是使用 函數(shù)
4、,然后把串口通信的細節(jié)給封裝起來,同時提供給用戶幾個簡單的接口函數(shù)。上述幾種方法各有優(yōu)缺點,但在實際情況下,大多數(shù)編程人員喜歡使用函數(shù)自行設(shè)計串口通信類。用 函數(shù)進行串口通信的編程流程如圖所示。其中打開串口是確定串口號與串口的打開方式;初始化串口用于配置通訊的波特率、每字節(jié)位數(shù)、校驗位、停止位和讀寫超時等;讀寫串口用于向串口進行發(fā)送數(shù)據(jù)和從串口接收數(shù)據(jù);關(guān)閉串口用于將串口關(guān)閉并釋放串口資源(系統(tǒng)下串口是系統(tǒng)資源)。由于絕大多數(shù)控制系統(tǒng)中串口通信是比較費時的,而且監(jiān)控系統(tǒng)還要進行數(shù)據(jù)處理和顯示等,所以一般采用多線程技術(shù),并用()函數(shù)創(chuàng)建輔助線程來管理串口通信,這樣,主進程就能在進行串口讀寫的同時
5、,處理數(shù)據(jù)并完成用戶指令的響應(yīng),但是設(shè)計時一定要處理好數(shù)據(jù)的共享問題。串口讀寫既可以選擇同步、異步方式,也可以選擇查詢、定時讀寫和事件驅(qū)動方式。由于同步方式容易造成線程阻塞,所以一般采用異步方式;而查詢方式要占用大量的時間,所以一般采用定時讀寫或者事件驅(qū)動方式,事件驅(qū)動方式相關(guān)文獻較多,故此重點討論定時讀寫方式。定時讀寫方式就是上位機向下位機發(fā)送固定格式的數(shù)據(jù),在下位機收到后向上位機返回狀態(tài)信息數(shù)據(jù)。由于數(shù)據(jù)的傳輸需要時間,所有上位機發(fā)送數(shù)據(jù)后就調(diào)用()函數(shù)進行休眠,休眠的時間可根據(jù)需要進行不同的設(shè)置。這樣,可以節(jié)省時間,以使系統(tǒng)能夠很好地進行監(jiān)控工作和處理其它事務(wù)。串口通信的設(shè)計與實現(xiàn)筆者在
6、系統(tǒng)下,采用面向?qū)ο蟮姆椒ê投嗑€程技術(shù),并使用 作為編程工具開發(fā)了一個通用串口通信類,該類封裝了串口通信的基本數(shù)據(jù)和方法,下面給出類的簡單介紹。類頭文件中的主要成員變量和成員函數(shù)如下: : _; _; _; _;:(); ? 構(gòu)造函數(shù)(); ? 析構(gòu)函數(shù)() 函數(shù)實現(xiàn)初始化串口 ( “”, , , , , , , , ); ();? 獲得參數(shù)()函數(shù)實現(xiàn)設(shè)置參數(shù) ( , , , ); ()函數(shù)獲得超時參數(shù) (); ()函數(shù)設(shè)置超時參數(shù) ( , , , ); ()函數(shù)實現(xiàn)寫串口操作 ( ,); ( ); 讀串口操作 ();? 關(guān)閉串口;下面對該類的重要函數(shù)作以說明: ()在構(gòu)造函數(shù)()
7、中已對該類的數(shù)據(jù)成員進行了初始化操作。()初始化串口函數(shù)()函數(shù)用于完成串口的初始化工作,包括打開串口、設(shè)置參數(shù)、設(shè)置通信的超時時間等。打開串口使用()函數(shù),其中()函數(shù)中的第一個參數(shù)為要打開的串口,通常將該參數(shù)賦給()函數(shù)中的第一個參數(shù);設(shè)置參數(shù)應(yīng)調(diào)用該類中的()函數(shù),并將()函數(shù)中的第至第參數(shù)賦給()函數(shù);設(shè)置通信的超時時間應(yīng)調(diào)用該類中的()函數(shù),并將()函數(shù)中的第至第參數(shù)賦給()函數(shù)。另外,該串口是系統(tǒng)資源,應(yīng)該根據(jù)不同要求對其安全屬性進行設(shè)置。()()函數(shù)用于設(shè)置參數(shù),包括傳輸?shù)牟ㄌ芈?、是否進行奇偶校驗、每字節(jié)長度以及停止位等。()()函數(shù)用于設(shè)定訪問的超時值,根據(jù)設(shè)置的值可以計算出總
8、的超時間隔。前面兩個參數(shù)用來設(shè)置讀操作總的超時值,后面兩個參數(shù)用來設(shè)置寫操作總的超時值。()()函數(shù)用來完成向串口寫數(shù)據(jù)。由于該系統(tǒng)需要對多個串口進行通信,所以首先應(yīng)把串口號作為參數(shù)傳遞給該函數(shù);接著該函數(shù)把按參數(shù)傳遞過來的、要發(fā)送的數(shù)據(jù)進行編碼(也就是加入校驗,這樣能減少誤碼率),然后再調(diào)用 函數(shù)()并把數(shù)據(jù)發(fā)送到串口。()()函數(shù)用來完成從串口讀數(shù)據(jù),由于有多個串口,所以應(yīng)把串口作為參數(shù)傳遞進來,然后調(diào)用函數(shù)(),并把下位機發(fā)送到串口,數(shù)據(jù)讀出來放到緩存里面,接著對數(shù)據(jù)進行處理以將其變換成字符串()類型并返回。()()函數(shù)主要用于獲得串口的當前配置,可通過調(diào)用函數(shù)()來實現(xiàn),然后再進行相應(yīng)
9、的處理。()()函數(shù)用于獲得訪問超時值。()()函數(shù)可用來關(guān)閉串口。因為在系統(tǒng)中串口是系統(tǒng)資源,因而在不用時,應(yīng)將其釋放掉,以便于其它進程對該資源的使用。 基于串口通信的金剛石合成控制金剛石合成控制系統(tǒng)采用主從式控制方式,上位機為微機、下位機為。上位機的主要功能是對系統(tǒng)進行實時監(jiān)控,下位機的主要功能是對系統(tǒng)進行實時控制。上位機采用 操作系統(tǒng),其監(jiān)控程序可用開發(fā),上、下位機之間通過與串口進行通信,它們之間采用的通信波特率為,無奇偶校驗,每字節(jié)位,并有位停止位。上、下位機之間傳送的數(shù)據(jù)格式可自己定義。由于傳輸數(shù)據(jù)時可能會引起錯誤,所以加入了校驗算法。該系統(tǒng)通過上位機向下位機發(fā)送數(shù)據(jù),下位機收到后就
10、把當前系統(tǒng)的狀態(tài)參數(shù)返回給上位機。由于該系統(tǒng)中所控制的參數(shù)具有遲滯性,所以應(yīng)采用定時發(fā)送數(shù)據(jù)的方法來采集現(xiàn)場狀態(tài)信息。上位機編程時,可用生成一個對話框類型的程序框架,然后將自己編寫的類加入到該工程中,并在主界面類?中添加一個類的成員變量。當監(jiān)控系統(tǒng)開始工作時,可用?函數(shù)創(chuàng)建輔助線程來管理串口通信,當調(diào)用類中的? ?函數(shù)向串口發(fā)送數(shù)據(jù)后,可調(diào)用? ?函數(shù)使輔助線程休眠一段時間,以便使有充分的時間返回數(shù)據(jù);接著再調(diào)用類中的()函數(shù)并從串口讀數(shù)據(jù),然后再調(diào)用()函數(shù)使輔助線程再休眠一定的時間。這樣設(shè)計后,當進行串口通信時,主線程就能繼續(xù)完成監(jiān)控功能和處理其他事務(wù)。輔助線程函數(shù)的主要代碼如下: ( ) ()? ; ;如果初始化串口失敗返回(?。ā啊保ā按蜷_串口失敗”); ;循環(huán)讀寫串口,直到結(jié)束()這里把要發(fā)送的數(shù)據(jù)傳送給變量向串口寫數(shù)據(jù)(,);讓輔助線程休眠();從串口讀數(shù)據(jù)并賦給變量();這里把從串口得到的數(shù)據(jù)進行處理結(jié)束語運用面向?qū)ο蠓椒ê投嗑€程技術(shù)設(shè)計的通用串口通信類類,通過對 函數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/CIE 11664-5:2024 EN Colorimetry - Part 5: CIE 1976 L*u*v* colour space and u,v'uniform chromaticity scale diagram
- 【正版授權(quán)】 ISO 15004-2:2024 EN Ophthalmic instruments - Fundamental requirements and test methods - Part 2: Light hazard protection
- 2025年基因工程項目合作計劃書
- 2025年冷光源:EL冷光片項目合作計劃書
- 2025年度公路橋梁鋼筋供應(yīng)與施工承包協(xié)議
- 2025年度辦公樓物業(yè)環(huán)境監(jiān)測與改善服務(wù)協(xié)議
- 2025年度特色餐飲店品牌獨家承包經(jīng)營合同協(xié)議
- 2025年度全國巡演活動場地租賃合同范本
- 急診病人流量預(yù)測與管理計劃
- 2025年無菌包裝用包裝材料合作協(xié)議書
- 《中國慢性阻塞性肺疾病基層診療與管理指南(2024年)》解讀
- 2023年機動車檢測站質(zhì)量手冊(依據(jù)2023年版評審準則和補充要求編制)
- 《研學旅行課程設(shè)計》課件-研學課程設(shè)計計劃
- 會議記錄表格樣本
- 馬工程《藝術(shù)學概論》
- 改善護理服務(wù)行動計劃方案
- 羧基麥芽糖鐵注射液-臨床用藥解讀
- 《手語基礎(chǔ)學習》課件
- 建筑材料包銷協(xié)議書
- 2023-2024學年高中政治統(tǒng)編版必修三1-1 中華人民共和國成立前各種政治力量 課件(23張)
- SJG 09-2024 建筑基樁檢測標準
評論
0/150
提交評論