應用領域 | 電子/電池 |
---|
6DD1607-0AA2
SIMATIC S7-400, FM458-1 DP 應用 組,用于 SIMATIC S7-400
![]() |
參考價 | 面議 |
更新時間:2020-05-15 11:29:40瀏覽次數(shù):209
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
西門子S7-400DP 基本型模塊
用比較指令來實現(xiàn)正反轉(zhuǎn)控制,按下啟動按鈕I0.3,Q0.0輸出,電機正轉(zhuǎn),高速計數(shù)器計到50個脈沖后電機停止,過5秒后Q0.1輸出,電機反轉(zhuǎn),計數(shù)器計到50個脈沖后電機停止,過5s后又開始電機的正轉(zhuǎn),如此循環(huán)。
主程序:
子程序:
以上的程序中,首先做一個高速計數(shù)器初始化的子程序,首先是定義控制字節(jié),送16#F8到SMB37,定義為加計數(shù)更新當前值,這里寫入初始值為0和預設值為50,定義的是高速計數(shù)器HSC0和HSC模式1,然后激活高速計數(shù)器。
因為控制要求是按下啟動按鈕I0.3,Q0.0輸出,電機正轉(zhuǎn)。首先就做個起保停程序,I0.3啟動串聯(lián)I0.4停止,來驅(qū)動輸出Q0.0并做Q0.0的自鎖,同時做一個用I0.3的上升沿來調(diào)用高速計數(shù)器初始化子程序,注意這里的起保停是有做正反轉(zhuǎn)的互鎖的。然后再用Q0.0常開觸點串聯(lián)一個HC0大于等于SMD42的比較指令來輸出M0.0,并把M0.0的常閉觸點串聯(lián)在起保停程序中,作為高速計數(shù)器計到50個脈沖后電機停止。
電機停止過5秒后Q0.1輸出,電機反轉(zhuǎn),那么我們就用M0.0來置位M0.1,再用M0.1常開觸點來驅(qū)動來驅(qū)動定時器T37延時5秒,并用T37常開觸點來驅(qū)動復位M0.1,這里是為了讓定時器定時時間到時復位定時器。然后再用T37常開觸點來驅(qū)動輸出Q0.1并做Q0.1的自鎖,同時也用T37的上升沿來調(diào)用高速計數(shù)器初始子程序。然后再用Q0.1常開觸點串聯(lián)一個HC0大于等于SMD42的比較指令來輸出M0.2,并把M0.2的常閉觸點串聯(lián)在起保停程序中,作為高速計數(shù)器計到50個脈沖后電機停止。
電機停止過5s后又開始電機的正轉(zhuǎn),那么我們就用M0.2來置位M0.3,再用M0.3常開觸點來驅(qū)動來驅(qū)動定時器T38延時5秒,并用T38常開觸點來驅(qū)動復位M0.3,這里也是為了讓定時器定時時間到時復位定時器。同時我們用T38常開觸點并聯(lián)在電機正轉(zhuǎn)的控制程序上,這樣可以實現(xiàn)循環(huán)。
2、用中斷來實現(xiàn)正反轉(zhuǎn)控制,按下啟動按鈕I0.3,Q0.0輸出,電機正轉(zhuǎn),高速計數(shù)器計到50個脈沖后電機停止,過5秒后Q0.1輸出,電機反轉(zhuǎn),計數(shù)器計到50個脈沖后電機停止,過5s后又開始電機的正轉(zhuǎn),如此循環(huán)。
主程序:
子程序:
中斷程序:
以上的程序中,首先做一個高速計數(shù)器初始化的子程序,首先是定義控制字節(jié),送16#F8到SMB37,定義為加計數(shù)更新當前值,這里寫入初始值為0和預設值為50,定義的是高速計數(shù)器HSC0和HSC模式1,然后激活高速計數(shù)器,還做了高速計數(shù)器中斷,建立中斷程序0和中斷事件12的中斷連接,并全局允許中斷。
在主程序中,用SM0.1的上升沿調(diào)用高速計數(shù)器初始化子程序,因為控制要求是按下啟動按鈕I0.3,Q0.0輸出,電機正轉(zhuǎn),就用I0.3常開觸點來置位Q0.0,并用I0.3的上升沿激活高速計數(shù)器??刂七€要求當高速計數(shù)器計到50個脈沖后電機停止,那么當計數(shù)當前值等于預設值50時就進入中斷程序去執(zhí)行,我們就可以在中斷程序中編寫用Q0.0常開觸點串聯(lián)Q0.1常閉觸點來復位Q0.0并置位M0.0,那么當當前值等于預設值時復位Q0.0電機停止,并置位M0.0,然后又回到主程序進行執(zhí)行。
電機停止過5秒后Q0.1輸出,電機反轉(zhuǎn),在主程序中用M0.0常開觸點驅(qū)動定時器T37延時5秒,并用T37常開觸點來復位M0.0復位定時器和置位Q0.1,并用T37的上升沿激活高速計數(shù)器。當高速計數(shù)器計到50個脈沖后電機停止,那么當計數(shù)當前值等于預設值50時就進入中斷程序去執(zhí)行,我們就可以在中斷程序中編寫用Q0.1常開觸點串聯(lián)Q0.0常閉觸點來復位Q0.1并置位M0.2,那么當當前值等于預設值時復位Q0.1電機停止,并置位M0.2,然后又回到主程序進行執(zhí)行。
電機停止過5s后又開始電機的正轉(zhuǎn),那么我們就用M0.2來驅(qū)動來驅(qū)動定時器T38延時5秒,并用T38常開觸點來驅(qū)動復位M0.2,這里也是為了讓定時器定時時間到時復位定時器。同時我們用T38常開觸點并聯(lián)在電機正轉(zhuǎn)的控制程序上,這樣可以實現(xiàn)循環(huán)。
那么以上就是用了兩種方法來實現(xiàn)正反轉(zhuǎn)的控制,利用中斷的方法可能會難理解一下,但是其實分析清楚執(zhí)行過程也是不難的,對嗎。
西門子S7-400DP 基本型模塊