版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緒論1.1引言網(wǎng)絡(luò)技術(shù)是15世紀(jì)影響人類生活型態(tài),甚至改變公司經(jīng)營決策最重要的一項(xiàng)技術(shù)。隨著信息技術(shù)的發(fā)展,自動(dòng)化領(lǐng)域也經(jīng)歷了一場由組合式模擬儀表控制系統(tǒng)、集中式數(shù)字控制系統(tǒng)(DDC)、集散控制系統(tǒng)(DCS)、現(xiàn)場總線控制系統(tǒng)(FCS)到現(xiàn)在剛剛興起的工業(yè)以太網(wǎng)控制的深層次變革?,F(xiàn)在,工業(yè)自動(dòng)化領(lǐng)域的現(xiàn)狀是,DCS仍然在許多行業(yè)有著廣泛的應(yīng)用;FCS已逐漸被大家認(rèn)可,并以每年30%的增長率快速成長;而工業(yè)以太網(wǎng)控制系統(tǒng)則剛剛興起,正處于試用階段,并有望解決運(yùn)動(dòng)控制系統(tǒng)對網(wǎng)絡(luò)實(shí)時(shí)性和確定性的要求,實(shí)現(xiàn)工業(yè)網(wǎng)絡(luò)控制標(biāo)準(zhǔn)的最終統(tǒng)一。所謂運(yùn)動(dòng)控制網(wǎng)絡(luò)是指建構(gòu)在控制器與多軸電機(jī)驅(qū)動(dòng)器之間,能夠?qū)崟r(shí)、同步地傳送運(yùn)動(dòng)命令和接收運(yùn)動(dòng)狀態(tài)的網(wǎng)絡(luò)系統(tǒng),目前已成為伺服驅(qū)動(dòng)器發(fā)展的趨勢。本文對目前市場上比較流行的各種串行運(yùn)動(dòng)控制網(wǎng)絡(luò)做了深入探討,對國內(nèi)運(yùn)動(dòng)控制網(wǎng)絡(luò)技術(shù)的發(fā)展有所幫助。1.2運(yùn)動(dòng)控制網(wǎng)絡(luò)的發(fā)展由于組合式模擬儀表控制系統(tǒng)和集中式數(shù)字控制系統(tǒng)已基本被淘汰,因此本文主要對DCS,F(xiàn)CS及工業(yè)以太網(wǎng)的發(fā)展情況加以敘述。1)集散控制系統(tǒng)(DCS)集散控制系統(tǒng)又稱為分布式控制系統(tǒng),它是一種應(yīng)用于過程控制的工程化分布式計(jì)算機(jī)控制系統(tǒng),它的特點(diǎn)在于可實(shí)現(xiàn)硬件積木化、軟件模塊化、松耦合多處理機(jī)系統(tǒng)、控制系統(tǒng)用組態(tài)方法生成、可應(yīng)用通信網(wǎng)絡(luò)和可靠性等,解決了原有計(jì)算機(jī)集中控制中導(dǎo)致的危險(xiǎn)集中和常規(guī)模擬儀表控制功能單一的局限性,克服了計(jì)算機(jī)集中控制雙工系統(tǒng)成本高的問題。DCS控制系統(tǒng)是計(jì)算機(jī)、通信、CRT顯示和控制技術(shù)發(fā)展的產(chǎn)物。它采用危險(xiǎn)分散、控制分散、操作和管理集中的基本設(shè)計(jì)思想,多層次、合作自治的結(jié)構(gòu)形式,適應(yīng)現(xiàn)代的生產(chǎn)和管理要求。DCS在功能與性能上較模擬儀表及集中式數(shù)字控制系統(tǒng)有了很大進(jìn)步,可在此基礎(chǔ)上實(shí)現(xiàn)設(shè)備級、車間級的優(yōu)化控制。近年來,為了使DCS更加適用于工業(yè)生產(chǎn)現(xiàn)場,新一代DCS還進(jìn)一步做了一些改進(jìn),比如系統(tǒng)開放化、超大型化和微型化、通信介質(zhì)多樣化、DCS與PLC相互融合以及軟件的不斷豐富等等。但是,在DCS系統(tǒng)形成的過程中,由于受計(jì)算機(jī)系統(tǒng)早期存在的系統(tǒng)封閉這一缺陷的影響,各廠家的產(chǎn)品自成系統(tǒng),不同廠家的設(shè)備不能互聯(lián)在一起,難以實(shí)現(xiàn)互換與互操作,要組成更大范圍信息共享的網(wǎng)絡(luò)系統(tǒng)存在很多困難。2)現(xiàn)場總線控制系統(tǒng)(FCS)現(xiàn)場總線是20世紀(jì)80年代中期在國際上發(fā)展起來的。它作為過程自動(dòng)化、制造自動(dòng)化、智能樓宇和交通等領(lǐng)域現(xiàn)場智能設(shè)備之間的互聯(lián)通信網(wǎng)絡(luò),溝通了生產(chǎn)現(xiàn)場設(shè)備之間及其與更高控制管理網(wǎng)絡(luò)之間的聯(lián)系,為徹底打破自動(dòng)化系統(tǒng)的信息孤島創(chuàng)造了條件。現(xiàn)場總線控制系統(tǒng)為網(wǎng)絡(luò)集成式全分布控制系統(tǒng),其特點(diǎn)是控制功能由過去的控制室設(shè)備變?yōu)橹悄墁F(xiàn)場儀表承擔(dān)。由于控制功能的分散化及全數(shù)字化,就有可能組成大型的開放式控制系統(tǒng),進(jìn)而實(shí)現(xiàn)從最高決策層到最低設(shè)備層的綜合管理和控制。目前國際上有40種現(xiàn)場總線,其中最有影響力的有FF,Profibus,HART,CAN,LonWorks等。然而,現(xiàn)場總線技術(shù)的發(fā)展還存在許多問題,最主要的是沒有一個(gè)統(tǒng)一的國際標(biāo)準(zhǔn)(目前的現(xiàn)場總線國際標(biāo)準(zhǔn)IEC61158,包含了8種不同類型的現(xiàn)場總線,因此可以說沒有標(biāo)準(zhǔn)),并且由于支持各總線的集團(tuán)間利益沖突等原因,近期產(chǎn)生統(tǒng)一的現(xiàn)場總線標(biāo)準(zhǔn)是不可能的。由于現(xiàn)場總線均有自己的協(xié)議,要構(gòu)成一個(gè)控制系統(tǒng),必須采用相應(yīng)的開發(fā)工具、平臺、軟件包,這需要較昂貴的代價(jià),且實(shí)現(xiàn)不同總線產(chǎn)品間的互連非常困難。這使得FCS的開放性、分散性和可互操作性等特點(diǎn)難以體現(xiàn)。這時(shí),以太網(wǎng)受到人們的重視。3)工業(yè)以太網(wǎng)在工業(yè)控制現(xiàn)場,能否將在商業(yè)領(lǐng)域應(yīng)用已相當(dāng)成熟的以太網(wǎng)用于網(wǎng)絡(luò)控制系統(tǒng)的底層,完全替代現(xiàn)場總線,目前還處于研究和討論階段。普通以太網(wǎng)向下延伸到工業(yè)現(xiàn)場,面臨一系列的技術(shù)難題,如確定性、實(shí)時(shí)性、安全性、抗干擾能力,還有現(xiàn)場設(shè)備的供電問題、網(wǎng)線物理性能的提高等??傊蕴W(wǎng)有其優(yōu)勢,也有其技術(shù)上的缺陷,它的研究方向應(yīng)在盡可能保留原有協(xié)議的基礎(chǔ)上,加入實(shí)時(shí)性控制措施。工業(yè)以太網(wǎng)是當(dāng)前工業(yè)控制領(lǐng)域新的研究熱點(diǎn),盡管它現(xiàn)在還有許多不成熟的地方,但它巨大的應(yīng)用前景吸引著眾多研究機(jī)構(gòu)和公司進(jìn)行研究探索。所謂工業(yè)以太網(wǎng),一般來講是指技術(shù)上與商用以太網(wǎng)兼容,但在產(chǎn)品設(shè)計(jì)時(shí)又能在實(shí)時(shí)性、材質(zhì)的選用、產(chǎn)品的強(qiáng)度以及適用性等方面滿足工業(yè)現(xiàn)場的需要。工業(yè)以太網(wǎng)并不是要將所有的工業(yè)網(wǎng)絡(luò)全部改成以太網(wǎng),而是要將原來工業(yè)網(wǎng)絡(luò)應(yīng)用層定義的數(shù)據(jù)信息,封包在以太網(wǎng)的網(wǎng)絡(luò)層與傳輸層內(nèi)。也就是說,工業(yè)以太網(wǎng)的重點(diǎn)在于TCP/UDP/IP,而不在以太網(wǎng)的物理層。以太網(wǎng)技術(shù)采用CSMA/CD(載波偵聽多路訪問/碰撞檢測)機(jī)制,是一種非確定性的通信調(diào)度方式。網(wǎng)絡(luò)每個(gè)節(jié)點(diǎn)要通過競爭來取得信息的發(fā)送權(quán),當(dāng)網(wǎng)絡(luò)負(fù)荷大時(shí),網(wǎng)絡(luò)傳輸不能滿足工業(yè)控制的實(shí)時(shí)要求。因此,在本質(zhì)上以太網(wǎng)并不是一個(gè)實(shí)時(shí)性網(wǎng)絡(luò),它只能保證數(shù)據(jù)可以到達(dá),但不能保證到達(dá)的時(shí)間。另外,以太網(wǎng)應(yīng)用于工業(yè)環(huán)境還存在異質(zhì)平臺整合及是否滿足工業(yè)環(huán)境等問題。針對以太網(wǎng)應(yīng)用于工業(yè)環(huán)境所面臨的一些問題,許多現(xiàn)場總線組織和國際知名公司采用了多種方法來對以太網(wǎng)進(jìn)行改進(jìn),以使其滿足工業(yè)現(xiàn)場應(yīng)用的要求。如HSE,Ethernet/IP和Modbus/TCP采用以太網(wǎng)與TCP/IP相結(jié)合的方法;Power-link和Profinet采用基于時(shí)間槽的分時(shí)調(diào)度方式等。這些方法都有效地解決了商用以太網(wǎng)應(yīng)用于工業(yè)現(xiàn)場所面臨的一些技術(shù)難題,并已有了一定的市場應(yīng)用。但以太網(wǎng)能否在將來完全替代現(xiàn)場總線,實(shí)現(xiàn)網(wǎng)絡(luò)控制系統(tǒng)的大統(tǒng)一,目前還難下定論。1.3運(yùn)動(dòng)控制網(wǎng)絡(luò)的研究現(xiàn)狀隨著網(wǎng)絡(luò)通信技術(shù)的日新月異,特別是以太網(wǎng)技術(shù)的發(fā)展與成功應(yīng)用,運(yùn)用串行通訊的方式來解決傳統(tǒng)運(yùn)動(dòng)控制架構(gòu)成為必然趨勢。然而,串行傳輸系統(tǒng)的困難在于沒有共同遵守的通訊協(xié)議標(biāo)準(zhǔn),以運(yùn)動(dòng)控制系統(tǒng)來說,不論在硬件還是通訊協(xié)議上,目前都沒有統(tǒng)一的標(biāo)準(zhǔn)可依。市場上比較常見的串行運(yùn)動(dòng)控制網(wǎng)絡(luò)的通信協(xié)議見表1-1表1-1常見的運(yùn)動(dòng)控制網(wǎng)絡(luò)通信協(xié)議比較表通信協(xié)議SSCNETⅡSERCOS-ⅡIEEE-1394SynqNetPowerlinkProfinet傳輸媒介RS-485PlasticFiberFireWireEthernetEthernetEthernet制造商MitsubishiIndramatSanyoAgileSystemMEIB&RSiemens帶寬/Mbps5.616800100100100通信周期/μs800250150-250<252001000最大傳輸距離/m30404.5100100100傳輸模式Half-DuplexHalf-DuplexHalf-DuplexHalf-DuplexHalf-DuplexHalf-Duplex最大誤差/μs11<1<111最大節(jié)點(diǎn)數(shù)625463254254150從表中可以看出,傳輸媒介主要有:RS-485、光纖(optical)、IEEE-1394(FireWire)和以太網(wǎng)(Ethernet)4種。其中,SERCOS是僅有的國際標(biāo)準(zhǔn)(IEC61491),但美、日等國的伺服大廠仍推出自己的通信協(xié)議,使得串行運(yùn)動(dòng)控制網(wǎng)絡(luò)的通信協(xié)議呈現(xiàn)出百家爭鳴的局面。本文對常見的串行運(yùn)動(dòng)控制網(wǎng)絡(luò)介紹如下:1)SSCNETSSCNET(servosystemcontrolnetwork)是由日本三菱電機(jī)公司開發(fā)出來的運(yùn)動(dòng)控制網(wǎng)絡(luò)技術(shù),可實(shí)現(xiàn)精密定位控制及多軸同步運(yùn)動(dòng)控制,其特點(diǎn)如下:①傳送32位的絕對位置命令,可滿足微精密定位需求;②實(shí)現(xiàn)多軸同步技術(shù),可消除集中式控制時(shí)因各軸命令傳送的時(shí)間誤差而造成的命令誤差;③實(shí)時(shí)切換驅(qū)動(dòng)器模式,能傳送32位的速度命令或16位的轉(zhuǎn)矩命令,滿足不同控制需求;④實(shí)時(shí)修改各軸驅(qū)動(dòng)器伺服參數(shù),作為控制臺操作或高級運(yùn)動(dòng)控制之用;⑤能接收32位的位置命令,16位的速度及轉(zhuǎn)矩命令,可監(jiān)控操作臺狀態(tài)或作反饋控制之用;⑥實(shí)時(shí)取得驅(qū)動(dòng)器異?;蚓嫘畔?,可用于控制臺的異常診斷;⑦能建構(gòu)出32位精度的絕對位置系統(tǒng),當(dāng)系統(tǒng)緊急停機(jī)又重開后,不必再從原點(diǎn)開始動(dòng)作。SSCNET是為了解決傳統(tǒng)電機(jī)控制應(yīng)用中配線過多、精度及抗干擾等問題所開發(fā)的新技術(shù),這項(xiàng)技術(shù)架構(gòu)在三菱電機(jī)伺服技術(shù)上,將傳統(tǒng)的脈沖波或電壓指令型的輸入界面改為串行式傳輸界面,使用者不必再為每一軸的配線而困擾,每個(gè)伺服驅(qū)動(dòng)器只需一條傳輸線與其他周邊設(shè)備連接,即可達(dá)到快速安裝、易于除錯(cuò)的功效。日本三菱電機(jī)自20世紀(jì)90年代初期開始發(fā)展SSCNET技術(shù),目前主流技術(shù)為第二代的SSCNETⅡ。SSCNET傳輸媒介是類似RS485技術(shù),傳輸距離最長可達(dá)30m,傳輸速度為5.625Mbps,控制用的通訊周期為0.888ms??刂品绞綖橹鲝氖郊軜?gòu),一塊主控IC可控制6個(gè)Slave的伺服驅(qū)動(dòng)器,主控IC間可以實(shí)現(xiàn)同步,使得被控伺服軸得以同步。此外,三菱電機(jī)已于2004年10月推出新版本SSCNETⅢ,傳輸媒介改為采用光纖,傳輸速度為50Mbps,通信周期可達(dá)0.44ms(8軸),最大傳輸距離可高達(dá)800m(16軸)。通過更小的通信周期,將進(jìn)一步提高位置控制精度。2)SERCOSSERCOS(SerialReal-timeCommunicationSystem)串行運(yùn)動(dòng)控制網(wǎng)絡(luò)由德國率先發(fā)起,并于1995年獲得通過正式成為IEC61491國際標(biāo)準(zhǔn)。SERCOS主要應(yīng)用在分散式多軸運(yùn)動(dòng)控制上,并明確定義了伺服電機(jī)位置、速度及轉(zhuǎn)矩等控制命令的通信協(xié)議,提供使用者一個(gè)實(shí)時(shí)、抗干擾力強(qiáng)、高解析度、可完全以軟件方式規(guī)劃的串行傳輸網(wǎng)路。在使用塑料光纖為傳輸介質(zhì)時(shí),每節(jié)點(diǎn)間的傳輸距離為40m;若使用玻璃光纖,傳輸距離可長達(dá)200m,整個(gè)環(huán)狀網(wǎng)路的長度可達(dá)(1-5)×m。每個(gè)環(huán)狀網(wǎng)絡(luò)理論上最多可連接256個(gè)輔節(jié)點(diǎn),而實(shí)際可連接的節(jié)點(diǎn)數(shù)取決于傳輸周期、數(shù)據(jù)長度及傳輸速率。SERCOS是目前國際上惟一成為IEC國際標(biāo)準(zhǔn)的運(yùn)動(dòng)控制專用網(wǎng)絡(luò),特點(diǎn)如下:①SERCOS是全數(shù)字化網(wǎng)路;②SERCOS是開放式架構(gòu);③SERCOS具有良好的擴(kuò)充性;④SERCOS具有即插即用(Plug&Piay)的特性;⑤SERCOS具有跨廠商相容的特性。目前市場上使用的產(chǎn)品規(guī)格為SERCOS-Ⅱ,最近已推出SERCOS-Ⅲ的demo版,其網(wǎng)絡(luò)拓?fù)浼軜?gòu)采用雙環(huán)形(doublering)方式。當(dāng)有任何斷點(diǎn)發(fā)生時(shí),通信仍然能正常運(yùn)作。SERCOS-Ⅲ同時(shí)整合了IP通信協(xié)議,可通過以太網(wǎng)實(shí)時(shí)或非實(shí)時(shí)地傳送數(shù)據(jù)。通過以太網(wǎng),SERCOS-Ⅲ可支持Slave-to-Slave通信,允許Slave端直接從另一個(gè)Slave端讀取資料,而不必通過Master端轉(zhuǎn)接。3)IEEE1394IEEE1394接口標(biāo)準(zhǔn)始于1986年,是由IEEE1394專業(yè)委員會主持制訂的。從1988年開始,蘋果(Apple)公司的MichaelTeener著手研究IEEE1394的基本技術(shù),1992年該公司的提案被采納為IEEE1394標(biāo)準(zhǔn)規(guī)范,1994年9月正式成立IEEE1394TradeAssociation,以普及IEEE1394為標(biāo)準(zhǔn)的家庭網(wǎng)絡(luò)規(guī)格,并推出用于保證高質(zhì)量和兼容性的規(guī)范。IEEE1394具有高速通信及同步傳輸能力,可以實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)的新思維-軟件運(yùn)動(dòng)(Soft-motion)。這樣便將原本屬于運(yùn)動(dòng)控制卡負(fù)責(zé)的工作,如運(yùn)動(dòng)軌跡規(guī)劃及伺服控制,分散到PC及各個(gè)軸的智能型驅(qū)動(dòng)器上。當(dāng)然,這有賴于驅(qū)動(dòng)器之間的高速通訊能力。軟件運(yùn)動(dòng)的出現(xiàn),將使運(yùn)動(dòng)控制卡扮演的角色逐漸減弱。作為一種數(shù)據(jù)傳輸?shù)拈_放式技術(shù)標(biāo)準(zhǔn),IEEE1394被應(yīng)用在眾多領(lǐng)域。當(dāng)然,目前該技術(shù)使用最廣的還是數(shù)字成像領(lǐng)域,支持的產(chǎn)品包括數(shù)字相機(jī)或攝像機(jī)等。IEEE1394具有以下特點(diǎn):①廉價(jià);②占用空間??;③速度快;④開放式標(biāo)準(zhǔn);⑤支持熱插拔;⑥可擴(kuò)展的數(shù)據(jù)傳輸速率;⑦拓?fù)浣Y(jié)構(gòu)靈活多樣;⑧完全數(shù)字兼容;⑨可建立對等網(wǎng)絡(luò);⑩支持同步和異步兩種數(shù)據(jù)傳輸模式。目前,致力于推廣IEEE1394網(wǎng)絡(luò)技術(shù)發(fā)展的主要是歐洲的1394Automation和1394TradeAssociation兩個(gè)組織,這兩個(gè)組織已經(jīng)合并。此次合并的目的是“形成一個(gè)世界范圍的組織,從而更好地推廣這個(gè)惟一能將運(yùn)動(dòng)控制、視覺和I/O系統(tǒng)的信號通過一條線纜進(jìn)行傳輸?shù)臉?biāo)準(zhǔn)”。合并后,1394Automation將作為1394TradeAssociation內(nèi)部的一個(gè)技術(shù)工作組繼續(xù)開發(fā)和推廣IEEE1394標(biāo)準(zhǔn)。1394Automation的原有成員將成為1394TradeAssociation的當(dāng)然會員。1394TradeAssociation在下一階段的工作重點(diǎn)是運(yùn)動(dòng)控制,相信通過雙方資源的整合和共同努力,IEEE1394標(biāo)準(zhǔn)將很快在運(yùn)動(dòng)控制領(lǐng)域取得巨大進(jìn)展。4)SynqnetSynqnet是MotionEngineeringInc.(MEI)公司設(shè)計(jì)的一個(gè)架構(gòu)在100Base-T物理層的運(yùn)動(dòng)控制網(wǎng)路,它采用一種實(shí)時(shí)、同步數(shù)字網(wǎng)絡(luò)專利技術(shù),代替(運(yùn)動(dòng)控制器與伺服驅(qū)動(dòng)裝置之間的)標(biāo)準(zhǔn)±10v模擬量接口,從而可在各種復(fù)雜應(yīng)用中顯示出非凡的運(yùn)動(dòng)性能。該技術(shù)特別適合半導(dǎo)體、電子組合裝置、工業(yè)機(jī)器人、FPD、包裝以及醫(yī)療等OEM設(shè)備市場中的高性能運(yùn)動(dòng)控制應(yīng)用。Synqnet是以以太網(wǎng)為基礎(chǔ)的運(yùn)動(dòng)網(wǎng)絡(luò),所使用的100Based-T物理層與一般商用以太網(wǎng)相同,是完全根據(jù)IEEE802.3的國際標(biāo)準(zhǔn)定義的,它可以同步連接32個(gè)軸。其傳輸方式也由以太網(wǎng)的半雙工改為全雙工,網(wǎng)絡(luò)拓?fù)湟灿蓪Φ染W(wǎng)絡(luò)改為環(huán)形?,F(xiàn)行以太網(wǎng)通信協(xié)議的設(shè)計(jì)適用于數(shù)據(jù)量大、傳輸頻率低、甚至是遠(yuǎn)距離的傳輸模式,這一點(diǎn)與實(shí)時(shí)運(yùn)動(dòng)控制網(wǎng)絡(luò)所需的數(shù)據(jù)量不大、傳輸頻率高、短距離傳輸有所不同。即一個(gè)符合IEEE802.3標(biāo)準(zhǔn)的Ethernet數(shù)據(jù)幀,由28個(gè)控制位和至少46個(gè)數(shù)據(jù)位組成。就一般工業(yè)運(yùn)動(dòng)應(yīng)用而言,這種協(xié)議是特大型協(xié)議。通常,一個(gè)節(jié)點(diǎn)的數(shù)據(jù)需要量是很小的(小于46位)。為了降低周期時(shí)間和等待時(shí)間,Synqnet已經(jīng)在第2層(數(shù)據(jù)鏈路層)對數(shù)據(jù)幀進(jìn)行了優(yōu)化。一個(gè)數(shù)據(jù)幀由至少24位組成,而不是至少74位。這是Synqnet勝過以太網(wǎng)的一個(gè)主要優(yōu)點(diǎn),可提供更快速、更具預(yù)測性的性能。Synqnet網(wǎng)絡(luò)的設(shè)計(jì)消除了CSMA/CD機(jī)制固有的不確定性問題。它采用一種同步方法,以一種規(guī)則的預(yù)定時(shí)間方式,將數(shù)據(jù)傳送到每一臺設(shè)備中。使用獨(dú)立的接收與發(fā)送導(dǎo)線對(全雙工),可避免數(shù)據(jù)沖突,并可達(dá)到2×100Mbit的確定性數(shù)據(jù)傳輸速率。其結(jié)果是周期時(shí)間最短為25μs(4根軸)。此外,Synqnet具有一種周期時(shí)間最短可達(dá)10μs的可組態(tài)包結(jié)構(gòu)。Synqnet采用一種以雙冗余數(shù)據(jù)通道為特色的獨(dú)特容錯(cuò)設(shè)計(jì),從而可實(shí)現(xiàn)機(jī)器運(yùn)行的高可靠性。通過一根次級數(shù)據(jù)電纜,以新路線發(fā)送數(shù)據(jù),可自動(dòng)對一次數(shù)據(jù)電纜中的間歇斷路或短路進(jìn)行實(shí)時(shí)檢測、隔離和維修。這一特性對于提高任何運(yùn)動(dòng)應(yīng)用的安全性和可靠性來說都是十分關(guān)鍵的,可實(shí)現(xiàn)機(jī)器可用性的最大化,并降低昂貴的崩潰風(fēng)險(xiǎn)。Synqnet運(yùn)動(dòng)控制網(wǎng)絡(luò)還具有以下特點(diǎn):①適合控制復(fù)雜機(jī)器的中央控制體系結(jié)構(gòu);②更新至&JSTU的高轉(zhuǎn)矩帶寬,最多可支持$K根協(xié)同軸;③針對噪聲抗擾度和電纜短路的電氣隔離;④適合機(jī)器可用性最大化的雙數(shù)據(jù)通道容錯(cuò)操作;⑤真正的即插即用型多賣方互操作性;⑥電機(jī)驅(qū)動(dòng)性能的遠(yuǎn)程故障診斷;⑦遠(yuǎn)程驅(qū)動(dòng)組態(tài)及設(shè)置;⑧驅(qū)動(dòng)固件功能的遠(yuǎn)程更新;⑨自動(dòng)網(wǎng)絡(luò)組態(tài)和完整性檢驗(yàn);⑩每個(gè)節(jié)點(diǎn)之間電纜布線長度超過100m。5)ProfinetProfinet是Profibus國際組織推出的基于工業(yè)以太網(wǎng)的自動(dòng)化解決方案。該技術(shù)為當(dāng)前用戶提供了一套完整、高性能、可伸縮的升級至工業(yè)以太網(wǎng)平臺的解決方案。它能為Profibus及其他現(xiàn)場總線網(wǎng)絡(luò)系統(tǒng)提供以太網(wǎng)移植服務(wù)。在Profinet標(biāo)準(zhǔn)中,根據(jù)不同的應(yīng)用場合,Profinet支持以下三種通信方式:①使用TCP/IP的標(biāo)準(zhǔn)通信Profinet使用以太網(wǎng)和TCP/IP協(xié)議作為通信基礎(chǔ)。TCP/IP是IT領(lǐng)域關(guān)于通信協(xié)議方面事實(shí)上的標(biāo)準(zhǔn)。但TCP/IP只提供了基礎(chǔ),用于以太網(wǎng)設(shè)備通過傳輸通道在本地和分布式網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換。在較高層上則需要其他的規(guī)范和協(xié)議(亦稱為應(yīng)用層協(xié)議),而不是TCP或UDP。典型的應(yīng)用層協(xié)議有:SNMP,DHCP和HTTP。②實(shí)時(shí)(RT)通信絕大多數(shù)的工廠自動(dòng)化應(yīng)用場合,對響應(yīng)時(shí)間的要求最少在5-10ms。為了滿足自動(dòng)控制中的實(shí)時(shí)要求,在Profinet中規(guī)定了優(yōu)化的實(shí)時(shí)通信(RT)通道,它基于以太網(wǎng)的Layer2(數(shù)據(jù)鏈路層)。這一解決方案極大地減少了通信棧上占用的時(shí)間,從而提高了自動(dòng)化數(shù)據(jù)的刷新率等性能。③同步實(shí)時(shí)(RT)通信Profinet被設(shè)計(jì)成可用于高性能的同步運(yùn)動(dòng)控制應(yīng)用。然而,對上述響應(yīng)時(shí)間在5-10ms的實(shí)時(shí)通信不足以滿足伺服運(yùn)動(dòng)控制場合的需求。伺服運(yùn)動(dòng)控制是指在100個(gè)節(jié)點(diǎn)下,響應(yīng)時(shí)間低于1ms,同步傳送和抖動(dòng)小于1μs的情況。Profinet的同步實(shí)時(shí)IRT功能是在Layer2上由內(nèi)嵌的同步實(shí)時(shí)交換ASIC芯片提供的。Prifinet在同步實(shí)時(shí)(IRT)通信方式下應(yīng)用在同步運(yùn)動(dòng)控制場合。IRT的通信特點(diǎn)是,在一個(gè)周期內(nèi)通過分隔時(shí)間域來傳輸實(shí)時(shí)和非實(shí)時(shí)數(shù)據(jù)。循環(huán)實(shí)時(shí)報(bào)文通過確定性通道(IRTchannel)來傳遞;而TCP/IP報(bào)文則通過標(biāo)準(zhǔn)通道(OPENchannel)來傳遞。就如同在高速公路上,預(yù)留左車道用于實(shí)時(shí)通信傳遞,并且禁止其它使用者(TCP/IP通信)切換到這個(gè)車道。這樣一來即使右車道發(fā)生通信堵塞,也不會影響到左車道的實(shí)時(shí)通信傳遞。Profinet采用“以太網(wǎng)+TCP/IP”作為低層的通信模型,采用!"TCP/IP協(xié)議上應(yīng)用層的,RPC/DCOM來完成節(jié)點(diǎn)之間的通信和網(wǎng)絡(luò)尋址。它可以同時(shí)掛接傳統(tǒng)Profibus系統(tǒng)和新型的智能現(xiàn)場設(shè)備。現(xiàn)有的Profibus網(wǎng)段可以通過一個(gè)代理設(shè)備連接到Profinet網(wǎng)絡(luò)當(dāng)中,使整套Profibus設(shè)備和協(xié)議能夠原封不動(dòng)地在Profinet中使用。1.4本文的結(jié)構(gòu)本文以專用高速運(yùn)動(dòng)控制網(wǎng)絡(luò)的研發(fā)工程項(xiàng)目作為應(yīng)用背景,對輪廓插補(bǔ)技術(shù)進(jìn)行了研究。全文共分為七章,各章的主要內(nèi)容如下:第一章扼要地介紹了運(yùn)動(dòng)控制網(wǎng)絡(luò)的概念、特點(diǎn)與相關(guān)研究背景;第二章研究了運(yùn)動(dòng)控制網(wǎng)絡(luò)的整體結(jié)構(gòu);第三章重點(diǎn)對從節(jié)點(diǎn)邏輯設(shè)計(jì)進(jìn)行了研究;第四章進(jìn)行了直線插補(bǔ)算法;第五章進(jìn)行了圓弧插補(bǔ)算法;第六章總結(jié)了全文的研究工作,給出了存在的問題和進(jìn)一步研究的方向。
網(wǎng)絡(luò)整體結(jié)構(gòu)2.1需求分析
1)多軸運(yùn)動(dòng)控制。機(jī)器設(shè)備因自動(dòng)化程度提高而使得單一機(jī)器上所需要的軸數(shù)增多,
一臺設(shè)備上十幾軸是常見的事情。在軸數(shù)變多后,
如何協(xié)調(diào)各軸動(dòng)作就是一個(gè)重要的課題。
2)體積要小。由于廠房空間的限制,
機(jī)器的體積要求越小越好,
機(jī)器內(nèi)控制器的體積也就被要求愈來愈小,
相對的走線空間也愈來愈小。
3)要更精確。隨著半導(dǎo)體制程已經(jīng)精密到100nm
一下,
在制程及檢測相關(guān)設(shè)備所要求的運(yùn)動(dòng)精度也要更精確,
其它如LCD
設(shè)備,
SMD
制程設(shè)備也有相同要求。
4)要更穩(wěn)定。因?yàn)樗性O(shè)備的投資經(jīng)費(fèi)龐大,
系統(tǒng)停機(jī)的成本就更顯的突出,
因此所有機(jī)器設(shè)備制造商都必須追求系統(tǒng)的穩(wěn)定性。同時(shí)也必須考慮在組件損壞要維修時(shí),
必須能快速替換且不出差錯(cuò)。
綜合以上幾點(diǎn)的需求分析可以看到,
既要在一個(gè)控制器內(nèi)進(jìn)行多軸運(yùn)動(dòng)控制,
又要控制器的體積更小,
配線和維修要更容易,
這些條件看來是相沖突的??梢赃@樣說,
現(xiàn)場總線技術(shù)便是應(yīng)這些新機(jī)器設(shè)備的需求而產(chǎn)生的?;赩HDL插補(bǔ)芯片實(shí)現(xiàn)各象限的直線和圓弧插補(bǔ),能夠區(qū)分四象限直線的坐標(biāo)并做不同的算法處理,對外輸出X軸和Y軸的脈沖,結(jié)合時(shí)序,配合CLK進(jìn)行插補(bǔ)。插補(bǔ)芯片不僅能區(qū)別四象限的直線還能處理四象限的圓弧插補(bǔ)問題,在處理圓弧問題是要區(qū)分逆圓弧插補(bǔ)和順圓弧插補(bǔ)的問題。2.2系統(tǒng)整體結(jié)構(gòu)系統(tǒng)整體包括:電源模塊,USB模塊,TFT液晶模塊,鍵盤模塊,SDRAM模塊和FLASH模塊等,如圖2.1所示。圖2.1系統(tǒng)整體結(jié)構(gòu)圖主控CPU是整個(gè)系統(tǒng)的核心,軟件的運(yùn)行平臺都要靠它搭建,許多復(fù)雜的控制算法都靠它實(shí)現(xiàn),這次的控制對象是工業(yè)級的,所以要選擇一款高性能的微處理器才能達(dá)到設(shè)計(jì)要求。主(HOST)、從(SLAVE)節(jié)點(diǎn)模塊是高速網(wǎng)絡(luò)最重要的組成部分,它們起著構(gòu)建網(wǎng)絡(luò)的重要作用,所有的通訊協(xié)議邏輯,以及數(shù)據(jù)的交換都要在這里進(jìn)行,主從節(jié)點(diǎn)的性能直接決定整個(gè)網(wǎng)絡(luò)的性能。人機(jī)交互模塊是整個(gè)系統(tǒng)的一個(gè)窗口,它將系統(tǒng)中每個(gè)節(jié)點(diǎn)的狀態(tài),節(jié)點(diǎn)的插補(bǔ)軌跡,當(dāng)前執(zhí)行的程序段顯示在液晶界面內(nèi),清晰的反應(yīng)出整個(gè)網(wǎng)絡(luò)的工作情況,以便監(jiān)督控制。根據(jù)上述的簡化Synqnet運(yùn)動(dòng)控制網(wǎng)絡(luò)結(jié)構(gòu),本項(xiàng)目研究中的運(yùn)動(dòng)控制芯片有兩種:主控(host)芯片與運(yùn)動(dòng)控制(slave)芯片。主控芯片接收CPU送來的并行數(shù)據(jù),根據(jù)網(wǎng)絡(luò)介質(zhì)的要求將其轉(zhuǎn)換為四位數(shù)據(jù),同時(shí)響應(yīng)數(shù)據(jù)傳送時(shí)鐘TXC,在TXC的升沿將數(shù)據(jù)發(fā)送到簡化Synqnet網(wǎng)絡(luò)上,供運(yùn)動(dòng)控制芯片接收。運(yùn)動(dòng)控制芯片芯片接收來自主控芯片的四位數(shù)據(jù),轉(zhuǎn)化為16位數(shù)據(jù)后進(jìn)行16為循環(huán)冗余碼校驗(yàn),如果數(shù)據(jù)出錯(cuò),則通過自帶的發(fā)送功能向主控芯片發(fā)出重發(fā)請求。反之,根據(jù)指令類型分別初始化運(yùn)動(dòng)參數(shù),驅(qū)動(dòng)圓弧或直線插補(bǔ)模塊,送出指令脈沖給相應(yīng)驅(qū)動(dòng)器。2.3網(wǎng)絡(luò)拓補(bǔ)結(jié)構(gòu)每一種網(wǎng)絡(luò)都要求有布線、網(wǎng)絡(luò)設(shè)備、文件服務(wù)器、工作站、軟件等,這些要素以多種不同的方式進(jìn)行綜合,便可以創(chuàng)建出與具體單位的需要和資源相適應(yīng)的網(wǎng)絡(luò)。有些網(wǎng)絡(luò)的啟動(dòng)成本很低,但是維護(hù)和升級的成本很高;而另有一些網(wǎng)絡(luò)雖然建立時(shí)耗資較大,但是維護(hù)方便、升級簡單。區(qū)分網(wǎng)絡(luò)類型可以依據(jù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)來區(qū)分。拓?fù)浣Y(jié)構(gòu)是指網(wǎng)絡(luò)的物理布局及其邏輯特征。其中物理布局是指整個(gè)網(wǎng)絡(luò)是如何布線的,通常稱為電纜線路;網(wǎng)絡(luò)的邏輯是指信號沿電纜從一點(diǎn)向另一點(diǎn)進(jìn)行傳輸?shù)姆椒?。形象地說我們可以拋開網(wǎng)絡(luò)中的具體設(shè)備,把工作站、服務(wù)器等網(wǎng)絡(luò)單元抽象成為“點(diǎn)”,把網(wǎng)絡(luò)中的電纜等通信媒體抽象為“線”,從而抽象出了網(wǎng)絡(luò)系統(tǒng)的幾何結(jié)構(gòu),即為邏輯結(jié)構(gòu)。常見的網(wǎng)絡(luò)拖布結(jié)構(gòu)有:星型結(jié)構(gòu),總線結(jié)構(gòu),環(huán)形結(jié)構(gòu),樹形結(jié)構(gòu)和網(wǎng)型結(jié)構(gòu)。1)星型結(jié)構(gòu)星型結(jié)構(gòu)中有一個(gè)中央結(jié)點(diǎn)(集線器或交換機(jī)),而其他客戶機(jī)都用單獨(dú)的線路與這個(gè)節(jié)點(diǎn)連接,向四周展開,形成一個(gè)心狀結(jié)構(gòu)。星型結(jié)構(gòu)的特點(diǎn)有:穩(wěn)定性高,便于管理和維護(hù),易擴(kuò)充、易升級;單個(gè)節(jié)點(diǎn)的故障只會影響與這個(gè)節(jié)點(diǎn)相連的支路,不會影響整個(gè)網(wǎng)絡(luò);對中心結(jié)點(diǎn)的要求比較高,中心結(jié)點(diǎn)一旦出現(xiàn)故障,整個(gè)網(wǎng)絡(luò)癱瘓。2)總線型結(jié)構(gòu)總線型結(jié)構(gòu)是指網(wǎng)絡(luò)上的所有微機(jī)包括服務(wù)器都連在一條主通信線路上。首先客戶機(jī)向服務(wù)器發(fā)出請求,服務(wù)器響應(yīng)后,將客戶機(jī)所需要的信息直接發(fā)送到總線上,該信息會通過總線上的每一個(gè)節(jié)點(diǎn),客戶機(jī)收到信息時(shí),先分析該信息的目標(biāo)地址是否與本機(jī)相同,若相同,則接收該信息,否則不接疏??偩€型結(jié)構(gòu)特點(diǎn):組網(wǎng)比較簡單,易布線,擴(kuò)展網(wǎng)絡(luò)的結(jié)點(diǎn)也比較簡單。出現(xiàn)傳輸沖突的可能性是很大的,必須用專門的通信協(xié)議來保證傳輸?shù)恼_M(jìn)行。一個(gè)結(jié)點(diǎn)出問題,將影響整個(gè)網(wǎng)絡(luò),總線出現(xiàn)故障整個(gè)網(wǎng)絡(luò)將會癱瘓。3)環(huán)形結(jié)構(gòu)環(huán)型結(jié)構(gòu)是各個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)連接在一條首尾相接的閉合環(huán)型通信線路中,信號傳遞按一定的先后順序傳遞,這種鏈路是單向的,所有鏈路都只能按一個(gè)方向傳輸數(shù)據(jù),這樣數(shù)據(jù)就會在這個(gè)環(huán)上進(jìn)行順時(shí)針或逆時(shí)針循環(huán)。環(huán)型結(jié)構(gòu)有兩種類型,即單環(huán)結(jié)構(gòu)和雙環(huán)結(jié)構(gòu)。例如:單環(huán)結(jié)構(gòu)的網(wǎng)絡(luò)有令牌環(huán)(TokenRing)。雙環(huán)結(jié)構(gòu)的網(wǎng)絡(luò)有光纖分布式數(shù)據(jù)接口(FDDI)。環(huán)型結(jié)構(gòu)特點(diǎn):連接費(fèi)用較低,適全中小型網(wǎng)絡(luò)連接;各工作站間無主從關(guān)系,結(jié)構(gòu)簡單,每臺微機(jī)都相當(dāng)于一個(gè)中繼器;拓展困難,可靠性差,不易管理。4)樹形結(jié)構(gòu)樹型結(jié)構(gòu)是總線型和星型結(jié)構(gòu)演變來的,具體的說是星型結(jié)構(gòu)的擴(kuò)展和延伸。它有兩種類型,一種是由總線型拓?fù)浣Y(jié)構(gòu)派生出來的,它由多條總線連接而成。另一種是星型結(jié)構(gòu)的擴(kuò)展,各結(jié)點(diǎn)按一定的層次連接起來,形狀像一棵倒置的樹,因此稱為樹型結(jié)構(gòu)。在樹型結(jié)構(gòu)的頂端有一個(gè)根結(jié)點(diǎn),它帶有多個(gè)分支,每個(gè)分支還可以再分出多個(gè)子分支。樹型結(jié)構(gòu)的特點(diǎn):易于擴(kuò)展,可靠性高;根結(jié)點(diǎn)的依賴性大,根結(jié)點(diǎn)出現(xiàn)故障,將導(dǎo)致全網(wǎng)不能工作。5)網(wǎng)型結(jié)構(gòu)網(wǎng)狀結(jié)構(gòu)是一種不規(guī)則的網(wǎng)絡(luò)結(jié)構(gòu),這種結(jié)構(gòu)中的每一個(gè)結(jié)點(diǎn)和另一個(gè)之間至少有兩條鏈路。大型互聯(lián)網(wǎng)一般都采用這種結(jié)構(gòu)。例如:國際互聯(lián)網(wǎng)Internet的主干網(wǎng)都采用網(wǎng)狀結(jié)構(gòu)。網(wǎng)狀結(jié)構(gòu)的特點(diǎn):每個(gè)結(jié)點(diǎn)都有冗余鏈路,可以選擇最佳路徑,故可靠性高;但路經(jīng)選擇比較復(fù)雜,結(jié)構(gòu)復(fù)雜,不易管理和維護(hù);線路成本高,適用于大型廣域網(wǎng)。2.4本課題采用的拓補(bǔ)結(jié)構(gòu)綜上所述,每一種拓?fù)浣Y(jié)構(gòu)都有自己的優(yōu)缺點(diǎn),而高速網(wǎng)絡(luò)采用的拓?fù)浣Y(jié)構(gòu)必須滿足幾個(gè)要求:1)節(jié)點(diǎn)數(shù)量要大,高速運(yùn)動(dòng)控制網(wǎng)絡(luò)要求達(dá)到256個(gè)節(jié)點(diǎn);2)網(wǎng)絡(luò)延時(shí)小,高速運(yùn)動(dòng)控制網(wǎng)絡(luò)必須保證較高的實(shí)時(shí)性;3)全雙工模式,高速運(yùn)動(dòng)控制網(wǎng)絡(luò)的設(shè)計(jì)要求全雙工方式;4)高可靠性,高速運(yùn)動(dòng)控制網(wǎng)絡(luò)的設(shè)計(jì)要求通訊的可靠,要求有容錯(cuò)能力;5)成本要低;網(wǎng)絡(luò)主從節(jié)點(diǎn)采用雙通道環(huán)形連接,一旦一個(gè)通道發(fā)生通訊中斷,立刻啟用另一網(wǎng)絡(luò)通道,保證數(shù)據(jù)能及時(shí)的到達(dá)目標(biāo)節(jié)點(diǎn)。這樣高速運(yùn)動(dòng)控制網(wǎng)絡(luò)就具有了“自愈”容錯(cuò)能力,具體表現(xiàn)為:在線路中的一段發(fā)生故障的事件中,高速運(yùn)動(dòng)控制網(wǎng)絡(luò)硬件在兩個(gè)伺服周期中重新規(guī)定數(shù)據(jù)線路,這時(shí)網(wǎng)絡(luò)仍然保持連接狀態(tài)。2.5模塊功能分析運(yùn)動(dòng)控制芯片由數(shù)據(jù)接收、轉(zhuǎn)換、校驗(yàn)、FIFO及狀態(tài)控制、指令讀取控制、插補(bǔ)模塊與輸出控制等構(gòu)成。芯片接收來自主控芯片的四位數(shù)據(jù),轉(zhuǎn)化為16位數(shù)據(jù)后進(jìn)行16為循環(huán)冗余碼校驗(yàn),數(shù)據(jù)出錯(cuò),則通過自帶的發(fā)送功能向主控芯片發(fā)出重發(fā)請求。反之,存入FIFO供讀取控制模塊讀取。讀取控制模塊得到控制指令,根據(jù)指令類型分別初始化運(yùn)動(dòng)參數(shù),驅(qū)動(dòng)圓弧或直線插補(bǔ)模塊,送出指令脈沖給相應(yīng)驅(qū)動(dòng)器。2.6主節(jié)點(diǎn)模塊設(shè)計(jì)數(shù)據(jù)傳輸中,主控芯片計(jì)算數(shù)據(jù)的16位循環(huán)冗余碼,一同發(fā)至接收端,根據(jù)數(shù)控系統(tǒng)的運(yùn)動(dòng)控制指令結(jié)構(gòu),數(shù)據(jù)封包的數(shù)據(jù)包括圓弧軌跡運(yùn)動(dòng)指令與直線軌跡運(yùn)動(dòng)指令,對于圓弧軌跡,數(shù)據(jù)包括軌跡標(biāo)志0010H、圓弧起點(diǎn)坐標(biāo)與終點(diǎn)坐標(biāo)三部分構(gòu)成,均采用16位數(shù)表示。主控芯片的功能結(jié)構(gòu)類似于MII接口,根據(jù)功能可以劃分為發(fā)送模塊、接收模塊、校驗(yàn)?zāi)K和緩沖區(qū)模塊,通過VHDL軟件接口映射代碼連接各個(gè)模塊,其基本結(jié)構(gòu)如圖2.2。圖2.2主節(jié)點(diǎn)芯片的邏輯設(shè)計(jì)
從節(jié)點(diǎn)邏輯結(jié)構(gòu)與功能3.1從節(jié)點(diǎn)芯片的邏輯結(jié)構(gòu)數(shù)據(jù)接收數(shù)據(jù)接收PHYPHY數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)校驗(yàn)數(shù)據(jù)校驗(yàn)FIFOFIFO狀態(tài)FIFOFIFO狀態(tài)讀取控制讀取控制圓弧插補(bǔ)初始化直線插補(bǔ)圓弧插補(bǔ)初始化直線插補(bǔ)輸出控制輸出控制圖3.1從節(jié)點(diǎn)芯片的邏輯結(jié)構(gòu)運(yùn)動(dòng)控制芯片的邏輯結(jié)構(gòu)運(yùn)動(dòng)控制芯片如圖3.1由數(shù)據(jù)接收、轉(zhuǎn)換、校驗(yàn)、FIFO及狀態(tài)控制、指令讀取控制、插補(bǔ)模塊與輸出控制等構(gòu)成。芯片接收來自主控芯片的四位數(shù)據(jù),轉(zhuǎn)化為16位數(shù)據(jù)后進(jìn)行16為循環(huán)冗余碼校驗(yàn),數(shù)據(jù)出錯(cuò),則通過自帶的發(fā)送功能向主控芯片發(fā)出重發(fā)請求。反之,存入FIFO供讀取控制模塊讀取。讀取控制模塊得到控制指令,根據(jù)指令類型分別初始化運(yùn)動(dòng)參數(shù),驅(qū)動(dòng)圓弧或直線插補(bǔ)模塊,送出指令脈沖給相應(yīng)驅(qū)動(dòng)器。
數(shù)據(jù)接收模塊接收數(shù)據(jù)發(fā)送端主控芯片發(fā)送的4位數(shù)據(jù),經(jīng)過4-16位數(shù)據(jù)轉(zhuǎn)換得到有效數(shù)據(jù)及其校驗(yàn)碼,數(shù)據(jù)無誤,送入接收隊(duì)列FIFO,供運(yùn)動(dòng)控制模塊讀取。與前文所述的Host芯片發(fā)送過程相對應(yīng),運(yùn)動(dòng)控制芯片的數(shù)據(jù)接收過程也分為兩個(gè)階段:接收設(shè)置參數(shù)與接收數(shù)據(jù)。如果發(fā)送隊(duì)列FIFO不空,模塊根據(jù)FIFO的讀寫指針計(jì)算隊(duì)列中的數(shù)據(jù)數(shù)量(以字為單位),備份FIFO的讀寫指針,發(fā)起始字及其校驗(yàn)碼,請求發(fā)送,接收端無錯(cuò)誤產(chǎn)生,計(jì)算數(shù)據(jù)長度反碼作為發(fā)送數(shù)據(jù)的低16位,同時(shí)傳輸數(shù)據(jù)長度作為發(fā)送數(shù)據(jù)的高16位發(fā)至接收端。FIFO的參數(shù)存儲格式為運(yùn)動(dòng)類型、端點(diǎn)坐標(biāo)。運(yùn)動(dòng)類型分兩類:空間直線與圓弧。其中,直線的運(yùn)動(dòng)類型標(biāo)識為0001H,圓弧為0002H。直線運(yùn)動(dòng)后根XYZ三個(gè)方向上的16位位移值芯片接收來自主控芯片的四位數(shù)據(jù),轉(zhuǎn)化為16位數(shù)據(jù)后進(jìn)行16為循環(huán)冗余碼校驗(yàn),數(shù)據(jù)出錯(cuò),則通過自帶的發(fā)送功能向主控芯片發(fā)出重發(fā)請求。反之,存入FIFO供讀取控制模塊讀取。讀取控制模塊得到控制指令,根據(jù)指令類型分別初始化運(yùn)動(dòng)參數(shù),驅(qū)動(dòng)圓弧或直線插補(bǔ)模塊,送出指令脈沖給相應(yīng)驅(qū)動(dòng)器。3.2讀取控制算法FIFO的參數(shù)存儲格式為運(yùn)動(dòng)類型、端點(diǎn)坐標(biāo)。運(yùn)動(dòng)類型分兩類:空間直線與圓弧。其中,直線的運(yùn)動(dòng)類型標(biāo)識為0001H,圓弧為0002H。直線運(yùn)動(dòng)后根XYZ三個(gè)方向上的16位位移值。圓弧運(yùn)動(dòng)則跟圓弧的起、終點(diǎn)坐標(biāo),也用16位數(shù)表示,讀取控制的算法流程如圖3.2所示。讀取控制響應(yīng)運(yùn)動(dòng)控制模塊的讀信號RD,在RD上升沿上送出數(shù)據(jù),模塊根據(jù)運(yùn)動(dòng)類型繼續(xù)送出16位端點(diǎn)坐標(biāo)。圖3.2讀取控制的算法流程3.3功能分析1)讀取控制芯片接收來自主控芯片的四位數(shù)據(jù),轉(zhuǎn)化為16位數(shù)據(jù)后進(jìn)行16為循環(huán)冗余碼校驗(yàn),數(shù)據(jù)出錯(cuò),則通過自帶的發(fā)送功能向主控芯片發(fā)出重發(fā)請求。反之,存入FIFO供讀取控制模塊讀取。2)插補(bǔ)數(shù)據(jù)處理讀取控制模塊得到控制指令,根據(jù)指令類型分別初始化運(yùn)動(dòng)參數(shù),驅(qū)動(dòng)圓弧或直線插補(bǔ)模塊,送出指令脈沖給相應(yīng)驅(qū)動(dòng)器。其中,直線的運(yùn)動(dòng)類型標(biāo)識為0001H,圓弧為0010H。直線運(yùn)動(dòng)后根XYZ三個(gè)方向上的16位位移值。圓弧運(yùn)動(dòng)則跟圓弧的起、終點(diǎn)坐標(biāo),也用16位數(shù)表示3)插補(bǔ)脈沖輸出讀取控制響應(yīng)運(yùn)動(dòng)控制模塊的讀信號RD,在RD上升沿上送出數(shù)據(jù),模塊根據(jù)運(yùn)動(dòng)類型繼續(xù)送出16位端點(diǎn)坐標(biāo)。3.4運(yùn)動(dòng)控制芯片開發(fā)經(jīng)由讀取控制,開始編譯。編譯完后考試仿真,軟件自動(dòng)波形分析。最后下載芯片,完成系統(tǒng)調(diào)試與測試。流程圖如圖3.3所示:電路設(shè)計(jì)與輸入電路設(shè)計(jì)與輸入編譯仿真波形分析下載芯片系統(tǒng)調(diào)試與測試讀取控制圖3.3系統(tǒng)調(diào)試與測試流程圖
直線插補(bǔ)算法VHDL實(shí)現(xiàn)4.1逐點(diǎn)比較法插補(bǔ)的基本原理逐點(diǎn)比較法的基本原理是,在刀具按要求軌跡運(yùn)動(dòng)加工零件輪廓的過程中,不斷比較刀具與被加工零件輪廓之間的相對位置,并根據(jù)比較結(jié)果決定下一步的進(jìn)給方向,使刀具沿著坐標(biāo)軸向減小偏差的方向進(jìn)給,且只有一個(gè)方向的進(jìn)給。也就是說,逐點(diǎn)比較法每一步均要比較加工點(diǎn)瞬間坐標(biāo)與規(guī)定零件輪廓之間的距離,依次決定下一步的走向,如果加工點(diǎn)走到輪廓外面去了,則下一步要朝著輪廓內(nèi)部走;如果加工點(diǎn)處在輪廓的內(nèi)部,則下一步要向輪廓外面走,以縮小偏差,周而復(fù)始,直至全部結(jié)束,從而獲得一個(gè)非常接近于數(shù)控加工程序規(guī)定輪廓的刀具中心軌跡。逐點(diǎn)比較法既可實(shí)現(xiàn)直線插補(bǔ),也可實(shí)現(xiàn)圓弧插補(bǔ)。其特點(diǎn)是運(yùn)算簡單直觀,插補(bǔ)過程的最大誤差不超過一個(gè)脈沖當(dāng)量,輸出脈沖均勻,而且輸出脈沖速度變化小,調(diào)節(jié)方便。因此,在兩坐標(biāo)數(shù)控機(jī)床中應(yīng)用較為普遍。一般來講,逐點(diǎn)比較法插補(bǔ)過程每一步都要經(jīng)過如圖5—1四個(gè)工作節(jié)拍:(1)偏差判別判別刀具當(dāng)前位置相對于給定輪廓的偏差情況,即通過偏差值符號確定加工點(diǎn)處在理想輪廓的哪一側(cè),并以此決定刀具進(jìn)給方向。(2)坐標(biāo)進(jìn)給根據(jù)偏差判別結(jié)果,控制相應(yīng)坐標(biāo)軸進(jìn)給一步,使加工點(diǎn)向理想輪廓靠攏,從而減小其間的偏差。(3)偏差計(jì)算刀具進(jìn)給一步后,針對新的加工點(diǎn)計(jì)算出能反映其偏離理想輪廓的新偏差,為下一步偏差判別提供依據(jù)。(4)終點(diǎn)判別每進(jìn)給一步后都要判別刀具是否到達(dá)被加工零件輪廓的終點(diǎn),若到達(dá)了則結(jié)束插補(bǔ),否則繼續(xù)重復(fù)上述四個(gè)節(jié)拍的工作,直至終點(diǎn)為止。4.2直線插補(bǔ)過程以一象限直線插補(bǔ)為例導(dǎo)出其偏差計(jì)算公式。如圖4.1所示,假定直線的起點(diǎn)為坐標(biāo)原點(diǎn),終點(diǎn)A的坐標(biāo)為A()P()為加工點(diǎn),若P點(diǎn)正好處在直線上,那么下式成立:若任意點(diǎn)P()在直線的上方(嚴(yán)格地說,在直線與y軸所成夾角區(qū)域內(nèi)),那么有下述關(guān)系成立由此可以取偏差判別函數(shù)為:圖4.1一象限直線插補(bǔ)圖由的數(shù)值(稱為“偏差”)就可以判別出P點(diǎn)與直線的相對位置。即:當(dāng)=0時(shí),點(diǎn)P()正好落在直線上;當(dāng)>0時(shí),點(diǎn)P()落在直線的上方;當(dāng)<0時(shí),點(diǎn)P()落在直線的下方。從圖4.1看出,對于起點(diǎn)在原點(diǎn),終點(diǎn)為A()的第Ⅰ象限直線OA來說,當(dāng)點(diǎn)P在直線上方(即>0)時(shí),應(yīng)該向+x方向發(fā)一個(gè)脈沖,使機(jī)床刀具向+x方向前進(jìn)一步,以接近該直線;當(dāng)點(diǎn)P在直線下方(即<0)時(shí),應(yīng)該向+y方向發(fā)一個(gè)脈沖,使機(jī)床刀具向+y方向前進(jìn)一步,趨向該直線;當(dāng)點(diǎn)P正好在直線上(即=0)時(shí),既可向+x方向發(fā)一脈沖,也可向+y方向發(fā)一脈沖。因此通常將>0和=0歸于一類,即≥0。這樣從坐標(biāo)原點(diǎn)開始,走一步,算一次,判別,再趨向直線,逐點(diǎn)接近直線,步步前進(jìn)。當(dāng)兩個(gè)方向所走的步數(shù)和終點(diǎn)坐標(biāo)A()值相等時(shí),發(fā)出終點(diǎn)到達(dá)信號,停止插補(bǔ)。但是按照上述法則進(jìn)行的運(yùn)算時(shí),要作乘法和減法運(yùn)算,這對于計(jì)算過程以及具體電路實(shí)現(xiàn)起來都不很方便。對于計(jì)算機(jī)而言,這樣會影響速度;對于專用控制機(jī)而言,會增加硬件設(shè)備。因此應(yīng)簡化運(yùn)算,通常采用的是迭代法,或稱遞推法,即每走一步后新加工點(diǎn)的加工偏差值用前一點(diǎn)的加工偏差遞推出來。下面推導(dǎo)該遞推式:加工點(diǎn)的坐標(biāo)為P()時(shí)的偏差為:若≥0時(shí),則向x軸發(fā)出一進(jìn)給脈沖,刀具從這點(diǎn)即()點(diǎn)向+x方向前進(jìn)一達(dá)新加工點(diǎn)(),,,因此新加工點(diǎn)P()的偏差值為,所以,。同理,當(dāng)<0時(shí),刀具應(yīng)向+y方向進(jìn)給一步,新的動(dòng)點(diǎn)坐標(biāo)值為,對應(yīng)的新偏差函數(shù)為:所以,綜上所述,第象限的偏差函數(shù)與進(jìn)給方向有以下關(guān)系:當(dāng)≥0時(shí),刀具向+x方向進(jìn)給,新的偏差函數(shù)值為當(dāng)<0時(shí),刀具向+y方向進(jìn)給,新的偏差函數(shù)值為逐點(diǎn)比較法第Ι象限直線插補(bǔ)計(jì)算流程圖如圖4.2所示:圖4.2直線插補(bǔ)計(jì)算流程圖4.3直線插補(bǔ)邏輯狀態(tài)脈沖輸出真值表4-1CLKfCPXCPYclk'eventandclk='0'f>=0有脈沖無脈沖clk'eventandclk='0'f<0無脈沖有脈沖脈沖輸出狀態(tài)表示如4.3圖所示:觸發(fā)clk觸發(fā)clk將clk分頻賦值給pul觸發(fā)pul進(jìn)程開始否進(jìn)行X軸方向進(jìn)給是進(jìn)行Y軸方向進(jìn)給結(jié)束是判斷NUM是否等于零判斷偏差函數(shù)F是否大于等于零否觸發(fā)P1進(jìn)程,判斷象限圖4.3直線插補(bǔ)狀態(tài)圖在VHDL程序中,p1:process(g,pul)為進(jìn)程語句,clk為敏感變信號,敏感信號有事件發(fā)生時(shí),進(jìn)程中的順序語句都會按照他們出現(xiàn)的順序執(zhí)行。程序中我設(shè)置了clk時(shí)鐘輸入口,還設(shè)置了變量pul,clk經(jīng)分頻處理后賦值給pul。pul'eventandpul='1'表pul上升沿,'EVENT是信號預(yù)定義屬性,表示有事件發(fā)生,pul'eventandpul='1'為pul發(fā)生變化且pul=1,從而實(shí)現(xiàn)pul的上升沿,pul為上升沿有效。這里定義變量xcp,ycp分別表示X軸和Y軸的方向進(jìn)給,分別對應(yīng)cpx,cpy。其中cpx代表X軸方向進(jìn)給,cpy代表Y軸方向進(jìn)給。F是整型數(shù),代表偏差函數(shù)寄存器,用來存放偏差值,當(dāng)F>0時(shí),+X方向進(jìn)給一個(gè)脈沖,當(dāng)F<0時(shí),+Y方向進(jìn)給一個(gè)方向。r、s代表的是動(dòng)態(tài)的X,Y坐標(biāo),也是整型數(shù),主要用來存放插補(bǔ)時(shí)插補(bǔ)點(diǎn)的坐標(biāo),動(dòng)點(diǎn)坐標(biāo)是變化的,要不斷修正坐標(biāo)值并存入寄存器中。p2進(jìn)程程序是將clk分頻的程序,用于消除毛刺。以上程序插補(bǔ)算法是根據(jù)逐點(diǎn)比較法的原理來設(shè)計(jì),直線插補(bǔ)分為四個(gè)象限通過觀察,逐點(diǎn)比較法四象限的插補(bǔ)之間具有共同點(diǎn)。其它三個(gè)象限都可以和第一象限聯(lián)系起來,所以在設(shè)計(jì)四象限直線是可以參照第一象限直線的插補(bǔ)算法。程序增加了一個(gè)中間常量,用來存放中間CPU送入的直線終點(diǎn)坐標(biāo)值,再通過判別CPU送入的坐標(biāo)的象限,來修正坐標(biāo),把它對應(yīng)到第一象限中進(jìn)行插補(bǔ)運(yùn)算,再輸出脈沖。4.4直線插補(bǔ)方向進(jìn)給表4-2四象限直線插補(bǔ)偏差計(jì)算與進(jìn)給方向線型F≥0F<0偏差計(jì)算坐標(biāo)進(jìn)給偏差計(jì)算坐標(biāo)進(jìn)給L1F=F-|Ye|+ΔXF=F+|Xe|+ΔYL2-ΔX+ΔYL3-ΔX-ΔYL4+ΔX-ΔY4.5直線插補(bǔ)VHDL仿真圖4.4第一象限直線插補(bǔ)仿真圖VHDL程序編寫完成后,對其進(jìn)行編譯,將文件置頂后選擇“StartCompilation”,編譯無誤后進(jìn)行波形仿真,仿真前要先建立仿真波形。1)在File菜單中選擇“New”選項(xiàng),然后選擇“VectorWaveformFile”,彈出一個(gè).vwf的文件,在“Name”下右擊選擇“InsertNode...”,再按“NodeFinder”,找到需要的輸入輸出量后,選擇向右箭頭,單擊“List”生成仿真窗口。2)從Edit菜單中選擇“EndTime”,設(shè)置欲仿真的時(shí)間長度。3)在編輯波形窗口,根據(jù)需要來編輯波形,對信號進(jìn)行賦值。4)保存在相應(yīng)文件夾后,點(diǎn)擊“StartSimulation”仿真開始。由圖4.4可知,clk信號輸入時(shí),每當(dāng)clk信號是上升沿時(shí)并且處于高電平時(shí),X或Y軸方向會輸出一個(gè)脈沖。當(dāng)clk脈沖來時(shí)觸發(fā)了進(jìn)程中的敏感變量,執(zhí)行進(jìn)程中的算法,判斷并計(jì)算偏差,當(dāng)f>0時(shí),+x方向輸出一個(gè)脈沖,+y方向沒有脈沖輸出。同理當(dāng)f<=0時(shí),+y方向輸出一個(gè)脈沖,x方向沒有脈沖輸出,每輸出一個(gè)脈沖后判斷動(dòng)態(tài)點(diǎn)坐標(biāo)是否等于終點(diǎn)坐標(biāo),當(dāng)兩者相等是結(jié)束進(jìn)程。由第一象限直線仿真波形可以看出,當(dāng)g=1時(shí),程序進(jìn)行復(fù)位初始化,將偏差函數(shù)置位零,直線插補(bǔ)外部寫入的終點(diǎn)坐標(biāo)送入程序內(nèi)部中間變量寄存器,計(jì)算插補(bǔ)總步數(shù)。初始化結(jié)束后,在下一個(gè)clk時(shí)鐘信號的下降沿時(shí),clk信號觸發(fā)p3進(jìn)程完成對clk的分頻。同時(shí)觸發(fā)了p2進(jìn)程進(jìn)行插補(bǔ)運(yùn)算,判斷插補(bǔ)步數(shù)是否為零,如果是零就結(jié)束直線插補(bǔ),如果不為零則進(jìn)行插補(bǔ)計(jì)算,修改偏差函數(shù),輸出插補(bǔ)脈沖。YYX+XX+YX圖4.5直線插補(bǔ)示意圖4.5四象限直線插補(bǔ)VHDL程序編寫完成后,對其進(jìn)行編譯,將文件置頂后選擇“StartCompilation”,編譯無誤后進(jìn)行波形仿真,仿真前要先建立仿真波形。1)在File菜單中選擇“New”選項(xiàng),然后選擇“VectorWaveformFile”,彈出一個(gè).vwf的文件,在“Name”下右擊選擇“InsertNode...”,再按“NodeFinder”,找到需要的輸入輸出量后,選擇向右箭頭,單擊“List”生成仿真窗口。2)從Edit菜單中選擇“EndTime”,設(shè)置欲仿真的時(shí)間長度。3)在編輯波形窗口,根據(jù)需要來編輯波形,對信號進(jìn)行賦值。4)保存在相應(yīng)文件夾后,點(diǎn)擊“StartSimulation”仿真開始。圖4.6第二象限直線插補(bǔ)仿真圖圖4.7第三象限直線插補(bǔ)仿真圖第五章圓弧插補(bǔ)算法VHDL實(shí)現(xiàn)5.1圓弧插補(bǔ)過程在加工圓弧過程中,人們很容易聯(lián)想到使用動(dòng)點(diǎn)到圓心的距離與該圓弧的名義半徑進(jìn)行比較來反映加工偏差。這里,我們以第Ⅰ象限逆圓弧為例導(dǎo)出其偏差計(jì)算公式。設(shè)要加工圖5.1所示第Ⅰ象限逆時(shí)針走向的圓弧AB,半徑為R,以原點(diǎn)為圓心,起點(diǎn)坐標(biāo)為A(),對于圓弧上任一加工點(diǎn)的坐標(biāo)設(shè)為P()。圖5.1第Ⅰ象限逆圓弧插補(bǔ)圖當(dāng)動(dòng)點(diǎn)P正好落在圓弧上時(shí),則有下式成立當(dāng)動(dòng)點(diǎn)P落在圓弧外側(cè)時(shí),則有下式成立當(dāng)動(dòng)點(diǎn)P落在圓弧內(nèi)側(cè)時(shí),則有下式成立由此可見,取逐點(diǎn)比較法圓弧插補(bǔ)的偏差函數(shù)表達(dá)式為Fm=如圖所示,當(dāng)動(dòng)點(diǎn)在圓外時(shí),為了減小加工誤差,應(yīng)向圓內(nèi)進(jìn)給,即向(-x)軸方向走一步;當(dāng)動(dòng)點(diǎn)落在圓內(nèi)時(shí),應(yīng)向圓外進(jìn)給,即向(+y)軸方向走一步。當(dāng)動(dòng)點(diǎn)正好落在圓弧上且尚未到達(dá)終點(diǎn)時(shí),為了使加工繼續(xù),約定向(-x)軸方向進(jìn)給。綜上所述,現(xiàn)將逐點(diǎn)比較法第Ι象限逆圓插補(bǔ)規(guī)則概括如下:當(dāng)F>0時(shí),即>0,動(dòng)點(diǎn)落在圓外,則向(-x)軸方向進(jìn)給一步。當(dāng)F=0時(shí),即=0,動(dòng)點(diǎn)落在圓上,約定向(-x)軸方向進(jìn)給一步。當(dāng)F<0時(shí),即<0,動(dòng)點(diǎn)落在圓內(nèi),則向(+y)軸方向進(jìn)給一步。為了簡化偏差判別式的運(yùn)算,仍用遞推法來推算下一步新的加工偏差。設(shè)第i次插補(bǔ)后,動(dòng)點(diǎn)坐標(biāo)為P(),對應(yīng)偏差函數(shù)為=當(dāng)≥0時(shí),向(-x)軸方向進(jìn)給一步,則新的動(dòng)點(diǎn)坐標(biāo)值為,因此,新的偏差函數(shù)為所以,同理,<0時(shí),向(-x)軸方向進(jìn)給一步,則新的動(dòng)點(diǎn)坐標(biāo)值為,因此,新的偏差函數(shù)為所以,。逐點(diǎn)比較法第Ι象限圓插補(bǔ)計(jì)算流程圖如圖5.2所示:圖5.2逐點(diǎn)比較法第Ι象限圓插補(bǔ)計(jì)算流程圖5.2圓弧插補(bǔ)邏輯狀態(tài)在VHDL脈沖輸出真值表5-1CLKFCPXCPYclk'eventandclk='0'F>=0有脈沖無脈沖clk'eventandclk='0' F<0無脈沖有脈沖脈沖輸出狀態(tài)表示如5.3圖所示:觸發(fā)clk觸發(fā)clk將clk分頻賦值給pul計(jì)算插補(bǔ)步長,初始化偏差F觸發(fā)pul進(jìn)程開始否進(jìn)行X軸方向進(jìn)給,計(jì)算偏差函數(shù)是進(jìn)行Y軸方向進(jìn)給,計(jì)算偏差函數(shù)結(jié)束是判斷插補(bǔ)步數(shù)是否等于總步數(shù)F>=0否觸發(fā)P1進(jìn)程,判斷象限圖5.3圓弧插補(bǔ)狀態(tài)圖程序中,p1:process(g,clck)為進(jìn)程語句,clk為敏感變信號,敏感信號有事件發(fā)生時(shí),進(jìn)程中的順序語句都會按照他們出現(xiàn)的順序執(zhí)行。程序中我設(shè)置了clk時(shí)鐘輸入口,還設(shè)置了變量clck,clk經(jīng)分頻處理后賦值給clck。DIR:='0'時(shí)表示為逆圓,DIR:='1'時(shí)則表示為順圓。clck'eventandclck='1'表pul上升沿,'EVENT是信號預(yù)定義屬性,表示有事件發(fā)生,clck'eventandclck='1'為clck發(fā)生變化且clck=1,從而實(shí)現(xiàn)clck的上升沿,clck為上升沿有效。這里定義變量xcp,ycp分別表示X軸和Y軸的方向進(jìn)給,分別對應(yīng)cpx,cpy。其中cpx代表X軸方向進(jìn)給,cpy代表Y軸方向進(jìn)給。F是整型數(shù),代表偏差函數(shù)寄存器,用來存放偏差值,當(dāng)F>0時(shí),(1)DIR:='0'時(shí)為逆圓計(jì)算公式,-X方向進(jìn)給一個(gè)脈沖,(2)DIR:='1'時(shí)為順圓計(jì)算公式,-Y方向進(jìn)給一個(gè)方向;當(dāng)F<0時(shí),(1)DIR:='0'時(shí)為逆圓計(jì)算公式,+Y方向進(jìn)給一個(gè)方向(2)DIR:='1'時(shí)為順圓計(jì)算公式,+X方向進(jìn)給一個(gè)脈沖。r、s代表的是動(dòng)態(tài)的X,Y坐標(biāo),也是整型數(shù),主要用來存放插補(bǔ)時(shí)插補(bǔ)點(diǎn)的坐標(biāo),動(dòng)點(diǎn)坐標(biāo)是變化的,要不斷修正坐標(biāo)值并存入寄存器中。p2進(jìn)程程序是將clk分頻的程序,用于消除毛刺。以上程序插補(bǔ)算法是根據(jù)逐點(diǎn)比較法的原理來設(shè)計(jì),圓弧插補(bǔ)分為四個(gè)象限通過觀察,逐點(diǎn)比較法四象限的插補(bǔ)之間具有共同點(diǎn)。其它三個(gè)象限都可以和第一象限聯(lián)系起來,所以在設(shè)計(jì)四象限圓弧是可以參照第一象限圓弧的插補(bǔ)算法。程序增加了一個(gè)中間常量,用來存放中間CPU送入的直線終點(diǎn)坐標(biāo)值,再通過判別CPU送入的坐標(biāo)的象限,來修正坐標(biāo),把它對應(yīng)到第一象限中進(jìn)行插補(bǔ)運(yùn)算,再輸出脈沖。5.3圓弧插補(bǔ)方向進(jìn)給表5-2四象限圓弧插補(bǔ)偏差計(jì)算與進(jìn)給方向線型F≥0F<0偏差計(jì)算坐標(biāo)進(jìn)給偏差計(jì)算坐標(biāo)進(jìn)給SR1F=F-2|Y|+1|Y|=|Y|-1-ΔYF=F+2|X|+1|X|=|X|+1+ΔXNR2-ΔY-ΔXSR3+ΔY-ΔXNR4+ΔY+ΔXNR1F=F-2|X|+1|X|=|X|-1-ΔXF=F+2|Y|+1|Y|=|Y|+1+ΔYSR2+ΔX+ΔYNR3+ΔX-ΔYSR4-ΔX-ΔY5.4圓弧插補(bǔ)VHDL仿真圖5.3第一象限逆圓弧插補(bǔ)VHDL仿真VHDL程序編寫完成后,對其進(jìn)行編譯,將文件置頂后選擇“StartCompilation”,編譯無誤后進(jìn)行波形仿真,仿真前要先建立仿真波形。1)在File菜單中選擇“New”選項(xiàng),然后選擇“VectorWaveformFile”,彈出一個(gè).vwf的文件,在“Name”下右擊選擇“InsertNode...”,再按“NodeFinder”,找到需要的輸入輸出量后,選擇向右箭頭,單擊“List”生成仿真窗口。2)從Edit菜單中選擇“EndTime”,設(shè)置欲仿真的時(shí)間長度。3)在編輯波形窗口,根據(jù)需要來編輯波形,對信號進(jìn)行賦值。4)保存在相應(yīng)文件夾后,點(diǎn)擊“StartSimulation”仿真開始。當(dāng)g脈沖出現(xiàn)第一個(gè)上升沿時(shí),程序初始化首先修改寫入的坐標(biāo)值,都取絕對值,對應(yīng)到第一象限上來,計(jì)算插補(bǔ)總步數(shù)。當(dāng)clk時(shí)鐘信號上升沿來時(shí),觸發(fā)p3進(jìn)程,將clk信號分頻,引入變量pul來觸發(fā)p2進(jìn)程,判斷插補(bǔ)是否結(jié)束,判斷num是否等于總插補(bǔ)步數(shù),如果不相等則進(jìn)行插補(bǔ)運(yùn)算,先修改偏差函數(shù),輸出插補(bǔ)脈沖,以此類推得出插補(bǔ)波形。以圖5.3為例,插補(bǔ)起點(diǎn)坐標(biāo)(8,6),插補(bǔ)終點(diǎn)坐標(biāo)(6,8),XS表示起點(diǎn)X軸坐標(biāo),YS表示起點(diǎn)Y軸坐標(biāo),XE表示終點(diǎn)X軸坐標(biāo),YE表示終點(diǎn)Y軸坐標(biāo),首先F=0,X方向進(jìn)給一個(gè)脈沖,num加一,修正F,當(dāng)下一個(gè)clk上升沿到來時(shí)F<0,Y方向進(jìn)給一個(gè)脈沖,以此類推,圓弧插補(bǔ)總共插補(bǔ)了4步,結(jié)果符合理論的結(jié)果。5.5四象限圓弧插補(bǔ)VHDL程序編寫完成后,對其進(jìn)行編譯,將文件置頂后選擇“StartCompilation”,編譯無誤后進(jìn)行波形仿真,仿真前要先建立仿真波形。1)在File菜單中選擇“New”選項(xiàng),然后選擇“VectorWaveformFile”,彈出一個(gè).vwf的文件,在“Name”下右擊選擇“InsertNode...”,再按“NodeFinder”,找到需要的輸入輸出量后,選擇向右箭頭,單擊“List”生成仿真窗口。2)從Edit菜單中選擇“EndTime”,設(shè)置欲仿真的時(shí)間長度。3)在編輯波形窗口,根據(jù)需要來編輯波形,對信號進(jìn)行賦值。4)保存在相應(yīng)文件夾后,點(diǎn)擊“StartSimulation”仿真開始。圖5.4第一象限順圓弧插補(bǔ)VHDL仿真圖5.5第三象限逆圓弧插補(bǔ)VHDL仿真圖5.6第三象限順圓弧插補(bǔ)VHDL仿真
第六章總結(jié)與展望6.1工作總結(jié)本課題通過理解數(shù)控輪廓插補(bǔ)的原理及實(shí)現(xiàn)方法,然后再通過硬件描述語言VHDL在FPGA上實(shí)現(xiàn)上述算法,完成仿真與測試。在FPGA平臺上用逐點(diǎn)比較法來描述了輪廓的插補(bǔ)。在做此課題的過程中,對VHDL語言和數(shù)控的輪廓插補(bǔ)等知識有了進(jìn)一步的了解和運(yùn)用。但是剛開始時(shí),卻是對此了解不多。通過這次畢業(yè)設(shè)計(jì),有了以往在上課中沒有的鍛煉機(jī)會,比如自己調(diào)研,有不懂的都要向老師和組長及時(shí)請教,這是大學(xué)里為數(shù)不多的。6.2問題討論逐點(diǎn)比較法具有鮮明的特點(diǎn),但是缺點(diǎn)也是一目了然。別的同學(xué)因此用了數(shù)據(jù)采樣法,在討論的過程中發(fā)現(xiàn)了自身方法的優(yōu)劣。在仿真調(diào)試的過程中,軟件仿真圖中總是會出現(xiàn)毛刺現(xiàn)象,經(jīng)過探究了解到這是由于賦值過程的延時(shí),這反映了硬件系統(tǒng)的重要特性,說明硬件系統(tǒng)并不是立即發(fā)生的,它發(fā)生在一個(gè)進(jìn)程結(jié)束時(shí)。由于在運(yùn)行程序時(shí)存在延遲,造成在下一個(gè)時(shí)鐘脈沖來時(shí)中間變量狀態(tài)還保持原來的狀態(tài),所以造成了毛刺現(xiàn)象。為了解決這個(gè)問題,引入pul變量,clk時(shí)鐘信號經(jīng)過p3進(jìn)程處理后時(shí)鐘的頻率縮小對原來的一半,再將pul應(yīng)用到p2進(jìn)程中來,進(jìn)行插補(bǔ)運(yùn)算。在未處理前存在明顯的毛刺,在芯片輸出插補(bǔ)脈沖是會造成干擾,影響插補(bǔ)精度,分頻處理能有效的解決這個(gè)問題。
致謝大學(xué)畢業(yè)設(shè)計(jì)是對我知識運(yùn)用能力的一次全面的考核,也是對我們行科學(xué)研究基本功的訓(xùn)練,培養(yǎng)我綜合運(yùn)用所學(xué)知識獨(dú)立地分析問題和解決問題的能力,為以后撰寫專業(yè)學(xué)術(shù)論文和工作打下良好的基礎(chǔ)。本次設(shè)計(jì)能夠順利完成,首先我要感謝我的母校——南京工程學(xué)院,是她為我提供了學(xué)習(xí)知識的土壤,使我在這里茁壯成長。其次我要感謝自動(dòng)化學(xué)院的老師們,他們不僅教會我專業(yè)方面的知識,而且教會我做人做事的道理;尤其要感謝在本次設(shè)計(jì)中給與我大力支持和幫助的葛紅宇老師,每有問題,葛老師總是耐心的解答,使我能夠充滿熱情的投入到畢業(yè)設(shè)計(jì)中去,葛老師的嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,細(xì)致的研究精神和敬業(yè)精神對我以后的生活工作和學(xué)習(xí)將產(chǎn)生積極的影響,再次向葛老師表示感謝;感謝和葛老師同一辦公室的張老師,是他對我的畢業(yè)設(shè)計(jì)進(jìn)行了還要感謝我的組長吳迪和其他同學(xué),他們熱心的幫助,使我感到了來自兄弟姐妹的情誼。感謝相關(guān)資料的編著者和給予我支持的社會各界人士,感謝您們?yōu)槲姨峁┮粋€(gè)良好的環(huán)境,使本次設(shè)計(jì)圓滿完成。感謝父母對我二十多年來辛勤的養(yǎng)育,并讓我獲取了一定的知識并最終走向社會,為社會貢獻(xiàn)自己!最后,我要向在百忙之中抽時(shí)間對本文進(jìn)行審閱、評議和參加本人論文答辯的各位老師表示感謝!袁鑫二一一年六月于南京
參考文獻(xiàn)[1].王建校.51單片機(jī)及C51程序設(shè)計(jì).北京:科學(xué)出版社,2002.4[2].朱曉春.先進(jìn)制造技術(shù).北京:科學(xué)出版社,2004.5[3].王振紅.VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程.北京:機(jī)械工業(yè)出版社,2006.1[4].汪木蘭.數(shù)控原理與系統(tǒng).北京:機(jī)械工業(yè)出版社,2007.7[5].尚麗.運(yùn)動(dòng)控制系統(tǒng).西安:西安電子科技大學(xué)出版社,2009.1[6].李恩林.數(shù)控系統(tǒng)插補(bǔ)原理通論.北京:國防工業(yè)出版社,2008.7[7].劉嵐,黃秋元,陳適.北京:電子工業(yè)出版社,2009.7[8].李宜達(dá).控制系統(tǒng)設(shè)計(jì)與仿真.北京:清華大學(xué)出版社,2004.4[9].張研.工業(yè)以太網(wǎng)及其實(shí)時(shí)特性的研究.天津:河北工業(yè)大學(xué),2005.4[10].王家軍,齊冬蓮.運(yùn)動(dòng)控制系統(tǒng)的發(fā)展與展望.電氣時(shí)代,2004,(10):54-56[11].施浩仁.網(wǎng)絡(luò)技術(shù)在馬達(dá)驅(qū)動(dòng)器的應(yīng)用.機(jī)械工業(yè)雜志,2004,(253):197-203[12].黃怡暾.PC-BasedSSCNET運(yùn)動(dòng)控制系統(tǒng)與發(fā)展趨勢.工業(yè)控制計(jì)算機(jī),2003,16(7):62-64
附錄A:程序清單LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLDISPORT(D:INSTD_LOGIC_VECTOR(7DOWNTO0);WR:INSTD_LOGIC;CS:INSTD_LOGIC;A:INSTD_LOGIC;L:OUTSTD_LOGIC);ENDLD;ARCHITECTUREsampleOFLDISSIGNALXS:IntegerSIGNALYS:IntegerSIGNALXE:IntegerSIGNALYE:IntegerSIGNALLL:STD_LOGIC;BEGINL<=LL;PROCESS(WR,A)VARIABLELIN:STD_LOGIC;VariableHDA:STD_LOGIC_VECTOR(7DOWNTO0);VariableTMP:STD_LOGIC_VECTOR(2DOWNTO0):="000";BEGINifWR'EVENTANDWR='0'thenifA='0'THENTMP:="000";elsifCS='0'thenifTMP="000"thenHDA:=D;TMP:=TMP+1;elsifTMP="001"thenXE<=CONV_INTEGER(HDA&D);TMP:=TMP+1;elsifTMP="010"thenHDA:=D;TMP:=TMP+1;elsifTMP="011"thenYE<=CONV_INTEGER(HDA&D);TMP:=TMP+1;LIN:='1';ELSifTMP="100"thenHDA:=D;TMP:=TMP+1;elsifTMP="101"thenXS<=CONV_INTEGER(HDA&D);TMP:=TMP+1;elsifTMP="110"thenHDA:=D;TMP:=TMP+1;elsifTMP="111"thenYS<=CONV_INTEGER(HDA&D);TMP:="000";LIN:='0';endif;endif;endif;LL<=LIN;ENDPROCESS;ENDsample;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPULISPORT(G:INSTD_LOGIC;XE:INIntegerYE:INIntegerCLK:INSTD_LOGIC;XDIR:OUTSTD_LOGIC;YDIR:OUTSTD_LOGIC;XP:OUTSTD_LOGIC;YP:OUTSTD_LOGIC);ENDPUL;ARCHITECTUREsampleOFPULISSIGNALPUL:STD_LOGIC;SIGNALXCP:STD_LOGIC;SIGNALYCP:STD_LOGIC;SIGNALXXE:IntegerSIGNALYYE:IntegerBEGINXP<=XCPANDCLK;YP<=YCPANDCLK;P1:PROCESS(XXE,YYE)VARIABLEXXDIR:STD_LOGIC;VARIABLEYYDIR:STD_LOGIC;VARIABLETXE:IntegerVARIABLETYE:IntegerBEGINIFXE<0THENXXDIR:='1';TXE:=-XE;ELSEXXDIR:='0';TXE:=XE;ENDIF;IFYE<0THENYYDIR:='1';TYE:=-YE;ELSEYYDIR:='0';TYE:=YE;ENDIF;XDIR<=XXDIR;YDIR<=YYDIR;XXE<=TXE;YYE<=TYE;ENDPROCESSP1;P2:PROCESS(G,PUL)VARIABLExx:IntegerVARIABLEyy:IntegerVARIABLEF:Integer;VARIABLENUM:Integer;VARIABLEYG:STD_LOGIC;VARIABLEXG:STD_LOGIC;BEGINIFG='1'THENXX:=XXE;YY:=YYE;F:=0;NUM:=abs(XE)+abs(YE);elsIFPUL'EVENTANDPUL='1'THENIFNUM/=0thenIF(F<0)thenyy:=yy-1;YG:='1';XG:='0';F:=F+XXE;elsexx:=xx-1;YG:='0';XG:='1';F:=F-YYE;ENDIF;NUM:=NUM-1;ELSEYG:='0';XG:='0';ENDIF;ENDIF;XCP<=XGANDPUL;YCP<=YGANDPUL;ENDPROCESSP2;P3:PROCESS(CLK)VARIABLECP:STD_LOGIC;BEGINifCLK'EVENTANDCLK='0'THENCP:=NOT(CP);ENDIF;PUL<=CP;ENDPROCESSP3;ENDsample;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYAPULISPORT(G:INSTD_LOGIC;XS:INIntegerYS:INIntegerXE:INIntegerYE:INIntegerCLK:INSTD_LOGIC;XDIR:OUTSTD_LOGIC;YDIR:OUTSTD_LOGIC;XP:OUTSTD_LOGIC;YP:OUTSTD_LOGIC);ENDAPUL;ARCHITECTUREsampleOFAPULISSIGNALXCP:STD_LOGIC;SIGNALYCP:STD_LOGIC;SIGNALCLCK:STD_LOGIC;SIGNALXXS:IntegerSIGNALYYS:IntegerSIGNALXXE:IntegerSIGNALYYE:IntegerBEGINXP<=XCPANDCLK;YP<=YCPANDCLK;P1:PROCESS(XXE,YYE,XXS,YYS)VARIABLEXXDIR:STD_LOGIC;VARIABLEYYDIR:STD_LOGIC;VARIABLETXS:IntegerVARIABLETYS:IntegerVARIABLETXE:IntegerVARIABLETYE:IntegerBEGINIFXE>XSTHENXXDIR:='0';ELSEXXDIR:='1';ENDIF;IFYE>YSTHENYYDIR:='0';ELSEYYDIR:='1';ENDIF;IFXE<0THENTXE:=-XE;ELSETXE:=XE;ENDIF;IFXS<0THENTXS:=-XS;ELSETXS:=XS;ENDIF;IFYE<0THENTYE:=-YE;ELSETYE:=YE;ENDIF;IFYS<0THENTYS:=-YS;ELSETYS:=YS;ENDIF;XDIR<=XXDIR;YDIR<=YYDIR;XXS<=TXS;YYS<=TYS;XXE<=TXE;YYE<=TYE;ENDPROCESSP1;P2:PROCESS(G,CLCK)VARIABLExx:IntegerVARIABLEyy:IntegerVARIABLEF:Integer;VARIABLEDIR:STD_LOGIC;VARIABLENUM:Integer;VARIABLEYG:STD_LOGIC;VARIABLEXG:STD_LOGIC;BEGINIFG='1'THENxx:=XXS;yy:=YYS;ifXXE<XXSTHENDIR:='0';NUM:=XXS-XXE+YYE-YYS;ELSEDIR:='1';NUM:=XXE-XXS+YYS-YYE;ENDIF;F:=0;elsIFCLCK'EVENTANDCLCK='1'THENIFNUM/=0thenIF(F<0)thenIFDIR='0'THENF:=F+yy+yy+1;yy:=yy+1;YG:='1';XG:='0';ELSEF:=F+xx+xx+1;xx:=xx+1;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貸款延期補(bǔ)充協(xié)議書范本
- 2024居間合同樣的合同
- 工程測量設(shè)計(jì)合同
- 培訓(xùn)機(jī)構(gòu)合作合同樣本
- 技術(shù)許可與知識產(chǎn)權(quán)保護(hù)
- 國有企業(yè)下崗職工出中心與失業(yè)保險(xiǎn)“并軌”協(xié)議書
- 2024配方轉(zhuǎn)讓協(xié)議標(biāo)準(zhǔn)文本
- 工程合同簽訂方法
- 房屋租賃合同提前解除的策略與建議
- 園林綠化承包經(jīng)營合同樣本
- GB/T 26358-2022旅游度假區(qū)等級劃分
- YS/T 337-2009硫精礦
- 跆拳道課堂教學(xué)計(jì)劃表
- GB/T 25840-2010規(guī)定電氣設(shè)備部件(特別是接線端子)允許溫升的導(dǎo)則
- GB/T 18972-2017旅游資源分類、調(diào)查與評價(jià)
- GB/T 12239-2008工業(yè)閥門金屬隔膜閥
- GB/T 10822-2003一般用途織物芯阻燃輸送帶
- 微生物實(shí)驗(yàn)室管理培訓(xùn)考核試題含
- 手機(jī)攝影PPT學(xué)習(xí)課件(攝影的七大要素)
- 換藥,拆線課件
- 生物武器1課件
評論
0/150
提交評論