S7-200 高速計數器簡單案例

有一些學員問到高速計數器的問題,所以今天來看一個程序案例應用吧,對這個案例,我們以兩種方法來實現它。通過對高速計數器應用的練習,來更好的掌握高速計數器的內容。


1、用比較指令來實現正反轉控制,按下啟動按鈕I0.3,Q0.0輸出,電機正轉,高速計數器計到50個脈衝後電機停止,過5秒後Q0.1輸出,電機反轉,計數器計到50個脈衝後電機停止,過5s後又開始電機的正轉,如此循環。

主程序:

S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例


子程序:


S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例


以上的程序中,首先做一個高速計數器初始化的子程序,首先是定義控制字節,送16#F8到SMB37,定義為加計數更新當前值,這裡寫入初始值為0和預設值為50,定義的是高速計數器HSC0和HSC模式1,然後激活高速計數器。


因為控制要求是按下啟動按鈕I0.3,Q0.0輸出,電機正轉。首先就做個起保停程序,I0.3啟動串聯I0.4停止,來驅動輸出Q0.0並做Q0.0的自鎖,同時做一個用I0.3的上升沿來調用高速計數器初始化子程序,注意這裡的起保停是有做正反轉的互鎖的。然後再用Q0.0常開觸點串聯一個HC0大於等於SMD42的比較指令來輸出M0.0,並把M0.0的常閉觸點串聯在起保停程序中,作為高速計數器計到50個脈衝後電機停止。


電機停止過5秒後Q0.1輸出,電機反轉,那麼我們就用M0.0來置位M0.1,再用M0.1常開觸點來驅動來驅動定時器T37延時5秒,並用T37常開觸點來驅動復位M0.1,這裡是為了讓定時器定時時間到時復位定時器。然後再用T37常開觸點來驅動輸出Q0.1並做Q0.1的自鎖,同時也用T37的上升沿來調用高速計數器初始子程序。然後再用Q0.1常開觸點串聯一個HC0大於等於SMD42的比較指令來輸出M0.2,並把M0.2的常閉觸點串聯在起保停程序中,作為高速計數器計到50個脈衝後電機停止。


電機停止過5s後又開始電機的正轉,那麼我們就用M0.2來置位M0.3,再用M0.3常開觸點來驅動來驅動定時器T38延時5秒,並用T38常開觸點來驅動復位M0.3,這裡也是為了讓定時器定時時間到時復位定時器。同時我們用T38常開觸點並聯在電機正轉的控制程序上,這樣可以實現循環。


2、用中斷來實現正反轉控制,按下啟動按鈕I0.3,Q0.0輸出,電機正轉,高速計數器計到50個脈衝後電機停止,過5秒後Q0.1輸出,電機反轉,計數器計到50個脈衝後電機停止,過5s後又開始電機的正轉,如此循環。

主程序:


S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例


子程序:


S7-200 高速計數器簡單案例

S7-200 高速計數器簡單案例


中斷程序:

S7-200 高速計數器簡單案例


以上的程序中,首先做一個高速計數器初始化的子程序,首先是定義控制字節,送16#F8到SMB37,定義為加計數更新當前值,這裡寫入初始值為0和預設值為50,定義的是高速計數器HSC0和HSC模式1,然後激活高速計數器,還做了高速計數器中斷,建立中斷程序0和中斷事件12的中斷連接,並全局允許中斷。


在主程序中,用SM0.1的上升沿調用高速計數器初始化子程序,因為控制要求是按下啟動按鈕I0.3,Q0.0輸出,電機正轉,就用I0.3常開觸點來置位Q0.0,並用I0.3的上升沿激活高速計數器。控制還要求當高速計數器計到50個脈衝後電機停止,那麼當計數當前值等於預設值50時就進入中斷程序去執行,我們就可以在中斷程序中編寫用Q0.0常開觸點串聯Q0.1常閉觸點來複位Q0.0並置位M0.0,那麼噹噹前值等於預設值時復位Q0.0電機停止,並置位M0.0,然後又回到主程序進行執行。


電機停止過5秒後Q0.1輸出,電機反轉,在主程序中用M0.0常開觸點驅動定時器T37延時5秒,並用T37常開觸點來複位M0.0復位定時器和置位Q0.1,並用T37的上升沿激活高速計數器。當高速計數器計到50個脈衝後電機停止,那麼當計數當前值等於預設值50時就進入中斷程序去執行,我們就可以在中斷程序中編寫用Q0.1常開觸點串聯Q0.0常閉觸點來複位Q0.1並置位M0.2,那麼噹噹前值等於預設值時復位Q0.1電機停止,並置位M0.2,然後又回到主程序進行執行。


電機停止過5s後又開始電機的正轉,那麼我們就用M0.2來驅動來驅動定時器T38延時5秒,並用T38常開觸點來驅動復位M0.2,這裡也是為了讓定時器定時時間到時復位定時器。同時我們用T38常開觸點並聯在電機正轉的控制程序上,這樣可以實現循環。


那麼以上就是用了兩種方法來實現正反轉的控制,利用中斷的方法可能會難理解一下,但是其實分析清楚執行過程也是不難的,對嗎。



分享到:


相關文章: