S7-200 的斷電數據保持不支持高速計數器的范圍設置,因此高速計數器的當前值在CPU每次斷電后都會復位為數值0。要使S7-200高速計數器的當前值在CPU斷電重啟后依然保持,可以通過以下的編程來實現。
在此以高速計數器0的模式1為例來說明如何在S7-200 CPU斷電后保持高速計數器的當前值,具體可參考以下三個部分的編程來實現:
首先,在除了第一個掃描周期之外的其它周期,將高速計數器0的當前值HC0傳送到寄存器VD1000中,如下圖1所示,以保證寄存器VD1000始終存儲的是HC0的當前值。
圖1 傳送當前值到寄存器
其次,在上電的第一周期將寄存器VD1000存儲的數值傳送到高速計數器的當前值,保證高速計數器以VD1000為初始值開始計數,并初始化高速計數器0,如下圖2所示:
圖2 初始化HSC0
最后,在系統塊的斷電數據保持處設置寄存器VD1000為斷電保持區域,如下圖3所示。需要注意的是CPU224及其以上的型號最多支持100個小時(理論值)的斷電保持時間,如果斷電時間超過100個小時的話,可以考慮增加電池卡;或者將當前值保存到MB0-MB13這14個字節的存儲單元。
圖3 設置斷電數據保持
電話:13818569113 15721373211
郵箱:fushidianji@139.com
網址:http://morethanzerosum.com
地址:上海青浦區北青公路7171號111-112室