倍福TwinCATKL2541配置實(shí)例_第1頁
倍福TwinCATKL2541配置實(shí)例_第2頁
倍福TwinCATKL2541配置實(shí)例_第3頁
倍福TwinCATKL2541配置實(shí)例_第4頁
倍福TwinCATKL2541配置實(shí)例_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

倍福TwinCATKL2541配置實(shí)例本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程倍福TwinCATKL2541配置實(shí)例本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程,具體概念、參數(shù)和調(diào)試方法沒有詳細(xì)說明,大家可參閱百度文庫中的文章《TwinCAT_NC_PTP_運(yùn)動(dòng)控制詳解V14》,其中有詳盡的講解。本例中,硬件配置如下,無編碼器反饋,KL2022年輸出信號(hào)以控制抱閘。一、添加硬件打開systemmanager,轉(zhuǎn)換到配置模式,在I/ODevices上右鍵選擇Scandevices,選擇對(duì)應(yīng)的網(wǎng)絡(luò)接口本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程系統(tǒng)找到倍福模塊并添加到列表中二、配置KL2541配置KL2541參數(shù),可使用KS2022年軟件,這里使用Systemmanager更改KL2451內(nèi)部寄存器的值,實(shí)現(xiàn)配置。本例中運(yùn)動(dòng)控制沒有使用編碼器,KL2541默認(rèn)配置為使用編碼器反饋,所以一定要配置KL2541。使用內(nèi)部計(jì)數(shù)器反饋當(dāng)前位置,不使用編碼器。1、切換到FreeRun配置模式切換到配置模式,彈出如下對(duì)話框,選擇“是”FreeRun模式下,KL2541的Channel中的變量,Ctrl用于輸入指令,Velocity用于寫入數(shù)值,Position用于讀取數(shù)值本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程選擇Online頁的Write按鈕,彈出對(duì)話框可輸入數(shù)值。具體寄存器意義和數(shù)值定義可參考倍福的KL2541的幫助文件2、打開寫保護(hù)在寄存器31中寫入數(shù)值0x1235。先在變量Velocity中寫入數(shù)值0x1235,然后再在Ctrl變量中寫入0xDF,將數(shù)值寫入到寄存器。3、驗(yàn)證寫保護(hù)打開在Ctrl變量中寫入0x9F,查看Position變量的數(shù)值,如果值是0x1235表示寫入成功。4、設(shè)置為內(nèi)部計(jì)數(shù)器反饋(不使用編碼器)在寄存器32中寫入0x0800(第11位為1)寫入:Velocity0x0800,Ctrl0xE0驗(yàn)證:Ctrl0xA05、設(shè)置細(xì)分?jǐn)?shù)為1/8本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程在寄存器46中寫入0x0003寫入:Velocity0x0003,Ctrl0xEE,驗(yàn)證:Ctrl0xAE三、配置NC和PLC1、添加NC運(yùn)動(dòng)控制,輸入名稱2、添加Axis,輸入名稱,選擇軸類型,這里選擇默認(rèn)的連續(xù)軸本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程3、設(shè)置NC軸在Axis1的Settings頁面上指定軸類型為KL2541,并LinkTo到指定的硬件。本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程4、編碼器(Axis_1_Enc)設(shè)置Global頁面,修改ScalingFactor為實(shí)際值,其它可使用默認(rèn)值。本例中,電機(jī)每轉(zhuǎn)脈沖數(shù)200,減速比100:1,細(xì)分?jǐn)?shù)8,絲杠導(dǎo)程2mm。那么每毫米對(duì)應(yīng)的脈沖數(shù)為200*100*8/2=__。所以ScalingFactor=1/__=0.__-__。Incremental頁面,設(shè)置尋參(回零)方向,和尋參的位置設(shè)定值。本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程5、驅(qū)動(dòng)器(Axis_1_Drive)設(shè)置Analog頁面,設(shè)置參考速度。參考速度設(shè)置的不準(zhǔn)確,可能導(dǎo)致電機(jī)運(yùn)動(dòng)異常。比如參考速度值太小,運(yùn)動(dòng)結(jié)束后,電機(jī)會(huì)反轉(zhuǎn)以補(bǔ)償位置值。6、控制設(shè)置(Axis_1_Ctrl)Global頁面,PositionLagMonitoring在調(diào)試時(shí)可設(shè)置為FLASE,因?yàn)檫\(yùn)動(dòng)過程中此選項(xiàng)超差,電機(jī)會(huì)停止運(yùn)動(dòng)。本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程7、軸(Axis_1)參數(shù)設(shè)置Global頁面,指定最大速度,手動(dòng)速度,尋參(正向和反向)速度,加速度,減速度和加速度變化率。以上設(shè)置沒有提到的選項(xiàng),都可以使用默認(rèn)值,不需要設(shè)置。在運(yùn)行模式下,參數(shù)修改后,點(diǎn)Download可使參數(shù)生效。8、添加PLC程序本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程選擇已編譯的PLC項(xiàng)目,加載到Systemmanager中9、連接NC和PLC程序本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程10、其它變量的連接連接KL2022年的輸出量到PLC程序的輸出變量,實(shí)現(xiàn)PLC程序?qū)敵鲂盘?hào)的控制。連接限位開關(guān)的信號(hào)到PLC輸入變量本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程11、完成配置激活系統(tǒng)配置,修改配置后不要忘記。切換到運(yùn)行模式設(shè)置systemmanager自動(dòng)運(yùn)行,輸入當(dāng)前操作系統(tǒng)的用戶名和密碼本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程四、PLC程序?qū)嵗?、創(chuàng)建PLC項(xiàng)目本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程2、添加庫文件,選擇TcMC.lib引用的庫本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程3、電機(jī)控制結(jié)構(gòu)體定義VC程序中使用相同的結(jié)構(gòu)體,用于PLC和vc程序之間的通訊。TYPEAxisCtrlStatus:STRUCT(*狀態(tài)大)stat1:SINT;(大預(yù)留大)本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程limitStat:SINT;(大限位開關(guān)狀態(tài)大)moveStat:BOOL;(大運(yùn)動(dòng)狀態(tài)大)errorStat:BOOL;(*錯(cuò)誤狀態(tài)大)errorId:UDINT;(*錯(cuò)誤編號(hào)大)curPositon:LREAL;(大當(dāng)前位置*)(大輸入?yún)?shù)*)positoin:LREAL;(大設(shè)置相對(duì)運(yùn)動(dòng)量或目標(biāo)位置或當(dāng)前位置*)velocity:LREAL;(大設(shè)置速度大)(大操作控制指令*)powerEnable:BOOL;(*上電*)stopExe:BOOL;(*停止*)moveRelExe:BOOL;(大相對(duì)運(yùn)動(dòng)大)moveAbsExe:BOOL;(*絕對(duì)運(yùn)動(dòng)*)homeExe:BOOL;(*回零大)positoinExe:BOOL;(*設(shè)置當(dāng)前位置*)reset:BOOL;(*復(fù)位*)exe1:BOOL;(*預(yù)留*)END_STRUCTEND_TYPE4、全局輸入輸出變量,定義變量VAR_GLOBALaAxis_InAT%I*:UCT;aAxis_OutAT%Q*:UCT;KL_StatusAT%I*:UINT;KB_StatusAT%Q*:BOOL;END_VAR本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程5、全局變量配置,配置變量為實(shí)際地址VAR_CONFIG.aAxis_InAT%IB0:UCT;.aAxis_OutAT%QB0:UCT;.KL_StatusAT%IB128:UINT;.KB_StatusAT%QB128:BOOL;END_VAR6、主程序本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程主程序變量聲明__MAINVARNPM_Power:MC_Power;NPM_ResetMC_Reset;NPM_ReadActualPositionMC_ReadActualPosition;(*讀取當(dāng)前位置*)NPM_SetActualPosition:MC_SetActualPosition;(*設(shè)置當(dāng)前位置*)NPM_MoveVelocity:MC_MoveVelocity;(*勻速運(yùn)動(dòng)*)NPM_MoveAbsolute:MC_MoveAbsolute;NPM_MoveRelative:MC_MoveRelative;NPM_Stop:MC_Stop;NPM_Home:MC_Home;(*referenceposition0*)(大用%M定義控制結(jié)構(gòu),用于與VC程序通訊,在VC中使用地址0x4020訪問*)AxisCtrlAT%MB0:AxisCtrlStatus;END_VAR主程序內(nèi)容(*KB_Status輸出變量用于控制抱閘,在此保持與電機(jī)上下電同步*)KB_Status:=AxisCtrl.powerEnable;(大轉(zhuǎn)換限位開關(guān)的狀態(tài)*)IFKL_Status=2THENAxisCtrl.limitStat:=-1;ELSIFKL_Status=1THENAxisCtrl.limitStat:=1;ELSEAxisCtrl.limitStat:=100;END_IF(*復(fù)位,同時(shí)將程序的錯(cuò)誤狀態(tài),運(yùn)動(dòng)指令等都清零*)NPM_Reset(Execute:=AxisCtrl.reset,Axis:=aAxis_In,Done=,Error=,ErrorID=IFAxisCtrl.resetTHEN(*IFNPM_Reset.DoneTHEN*)AxisCtrl.reset:=FALSE;AxisCtrl.errorld:=0;AxisCtrl.moveStat:=FALSE;AxisCtrl.homeExe:=FALSE;本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程AxisCtrl.moveAbsExe:=FALSE;AxisCtrl.moveRelExe:=FALSE;(*END_IF*)END_IF(大停止,停止完成后清除運(yùn)動(dòng)狀態(tài)和操作指令*)NPM_Stop(Execute:=AxisCtrl.stopExe,Deceleration:=3.0,(*設(shè)置電機(jī)停止時(shí)的減速度大)Jerk:=300.0,Axis:=aAxis_In,Done=,Error=,ErrorID=IFAxisCtrl.stopExeTHENIFNPM_Stop.DoneTHENAxisCtrl.stopExe:=FALSE;AxisCtrl.moveStat:=FALSE;AxisCtrl.homeExe:=FALSE;AxisCtrl.moveAbsExe:=FALSE;AxisCtrl.moveRelExe:=FALSE;END_IFEND_IF(大電機(jī)上下電,Enable為保持值*)NPM_Power(Enable:=AxisCtrl.powerEnable,Enable_Positive:=TRUE,Enable_Negative:=TRUE,Override:=100.0,(*inpercent大)AxisRefIn:=aAxis_In,AxisRefOut:=aAxis_Out,Status=,Error=AxisCtrl.errorStat,ErrorID=AxisCtrl.errorId);(大獲得電機(jī)當(dāng)前位置*)NPM_ReadActualPosition(Enable:=TRUE,Axis:=aAxis_In,Done=,Error=,ErrorID=,Position=AxisCtrl.curPositon);本文給出一個(gè)倍福TwinCAT配置KL2541步進(jìn)電機(jī)模塊的實(shí)際例子,包括硬件配置到vc軟件的全過程N(yùn)PM_SetActualPosition(Execute:二AxisCtrl.positoinExe,Position:=AxisCtrl.positoin,Axis:=aAxis_In,Done=,CommandAborted=,Error=,ErrorID=AxisCtrl.positoinExe:=FALSE;(大相對(duì)運(yùn)動(dòng),*)NPM_MoveRelative(Execute:=AxisCtrl.moveRelExe,Distance:=AxisCtrl.positoin,Velocity:=AxisCtrl.velocity,Acceleration:=,Deceleration:=,Jerk:=,Axis:=aAxis_In,Done=,CommandAborted=,Error=,ErrorlD=IFAxisCtrl.moveRelExeTHENIFNPM_MoveRelative.DoneTHEN(*更新運(yùn)動(dòng)狀態(tài)*)AxisCtrl.moveRelExe:=FALSE;AxisCtrl.moveStat:=FALSE;ELSEAxisCtrl.moveStat:=TRUE;END

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論