熟悉三菱GX軟體的朋友,應該知道在GX軟體中有個部件選擇窗口,在這個窗口中我們可以看到通用函數/FB,其中就包括了雙穩態功能塊、邊緣檢測功能塊、定時器功能塊和計數器功能塊,那麼今天就給大家介紹一下通用FB功能塊指令的內容。
雙穩態功能塊:
雙穩態功能塊分為兩個,置位優先SR和復位優先RS。置位優先功能塊是當S1和R都為1時,優先執行置位的操作。復位優先功能塊是當S和R1都為1時,優先執行復位的操作。
舉個最簡單的程序例子,我們可以用置位優先和復位指令實現單按鈕控制啟停功能。
邊緣檢測功能塊:
邊緣檢測功能塊分為兩個,上升沿邊緣檢測R_TRIG和下降沿邊緣檢測F_TRIG。上升沿邊緣檢測是檢測信號的上升沿後輸出一個掃描周期的脈衝信號。
下降沿邊緣檢測是檢測信號的下降沿後輸出一個掃描周期的脈衝信號。
其實這兩個指令也很簡單,上升沿邊緣檢測功能塊R_TRIG與PLS、LDP指令功能是一樣的,下降沿邊緣檢測功能塊F_TRIG與PLF、LDF指令功能是一樣的,我們看下圖的程序,接通X0和接通X1,接通X2實現的效果是一樣的。
還是前面的例子單按鈕控制啟停功能,我們用邊緣檢測功能塊指令也可以實現。
計數器功能塊:
計數器功能塊包括有加計數器CTU、減計數器CTD、加減計數器CTUD和計數器功能塊COUNTER_FB_M。如果有用過西門子PLC的朋友,會發現跟西門子PLC的計數器指令類似。
CTU/CTD/CTUD功能塊管腳定義:CU是加計數脈衝輸入,CD是減計數脈衝輸入;
R是計數值復位,LD是裝載計數值;
PV是計數的設定值,CV是計數的當前值;
Q是計數完成標誌;
QU是加計數完成,QD是減計數完成;
只有PV和CV是INT的數據類型,其餘都是BOOL類型。
加計數器CTU:
如果CU變為OFF→ON,對CV進行加計數(+1)。當CV=PV時,則Q變為ON,加計數停止。
如果將R置為ON,則Q變為OFF,CV被設置為0。
減計數器CTD:
如果CD變為OFF→ON,對CV進行減計數(-1)。當減到CV=0時,則Q變為ON,減計數停止。如果將LD置為ON,則Q變為OFF,CV被設置為PV。
加減計數器CTUD:
如果CU、CD同時變為OFF→ON,優先進行加計數(+1)。如果將R、LD同時置為ON,優先將當前值復位為0。
COUNTER_FB_M功能塊管腳定義:
Coil是指令執行的驅動條件;
Preset是計數器的設定值;
ValueIN是計數器初始值,ValueOut是計數器當前值;
Status是輸出;
其中Coil和Status是BOOL類型,Preset和ValueIN是INT類型,ValueOut是ANY16類型。
COUNTER_FB_M功能塊:
檢測Coil的上升沿進行計數,計數從ValueIN的值開始,如果變為Preset的值,則Status變為ON。當前的計數值被存儲到ValueOut中。
我們再比較一下CTU和COUNTER_FB_M功能塊之間有什麼區別,我們看下面的程序,CTU指令用R管腳進行復位,而COUNTER_FB_M是沒有復位的管腳的,我們需要另外的編寫復位的程序。
以上先介紹了雙穩態功能塊、邊緣檢測功能塊、計數器功能塊的內容,因為篇幅有限,我們在下一篇文章繼續介紹定時器功能塊指令的使用!
此外,還會講幾個定時器和計數器功能塊的編程案例哦,歡迎大家繼續關注更新~
(技成培訓網原創,作者:蔡慧滎,未經授權不得轉載,違者必究)