日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Power PMAC运动控制器 —— 学习笔记7

發布時間:2024/3/7 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Power PMAC运动控制器 —— 学习笔记7 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要說明Power PMAC中EtherCAT通信的驅動器下循環力矩模式(CST)的使用,主要通過操作PDO實現,對于循環速度模式(CSV)同上。

  • 第一步:設置System時鐘(默認1kHz),EtherCAT下的循環力矩模式建議設置4kHz+,通過Sys.ServoPeriod設置,單位為kHz。注意:ServoPeriod單位為ms,且必須為62.5μs的倍數。

    若軸過多,4kHz+可能出現通信失敗,需嘗試降低通信頻率!!!

    其他相關的幾個狀態結構有:

    • Sys.ServoPeriod
    • Sys.ServoTime
    • Sys.RtIntPeriod
    • Sys.RtIntTime
    • Sys.RunTime
  • 第二步:添加EtherCAT主站,注意PowerPMAC的Servo clock必須和主站的Cycle Time匹配。

  • 第三步:掃描EtherCAT網絡

  • 第四步:配置從站時鐘,分布式時鐘默認與主站相同,如自定義可開啟【覆寫模式】,具體設置參考Power PMAC IDE手冊P226。

  • 第五步:配置從站PDO,PDO的設置參考DS402,Elmo驅動器ESI默認是位置模式,這里我們選滿足三種循環操作模式的兩個PDO組合。

  • 第六步:設置初始化命令,默認循環位置模式(CSP=8),在此修改默認循環位置后,電機軸的操作模式及硬件接口將會自動配置,但也要檢查自動配置信息是否正確。

模式模式值
Cyclic sync position mode8
Cyclic sync velocity mode9
Cyclic sync torque mode10

  • 第七步,加載映射到PMAC

  • 第八步:添加EtherCAT電機(本文未使用軸的方式,直接通過操作PDO實現的電機控制)

  • 第九步:使能EtherCAT

  • 第十步:關閉Power PMAC伺服程序,通過Motor[x].ServoCtrl=0實現,賦值為0后,Motor[x].IqCmd將無數據輸出,注意,使用Motor[x]結構體時只能在配置有電機軸以后才能使用。

  • 第十一步:查看PMAC Script Language -> Global Includes -> ECATMap.pmh,以此為參照,通過ECAT的IO進行操作(如程序已下載到PMAC中,則可通過宏進行操作)

//------------------------------------------------------------------------------ // <auto-generated> // This code was generated by PowerPMAC IDE. // Date: 2/21/2021, Time: 10:43 AM // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // </auto-generated> //------------------------------------------------------------------------------// Slave_1001 [Elmo Drive ] Station Address-1001 #define Slave_1001_ElmoDrive_1001_Index 0// Inputs #define Slave_1001_ElmoDrive_1001_6064_0_Positionactualvalue ECAT[0].IO[4096].Data #define Slave_1001_ElmoDrive_1001_60F4_0_PositionFollowingerroractualvalue ECAT[0].IO[4097].Data #define Slave_1001_ElmoDrive_1001_6077_0_Torqueactualvalue ECAT[0].IO[4098].Data #define Slave_1001_ElmoDrive_1001_6041_0_Statusword ECAT[0].IO[4099].Data #define Slave_1001_ElmoDrive_1001_6061_0_Modeofoperationdisplay ECAT[0].IO[4100].Data// Outputs #define Slave_1001_ElmoDrive_1001_607A_0_TargetPosition ECAT[0].IO[0].Data #define Slave_1001_ElmoDrive_1001_60FF_0_TargetVelocity ECAT[0].IO[1].Data #define Slave_1001_ElmoDrive_1001_6071_0_TargetTorque ECAT[0].IO[2].Data #define Slave_1001_ElmoDrive_1001_6072_0_MaxTorque ECAT[0].IO[3].Data #define Slave_1001_ElmoDrive_1001_6040_0_Controlword ECAT[0].IO[4].Data #define Slave_1001_ElmoDrive_1001_6060_0_Modeofoperation ECAT[0].IO[5].Data
  • 第十二步:通過PDO接口操作電機,命令如下:
// 設置電機操作模式為循環力矩模式(CST) ECAT[0].IO[5].Data = 10// 設置電機最大力矩,此處對應電機峰值電流大小,單位為mA ECAT[0].IO[3].Data = 20500// 通過控制字使能電機,使能以后驅動器會有電流聲 ECAT[0].IO[4].Data = 6 // 通信前的準備 ECAT[0].IO[4].Data = 7 // 掉電 ECAT[0].IO[4].Data = 15 // 使能// 寫入目標力矩,目標力矩的計算參照下文,此處303代表目標轉矩為2A ECAT[0].IO[2].Data = 303

關于狀態字切換,參照該文:傳送門

控制字 control word:

6------ -------7-------------15-------------7 通信前的準備 電機去使能 電機使能 電機去使能

Tips:

  • 通信準備工作 control word=6;
  • 在進行控制前,先設置操作模式 mode of operation 在使能電機;
  • 模式切換,先去使能control word =7, 在重新設置模式。
    • 0x6075:電機額定電流,對應驅動器CL[1](單位A),0x6075電流單位為mA
    • 0x6072:Max Torque,對應驅動器PL[1](單位A),0x6072單位為mA
    • 0x6073:Max Current,計算方式為:(0x6072 * 1000)/ 0x6075
    • 0x6071:目標力矩,計算方式為:目標電流(mA) * 1000 / 0x6075
    • 0x6077:實際電流值(mA),對應驅動器的IQ(A)

    本文電機峰值電流為20.5A,連續電流為6.6A,假設目標電流為2A,則下發CST的命令大小應為:
    2000mA?1000/6600mA=3032000mA * 1000 / 6600mA = 3032000mA?1000/6600mA=303

    總結

    以上是生活随笔為你收集整理的Power PMAC运动控制器 —— 学习笔记7的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。