西門子SBBA01
西門子SBBA01
1 問題描述
S7-200 的斷電數(shù)據(jù)保持不支持高速計數(shù)器的范圍設(shè)置,因此高速計數(shù)器的當前值在CPU每次斷電后都會復(fù)位為數(shù)值0。要使S7-200高速計數(shù)器的當前值在CPU斷電重啟后依然保持,可以通過以下的編程來實現(xiàn)。
2 實現(xiàn)方法
在此以高速計數(shù)器0的模式1為例來說明如何在S7-200 CPU斷電后保持高速計數(shù)器的當前值,具體可參考以下三個部分的編程來實現(xiàn):
首先,在除了*個掃描周期之外的其它周期,將高速計數(shù)器0的當前值HC0傳送到寄存器VD1000中,如下圖1所示,以保證寄存器VD1000始終存儲的是HC0的當前值。
圖1 傳送當前值到寄存器
其次,在上電的*周期將寄存器VD1000存儲的數(shù)值傳送到高速計數(shù)器的當前值,保證高速計數(shù)器以VD1000為初始值開始計數(shù),并初始化高速計數(shù)器0,如下圖2所示:
圖2 初始化HSC0
zui后,在系統(tǒng)塊的斷電數(shù)據(jù)保持處設(shè)置寄存器VD1000為斷電保持區(qū)域,如下圖3所示。需要注意的是CPU224及其以上的型號zui多支持100個小時(理論值)的斷電保持時間,如果斷電時間超過100個小時的話,可以考慮增加電池卡;或者將當前值保存到MB0-MB13這14個字節(jié)的存儲單元。
圖3 設(shè)置斷電數(shù)據(jù)保持