2022年1月24日 星期一

PLC如何使用絕對型編碼器伺服馬達--用脈波命令方式(三菱、台達)

 絕對型伺服馬達,越來越普遍。

而且又有  節省安裝空間 / 不必回原點的好處,

所以市面上絕對型的伺服馬達/步進馬達,都越來越多了。


而一般發送脈波的PLC,不是通訊型的控制,

應該要怎麼來達到/使用絕對伺服馬達呢?


在使用脈波命令的方式在控制伺服馬達時,

因為在PLC內部有記憶伺服馬達的位置,

所以可以知道現在位置。


問題就在斷電後,因為伺服馬達SERVO OFF後,位置可能就因此跟PLC記憶的不同了。

所以重點是在PLC上電後,如何找回伺服馬達目前的位置!!!



先查三菱J4伺服馬達泛用型的手冊:

裡面有這一章節:

12.8 絕對位置資料傳送協議........................................................................................................ 12-10 


接線圖:
會使用到2 個OUT,3 個INPUT,來讀取伺服的絕對位置。
 



流程圖:

主是就是從ABS0  ABS1,每次讀2位元,讀完就右移。

讀16次,共32位元,就是絕對的位置。


後面會再讀3次,6位元的資料,做為CHECKSUM  資料完整的比對。(除錯機制)



細部流程:

當「ABS要求」(PLC輸出) ON,等待ABST OFF(PLC 輸入),就可以去抓取ABS0/ABS1的資料了。重覆16+3次。每次抓取下一筆資料前,記得把上一筆ABS0/ABS1資料右移2位元。



Checksum(檢查加)的方法:

Checksum的用意就是防止抓錯訊號的一種檢查機制。

方法就是把抓到的16資筆料。都加起來,跟最後抓的6位元相比較,如果一樣就是正確。

如果錯誤,就需要再重新抓一次。




==========================

台達B3伺服馬達

一開始我以為會跟三菱一樣...哈~

看起來比較複雜,但能讀的資料比較多一點。



1.讀取的資料有不同有編碼器PUU,或是編碼器位置+圈數。兩種模式。

如果不是旋轉軸一直增加的,應該採第一種方式即可。


如果會一直旋轉,或很長距離,可能就要採第二種方式了。



接線圖&流程圖

從流程圖裡可以知道

對PLC來說,用了2個OUT   3個IN。(伺服的DI,就是PLC的DO)

流程也很簡單:

就是ABSQ發出後,等伺服回覆ABSR,就可以抓ABSD資料了。共80次,資料格式在上圖。


有些逾時/延遲的機制:





Checksum(檢查加)的方法:

跟的三菱的不同,跟一般通訊檢查比較相近。

1.WORD0 跟 A700 相加  

2.XOR WORD1 ,

3.再加605A

4.再XOR WORD2

5..............看圖吧~~~😆



...................結果~~~拖了好久的一篇~👀


2 則留言:

  1. 你好,想請問絕對型編碼器的應用是針對每次移動做編碼器回傳至PLC做輸入輸出的比對嗎?因為每次要求伺服馬達回傳絕對座標值都需要花時間接收,可能幾十到幾百毫秒,但是這樣會影響整體軸運動的順暢度

    回覆刪除
    回覆
    1. 1.絕對式編碼器,大多只有在斷電後,上電的第一次,才需要。
      2.讀取座標後的,就只需要發命令就好。中間移動過程中的精度(追隨誤差)由伺服馬達來控制。
      3.如果還是擔心就在發完脈波後,再讀一次就好。

      刪除