和利時(shí)運(yùn)動(dòng)控制器mc1000系列用戶手冊(cè)_第1頁(yè)
和利時(shí)運(yùn)動(dòng)控制器mc1000系列用戶手冊(cè)_第2頁(yè)
和利時(shí)運(yùn)動(dòng)控制器mc1000系列用戶手冊(cè)_第3頁(yè)
和利時(shí)運(yùn)動(dòng)控制器mc1000系列用戶手冊(cè)_第4頁(yè)
和利時(shí)運(yùn)動(dòng)控制器mc1000系列用戶手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩218頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本手冊(cè)商業(yè)用戶閱讀,在未得到和利時(shí)機(jī)器控制技術(shù)的情況下,無(wú)論出于何種目的和原因,不得以(包括電子、機(jī)械或其它形式)或本手冊(cè)的任何和利時(shí)機(jī)器控制技術(shù)

目概 產(chǎn)品概 系列型 產(chǎn)品配 技術(shù)指 模塊外 接口說(shuō) 安裝與接 模塊安 導(dǎo)軌安 支架安 產(chǎn)品尺 電纜安 模擬量輸 模擬量輸 驅(qū)動(dòng)器接 組態(tài)與編 安裝環(huán) 安裝步 卸載軟 創(chuàng)建工 硬件配 編寫程 編譯調(diào) 參考文 產(chǎn)品功 系統(tǒng)狀 資 內(nèi)存區(qū)分 SD 多任務(wù)調(diào) 硬實(shí)時(shí)任 用戶任 文件操 文件讀 文件掃 文件遍 實(shí)時(shí)時(shí) 以太網(wǎng)連 運(yùn)動(dòng)控制功能說(shuō) 配置 軸概 軸參數(shù)說(shuō) 軸配置操 軸狀態(tài)說(shuō) 軸狀態(tài)查 運(yùn)動(dòng)緩 概 基本功 高級(jí)功 示波器功 指令 基本指令 軸參 軸參數(shù) 運(yùn)動(dòng)指令 系統(tǒng)指令 設(shè)置 獲取 通訊與互 普通連 串口通 以太網(wǎng)通 CAN通 HLink連 概 PC性能要 功能說(shuō) 產(chǎn)品升 SD卡升 技術(shù)規(guī) 電磁兼容 附錄 安裝及尺寸 附錄 附錄 伺服連接示意 附錄 附錄 附錄 附錄 附錄 附錄 附錄 附錄 附錄 MC系列運(yùn)動(dòng)控制器是和利時(shí)推出的新款運(yùn)動(dòng)控制器,具有功能強(qiáng)大、接口周全、算法豐富易MC系列運(yùn)動(dòng)控制器是于運(yùn)動(dòng)控制的可編程控制器,一般用作單臺(tái)復(fù)雜運(yùn)動(dòng)機(jī)械設(shè)備的控制。運(yùn)動(dòng)控制器除了帶有常規(guī)可編程控制器具有的輸入輸出端口和邏輯控制功能外,還特別增24路數(shù)字量輸入、16路數(shù)字量輸出、4路模擬量輸入、8路模擬廠家各種通信互聯(lián)的要求。一臺(tái)典型的MC運(yùn)動(dòng)控制器與周邊外設(shè)器件的連接關(guān)系如圖1-1所示。132第

1-1MC1004MC1002E1-1MCMicro-SDUSBto11111111-1-12-1111路路路路422842111由CPU部分供IO2-1雙核Cortex-雙精度(64位區(qū)DDR3MicroSD支持(MC相關(guān)庫(kù)CPU日/時(shí)/分/秒時(shí)間格式,精度±60秒/月8電氣8數(shù)字IO24路(12路快速,12路慢速ON電氣不16路(8路快速,8路慢速5us)慢速:1kHz(ON響應(yīng)時(shí)間:10us,OFF響5us)不無(wú)-1%0.1%12無(wú)電氣--0.1%12<1.5ms(3無(wú)不21,線1250k,500k,1M1IEEE標(biāo)準(zhǔn)-10故障無(wú)2-1MC10082-2MC1008182934567溫度、當(dāng)前狀態(tài)、IP地址、IO狀態(tài)等。顯示內(nèi)容如圖2-2所示(示例。2-2MC1008顯示屏內(nèi)容(示例2-3MC100812345678如果顯示CPU內(nèi)核溫度超過(guò)了100℃,請(qǐng)檢查工作環(huán)境溫度;讓控制器長(zhǎng)時(shí)間高溫按下復(fù)位按鈕將導(dǎo)致MC1008模塊復(fù)位,釋放則重新啟動(dòng)。撥動(dòng)開關(guān)在系統(tǒng)啟動(dòng)后起作用:當(dāng)撥于RUN位置時(shí),系統(tǒng)啟動(dòng)后將自動(dòng)裝載并運(yùn)行區(qū)中的用戶工程;當(dāng)撥于STOP位置時(shí),則不會(huì)自動(dòng)裝載和運(yùn)行。以太網(wǎng)接口采用標(biāo)準(zhǔn)RJ45通(COM2號(hào)定義列于表2-4中。表2-4通口第1組1234-543256-987789-和RS485接口(COM3和COM4),各引腳信號(hào)定義列于表2-5中。 1地2345678 9 3或COM4時(shí),都需要將第5引腳(CGND)連接至另一側(cè)設(shè)備的通信接口和慢速DI/DO接口,以下分別說(shuō)明。2-61組(左側(cè)雙排端子座 622 1234………………地2-72組(右側(cè)雙排端子座 622 1234………………地?cái)?shù)字,也對(duì)應(yīng)AutoThink組態(tài)軟件中I區(qū)的%IX2.7~%IX1.4(AutoThink手冊(cè)。進(jìn)制數(shù)字,也對(duì)應(yīng)AutoThink組態(tài)軟件中Q區(qū)的%QX1.7~%QX1.0(AutoThink手冊(cè)。2-3,2-812345678+5V92-912345678+5V+5V+5V9表2-10絕對(duì)值編引12345678+5V90~10V 1234567892-122組(雙排端子座 123456789的%IW8~%IW14(參見AutoThink軟件手冊(cè)。的%QW8~%QW22(參見AutoThink軟件手冊(cè)。2-13 1地23OFFMCMC1008被設(shè)計(jì)成通過(guò)自然對(duì)流冷卻。為保證適當(dāng)冷卻及出線,在設(shè)備上方和下方必須留出65mm65mm

3-13-23-33-4使用四個(gè)M4*10十字槽盤頭組合螺釘(GB/T9074.4-1988)MC1008上面兩個(gè)螺釘擰上(注意不要擰緊,MC1008通過(guò)葫蘆孔懸掛到兩個(gè)安裝釘上,再把下面兩個(gè)安裝3-53-616~28/1.31~0.08mm2,剝線長(zhǎng)度8mm。安裝示意圖如圖3-8所示:3-7

3-8為‘015V時(shí)判斷為‘13-9所示。3-9道內(nèi)部共地。建議接線方式如圖3-10、圖3-11所示。

RRLOADLOAD3-11數(shù)字量輸出接線示意圖(3-12

3-13線示意圖如圖3-14所示。 3-14伺服使能接口可以通過(guò)AutoThink軟件上的按鈕控制,也可以通過(guò)調(diào)用運(yùn)動(dòng)控制算法庫(kù)中的HMC_DriveEnable函數(shù)來(lái)控制(參見7.3.1.1節(jié)。MC控制器上提供多路直連式驅(qū)動(dòng)器接口,可以根據(jù)軸類型配置連接伺服驅(qū)動(dòng)器或者步進(jìn)驅(qū)動(dòng)Axis0~Axis7AABZ3-15MCAutoThink軟件作為組態(tài)工具。AutoThink軟件是和利時(shí)公司依照4-4-1USB1個(gè)USB2.0InPentium2.4GHz以512MB10GBWindowsXPProfessionalSP3、Windows7Professional32bitMSExcel 選

4-1如圖4-2所示:

圖4-2協(xié)c:\AutoThink,可以修改到其單擊“下一步N)”,如圖4-3所示。

4-3“下一步(N)”,如圖4-4所示:.

4-4后鼠標(biāo)左鍵單擊“下一步N)”,如圖4-5所示: 準(zhǔn)備安

4-5確認(rèn)后單擊“安裝”按鈕,開始軟件安裝,如圖4-6所示。 安裝過(guò)

4-64-7

4-74-8 4-94-10 文件夾..\AutoThink后,方可重新安先需要卸載較低版本的AutoThink軟件??捎猛ㄟ^(guò)控制面板執(zhí)行刪除操作,也可以通過(guò)啟動(dòng)卸載程序卸載AutoThink軟件。 加/刪除程序,如圖1.2.1所示。4-114-12添加/第11AutoThink1.2.34-134-141.2.5所示。

4-154-16 創(chuàng)建新工

4-17單擊“文件”菜單中的“新建”命令,或者單擊上的“新建”按鈕,都將彈出“新建”框,新建時(shí)可選擇目標(biāo)平臺(tái),如圖4-18所示。圖4-18“新建”框-工Emplpro 為”框圖4-19所示,缺省保存到與工程名同名的文件夾下,單擊“保存”按鈕。圖4-19“另存為” 初步編

4-20MC4-21過(guò)“窗口”菜單加載設(shè)備庫(kù),然后從設(shè)備庫(kù)中選擇CPU4-22 創(chuàng)建任

圖4-22添加CPU4-234-24定”按鈕,生成程序如圖4-25所示:4-254-26所示:4-264-27“確定”按鈕,生成程序如圖4-28所示: 添加調(diào)用

4-28打開主程序Main(1),鼠標(biāo)左鍵單擊節(jié),呈選中狀態(tài)。這時(shí),選中工程樹中的程序塊節(jié)點(diǎn)下的“TEST”,拖動(dòng)到節(jié)點(diǎn)上,添加程序調(diào)用,如圖4-29所示:

4-294-30 按鈕,在打開的“類型管理器”選擇“類型”為REAL,關(guān)閉類型管理器,單擊“變量”4-31 工程編

4-324-33區(qū)域(模塊參數(shù)信息、通道參數(shù)信息、通訊參數(shù)信息這3個(gè)頁(yè)該參數(shù)信息區(qū)域各頁(yè)內(nèi)資源到編輯窗口中,如圖4-34所示:圖4-34添加CPU

4-35LD計(jì)數(shù),編寫ST程序如圖4-36所示。

4-36ST4-37CFCCPUCPU模4-384-39b)所示,這表明程序有部分錯(cuò)誤,并用紅色字顯示錯(cuò)4-39圖4-40菜圖4-41通訊設(shè)置-TCP/IP設(shè)置器IP地址在同一網(wǎng)段中,但不允許相同,如192.168.0.X;選中“”菜單中的“下裝”命令,將程序塊從工程站下裝到控制站的CPU模塊中,彈出如圖4-42下裝提示信息窗口:4-424-43

5-1上電或復(fù)位啟動(dòng)后,MCSD卡上是否有固件升級(jí)包,如果有則執(zhí)行自動(dòng)升級(jí)過(guò)程(參見第9章;于RUN狀態(tài),否則處于IDLE狀態(tài);用戶工程啟動(dòng)后,也可以受AutoThink軟件控制,下裝新的用戶工程后,MC控制器大容量為1MB;運(yùn)行時(shí)各數(shù)據(jù)區(qū)容量如表5-1所示:5-1DATA大小0M1I2O3N4SSD 5-2任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù) 155-3:5-2AutoThink周期234用戶任務(wù)。那么第一個(gè)1ms的時(shí)間內(nèi),各用戶任務(wù)執(zhí)行順序?yàn)椋河灿灿矊?shí)T1T1T2T2T2T3T3T3T3T1T1T2 硬硬硬實(shí)T2T2T3T3T3T3T1T1T2T2T2T3 這些用戶任務(wù),直到下一50ms周期這些用戶任務(wù)才有機(jī)會(huì)被重新調(diào)度。間片的T1還調(diào)度嗎?硬硬硬T1T2T2T2T3T3T3T3T2T2T2T3 5-4行控制,對(duì)單個(gè)任務(wù)進(jìn)行啟動(dòng)、暫停、停止操作,AutoThink操作界面如圖5-5所示;5-55-6IFIF=1TaskStartRet:=ELSEIF=1TaskStopRet:=ELSEIF=1TaskSuspendRet:=5-7IEC務(wù)完成寫操作后,設(shè)置資源可讀標(biāo)識(shí)。讀資源的任務(wù)判斷可讀后在進(jìn)行讀操作,防止MC控制器通過(guò)系統(tǒng)指令庫(kù)中的函數(shù)提供了一系列的文件操作指令,支持對(duì)以下兩個(gè) “/media/flash”,此掛載用戶Flash“/media/sd/”,此SD32GB。除此之外的其它均不支持。SD卡采用FAT32文件系統(tǒng),F(xiàn)lashJFFS2FlashSD卡上進(jìn)行文件5-3123456 后再讀出剛寫入的數(shù)據(jù),并比較是否正確(ST語(yǔ)言: ,第10步使能EnWrite開關(guān),開始寫文件,可通過(guò)Wri en變量來(lái)查看實(shí)際寫成功的字節(jié)數(shù);第12步使能EnRead開關(guān),文件,讀出的數(shù)據(jù)在ReadDataArr數(shù)組中,ReadLen第13ReadDataArr500字節(jié)的數(shù)據(jù)是否與WriteDataArr500字第14EnClose5-41-02-3-04-45-FileOpen返回的文件ID-6-07-08--9---0----OFUSINT-0----OFUSINT-向據(jù)0-0-0i-0-0--(*設(shè)置文件名:/media/flash/001.txt*)IFEnSetNameTHENEnSetName0*47;(*/media47;(*/flash47;(*/00146;(*.txt0*結(jié)束符”/0(*打開文件*)IFEnOpenTHENEnOpen:0*pFileName:=Fd:=FileOpen(pFileName,FileOprAccess);ENDIF;(*IFEnWriteEnWrite0**)pWriteBuf:=ADR(WriteDataArr);Wrien:=FileWrite(Fd,pWriteBuf,ExpectWrien);IFIFEnSeekEnSeek0(*FileOffset:=FileLseek(Fd,SeekOffset,SeekMode);(*IFEnReadEnRead0(* 緩存FORi:=0TOExpectReadLenBY1DOReadDataArr[i]:=0;pReadBuf:=ReadLen:=FileRead(Fd,pReadBuf,ExpectReadLen);IFEnCloseTHENEnClose0(*RetClose:=IF0=RetCloseTHENFd:=-1;ENDIF; 使能EnRemove開關(guān),刪除文件,RmRet為刪除操作的返回值,如果為0則表示刪除成功,-1表示失敗;5-51-02-3-04--(*設(shè)置文件名:/media/flash/001.txt*)IFEnSetNameTHENEnSetName0*47;(*/media47;(*/flash47;(*/001FileNameArr[14]FileNameArr[14]:=FileNameArr[15]:=49;FileNameArr[16]:=46;(*.txt*)FileNameArr[17]:=116;FileNameArr[18]:=FileNameArr[19]:=FileNameArr[200(*結(jié)束符”/0*)ENDIF;(*IFEnRemoveEnRemove0(*pFileName:=ADR(FileNameArr);RmRet:=FileRemove(pFileName);MC控制器提供了文件掃描的功能,可以掃描用戶指定 以下是掃描”/media 向”/media 名 使能EnScan開關(guān),開始掃描,掃描結(jié)果在FileNameArr數(shù)組中,F(xiàn)ileNum為實(shí)5-61- 02- OFUSINT3-04--5-組OFUSINT6-7-8-09-0i-0(*IF(*IFEnSetNameEnSetName0(*ScanPathArr[10]:=47;(*/media47;(*/flashScanPathArr[11]ScanPathArr[11]:=ScanPathArr[12]:=FileNameArr[130(*結(jié)束符”/0END(*IFEnScanEnScan0(*FORi:=0TO2048BY1FileNameArr[i]:=0;ENDFOR;pScanPath:=ADR(ScanPathArr);pFileScanResult:=ADR(FileNameArr);MC控制器提供了文件遍歷的功能,可以逐個(gè)查找用戶指定下的所有文件。具體的操作包條:FindFirstFile、FindNextFile和FindClose,詳細(xì)說(shuō)明參見7.4.3節(jié)。第1步AutoThink50msST語(yǔ)言,該任務(wù)的組態(tài)邏輯在 向”/media 名 使能EnFind開關(guān),開始遍歷并得到第一個(gè)文件名,遍歷結(jié)果在FileNameArr數(shù)組中,F(xiàn)d為FindFirstFile返回的遍歷句柄,如果為-1表示遍歷失?。?中,iFindRet為當(dāng)前遍歷的返回值,如果為-1表示遍歷失??; 再次使能EnFindNext開關(guān),繼續(xù)下一個(gè)文件的遍歷,直至iFindRet為-1; 遍歷完成后,使能EnClose開關(guān),關(guān)閉遍歷句柄,結(jié)束遍歷操作。5-71- 02- 3-04--5-6-07--8-09--- 0-0i-0(*(*IFEnSetNameEnSetName0(*ScanPathArr[0]:=47;(*/media*)ScanPathArr[1]:=109;ScanPathArr[2]:=ScanPathArr[3]:=ScanPathArr[4]:=ScanPathArr[5]:=ScanPathArr[6]:=47;(*/flash*)ScanPathArr[7]:=102;ScanPathArr[8]:=ScanPathArr[9]:=ScanPathArr[10]:=ScanPathArr[11]:=ScanPathArr[12]:=FileNameArr[130*結(jié)束符”/0*)ENDIF;IFEnFindEnFind0*(*對(duì)返回查詢結(jié)果的數(shù)組 FORi:=0TO64BY1DOFileNameArr[i]:=0;pScanPath:=ADR(ScanPathArr);Fd:=FindFirstFile(pScanPath,ENDIFEnFindNextEnFindNext0*FORi:=0TO64BY1FileNameArr[i]:=0;iFindRet:=FindNextFile(Fd,ENDIFEnCloseEnClose0(**)RetClose:=FindClose(Fd);IF0=RetCloseTHENiFindRet:=-1;Fd:=-1;5-8

5-8MC控制器還通過(guò)系統(tǒng)指令庫(kù)中的兩個(gè)功能塊Get_RTC和Set_RTC在程序中對(duì)實(shí)時(shí)時(shí)鐘保持的時(shí)間值進(jìn)行和設(shè)置操作(參見7.5節(jié),示例程序如下:圖5-9設(shè)置RTC5-獲取RTC來(lái)修改MC控制器IP地址,如圖5-10所示:圖5-10修改IP菜單項(xiàng)“/通訊設(shè)置”將待連接的控制器IP地址修改為新值才能連接MC控制器。器,執(zhí)行器在算法和控制方式上的支持。MC6-為位置開環(huán)模式(如步進(jìn)軸類型,圖6-2為位置閉環(huán)模式(如伺服軸類型,實(shí)現(xiàn)對(duì)軸不同模式6-1+解算速度=(+1/---+置=編6-21PID環(huán)就是電流環(huán)(也叫力矩環(huán),對(duì)應(yīng)上述力矩控制模式第2環(huán)是速度環(huán),速度設(shè)定是位置環(huán)的輸出;速度環(huán)的反饋是通過(guò)檢測(cè)電機(jī)編的信號(hào)值,都必須使用電流環(huán),電流環(huán)是控制的根本,在速度和位置控制的同時(shí)系統(tǒng)實(shí)際也在進(jìn)行電流(轉(zhuǎn)矩)第3環(huán)是位置環(huán),它是最外環(huán),可以在驅(qū)動(dòng)器和電機(jī)編間構(gòu)建也可以在外部控制器和電機(jī)編;設(shè)定值和來(lái)自編反饋的脈沖信號(hào)做差,即位置偏差,經(jīng)過(guò)PID調(diào)節(jié)得到位置環(huán)輸出。3個(gè)環(huán)的運(yùn)算,此時(shí)的系統(tǒng)運(yùn) 圖6-3位置開環(huán)控制框圖編 編 6-46-16-2速度/6-3ServoLoop參數(shù)需設(shè)置為0。的PID等參數(shù),對(duì)軸進(jìn)行閉環(huán)調(diào)節(jié)。6-46-5表6-6編和脈沖數(shù)據(jù)參AxisType的設(shè)定值和對(duì)應(yīng)的定義類型如下所示。虛軸編(AB相在AutoThink軟件中編寫以下程序: Axis0.HMC_SetAxisType(20; 6-56-6 a:= 軸對(duì)象的指令,叫做運(yùn)動(dòng)指令;其他指令是系統(tǒng)指令。AutoThink在運(yùn)行時(shí),自頂向下編譯執(zhí)行原程序中的每一條指令。當(dāng)執(zhí)行到一條系統(tǒng)指令時(shí),cpu即時(shí)執(zhí)行其對(duì)應(yīng)的邏輯運(yùn)算;當(dāng)執(zhí)行到一條運(yùn)動(dòng)指令時(shí),CPUFPGA硬件模塊,CPU自身繼續(xù)向下執(zhí)行下一條指令。FPGA的工6-7沒(méi)有運(yùn)動(dòng)指令,則MCmdType值為HMCMcIdle。

6-89條單軸運(yùn)動(dòng)指令、11條多軸運(yùn)動(dòng)指令、27條高級(jí)應(yīng)用指令、5條軸參數(shù)設(shè)定指令、10條狀態(tài)讀取指令,2條故障清除指令。軸0軸1軸2軸x軸0軸0軸1軸0軸1軸2軸x軸0軸0軸1軸1軸2軸2軸x軸x進(jìn)程進(jìn)程進(jìn)程進(jìn)程任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù)任務(wù) 運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存運(yùn)動(dòng)緩存6-9MC100864級(jí)軸緩存,該緩存是一種隊(duì)列機(jī)制,即運(yùn)動(dòng)指令先入先出機(jī)(FIFO考慮將此送料裁切機(jī)器進(jìn)行上電初始化,做裁刀尋找原點(diǎn)操作。如下圖所示,建立Home子程執(zhí)行HMC_Home回零函數(shù)??紤]此工況,裁刀一直在正向運(yùn)行,斷電時(shí)停留在正向某位置,若要返回原點(diǎn),裁刀回零行進(jìn)方向開始需為反向,故ucHomeMode原點(diǎn)回歸模式選擇”1”,即僅使用DI信號(hào)定位原點(diǎn),軸向后運(yùn)動(dòng),遇到DI上升沿停止,然后反向運(yùn)動(dòng),遇到DI下降沿認(rèn)為到達(dá)原點(diǎn)。DI信號(hào)ucDiChan本例中選擇0號(hào)通道作為回零信號(hào)輸入通道。指令處理返回值則在Axis0HomeReVal顯示。

6-10DriveEnableReValDriveEnableReVal:=HMC_DriveEnable(DriveEnable);(*Home*)IFAxis0HomeCmd=1THENAxis0Home();(*Axis0.CreepSpeedAxis0.CreepSpeed:=Axis0HomeReVal:=HMC_Home(0,1,2016-11裁刀伺服軸回零速度-做增量模式下的定長(zhǎng)位移,Axis1.MPos值則一直處于等量增加狀態(tài);裁刀伺服軸參數(shù)(*Move+MoveAbs(*Move+MoveAbs*)IFStartCmd=1Axis1MoveReVal:=HMC_Move(1,Axis1MoveFinish:=HMC Axis0MoveAbsReValHMC_MoveAbs(050);(*X50mm坐標(biāo)*)Axis0MoveAbsFinish:=HMC_WaitCmdFinish(Axis0MoveAbsReVal); Axis0MoveAbsReValHMC_MoveAbs(0 StartCmd:=tt 6-12程序中采用HMC_WaitCmdFinish010,即認(rèn)為軸處理完畢所有命令,隨即觸發(fā)另一根軸令,循環(huán)往復(fù);如返回值不為0,可能軸存在曲線用一段段線段去近,從而每一段線段就可以用直線插補(bǔ)了).首先假設(shè)在實(shí)際輪廓起始點(diǎn)處沿x方向走一小段(一個(gè)脈沖當(dāng)量),發(fā)現(xiàn)終點(diǎn)在實(shí)際輪廓的下方,則下一條線段沿y方向走一小段,此時(shí)如果線段終點(diǎn)還在實(shí)際輪廓下方,y方向走一小段,直到在實(shí)際輪廓上方以后,再向x方向走一成相同的曲線的這就是線性插補(bǔ).AA(R*0,R*1)B(R*cos18°,R*sin18°)E(-R*cos18°,11個(gè)矢量。需要通過(guò)運(yùn)算將外點(diǎn)和內(nèi)點(diǎn)坐標(biāo)數(shù)值賦值到相應(yīng)地址中。HMC_Move2D10個(gè)絕對(duì)位置點(diǎn)轉(zhuǎn)換為10個(gè)增量位置點(diǎn)。轉(zhuǎn)換結(jié)果如下:Y_Array[0]:=100;Y_Array[1]:=30.9;Y_Array[2]:=30.9;Y_Array[3]XArray[4]:=58.8;XArray[5]:=0;XArray[6]:=-58.8;XArray[7]:=-X_Array[8]X_Array[8]:=-95.1;X_Array[9]:=-22.5;X_Array[10]:=Y_Array[8]:=30.9;Y_Array[9]:=30.9;Y_Array[10]:=YArray[0]:=100;YArray[1]:=-69.1;YArray[2]:=0;YArray[3]:=-X_Array[4]:=22.5;X_Array[5]:=-58.5;X_Array[6]:=-58.8;X_Array[7]:=YArray[4]:=-69.1;YArray[5]:=42.7;YArray[6]:=-42.7;YArray[7]:=X_Array[8]:=-58.5;X_Array[9]:=72.6;X_Array[10]:=Y_Array[8]:=42.7;Y_Array[9]:=0;Y_Array[10]:=標(biāo)位置的地址,在AutoThink中點(diǎn)表為:6-13MainTaskX6-14MainTaskYX,Y軸各HMC_Move2D處理,將HMC_Move2D指令堆棧于X,Y軸各自的軸緩存中,按先后順序處理即可。XXArray[0]:=0;XArray[1]:=22.5;XArray[2]:=72.6;XArray[3]:=-X_Array[4]:=22.5;X_Array[5]:=-58.5;X_Array[6]:=-58.8;X_Array[7]:=YArray[4]:=-69.1;YArray[5]:=42.7;YArray[6]:=-42.7;Y_Array[7]:=69.1;X_Array[8]:=-58.5;X_Array[9]:=72.6;X_Array[10]:=Y_Array[8]:=42.7;Y_Array[9]:=0;Y_Array[10]:=IFLinearStartCmd=1FORindex:=0TO10BY1Axis10Move2DReVal:=HMCMove2D(10,0,1,XArray[index],YArray[index]);LinearStartCmd:=0;6-15 位置,此為行程的第一段。之后第二段行程從C點(diǎn)開始以(100,0)為圓心經(jīng)半圓軌跡返回A點(diǎn),至此完成半圓輪廓。具體軌跡如下圖所示。本例使用HMC_MoveCircle函數(shù),兩段行程各使用一個(gè)模式1,逆時(shí)針劃定圓弧。AA0B-C(*(*IFMoveCircleCmd=1Axis10MoveCircleReVal:=HMCMoveCircle(10,0,1,0,0,-200,0,-100);Axis10MoveCircleCmdFinish:=HMCAxis10MoveCircleReVal:=HMCMoveCircle(10,0,1,1,0,200,0,MoveCircleCmd:=0;6-16DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0*)X_UNIT:=HMC_SetUnits(0,1);AXIS0.SPEED:=AXIS0.ACCEL:=AXIS0.DECEL:=Y_TYPEHMC_SetAxisType(110(*axis1*)Y_UNIT:=HMC_SetUnits(1,1);AXIS1.SPEED:=AXIS1.ACCEL:=AXIS1.DECEL:=Z_TYPEHMC_SetAxisType(210(*axis2*)Z_UNIT:=HMC_SetUnits(2,1);AXIS2.SPEED:=AXIS2.ACCELAXIS2.ACCEL:=AXIS2.DECEL:=H_TYPEHMC_SetAxisType(30)(*axis3*)H_UNIT:=HMC_SetUnits(3,1);AXIS3.SPEED:=AXIS3.ACCEL:=AXIS3.DECEL:=(A_X,AY,A_Z,B(B_X,B_Y,B_ZucMode=0(A為終點(diǎn),B為中間某點(diǎn),運(yùn)動(dòng)一段圓弧,方向明確,如果O,B,A三點(diǎn)一線時(shí),按照直6-17DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0*)X_UNIT:=HMC_SetUnits(0,1);AXIS0.SPEED:=AXIS0.ACCEL:=AXIS0.DECELAXIS0.DECEL:=Y_TYPEHMC_SetAxisType(110)(*axis1*)Y_UNIT:=HMC_SetUnits(1,1);AXIS1.SPEED:=AXIS1.ACCEL:=AXIS1.DECEL:=Z_TYPEHMC_SetAxisType(210)(*axis2*)ZUNIT:=HMCSetUnits(2,1);AXIS2.SPEED:=AXIS2.ACCEL:=AXIS2.DECEL:=H_TYPEHMC_SetAxisType(30)(*axis3*)H_UNIT:=HMC_SetUnits(3,1);AXIS3.SPEED:=AXIS3.ACCEL:=AXIS3.DECEL:=(B_X,B_YB_ZZ點(diǎn),運(yùn)動(dòng)一段圓弧,O,B,A三點(diǎn)一線時(shí),按照直線處理)*)6-18舉例說(shuō)明:有兩個(gè)軸,axis0為主軸,axis11000個(gè)脈沖轉(zhuǎn)一圈,axis01axis122:1。DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0*)X_UNIT:=HMC_SetUnits(0,1000);(*主軸單位*)AXIS0.SPEED:=1000;AXIS0.ACCEL:=AXIS0.DECEL:=Y_TYPEHMC_SetAxisType(110(*axis1*)Y_UNIT:=HMC_SetUnits(1,1000);(*從軸單位*)AXIS1.SPEED:=1000;AXIS1.ACCEL:=AXIS1.DECEL:=X_RESULTHMC_Move(01)(*axis01*)Y_RESULT:=HMC_Gear(1,0,Ratio_N,Ratio_D);的加工目的。電子凸輪相對(duì)機(jī)械凸輪的優(yōu)勢(shì)在于:6-19DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(00)(*axis0XUNIT:=HMCSetUnits(0,1);AXIS0.SPEED:=10;AXIS0.ACCEL:=AXIS0.DECEL:=Y_TYPEHMC_SetAxisType(10)(*axis1YUNIT:=HMCSetUnits(1,1);AXIS1.SPEED:=10;AXIS1.ACCEL:=AXIS1.DECEL:=WHILEi<1000arraympos[0,ii(*arraympos[1,iSIN(2*3.14*i/1000(* ii:=fffHMC_TriggerScope(*X_RESULTHMC_Forward(0)(**)camid:=HMC_Cam(1,0,POIN一次凸輪聯(lián)動(dòng),并立即啟動(dòng)電子凸輪,按照二維數(shù)組arraympos1000rray1000100)(*速度設(shè)為0,還可實(shí)現(xiàn)暫停功能,當(dāng)條件解除后,軸又恢復(fù)到原來(lái)的運(yùn)動(dòng)。時(shí)(DIDI321)axis0H_SPEED設(shè)定的保持速度運(yùn)動(dòng),如果變量繼續(xù)按照原來(lái)1000的速度正向運(yùn)動(dòng)。DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPE:=HMC_SetAxisType(0,10);(*設(shè)置axis0屬性*)X_UNIT:=HMC_SetUnits(0,1000);(*設(shè)定axis0的單位*)AXIS0.SPEED:=100;(*設(shè)定軸axis0的速度為100mm/s*)AXIS0.ACCEL:=1000;(*設(shè)定軸axis0的加速度為1000mm/s2*)AXIS0.DECEL:=1000;(*設(shè)定軸axis0的 度為1000mm/s2*)axis0.HoldSpeed:=H_SPEED;(*設(shè)置軸axis0的自動(dòng)保持速度*)S_RESULTHMC_Forward(0)(*axis0100mm/s*)WHILETRUEDOH_RESULT:=HMC_HoldConfig(0,運(yùn)動(dòng)。*)高速色標(biāo)捕捉,配合DIZ相反饋,當(dāng)控制器接收到色標(biāo)觸發(fā)信號(hào)的瞬間進(jìn)行ns級(jí),實(shí)現(xiàn)無(wú)延時(shí)帶動(dòng)輸送帶運(yùn)動(dòng),送標(biāo)軸與主軸同步轉(zhuǎn)動(dòng),通過(guò)壓輥將貼到盒子上,平均每送一次標(biāo)的時(shí)我們可用MC1008自帶的高速捕捉函數(shù)實(shí)現(xiàn)這能。DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0XUNIT:=HMCSetUnits(0,1);AXIS0.SPEED:=1000;AXIS0.ACCEL:=AXIS0.DECEL:=Y_TYPEHMC_SetAxisType(130)(*axis0Y_UNIT:=HMC_SetUnits(1,1);AXIS0.SPEED:=1000;AXIS0.ACCEL:=AXIS0.DECEL:=X_RESULTHMC_Forward(0)(*axis0Y_RESULTHMC_Forward(1)(*axis1ConfigRESULT:=HMCCaptureConfig(0,0,1,0,1,1,StartMPOS,End值*)WHILETRUEDO(*Mpos_RESULT:=HMC_CaptureGetMpos(0);0快速的輸出DO,其開關(guān)速度在ns級(jí)。MC1008DO0輸出高低電平,使激光發(fā)生器迅速DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(030)(*axis0X_UNIT:=HMC_SetUnits(0,1);AXIS0.SPEED:=1000;AXIS0.ACCEL:=AXIS0.DECEL:=X_RESULTHMC_Forward(0)(*axis0PMPOSADR(X_MPOS(*MPOSConRESULT:=HMCSwitchConfig(0,0,0,0,1,PMPOS,電平交替輸出Mpos值序列的個(gè)數(shù)為1000個(gè)。*)WHILETRUEDO(*后續(xù)程序處理State_RESULT:=HMC_GetSwitchState(0);Num_RESULT:=對(duì)于有限行程軸,當(dāng)軸發(fā)生超限時(shí),系統(tǒng)有一系列的處理方式,在條目“RepMode”,一種不常見的情況是“在插補(bǔ)分軸停止期間,即便不再發(fā)生超限(例如用戶此時(shí)修改cancelFastDecel快速停止當(dāng)前從軸一種不常見的情況是“在聯(lián)動(dòng)從軸停止期間,即便不再發(fā)生超限(例如用戶此時(shí)修改X,Y軸超出各自的YYX圖6-20越限位功能示(*(*Axis0.RepMode:=Axis0.FsLimit:=Axis0.RSLimit:=-100;Axis0LimitState:=Axis0.LimitState;Axis1.RepMode:=Axis1.FsLimit:=Axis1.RSLimit:=-100;Axis1LimitState:=Axis1.LimitState;IFAxis0ForwardCmd=1THENAxis0.Speed:=20;Axis0ForwardReVal:=HMC_Forward(0);Axis0ForwardCmd:=0;ENDIFAxis0ReverseCmd=1THENAxis0.Speed:=20;Axis0ReverseReVal:=Axis0ReverseCmdAxis0ReverseCmd:=0;IFAxis0StopCmd=1THENAxis0StopReVal:=HMCCancel(0,0);Axis0StopCmd:=0;IFAxis1ForwardCmd=1THENAxis1ForwardReVal:=HMCForward(0);Axis1ForwardCmd:=0;ENDIFAxis1ReverseCmd=1THEN Axis1ReverseReVal:=HMCReverse(0);Axis1ReverseCmd:=0;ENDIFAxis1StopCmd=1THENAxis1StopReVal:=HMC_Cancel(0,0);Axis1StopCmd:=OBAB取正方向。MoveAbsMode只有在執(zhí)行HMC_MoveAbs指令時(shí)才會(huì)有效。 X5000X5000的方形,下圖紅色線條為兩個(gè)軸的運(yùn)動(dòng)曲線,示波6-21DR_RESULTDR_RESULTHMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0XUNIT:=HMCSetUnits(0,1);AXIS0.SPEED:=1000;AXIS0.ACCEL:=AXIS0.DECEL:=Y_TYPEHMC_SetAxisType(110(*axis1*)Y_UNIT:=HMC_SetUnits(1,1);AXIS1.SPEED:=AXIS1.ACCEL:=AXIS1.DECEL:=RESULTHMC_Move(05000)(*axis0向X5000*)RESULT:=HMC_WaitAxisIdle(0);(*axis0無(wú)運(yùn)動(dòng)*)RESULTHMC_Move(15000)(*axis1向Y5000*)RESULT:=HMC_WaitAxisIdle(1);(*axis1無(wú)運(yùn)動(dòng)*)RESULTHMC_Move(05000)(*axis0向X方向運(yùn)動(dòng)-5000RESULTHMC_Move(15000)(*axis1向Y方向運(yùn)動(dòng)-50006-22形將.csv文件里的數(shù)據(jù)導(dǎo)入到示波器中,生成圖形。6-23Table6-246-256-266-27DR_RESULT:HMC_DriveEnable(DR_EN(*X_TYPEHMC_SetAxisType(010)(*axis0*)X_UNIT:=HMC_SetUnits(0,1);AXIS0.SPEED:=AXIS0.ACCEL:=AXIS0.DECEL:=X_RESULTHMC_Move(05000)(*axis05000Scope_RESULT:=HMC_TriggerScope();(*AutoThink示波功能Trigger使能*)Chan_RESULT:=HMC_TriggerSample(0);(*數(shù)據(jù)采樣通道Trigger使能*)PVAR:=ADR(axis0.mpos);(*待 的數(shù)據(jù)地址*)RecordArea:=ADR(%MD100); 記錄數(shù)組的起始地址 Var_RESULTHMC_SetSampleSingleVar(0PVAR,8(*Para_RESULTHMC_SetSamplePara(0,10000100RecordArea)(*數(shù)據(jù)采樣設(shè)置,設(shè)置采樣參數(shù)*) 到的數(shù)據(jù)個(gè)數(shù)Date_RESULT:HMC_GetSampleData(0,0100)(*只讀的參數(shù)又分為兩種:第一種只反映軸的一些狀態(tài)(例如LimitState)或當(dāng)前計(jì)算或測(cè)量出ppdppedispe對(duì)于第二種只讀軸參數(shù),1.2后續(xù)需求條目中會(huì)列出相應(yīng)的設(shè)置函數(shù)。Speed0AxisLaserAxisLaser.Speed的方式來(lái)訪問(wèn)軸0的Speed。IF0=AxisLaser.AxisIDTHENAxisLaser.Speed:= 當(dāng)用戶設(shè)置某個(gè)軸類型為虛軸時(shí),系統(tǒng)將設(shè)置=2;當(dāng)用戶設(shè)置某個(gè)軸類型為非虛軸時(shí),系統(tǒng)將設(shè)置RepMode0RepMode及HMC_SetAxisType的0(虛軸(12):直連步進(jìn)軸(AB相脈沖)Servo_AO(20): ,AB相計(jì)數(shù)):該類軸(30- 用HMC_SetAxisType指令更改對(duì)應(yīng)軸的類型。-無(wú)無(wú)0無(wú)無(wú)無(wú)無(wú)無(wú)無(wú)Stepper_AB是Stepper的4倍頻AB相差分信AO口輸AO5對(duì)應(yīng)的5的輸無(wú)編AB相差分信無(wú)無(wú)+Step+Step(A相+B相Step最小時(shí)間寬度:t10.125uS,t2、t4、t50.25uS,t3、t60.5uS;4.AxisType=11暫不支持。編模+符號(hào)編(A相+B相Enc.Z相用來(lái)接收編每轉(zhuǎn)一圈時(shí)產(chǎn)生的Z相脈沖IFServo_AO=Axis1.AxisTypeTHENAxis1.Speed:= 0下述BIT1Fe不超限后該警告自動(dòng)解除(可自行消除)AxisErrMask說(shuō)明1AxisStatus的對(duì)應(yīng)bit1時(shí),即表達(dá)式(AxisStatusAxisErrMask)為非0時(shí),認(rèn)為出現(xiàn)系統(tǒng)異常,此時(shí)系統(tǒng)處理方式為:DriveEnableHMC_DriveEnable說(shuō)明;ServoLoop置為0,詳見ServoLoop說(shuō)明。1(對(duì)“Fe連續(xù)超限多次(10次0表示各種AxisStatus值均不進(jìn)行異常處理;這里所說(shuō)的”線”10000個(gè)脈沖正好轉(zhuǎn)一圈,即那么如下兩種方法是等價(jià)的,都可以讓終端走50mm(即電機(jī)轉(zhuǎn)動(dòng)5圈): (*線 方法2: 上述兩種方法中選擇哪一種取決于用戶的使用習(xí)慣;需要注意的是,Units在系統(tǒng)中的默認(rèn)值1出數(shù)值。詳見KeNumerator\KeDenominator和KsNumerator\KsDenominator條目的相關(guān)說(shuō)明。爬行速度,用戶單位/秒,用于原點(diǎn)回歸(參考HMC_Home,HMC_HomeEx\B\ExB)往回找原點(diǎn)階段,在此階段系統(tǒng)會(huì)將CreepSpeed作為目標(biāo)速度進(jìn)行運(yùn)動(dòng)解算,用戶在此階段修改CreepSpeed將實(shí)時(shí)生效,效果類似“HMC_ForwardSpeed”的情況,不再舉例說(shuō)明。00在循環(huán)行程模式下,MPos始終在[0,RepDist)或[-RepDist,RepDist)之間,Dpos和Mpos一些個(gè)別情況,例如RepDist值設(shè)置的比較小的時(shí)候,伺服軸的Dpos會(huì)出現(xiàn)在循環(huán)行程區(qū)間之外。參考詳見RepMode及RepDist條目39,Dpos039,Mpos0同時(shí)在AxisStatusBit2位報(bào)一個(gè)警告,詳見AxisStatus說(shuō)明。正在執(zhí)行單軸指令時(shí),AccelAccel進(jìn)行運(yùn)動(dòng)正在執(zhí)行插補(bǔ)指令,且該軸是插補(bǔ)合軸時(shí),Accel可以實(shí)時(shí)修改,實(shí)時(shí)生效,合軸將按照正在執(zhí)行插補(bǔ)指令,且該軸是插補(bǔ)分軸時(shí),Accel可以被實(shí)時(shí)修改,但不會(huì)影響該插補(bǔ)分同時(shí)在AxisStatusBit2位報(bào)一個(gè)警告,詳見AxisStatus說(shuō)明。正在執(zhí)行單軸指令時(shí),Decel可以實(shí)時(shí)修改,實(shí)時(shí)生效,指令將按照新的Decel進(jìn)行運(yùn)動(dòng)正在執(zhí)行插補(bǔ)指令,且該軸是插補(bǔ)合軸時(shí),Decel可以實(shí)時(shí)修改,實(shí)時(shí)生效,合軸將按照正在執(zhí)行插補(bǔ)指令,且該軸是插補(bǔ)分軸時(shí),Decel可以被實(shí)時(shí)修改,但不會(huì)影響該插補(bǔ)分正在執(zhí)行聯(lián)動(dòng)指令,也就是說(shuō)該軸此時(shí)是聯(lián)動(dòng)從軸,Decel可以被實(shí)時(shí)修改,但不會(huì)影響同時(shí)在AxisStatusBit2位報(bào)一個(gè)警告,詳見AxisStatus說(shuō)明。同時(shí)在AxisStatusBit2位報(bào)一個(gè)警告,詳見AxisStatus說(shuō)明。S形運(yùn)動(dòng)使能/禁用:是否使用Jerk,當(dāng)不使用Jerk時(shí),將按照加速度accel和度decelJerk來(lái)改變加(減)速度和速度來(lái)進(jìn)行運(yùn)動(dòng),一般情況下,速度曲線表現(xiàn)為“S形”。0(S形運(yùn)動(dòng)禁用參考HMC_Move,HMC_Forward等指令。039,Mppeed0現(xiàn)0值的跳變,請(qǐng)注意這種情況并不是系統(tǒng)錯(cuò)誤。時(shí),1、2等價(jià);0的Speed;塊的Speed;Speed_00 用戶單 7-1Merge0圖7- Merge為1時(shí)的情7-3Merge21假設(shè)Ks1。實(shí)際上,(Units*Ks)共同構(gòu)成了步進(jìn)軸的“單位轉(zhuǎn)換因子”,其單位為“線/用戶單位”,參見Units說(shuō)明。00”,0”,0HMCMcIdleHMCHomeHMCHomeBHMCHomeExHMCHomeExBHMC_MoveHMCMoveBHMC_MoveExHMC_MoveExBHMCMoveAbsHMCMoveAbsBHMCMoveAbHMCMoveAb HMCForwardHMCForwardExHMCReverseHMCReverseExHMCMove2DHMCMove2DBHMCMove2DExHMCMove2DExBHMCMove3DHMCMove3DBHMCMove3DExHMCMove3DExBHMCMoveNDHMCMoveeNDBHMCMoveNDExHMCMoveNDExBHMCMoveCircleHMCMoveCircleBHMCMoveCircleExHMCMoveCircleExBHMCMoveHelicalHMCMoveHelicalBHMCMoveHelicalExHMCMoveHelicalExBHMCMoveSphericalHMCMoveSphericalBHMCMoveSphericalExHMCMoveSphericalExBHMCGearHMCSuperimposeHMCSuperimposeExHMCCamMPOS也到達(dá)目標(biāo)位置(即Abs(Fe)<StopFeTol)或者DPOS到達(dá)目標(biāo)位置已經(jīng)足夠長(zhǎng)時(shí)間了(500個(gè)系統(tǒng)控制周期。例如MC1008系統(tǒng)控制1ms,則DPOS500ms后,即使0僅對(duì)循環(huán)行程軸的HMC_MoveAbs指令有效,參考HMC_MoveAbs0:0的運(yùn)動(dòng)。有限行程:表示軸只在一個(gè)限定的范圍內(nèi)運(yùn)動(dòng),過(guò)該限定的范圍,例如由滾珠絲桿(FsLimit和RsLimit表示軟限位,而硬限位通道(FHLimitIn/RHLimitIn)通過(guò)函數(shù)代表該軸為循環(huán)行程,軟限位FsLimit/RsLimit和硬限位通道(FHLimitIn/RHLimitIn)無(wú)意義,[-RepDist,RepDist)為循環(huán)行程上下限值。循環(huán)行程的實(shí)例在RepDist條目中給出。用戶設(shè)置某個(gè)軸類型為非虛軸時(shí),系統(tǒng)將設(shè)置RepMode=0。pitmsmiRmi00:有限行程,此時(shí)RepDist無(wú)意義,F(xiàn)sLimit和RsLimit1:循環(huán)行程,F(xiàn)sLimit和RsLimit無(wú)意義,[0,RepDist)2:循環(huán)行程,F(xiàn)sLimit和RsLimit循環(huán)行程模式(RepMode12時(shí))下有效:EndPosMPOS顯示的數(shù)值范圍限值,當(dāng)用戶設(shè)置RepMode=1時(shí),代表該軸為循環(huán)行程,[0,RepDist)為循環(huán)行程上下限值;當(dāng)用戶設(shè)置RepMode2時(shí),代表該軸為循環(huán)行程,[-RepDist,RepDist)RepMode0FmiMdeRLmiMe0LimitState0表示正常,各個(gè)BIT1時(shí)代表不同Bit5:各個(gè)狀態(tài)錯(cuò)誤,使用5bit位(前向軟/硬限位,同時(shí)也后向軟/硬限位)HMC_Cancel之前是不會(huì)被撤銷的,在軸完成緊急停止后,當(dāng)原運(yùn)動(dòng)指令解算出來(lái)的Dpos值加重超限時(shí),軸繼續(xù)停止不動(dòng);當(dāng)原運(yùn)動(dòng)指令解算出來(lái)的DPOSDPOS值運(yùn)這里的“加重超限”指:當(dāng)前向軟/硬軟限位時(shí),當(dāng)前指令解算的DPOS值越來(lái)越大;后者當(dāng)后向軟/硬軟限位時(shí),當(dāng)前指令解算的DPOS值越來(lái)越小。直觀來(lái)講,就是超限的越來(lái)越嚴(yán)重。iFimiRmi0mmFSLimit/mm應(yīng)滿足環(huán):模擬量輸出(DACOut)為PID運(yùn)算的結(jié)果”;posMppeeDacuDposppe分別為:DacOut=Dac;Dpos=Mpos;VpSpeed=MpSpeed。需要的是無(wú)論該伺服軸在執(zhí)行AxisStatus來(lái)顯示,當(dāng)(AxisStatusAxisErrMask)AxisErMask強(qiáng)制修改為0。00表示開環(huán):模擬量輸出(DACOut)采用DAC參數(shù)所00-0-0- 且滿足1ms00-0按照decel按照不超過(guò)度decel停到指定位置,該位置由參數(shù)CancelPos指定;當(dāng)HMC_Cancel函數(shù)執(zhí)行時(shí),該參數(shù)的取值代表了三種cancel模式,但是這三種模式要結(jié)合具體情況來(lái)討論:1:HMC_Cancel指定的軸為循環(huán)行程模式(詳見RepMode)且正在執(zhí)行McMoveForward/情況2:當(dāng)HMC_Cancel指定的軸正在執(zhí)行聯(lián)動(dòng)類指令時(shí),該參數(shù)合法值為0或2,其他值均認(rèn)為是異常;異常處理:當(dāng)CancelMode異常時(shí),系統(tǒng)會(huì)使用軸參數(shù)AxisStatus的某個(gè)bit位來(lái)記錄該異常,該異常記錄為鎖定模式,需要使用者來(lái)清除。在執(zhí)行HMC_Cancel時(shí),0;McMveReverse該參數(shù)有效,該參數(shù)表示在指令cancel完成時(shí)軸將到達(dá)的位置。詳見軸參數(shù)CancelModeHMC_Cancel的說(shuō)明。CancelPos超行程限時(shí),按照CancelMode=0處理。0Ci0強(qiáng)制觸發(fā)通道,即HoldlpdMHlfiHle-Cm()0以下描述與HMC_Home或HMC_HomeEx函數(shù)的Mode找(MODE=0,1,45)或Z相(MODE=23));(MODE=0,1,45)或Z相(MODE=23)后0);降沿或Z相);下降沿或Z相,到“m()-(詳見HMC_Home;HMC_HomeEx參數(shù)說(shuō)明H_me-詳見HMC_HomeEx用于系統(tǒng)Debug0當(dāng)某個(gè)軸出現(xiàn)當(dāng)(AxisStatusAxisErrMask)為非零時(shí),系統(tǒng)將進(jìn)行異常處理(詳見,該異常處理包括禁用DriveEnable信號(hào)。U32ENABLEDISABLE0功能:獲取DriveEnable狀態(tài),參考HMC_DriveEnable01U8U8DI為1時(shí)停止(階段2),然后反向運(yùn)動(dòng)(以達(dá)原點(diǎn)并開始到停止(階段4)DI為1時(shí)停止(階段2),然后反向運(yùn)動(dòng)(以達(dá)原點(diǎn)并開始到停止(階段4)2:僅使用本軸Z相信號(hào)定位原點(diǎn):軸正向運(yùn)動(dòng)(以原點(diǎn)并開始到停止(階段2)3:僅使用本軸Z相信號(hào)定位原點(diǎn):軸負(fù)向運(yùn)動(dòng)(以原點(diǎn)并開始到停止(階段2)4DI及本軸Z相信號(hào)定位原點(diǎn):軸正向運(yùn)動(dòng)(階且遇到Z相為1時(shí)認(rèn)為到達(dá)原點(diǎn)并開始到停止(階4);5DI及本軸Z相信號(hào)定位原點(diǎn):軸負(fù)向運(yùn)動(dòng)(階且遇到Z相為1時(shí)認(rèn)為到達(dá)原并開始到停止(階段4;U8軸指令U8U8DI為1時(shí)停止(階段2),然后反向運(yùn)動(dòng)(以達(dá)原點(diǎn)并開始到停止(階段4)DI為1時(shí)停止(階段2),然后反向運(yùn)動(dòng)(以達(dá)原點(diǎn)并開始到停止(階段4)2:僅使用本軸Z相信號(hào)定位原點(diǎn):軸正向運(yùn)動(dòng)(以CreepSpeed1),遇到Z相上升沿時(shí)即認(rèn)為是原點(diǎn)并開始到停止(階段2)3:僅使用本軸Z相信號(hào)定位原點(diǎn):軸負(fù)向運(yùn)動(dòng)(以CreepSpeed1),遇到Z相上升沿即認(rèn)為是原點(diǎn)并開始到停止(階段2)4DI及本軸Z相信號(hào)定位原點(diǎn):軸正向運(yùn)動(dòng)(階且遇到Z相上升沿認(rèn)為到達(dá)原點(diǎn)并開始到停止(階4);5DI及本軸Z相信號(hào)定位原點(diǎn):軸負(fù)向運(yùn)動(dòng)(階段1),當(dāng)DI為1時(shí)停止,然后反向運(yùn)動(dòng)(以相上升沿認(rèn)為到達(dá)原點(diǎn)并開始到停止(階段4)。32DI0,則直接進(jìn)4;U8U8軸指令備注:較HMC_Home的高級(jí)之處在于:HMC_HomeExDI觸發(fā)“高速捕捉功能(詳見HMC_CaptureConfig)”獲得的,將更加準(zhǔn)確的完成原點(diǎn)定位。U8F640定義精確的做法,請(qǐng)采用HMC_DefOrigin指令實(shí)現(xiàn)。U8F640U8軸指令U8軸指令SpeedspeedAccel,Decel等軸參數(shù),實(shí)指令完成時(shí),應(yīng)滿足DposEndpos,Remain=0Mpos是否到位,請(qǐng)參考CmdStopMode和StopFeTol;能時(shí),加速度,度的計(jì)算參見JerkMode;RepDist;對(duì)于有限行程這些運(yùn)動(dòng)量滿足:Endpos=Dpos+Remain。U8F64軸指令動(dòng)過(guò)程中,可以實(shí)時(shí)修改該軸的speed,Accel,Decel參數(shù),改變運(yùn)動(dòng)過(guò)程,實(shí)時(shí)生效。U8F64軸指令HMC_U8U80U8U8插補(bǔ)軸XU8插補(bǔ)軸YF64軸XF64軸Y軸指令-U8U8插補(bǔ)軸XU8插補(bǔ)軸YU8插補(bǔ)軸ZF64軸XF64軸YF64軸Z軸指令N軸線性插補(bǔ)中合運(yùn)動(dòng)與分運(yùn)動(dòng)關(guān)系如下:數(shù)組pAxis和pDistance中元素個(gè)數(shù)均為N,N=LN+SNdL(0)…L(LN-SpL()SdSpeedL(i)=(dL(i)/d)*dSpeed(0<=i<=LN-1)dSpeedS(j)=(dS(j)/d)*dSpeed(0<=j<=SN-1)U8U8*F64*U8U8軸指令ucMode含義。運(yùn)動(dòng)速度由合運(yùn)動(dòng)軸所標(biāo)定的參數(shù)決定。U8U8插補(bǔ)軸XU8插補(bǔ)軸YU8(O為當(dāng)前點(diǎn)(0):圓弧運(yùn)動(dòng)模式為:A為終點(diǎn),B為中B在中間時(shí),按照直線處理;(1):圓弧運(yùn)動(dòng)模式為:A為終點(diǎn),B為圓(3):圓弧運(yùn)動(dòng)模式為:A為終點(diǎn),B為圓F64A點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),A的X坐標(biāo)F64A點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),A的Y坐標(biāo)F64B點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),B的X坐標(biāo)F64B點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),B的Y坐標(biāo)軸指令平面上的圓弧插補(bǔ),運(yùn)動(dòng)方式詳見軸參數(shù)ucMode含義,U8U8插補(bǔ)軸XU8插補(bǔ)軸YU8插補(bǔ)軸ZU8(O為當(dāng)前點(diǎn)定方向方法:使O到A的最短距離(等距特殊情況系統(tǒng)提示:用戶設(shè)置時(shí)OBA系統(tǒng)確定方向方法:使O到A的最短距離(等距特殊情提示:用戶設(shè)置時(shí)OBAF64A點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),A的X坐標(biāo)F64A點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),A的Y坐標(biāo)F64A點(diǎn)在Z軸位置-O點(diǎn)在Z(將O視為坐標(biāo)系原點(diǎn)時(shí),A的Z坐標(biāo)F64B點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),B的X坐標(biāo)F64B點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),B的Y坐標(biāo)F64B點(diǎn)在Z軸位置-O點(diǎn)在Z(將O視為坐標(biāo)系原點(diǎn)時(shí),B的Z坐標(biāo)軸指令ZucMode參數(shù)含義說(shuō)明,ucAxisIDXYZ軸的合運(yùn)動(dòng),也可以只是XY軸的合運(yùn)動(dòng)。dDistance_AxisIDLenth_circle^2dDistanceZ^2(Lenth_circle為圓弧弧長(zhǎng))dDistance_AxisIDLenth_circle(Lenth_circle為圓弧弧長(zhǎng))U8U8插補(bǔ)軸XU8插補(bǔ)軸YU8插補(bǔ)軸ZU8(O為當(dāng)前點(diǎn)段圓弧;ucAxisID的速度dSpeed是三軸的合運(yùn)動(dòng)的速(1):平面圓弧部分運(yùn)動(dòng)為:A為終點(diǎn),B為圓弧的圓心;且按照逆時(shí)針?lè)较蜃?;ucAxisID的速度dSpeed是三軸(3):平面圓弧部分運(yùn)動(dòng)為:A為終點(diǎn),B為圓弧的圓心;且按照順時(shí)針?lè)较蜃撸籾cAxisID的速度dSpeed是三軸(4):平面圓弧部分運(yùn)動(dòng)為:A為終點(diǎn),B為中間某點(diǎn),一段圓??;ucAxisID的速度dSpeedx,y軸合運(yùn)動(dòng)的速度(5):平面圓弧部分運(yùn)動(dòng)為:A為終點(diǎn),B為圓弧的圓心;且按照逆時(shí)針?lè)较蜃?;ucAxisID的速度dSpeedx,y軸(7):平面圓弧部分運(yùn)動(dòng)為:A為終點(diǎn),B為圓弧的圓心;且按照順時(shí)針?lè)较蜃?;ucAxisID的速度dSpeedx,y軸F64A點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),A的X坐標(biāo)F64A點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),A的Y坐標(biāo)F64B點(diǎn)在X軸位置-O點(diǎn)在X(將O視為坐標(biāo)系原點(diǎn)時(shí),B的X坐標(biāo)F64B點(diǎn)在Y軸位置-O點(diǎn)在Y(將O視為坐標(biāo)系原點(diǎn)時(shí),B的Y坐標(biāo)F64軸指令Dpos_S=U8I32I32軸指令設(shè)置齒輪比例,在HMC_Gear指令啟動(dòng)后,可以實(shí)時(shí)調(diào)用該指令,可以動(dòng)態(tài)改變運(yùn)轉(zhuǎn)中電子U8I32I320U8-U8HMC_U8F64*在二維數(shù)組pArrPos2][uiPosNum]中,pArrPos0]為主U32F64U8(4):循環(huán)凸輪聯(lián)動(dòng),且立即啟動(dòng)(7):循環(huán)凸輪聯(lián)動(dòng),且某DI信號(hào)為1時(shí)啟動(dòng)F64凸輪為位置啟動(dòng)時(shí),dTrigMes表示主軸的啟動(dòng)位置;凸輪為高速捕獲通道觸發(fā)啟動(dòng)時(shí),dTrigMes表示(0-軸指令速捕獲通道來(lái)捕捉高速DI或軸Z相,關(guān)于高速捕獲詳見HMC_CaptureConf

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論