西門子S7-200高速計數器使用

北喬風919 發佈 2020-03-14T06:52:54+00:00

要啟動HSC指令嚮導,可以在命令菜單窗口中選擇Tools>Instruction Wizard ,然後在嚮導窗口中選擇HSC指令。

西門子S7-200高速計數器使用

西門子PLC計數器有普通計數器和高速計數器,今天主要介紹下高速計數器的使用方法。在一些採集頻率較高的場合下,比如編碼器信號,每轉發出的脈衝數比較多,如果用普通計數器,反應速度慢,容易丟失脈衝,因此採用了高速計數器。高速計數器的最高採集頻率為200KHz,不受PLC掃描周期的影響,高速計數器用於對S7--200掃描速率無法控制的高速事件進行計數。高速計數器的最高計數頻率取決於您的CPU類型。

一般來說,高速計數器被用作驅動鼓式計時器,該設備有一個安裝了增量軸式編碼器的軸,以恆定的速度轉動。軸式編碼器每圈提供一個確定的計數值和一個復位脈衝。來自軸式編碼器的時鐘和復位脈衝作為高速計數器的輸入。

高速計數器編程

可以使用指令嚮導來配置計數器。嚮導程序使用下列信息:計數器的類型和模式、計數器的預置值、計數器的初始值和計數的初始方向。要啟動HSC指令嚮導,可以在命令菜單窗口中選擇Tools >Instruction Wizard ,然後在嚮導窗口中選擇HSC指令。

對高速計數器編程,必須完成下列基本操作:

A 定義計數器的模式和輸入

B設置控制字節

C 設置初始值

D設置預置值

E指定並使能中斷服務程序

F 激活高速計數器

1、定義計數器的模式和輸入

使用高速計數器定義指令來定義計數器的模式和輸入。

表1中給出了與高速計數器相關的時鐘、方向控制、復位和啟動輸入點。同一個輸入點不能用於兩個不同的功能,但是任何一個沒有被高速計數器的當前模式使用的輸入點,都可以被用作其它用途。

例如,如果HSC0正被用於模式1,它占用I0.0和I0.2,則I0.1可以被邊緣中斷或者HSC3占用。

2、設置控制字節

只有定義了計數器和計數器模式,才能對計數器的動態參數進行編程。每個高速計數器都有一個控制

字節,包括以下內容:

- 使能或者禁止計數器

- 控制計數方向(只對模式0、1和2有效)或者對所有其它模式定義初始化計數方向。

- 裝載初始值

- 裝載預置值

3、設置初始值和預置值

每個高速計數器都有一個32位的初始值和一個32位的預置值。初始值和預置值都是符號整數。為了向高速計數器裝入新的初始值和預置值,必須先設置控制字節,並且把初始值和預置值存入特殊存儲器中,然後執行HSC指令,從而將新的值傳送到高速計數器。表中對保存新的初始值和預置值的特殊存儲器作了說明。除去控制字節和新的初始值與預置值保存字節外,每個高速計數器的當前值只能使用數據類型HC(高速計數器當前值)後面跟表中列出的計數器號(0、1、2、3、4或5)的格式進行讀取。可用讀操作直接訪問的當前值,但是寫操作只能用HSC指令來實現。

高速計數器的新當前值和新預設值

4、指定中斷

所有計數器模式都支持在HSC的當前值等於預設值時產生一個中斷事件。使用外部復位端的計數模式支持外部復位中斷。除去模式0、1和2之外,所有計數器模式支持計數方向改變中斷。每種中斷條件都可以分別使能或者禁止。要得到關於使用中斷的更多信息,參見通訊和中斷指令一節。

注意當使用外部復位中斷時,不要寫入初始值,或者是在該中斷服務程序中禁止再允許高速計數器,否則會產生一個致命錯誤。

狀態字節

每個高速計數器都有一個狀態字節,其中的狀態存儲位指出了當前計數方向,當前值是否大於或者等於預置值。表6-31給出了每個高速計數器狀態位的定義。提示只有在執行中斷服務程序時,狀態位才有效。監視高速計數器狀態的目的是使其它事件能夠產生中斷以完成更重要的操作。

系統為每個高速計數器都在特殊寄存器區SMB提供了一個狀態字節,為了監視高速計數器的工作狀態,執行由高速計數器引用的中斷事件,其格式如表


關鍵字: