System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及一種電機協(xié)同控制方法,特別是涉及一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,屬于電機協(xié)同控制方法。
技術(shù)介紹
1、根據(jù)測量得到的時鐘偏移和傳輸延時,主站會對每個從站的時鐘進行補償,以確保它們與參考時鐘保持同步。
2、在周期性運行階段,主站會繼續(xù)發(fā)送同步數(shù)據(jù)幀來動態(tài)補償時鐘漂移,確保整個網(wǎng)絡(luò)的時鐘同步精度。
3、在許多工業(yè)應(yīng)用中,如機器人、數(shù)控機床等,常常需要配備多個外部電機協(xié)同工作以實現(xiàn)復(fù)雜的運動控制。例如焊接應(yīng)用中,機器人需要配備雙軸的變位機,進行復(fù)雜工件的焊接,傳統(tǒng)的多軸電機控制系統(tǒng)通常采用獨立控制單元,通過總線或網(wǎng)絡(luò)通信實現(xiàn)各軸之間的協(xié)調(diào),機器人內(nèi)部軸電機驅(qū)動器是通過常用的ethercat總線進行連接,如果需要增加外部軸,只需要購買支持ethercat總線驅(qū)動器,連接上去即可,ethercat協(xié)議中的分布式時鐘機制會幫助實現(xiàn)內(nèi)外部軸電機控制數(shù)據(jù)的同步。
4、但是對于控驅(qū)一體類型的控制器來說,內(nèi)部軸電機的驅(qū)動器并不是通過常用的總線進行控制的,而是通過芯片內(nèi)部的共享內(nèi)存和axi總線進行數(shù)據(jù)交互,其中為了降低成本和開發(fā)維護難度,并不會加入ethercat這類型的協(xié)議棧,在需要添加外部軸時,有兩個選擇,一是拓展控制器內(nèi)部的驅(qū)動模塊,但是我們的控制器是一個標(biāo)準(zhǔn)產(chǎn)品,面對千變?nèi)f化的市場,是很難適應(yīng)的,二就是加入帶有總線協(xié)議的外部驅(qū)動器,由于類似于ethercat協(xié)議是以第一個從站作為基準(zhǔn),這就會在一些需要協(xié)同應(yīng)用的過程中涉及到控制數(shù)據(jù)同步的問題,控驅(qū)一體內(nèi)部控制時鐘都需要與第一個從站
5、同時,類似于驅(qū)控一體這一類產(chǎn)品,往往采用多核異構(gòu)芯片或多芯片組成,這就會出現(xiàn)各個核芯或芯片的時鐘頻率并不一致,隨著時間的推移,會產(chǎn)生累計誤差,從而導(dǎo)致時鐘偏移,需要各部分程序進行周期性時鐘校準(zhǔn),才能確保同步。
6、目前沒有搜索到其他相關(guān)的解決方案,本專利技術(shù)的目的主要是通過實現(xiàn)a核中的總線協(xié)議主站(ethercat等具有從站時鐘同步功能的協(xié)議棧),運動規(guī)劃系統(tǒng);r核中的伺服控制系統(tǒng);fpga中的電機驅(qū)動系統(tǒng)等控制時鐘實現(xiàn)同步,以實現(xiàn)內(nèi)外部軸的精準(zhǔn)協(xié)同控制,滿足應(yīng)用中的高精要求。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)的主要目的是為了提供一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法。
2、本專利技術(shù)的目的可以通過采用如下技術(shù)方案達到:
3、一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,包括用于該控制方法的控制系統(tǒng);
4、所述控制系統(tǒng)包括運控系統(tǒng),該運控系統(tǒng)共享內(nèi)存至主站程序和伺服控制程序;
5、主站程序通過工業(yè)總線連接外部驅(qū)動模塊,并通過外部驅(qū)動模塊連接外部電機軸;
6、伺服控制程序通過axi總線連接fpga模塊,并通過fpga模塊連接機器人內(nèi)部軸。
7、優(yōu)選的,包括如下步驟:
8、步驟一:將控驅(qū)一體通過現(xiàn)場總線與外部軸連接;
9、步驟二:獲取外部軸機械運動參數(shù),建立機器人與外部軸的坐標(biāo)關(guān)系;
10、步驟三:運控系統(tǒng)對機器人內(nèi)部軸與外部軸進行統(tǒng)一規(guī)劃,生成插補軌跡;
11、步驟四:以主站程序時鐘為基準(zhǔn),主站在每個周期的起始時刻將會獲取到arm核的全局計數(shù)器和fpga核的微秒計數(shù)器數(shù)值;
12、步驟五:通過主站程序,中間層程序,伺服控制程序,fpga程序需要經(jīng)過逐層握手和總線穩(wěn)定性性檢測;
13、步驟六:握手通過后進入時鐘校準(zhǔn)環(huán)節(jié),主站程序通過在線程執(zhí)行的起始時刻獲取到arm核全局計數(shù)器計數(shù)值;
14、步驟七:主站程序通過周期計數(shù)值加1的方式觸發(fā)fpga鎖存主站起始時刻的時鐘計數(shù)器數(shù)值cnt,定義fpga當(dāng)前周期結(jié)束時刻計數(shù)值為fpgaendcnt,周期計數(shù)數(shù)位cyclecnt,則:
15、fpgaendcnt=cnt+cyclecnt;
16、步驟八:r核的伺服控制程序運行與中斷函數(shù)中,通過被fpga觸發(fā)運行,并通過自身的計數(shù)器,記錄當(dāng)前計數(shù)值servocnt,計算得到當(dāng)前周期的結(jié)束計數(shù)值為servoendcnt;
17、步驟九:各部分程序通過已知的周期結(jié)束時間,計算出當(dāng)前周期的第tus時刻,分別定義主站程序的第tus時刻為mastert,中間層為midt,fpga為fpgat,伺服控制程序為servot,則:
18、mastert=time+t*全局計數(shù)器微秒計數(shù)數(shù);
19、midt=time+t*全局計數(shù)器微秒計數(shù)數(shù);
20、fpgat=cnt+t*fpga時鐘計數(shù)器微秒計數(shù)數(shù);
21、servot=servocnt+t*r核計數(shù)器微秒計數(shù)數(shù);
22、步驟十:當(dāng)?shù)竭_出當(dāng)前周期的第tus時刻,各部分程序首先從相應(yīng)的內(nèi)存或寄存器中讀取指令信息與反饋信息,然后執(zhí)行對應(yīng)的運動規(guī)劃程序與電機控制驅(qū)動程序,執(zhí)行完成后,向內(nèi)存,總線或寄存器寫入相應(yīng)的控制指令和反饋信息;
23、步驟十一:等待周期時間結(jié)束后,跳轉(zhuǎn)至?xí)r鐘校準(zhǔn),周期性循環(huán),達到內(nèi)外部驅(qū)動控制指令與反饋信息的同步。
24、優(yōu)選的,在步驟三中中間層負(fù)責(zé)運控系統(tǒng)的調(diào)度,主站程序接收運控系統(tǒng)指令,然后通過總線下發(fā)外部驅(qū)動,外部驅(qū)動接收到控制指令,對外部軸進行控制;伺服控制程序接收到運控系統(tǒng)的指令,通過axi總線下發(fā)指令給fpga,fpga接收到指令實現(xiàn)對內(nèi)部軸的控制。
25、優(yōu)選的,步驟四還包括該計數(shù)值分別傳遞給中間層程序和fpga核,他們也將該時刻作為起始時刻,計算周期結(jié)束時刻,通過每周期的重復(fù)校準(zhǔn),達到同步的目的。
26、優(yōu)選的,在步驟六中穩(wěn)定性檢測需要主站程序每個周期的初始階段對自身的周期計數(shù)值加1,并寫入共享內(nèi)存ocm4,伺服通過計算兩次周期數(shù)加1的時間差值,并存入環(huán)形數(shù)組dif[n],考慮到時間的波動和允許誤差的存在,時間單位為62.5us,即允許時間偏差在62.5us的時間內(nèi);
27、當(dāng)環(huán)形數(shù)組dif[n]內(nèi)所有數(shù)值相等時,穩(wěn)定性檢測通過。
28、優(yōu)選的,步驟六還包括將該計數(shù)值time寫入ocm6,中間層通過獲取該計數(shù)值計算當(dāng)前周期的結(jié)束時間,定義周期結(jié)束時間為midendtimer,周期時間為cycletime,則:
29、midendtimer=time+cycletime。
30、本專利技術(shù)的有益技術(shù)效果:
31、本專利技術(shù)提供的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,將控驅(qū)一體通過現(xiàn)場總線與外部軸連接,獲取外部軸機械運動參數(shù),建立機器人與外部軸的坐標(biāo)關(guān)系,運控系統(tǒng)對機器人內(nèi)部軸與外部軸進行統(tǒng)一規(guī)劃,生成插補軌跡,以主站程序時鐘為基準(zhǔn),主站在每個周期的起始時刻將會獲取到arm核的全局計數(shù)器和fpga核的微秒計數(shù)器數(shù)值,通過主站程序,中間層程序,伺服控制程序,fpga程序需要經(jīng)過逐層握手和總線穩(wěn)定性性檢測,握手通過后進入時鐘校準(zhǔn)環(huán)節(jié),主站程序通過在線程執(zhí)行的起始時本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:包括用于該控制方法的控制系統(tǒng);
2.根據(jù)權(quán)利要求1所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:包括如下步驟:
3.根據(jù)權(quán)利要求2所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:在步驟三中中間層負(fù)責(zé)運控系統(tǒng)的調(diào)度,主站程序接收運控系統(tǒng)指令,然后通過總線下發(fā)外部驅(qū)動,外部驅(qū)動接收到控制指令,對外部軸進行控制;伺服控制程序接收到運控系統(tǒng)的指令,通過AXI總線下發(fā)指令給FPGA,F(xiàn)PGA接收到指令實現(xiàn)對內(nèi)部軸的控制。
4.根據(jù)權(quán)利要求3所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:步驟四還包括該計數(shù)值分別傳遞給中間層程序和FPGA核,他們也將該時刻作為起始時刻,計算周期結(jié)束時刻,通過每周期的重復(fù)校準(zhǔn),達到同步的目的。
5.根據(jù)權(quán)利要求4所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:在步驟六中穩(wěn)定性檢測需要主站程序每個周期的初始階段對自身的周期計數(shù)值加1,并寫入共享內(nèi)存ocm4,伺服通過計算兩次周期數(shù)加1的時間
6.根據(jù)權(quán)利要求5所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:步驟六還包括將該計數(shù)值Time寫入ocm6,中間層通過獲取該計數(shù)值計算當(dāng)前周期的結(jié)束時間,定義周期結(jié)束時間為MidEndTimer,周期時間為CycleTime,則:
...【技術(shù)特征摘要】
1.一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:包括用于該控制方法的控制系統(tǒng);
2.根據(jù)權(quán)利要求1所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:包括如下步驟:
3.根據(jù)權(quán)利要求2所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:在步驟三中中間層負(fù)責(zé)運控系統(tǒng)的調(diào)度,主站程序接收運控系統(tǒng)指令,然后通過總線下發(fā)外部驅(qū)動,外部驅(qū)動接收到控制指令,對外部軸進行控制;伺服控制程序接收到運控系統(tǒng)的指令,通過axi總線下發(fā)指令給fpga,fpga接收到指令實現(xiàn)對內(nèi)部軸的控制。
4.根據(jù)權(quán)利要求3所述的一種多核異構(gòu)控驅(qū)一體內(nèi)外部軸電機協(xié)同控制方法,其特征在于:步驟四還包括該計數(shù)值分別傳遞給中間層程序和fpga核,他們也將該...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張立群,招子安,植鍵鋒,張興恩,陳文恒,
申請(專利權(quán))人:佛山智能裝備技術(shù)研究院,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。