編碼器的接線;
輸入通道的濾波時間;
高速計數器;
1、編碼器的接線
我實驗臺上使用的是A/B相增量型編碼器,它有四條線,包括:A相信號線、B相信號線、電源正極和電源負極。電源線按照正負接好即可,信號線要連接到CPU的高速計數器(HSC)上。我使用HSC0,因此A接I0.0,B接I0.1。另外要注意:如果使用的NPN型編碼器,要將CPU輸入端子的公共端M連接到24V正極,即采用源型輸入接線方式;如果使用的是PNP型編碼器,要將CPU輸入端子的公共端M連接到負極(0V),即采用漏型輸入接線方式;本課程有一篇文章專門介紹接線,請參考《《S7-200 SMART運動控制課程》的硬件環境及電氣原理圖》。
2、輸入通道的濾波時間
默認情況下,S7-200 SMART CPU的數字量輸入通道的濾波時間為6.4ms(毫秒),理論上能檢測的最大頻率為78Hz,這對于編碼器的脈沖信號來說太低了,因此要修改輸入通道的濾波時間。我的編碼器每轉一圈發出600個脈沖,轉速為1r/s,也就是說,一秒鐘發出600個脈沖;一開始我將I0.0和I0.1的濾波時間設置為0.2ms,理論上能檢測的最大脈沖頻率為2500Hz,應該夠用了。但是,在實際使用時,我發現會有脈沖丟失的現象;后來我將濾波時間更改為6.4us(微秒),就一切正常了。濾波時間設置如下圖所示:
注:網上有資料說要勾選【脈沖捕獲】,我在實際應用中沒有勾選,功能正常。
3、高速計數器
編碼器的脈沖信號要連接到CPU的高速計數器上,對于A/B相增量型編碼器,要選擇模式9或者10,二者的區別在于:后者可以使用外部信號進行復位。S7-200 SMART標準型CPU最多支持6個高速計數器,單相最高頻率為200KHz。每一個高速計數器都有其特殊存儲器,用于對計數器進行配置。比如,對于HSC0來說:SMB36是它的狀態字節,SMB37是它的控制字節,SMD38是它新的當前值,SMD42是它的新的預設值;我的書《西門子S7-200 SMART PLC應用技術——編程、通信、裝調、案例》的第六章,對于高速計數器的模式、特殊存儲器及向導的使用都有介紹,感興趣的小伙伴可以點擊下面的鏈接看下: