11.24 乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

三菱FX3U做為一款入門級PLC,應用很廣泛,其實學習PLC就幾點,開關量的輸入、輸出,就是我們平常所說的IO、伺服(或者步進電機)的控制、Modbus通信、模擬量輸入輸出,掌握了這些,基本可以做80%的項目了,小編今天主要來和大家說一下伺服電機(或者步進電機)的控制方法。

其實伺服電機就是高級一點的步進,其自帶編碼器,驅動器功能更加強大,支持位置模式、速度模式和轉矩模式三種類型,因為伺服電機可以精確定位,所以通常我們用到的是位置模式。

位置模式需要PLC發送高速脈衝串給伺服驅動器,伺服驅動器再驅動伺服電機按照一定的角度和速度來旋轉,從而達到位置控制的模式

三菱FX3U這款PLC控制伺服電機有兩種方法,一種是高速脈衝模式,一種是定位模式,其指令是不一樣的,同時,FX3U只支持三路高速脈衝的發送,分別是Y0、Y1、Y2,所以最多隻能控制三臺伺服電機,如果想控制超三臺伺服電機,可以選擇加裝定位模塊或者幾臺PLC組網來實現。

一、高速脈衝模式

1、PLSY指令

PLSY是高速脈衝輸出指令,可以指定Y0、Y1或者Y2發送高速脈衝,其指令格式如下

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

如上圖所示,分別是16位高速脈衝輸出和32位高速脈衝輸出,16位高速脈衝輸出可以發送最大頻率為32767的數據,而32位高速脈衝輸出可以發送最大頻率為200,000Hz的脈衝串,各位同學可以根據實際需要進行選擇,不過這裡小編建議大家養成一個好習慣,就是堅持用32位運算進行程序處理,可以有效防止程序溢出。

熟悉了相關指令,我們看下詳細用法。

比如我們想接通M0的同時,讓Y0輸出頻率為10000,數量為25000的脈衝串,那麼就這樣來寫程序

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

其中: 頻率為每秒鐘發送的脈衝數,表示到伺服電機就是速度

發送脈衝數即為一共發送多少個脈衝給驅動器,轉換到伺服電機就是走過的距離或者角度

Y0為輸出通道,接線到驅動側的高速脈衝輸入點。

這裡M0只要保持接通,就會以當前速度發送25000個脈衝,中間如果M0斷開,則停止發送脈衝,再次接通M0則重新發送25000個脈衝直到完成。

如果我們想讓伺服電機以一定速度一直旋轉不停,那麼脈衝數設置為K0就可以了,如下

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

在實際控制中,我們需要知道Y0什麼時候發送完成了這25000個脈衝,這裡面就用到了特殊繼電器M8029。

2、指令結束標誌位M8029

這個標誌位很重要,因為不只是這裡用到M8029,還有好多地方會用到,後面再介紹。

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

M8029的作用就是告訴我們,脈衝指令發送結束了,該幹嘛幹嘛了

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

這裡的意思是一旦PLSY指令發送完成了25000個脈衝,則M8029接通,同時置位M10,復位M0

32位指令和16位的一樣用法,只是操作數的範圍更大了,這裡不再說明。

3、實際案例

現在我們完成了脈衝的發送,只是實現了伺服電機的旋轉,但是這只是單方向的旋轉,在項目中我們還需要實現正反轉旋轉和定位,那還需要通過其它輸出點來控制伺服電機的方向,這個輸出點可以是高速脈衝輸出點(Y0、Y1、Y2),也可以是其它點,大家可以根據要控制的伺服數量進行選擇。

下面我們先設計一下功能動作,然後再看怎麼來實現

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

我們先來定義一下脈衝輸出和方向輸出的兩個輔助繼電器M10和M11,以後我們不再直接控制脈衝和方向,而是控制這兩個繼電器來實現

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

然後正轉是方向無輸出,反轉為方向有輸出。

4、手動正反轉輸出

手動正反轉,將速度傳遞給D10(D10可以在觸摸屏中輸入數值),將K0傳遞給D12,這樣只要按下M0或者M1,伺服電機就一直正反轉旋轉,直到遇到前後極限,這裡極限都是用的常閉點的接近開關,程序如下:

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

同時這裡加了正反轉的互鎖,防止同時按下M0和M1按鈕。

5、回原點程序

用高速脈衝指令也可以簡單實現回原點動作,只是精度沒有專用指令高,如果在精度要求不高的場合可以使用。一般回原點之前,滑臺有位置有三種情況,在原點前、原點開關中和在原點後,如下

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

我們的目的是滑臺反轉的時候碰到原點開關(X0)停止,當前點設置為原點,考慮到滑臺位置的三種情況,動作可能如下:

滑臺反轉→檢測到原點開關→滑臺正轉→離開原點開關(延時1S)→低速反轉直到碰到原點開關停止(完成)

滑臺正轉(原點開關ON中)→離開原點開關(延時1S)→滑臺反轉→檢測到原點開關→停止(完成)

滑臺反轉→檢測到反轉極限→滑臺正轉→檢測到原點開關→離開原點開關(延時1S)停止→低速反轉直到碰到原點開關停止(完成)

其實不管那種情況,用第三種辦法肯定不會出錯,其中也包含了動作一和動作二的情況,動作流程圖如下

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

大家可以嘗試著自己寫一下這個原點回歸程序,下次我再把我寫的公佈給大家。

6、定位指令

用高速脈衝指令進行定位只能相對定位,下面看一下正反轉定位的程序:

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

然後在剛才的程序中再添加上M5和M6兩個輔助繼電器

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

為什麼要加M5和M6兩個繼電器呢,因為我們設計觸摸屏上的M0、M1、M2、M3模式都是點動,如果把M2、M3模式置位,則可以不用M5和M6輔助繼電器了。

7、PLSR指令

上面我們詳細的講解了PLSY指令的用法,再接著說一下PLSR這個指令。

PLSR指令是帶加減速的高速脈衝指令,其功能如下

乾貨:三菱FX3U控制伺服的高速脈衝指令,跟我一起做

和PLSY不同的是加了一個加減速時間(單位為ms),其它都是一樣的。

8、最重要的一點

脈衝輸出也是線圈輸出的一種方式,所以實際使用過程中,是不可以產生雙線圈的,同樣的還包括定位指令也是一樣,所以不可以使用多個PLSY指令驅動同一線圈。

好了,今天的指令講解到這裡就結束了,有不懂的可以關注並私信我,很樂意為您解答。


分享到:


相關文章: