技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于STR-6的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)

基于STR-6的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)

時(shí)間:2008-07-01 10:16:00來源:dujing

導(dǎo)語:?本文設(shè)計(jì)了基于無線數(shù)據(jù)傳輸模塊STR-6的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)的硬件結(jié)構(gòu),介紹了數(shù)據(jù)傳輸所采用的時(shí)分多址通信協(xié)議和實(shí)時(shí)接收、處理數(shù)據(jù)的方法,完成了基于多線程技術(shù)的無線數(shù)據(jù)傳輸模塊軟件設(shè)計(jì)
摘 要:本文設(shè)計(jì)了基于無線數(shù)據(jù)傳輸模塊STR-6的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)的硬件結(jié)構(gòu),介紹了數(shù)據(jù)傳輸所采用的時(shí)分多址通信協(xié)議和實(shí)時(shí)接收、處理數(shù)據(jù)的方法,完成了基于多線程技術(shù)的無線數(shù)據(jù)傳輸模塊軟件設(shè)計(jì)。 關(guān)鍵詞:數(shù)控機(jī)床;無線通信;時(shí)分多址;多線程   在傳統(tǒng)的CIMS(計(jì)算機(jī)集成制造系統(tǒng))中,數(shù)據(jù)流的采集、傳輸涉及大量的電纜鋪設(shè)等問題,限制了分布式工業(yè)制造系統(tǒng)整體控制性能的提高?;赟TR-6的無線傳輸模塊能滿足對(duì)于數(shù)控機(jī)床實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的穩(wěn)定高效的傳輸要求。本文介紹了在此基礎(chǔ)上設(shè)計(jì)的數(shù)控機(jī)床無線傳輸?shù)挠布Y(jié)構(gòu)和軟件設(shè)計(jì),并對(duì)所采用的通信協(xié)議進(jìn)行了詳細(xì)分析。 系統(tǒng)結(jié)構(gòu)和通信原理 通信模塊特點(diǎn)   上海桑博科技有限公司開發(fā)的STR-6型微功率無線傳輸模塊提供了標(biāo)準(zhǔn)RS-232、RS-485和RART/TTL電平這3種接口方式,可直接與計(jì)算機(jī)COM1(或COM2)相連,利用計(jì)算機(jī)的USB接口供電。STR-6的通信信道是半雙工的,最適合點(diǎn)對(duì)多點(diǎn)的通信方式,用戶無需編制多余的程序,只要完成從接口收發(fā)數(shù)據(jù)即可,其它如空中收/發(fā)轉(zhuǎn)換、控制操作等,STR-6模塊能夠自動(dòng)完成。 系統(tǒng)硬件結(jié)構(gòu)   系統(tǒng)的結(jié)構(gòu)圖如圖1所示,整個(gè)系統(tǒng)由若干臺(tái)高性能PC組成,分別為遠(yuǎn)程監(jiān)控端(主機(jī))、現(xiàn)場(chǎng)監(jiān)控中心(從機(jī))和現(xiàn)場(chǎng)監(jiān)控單元,其中現(xiàn)場(chǎng)監(jiān)控中心和遠(yuǎn)程監(jiān)控端分別配置了STR-6模塊。主機(jī)和從機(jī)通過RS-232串口與STR-6模塊相連,兩個(gè)STR-6模塊(配置天線為30×7×1mm)之間進(jìn)行通信。上行鏈路發(fā)送指令用于主機(jī)對(duì)從機(jī)以及現(xiàn)場(chǎng)監(jiān)控單元進(jìn)行控制,下行鏈路發(fā)送狀態(tài)數(shù)據(jù)用于向主機(jī)傳遞數(shù)控機(jī)床當(dāng)前的運(yùn)行參數(shù),如主軸轉(zhuǎn)動(dòng)和切削力等。STR-6模塊提供0~7個(gè)信道,如果需要增加系統(tǒng)容量,可以設(shè)置多個(gè)頻點(diǎn),每個(gè)頻點(diǎn)供多臺(tái)數(shù)控機(jī)床使用,這樣,通過增加系統(tǒng)頻段資源的方法,可使系統(tǒng)容量成倍的增加。 [align=center] 圖1 數(shù)控機(jī)床狀態(tài)監(jiān)控系統(tǒng)硬件結(jié)構(gòu)[/align] 時(shí)分多址通信協(xié)議   本系統(tǒng)采用TDMA時(shí)分多址通信協(xié)議。把時(shí)間軸劃分成一定長(zhǎng)的時(shí)元(EPOCH),每個(gè)時(shí)元又劃分為若干個(gè)幀,每一個(gè)幀內(nèi)部又劃分為若干個(gè)時(shí)隙。幀的重復(fù)周期為幀周期, 在每個(gè)幀中給主機(jī)/從機(jī)分配一定數(shù)量的時(shí)隙以發(fā)射信號(hào),而在不發(fā)射信號(hào)的時(shí)隙中則接收從機(jī)/主機(jī)所發(fā)射的信號(hào)。主機(jī)以準(zhǔn)確的時(shí)鐘為基準(zhǔn),從機(jī)時(shí)鐘則與之同步,形成統(tǒng)一的系統(tǒng)時(shí)鐘。 網(wǎng)內(nèi)各個(gè)成員的發(fā)射時(shí)隙是彼此不同的,不存在相互干擾問題,但必須有準(zhǔn)確的時(shí)隙同步,使每一次發(fā)射都以統(tǒng)一的時(shí)隙起點(diǎn)作定時(shí)基準(zhǔn)。本系統(tǒng)測(cè)控容量為30臺(tái)數(shù)傳機(jī)床,數(shù)傳模塊的無線傳輸速率設(shè)置為9600bps,每個(gè)時(shí)隙的基本信息傳輸量為225bit,所以,設(shè)計(jì)為每個(gè)時(shí)隙35ms,每個(gè)時(shí)幀為3.5s,共有100個(gè) 時(shí)隙,每個(gè)時(shí)元35s,共10個(gè)幀。 通信模塊的軟件實(shí)現(xiàn) 程序的整體框架   無線傳輸模塊作為實(shí)時(shí)監(jiān)控系統(tǒng)的一部分,在設(shè)計(jì)時(shí)就考慮要把它設(shè)計(jì)成一個(gè)獨(dú)立的模塊,使對(duì)它的應(yīng)用類似函數(shù)的應(yīng)用,本文采用Visual C + + 語言進(jìn)行設(shè)計(jì),在終端的無線通信模塊程序中包括時(shí)戳類、編碼類、網(wǎng)絡(luò)通信類(或傳輸類) 。時(shí)戳類主要完成整個(gè)系統(tǒng)的同步,編碼類主要實(shí)現(xiàn)數(shù)據(jù)的R-S編碼功能。 網(wǎng)絡(luò)通信類主要是負(fù)責(zé)編碼后數(shù)據(jù)流的發(fā)送和接收。數(shù)據(jù)鏈終端模塊主要包含如下線程:   1 主線程   主線程的主要任務(wù)是對(duì)系統(tǒng)進(jìn)行初始化,創(chuàng)建子線程和結(jié)束子線程,并響應(yīng)菜單和鼠標(biāo)操作。   2 編解碼線程   從主機(jī)/從機(jī)獲得數(shù)據(jù),進(jìn)行編碼,并將編碼后的數(shù)據(jù)送入發(fā)送緩沖等待發(fā)送;從接收緩沖取得數(shù)據(jù)進(jìn)行解碼,得到有效信息。   3 傳輸線程   負(fù)責(zé)把發(fā)送緩沖的數(shù)據(jù)送入數(shù)傳模塊調(diào)制解調(diào)器;從調(diào)制解調(diào)器讀入數(shù)據(jù)流,并存入接收緩沖區(qū)。 Windows下精確定時(shí)的實(shí)現(xiàn)   TDMA網(wǎng)絡(luò)是一種同步網(wǎng)絡(luò),要求整個(gè)網(wǎng)絡(luò)的所有用戶都采用統(tǒng)一的時(shí)基,并且各自能維持一個(gè)高精度的時(shí)鐘。眾所周知,Windows是基于消息機(jī)制的系統(tǒng),任何事件的執(zhí)行都是通過發(fā)送和接收消息來完成的。 這樣就帶來了一些問題,如一旦計(jì)算機(jī)的CPU被某個(gè)進(jìn)程占用,或系統(tǒng)資源緊張時(shí),發(fā)送到消息隊(duì)列中的消息就暫時(shí)被掛起,得不到實(shí)時(shí)處理。因此,不能簡(jiǎn)單地通過Windows消息引發(fā)一個(gè)對(duì)定時(shí)要求嚴(yán)格的事件。由于在Windows中已封裝了計(jì)算機(jī)底層硬件的訪問,所以,要想通過直接訪問硬件來完成精確定時(shí)也比較困難?;诒鞠到y(tǒng)定時(shí)到毫秒級(jí)的要求,采用QueryPerformanceFrequency()和 QueryPerformanceCounter()函數(shù)。在進(jìn)行定時(shí)之前,先調(diào)用QueryPerformanceFrequency()函數(shù)獲得機(jī)器內(nèi)部定時(shí)器的時(shí)鐘頻率, 然后在需要嚴(yán)格定時(shí)的事件發(fā)生之前和發(fā)生之后分別調(diào)用QueryPerformanceCounter()函數(shù),利用兩次獲得的計(jì)數(shù)之差及時(shí)鐘頻率,計(jì)算出事件經(jīng)歷的精確時(shí)間。 傳輸線程的實(shí)現(xiàn)   STR-6與PC之間采用串口連接,在Microsoft Visual C++ 6.0環(huán)境下通過對(duì)Active X控件的編程來實(shí)現(xiàn)串口的通信簡(jiǎn)單方便,可以節(jié)省很多時(shí)間。首先實(shí)例化控件類MSComm,然后通過調(diào)用MSComm的函數(shù)對(duì)串口進(jìn)行初始化操作,設(shè)置其串口號(hào)、波特率、奇偶校驗(yàn)、數(shù)據(jù)位數(shù)、停止位數(shù)以及接收觸發(fā)方式等。MSComm類的讀寫通過調(diào)用函數(shù)GetInput()和SetOutput()實(shí)現(xiàn)。主機(jī)周期性地發(fā)送入網(wǎng)消息,從機(jī)偵聽鏈路35s,以便獲取整個(gè)網(wǎng)絡(luò)的時(shí)隙分配使用情況,接收到入網(wǎng)消息后,立刻進(jìn)行精同步過程,發(fā)送同步申請(qǐng)消息給主機(jī),主機(jī)接收到同步申請(qǐng)消息則發(fā)送同步應(yīng)答消息。精同步后網(wǎng)絡(luò)進(jìn)入連續(xù)運(yùn)行階段,在發(fā)送時(shí)隙發(fā)送消息,接收時(shí)隙接收有用消息。因?yàn)闀r(shí)鐘的漂移性,所以精同步過程要周期性地進(jìn)行。從機(jī)用戶程序流程如圖2所示,主機(jī)用戶程序流程圖與之相似,所以不再贅述。 [align=center] 圖2 從機(jī)成員流程圖[/align] 編解碼線程和傳輸線程的同步   當(dāng)編解碼線程工作的時(shí)候,要把數(shù)據(jù)送入發(fā)送緩沖區(qū)并從緩沖讀出數(shù)據(jù)進(jìn)行解碼,而傳輸線程要從發(fā)送緩沖區(qū)提取數(shù)據(jù)發(fā)送出去、從調(diào)制解調(diào)器接收數(shù)據(jù)存入緩沖區(qū),需要設(shè)置精確的同步來保證它們之間不發(fā)生沖突。以編碼線程和發(fā)送線程的同步為例進(jìn)行說明,首先在傳輸類里定義2個(gè)大小相同的發(fā)送緩沖區(qū)E1、E2,并定義4個(gè)事件,分別對(duì)應(yīng)緩沖區(qū)E1空事件、緩沖區(qū)E1滿事件、緩沖區(qū)E2空事件、緩沖區(qū)E2滿事件。在主線程中首先對(duì)這4個(gè)事件進(jìn)行初始化,由于開始時(shí)刻2個(gè)緩沖區(qū)應(yīng)是空的,所以在初始化時(shí)緩沖區(qū)E1、E2的空事件為信號(hào)狀態(tài),而緩沖區(qū)E1、E2滿為非信號(hào)狀態(tài),這時(shí)啟動(dòng)編碼線程和發(fā)送線程。由于用2個(gè)發(fā)送緩沖進(jìn)行工作,所以在線程啟動(dòng)之前必須有一個(gè)為當(dāng)前發(fā)送緩沖區(qū)和當(dāng)前編碼緩沖區(qū),把E1初始化作為它們的初值。當(dāng)程序開始工作時(shí),緩沖區(qū)空事件處于信號(hào)狀態(tài),所以編碼線程進(jìn)行編碼工作,把壓縮數(shù)據(jù)流存入當(dāng)前緩沖區(qū),而發(fā)送緩沖監(jiān)測(cè)不到緩沖區(qū)滿事件處于信號(hào)狀態(tài),所以等待。當(dāng)前編碼緩沖區(qū)變滿時(shí),編碼線程置該緩沖滿為信號(hào)狀態(tài),置該緩沖空為非信號(hào)狀態(tài),并交換當(dāng)前編碼緩沖區(qū),同時(shí),該線程進(jìn)入等待狀態(tài);此時(shí)處于等待狀態(tài)的發(fā)送線程監(jiān)聽到緩沖區(qū)滿事件處于信號(hào)狀態(tài),便開始工作,發(fā)送當(dāng)前緩沖的數(shù)據(jù)到調(diào)制解調(diào)器或局域網(wǎng)直至完畢。 然后該線程置當(dāng)前發(fā)送緩沖空為信號(hào)狀態(tài),而當(dāng)前緩沖滿為非信號(hào)狀態(tài),并交換當(dāng)前發(fā)送緩沖區(qū),這樣,等待緩沖區(qū)空的編碼線程又可以占據(jù)該緩沖區(qū),如此反復(fù)直至編碼線程結(jié)束。 結(jié)語   實(shí)驗(yàn)表明,利用STR-6通信模塊設(shè)計(jì)的無線數(shù)據(jù)傳輸模塊,數(shù)據(jù)傳送及時(shí)、安全可靠、誤碼率很低,而且體積小、功耗低,可以方便地嵌入到數(shù)控機(jī)床監(jiān)測(cè)系統(tǒng)中,降低了監(jiān)控系統(tǒng)的開發(fā)成本和開發(fā)周期,提高了設(shè)備應(yīng)用的靈活性。   本系統(tǒng)也存在一定的局限性,它的開發(fā)基于Windows操作平臺(tái),尚不具備跨平臺(tái)的兼容性。如擴(kuò)展其應(yīng)用,還需進(jìn)一步的工作

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:PROFINET及其同步實(shí)時(shí)通信分析

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)