西門子S7-1200高速計數器
前幾期我們對高速計數器也有做相關的分享,如200SMART的高速計數、編碼器基礎、高速計數常見問題等可關注本號獲取查看;今天我們主要分享關于1200系列的高速計數內容。
一、 高速計數的大頻率
CPU 和 SB 輸入通道可以支持過程信號中的大脈沖速率
二、高速計數器的工作模式
單相:
單相計數指的是只有一路脈沖信號輸入到PLC,計數器所記錄脈沖數體現為加還是減,取決于方向信號,由方向信號的ON和OFF進行決定。方向信號可選擇內部控制也可以選擇外部輸入
兩相位:
雙相計數具有兩路脈沖信號,一路脈沖為增計數脈沖,一路在減計數脈沖,當增脈沖信號輸入時,計數器當前值往上加;當減計數脈沖輸入時,計數器的當前值往下減
A/B計數器四倍頻:
A/B計數器四倍頻計數方式與A/B計數器計數方式一樣,主要不同在于每個沿信號的產生時,計數的當前值均會發生變化
三、計數類型
1200系列PLC提供4種計數類型:計數、周期、頻率、運動控制
計數:計算脈沖次數并根據方向控制的狀態遞增或遞減計數值。外部 I/O可在事件上重置計數、取消計數、啟動當前值捕獲及產生單相。輸出值為當前計 數值且該計數值在發生捕獲事件時產生。當選擇為計數類型時,需要設置計數器的工作模式和計數方向,以及初始化計數方向、初始值及參考值等
周期:會在的時間周期內計算輸入脈沖的次數。返回脈沖的計數及持續時間(單 位為:納秒)。會在頻率測量周期的時間周期結束后,捕獲并計算值。使用周期功能時,需要設置頻率測量周期,頻率周期可選擇為1S/0.1S/0.001S
頻率:測量輸入脈沖和持續時間,然后計算出脈沖的頻率。程序會返回一個有符號的 雙精度整數的頻率(單位為Hz)。如果計數方向向下,該值為負。會在頻率測量周期的時間周期結束時,捕 獲并計算值。
運動控制:用于運動控制計數對象,不適用于 HSC 指令。主要用于運動控制實現閉環控制時使用
四、高速計數的尋址
CPU 將每個高速計數器的測量值,存儲在輸入過程映像區內,數據類型為 32 位雙整型有符號數,用戶可以在設備組態中修改這些存儲地址,在程序中可直接訪問這些地址,但由于過程映像區受掃描周期影響,讀取到的值并不是當前時刻的實際值,在一個掃描周期內,此數值不會發生變化,但計數器中的實際值有可能會在一個周期內變化,用戶無法讀到此變化。
我們可通過讀取外設地址的方式,讀取到當前時刻的實際值。以 ID1000 為例,其外設地址為 “ID1000:P”下表所示為高速計數器尋址列表。
高速計數器尋址
高速計數器號 | 數據類型 | 默認地址 |
HSC1 | DINT | ID1000 |
HSC2 | DINT | ID1004 |
HSC3 | DINT | ID1008 |
HSC4 | DINT | ID1012 |
HSC5 | DINT | ID1016 |
HSC6 | DINT | ID1020
|
五、高速計數指令說明
高速計數器控制指令CTRL_HSC
管腳說明:
STATUS 錯誤代碼:
CTRL_HSC_EXT:高速計數器擴展指令
CTRL_HSC_EXT: 高速計數器擴展指令主要針對固件版本為V4.2以上的CPU使用,增加了門功能、同步功能、比較功能、捕捉功能等
管腳定義: