讀取和設置實時時鍾
LAD/FBD |
STL |
說明 | |
TODRX |
T |
讀取擴展實時時鍾指令從(cong) PLC 中讀取當前時間、日期和夏令時組態, | |
並將其裝載到從(cong) T 所分配地址開始的 19 字節緩衝(chong) 區中。 | |||
![]() |
TODWX |
T |
設置實時時鍾指令使用字節地址 T 分配的 19 字節時間緩衝(chong) 區數據將新的時間、日期和夏令時組態寫(xie) 入到 PLC 中。 |
ENO = 0 時的非致命錯誤 |
受影響的 SM 位 | ||
· |
0006H 間接地址 |
無 | |
· |
0007H T 數據錯誤 |
||
輸入 |
數據類型 |
操作數 | |
T |
BYTE |
IB、QB、VB、MB、SMB、SB、LB、*VD、*LD、*AC |
說明
READ_RTC、SET_RTC 編程提示
不接受無效日期。 例如,如果您輸入 2 月 30 日,則將發生非致命日時鍾錯誤
(0007H)。不要在主程序和中斷例程中使用 READ_RTC/SET_RTC 指令。 執行另一個(ge)
READ_RTCX/SET_RTCX 指令時,無法執行中斷例程中的 READ_RTCX/SET_RTCX 指
令。在這種情況下,係統標誌位 SM4.3 會(hui) 置位,指示嚐試同時對日時鍾執行二重訪問,導致 T 數據錯誤(非致命錯誤 0007H)。
CPU 中的日時鍾僅(jin) 使用年份的最後兩(liang) 位數,因此 2000 年表示為(wei) 00。但使用年份值的用戶程序必須考慮兩(liang) 位數的表示法。
2099 年之前的閏年均可正確處理。
8 字節時間緩衝(chong) 區的格式,從(cong) 字節地址 T 開始
所有日期和時間值必須采用 BCD 格式分配(例如,16#12 代表 2012 年)。 00 至
99 的 BCD 值範圍可分配範圍為(wei) 2000 至 2099 的年份。
T 字節 |
說明 |
數據值 | |
0 |
年 |
00 |
至 99(BCD 值)20xx 年: 其中,xx 是 T 字節 0 中的兩(liang) 位數 BCD 值 |
1 |
月 |
01 |
至 12(BCD 值) |
2 |
日 |
01 |
至 31(BCD 值) |
3 |
小時 |
00 |
至 23(BCD 值) |
4 |
分 |
00 |
至 59(BCD 值) |
5 |
秒 |
00 |
至 59(BCD 值) |
6 |
保留 |
始終設置為(wei) 00 | |
7 |
星期幾 |
使用 SET_RTC/TODW 指令寫(xie) 入時會(hui) 忽略值。 | |
通過 READ_RTC/TODR 指令進行讀取時,值會(hui) 根據當前年/ | |||
月/日值報告正確的星期幾。 | |||
1 至 7,1 = 星期日,7 = 星期六(BCD 值) |
超出斷電時長對 CPU 時鍾的影響
超出斷電時長後,CPU 將初始化為(wei) 下表所示的時間值。
日期 |
時間 |
星期幾 |
2000 年 1 月 1 日 |
00:00:00 |
星期六 |
說明
緊湊型 S7-200 SMART CPU 型號 CR40 和 CR60 不含 RTC(實時時鍾)或超級電容
可借助 READ_RTC 和 SET_RTC 指令設置 CPU 型號
CR40 和 CR60 的年份、日期和時
間值,但這些值會(hui) 在下一次 CPU 斷電再重新上電時丟(diu) 失。 上電時,日期和時間將初始化為(wei) 2000 年 1 月 1 日。
1、SET_RTC(設置時鍾)指令
定義(yi) 連續8個(ge) 字節的數據區,每個(ge) 字節分別是 年、月、日、時、分、秒、保留、星期,每個(ge) 字節都是BCD碼,組合起來的時鍾必須時合法的時鍾。
寫(xie) 時鍾指令需要嚴(yan) 格按照8個(ge) 字節的時鍾緩衝(chong) 區格式,設置相應的數據單元,任何不合格的數據都可能造成不能寫(xie) 入的現象。注意數據的格式必須是BCD格式,可以說是將10進製數換成16進製表示,如16#59(59H)就是59(秒/分等)。
執行寫(xie) 時鍾指令要保證緩衝(chong) 區所有字節都包含合法數據;僅(jin) 修改某些數據時,其他字節不能包含非法數值,否則會(hui) 發生錯誤。
寫(xie) 時鍾指令必須使用一次性的脈衝(chong) (沿)觸發條件,不能持續激活寫(xie) 時鍾指令。
2、用庫指令SET_RTC_I ,它也是8個(ge) 字節,隻是用單節是十進製整數格式存儲(chu) ,不用 BCD 碼,指令會(hui) 將其換成BCD碼,同樣要用沿調用。
3、READ_RTC(設置時鍾)指令
定義(yi) 連續8個(ge) 字節的數據區,每個(ge) 字節分別是 年、月、日、時、分、秒、保留、星期,每個(ge) 字節都是BCD碼,組合起來的時鍾必須時合法的時鍾。