在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 現(xiàn)場(chǎng)總線(xiàn)運(yùn)動(dòng)控制模塊的設(shè)計(jì)及其在PLC系統(tǒng)中的應(yīng)用

            現(xiàn)場(chǎng)總線(xiàn)運(yùn)動(dòng)控制模塊的設(shè)計(jì)及其在PLC系統(tǒng)中的應(yīng)用

            作者: 時(shí)間:2010-02-26 來(lái)源:網(wǎng)絡(luò) 收藏
            1.3.1 G代碼解碼
              接收到工作指令后,開(kāi)始進(jìn)行G代碼的解釋執(zhí)行任務(wù)。G代碼存放在SD卡中,主器集成FAT文件,支持SD卡的文件讀寫(xiě)。G代碼讀入后,逐行進(jìn)行第一遍掃描(即指令預(yù)處理),期間將注釋、空格、非法字符去除,小寫(xiě)字符轉(zhuǎn)換成大寫(xiě),以方便解碼程序進(jìn)行識(shí)別。
            經(jīng)過(guò)預(yù)處理的G代碼指令逐行送入G代碼解碼程序,解釋程序再逐字檢查其是否為G代碼的指令字符,若是,則提取關(guān)鍵字的后續(xù)數(shù)值,作為該指令的操作數(shù),將其提取出來(lái)。其中用到了ANSI C的標(biāo)準(zhǔn)庫(kù)函數(shù)sscanf( )(位于stdio.h中),可以方便地提取字符串中指定的信息,支持類(lèi)正則表達(dá)式的格式字符串,非常靈活。同時(shí)因?yàn)槭褂昧薃NSI C的標(biāo)準(zhǔn)庫(kù)函數(shù),程序移植簡(jiǎn)單。
            以下是G代碼解碼程序的部分代碼:
            /*遍歷整個(gè)s字符串,找到字符后,提取后續(xù)數(shù)字,并存入中間代碼中*/

            本文引用地址:http://www.biyoush.com/article/152081.htm


              其中,CurrentGMidCode是預(yù)定義的結(jié)構(gòu)體變量,用于保存每行G代碼提取出來(lái)的指令操作數(shù),結(jié)構(gòu)如下:

              提取到每行G代碼的關(guān)鍵信息后進(jìn)行相關(guān)處理,計(jì)算出每行代碼的起止坐標(biāo),將其通過(guò)SPI發(fā)送至NC芯片,控制電機(jī)。
            1.3.2 插補(bǔ)進(jìn)給
              電機(jī)的插補(bǔ)運(yùn)算、加減速和進(jìn)給控制,由一個(gè)獨(dú)立STM32微控制器完成,并稱(chēng)為NC運(yùn)動(dòng)控制芯片。
              目前市場(chǎng)上的運(yùn)動(dòng)控制芯片主要是日本和歐美公司的專(zhuān)用ASIC和各數(shù)控廠(chǎng)家自行開(kāi)發(fā)的FPGA芯片,雖然性能優(yōu)越,但價(jià)格不低。相對(duì)于使用ASIC芯片或FPGA芯片,完成同樣的任務(wù)使用MCU方案,硬件生產(chǎn)成本和開(kāi)發(fā)成本均具有明顯優(yōu)勢(shì),當(dāng)STM32微控制器運(yùn)行在其最高頻率為72 MHz下時(shí),性能完全可以滿(mǎn)足中低端數(shù)控的要求。
              在三軸數(shù)控銑中,NC運(yùn)動(dòng)控制芯片需要實(shí)現(xiàn)三軸快速定位、二軸直線(xiàn)插補(bǔ)、二軸圓弧插補(bǔ)、三軸直線(xiàn)插補(bǔ)的功能。
              插補(bǔ)是在組成軌跡的直線(xiàn)段或曲線(xiàn)段的起點(diǎn)和終點(diǎn)之間,按一定的算法進(jìn)行數(shù)據(jù)點(diǎn)的密化工作,以確定一些中間點(diǎn),從而為軌跡控制的每一步提供逼近目標(biāo)。在本控制器中,選用逐點(diǎn)比較法作為基本的插補(bǔ)算法,具有算法簡(jiǎn)單高效、進(jìn)給速度均勻的特點(diǎn),同時(shí)支持三軸的直線(xiàn)插補(bǔ)[1],滿(mǎn)足本控制器對(duì)插補(bǔ)算法的要求。
              逐點(diǎn)比較直線(xiàn)插補(bǔ),就是執(zhí)行機(jī)構(gòu)每走一步都要和給定運(yùn)動(dòng)軌跡上相應(yīng)的坐標(biāo)值相比較,比較的結(jié)果稱(chēng)為偏差函數(shù)F,根據(jù)偏差的正、負(fù)決定下一步的進(jìn)給方向。實(shí)質(zhì)上這是一種用階梯折線(xiàn)來(lái)逼近直線(xiàn)的一種算法,它與規(guī)定運(yùn)動(dòng)軌跡之間的最大誤差為1個(gè)脈沖當(dāng)量(每走1步移動(dòng)的距離)。因此,只要把脈沖當(dāng)量得足夠小,就可以達(dá)到運(yùn)動(dòng)精度的要求[2]。
            1.4 Modbus-RTU協(xié)議的實(shí)現(xiàn)
              Modbus-RTU是Modicon公司開(kāi)發(fā)的一種通信協(xié)議。它采用主從應(yīng)答方式工作,其規(guī)范已公布在互聯(lián)網(wǎng)上,是一種在工業(yè)領(lǐng)域被廣為的真正開(kāi)放的標(biāo)準(zhǔn)網(wǎng)絡(luò)通信協(xié)議。由于它具有免收許可費(fèi)用,易于集成不同的設(shè)備、簡(jiǎn)單易用、開(kāi)發(fā)成本低、有著廣泛的知識(shí)資源支持等特點(diǎn),已經(jīng)成為一種公認(rèn)的通用工業(yè)標(biāo)準(zhǔn)。有了這個(gè)標(biāo)準(zhǔn),不同廠(chǎng)商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。Modbus PTU協(xié)議有2種傳輸模式:RTU模式和ASCII模式。其中RTU模式信息幀中的8 bit數(shù)據(jù)包括2個(gè)4 bit十六進(jìn)制字符,相對(duì)于A(yíng)SCII模式,RTU模式表達(dá)相同的信息需要較少的位數(shù),且在相同通信速率下具有更大的數(shù)據(jù)流量。因此通常情況下,一般工業(yè)智能儀器儀表都是采用RTU模式的Modbus規(guī)約。
              Modbus-RTU協(xié)議以幀為通信的基本單位,幀格式為:地址碼1 B;功能碼1 B;數(shù)據(jù)區(qū)N B;錯(cuò)誤校驗(yàn)2 B CRC碼。
              本運(yùn)動(dòng)控制器在其RS-485接口上實(shí)現(xiàn)了Modbus-RTU協(xié)議,使用了當(dāng)今流行的免費(fèi)開(kāi)源協(xié)議棧FreeModbus-RTU,從而保證了可靠的通信、節(jié)約了開(kāi)發(fā)成本。
              FreeModbus是針對(duì)通用的Modbus協(xié)議棧在嵌入式系統(tǒng)中的實(shí)現(xiàn),其遵循BSD開(kāi)放源代碼協(xié)議,并可以免費(fèi)用于商業(yè)用途,成熟可靠。移植FreeModbus到STM32處理器只需要少量資源,除了1個(gè)雙工USART外,只需要配置1個(gè)定時(shí)器進(jìn)行超時(shí)判斷即可。



            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉