實現(xiàn)上述控制要求的方法有多種,這里,介紹一種"利用計數(shù)器擴展定時時長"的方法,并簡要引出S7中計數(shù)器的概念。
一、控制任務(wù)歸納
控制任務(wù)為:某一設(shè)備在滿足運行條件后,持續(xù)運行8個小時
做以下假設(shè):
1、假設(shè)該設(shè)備的各運行條件匯總為M10.0,且M10.0=1時,運行條件滿足;
2、該設(shè)備的運行命令由Q2.0給出,即Q2.0=1時,設(shè)備運行;
3、為方便討論,這里不考慮本設(shè)備故障、來自其他設(shè)備的連鎖/互鎖、及快/急停等各種信號的影響。
二、利用計數(shù)器擴展定時時長
1、計數(shù)器的相關(guān)概念
S7的系列CPU為計數(shù)器保留了一片存儲區(qū)域。一個計數(shù)器包括一個16位的字和一個二進制的位。計數(shù)器的字用來存儲當前的計數(shù)值,而計數(shù)器的觸點狀態(tài)反映在它的位上。如圖1所示,為計數(shù)器的字。
圖1 計數(shù)器的"字"
程序中,計數(shù)器的表示方法為:"C+計數(shù)器號",如C10表示10號計數(shù)器。
計數(shù)器的計數(shù)范圍為:0-999。
僅當計數(shù)器的當前計數(shù)值為0時,計數(shù)器的觸點狀態(tài)位才為0;否則,其觸點/線圈狀態(tài)位1;
計數(shù)器分為加計數(shù)器、減計數(shù)器及加/減計數(shù)器,這里,我們用到了減計數(shù)器。
2、設(shè)計計數(shù)脈沖
我們可以首先設(shè)計一個"方波"信號,具體實現(xiàn)辦法可參見《西門子S7 300仿真實驗平臺——編程實現(xiàn)矩形波、方波發(fā)生器》
這里,需要確定方波的周期。如圖2所示。
圖2 定時器及計數(shù)器的初始值的確定
如圖3所示,為方波發(fā)生器,當M0.0=1時,定時器T1和T2周期性的工作,并在"#temp1"輸出一個周期為288s的方波信號。
圖3 方波發(fā)生器
3、實現(xiàn)延時時長為8h的"延時斷"功能
有了圖3所示的"方波發(fā)生器"后,我們只需利用減1計數(shù)器記錄100個方波脈沖,即:
288s*100=28800s=8h
即可實現(xiàn)定時8小時的功能,如圖4所示。
圖4 時長為8h的"延時斷"