<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線實(shí)現(xiàn)數(shù)控機(jī)床的網(wǎng)絡(luò)化

          CAN總線實(shí)現(xiàn)數(shù)控機(jī)床的網(wǎng)絡(luò)化

          作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

            3.1 系統(tǒng)初始化程序

            初始化程序主要完成初始化設(shè)置CAN 控制寄存器(CANOCN) 、位定時(shí)寄存器(B ITREG) ,初始化發(fā)送報(bào)文對(duì)象和接收?qǐng)?bào)文對(duì)象。其中,位定時(shí)寄存器的設(shè)置較復(fù)雜,使用8MHz外部晶振, CAN通信速率為500 k / s,得到B ITREG的初始值為0x2301。對(duì)象初始化、發(fā)送和接收初始化完成后啟動(dòng)CAN處理機(jī)制(對(duì)B ITREG和CAN0CN初始化) 。下面為初始化程序結(jié)構(gòu):

            void start2CAN ( void)
            {
            SFPRAGE =CAN02 PAGE; / /指向CAN0頁面
            CAN0CN I = 0x41; / /置位CCE和Init開始初始化
            CAN0ADR =B ITREG; / /指向位定時(shí)寄存器進(jìn)行配置
            CAN0DAT = 0x2301; / /位率為500 k / s
            CAN0CN I = 0x06; / /允許全局中斷,置位IE和SIE
            CAN0CN& = ~0x41; / /清CCE和IN IT位啟動(dòng)CAN狀態(tài)機(jī)制
            }

            3.2 發(fā)送程序

            CAN報(bào)文發(fā)送由CAN控制器自動(dòng)完成,只需根據(jù)接收的遠(yuǎn)程幀識(shí)別符將對(duì)應(yīng)數(shù)據(jù)轉(zhuǎn)移到發(fā)送緩沖寄存器,將此報(bào)文對(duì)象編碼寫入命令請(qǐng)求寄存器啟動(dòng)發(fā)送即可。使用定時(shí)更新發(fā)送報(bào)文對(duì)象中的數(shù)據(jù),數(shù)據(jù)的發(fā)送由控制器硬件自動(dòng)完成,當(dāng)其收到一個(gè)遠(yuǎn)程幀時(shí),就將相同識(shí)別符的數(shù)據(jù)幀發(fā)送出去。發(fā)送程序結(jié)構(gòu)如下:

            void send2message ( charMsgNum)
            {
            uchar j;
            SFRPAGE =CAN02PAGE; / /指向CAN0頁面
            CAN0ADR = IF1CMDMSK; / /向IF1命令屏蔽寄存器寫入命令
            CAN0DAT = 0x0083; / /位率為500 k / s
            CAN0ADR = IF1ARB2; / /指向IF1仲裁寄存器2
            CAN0DATH = 0x80;
            CAN0ADR = IF1DATA1; / /指向數(shù)據(jù)場(chǎng)首字節(jié)
            for( i = 0; i < 4; i ++ )
            {CAN0DATH = can2 temp [ i ] ; } / /將4 Byte數(shù)據(jù)寫入發(fā)送Buffer
            CAN0ADR = IF1CMDRQST;
            CAN0DATL =MsgNum; / /寫入報(bào)文對(duì)象編號(hào),數(shù)據(jù)發(fā)送到對(duì)應(yīng)報(bào)文對(duì)象
            }

            3.3 接收程序

            CAN報(bào)文的接收與發(fā)送一樣,由CAN控制器自動(dòng)完成,接收程序只需從接收緩存器中讀取接收的數(shù)據(jù),再進(jìn)行相應(yīng)處理即可?;痉椒ㄅc發(fā)送程序一致,只是接收程序采用中斷方式。此應(yīng)用中,主要接收上位機(jī)對(duì)機(jī)床編號(hào)的選擇,參數(shù)設(shè)置和NC控制程序以及相反流程的機(jī)床狀態(tài)信息等。接收程序結(jié)構(gòu)如下:

            void receive2data ( void)
            {
            SFRPAGE =CAN02 PAGE; / /指向CAN0頁面
            CAN0ADR = IF2CMDMSK; / /向IF2命令屏蔽寄存器寫命令
            CAN0DATH = 0x00;
            CAN0DATL = 0x3F; / /位率為500 k / s
            CAN0ADR = IF2CMDRQST; / /將報(bào)文對(duì)象編號(hào)寫入命令請(qǐng)求寄存器,對(duì)應(yīng)接收
            CAN0DATL =MsgNum; / /得到數(shù)據(jù)就從報(bào)文RAM移到數(shù)據(jù)Buffer中
            CAN0ADR = IF2DATA1; / /指向數(shù)據(jù)場(chǎng)首字節(jié)
            for( i = 0; i < 4; i ++ )
             { CAN2RX[ i] =CAN0DAT; } / /讀取4Byte數(shù)據(jù)
            }

            3.4 上位機(jī)服務(wù)器軟件

            上位機(jī)服務(wù)器軟件主要功能有NC程序文件數(shù)據(jù)管理,數(shù)控機(jī)床的編號(hào)管理,數(shù)據(jù)發(fā)送,通信接點(diǎn)及下位機(jī)狀態(tài)監(jiān)測(cè),下位機(jī)數(shù)據(jù)的上傳等,軟件功能結(jié)構(gòu)圖見圖5。軟件的規(guī)模較大,屬于典型的C \S(客戶\服務(wù)器)模式軟件。采用Delphi7. 0進(jìn)行開發(fā)。利用Delphi下安裝SPCOMM控件實(shí)現(xiàn)串口通信。由于涉及到文件管理,需要管理多個(gè)文件,按加工順序傳輸,需要建立數(shù)據(jù)庫系統(tǒng)。采用MicrosoftOffice Access數(shù)據(jù)庫軟件建立數(shù)據(jù)庫管理系統(tǒng)。

          上位機(jī)軟件結(jié)構(gòu)

          圖5 上位機(jī)軟件結(jié)構(gòu)

          4 設(shè)計(jì)實(shí)驗(yàn)結(jié)果

            實(shí)驗(yàn)機(jī)床為CAK6136V /750型數(shù)控機(jī)床3臺(tái);實(shí)驗(yàn)環(huán)境為該校工程訓(xùn)練中心機(jī)加工車間強(qiáng)干擾工業(yè)環(huán)境,并在實(shí)驗(yàn)過程中啟動(dòng)電火花加工機(jī)床、線切割機(jī)床等強(qiáng)干擾源。實(shí)驗(yàn)中,上位機(jī)分別向3 臺(tái)數(shù)控機(jī)床發(fā)送4 Byte測(cè)試數(shù)據(jù),機(jī)床接收后立即向上位機(jī)返回所接收數(shù)據(jù),系統(tǒng)驗(yàn)證數(shù)據(jù)正確后繼續(xù)發(fā)送數(shù)據(jù),直到數(shù)據(jù)出錯(cuò)或通信次數(shù)達(dá)到預(yù)設(shè)循環(huán)時(shí)停止發(fā)送。實(shí)驗(yàn)中CAN總線波特率設(shè)置為500 k / s,通信線纜長(zhǎng)為15 m,進(jìn)行了多次長(zhǎng)時(shí)間測(cè)試,取其中1次實(shí)驗(yàn)數(shù)據(jù)分析見表1。

          表1 實(shí)驗(yàn)數(shù)據(jù)分析

          實(shí)驗(yàn)數(shù)據(jù)分析

            測(cè)試時(shí)間600 s,發(fā)送數(shù)據(jù)1 704 061次,計(jì)算得出上位機(jī)和單臺(tái)機(jī)床交換一次數(shù)據(jù)的時(shí)間為01352 1 ms,考慮到計(jì)時(shí)誤差及通信等待時(shí)間,系統(tǒng)和3臺(tái)機(jī)床通信一次約需11056 3 ms,系統(tǒng)響應(yīng)滿足數(shù)控加工要求。由于通信節(jié)點(diǎn)電路及電源電路都設(shè)計(jì)了特殊的抗干擾措施,并得益于CAN總線的高可靠特性,實(shí)驗(yàn)實(shí)現(xiàn)了快速響應(yīng)下極低的數(shù)據(jù)傳輸錯(cuò)誤率。

            然后,在上位機(jī)編輯一段加工一個(gè)圓臺(tái)的NC代碼,發(fā)送至3臺(tái)數(shù)控機(jī)床,控制3臺(tái)機(jī)床并行加工,完成的工件刀痕排列細(xì)膩一致,扭曲較小,極少有彎折現(xiàn)象,表明加工速度比較穩(wěn)定;同時(shí)3臺(tái)機(jī)床加工出的工件經(jīng)測(cè)量一致性很好。

            實(shí)驗(yàn)結(jié)果表明:采用CAN總線的DNC通信系統(tǒng),傳輸距離遠(yuǎn),抗干擾能力強(qiáng),實(shí)時(shí)性好。

          5 結(jié)束語

            基于CAN Bus的低成本, 高可靠性的DNC通信系統(tǒng)可將普通數(shù)控機(jī)床與計(jì)算機(jī)網(wǎng)絡(luò)連接起來, 使異地CAD /CAM系統(tǒng)生成的NC代碼可以直接遠(yuǎn)程控制數(shù)控機(jī)床進(jìn)行加工, 同時(shí)允許多臺(tái)機(jī)床并行工作, 并具有一定的故障監(jiān)測(cè)功能, 實(shí)現(xiàn)機(jī)床NC代碼的可重用性, 從根本上提高了數(shù)控機(jī)床的加工效率。


          上一頁 1 2 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();