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