農林漁牧網

您現在的位置是:首頁 > 農業

博途S7-1200 高速計數器的使用及應用舉例

2022-01-07由 跟我動手學電氣 發表于 農業

計數器怎樣使用

一、博途S7-1200高速計數器的基本屬性介紹。

1、高速計數器定址

CPU 將每個高速計數器的測量值,儲存在輸入過程映像區內,資料型別為32位雙整型有符號數,使用者可以在裝置組態中修改這些儲存地址,在程式中可直接訪問這些地址,但由於過程映像區受掃描週期影響,讀取到的值並不是當前時刻的實際值,在一個掃描週期內,此數值不會發生變化,但計數器中的實際值有可能會在一個週期內變化,使用者無法讀到此變化。使用者可透過讀取外設地址的方式,讀取到當前時刻的實際值。以 ID1000 為例,其外設地址為“ID1000:P”。

下表所示為高速計數器定址列表。

博途S7-1200 高速計數器的使用及應用舉例

2、中斷功能

S7-1200 在高速計數器中提供了中斷功能,用以處理某些特定條件下觸發的程式

共有 3 種中斷事件:

(1)當前值等於預置值

(2)使用外部訊號復位

(3)帶有外部方向控制時,計數方向發生改變

3、頻率測量

S7-1200 除了提供計數功能外,還提供了頻率測量功能,有 3 種不同的頻率測量週期:1。0 秒,0。1 秒和0。01 秒。

頻率測量週期是這樣定義的:計算並返回新的頻率值的時間間隔。返回的頻率值為上一個測量週期中所有測量值的平均,無論測量週期如何選擇,測量出的頻率值總是以 Hz (每秒脈衝數)為單位。

4、高速計數器指令塊

高速計數器指令塊,需要使用指定背景資料塊用於儲存引數, 如下圖所示。

博途S7-1200 高速計數器的使用及應用舉例

高速計數器引數說明

博途S7-1200 高速計數器的使用及應用舉例

STATUS 錯誤程式碼

博途S7-1200 高速計數器的使用及應用舉例

二、應用舉例

假設在旋轉機械上有單相增量編碼器作為反饋,接入到S7-1200 CPU,要求在計數25個脈衝時,計數器復位,置位 M0。5,並設定新預置值為50個脈衝,當計滿50個脈衝後復位M0。5,並將預置值再設為25,週而復始執行此功能。

針對此應用,選擇CPU 1211C,高速計數器為:HSC2。模式為:單相計數,內部方向控制,無外部復位。據此,脈衝輸入應接入I0。0,使用HSC2的預置值中斷(CV=RV)功能實現此應用。

1、組態步驟:

先在裝置與組態中,選擇CPU,單擊屬性,啟用高速計數器,並設定相關引數。此步驟必須事先執行,1200的高速計數器功能必須要先在硬體組態中啟用,才能進行下面的步驟。新增硬體中斷塊,關聯相對應的高速計數器所產生的預置值中斷,在中斷塊中新增高速計數器指令塊,編寫修改預置值程式,設定復位計數器等引數。將程式下載,執行功能。

(1)硬體組態

選中CPU如圖所示。

博途S7-1200 高速計數器的使用及應用舉例

如下圖所示為選擇屬性開啟組態介面

博途S7-1200 高速計數器的使用及應用舉例

啟用高速計數功能如下圖所示.

博途S7-1200 高速計數器的使用及應用舉例

計數型別,計數方向組態如下圖所示

博途S7-1200 高速計數器的使用及應用舉例

注:

1 此處計數型別分為4種: motion control(運動軸),Frequency(頻率),週期,Counting(計數)。這裡選擇計數。

2 模式分為4種:Single phase(單相), Two phase(雙相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。這裡擇單相

3 計數方向選擇,這裡選用User program (internal direction control)(內部方向控制)

4初始計數方向。這裡選擇Count up(向上計數)

初始值及復位組態如下圖所示:

博途S7-1200 高速計數器的使用及應用舉例

預置值中斷組態如下圖所示:

博途S7-1200 高速計數器的使用及應用舉例

博途S7-1200 高速計數器的使用及應用舉例

注:起始地址:若是HSC1預設是1000。這裡我們選用HSC2所以使用預設1004。

博途S7-1200 高速計數器的使用及應用舉例

至此硬體組態部分已經完成,下面進行程式編寫

2、程式編寫

將高速計數指令塊新增到硬體中斷中,雙擊開啟硬體中斷程式塊。

博途S7-1200 高速計數器的使用及應用舉例

在指令列表中,將高速計數器指令拖拽到硬體中斷程式中,這時會提示新增背景資料塊

博途S7-1200 高速計數器的使用及應用舉例

具體程式設計如下:

博途S7-1200 高速計數器的使用及應用舉例

具體程式設計如下:

博途S7-1200 高速計數器的使用及應用舉例

程式段1:每次進入中斷會使M0。5的狀態發生改變,例如當第一次進中斷時M0。5置位,當下一次進入時M0。5復位。

程式段2:第一次中斷時,M0。5置位,將預置值改為50,當再次進入時,則將預置值改為25。

程式段3:

HSC:這裡就是前面圖中系統指定的高速計數器硬體識別號,這裡填258

注意:應根據CPU屬性裡的硬體識別符號設定該值, 如硬體識別符號為257, 應將指令輸入的 HSC 值從258 改為 257,如下圖所示:

博途S7-1200 高速計數器的使用及應用舉例

CV:1為使能更新初值

RV:1為使能更新預置值

new CV:新的初始值

NEW RV:新的預置值

至此程式編制部分完成,將完成的組態與程式下載到CPU後即可執行,當前的計數值可在ID1000中讀出 ,關於高速計數器指令塊,若不需要修改硬體組態中的引數,可不需要呼叫,系統仍然可以計數。