S7-200SMART實時時鐘(上)
一、實時時鐘概述
S7-200 SMART的硬件實時時鐘可以提供年、月、日、時、分、秒的日期/時間數(shù)據(jù)。CPU CR40/CR60 等緊湊型CPU沒有內(nèi)置的實時時鐘,其他標準型CPU支持內(nèi)置的實時時鐘,CPU斷電狀態(tài)下可保持7天;時鐘精度是± 120 秒 / 月;SMART CPU 靠內(nèi)置超級電容為實時時鐘提供電源緩沖,保持時間為典型值7天,小值6天
因為 緊湊型CPU 無內(nèi)置超級電容,所以實時時鐘無電源緩沖,所以我們使用READ_RTC 和 SET_RTC 指令設(shè)置日期/時間數(shù)據(jù),但是當 CPU CR40/CR60 斷電并再次上電時,這些日期/時間數(shù)據(jù)也會丟失,上電后日期時間數(shù)據(jù)會被初始化為2000年1月1日。
為了提高運算效率,應(yīng)當避免每個程序周期都讀取實時時鐘。實際上可讀取的小時間單位是1秒,可每秒讀取一次(使用SM0.5上升沿觸發(fā)讀取指令)。
使用程序讀取的實時時鐘數(shù)據(jù)為BCD格式,可在狀態(tài)表中使用十六進制格式查看。
二、實時時鐘指令概述
時鐘指令有讀取及設(shè)置實時時鐘和擴展實時時鐘兩部分
READ_RTC讀取實時時鐘指令從 CPU 讀取當前時間和日期,并將其裝載到從字節(jié)地址 T 開始的 8 字節(jié)時間緩沖區(qū)中。
SET_RTC設(shè)置實時時鐘指令通過由 T 分配的 8 字節(jié)時間緩沖區(qū)數(shù)據(jù)將新的時間和日期寫入到 CPU
READ_RTCX 讀取擴展實時時鐘指令從 PLC 中讀取當前時間、日期和夏令時組態(tài),并將其裝載到從 T 所分配地址開始的 19 字節(jié)緩沖區(qū)中。
SET_RTCX設(shè)置實時時鐘指令使用字節(jié)地址 T 分配的 19 字節(jié)時間緩沖區(qū)數(shù)據(jù)將新的時間、日期和夏令時組態(tài)寫入到 PLC 中。
Read_RTC(讀時鐘)和Set_RTC(設(shè)置時鐘)指令靠數(shù)據(jù)緩沖區(qū)在程序與硬件芯片間交換數(shù)據(jù),它們的緩沖區(qū)格式相同。
三、實時時鐘緩沖數(shù)據(jù)格式
八字節(jié)數(shù)據(jù)緩沖格式如下圖所示
T 就是緩沖區(qū)的起始字節(jié)地址,我們可自由設(shè)置(在CPU允許的V存儲區(qū)范圍內(nèi))。如果設(shè)置T為VB100,那么讀取時鐘后,“年”的信息就會保存在VB100中,“月”保存在VB101中。所有的日期時間均采用BCD碼格式分配(比例16#15表示2015年)BCD碼00-99值可分配范圍為2000年至2099年
BCD碼:通俗簡單的說就是用16進制數(shù)來表示十進制數(shù)就稱為BCD碼
擴展實時時鐘19字節(jié)緩沖區(qū)格式
四、各型號CPU實時時鐘精度
CPU在長時間斷電后會對這些值進行初始化;初始化后的具體時間為2000年1月1日00:00:00星期六
五、用 Micro/WIN SMART 設(shè)置時鐘
通過編程軟件 Micro/WIN SMART 設(shè)置 CPU 的時鐘,必須先建立編程通信連接。在 Micro/WIN SMART 菜單中選擇“PLC “- >”設(shè)置實時時鐘”,打開“PLC 時鐘操作”對話框
a.設(shè)置日期:選擇需要修改的數(shù)據(jù)字段,直接輸入數(shù)字,或者使用輸入框右側(cè)的上下按鈕調(diào)整
b.設(shè)置時間:選擇需要修改的數(shù)據(jù)字段,直接輸入數(shù)字,或者使用輸入框右側(cè)的上下按鈕調(diào)整
c.讀取 PC 時鐘:按此按鈕可以讀取安裝 Micro/WIN SMART的 PC 機的本機時間
d.讀取 PLC 時鐘:按此按鈕讀取 PLC 內(nèi)部的實時時鐘數(shù)據(jù)
e.根據(jù)需要選擇夏時制調(diào)整選項
f.按“設(shè)置”按鈕,將上面的時鐘日期數(shù)據(jù)寫入 PLC
六、讀寫的時鐘數(shù)據(jù)如何在十進制(整數(shù))和BCD數(shù)據(jù)之間轉(zhuǎn)換?
要計算時間需要將BCD格式的時鐘數(shù)據(jù)與十進制的數(shù)據(jù)之間的轉(zhuǎn)換,使用相應(yīng)的轉(zhuǎn)換指令就可以實現(xiàn)。
具體轉(zhuǎn)換指令在本平臺回復(fù):clock 即可下載 Clock_Integer 指令庫
要使用 Clock_Integer 指令庫,須遵循以下步驟:
取得 Clock_Integer 指令庫文件,并添加到編程軟件 STEP 7-Micro/WIN SMART中;按照要求編寫程序調(diào)用 Clock_Integer 指令庫。