S7-200 SMART 實(shí)時(shí)時(shí)鐘
S7-200 SMART的硬件實(shí)時(shí)時(shí)鐘可以提供年、月、日、時(shí)、分、秒的日期/時(shí)間數(shù)據(jù)。
CPU CR40/CR60 等緊湊型CPU沒有內(nèi)置的實(shí)時(shí)時(shí)鐘,其他標(biāo)準(zhǔn)型CPU支持內(nèi)置的實(shí)時(shí)時(shí)鐘,CPU斷電狀態(tài)下可保持7天。
S7-200 SMART CPU的時(shí)鐘精度是± 120 秒 / 月。
S7-200 SMART CPU 靠內(nèi)置超級(jí)電容為實(shí)時(shí)時(shí)鐘提供電源緩沖,保持時(shí)間為典型值7天,最小值6天。緩沖電源放電完畢后,再次上電后時(shí)鐘將停止在缺省值,并不開始走動(dòng)。
注意:因?yàn)?nbsp;緊湊型CPU 無內(nèi)置超級(jí)電容,所以實(shí)時(shí)時(shí)鐘無電源緩沖,盡管用戶可以使用READ_RTC 和 SET_RTC 指令設(shè)置日期/時(shí)間數(shù)據(jù),但是當(dāng) CPU CR40/CR60 斷電并再次上電時(shí),這些日期/時(shí)間數(shù)據(jù)會(huì)丟失,上電后日期時(shí)間數(shù)據(jù)會(huì)被初始化為2000年1月1日。
為了提高運(yùn)算效率,應(yīng)當(dāng)避免每個(gè)程序周期都讀取實(shí)時(shí)時(shí)鐘。實(shí)際上可讀取的最小時(shí)間單位是1秒,可每秒讀取一次(使用SM0.5上升沿觸發(fā)讀取指令)。
使用程序讀取的實(shí)時(shí)時(shí)鐘數(shù)據(jù)為BCD格式,可在狀態(tài)表中使用十六進(jìn)制格式查看。
要設(shè)置日期、時(shí)間值,使之開始走動(dòng),可以:
- 用編程軟件(Micro/WIN SMART)的菜單命令PLC > SET Clock,通過與CPU的在線連接設(shè)置,完成后時(shí)鐘開始走動(dòng)
- 編用戶程序使用Set_RTC(設(shè)置時(shí)鐘)指令設(shè)置
Micro/WIN SMART 可以通過任何編程連接實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘的設(shè)置。
用 Micro/WIN SMART 設(shè)置時(shí)鐘
通過編程軟件 Micro/WIN SMART 設(shè)置 CPU 的時(shí)鐘,必須先建立編程通信連接。
在 Micro/WIN SMART 菜單中選擇“PLC “- >”設(shè)置實(shí)時(shí)時(shí)鐘”,打開“PLC 時(shí)鐘操作”對話框:
圖 1. PLC 實(shí)時(shí)時(shí)鐘設(shè)置界面
圖中:
- 設(shè)置日期:選擇需要修改的數(shù)據(jù)字段,直接輸入數(shù)字,或者使用輸入框右側(cè)的上下按鈕調(diào)整
- 設(shè)置時(shí)間:選擇需要修改的數(shù)據(jù)字段,直接輸入數(shù)字,或者使用輸入框右側(cè)的上下按鈕調(diào)整
- 讀取 PC 時(shí)鐘:按此按鈕可以讀取安裝 Micro/WIN SMART的 PC 機(jī)的本機(jī)時(shí)間
- 讀取 PLC 時(shí)鐘:按此按鈕讀取 PLC 內(nèi)部的實(shí)時(shí)時(shí)鐘數(shù)據(jù)
- 根據(jù)需要選擇夏時(shí)制調(diào)整選項(xiàng)
- 按“設(shè)置”按鈕,將上面的時(shí)鐘日期數(shù)據(jù)寫入 PLC
時(shí)鐘讀寫指令緩沖區(qū)格式
Read_RTC(讀時(shí)鐘)和Set_RTC(設(shè)置時(shí)鐘)指令靠數(shù)據(jù)緩沖區(qū)在用戶程序與硬件芯片間交換數(shù)據(jù),它們的緩沖區(qū)格式相同。
表1. 時(shí)鐘緩沖區(qū)
T字節(jié) | 說明 | 數(shù)據(jù)值 |
---|---|---|
0 | 年 | 00至99(BCD值)20xx年:其中,xx是T字節(jié)0中的兩位數(shù)BCD值 |
1 | 月 | 01至12(BCD值) |
2 | 日 | 01至31(BCD值) |
3 | 小時(shí) | 00至23(BCD值) |
4 | 分 | 00至59(BCD值) |
5 | 秒 | 00至59(BCD值) |
6 | 保留 | 始終設(shè)置為00 |
7 | 星期幾 | 使用SET_RTC/TODW指令寫入時(shí)會(huì)或略值。通過SET_RTC/TODR指令進(jìn)行讀取時(shí),值會(huì)根據(jù)當(dāng)前年 / 月/日值報(bào)告正確的星期幾。1至7,1=星期日,7=星期六(BCD值) |
* 1 = 星期日,7 = 星期六,0 = 表示禁止計(jì)星期
T 就是緩沖區(qū)的起始字節(jié)地址,可以由用戶自由設(shè)置(在CPU允許的V存儲(chǔ)區(qū)范圍內(nèi))。如果設(shè)置T為VB10,那么讀取時(shí)鐘后,“年”的信息就會(huì)保存在VB10中,“月”保存在VB11中。
為了更好地理解 實(shí)時(shí)時(shí)鐘的讀取與設(shè)置,可參考下面的例程(軟件版本:STEP 7-Micro/WIN SMART V2.3)。
READ_RTC/SET_RTC例程
程序下載掃碼關(guān)注公眾號(hào)菜單欄回復(fù):實(shí)時(shí)時(shí)鐘
READ_RTC、SET_RTC 編程提示 不接受無效日期。 例如,如果您輸入 2 月 30 日,則將發(fā)生非致命日時(shí)鐘錯(cuò)誤 (0007H) 。 不要在主程序和中斷例程中使用READ_RTC/SET_RTC 指令。 執(zhí)行另一個(gè)READ_RTC/SET_RTC 指令時(shí),無法執(zhí)行中斷例程中的 READ_RTC/SET_RTC 指令。 在這種情況下,系統(tǒng)標(biāo)志位 SM4.3 會(huì)置位,指示嘗試同時(shí)對日時(shí)鐘執(zhí)行二重訪問,導(dǎo)致T 數(shù)據(jù)錯(cuò)誤(非致命錯(cuò)誤 0007H )。 CPU 中的日時(shí)鐘僅使用年份的最后兩位數(shù),因此 2000 年表示為 00 。但使用年份值的用戶程序必須考慮兩位數(shù)的表示法。 2099 年之前的閏年均可正確處理。
實(shí)時(shí)時(shí)鐘精度
表2.實(shí)時(shí)時(shí)鐘精度
CPU型號(hào) | 實(shí)時(shí)時(shí)鐘精度 | 實(shí)時(shí)時(shí)鐘保持時(shí)間 |
---|---|---|
CPU SR20 | +/- 120 s/月 | 通常為7天,25°C時(shí)最少為6天(免維修超級(jí)電容) |
CPU SR40 | 120 s/月 | 通常為7天,25°C時(shí)最少為6天 |
CPU ST40 | 120 s/月 | 通常為7天,25°C時(shí)最少為6天 |
CPU CR40 | -- | -- |
CPU ST60 | 120 s/月 | 通常為7天,25°C時(shí)最少為6天 |
CPU SR60 | 120 s/月 | 通常為7天,25°C時(shí)最少為6天 |
CPU在長時(shí)間斷電后會(huì)對這些值進(jìn)行初始化。
表3.初始化后的值
日期 | 時(shí)間 | 星期幾 |
---|---|---|
2000年1月1日 | 00:00:00 | 星期六 |
常問問題
寫時(shí)鐘指令(SET_RTC)為何不能正常改寫時(shí)鐘內(nèi)容?
- 寫時(shí)鐘指令需要嚴(yán)格按照8個(gè)字節(jié)的時(shí)鐘緩沖區(qū)格式,設(shè)置相應(yīng)的數(shù)據(jù)單元,任何不合格的數(shù)據(jù)都可能造成不能寫入的現(xiàn)象。注意數(shù)據(jù)的格式必須是BCD格式,可以說是將10進(jìn)制數(shù)換成16進(jìn)制表示,如16#59(59H)就是59(秒/分等)。
執(zhí)行寫時(shí)鐘指令要保證緩沖區(qū)所有字節(jié)都包含合法數(shù)據(jù);僅修改某些數(shù)據(jù)時(shí),其他字節(jié)不能包含非法數(shù)值,否則會(huì)發(fā)生錯(cuò)誤。
- 寫時(shí)鐘指令必須使用一次性的脈沖(沿)觸發(fā)條件,不能持續(xù)激活寫時(shí)鐘指令。
讀寫的時(shí)鐘數(shù)據(jù)如何在十進(jìn)制(整數(shù))和BCD數(shù)據(jù)之間轉(zhuǎn)換?
要計(jì)算時(shí)間需要將BCD格式的時(shí)鐘數(shù)據(jù)與十進(jìn)制的數(shù)據(jù)之間的轉(zhuǎn)換,使用相應(yīng)的轉(zhuǎn)換指令就可以實(shí)現(xiàn)。
具體轉(zhuǎn)換指令參見鏈接:Clock_Integer 指令庫以及使用
如何實(shí)現(xiàn)實(shí)時(shí)是時(shí)鐘的長期備份?
S7-200 SMART SB BA01 電池板適用于實(shí)時(shí)時(shí)鐘的長期備份。其可插入 S7-200 SMART CPU(固件版本 V2.0 及更高版本)的信號(hào)板插槽中。必須將 SB BA01添加到設(shè)備組態(tài)并將硬件配置下載到 CPU 中,SB BA01才可以使用附加電池健康狀況報(bào)告選項(xiàng)。電池(型號(hào) CR1025)未隨 SB BA01 一起提供,用戶必須另行購買。