高速計數器詳細解說

2022-10-15 00:36:10 字數 2711 閱讀 4737

s7-200高速計數器詳細解說

1.高速計數器指令

普通計數器受cpu掃瞄速度的影響,是按照順序掃瞄的方式進行工作。在沒個掃瞄週期中,對計數脈衝只能進行一次累加;對於脈衝訊號的頻率比plc的掃瞄頻率高時,如果仍採用普通計數器進行累加,必然會丟失很對輸入脈衝訊號。在plc中,對比掃瞄頻率高的輸入訊號的計數可也使用高速計數器指令來實現。

在s7-200的cpu22x中,高速計數器數量及其位址編號表如下

1.高速計數器指令

高速計數器的指令包括:定義高速計數器指令hdef 和執行高速計數指令hsc,如表

(1) 定義高速計數器指令hdef

hde指令功能是為某個要使用的高速計數器選定一種工作模式。每個高速計數器在使用前,都要用hdef指令來定義工作模式,並且只能用一次。它有兩個輸入端:

hsc為要使用的高速計數器編號,資料型別為位元組型,資料範圍為0~5的常數,分別對應hc0~

hc5;moce為高速計數的工作模式,資料型別為位元組型,資料範圍為0~11的常數,分別對應12種工作模式。當准許輸入使能en有效時,為指定的高速計數器hsc定義工作模式mode。

(2)執行高速計數指令hsc

hsc指令功能功能是根據與高速計數器相關的特殊繼電器確定在控制方式和工作狀態,使高速計數器的設定生效,按照指令的工作模式的工作模式執行計數操作。它有乙個資料輸入端n:n為高速計數器的編號,資料型別的字型,資料範圍為0~5的常數,分別對應高速計數器hc0~hc5.

當准許輸入en使能有效時,啟動n號高速計數器工作。

2.高速計數器的輸入端

高速計數器的輸入端不像普通輸入端那樣有使用者定義,而是由系統指定的輸入點輸入訊號,每個高速計數器對它所支援的脈衝輸入端,方向控制,復位和啟動都有專用的輸入點,通過比較或中斷完成預定的操作。每個高速計數器專用的輸入點如表

高速計數器的輸入點

3.高速計數器的狀態位元組

系統為每個高速計數器都在特殊暫存器區smb提供了乙個狀態位元組,為了監視高速計數器的工作狀態,執行由高速計數器引用的中斷事件,其格式如表。

高速計數器的狀態位元組

只有執行高速計數器的中斷程式時,狀態位元組的狀態位才有效。

4.高速計數器的工作模式

高速計數器有12種不同的工作模式(0`~11),分為4類。每個高速計數器都有多種工作模式,可以通過程式設計的方法,使用定義高速計數器指令hdef來選定工作模式。

(1) 各個高速計數器的工作模式

1. 高速計數器hc0是乙個通用的增減計數器,工有8種模式,可也通過程式設計來選擇不同的工作模式,hc0的工作模式如表

hc0的工作模式

2高速計數器hc1共有12種操作模式如表

hci的操作模式

3.高速計數器hc2共有12種操作模式,如表

hc2的操作模式

4高速計數器hc3只有一種操作模式,如表

hc3的操作模式

5.高速計數器hc4有8操作模式,如表

hc4的操作模式

6.高速計數器hc5只有一種操作模式如表

hc5的操作模式

4.高速計數器的控制位元組

系統為每個高速計數器都安排了乙個特殊暫存器smb作為控制字,可也通過對控制位元組指定為的設定,確定高速計數器的工作模式。s7-200在執行hsc指令前,首先要檢查與每個高速計數器相關的控制位元組,在控制位元組中設定了啟動輸入訊號和復位輸入訊號的有效電平,正交計數器的計數倍率,計數方向採用內部控制的有效電平,是否允許改變計數方向,是否允許更新設定值,是否允許更新當前值,以及是否允許執行高速計數指令。

高數計數器的控制位元組

說明:(1) 在高速計數器的12種工作模式中,模式0、模式3、模式6和模式9,是既無啟動輸入,又無復位輸入的計數器,在模式1、模式4、模式7和模式10中,是只有復位輸入,而沒有啟動輸入的計數器;在模式2、模式5、模式8和模式11中,是既有啟動輸入,又有復位輸入的計數器。

(2) 當啟動輸入有效時,允許計數器計數;當啟動輸入無效時,計數器的當前值保持不變;當復位輸入有效時,將計數器的當前值暫存器清零;當啟動輸入無效,而復位輸入有效時,則忽略復位的影響,計數器的當前值保持不變;當復位輸入保持有效,啟動輸入變為有效時,則將計數器的當前值暫存器清零。

(3) 在s7-200中,系統預設的復位輸入和啟動輸入均為高電平有效,正交計數器為4倍頻,如果想改變系統的預設設定,需要設定如上表中的特殊繼電器的第0,1,2位。

各個高速計數器的計數方向的控制,設定值和當前值的控制和執行高速計數的控制,是由表4-22中各個相關控制位元組的第3位至第7位決定的。

6.高速計數器的當前值暫存器和設定值暫存器

每個高速計數器都有1個32位的經過值暫存器hc0-hc5,同時每個高速計數器還有1個32位的當前值暫存器和1個32位的設定值暫存器,當前值和設定值都是有符號的整數。為了向高速計數器裝入新的當前值和設定值,必須先將當前值和設定值以雙字的資料型別裝入如表所列的特殊暫存器中。然後執行hsc指令,才能將新的值傳送給高速計數器。

高速計數器的當前值和設定值

7.高速計數器的初始化

由於高速計數器的hdef指令在進入run模式後只能執行1次,為了減少程式執行時間優化程式結構,一般以子程式的形式進行初始化。下面以hc2為例,介紹高速計數器的各個工作模式的初始化步驟。

1. 利用sm0.1來呼叫乙個初始化子程式。

2. 在初始化子程式中,根據需要向smb47裝入控制字。例如,smb47=16#f8,其意義是:准許寫入新的當前值,准許寫入新的設定值,計數方向為曾計數,啟動和復位訊號為高電平有效。

3. 執行hdef指令,其輸入引數為:hsc端為2(選擇2號高速計數器),mode端為0/1/2(對應工作模式0,模式1,模式2)

實驗十計數器

一 實驗目的 1.學習用整合觸發器構成計數器的方法。2.熟悉中規模整合十進位制計數器的邏輯功能及使用方法。3.學習計數器的功能擴充套件。4.了解整合解碼器及顯示器的應用。二 實驗原理 計數器是一種重要的時序邏輯電路,它不僅可以計數,而且用作定時控制及進行數字運算等。按計數功能計數器可分加法 減法和可...

用74LS162計數器設計24進製計數器

姓名 桑賢超班級 文自112 2班學號 201190519234 試驗 24進製計數器的設計日期 2012.11.17 指導老師 徐洪霞 一 實驗報告的名稱 24進製計數器的設計二 本次實驗的目的 1.掌握74ls162 計數器的用法 2.利用74ls162計數器設計乙個24進製計數器三 實驗裝置 ...

巧用中擴充套件PLC擴充套件AB相高速計數器方法

楊敬東 廣東佛山菜鳥控制實驗室 摘要 本文介紹了利用可變程式控制器plc的中斷機制,擴充套件plc中的ab兩相高速計數器的方法。一 引言 plc可程式設計序控制器,是一種工業上廣泛應用的通用控制器,但是在應用實踐中,不少情況是應用的要求,略為超出了plc的資源,通常是io埠的不匹配,最遺憾的是,有時...