電子發燒友網 發表於 2019-01-31 15:19:00
1高速計數器
S7-1200 CPU提供了最多6個(1214C)高速計數器,其獨立於CPU的掃描周期進行計數。可測量的單相脈衝頻率最高為100KHz,雙相或A/B相最高為30KHz,除用來計數外還可用來進行頻率測量,高速計數器可用於連接增量型旋轉編碼器,用戶通過對硬體組態和調用相關指令塊來使用此功能。
2高速計數器工作模式
高速計數器定義為5種工作模式
計數器,外部方向控制。
單相計數器,內部方向控制。
雙相增/減計數器,雙脈衝輸入。
A/B相正交脈衝輸入。
監控PTO輸出。
每種高速計數器有兩種工作狀態。
外部復位,無啟動輸入。
內部復位,無啟動輸入。
所有的計數器無需啟動條件設置,在硬體嚮導中設置完成後下載到CPU中即可啟動高速計數器,在A/B相正交模式下可選擇1X(1倍) 和4X(4倍)模式,高速計數功能所能支持的輸入電壓為24V DC,目前不支持5V DC的脈衝輸入,表1列出了高速計數器的硬體輸入定義和工作模式
表1 高速計數器硬體輸入定義與工作模式
並非所有的CPU都可以使用6個高速計數器,如1211C只有6個集成輸入點,所以最多只能支持4個(使用信號板的情況下)高速計數器。
由於不同計數器在不同的模式下,同一個物理點會有不同的定義,在使用多個計數器時需要注意不是所有計數器可以同時定義為任意工作模式。
高速計數器的輸入使用與普通數字量輸入相同的地址,當某個輸入點已定義為高速計數器的輸入點時,就不能再應用於其它功能,但在某個模式下,沒有用到的輸入點還可以用於其它功能的輸入
監控PTO的模式只有HSC1和HSC2支持,使用此模式時,不需要外部接線,CPU在內部已作了硬體連接,可直接檢測通過PTO功能所發脈衝。
3高速計數器尋址
CPU將每個高速計數器的測量值,存儲在輸入過程映像區內,數據類型為32位雙整型有符號數,用戶可以在設備組態中修改這些存儲地址,在程序中可直接訪問這些地址,但由於過程映像區受掃描周期影響,在一個掃描周期內,此數值不會發生變化,但高速計數器中的實際值有可能會在一個周期內變化,用戶可通過讀取外設地址的方式,讀取到當前時刻的實際值。以ID1000為例,其外設地址為「ID1000:P」。表2 所示為高速計數器尋址列表
表1 高速計數器尋址
4頻率測量
S7-1200 CPU除了提供計數功能外,還提供了頻率測量功能,有3種不同的頻率測量周期:1.0秒,0.1秒和0.01秒,頻率測量周期是這樣定義的:計算並返回新的頻率值的時間間隔。返回的頻率值為上一個測量周期中所有測量值的平均,無論測量周期如何選擇,測量出的頻率值總是以Hz(每秒脈衝數)為單位。
5高速計數器指令塊
高速計數器指令塊,需要使用指定背景數據塊用於存儲參數。圖1所示為高速計數器指令塊
圖1高速計數器指令塊
表3所示為高速計數器指令塊參數說明
表1 高速計數器指令塊參數
6應用舉例
為了便於理解如何使用高速計數功能,通過一個例子來學習組態及應用。
假設在旋轉機械上有單相增量編碼器作為反饋,接入到S7-1200 CPU,要求在計數25個脈衝時,計數器復位,並重新開始計數,周而復始執行此功能。
針對此應用,選擇CPU 1214C,高速計數器為:HSC1。模式為:單相計數,內部方向控制,無外部復位。據此,脈衝輸入應接入I0.0,使用HSC1的預置值中斷(CV=RV)功能實現此應用。
組態步驟:
先在設備與組態中,選擇CPU,單擊屬性,激活高速計數器,並設置相關參數。此步驟必須實現執行,1200的高速計數器功能必須要先在硬體組態中激活,才能進行下面的步驟
添加硬體中斷塊,關聯相對應的高速計數器所產生的預置值中斷
在中斷塊中添加高速計數器指令塊,編寫修改預置值程序,設置復位計數器等參數
將程序下載,執行功能
1硬體組態
選中CPU如圖2
圖2選中CPU
圖3所示為選擇屬性打開組態界面
圖3 選擇屬性打開組態界面
激活高速計數功能如圖4
圖4 激活高速計數功能
計數類型,計數方向組態如圖5所示
圖5 計數類型,計數方向
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
圖6 初始值及復位組態
預置值中斷組態如圖7
圖7 預置值中斷組態
圖8 添加硬體中斷
組態添加的硬體中斷,如圖8
圖8 組態添加的硬體中斷
地址分配與硬體識別號如圖9
圖9 地址分配與硬體識別號
至此硬體組態部分已經完成,下面進行程序編寫
2程序編寫
將高速計數指令塊添加到硬體中斷中
圖10 打開硬體中斷塊 圖11 添加高速計數器
圖12 定義高速計數器背景數據塊
程序視圖如圖13
圖13 程序視圖
1 這裡就是圖9中系統指定的高速計數器硬體識別號,這裡填1
2 「1」為使能更新初值
3 「0」新初始值為0
至此程序編制部分完成,將完成的組態與程序下載到CPU後即可執行,當前的計數值可在ID1000中讀出,關於高速計數器指令塊,若不需要修改硬體組態中的參數,可不需要調用,系統仍然可以計數。
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴