在實(shí)際應(yīng)用中,我們常會(huì)用到計(jì)時(shí)時(shí)長(zhǎng)遠(yuǎn)超過(guò)s5定時(shí)器的最大定時(shí)時(shí)長(zhǎng)的情況。比如,我們要求某一設(shè)備在滿足運(yùn)行條件后,持續(xù)運(yùn)行8個(gè)小時(shí)。此時(shí),單獨(dú)用s5定時(shí)器很難實(shí)現(xiàn)這一控制要求。
實(shí)現(xiàn)上述控制要求的方法有多種,這里,介紹一種利用計(jì)數(shù)器擴(kuò)展定時(shí)時(shí)長(zhǎng)的方法,并簡(jiǎn)要引出s7中計(jì)數(shù)器的概念。
一、控制任務(wù)歸納
控制任務(wù)為:某一設(shè)備在滿足運(yùn)行條件后,持續(xù)運(yùn)行8個(gè)小時(shí)
做以下假設(shè):
1、假設(shè)該設(shè)備的各運(yùn)行條件匯總為m10.0,且m10.0=1時(shí),運(yùn)行條件滿足;
2、該設(shè)備的運(yùn)行命令由q2.0給出,即q2.0=1時(shí),設(shè)備運(yùn)行;
3、為方便討論,這里不考慮本設(shè)備故障、來(lái)自其他設(shè)備的連鎖/互鎖、及快/急停等各種信號(hào)的影響。
二、利用計(jì)數(shù)器擴(kuò)展定時(shí)時(shí)長(zhǎng)
1、計(jì)數(shù)器的相關(guān)概念
s7的系列cpu為計(jì)數(shù)器保留了一片存儲(chǔ)區(qū)域。一個(gè)計(jì)數(shù)器包括一個(gè)16位的字和一個(gè)二進(jìn)制的位。計(jì)數(shù)器的字用來(lái)存儲(chǔ)當(dāng)前的計(jì)數(shù)值,而計(jì)數(shù)器的觸點(diǎn)狀態(tài)反映在它的位上。如圖1所示,為計(jì)數(shù)器的字。
圖1 計(jì)數(shù)器的字
程序中,計(jì)數(shù)器的表示方法為:c+計(jì)數(shù)器號(hào),如c10表示10號(hào)計(jì)數(shù)器。
計(jì)數(shù)器的計(jì)數(shù)范圍為:0-999。
僅當(dāng)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值為0時(shí),計(jì)數(shù)器的觸點(diǎn)狀態(tài)位才為0;否則,其觸點(diǎn)/線圈狀態(tài)位1;
計(jì)數(shù)器分為加計(jì)數(shù)器、減計(jì)數(shù)器及加/減計(jì)數(shù)器,這里,我們用到了減計(jì)數(shù)器。
2、設(shè)計(jì)計(jì)數(shù)脈沖
我們可以首先設(shè)計(jì)一個(gè)方波信號(hào),具體實(shí)現(xiàn)辦法可參見(jiàn)《西門子s7 300仿真實(shí)驗(yàn)平臺(tái)——編程實(shí)現(xiàn)矩形波、方波發(fā)生器》
這里,需要確定方波的周期。如圖2所示。
圖2 定時(shí)器及計(jì)數(shù)器的初始值的確定
如圖3所示,為方波發(fā)生器,當(dāng)m0.0=1時(shí),定時(shí)器t1和t2周期性的工作,并在#temp1輸出一個(gè)周期為288s的方波信號(hào)。
圖3 方波發(fā)生器
3、實(shí)現(xiàn)延時(shí)時(shí)長(zhǎng)為8h的延時(shí)斷功能
有了圖3所示的方波發(fā)生器后,我們只需利用減1計(jì)數(shù)器記錄100個(gè)方波脈沖,即:
288s*100=28800s=8h
即可實(shí)現(xiàn)定時(shí)8小時(shí)的功能,如圖4所示。
圖4 時(shí)長(zhǎng)為8h的延時(shí)斷