時(shÃ)間:2021-01-21 13:52:31來æºï¼šæ£é‹(yùn)動技術(shù)
   01 準(zhǔn)備工作
  
   ä¸€ã€ææ–™æº–(zhÇ”n)å‚™
  1.硬件
  A.ZMC432控制器一臺,帶EtherCAT總線接å£ã€‚
  B.æ¾ä¸‹EtherCAT伺æœé©…(qÅ«)動器+電機(jÄ«)一套
  C.電腦一臺。
  D.帶å±è”½å±¤ç¶²(wÇŽng)ç·šå…©æ ¹ã€‚
  E.24Vç›´æµé›»æºä¸€å€‹(gè)。
  F.接線端å與連接線若干。
  2.軟件
  A.ZDevelop V3.10版本控制器編程軟件。
  從æ£é‹(yùn)動官網(wÇŽng)www.zmotion.com.cn下載壓縮包,解壓åŽç›´æŽ¥é‹(yùn)行應(yÄ«ng)用程åºï¼Œç„¡éœ€å®‰è£ã€‚
  B.æ¾ä¸‹ä¼ºæœé©…(qÅ«)å‹•å™¨ä¸Šä½æ©Ÿ(jÄ«)調(dià o)試軟件。
  從æ¾ä¸‹å®˜ç¶²(wÇŽng)下載åŽå®‰è£ã€‚
  
  
  
   二ã€ç¡¬ä»¶æŽ¥ç·š
  1.控制器接線
  控制器接å£çš„用途åƒè¦‹ä¸‹åœ–。
  
  
  
  A.主電æºï¼šå°‡æŽ§åˆ¶å™¨ä¸»é›»æºæŽ¥ç·šç«¯å上的E+24Vç«¯åæŽ¥å…¥24Vç›´æµé›»æºæ£æ¥µï¼Œå°‡EGNDç«¯åæŽ¥å…¥24Vç›´æµé›»æºè² (fù)極。
  B.以太網(wÇŽng)EtherNETç«¯å£æŽ¥ç·šï¼šä½¿ç”¨ä¸€æ ¹ç¶²(wÇŽng)線將控制器的EtherNET端å£èˆ‡é›»è…¦çš„以太網(wÇŽng)å£ç›¸é€£ã€‚
  C.伺æœé©…(qÅ«)å‹•å™¨èˆ‡æŽ§åˆ¶å™¨æŽ¥ç·šï¼šä½¿ç”¨ä¸€æ ¹ç¶²(wÇŽng)線將控制器的EtherCAT總線端å£èˆ‡ä¼ºæœé©…(qÅ«)動器的X2A或X2Bå£ç›¸é€£ã€‚
  
  
  
  注æ„伺æœé©…(qÅ«)動器的EtherCATæŽ¥å£æœ‰å…©å€‹(gè),有些驅(qÅ«)動器這兩個(gè)å£å¯ä»¥éš¨æ„æŽ¥ï¼Œæœ‰äº›åˆ†ç‚ºEtherCAT INå’ŒEtherCAT OUT,INå£æŽ¥ä¸Šä¸€ç´šè¨(shè)備,OUTå£æŽ¥ä¸‹ä¸€ç´šè¨(shè)備,二者ä¸èƒ½æ··ç”¨ï¼Œè¦æ³¨æ„é€£æŽ¥é †åºã€‚
  多軸控制時(shÃ)伺æœé©…(qÅ«)動器的EtherCAT OUTå£å†é€£æŽ¥ä¸‹ä¸€ç´šé©…(qÅ«)å‹•è¨(shè)備的EtherCAT INå£ï¼Œä¾æ¤é¡žæŽ¨ã€‚
  2.驅(qū)動器接線
  伺æœé©…(qÅ«)動器與電機(jÄ«)和編碼器的接線åƒè¦‹é©…(qÅ«)動器手冊,將驅(qÅ«)動器接入220V市電。
   02 控制器與電腦連接
  
  控制器與電腦å¯ä»¥é€šéŽä¸²å£æˆ–ç¶²(wÇŽng)å£é€£æŽ¥ï¼Œä¸‹é¢ä»¥ç¶²(wÇŽng)å£é€£æŽ¥ä¾‹å±•開說明。
   一ã€ç¶²(wÇŽng)å£é€šè¨Šæ“作方法
  先將控制器與電腦用網(wÇŽng)線連接好,接通控制器的電æºï¼Œå†æ‰“é–‹ZDevelop編程軟件,點(diÇŽn)擊èœå–®æ¬„“控制器â€â†’“連接â€ï¼Œæ‰“開“連接到控制器â€çª—å£ã€‚
  
  
  
  通éŽâ€œé€£æŽ¥åˆ°æŽ§åˆ¶å™¨â€çª—å£ï¼Œå¯ä»¥å¿«é€ŸæŸ¥çœ‹æœ¬æ©Ÿ(jÄ«)IPï¼Œå°æ¯”控制器與電腦是å¦è™•于åŒä¸€ç¶²(wÇŽng)段。
  IP地å€åˆ—è¡¨ä¸‹æ‹‰é¸æ“‡æ™‚(shÃ),會自動查找當(dÄng)å‰å±€åŸŸç¶²(wÇŽng)å¯ç”¨çš„æŽ§åˆ¶å™¨IP地å€(控制器上電POWER燈和RUN燈亮的時(shÃ)候就能查找到該控制器的IP地å€)。
  åŒä¸€å€‹(gè)ç¶²(wÇŽng)絡(luò)有多個(gè)控制器的時(shÃ)候,IP的下拉列表若沒有顯示目標(biÄo)控制器的IP地å€ï¼Œå¯ä»¥é‡‡å–IP掃æä¾†æŸ¥çœ‹ç•¶(dÄng)剿‰€æœ‰å¯ç”¨çš„æŽ§åˆ¶å™¨IP地å€ï¼ŒæŽƒæå®Œæˆä¹‹åŽç¢ºå®šé—œ(guÄn)é–‰æ¤çª—å£ï¼Œé‡æ–°åœ¨IPä¸‹æ‹‰åˆ—è¡¨é¸æ“‡ã€‚
  
  
  
ã€€ã€€é¸æ“‡æ£ç¢ºçš„IP地å€ï¼Œé»ž(diÇŽn)擊連接之åŽï¼Œç·¨ç¨‹è»Ÿä»¶èˆ‡æŽ§åˆ¶å™¨é€£æŽ¥æˆåŠŸï¼Œåœ¨ç·šå‘½ä»¤èˆ‡è¼¸å‡ºçª—å£æ‰“å°ä¿¡æ¯æç¤ºã€‚
  
  
  
ã€€ã€€æŽ§åˆ¶å™¨å‡ºå» çš„ç¼ºçœIP地å€ç‚º192.168.0.11,“連接到控制器â€çª—å£èƒ½é¡¯ç¤ºå‡ºæœ¬æ©Ÿ(jÄ«)IP地å€ï¼Œè«‹æ³¨æ„è¨(shè)置有線網(wÇŽng)å¡èˆ‡ç„¡ç·šç¶²(wÇŽng)å¡å„自的IP。電腦需è¦è¨(shè)ç½®IP地å€èˆ‡æŽ§åˆ¶å™¨IP處于åŒä¸€ç¶²(wÇŽng)段æ‰èƒ½é€£æŽ¥ï¼Œå³å››æ®µçš„å‰ä¸‰æ®µè¦ç›¸åŒï¼Œæœ€åŽä¸€æ®µä¸åŒæ‰èƒ½é€šè¨Šã€‚
  若控制器與電腦ä¸è™•于åŒä¸€ç¶²(wÇŽng)段,則需è¦ä¿®æ”¹æŽ§åˆ¶å™¨æˆ–電腦其ä¸ä¹‹ä¸€çš„IP地å€ï¼Œä½¿äºŒè€…處于åŒä¸€ç¶²(wÇŽng)段。
  修改控制器IP地å€éœ€è¦å…ˆä½¿ç”¨ä¸²å£é€£æŽ¥æŽ§åˆ¶å™¨ï¼Œç²å–控制器IP地å€ï¼Œç„¶åŽä¿®æ”¹æœ¬æ©Ÿ(jÄ«)IP或控制器IP使二者處于åŒä¸€ç¶²(wÇŽng)段。
   二ã€ä¿®æ”¹æŽ§åˆ¶å™¨IP地å€
  先使用串å£é€£æŽ¥æŽ§åˆ¶å™¨ï¼Œç²å–控制器IP地å€ï¼Œå†ä¿®æ”¹æŽ§åˆ¶å™¨IP地å€ã€‚
  方法一:å¯ä»¥é€šéŽèœå–®æ¬„“控制器â€â†’“修改IP地å€â€çª—å£ç›´æŽ¥ä¿®æ”¹æŽ§åˆ¶å™¨IP地å€ã€‚
  
  
  
  方法二:通éŽIP_ADDRESS指令發(fÄ)é€åœ¨ç·šå‘½ä»¤ä¿®æ”¹ã€‚
  指令發(fÄ)é€ä¿®æ”¹æˆåŠŸä¹‹åŽè‡ªå‹•æ–·é–‹é€£æŽ¥ï¼Œåœ¨ç·šå‘½ä»¤æ‰“å°æŽ§åˆ¶å™¨é€£æŽ¥éŒ¯(cuò)誤信æ¯ï¼Œé€šéŽç¶²(wÇŽng)å£é€£æŽ¥é¸æ“‡æ–°IP地å€192.168.0.23冿¬¡é€£æŽ¥æŽ§åˆ¶å™¨ï¼ŒIP地å€ä¿®æ”¹æˆåŠŸåŽæ°¸ä¹…有效。
  
  
  
   三ã€ä¿®æ”¹æœ¬æ©Ÿ(jÄ«)IP地å€
  以WIN10為例,在開始èœå–®é‡Œæ‰“é–‹æŽ§åˆ¶é¢æ¿ï¼Œæ‰“開“網(wÇŽng)絡(luò)å’ŒInternetâ€ã€‚
  
  
  
ã€€ã€€å†æ‰“開“網(wÇŽng)絡(luò)與共享ä¸å¿ƒâ€ã€‚
  
  
  
  點(diÇŽn)擊“以太網(wÇŽng)â€ã€‚
  
  
  
  在“以太網(wÇŽng)狀態(tà i)â€çª—å£é»ž(diÇŽn)擊“屬性â€ï¼Œæ‰“開“以太網(wÇŽng)屬性â€çª—å£ï¼Œæ‰¾åˆ°Internetå”(xié)è°ç‰ˆæœ¬4(TCP/IPv4)打開,就能看到本機(jÄ«)IP地å€ä¿®æ”¹çª—å£ï¼Œå‹¾é¸â€œä½¿ç”¨ä¸‹é¢çš„IP地å€â€ï¼Œåœ¨IP地å€è¼¸å…¥æ¬„里修改IP,將本機(jÄ«)IP改為和控制器IP處于åŒä¸€ç¶²(wÇŽng)段,修改完æˆé»ž(diÇŽn)擊“確èª(rèn)â€å³å¯æˆåŠŸä¿®æ”¹IP。
ã€€ã€€å†æ¬¡æ‰“開“連接到控制器â€çª—å£å˜—試連接到控制器。
  
  
  
  03 DPOS與MPOSçš„å€(qÅ«)別
  
  DPOS為用戶定義的目標(biÄo)ä½ç½®ï¼Œå³æŽ§åˆ¶å™¨ç™¼(fÄ)出的指令ä½ç½®ï¼Œå–®ä½æ˜¯UNITS,該值的大å°ç‰äºŽæŽ§åˆ¶å™¨å¯¦(shÃ)際發(fÄ)é€è„ˆæ²–數(shù),除以脈沖當(dÄng)é‡å¾—出。
  寫DPOS會自動轉(zhuÇŽn)æ›ç‚ºDEFPOS絕å°å標(biÄo)ä½ç½®åç§»ï¼Œä¸æœƒç§»å‹•電機(jÄ«)。
  MPOS為用戶單ä½çš„軸測é‡ä½ç½®ï¼Œä¹Ÿç¨±ç‚ºå¯¦(shÃ)éš›ä½ç½®ï¼Œå–®ä½æ˜¯UNITS。該值是由編碼器測é‡å¾—出的軸實(shÃ)éš›ä½ç½®ï¼ŒæŽ¥åœ¨ä¼ºæœé›»æ©Ÿ(jÄ«)上的編碼器用于測é‡é›»æ©Ÿ(jÄ«)的轉(zhuÇŽn)角與轉(zhuÇŽn)速,MPOS的值æ£å¸¸æƒ…æ³ä¸‹æœƒè·Ÿéš¨DPOS值,該值的大å°ç‰äºŽç·¨ç¢¼å™¨æ¸¬å¾—實(shÃ)際脈沖數(shù),除以脈沖當(dÄng)é‡å¾—å‡ºã€‚æ²’æœ‰ç·¨ç¢¼å™¨çš„å ´åˆï¼Œè»¸çš„MPOS值自動復(fù)制DPOS的值。
  寫MPOS會自動轉(zhuÇŽn)æ›ç‚ºDEFPOS絕å°å標(biÄo)ä½ç½®å移。
  部分電機(jÄ«)有一定跟隨誤差的(DPOS-MPOS),這個(gè)和機(jÄ«)械和電機(jÄ«)本身剛性都有關(guÄn)ç³»,機(jÄ«)械越好,電機(jÄ«)越好,調(dià o)的剛性越足,則跟隨誤差越å°,但跟隨誤差永é (yuÇŽn)å˜åœ¨,ä¸å¯èƒ½æ¶ˆé™¤,并且在實(shÃ)時(shÃ)變化,實(shÃ)際應(yÄ«ng)用ä¸ç›¡é‡æŠŠæ©Ÿ(jÄ«)械剛性和電機(jÄ«)剛性æé«˜,è®“è·Ÿéš¨èª¤å·®ç›¡é‡æ¸›å°,速度盡é‡å¹³æ»‘,使得MPOS更準(zhÇ”n)確。
  å¦å¤–SPEED為控制器給定速度,MSPEED為編碼器的實(shÃ)際測é‡å饋速度。
  如下圖,軸類型ATYPE=65,EtherCAT周期ä½ç½®æ¨¡å¼ï¼Œå¸¶ç·¨ç¢¼å™¨å饋,故脈沖信號輸出與編碼器å饋信號å‡åœ¨è»¸0ä¸Šï¼Œæ¤æ™‚(shÃ)MPOS為真,跟隨DPOS。
  
  
  
  ATYPE=4或65或50æ¨¡å¼æ™‚(shÃ),軸號上å‡å¸¶ç·¨ç¢¼å™¨å饋。
  OFFPOS指令相å°åç§»ä¿®æ”¹æ‰€æœ‰çš„åæ¨™(biÄo)ï¼Œä¸æœƒå°å·²é‹(yùn)行/進(jìn)入緩沖å€(qÅ«)çš„é‹(yùn)動產(chÇŽn)生影響。
  DEFPOS指令è¨(shè)置當(dÄng)å‰è»¸ä½ç½®ç‚ºä¸€å€‹(gè)新的絕å°ä½ç½®å€¼ï¼Œä¸æœƒå°å·²é‹(yùn)行/進(jìn)入緩沖å€(qÅ«)çš„é‹(yùn)動產(chÇŽn)生影響。
  示例:
  BASE(0,1) '鏿“‡è»¸0,軸1
  DPOS=100,100 'è¨(shè)置當(dÄng)å‰ä½ç½®ç‚º100,100
  ?DPOS(0),DPOS(1) '打å°ç¢ºèª(rèn),當(dÄng)å‰ä½ç½®ç‚º100,100
  OFFPOS=10,20 '多次調(dià o)用OFFPOS相å°ä½ç½®
  OFFPOS=10,20
  ?DPOS(0),DPOS(1) 'æ¤æ™‚(shÃ)ç•¶(dÄng)å‰ä½ç½®è®Š?yÅu)?20,140
  DEFPOS(10,20) 'è¨(shè)置當(dÄng)å‰ä½ç½®ç‚º10,20
  ?DPOS(0),DPOS(1) 'ç•¶(dÄng)å‰ä½ç½®ç‚º10,20
  04 EtherCAT伺æœé©…(qÅ«)動器
   åƒæ•¸(shù)è¨(shè)ç½®
   一ã€é›»å齒輪比的應(yÄ«ng)用
  伺æœé›»æ©Ÿ(jÄ«)é›»å齒輪比就是伺æœå°æŽ¥æ”¶åˆ°çš„æŽ§åˆ¶å™¨è„ˆæ²–é »çŽ‡é€²(jìn)行放大或者縮å°ï¼Œå…¶ä¸ä¸€å€‹(gè)åƒæ•¸(shù)為分å,一個(gè)為分æ¯ã€‚分åèˆ‡åˆ†æ¯æ¯”值為大于1就是放大,比值å°äºŽ1就是縮å°ï¼Œæ¯”值ç‰äºŽ1時(shÃ)電機(jÄ«)接å—脈沖數(shù)ç‰äºŽæŽ§åˆ¶å™¨ç™¼(fÄ)出脈沖數(shù)。
  計(jì)ç®—å…¬å¼ï¼šé›»æ©Ÿ(jÄ«)接收的實(shÃ)際脈沖數(shù)=控制器發(fÄ)é€è„ˆæ²–數(shù)*é›»å齒輪比
  例如:控制器發(fÄ)出脈沖10000個(gè),電å齒輪比分åè¨(shè)為1,分æ¯è¨(shè)為2,電å齒輪比為0.5,那么伺æœå¯¦(shÃ)éš›é‹(yùn)行按照5000個(gè)脈沖來進(jìn)行。控制器發(fÄ)出脈沖10000個(gè),電å齒輪比分åè¨(shè)為2,分æ¯è¨(shè)為1,電å齒輪比為2,那么伺æœå¯¦(shÃ)éš›é‹(yùn)行按照20000個(gè)脈沖來進(jìn)行。
  æ¾ä¸‹é©…(qÅ«)動器電å齒輪的比值在1000-1/1000的范åœå…§(nèi)有效。
  電åé½’è¼ªæ¯”é€šéŽæ•¸(shù)據(jù)å—å…¸6091hçš„åå—å…¸01hå’Œ02h的比值è¨(shè)定。6091h-01hè¨(shè)置電å齒輪比的分å,6091h-02hè¨(shè)置電å齒輪比的分æ¯ã€‚
  
  
  
  
  數(shù)據(jù)å—å…¸6092hçš„åå—å…¸01h用以è¨(shè)定電機(jÄ«)旋轉(zhuÇŽn)一圈所需脈沖數(shù)ï¼Œä¸€èˆ¬æ ¹æ“š(jù)編碼器的分辨率è¨(shè)置,6092hçš„åå—å…¸02h的值默èª(rèn)為1。
  
  
  
  
  電å齒輪比ç‰é©…(qÅ«)動器的相關(guÄn)åƒæ•¸(shù)修改,å¯ä»¥é€šéŽé©…(qÅ«)動器軟件直接修改,或使用SDOæŒ‡ä»¤è®€å¯«å°æ‡‰(yÄ«ng)的數(shù)據(jù)å—典進(jìn)行é…置。
  1.é©…(qÅ«)動器軟件修改電å齒輪比
  修改驅(qÅ«)å‹•å™¨åƒæ•¸(shù)先連接驅(qÅ«)動器,å¯é¸USB線或WLAN連接驅(qÅ«)動器,使用USB線連接電腦與驅(qÅ«)動器端的X1端å£ï¼Œçµ¦é©…(qÅ«)動器上電,打開æ¾ä¸‹é©…(qÅ«)動器軟件PANATERMï¼Œå½ˆå‡ºâ€œé¸æ“‡èˆ‡é©…(qÅ«)動器通信â€çª—å£ï¼Œé¸æ“‡èˆ‡é©…(qÅ«)動器通éŽUSB連接åŽï¼Œè‡ªå‹•ç²å–到驅(qÅ«)動器信æ¯é¡¯ç¤ºåœ¨çª—å£å…§(nèi),點(diÇŽn)擊OK連接æˆåŠŸï¼Œå°±èƒ½å°é©…(qÅ«)動器進(jìn)行è¨(shè)置。
  
  
  
  點(diÇŽn)擊èœå–®æ¬„“顯示â€â†’“å°è±¡ç·¨è¼¯å™¨â€ï¼Œæ‰“開如下窗å£ï¼Œæ‰¾åˆ°éœ€è¦è¨(shè)置的數(shù)據(jù)å—典,在“Setting Valueâ€ä¸€æ¬„直接修改數(shù)據(jù)å—典的內(nèi)容。
  修改完æˆå°‡åƒæ•¸(shù)傳é€çµ¦é©…(qÅ«)動器,并寫入驅(qÅ«)動器的EEPROM,驅(qÅ«)動噍冿¬¡ä¸Šé›»åŽåƒæ•¸(shù)生效。
  圖ä¸é›»å齒輪比=1:1,電機(jÄ«)旋轉(zhuÇŽn)一圈脈沖數(shù)10000。
  
  
  
  2.SDO指令修改電å齒輪比
  SDOæŒ‡ä»¤åŒ…å«æ•¸(shù)據(jù)å—典讀å–SDO_READã€SDO_READ_AXIS和數(shù)據(jù)å—典寫入SDO_WRITEã€SDO_WRITE_AXIS。
  數(shù)據(jù)å—典讀å–語法:
  SDO_READ (æ§½ä½è™Ÿ, è¨(shè)備編號, 數(shù)據(jù)å—典編號, 數(shù)據(jù)å—å…¸å編號, 數(shù)據(jù)類型, è®€å–æ•¸(shù)據(jù)å˜å„²TABLEä½ç½®)
  SDO_READ_AXIS (軸號, 數(shù)據(jù)å—典編號, 數(shù)據(jù)å—å…¸å編號, 數(shù)據(jù)類型, è®€å–æ•¸(shù)據(jù)å˜å„²TABLEä½ç½®)
  數(shù)據(jù)å—典寫入語法:
  SDO_WRITE (æ§½ä½è™Ÿ, è¨(shè)備編號, 數(shù)據(jù)å—典編號, 數(shù)據(jù)å—å…¸å編號, 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)
  SDO_WRITE_AXIS (軸號, 數(shù)據(jù)å—典編號, 數(shù)據(jù)å—å…¸å編號, 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)
  示例:
  SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) 'é›»å齒輪比分åè¨(shè)為1
  SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1) 'é›»å齒輪比分æ¯è¨(shè)為1
  SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000) '電機(jÄ«)一圈脈沖數(shù)è¨(shè)為10000
  SDO_WRITE(Bus_Slot,iNode,$1010,1,7,$65766173) '寫EPPROM(寫EPPROMåŽé©…(qÅ«)動器需è¦é‡æ–°ä¸Šé›»)
  使用指令更改完æˆåŽï¼ŒæŸ¥çœ‹é©…(qÅ«)å‹•å™¨åƒæ•¸(shù)如下:
  
  
  
   二ã€è®€å–多圈編碼器值
  驅(qÅ«)動器有多圈絕å°å€¼ç·¨ç¢¼å™¨æ™‚(shÃ),å¯ä½¿ç”¨ENCORDE指令讀å–編碼器硬件寄å˜å™¨åŽŸå§‹å€¼ï¼Œå°±æ˜¯å¤šåœˆçµ•å°å€¼ï¼Œæ¤åƒæ•¸(shù)為åªè®€é¡žåž‹ã€‚åªæœ‰é…置為需è¦ä½¿ç”¨ç·¨ç¢¼å™¨çš„ATYPE時(shÃ)æ‰å¯ä»¥è®€å–。
  驅(qÅ«)動噍釿–°å•Ÿå‹•之åŽå°‡ENCORDE值清零。
  ?*ENCODER '打å°å„軸編碼器值,驅(qÅ«)動器上電åˆå§‹å€¼ç‚º0
  ?ENCODER(0) '打å°å–®è»¸ç·¨ç¢¼å™¨å€¼
  ?ENCODER AXIS(0) '打å°å–®è»¸ç·¨ç¢¼å™¨å€¼
  如下圖,使用EtherCATé©…(qÅ«)動器,帶編碼器å饋,控制軸0æŒçºŒ(xù)æ£å‘é‹(yùn)å‹•MOVE(500)ï¼Œæ¤æ™‚(shÃ)發(fÄ)é€çš„總脈沖數(shù)=UNITS*DPOS=100*500=50000。
  
  
  
  ENCORDE指令讀å–é©…(qÅ«)動器的多圈絕å°å€¼ç·¨ç¢¼å™¨çš„值,ç‰äºŽç·¨ç¢¼å™¨æª¢æ¸¬åˆ°çš„æŽ¥å—脈沖總數(shù)50000。
ã€€ã€€æ¤æ™‚(shÃ)å°‡DPOSå’ŒMPOS改變,ENCORDEçš„å€¼ä¸æœƒç™¼(fÄ)ç”Ÿè®ŠåŒ–ï¼Œå› ?yà n)楦淖鴺?biÄo)電機(jÄ«)䏿œƒé‹(yùn)動,編碼器接收脈沖數(shù)沒有改變。
  
  
  
ã€€ã€€å› ?yà n)樽xå–的是多圈絕å°å€¼ï¼Œè² (fù)æ–¹å‘é‹(yùn)å‹•ENCORDE值減å°ï¼Œæ£å‘é‹(yùn)å‹•ENCORDE值增大。
  
  
  
  æ¾ä¸‹é©…(qÅ«)動器軟件å¯å°çµ•å°å¼ç·¨ç¢¼å™¨è¨(shè)定。
  通éŽåƒæ•¸(shù)Pr0.15è¨(shè)置。
  
  
  
  Pr0.15åƒæ•¸(shù)鏿“‡èªªæ˜Žï¼šä¸‰å€‹(gè)è¨(shè)定值說明如下,上方例å為默èª(rèn)值1,作為增é‡ç·¨ç¢¼å™¨ä½¿ç”¨ã€‚
  
  
  
   三ã€é©…(qÅ«)動器IOæ“作
  驅(qÅ«)動器IN輸入的讀å–,OP的輸出
  通éŽDRIVE_IOæŒ‡ä»¤æ˜ å°„é©…(qÅ«)動器å°è±¡å—å…¸ä¸60FDhé©…(qÅ«)動器IO輸入ã€60FEhé©…(qÅ«)動器IO輸出的起始IO編號。
  驅(qÅ«)å‹•å™¨åœ¨æ˜ å°„IO信號之åŽï¼Œå¯æ ¹æ“š(jù)編號å°é©…(qÅ«)動器的IO信號進(jìn)行控制,IO信號輸出å¯ç”¨OP指令控制。
  
  
  
  Bitä½çš„值è¨(shè)為1表示ON,為0表示OFF。
  驅(qÅ«)動器IOæ˜ å°„ç¤ºä¾‹ï¼šæ˜ å°„æ£è² (fù)é™ä½ä¿¡è™Ÿ
  è¦è¨(shè)ç½®æ£ç¢ºçš„DRIVE_PROFILEE或者PDOåŽæ‰å¯ä»¥æ£å¸¸æ˜ 射輸入,也就是說DRIVE_PROFILEé©…(qÅ«)動器PDOé…置模å¼åŒ…å«60FDhå’Œ60FEh這兩個(gè)數(shù)據(jù)å—典。
  DRIVE_PROFILE(iAxis) = 5 'è¨(shè)å®šå°æ‡‰(yÄ«ng)的帶IOæ˜ å°„çš„PDO模å¼
  DRIVE_IO(iAxis) = i_IoNum 'è¨(shè)定IO起始編號
  REV_IN(iAxis) = i_IoNum 'è² (fù)é™ä½æ‡‰(yÄ«ng)60FD BIT0
  FWD_IN(iAxis) = i_IoNum + 1 'æ£é™ä½å…ˆå°æ‡‰(yÄ«ng)60FD BIT1
  DATUM_IN(iAxis) = i_IoNum + 2 '原點(diÇŽn)ä¿¡è™Ÿå°æ‡‰(yÄ«ng)60FD BIT2
  INVERT_IN(i_IoNum,ON) '特殊信號有效電平å轉(zhuÇŽn)
  INVERT_IN(i_IoNum + 1,ON)
  INVERT_IN(i_IoNum + 2,ON)
  驅(qū)動器IO輸出:
  DRIVE_PROFILE(iAxis) = 5 'è¨(shè)å®šå°æ‡‰(yÄ«ng)的帶IOæ˜ å°„çš„PDO模å¼
  DRIVE_IO(iAxis) = i_IoNum 'è¨(shè)定IO起始編號
  OP(i_IoNum,ON) '打開驅(qÅ«)動器的第一個(gè)OUTå£
  å¯åœ¨é©…(qÅ«)å‹•å™¨çš„â€œåƒæ•¸(shù)â€çª—å£ï¼Œæ‰¾åˆ°åƒæ•¸(shù)分類4,æ“作驅(qÅ«)動器的IO信號,如下圖。
  
  
  
   四ã€é©…(qÅ«)動器回零
  EtherCAT總線å¯ä½¿ç”¨æŽ§åˆ¶å™¨æä¾›çš„回零方å¼DATUM(mode),mode模å¼å€¼é¸æ“‡æŸ¥çœ‹ZBasic編程手冊的DATUM指令。EtherCAT總線也å¯ä»¥ä½¿ç”¨é©…(qÅ«)動器本身的回零模å¼ã€‚
  驅(qÅ«)動器本身回零使用DATUM(21,mode2)指令,mode2模å¼å€¼è¦æŸ¥é©…(qÅ«)動器手冊數(shù)據(jù)å—å…¸6098h回零模å¼ï¼Œå¦‚下圖所示,mode2填入尿‡‰(yÄ«ng)Value值,mode2缺çœå€¼ç‚º0,也是驅(qÅ«)動器回零模å¼ï¼Œæ³¨æ„æ¤æ™‚(shÃ)的原點(diÇŽn)é™ä½ç‰ä¿¡è™Ÿè¦æŽ¥åœ¨é©…(qÅ«)動器上,所以è¦ä½¿ç”¨é©…(qÅ«)動器回零時(shÃ)需è¦å°é©…(qÅ«)動器的IO進(jìn)è¡Œæ˜ å°„ã€‚
  
  
  
  示例:
  åˆå§‹åŒ–完æˆåŽå†é‹(yùn)行驅(qÅ«)動器回零程åºï¼ŒæŒ‰ä¸Šä¸€ç¯€(jié)的示例,將驅(qÅ«)動器的é™ä½ä¿¡è™Ÿå’ŒåŽŸé»ž(diÇŽn)ä¿¡è™Ÿæ˜ å°„åˆ°æŽ§åˆ¶å™¨çš„IO上,å†é‹(yùn)行以下回零程åºã€‚
  BASE(iAxis) '按驅(qÅ«)動器軸號é€å€‹(gè)回零
  AXIS_STOPREASON = 0
  SPEED = 100 '回零速度
  CREEP = 10 '忉¾é€Ÿåº¦
  ACCEL = 1000
  DATUM(21,2) 'é©…(qÅ«)動器回零模å¼value=2
  WAIT IDLE
  IF AXIS_STOPREASON = 0 THEN
  ?"回零æˆåŠŸ"
  ELSE
  ?"回零失敗","åœæ¢åŽŸå› ï¼š",AXIS_STOPREASON,"狀態(tà i)å—0X",HEX(DRIVE_STATUS)
  ENDIF
   五ã€åŠ›çŸ©çš„å¯¦(shÃ)時(shÃ)讀å–
  當(dÄng)PDOåŒ…å«æ•¸(shù)據(jù)å—å…¸6071h(目標(biÄo)力矩)時(shÃ),ATYPEå¯è¨(shè)置為67,周期力矩模å¼ï¼Œæ¤æ™‚(shÃ)使用DAC指令控制電機(jÄ«)以è¨(shè)置值的力矩é‹(yùn)行,DAC值范åœ0-1000ï¼Œå°æ‡‰(yÄ«ng)0-100%çš„DAC的值,比如DAC=10ï¼Œæ¤æ™‚(shÃ)電機(jÄ«)力矩=1%的力矩值。
  力矩控制時(shÃ)DACå–®ä½ç‚ºåƒåˆ†ä¹‹ä¸€ï¼Œç‰äºŽ1000時(shÃ)表示100%åŠ›çŸ©ï¼Œæ¤æ™‚(shÃ)的值ç‰äºŽæ•¸(shù)據(jù)å—å…¸6072h(è¨(shè)定最大轉(zhuÇŽn)矩)的值。
  注æ„速度模å¼å’ŒåŠ›çŸ©æ¨¡å¼åˆ‡æ›æ™‚(shÃ),先將DAC=0åŽï¼Œå†ä¿®æ”¹ATYPE,防æ¢å‡ºç¾(xià n)事故。
  SDOè®€å–æ•¸(shù)據(jù)å—å…¸6071h的值為目標(biÄo)力矩的大å°ï¼Œå³ç•¶(dÄng)å‰ç™¼(fÄ)é€çš„DAC的大å°ï¼Œæ²’有發(fÄ)é€DAC指令時(shÃ),6071h的值為0。一般當(dÄng)å‰åŠ›çŸ©6071hçš„å–å€¼èŒƒåœæ˜¯0-6072hçš„è¨(shè)定值。
  
  
  
  例如:ATYPE=67力矩模å¼
  DAC=40
  SDO_READ(0,0,$6071,0,3,0)'讀å–軸0的目標(biÄo)力矩,TABLE(0)的值變?yÅu)?0
  
  
  
  驅(qÅ«)動器力矩的讀å–å¯ä»¥åœ¨é…置的DRIVE_PROFILEåŒ…å«æ•¸(shù)據(jù)å—å…¸6077h的情æ³ä¸‹ï¼Œä½¿ç”¨DRIVE_TORQUE指令讀å–ç•¶(dÄng)å‰è»¸çš„力矩,或使用SDO_READæŒ‡ä»¤ç›´æŽ¥è®€å–æ•¸(shù)據(jù)å—å…¸6077h的值ç²å–ç•¶(dÄng)å‰åŠ›çŸ©ï¼Œèˆ‡ç›®æ¨™(biÄo)轉(zhuÇŽn)矩的值之間å¯èƒ½å˜åœ¨æ³¢å‹•,讀å–的是實(shÃ)時(shÃ)值的大å°ã€‚
  示例:
  ?DRIVE_TORQUE(0) '打å°è»¸0的力矩
  數(shù)據(jù)å—å…¸6077h用于讀å–ç•¶(dÄng)å‰åŠ›çŸ©çš„å€¼ï¼Œç¤ºä¾‹ï¼š
  SDO_READ(Bus_Slot,iNode,$6077,0,3,0)'讀å–ç•¶(dÄng)å‰åŠ›çŸ©ä¿å˜åˆ°TABLE(0)
  
  
  
   å…ã€è½‰(zhuÇŽn)矩é™åˆ¶çš„æ‡‰(yÄ«ng)用
  轉(zhuÇŽn)矩控制用于å°åˆ·æ©Ÿ(jÄ«)ã€ç¹žç·šæ©Ÿ(jÄ«)ã€æ³¨å¡‘機(jÄ«)ç‰å ´åˆï¼Œä½¿ç”¨EtherCAT總線時(shÃ),電機(jÄ«)輸出的轉(zhuÇŽn)矩與DACæŒ‡ä»¤è¼¸å…¥çš„å€¼æˆæ£æ¯”。
  為了ä¿è·(hù)機(jÄ«)臺,å¯å°è¼¸å‡ºè½‰(zhuÇŽn)矩進(jìn)行é™åˆ¶ï¼Œé›»æ©Ÿ(jÄ«)的最大轉(zhuÇŽn)矩使用6072hè¨(shè)ç½®ï¼Œå‡ºå» é»˜èª(rèn)值10。
  
  
  
  轉(zhuÇŽn)矩控制時(shÃ),電機(jÄ«)轉(zhuÇŽn)矩輸出å—DAC指令控制,但ä¸å°é›»æ©Ÿ(jÄ«)速度進(jìn)è¡ŒæŽ§åˆ¶ï¼Œå› æ¤è¼•載時(shÃ),å¯èƒ½ç™¼(fÄ)生超速ç¾(xià n)象,為了ä¿è·(hù)機(jÄ«)æ¢°ï¼Œå¿…é ˆå°é€Ÿåº¦é€²(jìn)行é™åˆ¶ã€‚
  數(shù)據(jù)å—å…¸6072h用于è¨(shè)置電機(jÄ«)的最大轉(zhuÇŽn)矩,6072h的值è¨(shè)為1000表示é¡å®šè½‰(zhuÇŽn)矩的100%;è¨(shè)為500,表示é¡å®šè½‰(zhuÇŽn)矩的50%。在EtherCAT的幾種ä¸åŒçš„æ¨¡å¼ä¸‹å‡æ”¯æŒï¼Œä¾‹å¦‚在ä½ç½®æ¨¡å¼ä¸‹å¯ä»¥è¨(shè)置最大å…許的力矩,使用MOVEç‰é‹(yùn)動指令控制電機(jÄ«)é‹(yùn)è¡Œï¼Œæ¤æ™‚(shÃ)電機(jÄ«)速度按照SPEEDåƒæ•¸(shù)é‹(yùn)動,若目標(biÄo)ä½ç½®è¨(shè)置的更大,這樣碰到阻礙物åŽï¼Œé€Ÿåº¦å—到é™åˆ¶ï¼Œåªèƒ½ç™¼(fÄ)出來è¨(shè)定的最大力矩。
  SDO指令讀å–示例:
  SDO_READ(0,0,$6072,0,3,0) 'è®€å–æ•¸(shù)據(jù)ä¿å˜åˆ°TABLE(0),值為5000
  
  
  
   七ã€é›»æ©Ÿ(jÄ«)極性è¨(shè)ç½®
  電機(jÄ«)極性(旋轉(zhuÇŽn)æ–¹å‘)é€šéŽæ•¸(shù)據(jù)å—å…¸607Ehè¨(shè)定,有8個(gè)bit值å¯è¨(shè)定,如下圖,極性ä¸å轉(zhuÇŽn)的時(shÃ)候,將607Ehçš„bit7-5å‡è¨(shè)為0;極性å轉(zhuÇŽn)的時(shÃ)候,將607Ehçš„bit7-4å‡è¨(shè)為1;å…¶ä½™ä½bit4-0å‡è¨(shè)為0。
  
  
  
  è¨(shè)置方法:將607Eh的值è¨(shè)為224時(shÃ),符號有å轉(zhuÇŽn)ï¼Œçµ¦æ£æ–¹å‘指令,電機(jÄ«)旋轉(zhuÇŽn)æ–¹å‘?yà n)镃W(é †æ™‚(shÃ)é‡);å°‡607Eh的值è¨(shè)為0時(shÃ),符號無å轉(zhuÇŽn)ï¼Œçµ¦æ£æ–¹å‘指令,電機(jÄ«)旋轉(zhuÇŽn)æ–¹å‘?yà n)镃CW(逆時(shÃ)é‡);電機(jÄ«)旋轉(zhuÇŽn)æ–¹å‘è¦(guÄ«)定åƒè¦‹ä¸‹åœ–。
  
  
  
  è¨(shè)置示例:
  使用驅(qÅ«)動器軟件或SDO指令æ“作數(shù)據(jù)å—å…¸607Eh。
  SDO_READ(Bus_Slot,iNode,$607E,0,5,0) 'è®€å–æ¥µæ€§ä¿å˜åˆ°TABLE(0)
  SDO_WRITE(Bus_Slot,iNode,$607E,0,5,$E0) '極性è¨(shè)ç½®
  
  
  
  驅(qÅ«)動器軟件è¨(shè)ç½®ï¼šå¯æŸ¥çœ‹æˆ–修改è¨(shè)定值,值為224時(shÃ),給æ£å‘é‹(yùn)å‹•åƒæ•¸(shù),電機(jÄ«)é †æ™‚(shÃ)釿—‹è½‰(zhuÇŽn)。
  
  
  
   å…«ã€é©…(qÅ«)å‹•å™¨å…¶ä»–åƒæ•¸(shù)è¨(shè)ç½®
  驅(qÅ«)å‹•å™¨çš„å‡ºå» è¨(shè)置一般沒有å轉(zhuÇŽn)IO電平,會導(dÇŽo)致驅(qÅ«)動器é™ä½å ±(bà o)è¦ï¼Œå‡ºç¾(xià n)é™ä½å ±(bà o)è¦ä¹‹åŽï¼Œè¦æ ¹æ“š(jù)é©…(qÅ«)動器手冊è¨(shè)ç½®é™ä½é›»å¹³å轉(zhuÇŽn)。比如æ¾ä¸‹ä¼ºæœè¦å°‡Pr4.01ã€Pr4.02çš„åƒæ•¸(shù)分別è¨(shè)置為010101h(65793)ã€020202h(131586)。
  IOè¼¸å…¥å‡ºå» é»˜èª(rèn)值(下圖顯示å進(jìn)制):
  
  
  
  å¯åœ¨é©…(qÅ«)動器軟件上直接修改Pr4.01ã€Pr4.02的值,也å¯ä»¥é€šéŽSDO_write指令è¨(shè)置數(shù)據(jù)å—å…¸3401hå’Œ3402hè¨(shè)ç½®æ£è² (fù)é™ä½çš„電平。
  SDO指令è¨(shè)ç½®æ£è² (fù)é™ä½çš„示例:
  SDO_WRITE(Bus_Slot,iNode,$3401,0,4,$10101)'æ£é™ä½é›»å¹³ï¼Œå‡ºå» 值$818181
  SDO_WRITE(Bus_Slot,iNode,$3402,0,4,$20202)'è² (fù)é™ä½é›»å¹³ï¼Œå‡ºå» 值$828282
  修改åŽçš„å€¼ï¼Œå¯æŸ¥çœ‹æ•¸(shù)據(jù)å—å…¸çš„å€¼ï¼Œæˆ–æŸ¥çœ‹åƒæ•¸(shù)分類。
  
  
  
  
ã€€ã€€å…¶ä»–åƒæ•¸(shù)çš„è¨(shè)ç½®å‡å¯åœ¨â€œå°è±¡ç·¨è¼¯å™¨â€çª—壿ˆ–â€œåƒæ•¸(shù)â€çª—å£ç›´æŽ¥ä¿®æ”¹ï¼Œä¿®æ”¹å®Œæˆä¿å˜åˆ°EEPROM,驅(qÅ«)動噍釿–°ä¸Šé›»ç”Ÿæ•ˆã€‚
  《EtherCAT總線é‹(yùn)動控制器應(yÄ«ng)用進(jìn)階一》就講到這里。更多å¸(xué)ç¿’(xÃ)è¦–é »åŠåœ–文詳解請關(guÄn)注我們的公眾號“æ£é‹(yùn)å‹•å°åŠ©æ‰‹â€ã€‚
  本文由æ£é‹(yùn)動技術(shù)原創(chuà ng),æ¡è¿Žå¤§å®¶è½‰(zhuÇŽn)載,共åŒå¸(xué)ç¿’(xÃ),一起æé«˜ä¸åœ‹æ™ºèƒ½åˆ¶é€ æ°´å¹³ã€‚æ–‡ç« ç‰ˆæ¬Š(quán)æ¸æ£é‹(yùn)動技術(shù)所有,如有轉(zhuÇŽn)è¼‰è«‹æ³¨æ˜Žæ–‡ç« ä¾†æºã€‚
  
  
標(biÄo)簽:
上一篇:案例分享 | å€ç¦é›†æˆå¼æ¨“宇管...
下一篇:åˆä¿¡å¾®èª²å ‚上線ï¼HMI產(chÇŽn)å“åŠMa...
ä¸åœ‹å‚³å‹•ç¶²(wÇŽng)版權(quán)與å…責(zé)è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹å‚³å‹•ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(wÇŽng)(www.hysjfh.com)ç¨(dú)家所有。如需轉(zhuÇŽn)載請與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個(gè)人轉(zhuÇŽn)載使用時(shÃ)é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責(zé)任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² (fù)版權(quán)法律責(zé)任。
相關(guÄn)資訊