農林漁牧網

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

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

2021-06-29由 榮久科技 發表于 畜牧業

西門子plc怎麼計算脈衝頻率

今天就以西門子 S7-1200PLC 高速計數器為主以及例項來做講解,S7-1200 CPU 提供了最多 6 個(1214C )高速計數器 ,其獨立於 CPU 的掃描週期進行計數。

可測量的單相脈衝頻率最高為 100KHz ,雙相或 A/B 相最高為 30KHz ,除用來計數外還可用來進行頻率測量,高速計數器可用於連線增量型旋轉編碼器,使用者透過對硬體組態和呼叫相關指令塊來使用此功能。

一、高速計數器工作模式

高速計數器定義為 5 種工作模式

1、計數器,外部方向控制 。

2、單相計數器,內部方向控制 。

3、雙相增 /減計數器,雙脈衝輸入。

4、5A/B 相正交脈衝輸入。

5、監控 PTO 輸出。

每種高速計數器有兩種工作狀態。

1、外部復位,無啟動輸入。

2、內部復位,無啟動輸入。

所有的計數器無需啟動條件設定,在硬體嚮導中設定完成後下載到 CPU 中即可啟動高速計數器,在 A/B 相正交模式下可選擇 1X(1 倍) 和 4X(4 倍)模式,高速計數功能所能支援的輸入電壓為 24V DC, 目前不支援 5V DC 的脈衝輸入,表 8-1 列出了高速計數器的硬體輸入定義和工作模式。

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

並非所有的 CPU 都可以使用 6 個高速計數器,如 1211C 只有 6 個整合輸入點,所以最多隻能支援 4 個(使用信號板的情況下)高速計數器。

由於不同計數器在不同的模式下,同一個物理點會有不同的定義,在使用多個計數器時需要注意不是所有計數器可以同時定義為任意工作模式。

高速計數器的輸入使用與普通數字量輸入相同的地址,當某個輸入點已定義為高速計數器的輸入點時,就不能再應用於其它功能,但在某個模式下,沒有用到的輸入點還可以用於其它功能的輸入監控 PTO 的模式只有 HSC1 和 HSC2 支援,使用此模式時,不需要外部接線, CPU 在內部已作了硬體連線,可直接檢測透過 PTO 功能所發脈衝。

二、高速計數器定址

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

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

三、頻率測量

S7-1200 CPU 除了提供計數功能外,還提供了頻率測量功能,有 3 種不同的頻率測量週期: 1。0 秒, 0。1 秒和 0。01 秒,頻率測量週期是這樣定義的:計算並返回新的頻率值的時間間隔。返回的頻率值為上一個測量週期中所有測量值的平均,無論測量週期如何選擇,測量出的頻率值總是以 Hz( 每秒脈衝數 )為單位。

四、高速計數器指令塊

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

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

五、應用舉例

為了便於理解如何使用高速計數功能,透過一個例子來學習組態及應用。

假設在旋轉機械上有單相增量編碼器作為反饋,接入到 S7-1200 CPU, 要求在計數 25 個脈衝時,計數器復位,並重新開始計數,週而復始執行此功能。

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

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

組態步驟:

先在裝置與組態中,選擇 CPU ,單擊屬性,啟用高速計數器,並設定相關引數。此步驟必須實現執行, 1200 的高速計數器功能必須要先在硬體組態中啟用,才能進行下面的步驟

新增硬體中斷塊,關聯相對應的高速計數器所產生的預置值中斷

在中斷塊中新增高速計數器指令塊,編寫修改預置值程式,設定復位計數器等引數

將程式下載,執行功能

1、硬體組態

選中 CPU 如圖 8-6

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

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

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

啟用高速計數功能如圖 4

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

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

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

1 此處計數型別分為 3 種, Axis of motion( 運動軸 ),Frequency (頻率測量),Counting( 計數 )。這裡選擇 Counting

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

3 輸入源,這裡使用的為 CPU 整合輸入點。

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

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

初始值及復位組態如圖 6

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

預置值中斷組態如圖 7

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

組態新增的硬體中斷,如圖 8-13 有圖

地址分配與硬體識別號如圖 9

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

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

2、程式編寫

將高速計數指令塊新增到硬體中斷中

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

圖 12 定義高速計數器背景資料塊

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

程式檢視如圖 13

入門學PLC不再缺少方法和技巧,西門子S7-1200計數乾貨很全面

1 這裡就是圖 9 中系統指定的高速計數器硬體識別號,這裡填 1

2 “1”為使能更新初值

3 “0”新初始值為 0

至此程式編制部分完成,將完成的組態與程式下載到 CPU 後即可執行,當前的計數值

可在 ID1000 中讀出 ,關於高速計數器指令塊,若不需要修改硬體組態中的引數,可不需要呼叫,系統仍然可以計數。

以上,歡迎動動手分享及收藏!