超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

EtherCAT總線運動控制器應用進階一

發布日期:2022-04-25 點擊率:54

  • 關鍵詞:正運動技術,EtherCAT,線運動控制器


  • 摘要:前面一節我們講了EtherCAT總線快速入門,包括初始化使能、控制模式的特點和切換、基礎設置等,本節主要圍繞EtherCAT總線的參數設置展開說明。


01準備工作


一、材料準備


1.硬件


A.ZMC432控制器一臺,帶EtherCAT總線接口。


B.松下EtherCAT伺服驅動器+電機一套


C.電腦一臺。


D.帶屏蔽層網線兩根。


E.24V直流電源一個。


F.接線端子與連接線若干。


2.軟件


A.ZDevelop V3.10版本控制器編程軟件。


從正運動官網www.zmotion.com.cn下載壓縮包,解壓后直接運行應用程序,無需安裝。


B.松下伺服驅動器上位機調試軟件。


從松下官網下載后安裝。


image.png


二、硬件接線

1.控制器接線


控制器接口的用途參見下圖。


image.png


A.主電源:將控制器主電源接線端子上的E+24V端子接入24V直流電源正極,將EGND端子接入24V直流電源負極。


B.以太網EtherNET端口接線:使用一根網線將控制器的EtherNET端口與電腦的以太網口相連。


C.伺服驅動器與控制器接線:使用一根網線將控制器的EtherCAT總線端口與伺服驅動器的X2A或X2B口相連。


image.png

注意伺服驅動器的EtherCAT接口有兩個,有些驅動器這兩個口可以隨意接,有些分為EtherCAT IN和EtherCAT OUT,IN口接上一級設備,OUT口接下一級設備,二者不能混用,要注意連接順序。


多軸控制時伺服驅動器的EtherCAT OUT口再連接下一級驅動設備的EtherCAT IN口,依此類推。


2.驅動器接線


伺服驅動器與電機和編碼器的接線參見驅動器手冊,將驅動器接入220V市電。


02控制器與電腦連接


控制器與電腦可以通過串口或網口連接,下面以網口連接例展開說明。


一、網口通訊操作方法

先將控制器與電腦用網線連接好,接通控制器的電源,再打開ZDevelop編程軟件,點擊菜單欄“控制器”→“連接”,打開“連接到控制器”窗口。


image.png


通過“連接到控制器”窗口,可以快速查看本機IP,對比控制器與電腦是否處于同一網段。


IP地址列表下拉選擇時,會自動查找當前局域網可用的控制器IP地址(控制器上電POWER燈和RUN燈亮的時候就能查找到該控制器的IP地址)。


同一個網絡有多個控制器的時候,IP的下拉列表若沒有顯示目標控制器的IP地址,可以采取IP掃描來查看當前所有可用的控制器IP地址,掃描完成之后確定關閉此窗口,重新在IP下拉列表選擇。


image.png


選擇正確的IP地址,點擊連接之后,編程軟件與控制器連接成功,在線命令與輸出窗口打印信息提示。


image.png


控制器出廠的缺省IP地址為192.168.0.11,“連接到控制器”窗口能顯示出本機IP地址,請注意設置有線網卡與無線網卡各自的IP。電腦需要設置IP地址與控制器IP處于同一網段才能連接,即四段的前三段要相同,最后一段不同才能通訊。


若控制器與電腦不處于同一網段,則需要修改控制器或電腦其中之一的IP地址,使二者處于同一網段。


修改控制器IP地址需要先使用串口連接控制器,獲取控制器IP地址,然后修改本機IP或控制器IP使二者處于同一網段。


二、修改控制器IP地址

先使用串口連接控制器,獲取控制器IP地址,再修改控制器IP地址。


方法一:可以通過菜單欄“控制器”→“修改IP地址”窗口直接修改控制器IP地址。

image.png


方法二:通過IP_ADDRESS指令發送在線命令修改。


指令發送修改成功之后自動斷開連接,在線命令打印控制器連接錯誤信息,通過網口連接選擇新IP地址192.168.0.23再次連接控制器,IP地址修改成功后永久有效。


image.png


三、修改本機IP地址

以WIN10為例,在開始菜單里打開控制面板,打開“網絡和Internet”。


image.png


再打開“網絡與共享中心”。


image.png


點擊“以太網”。


image.png


在“以太網狀態”窗口點擊“屬性”,打開“以太網屬性”窗口,找到Internet協議版本4(TCP/IPv4)打開,就能看到本機IP地址修改窗口,勾選“使用下面的IP地址”,在IP地址輸入欄里修改IP,將本機IP改為和控制器IP處于同一網段,修改完成點擊“確認”即可成功修改IP。


再次打開“連接到控制器”窗口嘗試連接到控制器。


image.png


03DPOS與MPOS的區別


DPOS為用戶定義的目標位置,即控制器發出的指令位置,單位是UNITS,該值的大小等于控制器實際發送脈沖數,除以脈沖當量得出。


寫DPOS會自動轉換為DEFPOS絕對坐標位置偏移,不會移動電機。


MPOS為用戶單位的軸測量位置,也稱為實際位置,單位是UNITS。該值是由編碼器測量得出的軸實際位置,接在伺服電機上的編碼器用于測量電機的轉角與轉速,MPOS的值正常情況下會跟隨DPOS值,該值的大小等于編碼器測得實際脈沖數,除以脈沖當量得出。沒有編碼器的場合,軸的MPOS值自動復制DPOS的值。


寫MPOS會自動轉換為DEFPOS絕對坐標位置偏移。


部分電機有一定跟隨誤差的(DPOS-MPOS),這個和機械和電機本身剛性都有關系,機械越好,電機越好,調的剛性越足,則跟隨誤差越小,但跟隨誤差永遠存在,不可能消除,并且在實時變化,實際應用中盡量把機械剛性和電機剛性提高,讓跟隨誤差盡量減小,速度盡量平滑,使得MPOS更準確。


另外SPEED為控制器給定速度,MSPEED為編碼器的實際測量反饋速度。


如下圖,軸類型ATYPE=65,EtherCAT周期位置模式,帶編碼器反饋,故脈沖信號輸出與編碼器反饋信號均在軸0上,此時MPOS為真,跟隨DPOS。


image.png


ATYPE=4或65或50模式時,軸號上均帶編碼器反饋。


OFFPOS指令相對偏移修改所有的坐標,不會對已運行/進入緩沖區的運動產生影響。


DEFPOS指令設置當前軸位置為一個新的絕對位置值,不會對已運行/進入緩沖區的運動產生影響。


示例:


base(0,1)            '選擇軸0,軸1

DPOS=100,100         '設置當前位置為100,100

?DPOS(0),DPOS(1)     '打印確認,當前位置為100,100

OFFPOS=10,20         '多次調用OFFPOS相對位置

OFFPOS=10,20

?DPOS(0),DPOS(1)     '此時當前位置變為120,140

DEFPOS(10,20)        '設置當前位置為10,20

?DPOS(0),DPOS(1)     '當前位置為10,20


04EtherCAT伺服驅動器

參數設置


一、電子齒輪比的應用

伺服電機電子齒輪比就是伺服對接收到的控制器脈沖頻率進行放大或者縮小,其中一個參數為分子,一個為分母。分子與分母比值大于1就是放大,比值小于1就是縮小,比值等于1時電機接受脈沖數等于控制器發出脈沖數。


計算公式:電機接收的實際脈沖數=控制器發送脈沖數*電子齒輪比


例如:控制器發出脈沖10000個,電子齒輪比分子設為1,分母設為2,電子齒輪比為0.5,那么伺服實際運行按照5000個脈沖來進行。控制器發出脈沖10000個,電子齒輪比分子設為2,分母設為1,電子齒輪比為2,那么伺服實際運行按照20000個脈沖來進行。


松下驅動器電子齒輪的比值在1000-1/1000的范圍內有效。


電子齒輪比通過數據字典6091h的子字典01h和02h的比值設定。6091h-01h設置電子齒輪比的分子,6091h-02h設置電子齒輪比的分母。


image.png


數據字典6092h的子字典01h用以設定電機旋轉一圈所需脈沖數,一般根據編碼器的分辨率設置,6092h的子字典02h的值默認為1。


image.png


電子齒輪比等驅動器的相關參數修改,可以通過驅動器軟件直接修改,或使用SDO指令讀寫對應的數據字典進行配置。


1.驅動器軟件修改電子齒輪比


修改驅動器參數先連接驅動器,可選USB線或WLAN連接驅動器,使用USB線連接電腦與驅動器端的X1端口,給驅動器上電,打開松下驅動器軟件PANATERM,彈出“選擇與驅動器通信”窗口,選擇與驅動器通過USB連接后,自動獲取到驅動器信息顯示在窗口內,點擊OK連接成功,就能對驅動器進行設置。 


image.png


點擊菜單欄“顯示”→“對象編輯器”,打開如下窗口,找到需要設置的數據字典,在“Setting Value”一欄直接修改數據字典的內容。


修改完成將參數傳送給驅動器,并寫入驅動器的EEPROM,驅動器再次上電后參數生效。


圖中電子齒輪比=1:1,電機旋轉一圈脈沖數10000。


image.png


2.SDO指令修改電子齒輪比


SDO指令包含數據字典讀取SDO_READ、SDO_READ_AXIS和數據字典寫入SDO_WRITE、SDO_WRITE_AXIS。


數據字典讀取語法:


SDO_READ (槽位號, 設備編號, 數據字典編號, 數據字典子編號, 數據類型, 讀取數據存儲TABLE位置)


SDO_READ_AXIS (軸號, 數據字典編號, 數據字典子編號, 數據類型, 讀取數據存儲TABLE位置)


數據字典寫入語法:


SDO_WRITE (槽位號, 設備編號, 數據字典編號, 數據字典子編號, 數據類型, 寫入數據值)


SDO_WRITE_AXIS (軸號, 數據字典編號, 數據字典子編號, 數據類型, 寫入數據值)


示例:


SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1)        '電子齒輪比分子設為1

SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1)        '電子齒輪比分母設為1

SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000)    '電機一圈脈沖數設為10000

SDO_WRITE(Bus_Slot,iNode,$1010,1,7,$65766173)'寫EPPROM(寫EPPROM后驅動器需要重新上電)

使用指令更改完成后,查看驅動器參數如下:


image.png


二、讀取多圈編碼器值

驅動器有多圈絕對值編碼器時,可使用ENCORDE指令讀取編碼器硬件寄存器原始值,就是多圈絕對值,此參數為只讀類型。只有配置為需要使用編碼器的ATYPE時才可以讀取。


驅動器重新啟動之后將ENCORDE值清零。


?*ENCODER            '打印各軸編碼器值,驅動器上電初始值為0

?ENCODER(0)          '打印單軸編碼器值

?ENCODER  AXIS(0)    '打印單軸編碼器值

如下圖,使用EtherCAT驅動器,帶編碼器反饋,控制軸0持續正向運動MOVE(500),此時發送的總脈沖數=UNITS*DPOS=100*500=50000。


image.png


ENCORDE指令讀取驅動器的多圈絕對值編碼器的值,等于編碼器檢測到的接受脈沖總數50000。


此時將DPOS和MPOS改變,ENCORDE的值不會發生變化,因為改坐標電機不會運動,編碼器接收脈沖數沒有改變。


因為讀取的是多圈絕對值,負方向運動ENCORDE值減小,正向運動ENCORDE值增大。


image.png


松下驅動器軟件可對絕對式編碼器設定。


通過參數Pr0.15設置。


image.png


Pr0.15參數選擇說明:三個設定值說明如下,上方例子為默認值1,作為增量編碼器使用。


image.png


三、驅動器IO操作

操作驅動器輸入、輸出之前,通過DRIVE_IO指令映射驅動器對象字典中60FDh驅動器IO輸入、60FEh驅動器IO輸出的起始IO編號。


驅動器在映射IO信號之后,可根據編號對驅動器的IO信號進行控制,IO信號輸出可用OP指令控制。


image.png


Bit位的值設為1表示ON,為0表示OFF。


驅動器IO映射示例:映射正負限位信號


要設置正確的DRIVE_PROFILE或者PDO后才可以正常映射輸入,也就是說DRIVE_PROFILE驅動器PDO配置模式包含60FDh和60FEh這兩個數據字典。


DRIVE_PROFILE(iAxis) = 5       '設定對應的帶IO映射的PDO模式

DRIVE_IO(iAxis) = i_IoNum      '設定IO起始編號

REV_IN(iAxis) = i_IoNum        '負限位應60FD BIT0

FWD_IN(iAxis) = i_Ionum + 1    '正限位先對應60FD BIT1

DATUM_IN(iAxis) = i_Ionum + 2  '原點信號對應60FD BIT2

INVERT_IN(i_IoNum,ON)          '特殊信號有效電平反轉

INVERT_IN(i_Ionum + 1,ON)

INVERT_IN(i_Ionum + 2,ON)

驅動器IO輸出:


DRIVE_PROFILE(iAxis) = 5'設定對應的帶IO映射的PDO模式

DRIVE_IO(iAxis) = i_IoNum'設定IO起始編號

OP(i_IoNum,ON)     '打開驅動器的第一個OUT口


可在驅動器的“參數”窗口,找到參數分類4,操作驅動器的IO信號,如下圖。


image.png


四、驅動器回零

EtherCAT總線可使用控制器提供的回零方式DATUM(mode),mode模式值選擇查看ZBasic編程手冊的DATUM指令。EtherCAT總線也可以使用驅動器本身的回零模式。


驅動器本身回零使用DATUM(21,mode2)指令,mode2模式值要查驅動器手冊數據字典6098h回零模式,如下圖所示,mode2填入對應Value值,mode2缺省值為0,也是驅動器回零模式,注意此時的原點限位等信號要接在驅動器上,所以要使用驅動器回零時需要對驅動器的IO進行映射。


image.png


示例:


初始化完成后再運行驅動器回零程序,按上一節的示例,將驅動器的限位信號和原點信號映射到控制器的IO上,再運行以下回零程序。


base(iAxis)  '按驅動器軸號逐個回零

AXIS_STOPREASON = 0

SPEED = 100 '回零速度

CREEP = 10  '反找速度

ACCEL = 1000

DATUM(21,2) '驅動器回零模式value=2

WAIT IDLE

IF AXIS_STOPREASON = 0 THEN

?"回零成功"

ELSE

?"回零失敗","停止原因:",AXIS_STOPREASON,"狀態字0X",HEx(DRIVE_STATUS)

ENDIF

五、力矩的實時讀取

當PDO包含數據字典6071h(目標力矩)時,ATYPE可設置為67,周期力矩模式,此時使用DAC指令控制電機以設置值的力矩運行,DAC值范圍0-1000,對應0-100%的DAC的值,比如DAC=10,此時電機力矩=1%的力矩值。


力矩控制時DAC單位為千分之一,等于1000時表示100%力矩,此時的值等于數據字典6072h(設定最大轉矩)的值。


注意速度模式和力矩模式切換時,先將DAC=0后,再修改ATYPE,防止出現事故。 


SDO讀取數據字典6071h的值為目標力矩的大小,即當前發送的DAC的大小,沒有發送DAC指令時,6071h的值為0。一般當前力矩6071h的取值范圍是0-6072h的設定值。


image.png

示例:ATYPE=67力矩模式


DAC=40


SDO_READ(0,0,$6071,0,3,0)'讀取軸0的目標力矩,TABLE(0)的值變為40


image.png


驅動器力矩的讀取可以在配置的DRIVE_PROFILE包含數據字典6077h的情況下,使用DRIVE_TORQUE指令讀取當前軸的力矩,或使用SDO_READ指令直接讀取數據字典6077h的值獲取當前力矩,與目標轉矩的值之間可能存在波動,讀取的是實時值的大小。


示例:


?DRIVE_TORQUE(0)     '打印軸0的力矩


示例:數據字典6077h用于讀取當前力矩的值


SDO_READ(Bus_Slot,iNode,$6077,0,3,0)'讀取當前力矩保存到TABLE(0)


image.png


六、轉矩限制的應用

轉矩控制用于印刷機、繞線機、注塑機等場合,使用EtherCAT總線時,電機輸出的轉矩與DAC指令輸入的值成正比。


為了保護機臺,可對輸出轉矩進行限制,電機的最大轉矩使用6072h設置,出廠默認值10。


image.png


轉矩控制時,電機轉矩輸出受DAC指令控制,但不對電機速度進行控制,因此輕載時,可能發生超速現象,為了保護機械,必須對速度進行限制。


數據字典6072h用于設置電機的最大轉矩,6072h的值設為1000表示額定轉矩的100%;設為500,表示額定轉矩的50%。在EtherCAT的幾種不同的模式下均支持,例如在位置模式下可以設置最大允許的力矩,使用MOVE等運動指令控制電機運行,此時電機速度按照SPEED參數運動,若目標位置設置的更大,這樣碰到阻礙物后,速度受到限制,只能發出來設定的最大力矩。


SDO指令讀取示例:


SDO_READ(0,0,$6072,0,3,0)   '讀取數據保存到TABLE(0),值為5000


image.png


七、電機極性設置

電機極性(旋轉方向)通過數據字典607Eh設定,有8個bit值可設定,如下圖,極性不反轉的時候,將607Eh的bit7-5均設為0;極性反轉的時候,將607Eh的bit7-5均設為1;其余位bit4-0均設為0。


image.png


設置方法:將607Eh的值設為224時,符號有反轉,給正方向指令,電機旋轉方向為CW(順時針);將607Eh的值設為0時,符號無反轉,給正方向指令,電機旋轉方向為CCW(逆時針);電機旋轉方向規定參見下圖。


image.png

設置示例:


使用驅動器軟件或SDO指令操作數據字典607Eh。


SDO_READ(Bus_Slot,iNode,$607E,0,5,0) '讀取極性保存到TABLE(0)


SDO_WRITE(Bus_Slot,iNode,$607E,0,5,$E0) '極性設置


image.png

驅動器軟件設置:可查看或修改設定值,值為224時,給正向運動參數,電機順時針旋轉。


image.png


八、驅動器其他參數設置

驅動器的出廠設置一般沒有反轉IO電平,會導致驅動器限位報警,出現限位報警之后,要根據驅動器手冊設置限位電平反轉。比如松下伺服要將Pr4.01、Pr4.02的參數分別設置為010101h(65793)、020202h(131586)。


IO輸入出廠默認值(下圖顯示十進制):


image.png


可在驅動器軟件上直接修改Pr4.01、Pr4.02的值,也可以通過SDO_write指令設置數據字典3401h和3402h設置正負限位的電平。


SDO指令設置正負限位的示例:


SDO_WRITE(Bus_Slot,iNode,$3401,0,4,$10101)'正限位電平,出廠值$818181


SDO_WRITE(Bus_Slot,iNode,$3402,0,4,$20202)'負限位電平,出廠值$828282


修改后的值,可查看數據字典的值,或查看參數分類。


image.png


其他參數的設置均可在“對象編輯器”窗口或“參數”窗口直接修改,修改完成保存到EEPROM,驅動器重新上電生效。


05EtherCAT總線

初始化程序



此初始化程序為通用版本,使用時只需更改個別全局定義的參數即可。


運動控制模塊根據實際使用情況編寫。


'**********ECAT總線初始化主程序***********

global ConST PUL_AxisStart = 0  '本地脈沖軸起始軸號

global ConST PUL_AxisNum = 0     '本地脈沖軸軸數量

global ConST Bus_AxisStart = 6   '總線軸起始軸號

global ConST Bus_NodeNum = 1     '總線配置節點數量,用于判斷實際檢測到的從站數量是否一致

global  MAX_AXISNUM              '最大軸數

MAX_AXISNUM = SYS_ZFEATURE(0)    '自動獲取控制器支持的軸數

global Bus_InitStatus            '總線初始化完成狀態

Bus_InitStatus = -1

global  Bus_TotalAxisnum         '檢查掃描的總軸數

delay(3000)      '延時3S等待驅動器上電,不同驅動器自身上電時間不同,具體根據驅動器調整延時

?"總線通訊周期:",SERVO_PERIOD,"us"

Ecat_Init()      '初始化ECAT總線 

while (Bus_InitStatus = 0)

  Ecat_Init()

wend

if Bus_InitStatus  = 1 then     '總線初始化是否完成

  main()          '運動控制模塊 

endif

END

'************ECAT總線初始化**********

'初始流程:  slot_scan(掃描總線) ->   從站節點映射軸/io  ->  SLOT_START(啟動總線) -> 初始化成功

'***********************************

global sub Ecat_Init()

  LOCAL  Node_Num           '節點設備編號

  LOCAL  Temp_Axis           '當前總線軸的軸號

  LOCAL  Drive_Vender        '當前設備廠商編號

  LOCAL  Drive_Device        '設備編號

  LOCAL  Drive_Alias         '設備撥碼ID

  RAPIDSTOP(2)

  for i=0 to MAX_AXISNUM - 1  '初始化還原軸類型          

    AXIS_ENABLE(i) = 0        '關軸使能

    atype(i)=0                '設置為虛擬軸

    AXIS_ADDRESS(i) =0

    DELAY(10)              '防止所有驅動器全部同時切換使能導致瞬間電流過大

  next

  Bus_InitStatus = -1

  Bus_TotalAxisnum = 0    '將掃描的總線總軸數置0

  SLOT_STOP(0)        

  delay(200)

  slot_scan(0)                      '掃描總線

  if return then 

    ?"總線掃描成功","連接從站設備數:"NODE_COUNT(0)

    if NODE_COUNT(0) <> Bus_NodeNum then    '判斷總線檢測數量是否為實際接線數量

      ?""  

      ?"掃描節點數量與程序配置數量不一致!" ,"配置數量:"Bus_NodeNum,"檢測數量:"NODE_COUNT(0)

      Bus_InitStatus = 0    '初始化失敗。報警提示

      'return

    endif   

    '"開始映射軸號"

    for Node_Num=0 to NODE_COUNT(0)-1                  '遍歷掃描到的所有從站節點

      Drive_Vender = NODE_INFO(0,Node_Num,0)           '讀取設備廠商

      Drive_Device = NODE_INFO(0,Node_Num,1)           '讀取設備編號

      Drive_Alias = NODE_INFO(0,Node_Num,3)             '讀取設備撥碼ID

      if NODE_AXIS_COUNT(0,Node_Num) <> 0  then         '判斷當前節點是否有電機

        for j=0 to NODE_AXIS_COUNT(0,Node_Num)-1        '根據節點帶的電機數量循環配置軸參數(針對一拖多驅動器)

          Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum  '軸號按NODE順序分配,總線開始軸號+總線掃描軸號

          'Temp_Axis = Drive_Alias                      '軸號按驅動器設定的撥碼分配(一拖多需要特殊處理)          

          base(Temp_Axis)

          AXIS_ADDRESS(Temp_Axis)= (0<<16)+ Bus_TotalAxisnum + 1  '映射軸號

          ATYPE=65    '設置控制模式 65-位置 66-速度 67-轉矩   

          disable_group(Temp_Axis)                     '每軸單獨分組

          Bus_TotalAxisnum=Bus_TotalAxisnum+1          '總軸數+1

        next

      else                  'IO擴展模塊

        Sub_SetNodeIo(Node_Num,Drive_Vender,Drive_Device,1024 + 32*Node_Num)    '映射擴展模塊IO

        ?"擴展IO映射完成"  

      endif

    next

    ?"軸號映射完成","連接總軸數:"Bus_TotalAxisnum

    wa 200

    SLOT_START(0)        '啟動總線

    if return then 

      wdog=1              '使能總開關

      '?"開始清除驅動器錯誤"

      for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 

        base(i)

        DRIVE_CLEAR(0)

        DELAY 50

        '?"驅動器錯誤清除完成"

        datum(0)            '清除控制器軸狀態錯誤"

        wa 100  

        '"軸使能"

        AXIS_ENABLE=1

      next

      Bus_InitStatus  = 1

      ?"軸使能完成"

      '本地脈沖軸配置

      for i = 0 to PUL_AxisNum - 1

        base(PUL_AxisStart + i)

        AXIS_ADDRESS  = (-1<<16) +  i

        ATYPE = 4

      next

      ?"總線開啟成功"      

    else

      ?"總線開啟失敗"

      Bus_InitStatus = 0

    endif  

  else

    ?"總線掃描失敗"

    Bus_InitStatus = 0

  endif

end sub

'********總線IO模塊映射********

'通過NODE_IO(0,Node_Num)分配模塊IO起始地址,不使用擴展模塊的時候刪掉此段

'*****************************

global sub Sub_SetNodeIo(iNode,iVender,iDevice,i_IoNum)

  if  iVender = $41B then    '正運動IO擴展模塊

    NODE_IO(0,iNode) = i_IoNum

    'NODE_AIO(0,iNode) = 4*(iNode+1)

    ?"IO映射成功"

  endif

end sub


'**********運動控制模塊********

'初始化完成后,使用運動控制指令控制ECAT總線軸運動

'*****************************

global sub main()

  RAPIDSTOP(2)

  WAIT IDLE

  base(6,7)          '選擇總線軸軸號

  ATYPE=65,65       

  UNITS=100,100      '脈沖當量設置

  SPEED=100,100

  ACCEL=1000,1000

  DECEL=1000,1000

  DPOS=0,0

  MPOS=0,0

  TRIGGER                  '自動觸發示波器

  MOVE(100,100)            '先運動100,100位置

  MOVECIRC(200,0,100,0,1)  '半徑100順時針畫半圓,終點坐標(300,100)

end sub

《EtherCAT總線運動控制器應用進階一》就講到這里。更多學習視頻及圖文詳解請關注我們的公眾號“正運動小助手”。


本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。


關于正運動技術


正運動技術是一家專注于運動控制技術研發與應用的國家級高新技術企業,主要從事運動控制器、運動控制卡、視覺運動控制一體機以及IO擴展模塊等產品的研發、生產、銷售和服務。


公司匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校致力于運動控制技術研究與應用,是國內工控領域發展最快的企業之一,也是國內完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。


下一篇: PLC、DCS、FCS三大控

上一篇: VPLC系列機器視覺運動

推薦產品

更多