STEP 7-MicroWIN SMART 西門子200smartPLC和編碼器進行高速計數程序學習
固件版本V1.0 的CPU SR20、 CPU SR40、 CPUST40 、CPU SR60 和 CPU ST60可以使用4個60kHz單相高速計數器或2個40kHz的兩相高速計數器,而CPU CR40可以使用4個30kHz單相高速計數器或2個20kHz的兩相高速計數器。
固件版本V2.0 到V2.2的標準型CPU(ST/SR20、ST/SR30、ST/SR40、ST/SR60)可以使用4個200kHz單相高速計數器或2個100kHz的兩相高速計數器,而緊湊型CPU CR40、CR60可以使用4個100kHz單相高速計數器或2個50kHz的兩相高速計數器。
固件版本V2.3 的標準型CPU支持6個高速計數器,具體請參考表1和表2。
表1 標準CPU高速計數器
標準型CPU 參數 | CPU SR20 AC/DC/Relay |
CPU ST20 DC/DC/DC |
CPU SR30 AC/DC/Relay |
CPU ST30 DC/DC/DC |
CPU ST40 DC/DC/DC | CPU SR40 AC/DC/Relay | CPU ST60 DC/DC/DC |
CPU SR60 AC/DC/Relay |
---|---|---|---|---|---|---|---|---|
高速計數器 | 6(全部) | 6(全部) | 6(全部) | 6(全部) | ||||
——單相/雙相 | 4 @ 200 KHz +2 @30 KHz | 5 @ 200 KHz +1 @30 KHz | 4 @ 200 KHz +2 @30 KHz | 4 @ 200 KHz +2 @30 KHz | ||||
——A/B相 | 2 @ 100 KHz+ 2@20Kz | 3 @ 100 KHz+ 1@20Kz | 2 @ 100 KHz+ 2@20Kz | 2 @ 100 KHz+ 2@20Kz |
表2 經濟型CPU參數
經濟型CPU 參數 | CPU CR20s AC/DC/Relay |
CPU CR30s AC/DC/Relay |
CPU CR40s AC/DC/Relay | CPU CR60s AC/DC/Relay |
---|---|---|---|---|
高速計數器 | 4(全部) | |||
——單相/雙相 | 4 @100 KHz | 4 @ 100 KHz | 4 @ 100 KHz | 4 @ 100 KHz |
——A/B相 | 2 @ 50 KHz | 2 @ 50 KHz | 2 @ 50 KHz | 2 @ 50 KHz |
計數器共有四種基本類型:帶有內部方向控制的單相計數器,帶有外部方向控制的單相計數器,帶有兩個時鐘輸入的雙相計數器和A/B相正交計數器。
表3. 高速計數器的模式及輸入點:
模式 | 描述 | 輸入點 | ||
---|---|---|---|---|
HSC0 | I0.0 | I0.1 | I0.4 | |
HSC1 | I0.1 | |||
HSC2 | I0.2 | I0.3 | I0.5 | |
HSC3 | I0.3 | |||
HSC4 | I0.6 | I0.7 | I1.2 | |
HSC5 | I1.0 | I1.1 | I1.3 | |
0 | 帶有內部方向控制的單相計數器 | 時鐘 | ||
1 | 時鐘 | 復位 | ||
3 | 帶有外部方向控制的單相計數器 | 時鐘 | 方向 | |
4 | 時鐘 | 方向 | 復位 | |
6 | 帶有增減計數時鐘的雙相計數器 | 增時鐘 | 減時鐘 | |
7 | 增時鐘 | 減時鐘 | 復位 | |
9 | A/B相正交計數器 | 時鐘A | 時鐘B | |
10 | 時鐘A | 時鐘B | 復位 |
表4. 高速計數器的尋址
高速計數器號 | HSC0 | HSC1 | HSC2 | HSC3 | HSC4 | HSC5 |
---|---|---|---|---|---|---|
新當前值(新 CV) | SMD38 | SMD48 | SMD58 | SMD138 | SMD148 | SMD158 |
新預置值(新 PV) | SMD42 | SMD52 | SMD62 | SMD142 | SMD152 | SMD162 |
當前計數值(僅讀出) | HC0 | HC1 | HC2 | HC3 | HC4 | HC5 |
高速計數器的具體編程及相關的中斷和其它參數,請參見《S7-200 SMART 系統手冊》,上面有詳細的闡述及例程。
下面有編程向導
高速輸入降噪
要正確操作高速計數器,可能需要執行以下一項或兩項操作:
● 調整 HSC 通道所用輸入通道的“系統塊”數字量輸入濾波時間。在 S7-200 SMART CPU 中。在 HSC 通道對脈沖進行計數前應用輸入濾波。這意味著,如果 HSC 輸入脈沖以輸入濾波過濾掉的速率發生,則 HSC 不會在輸入上檢測到任何脈沖。請務必將 HSC 的每路輸入的濾波時間組態為允許以應用需要的速率進行計數的值。包括方向和復位輸入。下表顯示可檢測到的每種輸入濾波組態的最大輸入頻率。
表5.輸入濾波設置和可檢測到的最大輸入頻率
輸入濾波時間 | 可檢測到的最大頻率 |
---|---|
0.2μs | 200KHz (標準型CPU) 100KHz(緊湊型或經濟型CPU) |
0.4μs | 200KHz (標準型CPU) 100KHz(緊湊型或經濟型CPU) |
0.8μs | 200KHz (標準型CPU) 100KHz(緊湊型或經濟型CPU) |
1.6μs | 200KHz (標準型CPU) 100KHz(緊湊型或經濟型CPU) |
3.2μs | 156KHz (標準型CPU) 100KHz(緊湊型或經濟型CPU) |
6.4μs | 78kHz |
12.8μs | 39 kHz |
0.2ms | 2.5kHz |
0.4ms | 1.25kHz |
0.8ms | 625 Hz |
1.6ms | 312 Hz |
3.2ms | 156 Hz |
6.4ms | 78 Hz |
12.8ms | 39 Hz |
輸入邏輯電平有效電壓范圍
表6. 輸入邏輯電平有效電壓范圍
CPU型號 | 邏輯1信號(最小) | 邏輯0信號(最大) |
SR、CR、CRS | 2.5mA時 15VDC | 1mA時 5VDC |
ST20/30 | I0.0-I0.3:8mA時 4VDC I0.6-I0.7:8mA時 4VDC 其他:2.5mA時15VDC |
I0.0-I0.3:1mA時 1VDC I0.6-I0.7:1mA時 1VDC 其他:1mA時5VDC |
●加入下拉電阻是為了使輸入輸出信號達到其邏輯電平有效范圍。如果設備的輸出是集電極開路晶體管,則可能出現這種情況。晶體管關閉時,沒有任何因素將信號驅動為低電平狀態。信號將轉換為低電平狀態,但所需時間將取決于電路的輸入電阻和電容。這種情況可能導致脈沖丟失。可通過將下拉電阻接到輸入信號的方法避免這種情況,如下圖所示。由于 CPU 的輸入電壓是24V,因此電阻的額定0功率必須為高功率。100 歐 5 瓦的電阻是一個合適的選擇。
圖1. 集電極開路HSC輸入驅動接線下拉電阻
高速計數器指令向導
在 Micro/WIN SMART 中的命令菜單中選擇 Tools(工具)> Wizards(向導)中選擇 High Speed Counter(高速計數器向導) ,也可以在項目樹中選擇 Wizards(向導)文件夾中的 High Speed Counter(高速計數器向導)按鈕,如圖 1所示。
圖 1.選擇 HSC 向導
步驟一:選擇 HSC 編號,如圖 2所示。
圖 2.選擇計數器編號
步驟二:為計數器命名,在左側樹形目錄中選擇“高速計數器”,如圖 3所示。
圖 3.高速計數器命名
步驟三:選擇計數器模式,詳細信息請見“表1.高速計數器的模式及輸入點”。
圖 4.選擇高速計數器模式
步驟四:配置初始化信息。
圖 5. HSC 初始化選項
在上圖中:
-
為初始化子程序命名,或者使用默認名稱。
-
設置計數器預置值:可以為整數、雙字地址或符號名:如 5000、VD100、PV_HC0。用戶可使用全局符號表中雙字整數對應的符號名。如果用戶輸入的符號名尚未定義,點擊' Generate (生成)’后會看到:
這個提示框顯示:“這不是定義的全局符號。您希望定義符號嗎”,點擊“是”
填入地址和注釋,注意:地址必須為雙字地址, 注釋可以不填。
-
設置計數器初始值:可以為整數、雙字地址或符號名:5000、VD100、CV_HC0。
-
初始化計數方向:增,減。
-
對于帶外部復位端的高速計數器,可以設定復位信號為高電平有效或者低電平有效。
-
使用A/B相正交計數器時,可以將計數頻率設為1倍速或4倍速。使用非A/B相正交計數器時,此項為虛。
-
S7-200 SMART 均不支持帶外部啟動端的高速計數器,因此此項為虛。
注意:所謂“高/低電平有效”指的是在物理輸入端子上的有效邏輯電平,即可以使 LED 燈點亮的電平。這取決于源型/漏型輸入接法,并非指實際電平的高、低。
步驟五:配置中斷事件,如圖 6所示。
圖 6.配置中斷
如圖 6所示,一個高速計數器最多可以有 3 個中斷事件,在白色方框中填寫中斷服務程序名稱或者使用默認名稱:
在這里配置的中斷事件并非必須,系由用戶根據自己的控制工藝要求選用。
-
外部復位輸入有效值時中斷,如果使用的高速計數器模式不具有外部復位端,則此項為虛。
-
方向控制輸入狀態改變時的中斷,有以下 3 種情況會產生該中斷:
-
單項計數器的內部或外部方向控制位改變瞬間
-
雙相計數器增、減時鐘交替的瞬間
-
A/B相脈沖相對相位(超前或滯后)改變時瞬間
-
-
當前值等于預置值時產生的中斷,通過向導,可以在該中斷的服務程序中重新設置高速計數器的參數,如預置值、當前值。一個這樣的過程稱為'一步'。
步驟六:配置 HSC 步數,如圖 7所示,最多可設置 10 步。
圖 7. 配置 HSC 步數
步驟七:定義高速計數器每一步的操作,如圖 8所示:
圖 8. HSC 第一步
在這里配置的是當前值等于設定值中斷的服務程序中的操作:
-
向導會自動為當前值等于預置值匹配一個新的中斷服務程序,用戶可以對其重新命名,或者使用默認的名稱。
-
勾選后,用戶在右側輸入新的預置值。
-
勾選后,用戶在右側輸入新的當前值。
-
如果選用的高速計數器模式有內部方向控制位。
-
使用相同的方法完成其余兩步的設置
步驟八:完成向導,如圖 9所示:
圖 9. 完成向導
點擊向導對話框左側樹形目錄中的選項“組件(Components)”可以看到此時向導生成的子程序和中斷程序名稱及描述,點擊“生成(Generate)”按鈕,完成向導。
注意:Micro/WIN SMART 高速計數器指令向導采用樹形目錄的形式,用戶可以直接在目錄樹中選擇相應選項進行設置,這種方式便于用戶在完成指令向導后根據實際需求進行快速修改。
步驟九:調用子程序:
注意:
-
HSC_INIT 為初始化子程序,請在主程序塊中使用 SM0.1 或一條邊沿觸發指令調用一次此子程序。
-
向導生成的中斷服務程序及子程序都未上鎖,用戶可以根據自己的控制需要進行修改。
文章來源:綜合網絡,本文系網絡轉載,版權歸原作者所有。但因轉載眾多,無法確認真正原始作者。