本發(fā)明涉及實(shí)時(shí)通訊運(yùn)動(dòng)控制
技術(shù)領(lǐng)域:
,特別涉及一種支持認(rèn)知的運(yùn)動(dòng)控制方法。
背景技術(shù):
:運(yùn)動(dòng)控制(MC)是自動(dòng)化的一個(gè)分支,它使用通稱為伺服機(jī)構(gòu)的一些設(shè)備如液壓泵,線性執(zhí)行機(jī)或者是電機(jī)來控制機(jī)器的位置或速度。運(yùn)動(dòng)控制在機(jī)器人和數(shù)控機(jī)床的領(lǐng)域內(nèi)的應(yīng)用要比在專用機(jī)器中的應(yīng)用更復(fù)雜,因?yàn)楹笳哌\(yùn)動(dòng)形式更簡單,通常被稱為通用運(yùn)動(dòng)控制(GMC)。運(yùn)動(dòng)控制被廣泛應(yīng)用在包裝、印刷、紡織和裝配工業(yè)中。運(yùn)動(dòng)控制起源于早期的伺服控制。簡單地說,運(yùn)動(dòng)控制就是對(duì)機(jī)械運(yùn)動(dòng)部件的位置、速度等進(jìn)行實(shí)時(shí)的控制管理,使其按照預(yù)期的運(yùn)動(dòng)軌跡和規(guī)定的運(yùn)動(dòng)參數(shù)進(jìn)行運(yùn)動(dòng)。早期的運(yùn)動(dòng)控制技術(shù)主要是伴隨著數(shù)控技術(shù)、機(jī)器人技術(shù)和工廠自動(dòng)化技術(shù)的發(fā)展而發(fā)展的。早期的運(yùn)動(dòng)控制器實(shí)際上是可以獨(dú)立運(yùn)行的專用的控制器,往往無需另外的處理器和操作系統(tǒng)支持,可以獨(dú)立完成運(yùn)動(dòng)控制功能、工藝技術(shù)要求的其他功能和人機(jī)交互功能。這類控制器可以成為獨(dú)立運(yùn)行的運(yùn)動(dòng)控制器。這類控制器主要針對(duì)專門的數(shù)控機(jī)械和其他自動(dòng)化設(shè)備而設(shè)計(jì),往往已根據(jù)應(yīng)用行業(yè)的工藝要求設(shè)計(jì)了相關(guān)的功能,用戶只需要按照其協(xié)議要求編寫應(yīng)用加工代碼文件,利用RS232或者DNC方式傳輸?shù)娇刂破鳎刂破骷纯赏瓿上嚓P(guān)的動(dòng)作。這類控制器往往不能離開其特定的工藝要求而跨行業(yè)應(yīng)用,控制器的開放性僅僅依賴于控制器的加工代碼協(xié)議,用戶不能根據(jù)應(yīng)用要求而重組自己的運(yùn)動(dòng)控制系統(tǒng)。隨著運(yùn)動(dòng)控制領(lǐng)域的飛速發(fā)展,實(shí)時(shí)通信需求的不斷提升,工業(yè)控制器方向由傳統(tǒng)的以秒為單位的同步控制演變到微秒級(jí)控制。EtherCAT總線技術(shù)就是為了適應(yīng)于更高速的通信速度而提出。目前工業(yè)領(lǐng)域主流的總線技術(shù)包括Powerlink、CAN總線等,配合不同的廠商多領(lǐng)域的涉及,已經(jīng)將實(shí)時(shí)通信技術(shù)延展到了更多的領(lǐng)域。針對(duì)運(yùn)動(dòng)控制領(lǐng)域,各大廠家都提出了基于快速總線通信的解決方案。運(yùn)動(dòng)控制產(chǎn)品主要以運(yùn)動(dòng)控制卡和運(yùn)動(dòng)模型庫為主。但現(xiàn)有運(yùn)動(dòng)控制器多固化了運(yùn)動(dòng)控制模塊,在面對(duì)應(yīng)用場景變更,控制要求變更等情況下,都要進(jìn)行重新設(shè)計(jì)重新編譯部署等工作,因此大大的限制了運(yùn)動(dòng)控制器的靈活性。同時(shí)現(xiàn)有運(yùn)動(dòng)控制器與驅(qū)動(dòng)器之間通信協(xié)議種類繁多,因此需要一套標(biāo)準(zhǔn)的通信協(xié)議定義出一套通用性的應(yīng)用層協(xié)議格式。綜上所述,運(yùn)動(dòng)控制器在實(shí)現(xiàn)運(yùn)動(dòng)控制功能的基礎(chǔ)上,還應(yīng)該支持認(rèn)知學(xué)習(xí),實(shí)現(xiàn)對(duì)實(shí)際運(yùn)動(dòng)控制效果的在線調(diào)整。另一方面針對(duì)通信協(xié)議各異、標(biāo)準(zhǔn)不統(tǒng)一的問題,設(shè)計(jì)基于CANopen應(yīng)用層協(xié)議的運(yùn)動(dòng)控制器,將運(yùn)動(dòng)控制參數(shù)統(tǒng)一映射到構(gòu)建的統(tǒng)一地址模型中,并通過通信層EtherCAT接口進(jìn)行實(shí)時(shí)控制。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問題在于,提供了一種支持認(rèn)知的運(yùn)動(dòng)控制方法。針對(duì)現(xiàn)有技術(shù)中存在的上述不足之處,克服現(xiàn)有控制器存在的不足,提供一種基于EtherCAT技術(shù)的運(yùn)動(dòng)控制方法,不僅能夠?qū)⑺欧?qū)動(dòng)器所需數(shù)據(jù)進(jìn)行實(shí)時(shí)采集和傳輸,還能將數(shù)據(jù)定義出CANopen應(yīng)用層模型進(jìn)行統(tǒng)一管理。同時(shí)本發(fā)明還提出了一套支持認(rèn)知學(xué)習(xí)的解決方案。為解決上述技術(shù)問題,本發(fā)明提供了一種支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng),包括:以太網(wǎng)接口單元、以太網(wǎng)控制單元、SRAM存儲(chǔ)單元、主控單元、控制單元、指示燈單元、供電單元,以及:運(yùn)動(dòng)控制功能庫模塊、控制模塊、EtherCAT總線通信模塊、程序監(jiān)聽模塊。所述主控單元優(yōu)選分別與以太網(wǎng)控制單元、SRAM存儲(chǔ)單元、通信接口轉(zhuǎn)換單元、按鍵單元、指示燈單元、供電單元呈星形連接;所述供電單元為所有單元供電。所述供電單元優(yōu)選進(jìn)一步包括降壓開關(guān)電源模塊及其外圍保護(hù)、濾波、穩(wěn)壓電路;所述降壓開關(guān)電源模塊的輸入端連接有防浪涌電路,使本網(wǎng)關(guān)具有抗雷擊和沖擊的性能;所述降壓開關(guān)電源模塊將輸入的220V交流電壓變?yōu)?V直流電壓;所述降壓開關(guān)電源模塊和線性穩(wěn)壓器的輸出端都設(shè)置有濾波電路。所述運(yùn)動(dòng)控制功能庫模塊,可以用于根據(jù)被控對(duì)象的控制模型建立控制算法庫;所述控制模塊,可以用于控制被控對(duì)象執(zhí)行運(yùn)動(dòng)指令的應(yīng)用程序主邏輯進(jìn)程;所述EtherCAT總線通信模塊,可以用于控制器和伺服驅(qū)動(dòng)器之間的總線通信,包括狀態(tài)采集和指令傳輸;所述程序監(jiān)聽模塊,可以用于處理運(yùn)動(dòng)控制器的請(qǐng)求響應(yīng),其中包括基于網(wǎng)絡(luò)的更新請(qǐng)求和基于硬件按鍵的中斷請(qǐng)求。為解決上述技術(shù)問題,本發(fā)明又提供了一種如前述任一項(xiàng)所述支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng)的使用方法,包括以下步驟:步驟S1:上電,初始化運(yùn)動(dòng)控制器;步驟S2:執(zhí)行運(yùn)動(dòng)控制主程序,同時(shí)觸發(fā)執(zhí)行監(jiān)聽線程和EtherCAT總線通信線程;步驟S3:通過EtherCAT總線協(xié)議,檢查網(wǎng)絡(luò)結(jié)構(gòu),初始化伺服驅(qū)動(dòng)器,實(shí)時(shí)采集伺服驅(qū)動(dòng)器狀態(tài)信息;步驟S4:讀取伺服驅(qū)動(dòng)器狀態(tài)參數(shù)和運(yùn)動(dòng)控制指令解析運(yùn)動(dòng)控制模型,生成運(yùn)動(dòng)控制指令,若運(yùn)動(dòng)控制指令為空,則等待;步驟S5:實(shí)時(shí)傳輸運(yùn)動(dòng)控制指令,重復(fù)步驟S3;步驟S6:若觸發(fā)硬件中斷觸發(fā),則執(zhí)行步驟S1;若觸發(fā)網(wǎng)絡(luò)更新請(qǐng)求,則執(zhí)行程序下載,完畢后執(zhí)行步驟S1。為解決上述技術(shù)問題,本發(fā)明另提供了一種支持認(rèn)知的運(yùn)動(dòng)控制方法,包括以下步驟:主控單元執(zhí)行運(yùn)動(dòng)控制主進(jìn)程,并觸發(fā)EtherCAT總線通信線程和監(jiān)聽線程;通過EtherCAT總線通信線程,根據(jù)EtherCAT總線通信層協(xié)議檢查網(wǎng)絡(luò)結(jié)構(gòu)、初始化伺服驅(qū)動(dòng)器;通過監(jiān)聽線程對(duì)信號(hào)量進(jìn)行監(jiān)聽:當(dāng)監(jiān)聽到中斷信號(hào),則主控單元重置;當(dāng)監(jiān)聽到認(rèn)知線程發(fā)送的變更請(qǐng)求時(shí),進(jìn)行在線更新;同時(shí),通過運(yùn)動(dòng)控制主進(jìn)程解析上位機(jī)發(fā)來的運(yùn)動(dòng)控制任務(wù):根據(jù)運(yùn)動(dòng)控制任務(wù)確定伺服驅(qū)動(dòng)器狀態(tài)信息參數(shù)列表和運(yùn)動(dòng)控制指令;根據(jù)EtherCAT總線應(yīng)用層協(xié)議實(shí)時(shí)采集伺服驅(qū)動(dòng)器狀態(tài)信息,并解析運(yùn)動(dòng)控制模型生成控制命令實(shí)時(shí)傳輸給伺服驅(qū)動(dòng)器。所述伺服驅(qū)動(dòng)器狀態(tài)信息優(yōu)選根據(jù)CIA402應(yīng)用層協(xié)議封裝,包括狀態(tài)字、實(shí)時(shí)速度信息、實(shí)時(shí)扭矩信息、實(shí)時(shí)末端位置信息、當(dāng)前運(yùn)動(dòng)控制模式。所述運(yùn)動(dòng)控制指令優(yōu)選根據(jù)CIA402應(yīng)用層協(xié)議封裝,包括指令字、速度信息、扭矩信息、末端位置信息、運(yùn)動(dòng)控制模式。所述認(rèn)知線程優(yōu)選用于解析控制器配置信息,監(jiān)控系統(tǒng)主狀態(tài)機(jī),檢查系統(tǒng)庫更新以及想主進(jìn)程發(fā)送變更請(qǐng)求的輔助控制線程。所述認(rèn)知線程發(fā)送變更請(qǐng)求優(yōu)選包括:當(dāng)認(rèn)知線程在監(jiān)控控制器主狀態(tài)機(jī)和運(yùn)行庫時(shí)發(fā)現(xiàn)主狀態(tài)機(jī)或運(yùn)行庫有新版本,或者,當(dāng)基于歷史數(shù)據(jù)的認(rèn)知學(xué)習(xí)發(fā)現(xiàn)有更優(yōu)化參數(shù)產(chǎn)生時(shí),由認(rèn)知線程向主進(jìn)程發(fā)送變更請(qǐng)求,主進(jìn)程調(diào)用系統(tǒng)更新服務(wù)。本發(fā)明產(chǎn)生的有益效果包括:1.采用支持認(rèn)知的運(yùn)動(dòng)控制器進(jìn)行運(yùn)動(dòng)控制,適用于運(yùn)動(dòng)控制研究階段、調(diào)試階段以及后期維護(hù)階段,覆蓋整個(gè)運(yùn)動(dòng)控制產(chǎn)品的生命周期,使運(yùn)動(dòng)控制器能夠最大限度的適配不同被控對(duì)象,大大的降低了維護(hù)成本,同時(shí)適應(yīng)于算法研究過程中對(duì)在線調(diào)試的要求,復(fù)用性強(qiáng)。2.本設(shè)計(jì)通過監(jiān)聽線程的方式實(shí)現(xiàn)了運(yùn)動(dòng)功能模塊的在線更新,使得運(yùn)動(dòng)控制器能夠最大限度的應(yīng)用于復(fù)雜運(yùn)動(dòng)控制場景,同時(shí)依托EtherCAT總線接口實(shí)現(xiàn)實(shí)時(shí)控制,網(wǎng)絡(luò)結(jié)構(gòu)非常靈活。3.能夠真正實(shí)現(xiàn)運(yùn)動(dòng)控制應(yīng)用層接口的統(tǒng)一化。運(yùn)動(dòng)控制器內(nèi)置EtherCAT通信協(xié)議,并通過CANopen應(yīng)用層協(xié)議將伺服驅(qū)動(dòng)器狀態(tài)參數(shù)和控制命令實(shí)時(shí)進(jìn)行通信,并且能夠保障同步周期在100微秒以內(nèi),實(shí)現(xiàn)快速有效的運(yùn)動(dòng)控制解決方案。附圖說明圖1為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制方法工作原理圖;圖3為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng)工作狀態(tài)機(jī)示意圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明,但本發(fā)明并不局限于這些實(shí)施例。本發(fā)明支持認(rèn)知的運(yùn)動(dòng)控制方法,適用于各種運(yùn)動(dòng)控制應(yīng)用場景,尤其適用于對(duì)認(rèn)知學(xué)習(xí)有要求的控制領(lǐng)域。EtherCAT(以太網(wǎng)控制自動(dòng)化技術(shù))是一個(gè)以以太網(wǎng)為基礎(chǔ)的開放架構(gòu)的現(xiàn)場總線系統(tǒng),EtherCAT名稱中的CAT為ControlAutomationTechnology(控制自動(dòng)化技術(shù))首字母的縮寫。最初由德國倍福自動(dòng)化有限公司(BeckhoffAutomationGmbH)研發(fā)。EtherCAT為系統(tǒng)的實(shí)時(shí)性能和拓?fù)涞撵`活性樹立了新的標(biāo)準(zhǔn),同時(shí),它還符合甚至降低了現(xiàn)場總線的使用成本。EtherCAT的特點(diǎn)還包括高精度設(shè)備同步,可選線纜冗余,和功能性安全協(xié)議(SIL3)。EtherCAT協(xié)議針對(duì)過程數(shù)據(jù)進(jìn)行了優(yōu)化,它被直接傳送到以太網(wǎng)幀,或被壓縮到UDP/IP數(shù)據(jù)報(bào)文中。UDP協(xié)議在其它子網(wǎng)中的EtherCAT網(wǎng)段由路由器進(jìn)行尋址的情況下使用。以太網(wǎng)幀可能包含若干個(gè)EtherCAT報(bào)文,每個(gè)報(bào)文專門用于特定存儲(chǔ)區(qū)域,該存儲(chǔ)區(qū)域可編制大小達(dá)4GB的邏輯過程鏡像。由于數(shù)據(jù)鏈獨(dú)立于EtherCAT端子物理順序,因此可以對(duì)EtherCAT端子進(jìn)行任意編址。從站之間可進(jìn)行廣播、多點(diǎn)傳送和通訊。EtherCAT協(xié)議還可處理通常為非循環(huán)的參數(shù)通訊。參數(shù)的結(jié)構(gòu)和含義通過CANopen設(shè)備行規(guī)進(jìn)行設(shè)定,這些設(shè)備行規(guī)用于多種設(shè)備類別和應(yīng)用。EtherCAT還支持符合IEC61491標(biāo)準(zhǔn)的從屬行規(guī)。該行規(guī)以SERCOS命名,被全球運(yùn)動(dòng)控制應(yīng)用領(lǐng)域普遍認(rèn)可。除了符合主站/從站原理的數(shù)據(jù)交換外,EtherCAT還非常適用于控制器之間(主站/主站)的通訊??勺杂删幹返倪^程數(shù)據(jù)網(wǎng)絡(luò)變量以及各種參數(shù)化、診斷、編程和遠(yuǎn)程控制服務(wù),可以滿足眾多要求。用于主站/從站和主站/主站通訊的數(shù)據(jù)接口是相同的。CANopen是一種架構(gòu)在控制局域網(wǎng)路(ControllerAreaNetwork,CAN)上的高層通信協(xié)協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場總線。CANopen實(shí)現(xiàn)了OSI模型中的網(wǎng)絡(luò)層以上(包括網(wǎng)絡(luò)層)的協(xié)定。CANopen標(biāo)準(zhǔn)包括尋址方案、數(shù)個(gè)小的通訊子協(xié)定及由設(shè)備子協(xié)定所定義的應(yīng)用層。CANopen支援網(wǎng)絡(luò)管理、設(shè)備監(jiān)控及節(jié)點(diǎn)間的通訊,其中包括一個(gè)簡易的傳輸層,可處理資料的分段傳送及其組合。一般而言數(shù)據(jù)鏈結(jié)層及物理層會(huì)用CAN來實(shí)作。除了CANopen外,也有其他的通訊協(xié)定(如EtherCAT)實(shí)作CANopen的設(shè)備子協(xié)定。CANopen由非營利組織CiA(CANinAutomaion)進(jìn)行標(biāo)準(zhǔn)的起草及審核工作,基本的CANopen設(shè)備及通訊子協(xié)定定義在CANinAutomation(CiA)draftstandard301.中。針對(duì)個(gè)別設(shè)備的子協(xié)定以CiA301為基礎(chǔ)再進(jìn)行擴(kuò)充。如針對(duì)I/O模組的CiA401及針對(duì)運(yùn)動(dòng)控制的CiA402。在本發(fā)明的一實(shí)施例中,為實(shí)現(xiàn)本發(fā)明目的所采用的技術(shù)方案是:一種支持認(rèn)知的運(yùn)動(dòng)控制方法,包括以下步驟:主控單元執(zhí)行運(yùn)動(dòng)控制主進(jìn)程,并觸發(fā)EtherCAT總線通信線程和監(jiān)聽線程;通過EtherCAT總線通信線程,根據(jù)EtherCAT總線通信層協(xié)議檢查網(wǎng)絡(luò)結(jié)構(gòu)、初始化伺服驅(qū)動(dòng)器;通過監(jiān)聽線程對(duì)信號(hào)量進(jìn)行監(jiān)聽:當(dāng)監(jiān)聽到中斷信號(hào),則主控單元重置;當(dāng)監(jiān)聽到認(rèn)知線程發(fā)送的變更請(qǐng)求時(shí),進(jìn)行在線更新;同時(shí),通過運(yùn)動(dòng)控制主進(jìn)程解析上位機(jī)發(fā)來的運(yùn)動(dòng)控制任務(wù):根據(jù)運(yùn)動(dòng)控制任務(wù)確定伺服驅(qū)動(dòng)器狀態(tài)信息參數(shù)列表和運(yùn)動(dòng)控制指令;根據(jù)EtherCAT總線應(yīng)用層協(xié)議實(shí)時(shí)采集伺服驅(qū)動(dòng)器狀態(tài)信息,并解析運(yùn)動(dòng)控制模型生成控制命令實(shí)時(shí)傳輸給伺服驅(qū)動(dòng)器。所述伺服驅(qū)動(dòng)器狀態(tài)信息根據(jù)CIA402應(yīng)用層協(xié)議封裝,包括狀態(tài)字、實(shí)時(shí)速度信息、實(shí)時(shí)扭矩信息、實(shí)時(shí)末端位置信息、當(dāng)前運(yùn)動(dòng)控制模式。所述運(yùn)動(dòng)控制指令根據(jù)CIA402應(yīng)用層協(xié)議封裝,包括指令字、速度信息、扭矩信息、末端位置信息、運(yùn)動(dòng)控制模式。所述認(rèn)知線程是用于解析控制器配置信息,監(jiān)控系統(tǒng)主狀態(tài)機(jī),檢查系統(tǒng)庫更新以及想主進(jìn)程發(fā)送變更請(qǐng)求的輔助控制線程。所述認(rèn)知線程發(fā)送變更請(qǐng)求是指當(dāng)認(rèn)知線程在監(jiān)控控制器主狀態(tài)機(jī)和運(yùn)行庫時(shí)發(fā)現(xiàn)主狀態(tài)機(jī)或運(yùn)行庫有新版本,當(dāng)基于歷史數(shù)據(jù)的認(rèn)知學(xué)習(xí)發(fā)現(xiàn)有更優(yōu)化參數(shù)產(chǎn)生時(shí),由認(rèn)知線程向主進(jìn)程發(fā)送變更請(qǐng)求,主進(jìn)程調(diào)用系統(tǒng)更新服務(wù)。所述主進(jìn)程調(diào)用系統(tǒng)更新服務(wù),將運(yùn)動(dòng)控制模塊更新文件替換當(dāng)前運(yùn)動(dòng)控制模塊中的待更新部分的目標(biāo)代碼文件,重新連接生成可調(diào)用的運(yùn)動(dòng)控制模塊包括以下步驟:當(dāng)更新內(nèi)容為主狀態(tài)機(jī)時(shí),系統(tǒng)更新服務(wù)將停止當(dāng)前所有服務(wù),重新啟動(dòng)主進(jìn)程已完成主狀態(tài)機(jī)更新;當(dāng)更新內(nèi)容為運(yùn)行庫時(shí),系統(tǒng)更新服務(wù)將停止當(dāng)前運(yùn)行庫更新部分相關(guān)服務(wù),并將系統(tǒng)重新鏈接至新版本庫文件,即可完成在線更新;當(dāng)更新內(nèi)容為優(yōu)化參數(shù)時(shí),系統(tǒng)更新服務(wù)首先檢索優(yōu)化參數(shù)名稱,查找運(yùn)動(dòng)控制模塊在內(nèi)存中的起始地址及偏移量;然后根據(jù)起始地址及偏移量調(diào)用內(nèi)存訪問接口,將運(yùn)動(dòng)控制模塊更新文件寫入當(dāng)前內(nèi)存;最后通過運(yùn)動(dòng)控制模塊原有連接方法,實(shí)現(xiàn)運(yùn)動(dòng)控制功能模塊的更新,并向主進(jìn)程發(fā)送更新完成信號(hào)。下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。在本發(fā)明的另一實(shí)施例中,如圖1所示,為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖。圖中,本發(fā)明的運(yùn)動(dòng)控制器硬件裝置主要包括以太網(wǎng)接口單元、以太網(wǎng)控制單元、SRAM存儲(chǔ)單元、主控單元、控制按鍵和指示燈單元和供電單元。數(shù)據(jù)處理單元中主控單元與以太網(wǎng)控制單元、SRAM存儲(chǔ)單元、通信接口轉(zhuǎn)換模塊、控制按鍵、指示燈單元、供電單元呈星形連接;所述供電單元為數(shù)據(jù)處理單元中其他所有單元供電。所述主控單元由TI公司生產(chǎn)的AM335x系列Cortex-A8處理器及其外圍電路組成;所述SRAM存儲(chǔ)器單元由ISSI公司生產(chǎn)的IS61WV102416BLL芯片及其外圍電路組成;所述以太網(wǎng)控制單元由TI公司生產(chǎn)的DP83848CVV芯片及其外圍電路組成;所述指示燈單元由貼片LED組成;所述供電單元由金升陽公司生產(chǎn)的降壓開關(guān)電源模塊及其外圍保護(hù)、濾波、穩(wěn)壓電路組成。在降壓開關(guān)電源模塊的輸入端連接有防浪涌電路,使本網(wǎng)關(guān)具有抗雷擊和沖擊的性能;降壓開關(guān)電源模塊將輸入的220V交流電壓變?yōu)?V直流電壓,由于上述各單元工作電壓都為3.3V,因此采用AS1117線性穩(wěn)壓器將電壓降為3.3V,在降壓開關(guān)電源模塊和線性穩(wěn)壓器的輸出端都設(shè)計(jì)了濾波電路。本發(fā)明的運(yùn)動(dòng)應(yīng)用程序主要包括運(yùn)動(dòng)控制功能庫、控制主進(jìn)程、EtherCAT總線通信線程和程序監(jiān)聽線程組成。所述的運(yùn)動(dòng)控制功能庫,是根據(jù)被控對(duì)象的控制模型建立的控制算法庫;所述的控制主進(jìn)程,是控制被控對(duì)象執(zhí)行運(yùn)動(dòng)指令的應(yīng)用程序主邏輯進(jìn)程。所述的EtherCAT總線通信線程,是控制器和伺服驅(qū)動(dòng)器之間的總線通信,包括狀態(tài)采集和指令傳輸。所述的程序監(jiān)聽線程,是處理運(yùn)動(dòng)控制器的請(qǐng)求響應(yīng),其中包括基于網(wǎng)絡(luò)的更新請(qǐng)求和基于硬件按鍵的中斷請(qǐng)求。在本發(fā)明的再一實(shí)施例中,如圖2所示,為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制方法工作原理圖。本發(fā)明支持認(rèn)知的運(yùn)動(dòng)控制器,其執(zhí)行過程包含以下步驟:步驟S1:上電,初始化運(yùn)動(dòng)控制器;步驟S2:執(zhí)行運(yùn)動(dòng)控制主程序,同時(shí)觸發(fā)執(zhí)行監(jiān)聽線程和EtherCAT總線通信線程;步驟S3:通過EtherCAT總線協(xié)議,檢查網(wǎng)絡(luò)結(jié)構(gòu),初始化伺服驅(qū)動(dòng)器,實(shí)時(shí)采集伺服驅(qū)動(dòng)器狀態(tài)信息;步驟S4:讀取伺服驅(qū)動(dòng)器狀態(tài)參數(shù)和運(yùn)動(dòng)控制指令解析運(yùn)動(dòng)控制模型,生成運(yùn)動(dòng)控制指令,若運(yùn)動(dòng)控制指令為空,則等待;步驟S5:實(shí)時(shí)傳輸運(yùn)動(dòng)控制指令,重復(fù)步驟S3;步驟S6:若觸發(fā)硬件中斷觸發(fā),則執(zhí)行步驟S1;若觸發(fā)網(wǎng)絡(luò)更新請(qǐng)求,則執(zhí)行程序下載,完畢后執(zhí)行步驟S1。下面就本發(fā)明的運(yùn)動(dòng)控制應(yīng)用程序部分具體實(shí)施方式做進(jìn)一步詳細(xì)說明。本實(shí)施例中要求確保運(yùn)動(dòng)控制器與伺服驅(qū)動(dòng)器之間保持穩(wěn)定連接。在本發(fā)明下一實(shí)施例中,如圖3所示,為本發(fā)明實(shí)施例所述支持認(rèn)知的運(yùn)動(dòng)控制系統(tǒng)工作狀態(tài)機(jī)示意圖。將運(yùn)動(dòng)控制器接通24v直流電,啟動(dòng)控制器,通過運(yùn)動(dòng)控制主進(jìn)程初始化運(yùn)動(dòng)控制器,同時(shí)觸發(fā)監(jiān)聽線程和EtherCAT通信線程。當(dāng)應(yīng)用任務(wù)存在時(shí),控制器狀態(tài)切換為執(zhí)行狀態(tài),根據(jù)伺服驅(qū)動(dòng)器狀態(tài)參數(shù)和運(yùn)動(dòng)控制模型解算運(yùn)動(dòng)控制,生成運(yùn)動(dòng)控制指令,并通過EtherCAT總線協(xié)議進(jìn)行傳輸,待指令下發(fā)后運(yùn)動(dòng)控制器狀態(tài)切換至停止?fàn)顟B(tài)。當(dāng)應(yīng)用任務(wù)不存在時(shí),控制器狀態(tài)直接切換為停止?fàn)顟B(tài)。當(dāng)運(yùn)動(dòng)控制器初始化失敗則運(yùn)動(dòng)控制器本周期內(nèi)狀態(tài)為錯(cuò)誤狀態(tài)。當(dāng)在執(zhí)行狀態(tài)時(shí),運(yùn)動(dòng)控制器出現(xiàn)非嚴(yán)重錯(cuò)誤則從新執(zhí)行,若出現(xiàn)嚴(yán)重錯(cuò)誤則運(yùn)動(dòng)控制器狀態(tài)切換至停止?fàn)顟B(tài)。其中所述的運(yùn)動(dòng)控制器監(jiān)聽線程和EtherCAT通信線程只執(zhí)行一次,而運(yùn)動(dòng)控制器任務(wù)狀態(tài)切換是在運(yùn)動(dòng)控制器主程序中周期性執(zhí)行。當(dāng)運(yùn)動(dòng)控制器監(jiān)聽線程接收到中斷信號(hào)量時(shí),運(yùn)動(dòng)控制器中斷當(dāng)前執(zhí)行任務(wù),關(guān)閉監(jiān)聽線程和EtherCAT總線通信線程。若中斷信號(hào)量為Reset信號(hào)時(shí),重新執(zhí)行運(yùn)動(dòng)控制器主進(jìn)程初始化;若中斷信號(hào)量為Close信號(hào)時(shí),關(guān)閉運(yùn)動(dòng)控制器主進(jìn)程。當(dāng)運(yùn)動(dòng)控制器監(jiān)聽線程接收到由上位機(jī)發(fā)送的運(yùn)動(dòng)控制模塊更新信號(hào)SIGEV_INTR時(shí),主進(jìn)程向任務(wù)線程發(fā)送SIGEV_SIGNAL,停止當(dāng)前運(yùn)動(dòng)控制任務(wù),并將通過EtherCAT總線將伺服驅(qū)動(dòng)器運(yùn)動(dòng)狀態(tài)切換至停止?fàn)顟B(tài),同時(shí)開始接收上位機(jī)發(fā)來的運(yùn)動(dòng)控制模塊更新文件,待接收完成后上位機(jī)向主控單元發(fā)送接收完成信號(hào)SIGEV_DOWN。主進(jìn)程調(diào)用主控單元內(nèi)嵌操作系統(tǒng)更新服務(wù),替換當(dāng)前運(yùn)動(dòng)控制模塊中的待更新部分的目標(biāo)代碼文件,重新連接生成可調(diào)用的運(yùn)動(dòng)控制模塊,向主進(jìn)程發(fā)送SIGEV_NONE,重新初始化主控單元。所述的系統(tǒng)更新服務(wù),是基于共享內(nèi)存的技術(shù)實(shí)現(xiàn)的用于對(duì)運(yùn)動(dòng)控制功能塊在線更新的服務(wù),該服務(wù)將注冊在主控單元內(nèi)嵌系統(tǒng)的服務(wù)掛載目錄內(nèi),隨設(shè)備上電初始化啟動(dòng)。所述的更新服務(wù)具體執(zhí)行過程,包括如下步驟:步驟S1:解析認(rèn)知線程更新請(qǐng)求,獲取更新目標(biāo)來源。步驟S2:若判斷目標(biāo)來源為主狀態(tài)機(jī),系統(tǒng)更新服務(wù)將停止當(dāng)前所有服務(wù),重新啟動(dòng)主進(jìn)程已完成主狀態(tài)機(jī)更新;步驟S3:若判斷更新內(nèi)容為運(yùn)行庫,系統(tǒng)更新服務(wù)將停止當(dāng)前運(yùn)行庫更新部分相關(guān)服務(wù),并將系統(tǒng)重新鏈接至新版本庫文件,即可完成在線更新;步驟S4:若判斷更新內(nèi)容為優(yōu)化參數(shù),系統(tǒng)更新服務(wù)首先檢索優(yōu)化參數(shù)名稱查找運(yùn)動(dòng)控制模塊在內(nèi)存中的起始地址及偏移量,然后根據(jù)起始地址及偏移量調(diào)用內(nèi)存訪問接口將運(yùn)動(dòng)控制模塊更新文件寫入當(dāng)前內(nèi)存;步驟S5:最后通過運(yùn)動(dòng)控制模塊原有連接方法實(shí)現(xiàn)運(yùn)動(dòng)控制功能模塊的更新,并向主進(jìn)程發(fā)送更新完成信號(hào)。當(dāng)運(yùn)動(dòng)控制器EtherCAT通信線程觸發(fā)時(shí),則運(yùn)動(dòng)控制器將通過EtherCAT總線和伺服驅(qū)動(dòng)器進(jìn)行通信。將狀態(tài)信息和控制指令按照CIA402應(yīng)用層協(xié)議進(jìn)行封裝,實(shí)現(xiàn)運(yùn)動(dòng)控制的接口格式的一致性,且保證運(yùn)動(dòng)控制器的通用性。所述的CIA402應(yīng)用層協(xié)議是CANopen針對(duì)運(yùn)動(dòng)控制領(lǐng)域規(guī)定的通信標(biāo)準(zhǔn),在EtherCAT通信過程中按照CIA402協(xié)議定義數(shù)據(jù)字典,如表1所示,運(yùn)動(dòng)指令定義包括控制字?jǐn)?shù)據(jù)對(duì)象、運(yùn)行模式定義和運(yùn)行指令定義等;如表2所示,運(yùn)動(dòng)反饋定義包括狀態(tài)字?jǐn)?shù)據(jù)對(duì)象、運(yùn)動(dòng)模式數(shù)據(jù)定義以及運(yùn)動(dòng)狀態(tài)定義。表1運(yùn)動(dòng)指令定義表索引號(hào)類型定義0x607A:004字節(jié)位置指令值0x60FF:004字節(jié)速度指令值0x6071:002字節(jié)扭矩指令值0x6060:001字節(jié)運(yùn)行模式0x6040:002字節(jié)控制字表2運(yùn)動(dòng)反饋定義表索引號(hào)類型定義0x6064:004字節(jié)實(shí)際位置0x6077:002字節(jié)實(shí)際扭矩0x606C:004字節(jié)實(shí)際速度0x60F4:004字節(jié)跟隨誤差0x6061:001字節(jié)實(shí)際運(yùn)行狀態(tài)0x6041:002字節(jié)狀態(tài)字本發(fā)明具有良好的交互性與通用性,使用支持認(rèn)知的高速運(yùn)動(dòng)控制器,能夠大幅度的縮短運(yùn)動(dòng)控制功能研發(fā)周期,降低控制器研制成本。同時(shí)通用的高速EtherCAT通信接口能夠讓本發(fā)明運(yùn)動(dòng)控制器適應(yīng)于各種運(yùn)動(dòng)控制場景。以上所述,僅是本發(fā)明的幾個(gè)實(shí)施例,并非對(duì)本發(fā)明做任何形式的限制,雖然本發(fā)明以較佳實(shí)施例揭示如上,然而并非用以限制本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案的范圍內(nèi),利用上述揭示的技術(shù)內(nèi)容做出些許的變動(dòng)或修飾均等同于等效實(shí)施案例,均屬于技術(shù)方案范圍內(nèi)。當(dāng)前第1頁1 2 3