直播推薦
企業(yè)動(dòng)態(tài)
- 紛享銷(xiāo)客發(fā)布首個(gè)企業(yè)級(jí)智能CRM平臺(tái)ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門(mén)子X(jué)celerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級(jí)云ERP煥新升級(jí)
- 《“智“領(lǐng)石化,“質(zhì)“造未來(lái)——威圖石化行業(yè)數(shù)智化實(shí)踐白皮書(shū)》隆重發(fā)布
- 攜手共贏!德國(guó)Agfa搭載瑞典IPCO鋼帶,實(shí)現(xiàn)印刷設(shè)備振動(dòng)銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團(tuán)榮獲“知名商標(biāo)品牌閃亮”證書(shū),助力品牌戰(zhàn)略升級(jí)
- 皇冠CAD(CrownCAD)2025 R3版本來(lái)了,率先開(kāi)啟C“Ai”D時(shí)代!
- 電費(fèi)砍半!中國(guó)制冷展:海爾發(fā)布AI建筑最新成果
推薦展會(huì)
基于STR-30的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)
摘 要:本文設(shè)計(jì)了基于無(wú)線(xiàn)數(shù)據(jù)傳輸模塊STR-30型的數(shù)控機(jī)床狀態(tài)實(shí)時(shí)監(jiān)控系統(tǒng)的硬件結(jié)構(gòu),介紹了數(shù)據(jù)傳輸所采用的時(shí)分多址通信協(xié)議和實(shí)時(shí)接收、處理數(shù)據(jù)的方法,完成了基于多線(xiàn)程技術(shù)的無(wú)線(xiàn)數(shù)據(jù)傳輸模塊軟件設(shè)計(jì)。
關(guān)鍵詞:數(shù)控機(jī)床;無(wú)線(xiàn)通信;時(shí)分多址;多線(xiàn)程
在傳統(tǒng)的CIMS(計(jì)算機(jī)集成制造系統(tǒng))中,數(shù)據(jù)流的采集、傳輸涉及大量的電纜鋪設(shè)等問(wèn)題,限制了分布式工業(yè)制造系統(tǒng)整體控制性能的提高?;赟TR-30型的無(wú)線(xiàn)傳輸模塊能滿(mǎn)足對(duì)于數(shù)控機(jī)床實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的穩(wěn)定的傳輸要求。本文介紹了在此基礎(chǔ)上設(shè)計(jì)的數(shù)控機(jī)床無(wú)線(xiàn)傳輸?shù)挠布Y(jié)構(gòu)和軟件設(shè)計(jì),并對(duì)所采用的通信協(xié)議進(jìn)行了詳細(xì)分析。
系統(tǒng)結(jié)構(gòu)和通信原理
通信模塊特點(diǎn)
上海桑博科技有限公司開(kāi)發(fā)的STR-30型微功率無(wú)線(xiàn)傳輸模塊提供了標(biāo)準(zhǔn)RS-232、RS-485和RART/TTL電平這3種接口方式,可直接與計(jì)算機(jī)COM1(或COM2)相連,利用計(jì)算機(jī)的USB接口供電。STR-30的通信信道是半雙工的(或者直接用STR-30USB),點(diǎn)對(duì)多點(diǎn)的通信方式,用戶(hù)無(wú)需編制多余的程序,只要完成從接口收發(fā)數(shù)據(jù)即可,其它如空中收/發(fā)轉(zhuǎn)換、控制操作等,STR-30無(wú)線(xiàn)通信模塊能夠自動(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-30無(wú)線(xiàn)通信模塊。主機(jī)和從機(jī)通過(guò)RS-232串口與STR-30無(wú)線(xiàn)通信模塊相連,兩個(gè)STR-30無(wú)線(xiàn)通信模塊(配置天線(xiàn)為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-30無(wú)線(xiàn)通信模塊提供0~7個(gè)信道(zui多可以提供256個(gè)信道,*可以滿(mǎn)足客戶(hù)的需要了),如果需要增加系統(tǒng)容量,可以設(shè)置多個(gè)頻點(diǎn),每個(gè)頻點(diǎn)供多臺(tái)數(shù)控機(jī)床使用,這樣,通過(guò)增加系統(tǒng)頻段資源的方法,可使系統(tǒng)容量成倍的增加。
圖1 數(shù)控機(jī)床狀態(tài)監(jiān)控系統(tǒng)硬件結(jié)構(gòu)
時(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í)隙是彼此不同的,不存在相互干擾問(wèn)題,但必須有準(zhǔn)確的時(shí)隙同步,使每一次發(fā)射都以統(tǒng)一的時(shí)隙起點(diǎn)作定時(shí)基準(zhǔn)。本系統(tǒng)測(cè)控容量為30臺(tái)數(shù)傳機(jī)床,數(shù)傳模塊的無(wú)線(xiàn)傳輸速率設(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)
程序的整體框架
無(wú)線(xiàn)傳輸模塊作為實(shí)時(shí)監(jiān)控系統(tǒng)的一部分,在設(shè)計(jì)時(shí)就考慮要把它設(shè)計(jì)成一個(gè)獨(dú)立的模塊,使對(duì)它的應(yīng)用類(lèi)似函數(shù)的應(yīng)用,本文采用Visual C + + 語(yǔ)言進(jìn)行設(shè)計(jì),在終端的無(wú)線(xiàn)通信模塊程序中包括時(shí)戳類(lèi)、編碼類(lèi)、網(wǎng)絡(luò)通信類(lèi)(或傳輸類(lèi)) 。時(shí)戳類(lèi)主要完成整個(gè)系統(tǒng)的同步,編碼類(lèi)主要實(shí)現(xiàn)數(shù)據(jù)的R-S編碼功能。 網(wǎng)絡(luò)通信類(lèi)主要是負(fù)責(zé)編碼后數(shù)據(jù)流的發(fā)送和接收。數(shù)據(jù)鏈終端模塊主要包含如下線(xiàn)程:
1 主線(xiàn)程
主線(xiàn)程的主要任務(wù)是對(duì)系統(tǒng)進(jìn)行初始化,創(chuàng)建子線(xiàn)程和結(jié)束子線(xiàn)程,并響應(yīng)菜單和鼠標(biāo)操作。
2 編解碼線(xiàn)程
從主機(jī)/從機(jī)獲得數(shù)據(jù),進(jìn)行編碼,并將編碼后的數(shù)據(jù)送入發(fā)送緩沖等待發(fā)送;從接收緩沖取得數(shù)據(jù)進(jìn)行解碼,得到有效信息。
3 傳輸線(xiàn)程
負(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ò)的所有用戶(hù)都采用統(tǒng)一的時(shí)基,并且各自能維持一個(gè)高精度的時(shí)鐘。*,Windows是基于消息機(jī)制的系統(tǒng),任何事件的執(zhí)行都是通過(guò)發(fā)送和接收消息來(lái)完成的。 這樣就帶來(lái)了一些問(wèn)題,如一旦計(jì)算機(jī)的CPU被某個(gè)進(jìn)程占用,或系統(tǒng)資源緊張時(shí),發(fā)送到消息隊(duì)列中的消息就暫時(shí)被掛起,得不到實(shí)時(shí)處理。因此,不能簡(jiǎn)單地通過(guò)Windows消息引發(fā)一個(gè)對(duì)定時(shí)要求嚴(yán)格的事件。由于在Windows中已封裝了計(jì)算機(jī)底層硬件的訪(fǎng)問(wèn),所以,要想通過(guò)直接訪(fǎng)問(wèn)硬件來(lái)完成定時(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í)間。
傳輸線(xiàn)程的實(shí)現(xiàn)
STR-30與PC之間采用串口連接,在Microsoft Visual C++ 6.0環(huán)境下通過(guò)對(duì)Active X控件的編程來(lái)實(shí)現(xiàn)串口的通信簡(jiǎn)單方便,可以節(jié)省很多時(shí)間。首先實(shí)例化控件類(lèi)MSComm,然后通過(guò)調(diào)用MSComm的函數(shù)對(duì)串口進(jìn)行初始化操作,設(shè)置其串口號(hào)、波特率、奇偶校驗(yàn)、數(shù)據(jù)位數(shù)、停止位數(shù)以及接收觸發(fā)方式等。MSComm類(lèi)的讀寫(xiě)通過(guò)調(diào)用函數(shù)GetInput()和SetOutput()實(shí)現(xiàn)。主機(jī)周期性地發(fā)送入網(wǎng)消息,從機(jī)偵聽(tīng)鏈路35s,以便獲取整個(gè)網(wǎng)絡(luò)的時(shí)隙分配使用情況,接收到入網(wǎng)消息后,立刻進(jìn)行精同步過(guò)程,發(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í)鐘的漂移性,所以精同步過(guò)程要周期性地進(jìn)行。從機(jī)用戶(hù)程序流程如圖2所示,主機(jī)用戶(hù)程序流程圖與之相似,所以不再贅述。
圖2 從機(jī)成員流程圖
編解碼線(xiàn)程和傳輸線(xiàn)程的同步
當(dāng)編解碼線(xiàn)程工作的時(shí)候,要把數(shù)據(jù)送入發(fā)送緩沖區(qū)并從緩沖讀出數(shù)據(jù)進(jìn)行解碼,而傳輸線(xiàn)程要從發(fā)送緩沖區(qū)提取數(shù)據(jù)發(fā)送出去、從調(diào)制解調(diào)器接收數(shù)據(jù)存入緩沖區(qū),需要設(shè)置的同步來(lái)保證它們之間不發(fā)生沖突。以編碼線(xiàn)程和發(fā)送線(xiàn)程的同步為例進(jìn)行說(shuō)明,首先在傳輸類(lèi)里定義2個(gè)大小相同的發(fā)送緩沖區(qū)E1、E2,并定義4個(gè)事件,分別對(duì)應(yīng)緩沖區(qū)E1空事件、緩沖區(qū)E1滿(mǎn)事件、緩沖區(qū)E2空事件、緩沖區(qū)E2滿(mǎn)事件。在主線(xiàn)程中首先對(duì)這4個(gè)事件進(jìn)行初始化,由于開(kāi)始時(shí)刻2個(gè)緩沖區(qū)應(yīng)是空的,所以在初始化時(shí)緩沖區(qū)E1、E2的空事件為信號(hào)狀態(tài),而緩沖區(qū)E1、E2滿(mǎn)為非信號(hào)狀態(tài),這時(shí)啟動(dòng)編碼線(xiàn)程和發(fā)送線(xiàn)程。由于用2個(gè)發(fā)送緩沖進(jìn)行工作,所以在線(xiàn)程啟動(dòng)之前必須有一個(gè)為當(dāng)前發(fā)送緩沖區(qū)和當(dāng)前編碼緩沖區(qū),把E1初始化作為它們的初值。當(dāng)程序開(kāi)始工作時(shí),緩沖區(qū)空事件處于信號(hào)狀態(tài),所以編碼線(xiàn)程進(jìn)行編碼工作,把壓縮數(shù)據(jù)流存入當(dāng)前緩沖區(qū),而發(fā)送緩沖監(jiān)測(cè)不到緩沖區(qū)滿(mǎn)事件處于信號(hào)狀態(tài),所以等待。當(dāng)前編碼緩沖區(qū)變滿(mǎn)時(shí),編碼線(xiàn)程置該緩沖滿(mǎn)為信號(hào)狀態(tài),置該緩沖空為非信號(hào)狀態(tài),并交換當(dāng)前編碼緩沖區(qū),同時(shí),該線(xiàn)程進(jìn)入等待狀態(tài);此時(shí)處于等待狀態(tài)的發(fā)送線(xiàn)程監(jiān)聽(tīng)到緩沖區(qū)滿(mǎn)事件處于信號(hào)狀態(tài),便開(kāi)始工作,發(fā)送當(dāng)前緩沖的數(shù)據(jù)到調(diào)制解調(diào)器或局域網(wǎng)直至完畢。 然后該線(xiàn)程置當(dāng)前發(fā)送緩沖空為信號(hào)狀態(tài),而當(dāng)前緩沖滿(mǎn)為非信號(hào)狀態(tài),并交換當(dāng)前發(fā)送緩沖區(qū),這樣,等待緩沖區(qū)空的編碼線(xiàn)程又可以占據(jù)該緩沖區(qū),如此反復(fù)直至編碼線(xiàn)程結(jié)束。
結(jié)語(yǔ)
實(shí)驗(yàn)表明,利用STR-30通信模塊設(shè)計(jì)的無(wú)線(xiàn)數(shù)據(jù)傳輸模塊,數(shù)據(jù)傳送及時(shí)、安全可靠、誤碼率很低,而且體積小、功耗低,距離遠(yuǎn),可以方便地嵌入到數(shù)控機(jī)床監(jiān)測(cè)系統(tǒng)中,降低了監(jiān)控系統(tǒng)的開(kāi)發(fā)成本和開(kāi)發(fā)周期,提高了設(shè)備應(yīng)用的靈活性。
本系統(tǒng)也存在一定的局限性,它的開(kāi)發(fā)基于Windows操作平臺(tái),尚不具備跨平臺(tái)的兼容性。如擴(kuò)展其應(yīng)用,還需進(jìn)一步的工作
對(duì)于STR-30可以提供多種借口,如RS232,RS485,TTL,USB等接口。
上一篇:呼吸閥特點(diǎn)與性能
下一篇:提高齒輪泵基本功能的可行回路
免責(zé)聲明
- 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國(guó)國(guó)際機(jī)電產(chǎn)品交易會(huì) 暨先進(jìn)制造業(yè)博覽會(huì)
展會(huì)城市:合肥市展會(huì)時(shí)間:2025-09-20