plc編程中,如何使用計數器?

蛋小殼是誘受


計數器應該說也是每種PLC中都存在的一個指令目錄,以西門子PLC來說的話,計數器指令目錄下邊有,增計數器、減計數器、增減計數器以及高速計數器。

高速計數一般需要特殊的點位或者專用的計數模塊來實現高速計數功能,因此並沒有增/減計數器這樣的計數器常用,因此我就以增計數器在PLC在編程中的使用方法和注意事項來答題吧。

我還是以西門子200Micro/win 軟件來說,請看下圖:

先簡單介紹一下梯形圖下的計數器指令和引腳:

這個圖片上的CTU就是一個增計數器,所謂增計數器就是計數時候是不斷的加1加1這樣慢慢增大的,CU就是增計數信號的引腳,你要計數的變化量信號要引入這個引腳。下邊的R就是復位計數器的計數值,比如最後C255處,M0.0如果接通,那麼不管C255的當前值為多少,都會變為0,即C255=0。而下邊的PV是一個預設值,這個值的作用是計數器的當前值計數到和PV值相等的時候,計數器的節點信號就接通,如圖中網絡3處C1的常開觸點就會接通。

再來說一些計數器在編程使用中的注意事項:

①圖中網絡1處C1計數器的當前值是7,所以網絡3處C1計數器的節點信號沒有接通是off狀態。---這裡說明,計數器有線圈指令和節點信號,它們的命名必須一致!這樣計數器計數到60的時候,網絡3處的C1節點才能接通!

②圖中網絡1和網絡2,C1=7,C100=7,他們都是由SM0.5觸發的(1s的時鐘脈衝信號),但是C100這裡沒有上升沿P指令,而C1處有上升沿指令,但計數的結果是一樣的。---這裡說明,計數器指令是不需要配個邊沿指令也能準確的計數的!

③圖片中可以看到我用了3個計數器指令,C1,C100,C255,其實計數器的編號比如C25,C36,隨你高興怎麼起名字,但是在西門子200PLC中計時器的個數是有限制的編號只能在C0-C255這之間,如果你使用C256,則直接出現紅色波浪線提示非法!


這裡說了計數器編程使用中的3個注意事項了,再來看一個圖片:

這個圖片上可以看到C255=1了,因為C1第一次等於60的時候,使得網絡3處的V0.0接通了一次,V0.0又觸發了C255進行了一次計數,就由0變為了1。這裡V0.0就變成了一個1分鐘的脈衝標記位了,因為SM0.5是1s的脈衝,它觸發計數器計數60次就自動復位,這樣V0.0就等於60s的脈衝了。這樣的時間和計數器配合,來達到自己想要的時鐘信號,在PLC編程中是非常常用的編程方法。

在這個圖片上看到C1=27,那是第二次計數到27;而網絡2處的C100=87的原因是R引腳的復位點是M0.1,我沒有讓M0.1接通,所以C100就一直在計數。當C100計數到60的時候,它的節點其實也是接通了的,且目前C100=87的時候它的節點還是接通的。---這裡就說明了第④個注意事項,計數器的當前值大於等於PV預設值之後,計數器的節點指令就是一直接通的,它會一直計數到32767就沒法再繼續向上計數了,所以在編程的時候一定要注意對計數器的復位!

這裡的32767,我在很多的答題中都反覆的說過了,這是16位字長整數在有符號情況下的最大表示值,因此C計數器,它本身就是一個16位的指令,也因此PV處的變量也必須是整形變量,如下圖:

這個圖片上我要給C2計數器初始化賦值為0的話,就要用字傳送指令,因為C2就是一個16位變量。同時C3的PV值關聯到VW10,因為PV處也是要求16位變量。

---因此計時器和PV引腳都需要是16位的整形變量,可以算是第⑤個注意事項!


就說這麼多了,應該能對提問者有所幫助,謝謝!


控制研究控


plc編程中,如何使用計數器,計數器在plc中的主要功能有,1對設備中某個重複動作進行行程計數、2通過對特殊繼電器的計數進行時間的計算、3脈衝的採集。計數器在我們plc中與數據寄存器的性質類似,分為一般用和停電保持用、16位置增計數器和32位增減計數器、普通計數器和高速計數器。根據在電控設備中所器的作用來選擇計數器的種類。

1對重複動作進行計數,這在plc控制設備中經常使用到的,比如工件要求左右移動進行5次,行程完成標誌X0,每次感0,計數器自動進行加1,注意這裡只對X0的上升沿進行計數而不知常閉信號,保證計數的準確性。當移動的次數達到5次,計數器計數滿則觸發線圈閉合從而控制輸出,這裡可以採用普通計數器,每次plc斷電後,計數器數值清零,如果採用保持專用計數器,斷電重啟後會保持停電之前的計數值,能夠在上一次的值上繼續進行累計計數,這是計數器最基本的功能。

2對時間的計時功能,我們可以採用特殊中間繼電器驅動計數器進行計時,不同週期時間的時鐘信號如1秒的,時鐘信號每一次ON就計數一次代表計時1秒,計數器的數值就代表著時間,我們知道在plc中定時是有限制的,如果採用計數器則可以最大32位的數據,還可以計時分鐘單位的時間,相比於定時器的轉換很方便尤其在時間較長的場合。這個計數器擴展的一個小應用。另外在一些外部的計數繼電器(不是plc的軟元件)在不使用plc控制的電路中對一些數據的計算會用到,比如電鍍中安倍小時可通過計數器來顯示,那麼在我們的plc中也可以靈活使用計數器來計算一些數值。

3高速計數器,主要針對高速脈衝的計數,通常見到的編碼器就是採用高速計數器來完成脈衝採集的,普通的計數器的計數頻率已經跟不上脈衝頻率,同時受到plc週期運算的限制,計數不準確或者不能用,高速計數器的設置方法比較麻煩,有增、減計數,有的需要設置特殊中間繼電器實現減計數功能,有的則會自動進行增/減計數,有單相脈衝輸入、雙相脈衝輸入,不同信號的plc的高速計數器對應的輸入端子都是不一樣的而且的端子是專用的,比如三菱plc中的C251計數器就必須通過X0、X1的端子輸入才能採集到脈衝。在一些定位、計算轉速的設備中經常用到高速計數器。

以上就是plc中計數器的使用內容,希望能幫到你!


工控人


這個問題用手機真不好回答。

首先,從問題看人,你是個新手。

其次,如果是個合格工程師遇到不懂的,會自己找答案。

最後,答案哪裡找,任何品牌plc編程手冊,都會有指令詳細介紹,包括使用實例,當然編程軟件有些品牌也自帶自己介紹。

那麼這些手冊哪裡找?官方網站任你下與找


工控編程


plc計數器使用

\n

{!-- PGC_VIDEO:{"thumb_height": 640, "thumb_url": "2ca9800081341f7a6bd56\

智軒學堂


計數器用來累計脈衝數的個數,也是PLC指令中比較常用到的指令,1200的計數器與定時器一樣,在調用時都需要一個背景數據塊,關於如何減少背景數據塊的使用在前面文章中有所提及,與定時器的用法是相同的。

指令位置:

在博途1200中有三種計數器如上圖所示:分別為加計數器CTU、減計數器CTD和加減計數器CTUD。下面將以加減計數器來進行介紹。

1、加減計數器

時序圖:

當加計數端CU由0跳變到1時,計數器的當前計數值CV加1,當減計數端CD衝0跳變到1時,則計數器的當前計數值CV減1,噹噹前計數值大於或等於PV值時,計數器的輸出端QU等於1,噹噹前值CV的值小於或等於0,則輸出端QD等於1。當裝載輸出端LOAD的值從0變為1,將計數器的PV置入當前值,當計數器的R為1時,則將計數器的當前值復位為0。

下面我們做一個指令練習:

當按下I1.1加計數,按下I1.2減計數,設定PV=4,即當計數器值大於等於4時,輸出Q0.4接通。

(1)首先建立變量

(2)將指令拖拽到程序段中,提示你生成背景數據塊如下圖所示

生成的背景數據塊位於系統塊中

(2)編寫程序如下:

(3)將程序下載到仿真器中,並開始仿真。當I1.1有一個上升沿,則計數器當前值加1.

當計數器當前值大於等於4時,則Q0.4=1

當減計數I1.2為1時,則當前計數器當前值減1

當計數器當前值小於等於0時,則M20.0=1

二、下面對如何減少背景數據塊的使用來做一個介紹

(一)通過全局數據塊的方法來做

1、新建一個全局數據塊

2、在DB塊中新建3個計數器變量,變量類型選擇IEC_COUNTER

3、將計數器指令拖拽到程序中時,提示建立背景數據塊時,選擇取消。

4、選擇剛才我們建立的數據塊

5、之前的例子程序變換成如下圖所示

(二)指令直接拖拽到FB塊中,生成多重背景的方法

(三)指令拖拽到FB、FC塊中,生成參數實例

(四)針對上面三種方法的SCL調用方法

S7-1200 計數器常見問題

1. 為什麼計數器不計數?

答:可能原因如下:

(1)計數器的輸入位(CU、CD)需要有電平信號的跳變,計數器才會計數。如果保持不變的信號作為輸入位是不會開始計數的。

(2)計數器的背景數據塊重複使用。


跟我動手學電氣


計數很簡單,以三菱PLC為例,C100 是計數器,K20是設置的次數20次,M100每通一次C100裡面的數值會+1,當C100計數滿20時,C100的常開觸點接通,輸出M101

下面我們模擬下,當C100計滿20是 C100輸出 M101輸出

需要清零計數器時用RST指令,如下的RSTC100


非標設備自動化設計


在PLC中,其計數器有自己的線圈和對應的常開常閉觸點,把需要計數的數值在計數器線圈上進行設定,符合條件計數就開始計數,當達到設定值設定的數時,計數器的常開和常閉觸點就會進行轉換,我們可以把這些觸點引入我們需要控制的迴路進行計數控制。


電圈360


直接輸出計數器線圈,用觸點計數。


榮久科技


計數器與計時器的用法類似,也可以結合起來當作累積計時與計數用!

功能和用法差不多!


分享到:


相關文章: