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